You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
300 lines
20 KiB
300 lines
20 KiB
package consumers
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"github.com/robfig/cron/v3"
|
|
"goUpload/adaptors"
|
|
"goUpload/consumers/CDJYSN"
|
|
"goUpload/dbHelper"
|
|
"goUpload/monitors"
|
|
"goUpload/utils"
|
|
"log"
|
|
"path"
|
|
"time"
|
|
)
|
|
|
|
type consumerCDJYSN struct {
|
|
//数据缓存管道
|
|
dataCache chan []byte
|
|
//具体配置
|
|
ConfigInfo CDJYSN.ConfigFile
|
|
//InHttp *dbHelper.HttpHelper
|
|
OutFile *dbHelper.FileSaveHelper
|
|
InHttp monitors.HttpMonitor
|
|
configCron *cron.Cron
|
|
}
|
|
|
|
func (the *consumerCDJYSN) LoadConfigJson(cfgStr string) {
|
|
// 将 JSON 格式的数据解析到结构体中
|
|
err := json.Unmarshal([]byte(cfgStr), &the.ConfigInfo)
|
|
if err != nil {
|
|
log.Printf("读取配置文件[%s]异常 err=%v", cfgStr, err.Error())
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
func (the *consumerCDJYSN) Initial(cfg string) error {
|
|
the.LoadConfigJson(cfg)
|
|
err := the.InputInitial()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = the.OutputInitial()
|
|
return err
|
|
}
|
|
func (the *consumerCDJYSN) InputInitial() error {
|
|
the.dataCache = make(chan []byte, 200)
|
|
//数据入口
|
|
the.InHttp = monitors.HttpMonitor{
|
|
HttpClient: &dbHelper.HttpHelper{Url: the.ConfigInfo.IoConfig.In.Http.Url, Token: ""},
|
|
MonitorHelper: &monitors.MonitorHelper{CronStr: the.ConfigInfo.IoConfig.In.CronStr},
|
|
}
|
|
|
|
the.InHttp.Start()
|
|
the.InHttp.RegisterFun(the.getEsData)
|
|
return nil
|
|
}
|
|
func (the *consumerCDJYSN) OutputInitial() error {
|
|
//数据出口
|
|
the.OutFile = &dbHelper.FileSaveHelper{
|
|
Directory: the.ConfigInfo.IoConfig.Out.File.Directory,
|
|
FilenameExtension: the.ConfigInfo.IoConfig.Out.File.FileNameExtension,
|
|
}
|
|
the.OutFile.Initial()
|
|
return nil
|
|
}
|
|
func (the *consumerCDJYSN) Work() {
|
|
|
|
//每次启动生成测点配置文件
|
|
the.saveConfig()
|
|
the.configCron = cron.New()
|
|
the.configCron.AddFunc("10 12 * * *", func() {
|
|
log.Println("执行每天刷新传感器基础配置任务:")
|
|
the.saveConfig()
|
|
})
|
|
|
|
go func() {
|
|
for {
|
|
pushBytes := <-the.dataCache
|
|
log.Printf("取出ch数据,剩余[%d] ", len(the.dataCache))
|
|
|
|
log.Printf("推送[%v]: len=%d", the.OutFile.Directory, len(pushBytes))
|
|
//hex.EncodeToString(pushBytes)
|
|
//非煤矿山编码_文件分类_时间.txt
|
|
fileName := fmt.Sprintf("%s_%s.txt", the.ConfigInfo.Info["fileNamePrefix"], time.Now().Format("20060102150405"))
|
|
filePath := path.Join(the.ConfigInfo.IoConfig.Out.File.Directory, fileName)
|
|
|
|
the.OutFile.Save(filePath, string(pushBytes))
|
|
time.Sleep(10 * time.Millisecond)
|
|
}
|
|
|
|
}()
|
|
}
|
|
|
|
func (the *consumerCDJYSN) getStructureId() string {
|
|
structureId, ok := the.ConfigInfo.Info["structureId"] //涿鹿金隅水泥有限公司大斜阳矿
|
|
if !ok {
|
|
structureId = "4570" //斜阳矿4570,太平堡4571,冀东唐山3676
|
|
}
|
|
return structureId
|
|
}
|
|
|
|
func (the *consumerCDJYSN) saveConfig() {
|
|
//130731030001;涿鹿金隅水泥大斜阳矿山;DXYKSJC;涿鹿金隅水泥大斜阳矿山安全监测;承德金隅水泥有限公司;2030-12-30;2024-02-06 11:39:02^13073103000103200001;雨量;01;130731030001;0101;03;;mm;;100;90;80;70;采场;115.244209;40.123344;1217;2020-07-01;武汉新普惠;4;1;0;2024-02-06 10:55:45^13073103000102100001;JC01;01;130731030001;0101;02;;mm;;100;90;80;70;排土1297平台;115.243554;40.114834;1297;2020-07-01;江西飞尚科技;1000;1;0;2024-02-06 10:55:45^13073103000102100002;JC02;01;130731030001;0101;02;;mm;;100;90;80;70;边坡1317平台;115.241985;40.115445;1317;2020-07-01;江西飞尚科技;1000;1;0;2024-02-06 10:55:45^13073103000102100003;JC03;01;130731030001;0101;02;;mm;;100;90;80;70;边坡1317平台;115.241080;40.115698;1317;2020-07-01;江西飞尚科技;1000;1;0;2024-02-06 10:55:45^]]]
|
|
//"structUploadCode": "130731030001",
|
|
//"fileNamePrefix": "130731030001_LTCDSS",
|
|
//"fileContentHeader": "130731030001;涿鹿金隅水泥大斜阳矿山;"
|
|
structureId := the.getStructureId()
|
|
contentConfig := ""
|
|
switch structureId {
|
|
case "4570": //斜阳矿
|
|
contentConfig = fmt.Sprintf(`130731030001;涿鹿金隅水泥大斜阳矿山;DXYKSJC;涿鹿金隅水泥大斜阳矿山安全监测;承德金隅水泥有限公司;2030-12-30;2024-02-06 11:39:02^13073103000103200001;雨量;01;130731030001;0101;03;;mm;;100;90;80;70;采场;115.244209;40.123344;1217;2020-07-01;武汉新普惠;4;1;0;2024-02-06 10:55:45^13073103000102100001;JC01;01;130731030001;0101;02;;mm;;100;90;80;70;排土1297平台;115.243554;40.114834;1297;2020-07-01;江西飞尚科技;1000;1;0;2024-02-06 10:55:45^13073103000102100002;JC02;01;130731030001;0101;02;;mm;;100;90;80;70;边坡1317平台;115.241985;40.115445;1317;2020-07-01;江西飞尚科技;1000;1;0;2024-02-06 10:55:45^13073103000102100003;JC03;01;130731030001;0101;02;;mm;;100;90;80;70;边坡1317平台;115.241080;40.115698;1317;2020-07-01;江西飞尚科技;1000;1;0;2024-02-06 10:55:45^]]]`)
|
|
case "4571": //太平堡
|
|
contentConfig = fmt.Sprintf(`130731030007;涿鹿金隅水泥有限公司太平堡水泥灰岩矿东矿区;TPBKSJC;涿鹿金隅水泥太平堡矿山安全监测;承德金隅水泥有限公司;2030-12-30;2024-02-06 11:39:02^13073103000703200001;雨量;01;130731030007;0101;03;;mm;;100;90;80;70;采场;115.244209;40.123344;1217;2020-07-01;武汉新普惠;4;1;0;2024-02-06 10:55:45^13073103000702100001;JC01;01;130731030007;0101;02;;mm;;100;90;80;70;排土1297平台;115.243554;40.114834;1297;2020-07-01;江西飞尚科技;1000;1;0;2024-02-06 10:55:45^13073103000702100002;JC02;01;130731030007;0101;02;;mm;;100;90;80;70;边坡1317平台;115.241985;40.115445;1317;2020-07-01;江西飞尚科技;1000;1;0;2024-02-06 10:55:45^]]]`)
|
|
case "3676": //唐山冀东水泥
|
|
contentConfigHead := the.ConfigInfo.Info["fileContentHeader"] + //非煤矿山编码 130208030020,非煤矿山名称
|
|
"TSJDKSJC;" + //系统型号
|
|
"唐山冀东水泥股份有限公司石灰石矿安全监测;" + //系统名称
|
|
"承德金隅水泥有限公司;" + //生产厂家名称
|
|
"2030-12-30;" + //安标有效期
|
|
"2024-05-14 15:00:00" //数据上传时间
|
|
contentConfigBody := "" +
|
|
//测点编码;测点名称;系统编码;露天矿山编码;边坡编号;传感器类型;测点数值类型;测点数值单位;埋深;一级阈值;二级阈值;三级阈值;四级阈值;测点安装位置;位置X;位置Y;位置Z;安装日期;生产厂家;量程;在用状态;故障状态;数据时间
|
|
"^13020803002003200001;YL;01;130208030020;0101;03;;mm;;250;100;50;25;排土120平台;118.249646;39.934143;100;2019-05-01;武汉新普惠;4;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004190011;BC190_101;01;130208030020;0101;04;;mm;;70;60;50;40;排土190平台;118.238283;39.946949;190;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004190012;BC190_102;01;130208030020;0101;04;;mm;;70;60;50;40;排土190平台;118.238283;39.946949;190;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004190013;BC190_103;01;130208030020;0101;04;;mm;;70;60;50;40;排土190平台;118.238283;39.946949;190;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004170031;BC170_301;01;130208030020;0101;04;;mm;;70;60;50;40;排土170平台;118.242235;39.945843;170;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004170032;BC170_302;01;130208030020;0101;04;;mm;;70;60;50;40;排土170平台;118.242235;39.945843;170;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004170033;BC170_303;01;130208030020;0101;04;;mm;;70;60;50;40;排土170平台;118.242235;39.945843;170;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004170041;BC170_401;01;130208030020;0101;04;;mm;;70;60;50;40;排土170平台;118.244229;39.945138;170;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004170042;BC170_402;01;130208030020;0101;04;;mm;;70;60;50;40;排土170平台;118.244229;39.945138;170;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004170043;BC170_403;01;130208030020;0101;04;;mm;;70;60;50;40;排土170平台;118.244229;39.945138;170;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004150011;BC150_101;01;130208030020;0101;04;;mm;;70;60;50;40;排土150平台;118.237151;39.946451;150;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004150012;BC150_102;01;130208030020;0101;04;;mm;;70;60;50;40;排土150平台;118.237151;39.946451;150;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004150013;BC150_103;01;130208030020;0101;04;;mm;;70;60;50;40;排土150平台;118.237151;39.946451;150;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004150021;BC150_201;01;130208030020;0101;04;;mm;;70;60;50;40;排土150平台;118.239612;39.945954;150;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004150022;BC150_202;01;130208030020;0101;04;;mm;;70;60;50;40;排土150平台;118.239612;39.945954;150;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004150023;BC150_203;01;130208030020;0101;04;;mm;;70;60;50;40;排土150平台;118.239612;39.945954;150;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130031;BC130_301;01;130208030020;0101;04;;mm;;70;60;50;40;排土130平台;118.240133;39.945304;130;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130032;BC130_302;01;130208030020;0101;04;;mm;;70;60;50;40;排土130平台;118.240133;39.945304;130;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130033;BC130_303;01;130208030020;0101;04;;mm;;70;60;50;40;排土130平台;118.240133;39.945304;130;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130041;BC130_401;01;130208030020;0101;04;;mm;;70;60;50;40;排土130平台;118.242631;39.944875;130;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130042;BC130_402;01;130208030020;0101;04;;mm;;70;60;50;40;排土130平台;118.242631;39.944875;130;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130043;BC130_403;01;130208030020;0101;04;;mm;;70;60;50;40;排土130平台;118.242631;39.944875;130;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004115011;BC115_101;01;130208030020;0101;04;;mm;;70;60;50;40;排土115平台;118.238570;39.944695;115;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004115012;BC115_102;01;130208030020;0101;04;;mm;;70;60;50;40;排土115平台;118.238570;39.944695;115;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004115013;BC115_103;01;130208030020;0101;04;;mm;;70;60;50;40;排土115平台;118.238570;39.944695;115;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004115021;BC115_201;01;130208030020;0101;04;;mm;;70;60;50;40;排土115平台;118.243008;39.943796;115;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004115022;BC115_202;01;130208030020;0101;04;;mm;;70;60;50;40;排土115平台;118.243008;39.943796;115;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004115023;BC115_203;01;130208030020;0101;04;;mm;;70;60;50;40;排土115平台;118.243008;39.943796;115;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004115031;BC115_301;01;130208030020;0101;04;;mm;;70;60;50;40;排土115平台;118.243000;39.944419;115;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004115032;BC115_302;01;130208030020;0101;04;;mm;;70;60;50;40;排土115平台;118.243000;39.944419;115;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004115033;BC115_303;01;130208030020;0101;04;;mm;;70;60;50;40;排土115平台;118.243000;39.944419;115;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130031;BC100_301;01;130208030020;0101;04;;mm;;70;60;50;40;排土100平台;118.242954;39.942911;100;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130032;BC100_302;01;130208030020;0101;04;;mm;;70;60;50;40;排土100平台;118.242954;39.942911;100;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130033;BC100_303;01;130208030020;0101;04;;mm;;70;60;50;40;排土100平台;118.242954;39.942911;100;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130041;BC100_401;01;130208030020;0101;04;;mm;;70;60;50;40;排土100平台;118.244194;39.940684;100;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130042;BC100_402;01;130208030020;0101;04;;mm;;70;60;50;40;排土100平台;118.244194;39.940684;100;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004130043;BC100_403;01;130208030020;0101;04;;mm;;70;60;50;40;排土100平台;118.244194;39.940684;100;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004110041;NC110_401;01;130208030020;0101;04;;mm;;70;60;50;40;排土110平台;118.249610;39.944820;110;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004110042;NC110_402;01;130208030020;0101;04;;mm;;70;60;50;40;排土110平台;118.249610;39.944820;110;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004110043;NC110_403;01;130208030020;0101;04;;mm;;70;60;50;40;排土110平台;118.249610;39.944820;110;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004120011;NC120_101;01;130208030020;0101;04;;mm;;70;60;50;40;排土120平台;118.249305;39.934018;120;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004120012;NC120_102;01;130208030020;0101;04;;mm;;70;60;50;40;排土120平台;118.249305;39.934018;120;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004120013;NC120_103;01;130208030020;0101;04;;mm;;70;60;50;40;排土120平台;118.249305;39.934018;120;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004120021;NC120_201;01;130208030020;0101;04;;mm;;70;60;50;40;排土120平台;118.249700;39.932248;120;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004120022;NC120_202;01;130208030020;0101;04;;mm;;70;60;50;40;排土120平台;118.249700;39.932248;120;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004120023;NC120_203;01;130208030020;0101;04;;mm;;70;60;50;40;排土120平台;118.249700;39.932248;120;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004120031;NC120_301;01;130208030020;0101;04;;mm;;70;60;50;40;排土120平台;118.250113;39.929592;120;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004120032;NC120_302;01;130208030020;0101;04;;mm;;70;60;50;40;排土120平台;118.250113;39.929592;120;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004120033;NC120_303;01;130208030020;0101;04;;mm;;70;60;50;40;排土120平台;118.250113;39.929592;120;2019-05-01;金马;15;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004140021;NC140_201;01;130208030020;0101;04;;mm;;70;60;50;40;排土140平台;118.251119;39.932524;140;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004140022;NC140_202;01;130208030020;0101;04;;mm;;70;60;50;40;排土140平台;118.251119;39.932524;140;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004140023;NC140_203;01;130208030020;0101;04;;mm;;70;60;50;40;排土140平台;118.251119;39.932524;140;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004140031;NC140_301;01;130208030020;0101;04;;mm;;70;60;50;40;排土140平台;118.251605;39.929896;140;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004140032;NC140_302;01;130208030020;0101;04;;mm;;70;60;50;40;排土140平台;118.251605;39.929896;140;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^13020803002004140033;NC140_303;01;130208030020;0101;04;;mm;;70;60;50;40;排土140平台;118.251605;39.929896;140;2019-05-01;江西飞尚科技;30;1;0;2024-05-14 10:00:00" +
|
|
"^]]]"
|
|
contentConfig = contentConfigHead + contentConfigBody
|
|
case "3318": //滦州冀东水泥
|
|
contentConfigHead := the.ConfigInfo.Info["fileContentHeader"] + //非煤矿山编码 130284030001,边坡名称
|
|
"LZJDBPJC;" + //系统型号
|
|
"滦州冀东水泥股份有限公司边坡安全监测;" + //系统名称
|
|
"滦州冀东水泥股份有限公司;" + //生产厂家名称
|
|
"2030-12-30;" + //安标有效期
|
|
"2024-09-25 15:00:00" //数据上传时间
|
|
contentConfigBody := "" +
|
|
//测点编码;测点名称;系统编码;露天矿山编码;边坡编号;传感器类型;测点数值类型;测点数值单位;埋深;一级阈值;二级阈值;三级阈值;四级阈值;测点安装位置;位置X;位置Y;位置Z;安装日期;生产厂家;量程;在用状态;故障状态;数据时间
|
|
"^13028403000103200001;JYL;01;130284030001;0101;03;;mm;;250;100;50;25;桃山;115.366921;40.117217;125;2020-08-01;武汉新普惠;4;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100011;CS185_G1;01;130284030001;0101;02;;mm;;;;;;蔡山;118.361332;39.915961;185;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100012;CS137_G1;01;130284030001;0101;02;;mm;;;;;;蔡山;118.361709;39.916477;137;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100021;CS185_G2;01;130284030001;0101;02;;mm;;;;;;蔡山;118.360645;39.916411;185;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100022;CS137_G2;01;130284030001;0101;02;;mm;;;;;;蔡山;118.360469;39.917361;137;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100031;TS242_G3;01;130284030001;0101;02;;mm;;;;;;桃山;118.351081;39.919035;242;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100032;TS212_G3;01;130284030001;0101;02;;mm;;;;;;桃山;118.351206;39.918518;212;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100071;TS196_G7;01;130284030001;0101;02;;mm;;;;;;桃山;118.354346;39.923345;196;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100041;TS242_G4;01;130284030001;0101;02;;mm;;;;;;桃山;118.352003;39.919398;242;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100042;TS212_G4;01;130284030001;0101;02;;mm;;;;;;桃山;118.352601;39.918982;212;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100043;TS182_G4;01;130284030001;0101;02;;mm;;;;;;桃山;118.353018;39.918586;196;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100051;TS242_G5;01;130284030001;0101;02;;mm;;;;;;桃山;118.351948;39.920629;242;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100052;TS212_G5;01;130284030001;0101;02;;mm;;;;;;桃山;118.351948;39.920629;212;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100061;TS242_G6;01;130284030001;0101;02;;mm;;;;;;桃山;118.350663;39.922561;242;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^13028403000102100062;TS212_G6;01;130284030001;0101;02;;mm;;;;;;桃山;118.351561;40.117217;212;2020-08-01;司南导航;15;1;0;2024-09-25 10:00:00" +
|
|
"^]]]"
|
|
contentConfig = contentConfigHead + contentConfigBody
|
|
}
|
|
fileName := fmt.Sprintf("%s_LTCDJC_%s.txt", the.ConfigInfo.Info["structUploadCode"], time.Now().Format("20060102150405"))
|
|
filePath := path.Join(the.ConfigInfo.IoConfig.Out.File.Directory, fileName)
|
|
the.OutFile.Save(filePath, contentConfig)
|
|
}
|
|
func (the *consumerCDJYSN) getEsData() {
|
|
structureId := the.getStructureId()
|
|
start, end := utils.GetTimeRangeByHour(-1)
|
|
log.Printf("查询数据时间范围 %s - %s", start, end)
|
|
//start := "2024-02-05T00:00:00.000+0800"
|
|
//end := "2024-02-05T23:59:59.999+0800"
|
|
esQuery := fmt.Sprintf(`
|
|
{
|
|
"size": 0,
|
|
"query": {
|
|
"bool": {
|
|
"filter": [
|
|
{
|
|
"term": {
|
|
"structure": {
|
|
"value": %s
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"range": {
|
|
"collect_time": {
|
|
"from": "%s",
|
|
"to": "%s"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"sort": [
|
|
{
|
|
"collect_time": {
|
|
"order": "desc"
|
|
}
|
|
}
|
|
],
|
|
"aggs": {
|
|
"gpBySensorId": {
|
|
"terms": {
|
|
"field": "sensor",
|
|
"size": 60
|
|
},
|
|
"aggs": {
|
|
"last": {
|
|
"top_hits": {
|
|
"size": 1,
|
|
"sort": [
|
|
{
|
|
"collect_time": {
|
|
"order": "desc"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
`, structureId, start, end)
|
|
auth := map[string]string{"Authorization": "Bear 85a441d4-022b-4613-abba-aaa8e2693bf7"}
|
|
esAggResult := the.InHttp.HttpClient.HttpGetWithHeader(esQuery, auth)
|
|
|
|
var needPush []byte
|
|
adaptor := the.getAdaptor()
|
|
if adaptor != nil {
|
|
needPush = adaptor.Transform(esAggResult)
|
|
if len(needPush) > 0 {
|
|
the.dataCache <- needPush
|
|
}
|
|
}
|
|
}
|
|
func (the *consumerCDJYSN) getAdaptor() (adaptor adaptors.IAdaptor) {
|
|
//maps.Copy(the.ConfigInfo.SensorMap.GnssSensorMap, the.ConfigInfo.SensorMap.RainSensorMap)
|
|
return adaptors.Adaptor_AXYES_HBKS{
|
|
GnssMap: the.ConfigInfo.SensorMap.GnssSensorMap,
|
|
RainMap: the.ConfigInfo.SensorMap.RainSensorMap,
|
|
NBWYMap: the.ConfigInfo.SensorMap.NBWYSensorMap,
|
|
Info: the.ConfigInfo.Info,
|
|
}
|
|
}
|
|
|
|
// 获取 内部位移安装位置
|
|
func (the *consumerCDJYSN) getNBWYLocation(pointCode string) string {
|
|
platformCode := pointCode[:3]
|
|
location := fmt.Sprintf("排土%s平台", platformCode)
|
|
return location
|
|
}
|
|
|