3
2
lining 6 жил өмнө
parent
commit
a1f06b4d1e

+ 8 - 0
src/dashoo.cn/backend/api/business/codecsequence/codecsequenceService.go

@@ -473,6 +473,14 @@ func (s *CodecSequenceService)GetReportElecPumpWellJS(accCode string) string{
 func (s *CodecSequenceService)GetReportPistonPumpUnit(accCode string) string{
 	seqName := "PistonPumpUnitReport"
 	sequence := s.GetSequenceByName(accCode, seqName)
+	seqStr := "J能QP2.1-"+ strconv.Itoa(time.Now().Year()) + "-" + fmt.Sprintf("%03s", strconv.Itoa(sequence))
+	return seqStr
+}
+
+//柱塞泵机组计算报告
+func (s *CodecSequenceService)GetReportPistonPumpUnitJs(accCode string) string{
+	seqName := "PistonPumpUnitReportJS"
+	sequence := s.GetSequenceByName(accCode, seqName)
 	seqStr := "J能QP2.2-"+ strconv.Itoa(time.Now().Year()) + "-" + fmt.Sprintf("%03s", strconv.Itoa(sequence))
 	return seqStr
 }

+ 10 - 9
src/dashoo.cn/backend/api/business/limsreportliquidtransportation/limsreportliquidtransportationService.go

@@ -44,7 +44,7 @@ func (s *LimsReportLiquidTransportationService) DataToExcelReport(entrustMainEnt
 
 	pn := float64(reportList[0].MotorPower)                            // 电动机额定功率
 	qn := float64(reportList[0].Flow1)                                 // 泵额定流量
-	q := float64(reportList[0].TrafficRecord / 3600)                   // 泵实际流量
+	q,_ := strconv.ParseFloat(fmt.Sprintf("%.3f", reportList[0].TrafficRecord / 3600), 64)                   // 泵实际流量
 	pgr := float64(reportList[0].MotorPowerRecord)                     // 电机输入功率
 	c1 := float64(reportList[0].Inhalation / 1000)                     // 泵吸入管道周长
 	d1 := float64(reportList[0].Imported / 1000)                       // 壁厚
@@ -63,26 +63,27 @@ func (s *LimsReportLiquidTransportationService) DataToExcelReport(entrustMainEnt
 	v1 := 0.00
 	v2 := 0.00
 	v3 := 0.00
-	if (math.Pow(c1/(2*math.Pi)-d3, 2) != 0) { //  泵吸入点流速
-		v1, err = strconv.ParseFloat(fmt.Sprintf("%.3f", q/math.Pow(c1/(2*math.Pi)-d1, 2)), 64)
+	fmt.Println(math.Pow(c1/(2*math.Pi)-d1, 2))
+	if (math.Pow(c1/(2*math.Pi)-d1, 2) != 0) { //  泵吸入点流速
+		v1, err = strconv.ParseFloat(fmt.Sprintf("%.3f", q/(math.Pi*math.Pow(c1/(2*math.Pi)-d1, 2))), 64)
 	} else {
 		v1 = 0.00
 	}
 	if (math.Pow(c2/(2*math.Pi)-d2, 2) != 0) { // 泵排出点流速
-		v2, err = strconv.ParseFloat(fmt.Sprintf("%.3f", q/math.Pow(c1/(2*math.Pi)-d2, 2)), 64)
+		v2, err = strconv.ParseFloat(fmt.Sprintf("%.3f", q/(math.Pi*math.Pow(c1/(2*math.Pi)-d2, 2))), 64)
 	} else {
 		v2 = 0.00
 	}
 	if (math.Pow(c3/(2*math.Pi)-d3, 2) != 0) { // 泵节阀后流速
-		v3, err = strconv.ParseFloat(fmt.Sprintf("%.3f", q/math.Pow(c1/(2*math.Pi)-d3, 2)), 64)
+		v3, err = strconv.ParseFloat(fmt.Sprintf("%.3f", q/(math.Pi*math.Pow(c1/(2*math.Pi)-d3, 2))), 64)
 	} else {
 		v3 = 0.00
 	}
 
-	h, err := strconv.ParseFloat(fmt.Sprintf("%.3f", p2-p1/(rho*g)+z2-z1+(v2*v2-v1*v1)/(2*g)), 64)  // 总扬程
-	etag, err := strconv.ParseFloat(fmt.Sprintf("%.3f", rho*g*h*q*math.Pow(10, -3)/pgr/100), 64)        // 泵机组效率
-	h1, err := strconv.ParseFloat(fmt.Sprintf("%.3f", (p2-p1)/rho*g+z2-z3+(v2*v2+v3+v3)/2*g), 64)   // 调节阀引起的扬程损失
-	etasys, err := strconv.ParseFloat(fmt.Sprintf("%.3f", rho*g*(h-h1)*q*math.Pow(10, -3)/pgr/100), 64) // 泵机组系统效率
+	h, err := strconv.ParseFloat(fmt.Sprintf("%.3f", (p2-p1)/(rho*g)+z2-z1+(v2*v2-v1*v1)/(2*g)), 64)  // 总扬程
+	etag, err := strconv.ParseFloat(fmt.Sprintf("%.3f", (rho*g*h*q*math.Pow(10, -3))/pgr*100), 64)        // 泵机组效率
+	h1, err := strconv.ParseFloat(fmt.Sprintf("%.3f", (p2-p3)/(rho*g)+z2-z3+(v2*v2-v3*v3)/(2*g)), 64)   // 调节阀引起的扬程损失
+	etasys, err := strconv.ParseFloat(fmt.Sprintf("%.3f", (rho*g*(h-h1)*q*math.Pow(10, -3))/pgr*100), 64) // 泵机组系统效率
 	etaj := 0.00                                                                                    // 节流损失率
 
 	datamap["pn"] = pn

+ 28 - 22
src/dashoo.cn/backend/api/business/limsreportpistonpumpunit/limsreportpistonpumpunitService.go

@@ -25,7 +25,7 @@ func GetLimsReportPistonPumpUnitService(xormEngine *xorm.Engine) *LimsReportPist
 /**
  * 生成报告
  */
-func (s *LimsReportPistonPumpUnitService) DataToExcelReport(entrustMainEntity limsentrust.LimsEntrustMain, dateentryname string, createreportname string,tablename string, seqStr string, retUrl string, entrustId string, dataentryIds string) (reportUrl string, err error) {
+func (s *LimsReportPistonPumpUnitService) DataToExcelReport(entrustMainEntity limsentrust.LimsEntrustMain, dateentryname string, createreportname string,tablename string, seqStr string, seqStrJs string, retUrl string, entrustId string, dataentryIds string) (reportUrl string, err error) {
 	var reportList []LimsReportPistonPumpUnit
 	s.GetEntitysByOrderbyWhere(tablename, "DataEntryId in ("+dataentryIds+")", "DataEntryId", &reportList)
 	//模板下载到服务器
@@ -43,7 +43,7 @@ func (s *LimsReportPistonPumpUnitService) DataToExcelReport(entrustMainEntity li
 
 	pn := float64(reportList[0].MotorPower) // 电动机额定功率
 	qn := float64(reportList[0].Flow1) // 泵额定流量
-	q := float64(reportList[0].TrafficRecord/3600) // 泵实际流量
+	q,_ := strconv.ParseFloat(fmt.Sprintf("%.3f", reportList[0].TrafficRecord/3600), 64) // 泵实际流量
 	pgr := float64(reportList[0].MotorPowerRecord) // 电机输入功率
 	c1 := float64(reportList[0].Inhalation/1000) // 泵吸入管道周长
 	d1 := float64(reportList[0].Imported/1000) // 壁厚
@@ -61,26 +61,26 @@ func (s *LimsReportPistonPumpUnitService) DataToExcelReport(entrustMainEntity li
 	v1 := 0.00
 	v2 := 0.00
 	v3 := 0.00
-	if (math.Pow(c1/(2*math.Pi)-d3,2) != 0) { //  泵吸入点流速
-		v1,err = strconv.ParseFloat(fmt.Sprintf("%.3f",q/math.Pow(c1/(2*math.Pi)-d1,2)), 64)
+	if (math.Pow(c1/(2*math.Pi)-d1,2) != 0) { //  泵吸入点流速
+		v1,err = strconv.ParseFloat(fmt.Sprintf("%.3f",q/(math.Pi*math.Pow(c1/(2*math.Pi)-d1,2))), 64)
 	} else {
 		v1 =0.00
 	}
 	if (math.Pow(c2/(2*math.Pi)-d2,2) != 0) { // 泵排出点流速
-		v2,err = strconv.ParseFloat(fmt.Sprintf("%.3f",q/math.Pow(c1/(2*math.Pi)-d2,2)), 64)
+		v2,err = strconv.ParseFloat(fmt.Sprintf("%.3f",q/(math.Pi*math.Pow(c2/(2*math.Pi)-d2,2))), 64)
 	} else {
 		v2 =0.00
 	}
 	if (math.Pow(c3/(2*math.Pi)-d3,2) != 0) { // 泵节阀后流速
-		v3,err = strconv.ParseFloat(fmt.Sprintf("%.3f",q/math.Pow(c1/(2*math.Pi)-d3,2)), 64)
+		v3,err = strconv.ParseFloat(fmt.Sprintf("%.3f",q/(math.Pi*math.Pow(c3/(2*math.Pi)-d3,2))), 64)
 	} else {
 		v3 =0.00
 	}
 	rho := 996.28
-	h,err := strconv.ParseFloat(fmt.Sprintf("%.3f",p2-p1/(rho*g)+ z2-z1+(v2*v2-v1*v1)/(2*g)), 64) // 总扬程
-	etag,err := strconv.ParseFloat(fmt.Sprintf("%.3f",rho*g*h*q*math.Pow(10,-3)/pgr), 64) // 泵机组效率
-	h1,err := strconv.ParseFloat(fmt.Sprintf("%.3f",(p2-p1)/rho*g + z2 - z3 + (v2*v2+v3+v3)/2*g), 64) // 调节阀引起的扬程损失
-	etasys,err := strconv.ParseFloat(fmt.Sprintf("%.3f",rho*g*(h-h1)*q*math.Pow(10,-3)/pgr),64)
+	h,err := strconv.ParseFloat(fmt.Sprintf("%.3f",(p2-p1)/(rho*g)+ z2-z1+(v2*v2-v1*v1)/(2*g)), 64) // 总扬程
+	etag,err := strconv.ParseFloat(fmt.Sprintf("%.3f",(rho*g*h*q*math.Pow(10,-3))/pgr*100), 64) // 泵机组效率
+	h1,err := strconv.ParseFloat(fmt.Sprintf("%.3f",(p2-p1)/(rho*g) + z2 - z3 + (v2*v2-v3*v3)/(2*g)), 64) // 调节阀引起的扬程损失
+	etasys,err := strconv.ParseFloat(fmt.Sprintf("%.3f",(rho*g*(h-h1)*q*math.Pow(10,-3))/pgr*100),64)
 
 	datamap["pn	"] = pn
 	datamap["qn"] = qn
@@ -107,19 +107,19 @@ func (s *LimsReportPistonPumpUnitService) DataToExcelReport(entrustMainEntity li
 	datamap["etasys"] = etasys
 
 	if (etag >= limitval1) {
-		datamap["result1"] = "合格"
+		datamap["res1"] = "合格"
 	} else {
-		datamap["result1"] = "不合格"
+		datamap["res1"] = "不合格"
 	}
 	if (etasys >= limitval2) {
-		datamap["result2"] = "合格"
+		datamap["res2"] = "合格"
 	} else {
-		datamap["result2"] = "不合格"
+		datamap["res2"] = "不合格"
 	}
 	if (cosphi >= limitval3) {
-		datamap["result3"] = "合格"
+		datamap["res3"] = "合格"
 	} else {
-		datamap["result3"] = "不合格"
+		datamap["res3"] = "不合格"
 	}
 
 
@@ -128,13 +128,19 @@ func (s *LimsReportPistonPumpUnitService) DataToExcelReport(entrustMainEntity li
 	datamap["jcnum"] = reportList[0].CreateOn.Format("2006-01-02")
 	datamap["jcdate"] =  reportList[0].CreateOn.Format("2006年01月02日")
 	datamap["spec"] = reportList[0].Model1
-	//datamap["number"] = reportList[0].DeviceName
+	datamap["number"] = reportList[0].DeviceName
 	datamap["place"] = reportList[0].InstalPosition
-	//datamap["instr"] = reportList[0].MonitoringInstrument
-	datamap["evalva1"] = 78
-	datamap["evalva2"] = 54
-	datamap["limitval1"] = limitval1
-	datamap["limitval2"] = limitval2
+	datamap["instr"] = reportList[0].Instruments
+	datamap["eva1"] = 78
+	datamap["eva2"] = 54
+	datamap["lim1"] = limitval1
+	datamap["lim2"] = limitval2
+
+	datamap["codejs"] = seqStrJs
+	datamap["Model2"] = reportList[0].Model2
+	datamap["Model1"] = reportList[0].Model1
+
+
 	reportUrl = svcActiviti.FillWordTemplate(datamap, templateUrl, fileName)
 
 	return  reportUrl, err

+ 3 - 1
src/dashoo.cn/backend/api/controllers/lims/limscreatereport.go

@@ -998,11 +998,13 @@ func (this *CreateReportController) generateExcelReportN(entrustMain limsentrust
 		svc := limsreportelecpumpwell.GetLimsReportElecPumpWellService(utils.DBE)
 		reportUrl, err = svc.DataToExcelReport(entrustMain, this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsCreateReportName, this.User.AccCode+LimsReportElecPumpWellName, seqStr, seqStrJS,docTemplate.FileURL, entrustId, dataentryIds)
 	case limsdoctemplate.DAYT_REPORTPISTONPUMPUNIT_REPORT:
+		// 柱塞泵机组
 		codecSvc := codecsequence.GetCodecSequenceService(utils.DBE)
 		seqStr := codecSvc.GetReportPistonPumpUnit(this.User.AccCode)
+		seqStrjs := codecSvc.GetReportPistonPumpUnitJs(this.User.AccCode)
 		fmt.Println(time.Now().Month())
 		svc := limsreportpistonpumpunit.GetLimsReportPistonPumpUnitService(utils.DBE)
-		reportUrl, err = svc.DataToExcelReport(entrustMain, this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsCreateReportName, this.User.AccCode+LimsReportPistonPumpUnitName, seqStr, docTemplate.FileURL, entrustId, dataentryIds)
+		reportUrl, err = svc.DataToExcelReport(entrustMain, this.User.AccCode+LimsDateEntryName, this.User.AccCode+LimsCreateReportName, this.User.AccCode+LimsReportPistonPumpUnitName, seqStr, seqStrjs, docTemplate.FileURL, entrustId, dataentryIds)
 	case limsdoctemplate.DAYT_LIMSREPORTSCREWPUMP_REPORT:
 		// 螺杆泵节能监测
 		codecSvc := codecsequence.GetCodecSequenceService(utils.DBE)