|
|
@@ -1,6 +1,15 @@
|
|
|
package lims
|
|
|
|
|
|
import (
|
|
|
+ "dashoo.cn/backend/api/business/limsreportalercarbon"
|
|
|
+ "dashoo.cn/backend/api/business/limsreportalerfhgas"
|
|
|
+ "dashoo.cn/backend/api/business/limsreportalerkrgas"
|
|
|
+ "dashoo.cn/backend/api/business/limsreportalertor"
|
|
|
+ "dashoo.cn/backend/api/business/limsreportanal1carbonredgas"
|
|
|
+ "dashoo.cn/backend/api/business/limsreportanal2carbonredgas"
|
|
|
+ "dashoo.cn/backend/api/business/limsreportben"
|
|
|
+ "dashoo.cn/backend/api/business/limsreportdetHSgas"
|
|
|
+ "dashoo.cn/backend/api/business/limsreportdetelectoxygen"
|
|
|
"dashoo.cn/backend/api/business/limsreportelecpumpwell"
|
|
|
"dashoo.cn/backend/api/business/limsreportheatingfurnace"
|
|
|
"dashoo.cn/backend/api/business/limsreportliquidtransportation"
|
|
|
@@ -1494,6 +1503,920 @@ func (this *LimsDataEntryController) exportdatatoexcel(fileurl string, dataentry
|
|
|
DocUrl = ""
|
|
|
err = errors.New("")
|
|
|
}
|
|
|
+ case limsdoctemplate.DAYT_REPORTALERTORBENDETECT_DETAIL:
|
|
|
+ // 苯气检测报警器检定记录
|
|
|
+ sessions := utils.DBE.NewSession()
|
|
|
+ svc := limsreportben.GetLimsReportBenSessionService(sessions)
|
|
|
+ var mainmodel limsreportalertor.LimsAlertorMainModel
|
|
|
+ var alertvaluelist []limsreportalertor.LimsReportAlertorValue
|
|
|
+ var cervaluelist []limsreportalertor.LimsReportAlertorCertificate
|
|
|
+ var alertdeviationlist []limsreportalertor.LimsReportAlertorDeviation
|
|
|
+ var alertresponsetimelist []limsreportalertor.LimsReportAlertorResponseTime
|
|
|
+ var alertrepeatlist []limsreportalertor.LimsReportAlertorRepeat
|
|
|
+ var alertshiftlist []limsreportalertor.LimsReportAlertorShift
|
|
|
+ where := " DataEntryId = " + strconv.Itoa(dataentrylist.Id)
|
|
|
+ mainmodel = svc.GetEntityByOrderbyWhereMain(this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsReportAlertorName, "a.Id", strconv.Itoa(dataentrylist.Id))
|
|
|
+ fmt.Println(mainmodel)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorCertificateName, where, "Id", &cervaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorValueName, where, "Id desc", &alertvaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorDeviationName, where, "Id desc", &alertdeviationlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorResponseTimeName, where, "Id desc", &alertresponsetimelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorRepeatName, where, "Id desc", &alertrepeatlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorShiftName, where, "Id desc", &alertshiftlist)
|
|
|
+ //session := utils.DBE.NewSession()
|
|
|
+ //var model limsreportheatingfurnace.LimsReportHeatingFurnace
|
|
|
+ //svc := limsreportheatingfurnace.GetLimsReportHeatingFurnaceSessionService(session)
|
|
|
+ //var tabledata []limsreportheatingfurnace.LimsHeatingFurnaceItems
|
|
|
+ //where1 := "DataEntryId=" + strconv.Itoa(dataentrylist.Id)
|
|
|
+ //has := svc.GetEntityByWhere(this.User.AccCode+LimsReportHeatingFurnaceName, where1, &model)
|
|
|
+ //wheretable := "MId=" + strconv.Itoa(model.Id)
|
|
|
+ //svc.GetEntitysByWhere(this.User.AccCode+LimsHeatingFurnaceItemsName, wheretable, &tabledata)
|
|
|
+ datamap := StructToMapDemo(mainmodel)
|
|
|
+ datamap["CheckDate"] = mainmodel.CheckDate.Format("2006年01月02日")
|
|
|
+ for i := 0; i< len(cervaluelist); i++{
|
|
|
+ datamap["CerNum"+ utils.ToStr(i)] = cervaluelist[i].CerNum
|
|
|
+ datamap["StandVal"+ utils.ToStr(i)] = cervaluelist[i].StandVal
|
|
|
+ datamap["StandVal"+ utils.ToStr(i)] = cervaluelist[i].StandVal
|
|
|
+ datamap["Uncertainty"+ utils.ToStr(i)] = cervaluelist[i].Uncertainty
|
|
|
+ datamap["EffectDate"+ utils.ToStr(i)] = cervaluelist[i].EffectDate.Format("2006年01月02日")
|
|
|
+ }
|
|
|
+ var alertvalinterfaceSlice []interface{} = make([]interface{}, len(alertvaluelist))
|
|
|
+ for i, d := range alertvaluelist {
|
|
|
+ alertvalinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["AlertVal"] = workflow.TableDetailData{
|
|
|
+ DataList: alertvalinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"AlertFunction","Value1","Value2","Value3","ActionValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var deviainterfaceSlice []interface{} = make([]interface{}, len(alertdeviationlist))
|
|
|
+ for i, d := range alertdeviationlist {
|
|
|
+ deviainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Deviation"] = workflow.TableDetailData{
|
|
|
+ DataList: deviainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 3,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","AvgValue","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var responinterfaceSlice []interface{} = make([]interface{}, len(alertresponsetimelist))
|
|
|
+ for i, d := range alertresponsetimelist {
|
|
|
+ responinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Response"] = workflow.TableDetailData{
|
|
|
+ DataList: responinterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var repeainterfaceSlice []interface{} = make([]interface{}, len(alertrepeatlist))
|
|
|
+ for i, d := range alertrepeatlist {
|
|
|
+ repeainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Repeat"] = workflow.TableDetailData{
|
|
|
+ DataList: repeainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Value4","Value5","Value6","AvgValue","RepeatValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 9,
|
|
|
+ }
|
|
|
+ var shiftinterfaceSlice []interface{} = make([]interface{}, len(alertshiftlist))
|
|
|
+ for i, d := range alertshiftlist {
|
|
|
+ shiftinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Shift"] = workflow.TableDetailData{
|
|
|
+ DataList: shiftinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","Value0","Value1","Value2","Value3","Value4","Value5","Value6","ZeroValue","ShowValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 10,
|
|
|
+ }
|
|
|
+ datamap["TableComment"] = []string{"AlertVal","Deviation","Response","Repeat","Shift"}
|
|
|
+
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
+ var template limsdoctemplate.LimsDocTemplate
|
|
|
+ wheretem := "Id=" + strconv.Itoa(entrustlist[0].DocId)
|
|
|
+ has := svc.GetEntityByWhere(this.User.AccCode+LimsDocTemplateName, wheretem, &template)
|
|
|
+ if (has) {
|
|
|
+ urlArr := strings.Split(template.FileURL, "|")
|
|
|
+ templateUrl := "http://" + urlArr[0]
|
|
|
+ fileName := urlArr[1]
|
|
|
+ DocUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
|
|
|
+ err = nil
|
|
|
+ } else {
|
|
|
+ DocUrl = ""
|
|
|
+ err = errors.New("")
|
|
|
+ }
|
|
|
+ case limsdoctemplate.DAYT_REPORTALERTORCARBONDETECT_DETAIL:
|
|
|
+ // 一氧化碳检测报警器检定记录
|
|
|
+ sessions := utils.DBE.NewSession()
|
|
|
+ svc := limsreportalercarbon.GetlimsReportAlerCarbonSessionService(sessions)
|
|
|
+ var mainmodel limsreportalertor.LimsAlertorMainModel
|
|
|
+ var cervaluelist []limsreportalertor.LimsReportAlertorCertificate
|
|
|
+ var alertdeviationlist []limsreportalertor.LimsReportAlertorDeviation
|
|
|
+ var alertresponsetimelist []limsreportalertor.LimsReportAlertorResponseTime
|
|
|
+ var alertrepeatlist []limsreportalertor.LimsReportAlertorRepeat
|
|
|
+ var alertshiftlist []limsreportalertor.LimsReportAlertorShift
|
|
|
+ where := " DataEntryId = " + strconv.Itoa(dataentrylist.Id)
|
|
|
+ mainmodel = svc.GetEntityByOrderbyWhereMain(this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsReportAlertorName, "a.Id", strconv.Itoa(dataentrylist.Id))
|
|
|
+ fmt.Println(mainmodel)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorCertificateName, where, "Id", &cervaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorDeviationName, where, "Id desc", &alertdeviationlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorResponseTimeName, where, "Id desc", &alertresponsetimelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorRepeatName, where, "Id desc", &alertrepeatlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorShiftName, where, "Id desc", &alertshiftlist)
|
|
|
+ //session := utils.DBE.NewSession()
|
|
|
+ //var model limsreportheatingfurnace.LimsReportHeatingFurnace
|
|
|
+ //svc := limsreportheatingfurnace.GetLimsReportHeatingFurnaceSessionService(session)
|
|
|
+ //var tabledata []limsreportheatingfurnace.LimsHeatingFurnaceItems
|
|
|
+ //where1 := "DataEntryId=" + strconv.Itoa(dataentrylist.Id)
|
|
|
+ //has := svc.GetEntityByWhere(this.User.AccCode+LimsReportHeatingFurnaceName, where1, &model)
|
|
|
+ //wheretable := "MId=" + strconv.Itoa(model.Id)
|
|
|
+ //svc.GetEntitysByWhere(this.User.AccCode+LimsHeatingFurnaceItemsName, wheretable, &tabledata)
|
|
|
+ datamap := StructToMapDemo(mainmodel)
|
|
|
+ datamap["CheckDate"] = mainmodel.CheckDate.Format("2006年01月02日")
|
|
|
+ for i := 0; i< len(cervaluelist); i++{
|
|
|
+ datamap["CerNum"+ utils.ToStr(i)] = cervaluelist[i].CerNum
|
|
|
+ datamap["StandardUnit"+ utils.ToStr(i)] = cervaluelist[i].StandardUnit
|
|
|
+ datamap["StandVal"+ utils.ToStr(i)] = cervaluelist[i].StandVal
|
|
|
+ datamap["Uncertainty"+ utils.ToStr(i)] = cervaluelist[i].Uncertainty
|
|
|
+ datamap["EffectDate"+ utils.ToStr(i)] = cervaluelist[i].EffectDate
|
|
|
+ }
|
|
|
+ var deviainterfaceSlice []interface{} = make([]interface{}, len(alertdeviationlist))
|
|
|
+ for i, d := range alertdeviationlist {
|
|
|
+ deviainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Deviation"] = workflow.TableDetailData{
|
|
|
+ DataList: deviainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 3,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","AvgValue","DeviationAbs","DeviationRelative"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 7,
|
|
|
+ }
|
|
|
+ var responinterfaceSlice []interface{} = make([]interface{}, len(alertresponsetimelist))
|
|
|
+ for i, d := range alertresponsetimelist {
|
|
|
+ responinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Response"] = workflow.TableDetailData{
|
|
|
+ DataList: responinterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var repeainterfaceSlice []interface{} = make([]interface{}, len(alertrepeatlist))
|
|
|
+ for i, d := range alertrepeatlist {
|
|
|
+ repeainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Repeat"] = workflow.TableDetailData{
|
|
|
+ DataList: repeainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Value4","Value5","Value6","AvgValue","RepeatValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 9,
|
|
|
+ }
|
|
|
+ var shiftinterfaceSlice []interface{} = make([]interface{}, len(alertshiftlist))
|
|
|
+ for i, d := range alertshiftlist {
|
|
|
+ shiftinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Shift"] = workflow.TableDetailData{
|
|
|
+ DataList: shiftinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","value0","Value1","Value2","Value3","Value4","ZeroValue","ShowValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 8,
|
|
|
+ }
|
|
|
+ datamap["TableComment"] = []string{"Deviation","Response","Repeat","Shift"}
|
|
|
+
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
+ var template limsdoctemplate.LimsDocTemplate
|
|
|
+ wheretem := "Id=" + strconv.Itoa(entrustlist[0].DocId)
|
|
|
+ has := svc.GetEntityByWhere(this.User.AccCode+LimsDocTemplateName, wheretem, &template)
|
|
|
+ if (has) {
|
|
|
+ urlArr := strings.Split(template.FileURL, "|")
|
|
|
+ templateUrl := "http://" + urlArr[0]
|
|
|
+ fileName := urlArr[1]
|
|
|
+ DocUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
|
|
|
+ err = nil
|
|
|
+ } else {
|
|
|
+ DocUrl = ""
|
|
|
+ err = errors.New("")
|
|
|
+ }
|
|
|
+ case limsdoctemplate.DAYT_REPORTALERTORFHGASDETECT_DETAIL:
|
|
|
+ // 复合气体检测报警器检定记录
|
|
|
+ sessions := utils.DBE.NewSession()
|
|
|
+ svc := limsreportalerfhgas.GetLimsReportAlerFHSessionService(sessions)
|
|
|
+ var mainmodel limsreportalertor.LimsAlertorMainModel
|
|
|
+ var alertvaluelist []limsreportalertor.LimsReportAlertorValue
|
|
|
+ var cervaluelist []limsreportalertor.LimsReportAlertorCertificate
|
|
|
+ var alertdeviationlist []limsreportalertor.LimsReportAlertorDeviation
|
|
|
+ var alertresponsetimelist []limsreportalertor.LimsReportAlertorResponseTime
|
|
|
+ var alertrepeatlist []limsreportalertor.LimsReportAlertorRepeat
|
|
|
+ var alertshiftlist []limsreportalertor.LimsReportAlertorShift
|
|
|
+ where := " DataEntryId = " + strconv.Itoa(dataentrylist.Id)
|
|
|
+ mainmodel = svc.GetEntityByOrderbyWhereMain(this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsReportAlertorName, "a.Id", strconv.Itoa(dataentrylist.Id))
|
|
|
+ fmt.Println(mainmodel)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorCertificateName, where, "Id", &cervaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorValueName, where, "Id desc", &alertvaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorDeviationName, where, "Id desc", &alertdeviationlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorResponseTimeName, where, "Id desc", &alertresponsetimelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorRepeatName, where, "Id desc", &alertrepeatlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorShiftName, where, "Id desc", &alertshiftlist)
|
|
|
+ //session := utils.DBE.NewSession()
|
|
|
+ //var model limsreportheatingfurnace.LimsReportHeatingFurnace
|
|
|
+ //svc := limsreportheatingfurnace.GetLimsReportHeatingFurnaceSessionService(session)
|
|
|
+ //var tabledata []limsreportheatingfurnace.LimsHeatingFurnaceItems
|
|
|
+ //where1 := "DataEntryId=" + strconv.Itoa(dataentrylist.Id)
|
|
|
+ //has := svc.GetEntityByWhere(this.User.AccCode+LimsReportHeatingFurnaceName, where1, &model)
|
|
|
+ //wheretable := "MId=" + strconv.Itoa(model.Id)
|
|
|
+ //svc.GetEntitysByWhere(this.User.AccCode+LimsHeatingFurnaceItemsName, wheretable, &tabledata)
|
|
|
+ datamap := StructToMapDemo(mainmodel)
|
|
|
+ datamap["CheckDate"] = mainmodel.CheckDate.Format("2006年01月02日")
|
|
|
+ for i := 0; i< len(cervaluelist); i++{
|
|
|
+ datamap["CerNum"+ utils.ToStr(i)] = cervaluelist[i].CerNum
|
|
|
+ datamap["StandardUnit"+ utils.ToStr(i)] = cervaluelist[i].StandardUnit
|
|
|
+ datamap["StandVal"+ utils.ToStr(i)] = cervaluelist[i].StandVal
|
|
|
+ datamap["Uncertainty"+ utils.ToStr(i)] = cervaluelist[i].Uncertainty
|
|
|
+ datamap["EffectDate"+ utils.ToStr(i)] = cervaluelist[i].EffectDate
|
|
|
+ }
|
|
|
+ var alertvalinterfaceSlice []interface{} = make([]interface{}, len(alertvaluelist))
|
|
|
+ for i, d := range alertvaluelist {
|
|
|
+ alertvalinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["AlertVal"] = workflow.TableDetailData{
|
|
|
+ DataList: alertvalinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"AlertFunction","Value1","Value2","Value3","ActionValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var deviainterfaceSlice []interface{} = make([]interface{}, len(alertdeviationlist))
|
|
|
+ for i, d := range alertdeviationlist {
|
|
|
+ deviainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Deviation"] = workflow.TableDetailData{
|
|
|
+ DataList: deviainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 3,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","AvgValue","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var responinterfaceSlice []interface{} = make([]interface{}, len(alertresponsetimelist))
|
|
|
+ for i, d := range alertresponsetimelist {
|
|
|
+ responinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Response"] = workflow.TableDetailData{
|
|
|
+ DataList: responinterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var repeainterfaceSlice []interface{} = make([]interface{}, len(alertrepeatlist))
|
|
|
+ for i, d := range alertrepeatlist {
|
|
|
+ repeainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Repeat"] = workflow.TableDetailData{
|
|
|
+ DataList: repeainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Value4","Value5","Value6","AvgValue","RepeatValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 9,
|
|
|
+ }
|
|
|
+ var shiftinterfaceSlice []interface{} = make([]interface{}, len(alertshiftlist))
|
|
|
+ for i, d := range alertshiftlist {
|
|
|
+ shiftinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Shift"] = workflow.TableDetailData{
|
|
|
+ DataList: shiftinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","value0","Value1","Value2","Value3","Value4","Value5","Value6","ZeroValue","ShowValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 10,
|
|
|
+ }
|
|
|
+ datamap["TableComment"] = []string{"AlertVal","Deviation","Response","Repeat","Shift"}
|
|
|
+
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
+ var template limsdoctemplate.LimsDocTemplate
|
|
|
+ wheretem := "Id=" + strconv.Itoa(entrustlist[0].DocId)
|
|
|
+ has := svc.GetEntityByWhere(this.User.AccCode+LimsDocTemplateName, wheretem, &template)
|
|
|
+ if (has) {
|
|
|
+ urlArr := strings.Split(template.FileURL, "|")
|
|
|
+ templateUrl := "http://" + urlArr[0]
|
|
|
+ fileName := urlArr[1]
|
|
|
+ DocUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
|
|
|
+ err = nil
|
|
|
+ } else {
|
|
|
+ DocUrl = ""
|
|
|
+ err = errors.New("")
|
|
|
+ }
|
|
|
+ case limsdoctemplate.DAYT_REPORTALERTORKRGASDETECT_DETAIL:
|
|
|
+ // 可燃气体检测报警器检定记录
|
|
|
+ sessions := utils.DBE.NewSession()
|
|
|
+ svc := limsreportalerkrgas.GetLimsReportAlerKRSessionService(sessions)
|
|
|
+ var mainmodel limsreportalertor.LimsAlertorMainModel
|
|
|
+ var alertvaluelist []limsreportalertor.LimsReportAlertorValue
|
|
|
+ var cervaluelist []limsreportalertor.LimsReportAlertorCertificate
|
|
|
+ var alertdeviationlist []limsreportalertor.LimsReportAlertorDeviation
|
|
|
+ var alertresponsetimelist []limsreportalertor.LimsReportAlertorResponseTime
|
|
|
+ var alertrepeatlist []limsreportalertor.LimsReportAlertorRepeat
|
|
|
+ var alertshiftlist []limsreportalertor.LimsReportAlertorShift
|
|
|
+ where := " DataEntryId = " + strconv.Itoa(dataentrylist.Id)
|
|
|
+ mainmodel = svc.GetEntityByOrderbyWhereMain(this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsReportAlertorName, "a.Id", strconv.Itoa(dataentrylist.Id))
|
|
|
+ fmt.Println(mainmodel)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorCertificateName, where, "Id", &cervaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorValueName, where, "Id desc", &alertvaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorDeviationName, where, "Id desc", &alertdeviationlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorResponseTimeName, where, "Id desc", &alertresponsetimelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorRepeatName, where, "Id desc", &alertrepeatlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorShiftName, where, "Id desc", &alertshiftlist)
|
|
|
+ //session := utils.DBE.NewSession()
|
|
|
+ //var model limsreportheatingfurnace.LimsReportHeatingFurnace
|
|
|
+ //svc := limsreportheatingfurnace.GetLimsReportHeatingFurnaceSessionService(session)
|
|
|
+ //var tabledata []limsreportheatingfurnace.LimsHeatingFurnaceItems
|
|
|
+ //where1 := "DataEntryId=" + strconv.Itoa(dataentrylist.Id)
|
|
|
+ //has := svc.GetEntityByWhere(this.User.AccCode+LimsReportHeatingFurnaceName, where1, &model)
|
|
|
+ //wheretable := "MId=" + strconv.Itoa(model.Id)
|
|
|
+ //svc.GetEntitysByWhere(this.User.AccCode+LimsHeatingFurnaceItemsName, wheretable, &tabledata)
|
|
|
+ datamap := StructToMapDemo(mainmodel)
|
|
|
+ datamap["CheckDate"] = mainmodel.CheckDate.Format("2006年01月02日")
|
|
|
+ for i := 0; i< len(cervaluelist); i++{
|
|
|
+ datamap["CerNum"+ utils.ToStr(i)] = cervaluelist[i].CerNum
|
|
|
+ datamap["StandardUnit"+ utils.ToStr(i)] = cervaluelist[i].StandardUnit
|
|
|
+ datamap["StandVal"+ utils.ToStr(i)] = cervaluelist[i].StandVal
|
|
|
+ datamap["Uncertainty"+ utils.ToStr(i)] = cervaluelist[i].Uncertainty
|
|
|
+ datamap["EffectDate"+ utils.ToStr(i)] = cervaluelist[i].EffectDate
|
|
|
+ }
|
|
|
+ var alertvalinterfaceSlice []interface{} = make([]interface{}, len(alertvaluelist))
|
|
|
+ for i, d := range alertvaluelist {
|
|
|
+ alertvalinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["AlertVal"] = workflow.TableDetailData{
|
|
|
+ DataList: alertvalinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"AlertFunction","Value1","Value2","Value3","ActionValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var deviainterfaceSlice []interface{} = make([]interface{}, len(alertdeviationlist))
|
|
|
+ for i, d := range alertdeviationlist {
|
|
|
+ deviainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Deviation"] = workflow.TableDetailData{
|
|
|
+ DataList: deviainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 3,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","AvgValue","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var responinterfaceSlice []interface{} = make([]interface{}, len(alertresponsetimelist))
|
|
|
+ for i, d := range alertresponsetimelist {
|
|
|
+ responinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Response"] = workflow.TableDetailData{
|
|
|
+ DataList: responinterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var repeainterfaceSlice []interface{} = make([]interface{}, len(alertrepeatlist))
|
|
|
+ for i, d := range alertrepeatlist {
|
|
|
+ repeainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Repeat"] = workflow.TableDetailData{
|
|
|
+ DataList: repeainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Value4","Value5","Value6","AvgValue","RepeatValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 9,
|
|
|
+ }
|
|
|
+ var shiftinterfaceSlice []interface{} = make([]interface{}, len(alertshiftlist))
|
|
|
+ for i, d := range alertshiftlist {
|
|
|
+ shiftinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Shift"] = workflow.TableDetailData{
|
|
|
+ DataList: shiftinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","value0","Value1","Value2","Value3","Value4","Value5","Value6","ZeroValue","ShowValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 10,
|
|
|
+ }
|
|
|
+ datamap["TableComment"] = []string{"AlertVal","Deviation","Response","Repeat","Shift"}
|
|
|
+
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
+ var template limsdoctemplate.LimsDocTemplate
|
|
|
+ wheretem := "Id=" + strconv.Itoa(entrustlist[0].DocId)
|
|
|
+ has := svc.GetEntityByWhere(this.User.AccCode+LimsDocTemplateName, wheretem, &template)
|
|
|
+ if (has) {
|
|
|
+ urlArr := strings.Split(template.FileURL, "|")
|
|
|
+ templateUrl := "http://" + urlArr[0]
|
|
|
+ fileName := urlArr[1]
|
|
|
+ DocUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
|
|
|
+ err = nil
|
|
|
+ } else {
|
|
|
+ DocUrl = ""
|
|
|
+ err = errors.New("")
|
|
|
+ }
|
|
|
+ case limsdoctemplate.DAYT_REPORTANALYZER1CARBONREDGAS_DETAIL:
|
|
|
+ // 一氧化碳红外气体分析器检定记录
|
|
|
+ sessions := utils.DBE.NewSession()
|
|
|
+ svc := limsreportanal1carbonredgas.GetLimsReportAlCarbon1SessionService(sessions)
|
|
|
+ var mainmodel limsreportalertor.LimsAlertorMainModel
|
|
|
+ var alertotherlist []limsreportalertor.LimsReportAlertorOther
|
|
|
+ var cervaluelist []limsreportalertor.LimsReportAlertorCertificate
|
|
|
+ var alertdeviationlist []limsreportalertor.LimsReportAlertorDeviation
|
|
|
+ var alertresponsetimelist []limsreportalertor.LimsReportAlertorResponseTime
|
|
|
+ var alertrepeatlist []limsreportalertor.LimsReportAlertorRepeat
|
|
|
+ var alertshiftlist []limsreportalertor.LimsReportAlertorShift
|
|
|
+ where := " DataEntryId = " + strconv.Itoa(dataentrylist.Id)
|
|
|
+ mainmodel = svc.GetEntityByOrderbyWhereMain(this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsReportAlertorName, "a.Id", strconv.Itoa(dataentrylist.Id))
|
|
|
+ fmt.Println(mainmodel)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorCertificateName, where, "Id", &cervaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorOtherName, where, "Id", &alertotherlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorDeviationName, where, "Id desc", &alertdeviationlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorResponseTimeName, where, "Id desc", &alertresponsetimelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorRepeatName, where, "Id desc", &alertrepeatlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorShiftName, where, "Id desc", &alertshiftlist)
|
|
|
+ //session := utils.DBE.NewSession()
|
|
|
+ //var model limsreportheatingfurnace.LimsReportHeatingFurnace
|
|
|
+ //svc := limsreportheatingfurnace.GetLimsReportHeatingFurnaceSessionService(session)
|
|
|
+ //var tabledata []limsreportheatingfurnace.LimsHeatingFurnaceItems
|
|
|
+ //where1 := "DataEntryId=" + strconv.Itoa(dataentrylist.Id)
|
|
|
+ //has := svc.GetEntityByWhere(this.User.AccCode+LimsReportHeatingFurnaceName, where1, &model)
|
|
|
+ //wheretable := "MId=" + strconv.Itoa(model.Id)
|
|
|
+ //svc.GetEntitysByWhere(this.User.AccCode+LimsHeatingFurnaceItemsName, wheretable, &tabledata)
|
|
|
+ datamap := StructToMapDemo(mainmodel)
|
|
|
+ datamap["CheckDate"] = mainmodel.CheckDate.Format("2006年01月02日")
|
|
|
+ for i := 0; i< len(cervaluelist); i++{
|
|
|
+ datamap["CerNum"+ utils.ToStr(i)] = cervaluelist[i].CerNum
|
|
|
+ datamap["StandardUnit"+ utils.ToStr(i)] = cervaluelist[i].StandardUnit
|
|
|
+ datamap["StandVal"+ utils.ToStr(i)] = cervaluelist[i].StandVal
|
|
|
+ datamap["Uncertainty"+ utils.ToStr(i)] = cervaluelist[i].Uncertainty
|
|
|
+ datamap["EffectDate"+ utils.ToStr(i)] = cervaluelist[i].EffectDate
|
|
|
+ }
|
|
|
+ var alertotherinterfaceSlice []interface{} = make([]interface{}, len(alertotherlist))
|
|
|
+ for i, d := range alertotherlist {
|
|
|
+ alertotherinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Other"] = workflow.TableDetailData{
|
|
|
+ DataList: alertotherinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","Value0","Value1","Value2","Value3","OtherValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var deviainterfaceSlice []interface{} = make([]interface{}, len(alertdeviationlist))
|
|
|
+ for i, d := range alertdeviationlist {
|
|
|
+ deviainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Deviation"] = workflow.TableDetailData{
|
|
|
+ DataList: deviainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 3,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","AvgValue","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var responinterfaceSlice []interface{} = make([]interface{}, len(alertresponsetimelist))
|
|
|
+ for i, d := range alertresponsetimelist {
|
|
|
+ responinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Response"] = workflow.TableDetailData{
|
|
|
+ DataList: responinterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var repeainterfaceSlice []interface{} = make([]interface{}, len(alertrepeatlist))
|
|
|
+ for i, d := range alertrepeatlist {
|
|
|
+ repeainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Repeat"] = workflow.TableDetailData{
|
|
|
+ DataList: repeainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Value4","Value5","Value6","AvgValue","RepeatValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 9,
|
|
|
+ }
|
|
|
+ var shiftinterfaceSlice []interface{} = make([]interface{}, len(alertshiftlist))
|
|
|
+ for i, d := range alertshiftlist {
|
|
|
+ shiftinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Shift"] = workflow.TableDetailData{
|
|
|
+ DataList: shiftinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","value0","Value1","Value2","Value3","Value4","ZeroValue","ShowValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 8,
|
|
|
+ }
|
|
|
+ datamap["TableComment"] = []string{"Other","Deviation","Response","Repeat","Shift"}
|
|
|
+
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
+ var template limsdoctemplate.LimsDocTemplate
|
|
|
+ wheretem := "Id=" + strconv.Itoa(entrustlist[0].DocId)
|
|
|
+ has := svc.GetEntityByWhere(this.User.AccCode+LimsDocTemplateName, wheretem, &template)
|
|
|
+ if (has) {
|
|
|
+ urlArr := strings.Split(template.FileURL, "|")
|
|
|
+ templateUrl := "http://" + urlArr[0]
|
|
|
+ fileName := urlArr[1]
|
|
|
+ DocUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
|
|
|
+ err = nil
|
|
|
+ } else {
|
|
|
+ DocUrl = ""
|
|
|
+ err = errors.New("")
|
|
|
+ }
|
|
|
+ case limsdoctemplate.DAYT_REPORTANALYZER2CARBONREDGAS_DETAIL:
|
|
|
+ // 二氧化碳红外气体分析器检定记录
|
|
|
+ sessions := utils.DBE.NewSession()
|
|
|
+ svc := limsreportanal2carbonredgas.GetLimsReportAlCarbon2SessionService(sessions)
|
|
|
+ var mainmodel limsreportalertor.LimsAlertorMainModel
|
|
|
+ var alertotherlist []limsreportalertor.LimsReportAlertorOther
|
|
|
+ var cervaluelist []limsreportalertor.LimsReportAlertorCertificate
|
|
|
+ var alertdeviationlist []limsreportalertor.LimsReportAlertorDeviation
|
|
|
+ var alertresponsetimelist []limsreportalertor.LimsReportAlertorResponseTime
|
|
|
+ var alertrepeatlist []limsreportalertor.LimsReportAlertorRepeat
|
|
|
+ var alertshiftlist []limsreportalertor.LimsReportAlertorShift
|
|
|
+ where := " DataEntryId = " + strconv.Itoa(dataentrylist.Id)
|
|
|
+ mainmodel = svc.GetEntityByOrderbyWhereMain(this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsReportAlertorName, "a.Id", strconv.Itoa(dataentrylist.Id))
|
|
|
+ fmt.Println(mainmodel)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorCertificateName, where, "Id", &cervaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorOtherName, where, "Id", &alertotherlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorDeviationName, where, "Id desc", &alertdeviationlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorResponseTimeName, where, "Id desc", &alertresponsetimelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorRepeatName, where, "Id desc", &alertrepeatlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorShiftName, where, "Id desc", &alertshiftlist)
|
|
|
+ //session := utils.DBE.NewSession()
|
|
|
+ //var model limsreportheatingfurnace.LimsReportHeatingFurnace
|
|
|
+ //svc := limsreportheatingfurnace.GetLimsReportHeatingFurnaceSessionService(session)
|
|
|
+ //var tabledata []limsreportheatingfurnace.LimsHeatingFurnaceItems
|
|
|
+ //where1 := "DataEntryId=" + strconv.Itoa(dataentrylist.Id)
|
|
|
+ //has := svc.GetEntityByWhere(this.User.AccCode+LimsReportHeatingFurnaceName, where1, &model)
|
|
|
+ //wheretable := "MId=" + strconv.Itoa(model.Id)
|
|
|
+ //svc.GetEntitysByWhere(this.User.AccCode+LimsHeatingFurnaceItemsName, wheretable, &tabledata)
|
|
|
+ datamap := StructToMapDemo(mainmodel)
|
|
|
+ datamap["CheckDate"] = mainmodel.CheckDate.Format("2006年01月02日")
|
|
|
+ for i := 0; i< len(cervaluelist); i++{
|
|
|
+ datamap["CerNum"+ utils.ToStr(i)] = cervaluelist[i].CerNum
|
|
|
+ datamap["StandardUnit"+ utils.ToStr(i)] = cervaluelist[i].StandardUnit
|
|
|
+ datamap["StandVal"+ utils.ToStr(i)] = cervaluelist[i].StandVal
|
|
|
+ datamap["Uncertainty"+ utils.ToStr(i)] = cervaluelist[i].Uncertainty
|
|
|
+ datamap["EffectDate"+ utils.ToStr(i)] = cervaluelist[i].EffectDate
|
|
|
+ }
|
|
|
+ var alertotherinterfaceSlice []interface{} = make([]interface{}, len(alertotherlist))
|
|
|
+ for i, d := range alertotherlist {
|
|
|
+ alertotherinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Other"] = workflow.TableDetailData{
|
|
|
+ DataList: alertotherinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","Value0","Value1","Value2","Value3","OtherValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var deviainterfaceSlice []interface{} = make([]interface{}, len(alertdeviationlist))
|
|
|
+ for i, d := range alertdeviationlist {
|
|
|
+ deviainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Deviation"] = workflow.TableDetailData{
|
|
|
+ DataList: deviainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 3,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","AvgValue","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var responinterfaceSlice []interface{} = make([]interface{}, len(alertresponsetimelist))
|
|
|
+ for i, d := range alertresponsetimelist {
|
|
|
+ responinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Response"] = workflow.TableDetailData{
|
|
|
+ DataList: responinterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var repeainterfaceSlice []interface{} = make([]interface{}, len(alertrepeatlist))
|
|
|
+ for i, d := range alertrepeatlist {
|
|
|
+ repeainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Repeat"] = workflow.TableDetailData{
|
|
|
+ DataList: repeainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Value4","Value5","Value6","AvgValue","RepeatValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 9,
|
|
|
+ }
|
|
|
+ var shiftinterfaceSlice []interface{} = make([]interface{}, len(alertshiftlist))
|
|
|
+ for i, d := range alertshiftlist {
|
|
|
+ shiftinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Shift"] = workflow.TableDetailData{
|
|
|
+ DataList: shiftinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","value0","Value1","Value2","Value3","Value4","ZeroValue","ShowValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 8,
|
|
|
+ }
|
|
|
+ datamap["TableComment"] = []string{"Other","Deviation","Response","Repeat","Shift"}
|
|
|
+
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
+ var template limsdoctemplate.LimsDocTemplate
|
|
|
+ wheretem := "Id=" + strconv.Itoa(entrustlist[0].DocId)
|
|
|
+ has := svc.GetEntityByWhere(this.User.AccCode+LimsDocTemplateName, wheretem, &template)
|
|
|
+ if (has) {
|
|
|
+ urlArr := strings.Split(template.FileURL, "|")
|
|
|
+ templateUrl := "http://" + urlArr[0]
|
|
|
+ fileName := urlArr[1]
|
|
|
+ DocUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
|
|
|
+ err = nil
|
|
|
+ } else {
|
|
|
+ DocUrl = ""
|
|
|
+ err = errors.New("")
|
|
|
+ }
|
|
|
+ case limsdoctemplate.DAYT_REPORTDETECTORELECTOXYGEN_DETAIL:
|
|
|
+ // 电化学氧测定仪检定记录
|
|
|
+ sessions := utils.DBE.NewSession()
|
|
|
+ svc := limsreportdetelectoxygen.GetLimsReportOxygenSessionService(sessions)
|
|
|
+ var mainmodel limsreportalertor.LimsAlertorMainModel
|
|
|
+ var cervaluelist []limsreportalertor.LimsReportAlertorCertificate
|
|
|
+ var alertdeviationlist []limsreportalertor.LimsReportAlertorDeviation
|
|
|
+ var alertresponsetimelist []limsreportalertor.LimsReportAlertorResponseTime
|
|
|
+ var alertrepeatlist []limsreportalertor.LimsReportAlertorRepeat
|
|
|
+ var alertshiftlist []limsreportalertor.LimsReportAlertorShift
|
|
|
+ where := " DataEntryId = " + strconv.Itoa(dataentrylist.Id)
|
|
|
+ mainmodel = svc.GetEntityByOrderbyWhereMain(this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsReportAlertorName, "a.Id", strconv.Itoa(dataentrylist.Id))
|
|
|
+ fmt.Println(mainmodel)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorCertificateName, where, "Id", &cervaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorDeviationName, where, "Id desc", &alertdeviationlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorResponseTimeName, where, "Id desc", &alertresponsetimelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorRepeatName, where, "Id desc", &alertrepeatlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorShiftName, where, "Id desc", &alertshiftlist)
|
|
|
+ //session := utils.DBE.NewSession()
|
|
|
+ //var model limsreportheatingfurnace.LimsReportHeatingFurnace
|
|
|
+ //svc := limsreportheatingfurnace.GetLimsReportHeatingFurnaceSessionService(session)
|
|
|
+ //var tabledata []limsreportheatingfurnace.LimsHeatingFurnaceItems
|
|
|
+ //where1 := "DataEntryId=" + strconv.Itoa(dataentrylist.Id)
|
|
|
+ //has := svc.GetEntityByWhere(this.User.AccCode+LimsReportHeatingFurnaceName, where1, &model)
|
|
|
+ //wheretable := "MId=" + strconv.Itoa(model.Id)
|
|
|
+ //svc.GetEntitysByWhere(this.User.AccCode+LimsHeatingFurnaceItemsName, wheretable, &tabledata)
|
|
|
+ datamap := StructToMapDemo(mainmodel)
|
|
|
+ datamap["CheckDate"] = mainmodel.CheckDate.Format("2006年01月02日")
|
|
|
+ for i := 0; i< len(cervaluelist); i++{
|
|
|
+ datamap["CerNum"+ utils.ToStr(i)] = cervaluelist[i].CerNum
|
|
|
+ datamap["StandardUnit"+ utils.ToStr(i)] = cervaluelist[i].StandardUnit
|
|
|
+ datamap["StandVal"+ utils.ToStr(i)] = cervaluelist[i].StandVal
|
|
|
+ datamap["Uncertainty"+ utils.ToStr(i)] = cervaluelist[i].Uncertainty
|
|
|
+ datamap["EffectDate"+ utils.ToStr(i)] = cervaluelist[i].EffectDate
|
|
|
+ }
|
|
|
+ var deviainterfaceSlice []interface{} = make([]interface{}, len(alertdeviationlist))
|
|
|
+ for i, d := range alertdeviationlist {
|
|
|
+ deviainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Deviation"] = workflow.TableDetailData{
|
|
|
+ DataList: deviainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 3,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","AvgValue","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var responinterfaceSlice []interface{} = make([]interface{}, len(alertresponsetimelist))
|
|
|
+ for i, d := range alertresponsetimelist {
|
|
|
+ responinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Response"] = workflow.TableDetailData{
|
|
|
+ DataList: responinterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var repeainterfaceSlice []interface{} = make([]interface{}, len(alertrepeatlist))
|
|
|
+ for i, d := range alertrepeatlist {
|
|
|
+ repeainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Repeat"] = workflow.TableDetailData{
|
|
|
+ DataList: repeainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Value4","Value5","Value6","AvgValue","RepeatValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 9,
|
|
|
+ }
|
|
|
+ var shiftinterfaceSlice []interface{} = make([]interface{}, len(alertshiftlist))
|
|
|
+ for i, d := range alertshiftlist {
|
|
|
+ shiftinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Shift"] = workflow.TableDetailData{
|
|
|
+ DataList: shiftinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","value0","Value1","Value2","Value3","Value4","ZeroValue","ShowValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 8,
|
|
|
+ }
|
|
|
+ datamap["TableComment"] = []string{"Deviation","Response","Repeat","Shift"}
|
|
|
+
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
+ var template limsdoctemplate.LimsDocTemplate
|
|
|
+ wheretem := "Id=" + strconv.Itoa(entrustlist[0].DocId)
|
|
|
+ has := svc.GetEntityByWhere(this.User.AccCode+LimsDocTemplateName, wheretem, &template)
|
|
|
+ if (has) {
|
|
|
+ urlArr := strings.Split(template.FileURL, "|")
|
|
|
+ templateUrl := "http://" + urlArr[0]
|
|
|
+ fileName := urlArr[1]
|
|
|
+ DocUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
|
|
|
+ err = nil
|
|
|
+ } else {
|
|
|
+ DocUrl = ""
|
|
|
+ err = errors.New("")
|
|
|
+ }
|
|
|
+ case limsdoctemplate.DAYT_REPORTDETECTORHSGAS_DETAIL:
|
|
|
+ // 硫化氢气体检测仪检定记录
|
|
|
+ sessions := utils.DBE.NewSession()
|
|
|
+ svc := limsreportdetHSgas.GetLimsReportDetHsSessionService(sessions)
|
|
|
+ var mainmodel limsreportalertor.LimsAlertorMainModel
|
|
|
+ var alertvaluelist []limsreportalertor.LimsReportAlertorValue
|
|
|
+ var cervaluelist []limsreportalertor.LimsReportAlertorCertificate
|
|
|
+ var alertdeviationlist []limsreportalertor.LimsReportAlertorDeviation
|
|
|
+ var alertresponsetimelist []limsreportalertor.LimsReportAlertorResponseTime
|
|
|
+ var alertrepeatlist []limsreportalertor.LimsReportAlertorRepeat
|
|
|
+ var alertshiftlist []limsreportalertor.LimsReportAlertorShift
|
|
|
+ where := " DataEntryId = " + strconv.Itoa(dataentrylist.Id)
|
|
|
+ mainmodel = svc.GetEntityByOrderbyWhereMain(this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsReportAlertorName, "a.Id", strconv.Itoa(dataentrylist.Id))
|
|
|
+ fmt.Println(mainmodel)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorCertificateName, where, "Id", &cervaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorValueName, where, "Id desc", &alertvaluelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorDeviationName, where, "Id desc", &alertdeviationlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorResponseTimeName, where, "Id desc", &alertresponsetimelist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorRepeatName, where, "Id desc", &alertrepeatlist)
|
|
|
+ svc.GetEntitysByOrderbyWhere(this.User.AccCode+LimsReportAlertorShiftName, where, "Id desc", &alertshiftlist)
|
|
|
+ //session := utils.DBE.NewSession()
|
|
|
+ //var model limsreportheatingfurnace.LimsReportHeatingFurnace
|
|
|
+ //svc := limsreportheatingfurnace.GetLimsReportHeatingFurnaceSessionService(session)
|
|
|
+ //var tabledata []limsreportheatingfurnace.LimsHeatingFurnaceItems
|
|
|
+ //where1 := "DataEntryId=" + strconv.Itoa(dataentrylist.Id)
|
|
|
+ //has := svc.GetEntityByWhere(this.User.AccCode+LimsReportHeatingFurnaceName, where1, &model)
|
|
|
+ //wheretable := "MId=" + strconv.Itoa(model.Id)
|
|
|
+ //svc.GetEntitysByWhere(this.User.AccCode+LimsHeatingFurnaceItemsName, wheretable, &tabledata)
|
|
|
+ datamap := StructToMapDemo(mainmodel)
|
|
|
+ datamap["CheckDate"] = mainmodel.CheckDate.Format("2006年01月02日")
|
|
|
+ for i := 0; i< len(cervaluelist); i++{
|
|
|
+ datamap["CerNum"+ utils.ToStr(i)] = cervaluelist[i].CerNum
|
|
|
+ datamap["StandardUnit"+ utils.ToStr(i)] = cervaluelist[i].StandardUnit
|
|
|
+ datamap["StandVal"+ utils.ToStr(i)] = cervaluelist[i].StandVal
|
|
|
+ datamap["Uncertainty"+ utils.ToStr(i)] = cervaluelist[i].Uncertainty
|
|
|
+ datamap["EffectDate"+ utils.ToStr(i)] = cervaluelist[i].EffectDate
|
|
|
+ }
|
|
|
+ var alertvalinterfaceSlice []interface{} = make([]interface{}, len(alertvaluelist))
|
|
|
+ for i, d := range alertvaluelist {
|
|
|
+ alertvalinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["AlertVal"] = workflow.TableDetailData{
|
|
|
+ DataList: alertvalinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"SureValue","Value1","Value2","Value3","MaxValue","AllowValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var deviainterfaceSlice []interface{} = make([]interface{}, len(alertdeviationlist))
|
|
|
+ for i, d := range alertdeviationlist {
|
|
|
+ deviainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Deviation"] = workflow.TableDetailData{
|
|
|
+ DataList: deviainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 3,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","AvgValue","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 6,
|
|
|
+ }
|
|
|
+ var responinterfaceSlice []interface{} = make([]interface{}, len(alertresponsetimelist))
|
|
|
+ for i, d := range alertresponsetimelist {
|
|
|
+ responinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Response"] = workflow.TableDetailData{
|
|
|
+ DataList: responinterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Deviation"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 5,
|
|
|
+ }
|
|
|
+ var repeainterfaceSlice []interface{} = make([]interface{}, len(alertrepeatlist))
|
|
|
+ for i, d := range alertrepeatlist {
|
|
|
+ repeainterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Repeat"] = workflow.TableDetailData{
|
|
|
+ DataList: repeainterfaceSlice,
|
|
|
+ StartRow: 2,
|
|
|
+ NeedDelRow: 1,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"GasValue","Value1","Value2","Value3","Value4","Value5","Value6","AvgValue","RepeatValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 9,
|
|
|
+ }
|
|
|
+ var shiftinterfaceSlice []interface{} = make([]interface{}, len(alertshiftlist))
|
|
|
+ for i, d := range alertshiftlist {
|
|
|
+ shiftinterfaceSlice[i] = d
|
|
|
+ }
|
|
|
+ datamap["Shift"] = workflow.TableDetailData{
|
|
|
+ DataList: shiftinterfaceSlice,
|
|
|
+ StartRow: 1,
|
|
|
+ NeedDelRow: 2,
|
|
|
+ ReverseRow: 0,
|
|
|
+ Cols: []string{"ValueType","value0","Value1","Value2","Value3","Value4","Value5","Value6","ZeroValue","ShowValue"},
|
|
|
+ Merge: []string{},
|
|
|
+ ColsNum: 10,
|
|
|
+ }
|
|
|
+ datamap["TableComment"] = []string{"AlertVal","Deviation","Response","Repeat","Shift"}
|
|
|
+
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
+ var template limsdoctemplate.LimsDocTemplate
|
|
|
+ wheretem := "Id=" + strconv.Itoa(entrustlist[0].DocId)
|
|
|
+ has := svc.GetEntityByWhere(this.User.AccCode+LimsDocTemplateName, wheretem, &template)
|
|
|
+ if (has) {
|
|
|
+ urlArr := strings.Split(template.FileURL, "|")
|
|
|
+ templateUrl := "http://" + urlArr[0]
|
|
|
+ fileName := urlArr[1]
|
|
|
+ DocUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
|
|
|
+ err = nil
|
|
|
+ } else {
|
|
|
+ DocUrl = ""
|
|
|
+ err = errors.New("")
|
|
|
+ }
|
|
|
}
|
|
|
return DocUrl, err
|
|
|
}
|