Commit 6b8408d9 authored by 史余彬's avatar 史余彬

静态数据接口完成,动态数据结构体创建完成

parent fe80cc12
...@@ -3,7 +3,7 @@ package common ...@@ -3,7 +3,7 @@ package common
import "log" import "log"
func ErrorPrintln(str string, err error) { func ErrorPrintln(str string, err error) {
if err != nil{ if err != nil {
log.Fatal(str + ":" + err.Error()) log.Println(str + ":" + err.Error())
} }
} }
\ No newline at end of file
...@@ -11,208 +11,313 @@ type DBConnectInfo struct { ...@@ -11,208 +11,313 @@ type DBConnectInfo struct {
DBName string `ini:"db_dbname"` DBName string `ini:"db_dbname"`
} }
/*
静态设备sql语句
*/
type StaticSqlLanguage struct {
GtStaticSql string `ini:"gt_static_sql"`
KswStaticSql string `ini:"ksw_static_sql"`
JrxStaticSql string `ini:"jrx_static_sql"`
JylStaticSql string `ini:"jyl_static_sql"`
NbwystaticSql string `ini:"nbwy_static_sql"`
}
type RealTimeSqlLanguage struct {
GtRealTimeSql string `ini:"gt_real_time_sql"`
KswRealTimeSql string `ini:"ksw_real_time_sql"`
JrxRealTimeSql string `ini:"jrx_real_time_sql"`
JylRealTimeSql string `ini:"jyl_real_time_sql"`
NbwyRealTimeSql string `ini:"nbwy_real_time_sql"`
}
/* /*
尾矿库基础信息 尾矿库基础信息
*/ */
type TailPondInfor struct { type TailPondInfor struct {
Tailingno string `xml:"tailingno"` Tailingno string `ini:"tailingno" xml:"tailingno"`
Tailingname string `xml:"tailingname"` Tailingname string `ini:"tailingname" xml:"tailingname"`
Unifcreditcode string `xml:"unifcreditcode"` Unifcreditcode string `ini:"unifcreditcode" xml:"unifcreditcode"`
Address string `xml:"address"` Address string `ini:"address" xml:"address"`
Unitname string `xml:"unitname"` Unitname string `ini:"unitname" xml:"unitname"`
Unitaddress string `xml:"unitaddress"` Unitaddress string `ini:"unitaddress" xml:"unitaddress"`
Industrycharacterno string `xml:"industrycharacterno"` Industrycharacterno string `ini:"industrycharacterno" xml:"industrycharacterno"`
Unitperson string `xml:"unitperson"` Unitperson string `ini:"unitperson" xml:"unitperson"`
Unitpersontel string `xml:"unitpersontel"` Unitpersontel string `ini:"unitpersontel" xml:"unitpersontel"`
Securityofficer string `xml:"securityofficer"` Securityofficer string `ini:"securityofficer" xml:"securityofficer"`
Securityofficertel string `xml:"securityofficertel"` Securityofficertel string `ini:"securityofficertel" xml:"securityofficertel"`
Ondutytel string `xml:"ondutytel"` Ondutytel string `ini:"ondutytel" xml:"ondutytel"`
Longitude float64 `xml:"longitude"` Longitude string `ini:"longitude" xml:"longitude"`
Latitude float64 `xml:"latitude"` Latitude string `ini:"latitude" xml:"latitude"`
Useyear float64 `xml:"useyear"` Useyear string `ini:"useyear" xml:"useyear"`
Operatingstatus string `xml:"operatingstatus"` Operatingstatus string `ini:"operatingstatus" xml:"operatingstatus"`
Industrytypeno string `xml:"industrytypeno"` Industrytypeno string `ini:"industrytypeno" xml:"industrytypeno"`
Mineralspecies string `xml:"mineralspecies"` Mineralspecies string `ini:"mineralspecies" xml:"mineralspecies"`
Top string `xml:"top"` Top string `ini:"top" xml:"top"`
Onlinemonitoringsys string `xml:"onlinemonitoringsys"` Onlinemonitoringsys string `ini:"onlinemonitoringsys" xml:"onlinemonitoringsys"`
Geologicalstructure string `xml:"geologicalstructure"` Geologicalstructure string `ini:"geologicalstructure" xml:"geologicalstructure"`
Topotraphicgradient float64 `xml:"topotraphicgradient"` Topotraphicgradient string `ini:"topotraphicgradient" xml:"topotraphicgradient"`
Standardizationlevel string `xml:"standardizationlevel"` Standardizationlevel string `ini:"standardizationlevel" xml:"standardizationlevel"`
Standardforensicsdate string `xml:"standardforensicsdate"` Standardforensicsdate string `ini:"standardforensicsdate" xml:"standardforensicsdate"`
Safetypermitno string `xml:"safetypermitno"` Safetypermitno string `ini:"safetypermitno" xml:"safetypermitno"`
Safetypermitdate string `xml:"safetypermitdate"` Safetypermitdate string `ini:"safetypermitdate" xml:"safetypermitdate"`
Safetypermitunit string `xml:"safetypermitunit"` Safetypermitunit string `ini:"safetypermitunit" xml:"safetypermitunit"`
Storetypeno string `xml:"storetypeno"` Storetypeno string `ini:"storetypeno" xml:"storetypeno"`
Designlevel string `xml:"designlevel"` Designlevel string `ini:"designlevel" xml:"designlevel"`
Grade string `xml:"grade"` Grade string `ini:"grade" xml:"grade"`
Designheight float64 `xml:"designheight"` Designheight string `ini:"designheight" xml:"designheight"`
Stackheight float64 `xml:"stackheight"` Stackheight string `ini:"stackheight" xml:"stackheight"`
Plancapability float64 `xml:"plancapability"` Plancapability string `ini:"plancapability" xml:"plancapability"`
Nowvolume float64 `xml:"nowvolume"` Nowvolume string `ini:"nowvolume" xml:"nowvolume"`
Damstocktypeno string `xml:"damstocktypeno"` Damstocktypeno string `ini:"damstocktypeno" xml:"damstocktypeno"`
Floodequipment string `xml:"floodequipment"` Floodequipment string `ini:"floodequipment" xml:"floodequipment"`
Floodmethod string `xml:"floodmethod"` Floodmethod string `ini:"floodmethod" xml:"floodmethod"`
Floodfacilitydischarge string `xml:"floodfacilitydischarge"` Floodfacilitydischarge string `ini:"floodfacilitydischarge" xml:"floodfacilitydischarge"`
Waterarea float64 `xml:"waterarea"` Waterarea string `ini:"waterarea" xml:"waterarea"`
Area float64 `xml:"area"` Area string `ini:"area" xml:"area"`
Floodcontrolstandard float64 `xml:"floodcontrolstandard"` Floodcontrolstandard string `ini:"floodcontrolstandard" xml:"floodcontrolstandard"`
Damtype string `xml:"damtype"` Damtype string `ini:"damtype" xml:"damtype"`
Initialdamtype string `xml:"initialdamtype"` Initialdamtype string `ini:"initialdamtype" xml:"initialdamtype"`
Designinitialdamheight float64 `xml:"designinitialdamheight"` Designinitialdamheight string `ini:"designinitialdamheight" xml:"designinitialdamheight"`
Currentinitialdamheight float64 `xml:"currentinitialdamheight"` Currentinitialdamheight string `ini:"currentinitialdamheight" xml:"currentinitialdamheight"`
Initialdamlongness float64 `xml:"initialdamlongness"` Initialdamlongness string `ini:"initialdamlongness" xml:"initialdamlongness"`
Initialdamsloperatio string `xml:"initialdamsloperatio"` Initialdamsloperatio string `ini:"initialdamsloperatio" xml:"initialdamsloperatio"`
Accumulationdamratio string `xml:"accumulationdamratio"` Accumulationdamratio string `ini:"accumulationdamratio" xml:"accumulationdamratio"`
Designsubdamheight float64 `xml:"designsubdamheight"` Designsubdamheight string `ini:"designsubdamheight" xml:"designsubdamheight"`
Designsubdamtopwidth float64 `xml:"designsubdamtopwidth"` Designsubdamtopwidth string `ini:"designsubdamtopwidth" xml:"designsubdamtopwidth"`
Accumulateddamsnumber float64 `xml:"accumulateddamsnumber"` Accumulateddamsnumber string `ini:"accumulateddamsnumber" xml:"accumulateddamsnumber"`
Earthquake float64 `xml:"earthquake"` Earthquake string `ini:"earthquake" xml:"earthquake"`
Tailingsstoragemethod string `xml:"tailingsstoragemethod"` Tailingsstoragemethod string `ini:"tailingsstoragemethod" xml:"tailingsstoragemethod"`
Minelaytypeno string `xml:"minelaytypeno"` Minelaytypeno string `ini:"minelaytypeno" xml:"minelaytypeno"`
Upstreamtailings string `xml:"upstreamtailings"` Upstreamtailings string `ini:"upstreamtailings" xml:"upstreamtailings"`
Drystorage string `xml:"drystorage"` Drystorage string `ini:"drystorage" xml:"drystorage"`
Drystoragewaterratio float64 `xml:"drystoragewaterratio"` Drystoragewaterratio string `ini:"drystoragewaterratio" xml:"drystoragewaterratio"`
Tailingsparticlesize float64 `xml:"tailingsparticlesize"` Tailingsparticlesize string `ini:"tailingsparticlesize" xml:"tailingsparticlesize"`
Tailingsaveparticlesize float64 `xml:"tailingsaveparticlesize"` Tailingsaveparticlesize string `ini:"tailingsaveparticlesize" xml:"tailingsaveparticlesize"`
Depositiondrybeachslope float64 `xml:"depositiondrybeachslope"` Depositiondrybeachslope string `ini:"depositiondrybeachslope" xml:"depositiondrybeachslope"`
Personnum float64 `xml:"personnum"` Personnum string `ini:"personnum" xml:"personnum"`
Buildingnum float64 `xml:"buildingnum"` Buildingnum string `ini:"personnum" xml:"buildingnum"`
Emergencyplanfiled string `xml:"emergencyplanfiled"` Emergencyplanfiled string `ini:"emergencyplanfiled" xml:"emergencyplanfiled"`
Primarysafetyunit string `xml:"primarysafetyunit"` Primarysafetyunit string `ini:"primarysafetyunit" xml:"primarysafetyunit"`
Primarysafetylevel string `xml:"primarysafetylevel"` Primarysafetylevel string `ini:"primarysafetylevel" xml:"primarysafetylevel"`
Designunit string `xml:"designunit"` Designunit string `ini:"designunit" xml:"designunit"`
Designunitlevel string `xml:"designunitlevel"` Designunitlevel string `ini:"designunitlevel" xml:"designunitlevel"`
Constructionunit string `xml:"constructionunit"` Constructionunit string `ini:"constructionunit" xml:"constructionunit"`
Constructionlevel string `xml:"constructionlevel"` Constructionlevel string `ini:"constructionlevel" xml:"constructionlevel"`
Supervisoryunit string `xml:"supervisoryunit"` Supervisoryunit string `ini:"supervisoryunit" xml:"supervisoryunit"`
Supervisorylevel string `xml:"supervisorylevel"` Supervisorylevel string `ini:"supervisorylevel" xml:"supervisorylevel"`
Safetycheckunit string `xml:"safetycheckunit"` Safetycheckunit string `ini:"safetycheckunit" xml:"safetycheckunit"`
Safetychecklevel string `xml:"safetychecklevel"` Safetychecklevel string `ini:"safetychecklevel" xml:"safetychecklevel"`
Safetyacceptancetime string `xml:"safetyacceptancetime"` Safetyacceptancetime string `ini:"safetyacceptancetime" xml:"safetyacceptancetime"`
Safetyevaluationunit string `xml:"safetyevaluationunit"` Safetyevaluationunit string `ini:"safetyevaluationunit" xml:"safetyevaluationunit"`
Safetyevaluationlevel string `xml:"safetyevaluationlevel"` Safetyevaluationlevel string `ini:"safetyevaluationlevel" xml:"safetyevaluationlevel"`
Filingperson string `xml:"filingperson"` Filingperson string `ini:"filingperson" xml:"filingperson"`
Filingdate string `xml:"filingdate"` Filingdate string `ini:"filingdate" xml:"filingdate"`
Fillerphone string `xml:"fillerphone"` Fillerphone string `ini:"fillerphone" xml:"fillerphone"`
Note string `xml:"note"` Note string `ini:"note" xml:"note"`
InUse string `xml:"in_use"` InUse string `ini:"in_use" xml:"in_use"`
IsSync string `xml:"is_sync"` IsSync string `ini:"is_sync" xml:"is_sync"`
} }
/* /*
干滩设备信息 干滩设备信息
*/ */
type DryBeachEquipInfor struct { type DryBeachEquipInfor struct {
Equipno string `xml:"equipno"` Equipno string `grom:"equipno" xml:"equipno"`
Equipname string `xml:"equipname"` Equipname string `grom:"equipname" xml:"equipname"`
Installationdate string `xml:"installationdate"` Installationdate string `grom:"installationdate" xml:"installationdate"`
Installationlocate string `xml:"installationlocate"` Installationlocate string `grom:"installationlocate" xml:"installationlocate"`
Manufacture string `xml:"manufacture"` Manufacture string `grom:"manufacture" xml:"manufacture"`
Longitude float64 `xml:"longitude"` Longitude string `grom:"longitude" xml:"longitude"`
Latitude float64 `xml:"latitude"` Latitude string `grom:"latitude" xml:"latitude"`
Altitude float64 `xml:"altitude"` Altitude string `grom:"altitude" xml:"altitude"`
Onelevelalarm float64 `xml:"onelevelalarm"` Onelevelalarm string `grom:"onelevelalarm" xml:"onelevelalarm"`
Twolevelalarm float64 `xml:"twolevelalarm"` Twolevelalarm string `grom:"twolevelalarm" xml:"twolevelalarm"`
Threelevelalarm float64 `xml:"threelevelalarm"` Threelevelalarm string `grom:"threelevelalarm" xml:"threelevelalarm"`
IsUsed string `xml:"is_used"` IsUsed string `grom:"isUsed" xml:"is_used"`
IsSync string `xml:"is_sync"` IsSync string `grom:"isSync" xml:"is_sync"`
} }
/* /*
库水位设备信息 库水位设备信息
*/ */
type ReserWaterLevelInfor struct { type ReserWaterLevelInfor struct {
Equipno string `xml:"equipno"` Equipno string `gorm:"column:id" xml:"equipno"`
Equipname string `xml:"equipname"` Equipname string `gorm:"column:equipname" xml:"equipname"`
Installationdate string `xml:"installationdate"` Installationdate string `gorm:"installationdate" xml:"installationdate"`
Installationlocate string `xml:"installationlocate"` Installationlocate string `gorm:"installationlocate" xml:"installationlocate"`
Installlocation float64 `xml:"installlocation"` Installlocation string `gorm:"installlocation" xml:"installlocation"`
Manufacture string `xml:"manufacture"` Manufacture string `gorm:"manufacture" xml:"manufacture"`
Longitude float64 `xml:"longitude"` Longitude string `gorm:"longitude" xml:"longitude"`
Latitude float64 `xml:"latitude"` Latitude string `gorm:"latitude" xml:"latitude"`
Altitude float64 `xml:"altitude"` Altitude string `gorm:"altitude" xml:"altitude"`
Onelevelalarm float64 `xml:"onelevelalarm"` Onelevelalarm string `gorm:"onelevelalarm" xml:"onelevelalarm"`
Twolevelalarm float64 `xml:"twolevelalarm"` Twolevelalarm string `gorm:"twolevelalarm" xml:"twolevelalarm"`
Threelevelalarm float64 `xml:"threelevelalarm"` Threelevelalarm string `gorm:"threelevelalarm" xml:"threelevelalarm"`
IsUsed string `xml:"is_used"` IsUsed string `gorm:"isUsed" xml:"is_used"`
IsSync string `xml:"is_sync"` IsSync string `gorm:"isSync" xml:"is_sync"`
} }
/* /*
表面位移设备信息 表面位移设备信息
*/ */
type DisplacementInfor struct { type DisplacementInfor struct {
Equipno string `xml:"equipno"` Equipno string `grom:"equipno" xml:"equipno"`
Equipname string `xml:"equipname"` Equipname string `grom:"equipname" xml:"equipname"`
Installationdate string `xml:"installationdate"` Installationdate string `grom:"installationdate" xml:"installationdate"`
Installationlocate string `xml:"installationlocate"` Installationlocate string `grom:"installationlocate" xml:"installationlocate"`
Manufacture string `xml:"manufacture"` Manufacture string `grom:"manufacture" xml:"manufacture"`
Longitude float64 `xml:"longitude"` Longitude string `grom:"longitude" xml:"longitude"`
Latitude float64 `xml:"latitude"` Latitude string `grom:"latitude" xml:"latitude"`
Altitude float64 `xml:"altitude"` Altitude string `grom:"altitude" xml:"altitude"`
Onelevelalarm float64 `xml:"onelevelalarm"` Onelevelalarm string `grom:"onelevelalarm" xml:"onelevelalarm"`
Twolevelalarm float64 `xml:"twolevelalarm"` Twolevelalarm string `grom:"twolevelalarm" xml:"twolevelalarm"`
Threelevelalarm float64 `xml:"threelevelalarm"` Threelevelalarm string `grom:"threelevelalarm" xml:"threelevelalarm"`
IsUsed string `xml:"is_used"` IsUsed string `grom:"isUsed" xml:"is_used"`
IsSync string `xml:"is_sync"` IsSync string `grom:"isSync" xml:"is_sync"`
} }
/* /*
浸润线设备信息 浸润线设备信息
*/ */
type SaturationLineInfor struct { type SaturationLineInfor struct {
Equipno string `xml:"equipno"` Equipno string `grom:"equipno" xml:"equipno"`
Equipname string `xml:"equipname"` Equipname string `grom:"equipname" xml:"equipname"`
Installationdate string `xml:"installationdate"` Installationdate string `grom:"installationdate" xml:"installationdate"`
Installationlocate string `xml:"installationlocate"` Installationlocate string `grom:"installationlocate" xml:"installationlocate"`
Manufacture string `xml:"manufacture"` Manufacture string `grom:"manufacture" xml:"manufacture"`
Holedepth float64 `xml:"holedepth"` Holedepth string `grom:"holedepth" xml:"holedepth"`
Burialdepth float64 `xml:"burialdepth"` Burialdepth string `grom:"burialdepth" xml:"burialdepth"`
Longitude float64 `xml:"longitude"` Longitude string `grom:"longitude" xml:"longitude"`
Latitude float64 `xml:"latitude"` Latitude string `grom:"latitude" xml:"latitude"`
Altitude float64 `xml:"altitude"` Altitude string `grom:"altitude" xml:"altitude"`
Onelevelalarm float64 `xml:"onelevelalarm"` Onelevelalarm string `grom:"onelevelalarm" xml:"onelevelalarm"`
Twolevelalarm float64 `xml:"twolevelalarm"` Twolevelalarm string `grom:"twolevelalarm" xml:"twolevelalarm"`
Threelevelalarm float64 `xml:"threelevelalarm"` Threelevelalarm string `grom:"threelevelalarm" xml:"threelevelalarm"`
IsUsed string `xml:"is_used"` IsUsed string `grom:"isUsed" xml:"is_used"`
IsSync string `xml:"is_sync"` IsSync string `grom:"isSync" xml:"is_sync"`
} }
/* /*
降雨量设备信息 降雨量设备信息
*/ */
type RainfallInfor struct { type RainfallInfor struct {
Equipno string `xml:"equipno"` Equipno string `grom:"equipno" xml:"equipno"`
Equipname string `xml:"equipname"` Equipname string `grom:"equipname" xml:"equipname"`
Installationdate string `xml:"installationdate"` Installationdate string `grom:"installationdate" xml:"installationdate"`
Installationlocate string `xml:"installationlocate"` Installationlocate string `grom:"installationlocate" xml:"installationlocate"`
Manufacture string `xml:"manufacture"` Manufacture string `grom:"manufacture" xml:"manufacture"`
Longitude float64 `xml:"longitude"` Longitude string `grom:"longitude" xml:"longitude"`
Latitude float64 `xml:"latitude"` Latitude string `grom:"latitude" xml:"latitude"`
Altitude float64 `xml:"altitude"` Altitude string `grom:"altitude" xml:"altitude"`
Onelevelalarm float64 `xml:"onelevelalarm"` Onelevelalarm string `grom:"onelevelalarm" xml:"onelevelalarm"`
Twolevelalarm float64 `xml:"twolevelalarm"` Twolevelalarm string `grom:"twolevelalarm" xml:"twolevelalarm"`
Threelevelalarm float64 `xml:"threelevelalarm"` Threelevelalarm string `grom:"threelevelalarm" xml:"threelevelalarm"`
IsUsed string `xml:"is_used"` IsUsed string `grom:"isUsed" xml:"is_used"`
IsSync string `xml:"is_sync"` IsSync string `grom:"isSync" xml:"is_sync"`
} }
/* /*
内部位移设备信息 内部位移设备信息
*/ */
type InclinometerInfor struct { type InclinometerInfor struct {
Equipno string `xml:"equipno"` Equipno string `grom:"equipno" xml:"equipno"`
Equipname string `xml:"equipname"` Equipname string `grom:"equipname" xml:"equipname"`
Installationdate string `xml:"installationdate"` Installationdate string `grom:"installationdate" xml:"installationdate"`
Installationlocate string `xml:"installationlocate"` Installationlocate string `grom:"installationlocate" xml:"installationlocate"`
Manufacture string `xml:"manufacture"` Manufacture string `grom:"manufacture" xml:"manufacture"`
Longitude float64 `xml:"longitude"` Longitude string `grom:"longitude" xml:"longitude"`
Latitude float64 `xml:"latitude"` Latitude string `grom:"latitude" xml:"latitude"`
Altitude float64 `xml:"altitude"` Altitude string `grom:"altitude" xml:"altitude"`
Onelevelalarm float64 `xml:"onelevelalarm"` Onelevelalarm string `grom:"onelevelalarm" xml:"onelevelalarm"`
Twolevelalarm float64 `xml:"twolevelalarm"` Twolevelalarm string `grom:"twolevelalarm" xml:"twolevelalarm"`
Threelevelalarm float64 `xml:"threelevelalarm"` Threelevelalarm string `grom:"threelevelalarm" xml:"threelevelalarm"`
IsUsed string `xml:"is_used"` IsUsed string `grom:"isUsed" xml:"is_used"`
IsSync string `xml:"is_sync"` IsSync string `grom:"isSync" xml:"is_sync"`
}
// ------------------------------------------------------->实时数据结构体
/*
干滩实时数据
*/
type DryBeachData struct {
Recordid string `grom:"recordid" xml:"recordid"`
Sensorno string `grom:"sensorno" xml:"sensorno"`
Collectdate string `grom:"collectdate" xml:"collectdate"`
Value string `grom:"value" xml:"value"`
}
/*
库水位实时数据
*/
type ReserWaterLevelData struct {
Recordid string `grom:"recordid" xml:"recordid"`
Sensorno string `grom:"sensorno" xml:"sensorno"`
Collectdate string `grom:"collectdate" xml:"collectdate"`
Value string `grom:"value" xml:"value"`
}
/*
表面位移实时数据
*/
type DisplacementData struct {
Recordid string `xml:"recordid"`
Sensorno string `xml:"sensorno"`
Collectdate string `xml:"collectdate"`
Xvalue string `xml:"xvalue"`
Yvalue string `xml:"yvalue"`
Zvalue string `xml:"zvalue"`
}
/*
浸润线实时数据
*/
type SaturationLineData struct {
Recordid string `grom:"recordid" xml:"recordid"`
Sensorno string `grom:"sensorno" xml:"sensorno"`
Collectdate string `grom:"collectdate" xml:"collectdate"`
Value string `grom:"value" xml:"value"`
}
/*
降雨量实时数据
*/
type RailfallData struct {
Recordid string `grom:"recordid" xml:"recordid"`
Sensorno string `grom:"sensorno" xml:"sensorno"`
Collectdate string `grom:"collectdate" xml:"collectdate"`
Value string `grom:"value" xml:"value"`
}
/*
内部位移实时数据
*/
type InclinometerData struct {
Recordid string `grom:"recordid" xml:"recordid"`
Sensorno string `grom:"sensorno" xml:"sensorno"`
Collectdate string `grom:"collectdate" xml:"collectdate"`
Xvalue string `xml:"xvalue"`
Yvalue string `xml:"yvalue"`
}
/*
离线设备实时数据
*/
type DeviceOffLineData struct {
Recordid string `grom:"recordid" xml:"recordid"`
Sensorno string `grom:"sensorno" xml:"sensorno"`
Collectdate string `grom:"collectdate" xml:"collectdate"`
}
/*
报警设备实时数据
*/
type AlarmMessData struct {
Recordid string `grom:"recordid" xml:"recordid"`
Sensorno string `grom:"sensorno" xml:"sensorno"`
Warninglevel string `grom:"warninglevel" xml:"warninglevel"`
Value string `grom:"value" xml:"value"`
Warningcontent string `grom:"warningcontent" xml:"warningcontent"`
Warningdate string `grom:"warningdate" xml:"warningdate"`
} }
\ No newline at end of file
...@@ -79,28 +79,42 @@ minelaytypeno=1 ...@@ -79,28 +79,42 @@ minelaytypeno=1
upstreamtailings=1 upstreamtailings=1
drystorage= drystorage=
drystoragewaterratio= drystoragewaterratio=
tailingsparticlesize= tailingsparticlesize=64
tailingsaveparticlesize= tailingsaveparticlesize=
depositiondrybeachslope= depositiondrybeachslope=2
personnum= personnum=0
buildingnum= buildingnum=0
emergencyplanfiled= emergencyplanfiled=
primarysafetyunit= primarysafetyunit=山东公信安全评价有限公司
primarysafetylevel= primarysafetylevel=甲级
designunit= designunit=山东黄金集团烟台设计研究工程有限公司
designunitlevel= designunitlevel=甲级
constructionunit= constructionunit=山东华新建筑工程集团有限责任公司
constructionlevel= constructionlevel=矿山工程施工总承包一级
supervisoryunit= supervisoryunit=北京康迪建设监理咨询有限公司
supervisorylevel= supervisorylevel=甲级
safetycheckunit= safetycheckunit=山东信力安全技术有限公司
safetychecklevel= safetychecklevel=甲级
safetyacceptancetime= safetyacceptancetime=2015-9-28
safetyevaluationunit= safetyevaluationunit=山东信力安全技术有限公司
safetyevaluationlevel= safetyevaluationlevel=甲级
filingperson= filingperson=烟台中嘉矿业有限公司(岳翔宇)
filingdate= filingdate=2020-10-24
fillerphone= fillerphone=18507282835
note= note=
in_use= in_use=1
is_sync= is_sync=0
[StaticSqlLanguage]
gt_static_sql=SELECT equipno, equipname, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo where equipname like '%干滩%'
ksw_static_sql=SELECT equipno, equipname, installlocation, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo a INNER JOIN (SELECT ID FROM SensorInfo WHERE Location like '%水位%') b on a.equipname = b.ID
jrx_static_sql=SELECT equipno, equipname, holedepth, burialdepth, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo a INNER JOIN (SELECT ID FROM SensorInfo WHERE Location like '%浸润线%') b on a.equipname = b.ID
jyl_static_sql=SELECT equipno, equipname, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo where equipname like '%雨量%'
nbwy_static_sql=SELECT equipno, equipname, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo a INNER JOIN (SELECT ID FROM SensorInfo WHERE Location like '%内部位移%') b on a.equipname = b.ID
[RealTimeSqlLanguage]
gt_real_time_sql=SELECT b.equipno AS sensorno, a.upTempValue AS value, a.upTime AS collectdate from TempT a inner join (select equipno, equipname from [mssensors].[dbo].[wkkInfo] where equipname like '%干滩%') b on a.ID = b.equipname
ksw_real_time_sql=
jrx_real_time_sql=
jyl_real_time_sql=
nbwy_real_time_sql=
\ No newline at end of file
...@@ -8,11 +8,15 @@ import ( ...@@ -8,11 +8,15 @@ import (
"shandong_datapush/common" "shandong_datapush/common"
_ "github.com/denisenkom/go-mssqldb" _ "github.com/denisenkom/go-mssqldb"
_ "github.com/lib/pq" _ "github.com/lib/pq"
_ "github.com/go-sql-driver/mysql"
) )
var ( var (
DBType string DBType string
DBConnInfo *common.DBConnectInfo DBConnInfo *common.DBConnectInfo
TailPond *common.TailPondInfor
StaticSql *common.StaticSqlLanguage
RealTimeSql *common.RealTimeSqlLanguage
DB *sql.DB DB *sql.DB
err error err error
) )
...@@ -23,6 +27,12 @@ func init() { ...@@ -23,6 +27,12 @@ func init() {
DBType = file.Section("databaseType").Key("type").String() DBType = file.Section("databaseType").Key("type").String()
DBConnInfo = new(common.DBConnectInfo) DBConnInfo = new(common.DBConnectInfo)
err = file.Section("databaseConnection").MapTo(DBConnInfo) err = file.Section("databaseConnection").MapTo(DBConnInfo)
TailPond = new(common.TailPondInfor)
err = file.Section("wkkBasicInfo").MapTo(TailPond)
StaticSql = new(common.StaticSqlLanguage)
file.Section("staticSqlLanguage").MapTo(StaticSql)
RealTimeSql = new(common.RealTimeSqlLanguage)
file.Section("RealTimeSqlLanguage").MapTo(RealTimeSql)
common.ErrorPrintln("数据库连接信息映射异常", err) common.ErrorPrintln("数据库连接信息映射异常", err)
} }
...@@ -31,6 +41,7 @@ func DBConnection() { ...@@ -31,6 +41,7 @@ func DBConnection() {
log.Println("当前使用pg数据库") log.Println("当前使用pg数据库")
connString := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",DBConnInfo.Server, DBConnInfo.Port, DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.DBName) connString := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",DBConnInfo.Server, DBConnInfo.Port, DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.DBName)
DB, err = sql.Open("postgres", connString) DB, err = sql.Open("postgres", connString)
common.ErrorPrintln("postgres数据库连接异常" , err)
err = DB.Ping() err = DB.Ping()
if err != nil { if err != nil {
log.Fatalf("[Error] PG 数据库连接失败: %s", err.Error()) log.Fatalf("[Error] PG 数据库连接失败: %s", err.Error())
...@@ -38,14 +49,26 @@ func DBConnection() { ...@@ -38,14 +49,26 @@ func DBConnection() {
log.Println("postgres 数据库连接成功!") log.Println("postgres 数据库连接成功!")
} }
} else if DBType == "sqlserver" { } else if DBType == "sqlserver" {
log.Println("当前使用SqlServer数据库") log.Println("当前使用sqlserver数据库")
connString := fmt.Sprintf("server=%s;database=%s;user id=%s;password=%s;port=%s;encrypt=disable", DBConnInfo.Server, DBConnInfo.DBName, DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.Port) connString := fmt.Sprintf("server=%s;database=%s;user id=%s;password=%s;port=%s;encrypt=disable", DBConnInfo.Server, DBConnInfo.DBName, DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.Port)
DB, err = sql.Open("mssql", connString) DB, err = sql.Open("mssql", connString)
common.ErrorPrintln("sqlserver数据库连接异常" , err)
err = DB.Ping() err = DB.Ping()
if err != nil { if err != nil {
log.Fatalf("[Error] sqlserver 数据库连接失败: %s", err.Error()) log.Fatalf("[Error] sqlserver 数据库连接失败: %s", err.Error())
}else { }else {
log.Println("sqlserver 数据库连接成功!") log.Println("sqlserver 数据库连接成功!")
} }
} else if DBType == "mysql" {
log.Println("当前使用mysql数据库")
connString := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8", DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.Server, DBConnInfo.Port, DBConnInfo.DBName)
DB, err = sql.Open("mysql", connString)
common.ErrorPrintln("mysql数据库连接异常" , err)
err = DB.Ping()
if err != nil {
log.Fatalf("[Error] mysql 数据库连接失败: %s", err.Error())
}else {
log.Println("mysql 数据库连接成功!")
}
} }
} }
\ No newline at end of file
package dao
import (
"shandong_datapush/common"
"shandong_datapush/config"
)
/*
干滩静态数据
*/
func GantanStaticData() []*common.DryBeachEquipInfor {
row, err := config.DB.Query(config.StaticSql.GtStaticSql)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
common.ErrorPrintln("干滩静态数据查询异常", err)
Arrs := make([]*common.DryBeachEquipInfor, 0)
for row.Next() {
dryBeachInfo := new(common.DryBeachEquipInfor)
err := row.Scan(&dryBeachInfo.Equipno, &dryBeachInfo.Equipname, &dryBeachInfo.Longitude, &dryBeachInfo.Latitude,&dryBeachInfo.Altitude, &dryBeachInfo.IsUsed, &dryBeachInfo.IsSync)
common.ErrorPrintln("scan 干滩数据读取异常", err)
Arrs = append(Arrs, dryBeachInfo)
}
return Arrs
}
/*
库水位静态数据
*/
func KushuiweiStaticData() []*common.ReserWaterLevelInfor {
row, err := config.DB.Query(config.StaticSql.KswStaticSql)
common.ErrorPrintln("库水位静态数据查询异常", err)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
Arrs := make([]*common.ReserWaterLevelInfor, 0)
for row.Next() {
reserwater := new(common.ReserWaterLevelInfor)
err := row.Scan(&reserwater.Equipno, &reserwater.Equipname, &reserwater.Installlocation, &reserwater.Longitude, &reserwater.Latitude, &reserwater.Altitude, &reserwater.IsUsed, &reserwater.IsSync)
common.ErrorPrintln("scan 库水位数据读取异常", err)
Arrs = append(Arrs, reserwater)
}
return Arrs
}
/*
浸润线静态数据
*/
func JinrunxianStaticData() []*common.SaturationLineInfor {
row, err := config.DB.Query(config.StaticSql.JrxStaticSql)
common.ErrorPrintln("浸润线静态数据查询异常", err)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
Arrs := make([]*common.SaturationLineInfor, 0)
for row.Next() {
saturation := new(common.SaturationLineInfor)
err := row.Scan(&saturation.Equipno, &saturation.Equipname, &saturation.Holedepth, &saturation.Burialdepth, &saturation.Longitude, &saturation.Latitude, &saturation.Altitude, &saturation.IsUsed, &saturation.IsSync)
common.ErrorPrintln("scan 浸润线数据读取异常", err)
Arrs = append(Arrs, saturation)
}
return Arrs
}
/*
降雨量静态数据
*/
func JiangyuliangStaticData() []*common.RainfallInfor {
row, err := config.DB.Query(config.StaticSql.JylStaticSql)
common.ErrorPrintln("降雨量静态数据查询异常", err)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
Arrs := make([]*common.RainfallInfor, 0)
for row.Next() {
saturation := new(common.RainfallInfor)
err := row.Scan(&saturation.Equipno, &saturation.Equipname, &saturation.Longitude, &saturation.Latitude, &saturation.Altitude, &saturation.IsUsed, &saturation.IsSync)
common.ErrorPrintln("scan 降雨量数据读取异常", err)
Arrs = append(Arrs, saturation)
}
return Arrs
}
/*
内部位移静态数据
*/
func NeibuweiyiStaticData() []*common.InclinometerInfor {
row, err := config.DB.Query(config.StaticSql.NbwystaticSql)
common.ErrorPrintln("内部位移静态数据查询异常", err)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
Arrs := make([]*common.InclinometerInfor, 0)
for row.Next() {
saturation := new(common.InclinometerInfor)
err := row.Scan(&saturation.Equipno, &saturation.Equipname, &saturation.Longitude, &saturation.Latitude, &saturation.Altitude, &saturation.IsUsed, &saturation.IsSync)
common.ErrorPrintln("scan 内部位移数据读取异常", err)
Arrs = append(Arrs, saturation)
}
return Arrs
}
\ No newline at end of file
...@@ -4,6 +4,7 @@ go 1.15 ...@@ -4,6 +4,7 @@ go 1.15
require ( require (
github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204 github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204
github.com/go-sql-driver/mysql v1.5.0
github.com/lib/pq v1.8.0 github.com/lib/pq v1.8.0
gopkg.in/ini.v1 v1.62.0 gopkg.in/ini.v1 v1.62.0
) )
github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204 h1:tI48fqaIkxxYuIylVv1tdDfBp6836GKSfmmzgSyP1CY= github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204 h1:tI48fqaIkxxYuIylVv1tdDfBp6836GKSfmmzgSyP1CY=
github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
github.com/lib/pq v1.8.0 h1:9xohqzkUwzR4Ga4ivdTcawVS89YSDVxXMa3xJX3cGzg= github.com/lib/pq v1.8.0 h1:9xohqzkUwzR4Ga4ivdTcawVS89YSDVxXMa3xJX3cGzg=
......
...@@ -3,9 +3,35 @@ package main ...@@ -3,9 +3,35 @@ package main
import ( import (
"log" "log"
"shandong_datapush/config" "shandong_datapush/config"
"shandong_datapush/service"
"time"
) )
func main() { func main() {
log.Println("==================数据推送程序启动=================") log.Println("==================数据推送程序启动=================")
config.DBConnection() config.DBConnection()
service.WkkBasicDataProcess()
service.KswStaticDataProcess()
service.GtStaticDataProcess()
service.JrxStaticDataProcess()
service.JylStaticDataProcess()
service.NbwyStaticDataProcess()
}
/*
静态数据推送
*/
func staticDataPush() {
for range time.Tick(time.Second * 10){
log.Println("=======================================staticDataPush")
}
}
/*
实时数据推送
*/
func realTimeDataPush() {
for range time.Tick(time.Second * 20){
log.Println("=======================================realTimeDataPush")
}
} }
\ No newline at end of file
package service
/*
干滩实时数据
*/
func GtRealDataProcess() {
/*row, err := config.DB.Query(config.RealTimeSql.GtRealTimeSql)
common.ErrorPrintln("干滩实时数据查询异常", err)
Arrs := make([]*common.DryBeachData, 0)
for row.Next() {
dryBeach := new(common.DryBeachData)
row.Scan()
}*/
}
\ No newline at end of file
package service
import (
"bytes"
"encoding/xml"
"log"
"net/http"
"shandong_datapush/common"
"shandong_datapush/config"
"shandong_datapush/dao"
)
/*
尾矿库静态数据处理
*/
func WkkBasicDataProcess() {
client := &http.Client{}
by, err := xml.Marshal(config.TailPond)
log.Println(">>>>>>>>>>>>>>>>>>>", string(by))
common.ErrorPrintln("wkkBasicDataProcess", err)
req, err := http.NewRequest("POST", "https://www.baidu.com", bytes.NewReader(by))
client.Do(req)
}
/*
干滩静态数据处理
*/
func GtStaticDataProcess() {
gtArrs := dao.GantanStaticData()
by, err := xml.Marshal(gtArrs)
common.ErrorPrintln("干滩静态数据格式化失败", err)
log.Println("干滩>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
/*
库水位静态数据处理
*/
func KswStaticDataProcess() {
kswArrs := dao.KushuiweiStaticData()
by, err := xml.Marshal(kswArrs)
common.ErrorPrintln("库水位静态数据格式化失败", err)
log.Println("库水位>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
/*
浸润线静态数据处理
*/
func JrxStaticDataProcess() {
jrxArrs := dao.JinrunxianStaticData()
by, err := xml.Marshal(jrxArrs)
common.ErrorPrintln("浸润线静态数据格式化失败", err)
log.Println("浸润线>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
/*
降雨量静态数据处理
*/
func JylStaticDataProcess() {
jylArrs := dao.JiangyuliangStaticData()
by, err := xml.Marshal(jylArrs)
common.ErrorPrintln("降雨量静态数据格式化失败", err)
log.Println("降雨量>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
/*
降雨量静态数据处理
*/
func NbwyStaticDataProcess() {
jylArrs := dao.NeibuweiyiStaticData()
by, err := xml.Marshal(jylArrs)
common.ErrorPrintln("内部位移静态数据格式化失败", err)
log.Println("内部位移>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment