limsreportben.go 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742
  1. package limsmetering
  2. import (
  3. "dashoo.cn/backend/api/business/limsdataentry"
  4. "dashoo.cn/backend/api/business/limsreportalertor"
  5. "dashoo.cn/backend/api/business/limsreportben"
  6. "encoding/json"
  7. "fmt"
  8. "strconv"
  9. "time"
  10. . "dashoo.cn/backend/api/controllers"
  11. "dashoo.cn/utils"
  12. )
  13. type LimsReportBenController struct {
  14. BaseController
  15. }
  16. type LimsBenAllModel struct {
  17. BenMainform limsreportalertor.LimsAlertorMainModel
  18. CertiArrayList []Certilist
  19. AlertValArrayList []AlertValList
  20. DeviationArrayList []DeviationList
  21. ResponTimeArrayList []ResponTimeList
  22. RepeatArrayList []RepeatList
  23. ShiftArrayList []ShiftList
  24. Id int
  25. CerNum string
  26. EffectDate time.Time
  27. StanDevice string
  28. StandVal string
  29. StandardUnit string
  30. Uncertainty string
  31. InstrumentNo string
  32. EId int
  33. TaskBalanceId int
  34. }
  35. type Certilist struct {
  36. Id int
  37. CerNum string
  38. EffectDate time.Time
  39. StandVal string
  40. StandardUnit string
  41. Uncertainty string
  42. StanDevice string
  43. InstrumentNo string
  44. }
  45. type AlertValList struct {
  46. Id int
  47. AlertFunction string
  48. Value1 float64
  49. Value2 float64
  50. Value3 float64
  51. ActionValue float64
  52. SureValue float64
  53. MaxValue float64
  54. AllowValue float64
  55. }
  56. type DeviationList struct {
  57. Id int
  58. GasValue float64
  59. Value1 float64
  60. Value2 float64
  61. Value3 float64
  62. AvgValue string
  63. Deviation float64
  64. DeviationAbs float64
  65. DeviationRelative float64
  66. }
  67. type ResponTimeList struct {
  68. Id int
  69. GasValue float64
  70. Value1 float64
  71. Value2 float64
  72. Value3 float64
  73. Deviation float64
  74. }
  75. type RepeatList struct {
  76. Id int
  77. GasValue float64
  78. Value1 float64
  79. Value2 float64
  80. Value3 float64
  81. Value4 float64
  82. Value5 float64
  83. Value6 float64
  84. AvgValue string
  85. RepeatValue float64
  86. }
  87. type ShiftList struct {
  88. Id int
  89. ValueType string
  90. Value0 float64
  91. Value1 float64
  92. Value2 float64
  93. Value3 float64
  94. Value4 float64
  95. Value5 float64
  96. Value6 float64
  97. ZeroValue float64
  98. ShowValue float64
  99. }
  100. //@Title 获取实体
  101. //@Description 获取实体
  102. //@Success 200 {object}
  103. //@router /get/:id [get]
  104. func (this *LimsReportBenController) GetEntity() {
  105. Id := this.Ctx.Input.Param(":id")
  106. sessions := utils.DBE.NewSession()
  107. svc := limsreportben.GetLimsReportBenSessionService(sessions)
  108. var mainmodel limsreportalertor.LimsAlertorMainModel
  109. var alertvaluelist []limsreportalertor.LimsReportAlertorValue
  110. var cervaluelist []limsreportalertor.LimsReportAlertorCertificate
  111. var alertdeviationlist []limsreportalertor.LimsReportAlertorDeviation
  112. var alertresponsetimelist []limsreportalertor.LimsReportAlertorResponseTime
  113. var alertrepeatlist []limsreportalertor.LimsReportAlertorRepeat
  114. var alertshiftlist []limsreportalertor.LimsReportAlertorShift
  115. where := "DataEntryId = " + Id
  116. mainmodel = svc.GetEntityByOrderbyWhereMain(this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsReportAlertorName, "a.Id", Id)
  117. fmt.Println(mainmodel)
  118. svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorCertificateName, where, "Id", &cervaluelist)
  119. svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorValueName, where, "Id", &alertvaluelist)
  120. svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorDeviationName, where, "Id", &alertdeviationlist)
  121. svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorResponseTimeName, where, "Id", &alertresponsetimelist)
  122. svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorRepeatName, where, "Id", &alertrepeatlist)
  123. svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorShiftName, where, "Id", &alertshiftlist)
  124. var responinfo ALterDataInfo
  125. responinfo.MainItem = mainmodel
  126. responinfo.AlvalItem = alertvaluelist
  127. responinfo.CerItem = cervaluelist
  128. responinfo.DeviItem = alertdeviationlist
  129. responinfo.RepeatItem = alertrepeatlist
  130. responinfo.ResponItem = alertresponsetimelist
  131. responinfo.ShiftItem = alertshiftlist
  132. this.Data["json"] = &responinfo
  133. this.ServeJSON()
  134. }
  135. // @Title 添加
  136. // @Description 新增
  137. // @Success 200 {object} controllers.Request
  138. // @router /add/ [post]
  139. func (this *LimsReportBenController) AddEntity() {
  140. sessions := utils.DBE.NewSession()
  141. var model LimsBenAllModel
  142. var err error
  143. var jsonBlob = this.Ctx.Input.RequestBody
  144. err = json.Unmarshal(jsonBlob, &model)
  145. var dataentrymodel limsdataentry.LimsDateEntry
  146. var almodel limsreportalertor.LimsReportAlertor
  147. svc := limsreportben.GetLimsReportBenSessionService(sessions)
  148. dataentrymodel.Instrument1 = model.BenMainform.Instrument1
  149. dataentrymodel.DetectBasis = model.BenMainform.DetectBasis
  150. dataentrymodel.Temperature = model.BenMainform.Temperature
  151. dataentrymodel.StandardDesc = model.BenMainform.StandardDesc
  152. dataentrymodel.Spec = model.BenMainform.Spec
  153. dataentrymodel.ModifiedOn = time.Now()
  154. dataentrymodel.ModifiedBy = this.User.Realname
  155. dataentrymodel.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  156. dataentrycols := []string{
  157. "StandardDesc",
  158. "Instrument1",
  159. "Temperature",
  160. "DetectBasis",
  161. "Spec",
  162. "ModifiedOn",
  163. "ModifiedBy",
  164. "ModifiedUserId",
  165. }
  166. err = svc.UpdateEntityBywheretbl(this.User.AccCode+LimsDateEntryName, &dataentrymodel, dataentrycols, "Id = "+ utils.ToStr(model.BenMainform.DataEntryId))
  167. almodel.MeterRange = model.BenMainform.MeterRange
  168. almodel.MeasurementRange = model.BenMainform.MeasurementRange
  169. almodel.FaceCheck = model.BenMainform.FaceCheck
  170. almodel.FlagCheck = model.BenMainform.FlagCheck
  171. almodel.ElectrifyCheck = model.BenMainform.ElectrifyCheck
  172. almodel.Insulation = model.BenMainform.Insulation
  173. almodel.RelativeHumanity = model.BenMainform.RelativeHumanity
  174. almodel.ManuCompany = model.BenMainform.ManuCompany
  175. almodel.Spec = model.BenMainform.Spec
  176. almodel.FactoryNum = model.BenMainform.FactoryNum
  177. almodel.AudibleAlarm = model.BenMainform.AudibleAlarm
  178. almodel.AlarmConcentration = model.BenMainform.AlarmConcentration
  179. almodel.InstrumentLevel = model.BenMainform.InstrumentLevel
  180. almodel.DielecStrength = model.BenMainform.DielecStrength
  181. almodel.EId = model.BenMainform.EId
  182. almodel.TaskBalanceId = model.BenMainform.TaskBalanceId
  183. almodel.DataEntryId = model.BenMainform.DataEntryId
  184. almodel.CreateOn = time.Now()
  185. almodel.CreateBy = this.User.Realname
  186. almodel.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  187. if almodel.MeterRange != "" || almodel.MeasurementRange != "" || almodel.FaceCheck != "" || almodel.FlagCheck != "" || almodel.ElectrifyCheck != "" || almodel.Insulation != "" || almodel.RelativeHumanity != "" || almodel.ManuCompany != "" || almodel.Spec != "" || almodel.FactoryNum != "" || almodel.AudibleAlarm != "" || almodel.AlarmConcentration != "" || almodel.InstrumentLevel != "" || almodel.DielecStrength != "" {
  188. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorName, &almodel)
  189. }
  190. //证书表
  191. if model.CertiArrayList != nil{
  192. for i := 0; i < len(model.CertiArrayList); i++ {
  193. var cerentity limsreportalertor.LimsReportAlertorCertificate
  194. cerentity.CerNum = model.CertiArrayList[i].CerNum
  195. cerentity.StandardUnit = model.CertiArrayList[i].StandardUnit
  196. cerentity.StandVal = model.CertiArrayList[i].StandVal
  197. cerentity.Uncertainty = model.CertiArrayList[i].Uncertainty
  198. cerentity.EffectDate = model.CertiArrayList[i].EffectDate
  199. cerentity.InstrumentNo = model.CertiArrayList[i].InstrumentNo
  200. cerentity.StanDevice = model.CertiArrayList[i].StanDevice
  201. cerentity.EId = model.BenMainform.EId
  202. cerentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  203. cerentity.DataEntryId = model.BenMainform.DataEntryId
  204. cerentity.CreateOn = time.Now()
  205. cerentity.CreateBy = this.User.Realname
  206. cerentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  207. if cerentity.CerNum != "" || cerentity.StandardUnit != "" || cerentity.StandVal != "" || cerentity.Uncertainty != "" || cerentity.InstrumentNo != "" || cerentity.StanDevice != "" {
  208. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorCertificateName, &cerentity)
  209. }
  210. }
  211. }
  212. var cerentity2 limsreportalertor.LimsReportAlertorCertificate
  213. cerentity2.CerNum = model.CerNum
  214. cerentity2.StandardUnit = model.StandardUnit
  215. cerentity2.StandVal = model.StandVal
  216. cerentity2.Uncertainty = model.Uncertainty
  217. cerentity2.EffectDate = model.EffectDate
  218. cerentity2.InstrumentNo = model.InstrumentNo
  219. cerentity2.StanDevice = model.StanDevice
  220. cerentity2.EId = model.BenMainform.EId
  221. cerentity2.TaskBalanceId = model.BenMainform.TaskBalanceId
  222. cerentity2.DataEntryId = model.BenMainform.DataEntryId
  223. cerentity2.CreateOn = time.Now()
  224. cerentity2.CreateBy = this.User.Realname
  225. cerentity2.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  226. if cerentity2.CerNum != "" || cerentity2.StandardUnit != "" || cerentity2.StandVal != "" || cerentity2.Uncertainty != "" || cerentity2.InstrumentNo != "" || cerentity2.StanDevice != "" {
  227. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorCertificateName, &cerentity2)
  228. }
  229. //报警功能表
  230. if model.AlertValArrayList != nil{
  231. for i := 0; i < len(model.AlertValArrayList); i++ {
  232. var avalentity limsreportalertor.LimsReportAlertorValue
  233. avalentity.AlertFunction = model.AlertValArrayList[i].AlertFunction
  234. avalentity.Value1 = model.AlertValArrayList[i].Value1
  235. avalentity.Value2 = model.AlertValArrayList[i].Value2
  236. avalentity.Value3 = model.AlertValArrayList[i].Value3
  237. avalentity.ActionValue = model.AlertValArrayList[i].ActionValue
  238. avalentity.EId = model.BenMainform.EId
  239. avalentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  240. avalentity.DataEntryId = model.BenMainform.DataEntryId
  241. avalentity.CreateOn = time.Now()
  242. avalentity.CreateBy = this.User.Realname
  243. avalentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  244. if avalentity.AlertFunction != "" || avalentity.Value1 != 0 || avalentity.Value2 != 0 || avalentity.Value3 != 0 || avalentity.ActionValue != 0 {
  245. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorValueName, &avalentity)
  246. }
  247. }
  248. }
  249. //示值误差表
  250. if model.DeviationArrayList != nil{
  251. for i := 0; i < len(model.DeviationArrayList); i++ {
  252. var devientity limsreportalertor.LimsReportAlertorDeviation
  253. devientity.GasValue = model.DeviationArrayList[i].GasValue
  254. devientity.Value1 = model.DeviationArrayList[i].Value1
  255. devientity.Value2 = model.DeviationArrayList[i].Value2
  256. devientity.Value3 = model.DeviationArrayList[i].Value3
  257. devientity.AvgValue, _ = strconv.ParseFloat(model.DeviationArrayList[i].AvgValue, 64)
  258. devientity.Deviation = model.DeviationArrayList[i].Deviation
  259. devientity.EId = model.BenMainform.EId
  260. devientity.TaskBalanceId = model.BenMainform.TaskBalanceId
  261. devientity.DataEntryId = model.BenMainform.DataEntryId
  262. devientity.CreateOn = time.Now()
  263. devientity.CreateBy = this.User.Realname
  264. devientity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  265. if devientity.GasValue != 0 || devientity.Value1 != 0 || devientity.Value2 != 0 || devientity.Value3 != 0 || devientity.AvgValue != 0 || devientity.Deviation != 0 {
  266. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorDeviationName, &devientity)
  267. }
  268. }
  269. }
  270. //响应时间表
  271. var reponseentity limsreportalertor.LimsReportAlertorResponseTime
  272. reponseentity.GasValue = model.ResponTimeArrayList[0].GasValue
  273. reponseentity.Value1 = model.ResponTimeArrayList[0].Value1
  274. reponseentity.Value2 = model.ResponTimeArrayList[0].Value2
  275. reponseentity.Value3 = model.ResponTimeArrayList[0].Value3
  276. reponseentity.Deviation = model.ResponTimeArrayList[0].Deviation
  277. reponseentity.EId = model.BenMainform.EId
  278. reponseentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  279. reponseentity.DataEntryId = model.BenMainform.DataEntryId
  280. reponseentity.CreateOn = time.Now()
  281. reponseentity.CreateBy = this.User.Realname
  282. reponseentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  283. if reponseentity.GasValue != 0 || reponseentity.Value1 != 0 || reponseentity.Value2 != 0 || reponseentity.Value3 != 0 || reponseentity.Deviation != 0 {
  284. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorResponseTimeName, &reponseentity)
  285. }
  286. //重复性表
  287. var repeatentity limsreportalertor.LimsReportAlertorRepeat
  288. repeatentity.GasValue = model.RepeatArrayList[0].GasValue
  289. repeatentity.Value1 = model.RepeatArrayList[0].Value1
  290. repeatentity.Value2 = model.RepeatArrayList[0].Value2
  291. repeatentity.Value3 = model.RepeatArrayList[0].Value3
  292. repeatentity.Value4 = model.RepeatArrayList[0].Value4
  293. repeatentity.Value5 = model.RepeatArrayList[0].Value5
  294. repeatentity.Value6 = model.RepeatArrayList[0].Value6
  295. repeatentity.AvgValue, _ = strconv.ParseFloat(model.RepeatArrayList[0].AvgValue, 64)
  296. repeatentity.RepeatValue = model.RepeatArrayList[0].RepeatValue
  297. repeatentity.EId = model.BenMainform.EId
  298. repeatentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  299. repeatentity.DataEntryId = model.BenMainform.DataEntryId
  300. repeatentity.CreateOn = time.Now()
  301. repeatentity.CreateBy = this.User.Realname
  302. repeatentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  303. if repeatentity.GasValue != 0 || repeatentity.Value1 != 0 || repeatentity.Value2 != 0 || repeatentity.Value3 != 0 || repeatentity.Value4 != 0 || repeatentity.Value5 != 0 || repeatentity.Value6 != 0 || repeatentity.AvgValue != 0 || repeatentity.RepeatValue != 0 {
  304. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorRepeatName, &repeatentity)
  305. }
  306. //漂移表
  307. if model.ShiftArrayList != nil{
  308. for i := 0; i < len(model.ShiftArrayList); i++ {
  309. var shiftentity limsreportalertor.LimsReportAlertorShift
  310. shiftentity.ValueType = model.ShiftArrayList[i].ValueType
  311. shiftentity.Value0 = model.ShiftArrayList[i].Value0
  312. shiftentity.Value1 = model.ShiftArrayList[i].Value1
  313. shiftentity.Value2 = model.ShiftArrayList[i].Value2
  314. shiftentity.Value3 = model.ShiftArrayList[i].Value3
  315. shiftentity.Value4 = model.ShiftArrayList[i].Value4
  316. shiftentity.Value5 = model.ShiftArrayList[i].Value5
  317. shiftentity.Value6 = model.ShiftArrayList[i].Value6
  318. shiftentity.ZeroValue = model.ShiftArrayList[i].ZeroValue
  319. shiftentity.ShowValue = model.ShiftArrayList[i].ShowValue
  320. shiftentity.EId = model.BenMainform.EId
  321. shiftentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  322. shiftentity.DataEntryId = model.BenMainform.DataEntryId
  323. shiftentity.CreateOn = time.Now()
  324. shiftentity.CreateBy = this.User.Realname
  325. shiftentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  326. if shiftentity.Value0 != 0 || shiftentity.Value1 != 0 || shiftentity.Value2 != 0 || shiftentity.Value3 != 0 || shiftentity.Value4 != 0 || shiftentity.Value5 != 0 || shiftentity.Value6 != 0 || shiftentity.ZeroValue != 0 || shiftentity.ShowValue != 0 {
  327. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorShiftName, &shiftentity)
  328. }
  329. }
  330. }
  331. var errinfo ErrorDataInfo
  332. if err == nil {
  333. //新增
  334. errinfo.Message = "添加成功!"
  335. errinfo.Code = 0
  336. errinfo.Item = almodel.Id
  337. this.Data["json"] = &errinfo
  338. this.ServeJSON()
  339. } else {
  340. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  341. errinfo.Code = -1
  342. this.Data["json"] = &errinfo
  343. this.ServeJSON()
  344. }
  345. }
  346. // @Title 修改数据
  347. // @Description 修改数据
  348. // @Success 200 {object} controllers.Request
  349. // @router /update/:id [post]
  350. func (this *LimsReportBenController) UpdateEntity() {
  351. dataentryid := this.Ctx.Input.Param(":id")
  352. var err error
  353. var errinfo ErrorInfo
  354. if dataentryid == "" {
  355. errinfo.Message = "操作失败!请求信息不完整"
  356. errinfo.Code = -2
  357. this.Data["json"] = &errinfo
  358. this.ServeJSON()
  359. return
  360. }
  361. sessions := utils.DBE.NewSession()
  362. var model LimsBenAllModel
  363. var jsonBlob = this.Ctx.Input.RequestBody
  364. err = json.Unmarshal(jsonBlob, &model)
  365. svc := limsreportben.GetLimsReportBenSessionService(sessions)
  366. var dataentrymodel limsdataentry.LimsDateEntry
  367. var almodel limsreportalertor.LimsReportAlertor
  368. dataentrymodel.Instrument1 = model.BenMainform.Instrument1
  369. dataentrymodel.DetectBasis = model.BenMainform.DetectBasis
  370. dataentrymodel.CustomerName = model.BenMainform.CustomerName
  371. dataentrymodel.Temperature = model.BenMainform.Temperature
  372. dataentrymodel.StandardDesc = model.BenMainform.StandardDesc
  373. dataentrymodel.PositionCheck = model.BenMainform.PositionCheck
  374. dataentrymodel.ModifiedOn = time.Now()
  375. dataentrymodel.ModifiedBy = this.User.Realname
  376. dataentrymodel.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  377. almodel.MeterRange = model.BenMainform.MeterRange
  378. almodel.MeasurementRange = model.BenMainform.MeasurementRange
  379. almodel.FaceCheck = model.BenMainform.FaceCheck
  380. almodel.FlagCheck = model.BenMainform.FlagCheck
  381. almodel.ElectrifyCheck = model.BenMainform.ElectrifyCheck
  382. almodel.Insulation = model.BenMainform.Insulation
  383. almodel.RelativeHumanity = model.BenMainform.RelativeHumanity
  384. almodel.ManuCompany = model.BenMainform.ManuCompany
  385. almodel.Spec = model.BenMainform.Spec
  386. almodel.FactoryNum = model.BenMainform.FactoryNum
  387. almodel.AudibleAlarm = model.BenMainform.AudibleAlarm
  388. almodel.AlarmConcentration = model.BenMainform.AlarmConcentration
  389. almodel.InstrumentLevel = model.BenMainform.InstrumentLevel
  390. almodel.DielecStrength = model.BenMainform.DielecStrength
  391. almodel.ModifiedOn = time.Now()
  392. almodel.ModifiedBy = this.User.Realname
  393. almodel.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  394. dataentrycols := []string{
  395. "CustomerName",
  396. "StandardDesc",
  397. "Instrument1",
  398. "Temperature",
  399. "DetectBasis",
  400. "PositionCheck",
  401. "ModifiedOn",
  402. "ModifiedBy",
  403. "ModifiedUserId",
  404. }
  405. err = svc.UpdateEntityBytbl(this.User.AccCode+LimsDateEntryName, dataentryid, &dataentrymodel, dataentrycols)
  406. alcols := []string{
  407. "MeterRange",
  408. "MeasurementRange",
  409. "FaceCheck",
  410. "FlagCheck",
  411. "ElectrifyCheck",
  412. "Insulation",
  413. "RelativeHumanity",
  414. "ManuCompany",
  415. "Spec",
  416. "FactoryNum",
  417. "AudibleAlarm",
  418. "AlarmConcentration",
  419. "InstrumentLevel",
  420. "DielecStrength",
  421. "ModifiedOn",
  422. "ModifiedBy",
  423. "ModifiedUserId",
  424. }
  425. alwhere := "DataEntryId = " + dataentryid
  426. err = svc.UpdateEntityBywheretbl(this.User.AccCode+LimsReportAlertorName, &almodel, alcols, alwhere)
  427. //证书表
  428. if model.CertiArrayList != nil {
  429. for i := 0; i < len(model.CertiArrayList); i++ {
  430. var cerentity limsreportalertor.LimsReportAlertorCertificate
  431. cerentity.CerNum = model.CertiArrayList[i].CerNum
  432. cerentity.StandardUnit = model.CertiArrayList[i].StandardUnit
  433. cerentity.StandVal = model.CertiArrayList[i].StandVal
  434. cerentity.Uncertainty = model.CertiArrayList[i].Uncertainty
  435. cerentity.EffectDate = model.CertiArrayList[i].EffectDate
  436. cerentity.InstrumentNo = model.CertiArrayList[i].InstrumentNo
  437. cerentity.StanDevice = model.CertiArrayList[i].StanDevice
  438. if model.CertiArrayList[i].Id != 0 {
  439. cerentity.ModifiedOn = time.Now()
  440. cerentity.ModifiedBy = this.User.Realname
  441. cerentity.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  442. cercols := []string{
  443. "CerNum",
  444. "StandardUnit",
  445. "StandVal",
  446. "Uncertainty",
  447. "EffectDate",
  448. "InstrumentNo",
  449. "StanDevice",
  450. "ModifiedOn",
  451. "ModifiedBy",
  452. "ModifiedUserId",
  453. }
  454. err = svc.UpdateEntityBywheretbl(this.User.AccCode+LimsReportAlertorCertificateName, &cerentity, cercols, alwhere)
  455. } else {
  456. if cerentity.CerNum != "" || cerentity.StandardUnit != "" || cerentity.StandVal != "" || cerentity.Uncertainty != "" || cerentity.InstrumentNo != "" || cerentity.StanDevice != "" {
  457. cerentity.CreateOn = time.Now()
  458. cerentity.CreateBy = this.User.Realname
  459. cerentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  460. cerentity.EId = model.BenMainform.EId
  461. cerentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  462. cerentity.DataEntryId = model.BenMainform.DataEntryId
  463. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorCertificateName, &cerentity)
  464. }
  465. }
  466. }
  467. }
  468. var cerentity2 limsreportalertor.LimsReportAlertorCertificate
  469. cerentity2.CerNum = model.CerNum
  470. cerentity2.StandardUnit = model.StandardUnit
  471. cerentity2.StandVal = model.StandVal
  472. cerentity2.Uncertainty = model.Uncertainty
  473. cerentity2.EffectDate = model.EffectDate
  474. cerentity2.InstrumentNo = model.InstrumentNo
  475. cerentity2.StanDevice = model.StanDevice
  476. if model.Id != 0 {
  477. cerentity2.ModifiedOn = time.Now()
  478. cerentity2.ModifiedBy = this.User.Realname
  479. cerentity2.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  480. cer2cols := []string{
  481. "CerNum",
  482. "StandardUnit",
  483. "StandVal",
  484. "Uncertainty",
  485. "EffectDate",
  486. "InstrumentNo",
  487. "StanDevice",
  488. "ModifiedOn",
  489. "ModifiedBy",
  490. "ModifiedUserId",
  491. }
  492. err = svc.UpdateEntityBywheretbl(this.User.AccCode+LimsReportAlertorCertificateName, &cerentity2, cer2cols, alwhere)
  493. }else {
  494. if cerentity2.CerNum != "" || cerentity2.StandardUnit != "" || cerentity2.StandVal != "" || cerentity2.Uncertainty != "" || cerentity2.InstrumentNo != "" || cerentity2.StanDevice != "" {
  495. cerentity2.CreateOn = time.Now()
  496. cerentity2.CreateBy = this.User.Realname
  497. cerentity2.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  498. cerentity2.EId = model.BenMainform.EId
  499. cerentity2.TaskBalanceId = model.BenMainform.TaskBalanceId
  500. cerentity2.DataEntryId = model.BenMainform.DataEntryId
  501. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorCertificateName, &cerentity2)
  502. }
  503. }
  504. //报警功能表
  505. if model.AlertValArrayList != nil {
  506. for i := 0; i < len(model.AlertValArrayList); i++ {
  507. var avalentity limsreportalertor.LimsReportAlertorValue
  508. avalentity.AlertFunction = model.AlertValArrayList[i].AlertFunction
  509. avalentity.Value1 = model.AlertValArrayList[i].Value1
  510. avalentity.Value2 = model.AlertValArrayList[i].Value2
  511. avalentity.Value3 = model.AlertValArrayList[i].Value3
  512. avalentity.ActionValue = model.AlertValArrayList[i].ActionValue
  513. if model.AlertValArrayList[i].Id != 0 {
  514. avalentity.ModifiedOn = time.Now()
  515. avalentity.ModifiedBy = this.User.Realname
  516. avalentity.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  517. alvalcols := []string{
  518. "AlertFunction",
  519. "Value1",
  520. "Value2",
  521. "Value3",
  522. "ActionValue",
  523. "ModifiedOn",
  524. "ModifiedBy",
  525. "ModifiedUserId",
  526. }
  527. err = svc.UpdateEntityBywheretbl(this.User.AccCode+LimsReportAlertorValueName, &avalentity, alvalcols, alwhere)
  528. }else {
  529. if avalentity.AlertFunction != "" || avalentity.Value1 != 0 || avalentity.Value2 != 0 || avalentity.Value3 != 0 || avalentity.ActionValue != 0 {
  530. avalentity.CreateOn = time.Now()
  531. avalentity.CreateBy = this.User.Realname
  532. avalentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  533. avalentity.EId = model.BenMainform.EId
  534. avalentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  535. avalentity.DataEntryId = model.BenMainform.DataEntryId
  536. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorValueName, &avalentity)
  537. }
  538. }
  539. }
  540. }
  541. //示值误差表
  542. if model.DeviationArrayList != nil {
  543. for i := 0; i < len(model.DeviationArrayList); i++ {
  544. var devientity limsreportalertor.LimsReportAlertorDeviation
  545. devientity.GasValue = model.DeviationArrayList[i].GasValue
  546. devientity.Value1 = model.DeviationArrayList[i].Value1
  547. devientity.Value2 = model.DeviationArrayList[i].Value2
  548. devientity.Value3 = model.DeviationArrayList[i].Value3
  549. devientity.AvgValue, _ = strconv.ParseFloat(model.DeviationArrayList[i].AvgValue, 64)
  550. devientity.Deviation = model.DeviationArrayList[i].Deviation
  551. if model.DeviationArrayList[i].Id != 0 {
  552. devientity.ModifiedOn = time.Now()
  553. devientity.ModifiedBy = this.User.Realname
  554. devientity.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  555. devicols := []string{
  556. "GasValue",
  557. "Value1",
  558. "Value2",
  559. "Value3",
  560. "AvgValue",
  561. "Deviation",
  562. "ModifiedOn",
  563. "ModifiedBy",
  564. "ModifiedUserId",
  565. }
  566. err = svc.UpdateEntityBywheretbl(this.User.AccCode+LimsReportAlertorDeviationName, &devientity, devicols, alwhere)
  567. }else {
  568. if devientity.GasValue != 0 || devientity.Value1 != 0 || devientity.Value2 != 0 || devientity.Value3 != 0 || devientity.AvgValue != 0 || devientity.Deviation != 0 {
  569. devientity.CreateOn = time.Now()
  570. devientity.CreateBy = this.User.Realname
  571. devientity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  572. devientity.EId = model.BenMainform.EId
  573. devientity.TaskBalanceId = model.BenMainform.TaskBalanceId
  574. devientity.DataEntryId = model.BenMainform.DataEntryId
  575. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorDeviationName, &devientity)
  576. }
  577. }
  578. }
  579. }
  580. //响应时间表
  581. if model.ResponTimeArrayList != nil {
  582. var reponseentity limsreportalertor.LimsReportAlertorResponseTime
  583. reponseentity.GasValue = model.ResponTimeArrayList[0].GasValue
  584. reponseentity.Value1 = model.ResponTimeArrayList[0].Value1
  585. reponseentity.Value2 = model.ResponTimeArrayList[0].Value2
  586. reponseentity.Value3 = model.ResponTimeArrayList[0].Value3
  587. reponseentity.Deviation = model.ResponTimeArrayList[0].Deviation
  588. if model.ResponTimeArrayList[0].Id != 0 {
  589. reponseentity.ModifiedOn = time.Now()
  590. reponseentity.ModifiedBy = this.User.Realname
  591. reponseentity.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  592. responcols := []string{
  593. "GasValue",
  594. "Value1",
  595. "Value2",
  596. "Value3",
  597. "Deviation",
  598. "ModifiedOn",
  599. "ModifiedBy",
  600. "ModifiedUserId",
  601. }
  602. err = svc.UpdateEntityBywheretbl(this.User.AccCode+LimsReportAlertorResponseTimeName, &reponseentity, responcols, alwhere)
  603. } else {
  604. if reponseentity.GasValue != 0 || reponseentity.Value1 != 0 || reponseentity.Value2 != 0 || reponseentity.Value3 != 0 || reponseentity.Deviation != 0 {
  605. reponseentity.CreateOn = time.Now()
  606. reponseentity.CreateBy = this.User.Realname
  607. reponseentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  608. reponseentity.EId = model.BenMainform.EId
  609. reponseentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  610. reponseentity.DataEntryId = model.BenMainform.DataEntryId
  611. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorResponseTimeName, &reponseentity)
  612. }
  613. }
  614. }
  615. //重复性表
  616. if model.RepeatArrayList != nil {
  617. var repeatentity limsreportalertor.LimsReportAlertorRepeat
  618. repeatentity.GasValue = model.RepeatArrayList[0].GasValue
  619. repeatentity.Value1 = model.RepeatArrayList[0].Value1
  620. repeatentity.Value2 = model.RepeatArrayList[0].Value2
  621. repeatentity.Value3 = model.RepeatArrayList[0].Value3
  622. repeatentity.Value4 = model.RepeatArrayList[0].Value4
  623. repeatentity.Value5 = model.RepeatArrayList[0].Value5
  624. repeatentity.Value6 = model.RepeatArrayList[0].Value6
  625. repeatentity.AvgValue, _ = strconv.ParseFloat(model.RepeatArrayList[0].AvgValue, 64)
  626. repeatentity.RepeatValue = model.RepeatArrayList[0].RepeatValue
  627. if model.RepeatArrayList[0].Id != 0 {
  628. repeatentity.ModifiedOn = time.Now()
  629. repeatentity.ModifiedBy = this.User.Realname
  630. repeatentity.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  631. repeacols := []string{
  632. "GasValue",
  633. "Value1",
  634. "Value2",
  635. "Value3",
  636. "Value4",
  637. "Value5",
  638. "Value6",
  639. "AvgValue",
  640. "RepeatValue",
  641. "ModifiedOn",
  642. "ModifiedBy",
  643. "ModifiedUserId",
  644. }
  645. err = svc.UpdateEntityBywheretbl(this.User.AccCode+LimsReportAlertorRepeatName, &repeatentity, repeacols, alwhere)
  646. } else {
  647. if repeatentity.GasValue != 0 || repeatentity.Value1 != 0 || repeatentity.Value2 != 0 || repeatentity.Value3 != 0 || repeatentity.Value4 != 0 || repeatentity.Value5 != 0 || repeatentity.Value6 != 0 || repeatentity.AvgValue != 0 || repeatentity.RepeatValue != 0 {
  648. repeatentity.CreateOn = time.Now()
  649. repeatentity.CreateBy = this.User.Realname
  650. repeatentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  651. repeatentity.EId = model.BenMainform.EId
  652. repeatentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  653. repeatentity.DataEntryId = model.BenMainform.DataEntryId
  654. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorRepeatName, &repeatentity)
  655. }
  656. }
  657. }
  658. //漂移表
  659. if model.ShiftArrayList != nil {
  660. for i := 0; i < len(model.ShiftArrayList); i++ {
  661. var shiftentity limsreportalertor.LimsReportAlertorShift
  662. shiftentity.ValueType = model.ShiftArrayList[i].ValueType
  663. shiftentity.Value1 = model.ShiftArrayList[i].Value1
  664. shiftentity.Value2 = model.ShiftArrayList[i].Value2
  665. shiftentity.Value3 = model.ShiftArrayList[i].Value3
  666. shiftentity.Value4 = model.ShiftArrayList[i].Value4
  667. shiftentity.Value5 = model.ShiftArrayList[i].Value5
  668. shiftentity.Value6 = model.ShiftArrayList[i].Value6
  669. shiftentity.ZeroValue = model.ShiftArrayList[i].ZeroValue
  670. shiftentity.ShowValue = model.ShiftArrayList[i].ShowValue
  671. if model.ShiftArrayList[i].Id !=0 {
  672. shiftentity.ModifiedOn = time.Now()
  673. shiftentity.ModifiedBy = this.User.Realname
  674. shiftentity.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  675. shiftcols := []string{
  676. "ValueType",
  677. "Value1",
  678. "Value2",
  679. "Value3",
  680. "Value4",
  681. "Value5",
  682. "Value6",
  683. "ZeroValue",
  684. "ShowValue",
  685. "ModifiedOn",
  686. "ModifiedBy",
  687. "ModifiedUserId",
  688. }
  689. err = svc.UpdateEntityBywheretbl(this.User.AccCode+LimsReportAlertorShiftName, &shiftentity, shiftcols, alwhere)
  690. }else {
  691. if shiftentity.Value0 != 0 || shiftentity.Value1 != 0 || shiftentity.Value2 != 0 || shiftentity.Value3 != 0 || shiftentity.Value4 != 0 || shiftentity.Value5 != 0 || shiftentity.Value6 != 0 || shiftentity.ZeroValue != 0 || shiftentity.ShowValue != 0 {
  692. shiftentity.CreateOn = time.Now()
  693. shiftentity.CreateBy = this.User.Realname
  694. shiftentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  695. shiftentity.EId = model.BenMainform.EId
  696. shiftentity.TaskBalanceId = model.BenMainform.TaskBalanceId
  697. shiftentity.DataEntryId = model.BenMainform.DataEntryId
  698. _, err = svc.InsertEntityBytbl(this.User.AccCode+LimsReportAlertorShiftName, &shiftentity)
  699. }
  700. }
  701. }
  702. }
  703. if err == nil {
  704. errinfo.Message = "修改成功!"
  705. errinfo.Code = 0
  706. this.Data["json"] = &errinfo
  707. this.ServeJSON()
  708. } else {
  709. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  710. errinfo.Code = -1
  711. this.Data["json"] = &errinfo
  712. this.ServeJSON()
  713. }
  714. }