3
2

limsreportdetelectoxygen.go 28 KB

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