Pārlūkot izejas kodu

tmr 检验数据

bsj 3 gadi atpakaļ
vecāks
revīzija
b27e8eb8d2
5 mainītis faili ar 54 papildinājumiem un 61 dzēšanām
  1. 1 1
      models/models.go
  2. 34 44
      routers/api/db.go
  3. 19 16
      routers/api/udsync.go
  4. BIN
      tmrgo
  5. BIN
      tmrgo.zip

+ 1 - 1
models/models.go

@@ -30,7 +30,7 @@ func Setup() {
 		log.Fatalf("models.Setup err: %v", err)
 		log.Fatalf("models.Setup err: %v", err)
 	}
 	}
 	Engine.SetConnMaxLifetime(time.Second * 30)
 	Engine.SetConnMaxLifetime(time.Second * 30)
-	Engine.ShowSQL(true)
+	// Engine.ShowSQL(true)
 	if err = Engine.Ping(); err != nil {
 	if err = Engine.Ping(); err != nil {
 		logs.Error(err)
 		logs.Error(err)
 		panic(err)
 		panic(err)

+ 34 - 44
routers/api/db.go

@@ -3695,43 +3695,9 @@ func AddFtdry(c *gin.Context) {
 }
 }
 
 
 func CheckDates(c *gin.Context) {
 func CheckDates(c *gin.Context) {
-	// appG := app.Gin{C: c}
-	// dataByte, _ := ioutil.ReadAll(c.Request.Body)
-	// fsion := gofasion.NewFasion(string(dataByte))
-	// dataList := fsion.Get("data").Array()
 
 
 	tx := restful.Engine.NewSession()
 	tx := restful.Engine.NewSession()
 	defer tx.Close()
 	defer tx.Close()
-	// reqList := make([]map[string]interface{}, 0)
-
-	// for _, fsion2 := range dataList {
-	// 	s_params := make([]interface{}, 0)
-
-	// 	sqlnamestr := fsion2.Get("sqlname").ValueStr()
-	// 	sql, p := restful.GetSqlByNameDBT(sqlnamestr, tx)
-
-	// 	parammaps := fsion2.Get("parammaps")
-	// 	paramslist := strings.Split(p, ",")
-	// 	if len(paramslist) > 0 && p != "" {
-	// 		for _, value := range paramslist {
-	// 			s_params = append(s_params, parammaps.Get(strings.Trim(value, " ")).ValueStr())
-	// 		}
-	// 	}
-
-	// 	queryData, err := tx.SQL(sql, s_params...).QueryString()
-	// 	if err != nil {
-	// 		logging.Error("CheckDates  err: ", err)
-	// 		appG.Response(http.StatusInternalServerError, e.ERROR, err)
-	// 		return
-	// 	}
-
-	// 	reqData := make(map[string]interface{}, 0)
-	// 	for _, item := range queryData {
-	// 		reqData["msg"] = item
-	// 	}
-	// 	reqData["sqlname"] = sqlnamestr
-	// 	reqList = append(reqList, reqData)
-	// }
 
 
 	appG := app.Gin{C: c}
 	appG := app.Gin{C: c}
 	dataByte, _ := ioutil.ReadAll(c.Request.Body)
 	dataByte, _ := ioutil.ReadAll(c.Request.Body)
@@ -3768,14 +3734,41 @@ func CheckDates(c *gin.Context) {
 					logging.Error("ExecDataParam error:", err)
 					logging.Error("ExecDataParam error:", err)
 
 
 				}
 				}
-				// reqData := make(map[string]interface{}, 0)
-				// for _, item := range execDataList {
-				// fmt.Println(execDataList)
-				// }
-				// reqList = append(reqList, reqData)
 			}
 			}
 			if err == nil {
 			if err == nil {
-				appG.Response(http.StatusOK, e.SUCCESS, tempval)
+				vmsg := ""
+				for _, item := range tempval {
+					for _, list := range item["resultmaps"].(map[string]interface{}) {
+						for _, childrenList := range list.([]interface{}) {
+							for k, children := range childrenList.(map[string]interface{}) {
+								if k != "children" {
+									continue
+								}
+								for _, v := range children.([]map[string]interface{}) {
+									for k1, v1 := range v["resultmaps"].(map[string]interface{}) {
+										if k1 == "list" {
+											for _, v2 := range v1.([]map[string]interface{}) {
+												if v2["vmsg"].(string) != "1" {
+													if len(vmsg) == 0 {
+														vmsg = v2["vmsg"].(string)
+													} else {
+														vmsg = fmt.Sprintf("%s,%s", vmsg, v2["vmsg"])
+													}
+												}
+											}
+
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+				if len(vmsg) > 0 {
+					appG.Response(http.StatusOK, e.SUCCESS, vmsg)
+				} else {
+					appG.Response(http.StatusOK, e.SUCCESS, true)
+				}
 			} else {
 			} else {
 				msg := geterrmsg(err.Error())
 				msg := geterrmsg(err.Error())
 				appG.Response(http.StatusInternalServerError, e.ERROR, msg)
 				appG.Response(http.StatusInternalServerError, e.ERROR, msg)
@@ -3856,7 +3849,7 @@ func ExecDataQuery(fasion map[string]interface{}, CommonParamMap map[string]inte
 			return nil, err
 			return nil, err
 		}
 		}
 		// fmt.Println(tempValParam)
 		// fmt.Println(tempValParam)
-		return tempValParam, nil
+		return tempValParam.(map[string]interface{}), nil
 	} else {
 	} else {
 		if tempValParam, ok := fasion["resultmaps"].(map[string]interface{}); ok {
 		if tempValParam, ok := fasion["resultmaps"].(map[string]interface{}); ok {
 			err := ExitsChildrenQuery(fasion, tempValParam, ParamMap, CommonParamMap, tx)
 			err := ExitsChildrenQuery(fasion, tempValParam, ParamMap, CommonParamMap, tx)
@@ -3866,9 +3859,6 @@ func ExecDataQuery(fasion map[string]interface{}, CommonParamMap map[string]inte
 			return nil, err
 			return nil, err
 		}
 		}
 	}
 	}
-	// if tempValParam.(map[string]interface{})["list"].([]map[string]interface{})[0]["vmsg"] != "" {
-	// 	return nil, errors.New(tempValParam.(map[string]interface{})["list"].([]map[string]interface{})[0]["vmsg"].(string))
-	// }
 
 
 	return nil, nil
 	return nil, nil
 }
 }

+ 19 - 16
routers/api/udsync.go

@@ -385,7 +385,6 @@ func httpGet(farmId, method string) []interface{} {
 	var data map[string][]interface{}
 	var data map[string][]interface{}
 	json.Unmarshal(robots, &data)
 	json.Unmarshal(robots, &data)
 	return data["msg"]
 	return data["msg"]
-
 }
 }
 
 
 func UDFeedtempletinfo(token, pastureid string) {
 func UDFeedtempletinfo(token, pastureid string) {
@@ -443,31 +442,33 @@ func UDUploadadddata(token, pastureid string) {
 	IFNULL(d.templetName ,((SELECT feedtempletName FROM downloadplandtl2 d2 WHERE d2.pid=d.id LIMIT 1))) recipeName, 
 	IFNULL(d.templetName ,((SELECT feedtempletName FROM downloadplandtl2 d2 WHERE d2.pid=d.id LIMIT 1))) recipeName, 
 	ifnull(f.feedcode,"") as ingId,de.Fname as ingName,ifnull(fc.FCNAME,"")  ingType,
 	ifnull(f.feedcode,"") as ingId,de.Fname as ingName,ifnull(fc.FCNAME,"")  ingType,
 	ifnull(f.dry,"") dmPct,de.SORT mixNo,de.feedallowratio allowableError, de.LWEIGHT expWeight,
 	ifnull(f.dry,"") dmPct,de.SORT mixNo,de.feedallowratio allowableError, de.LWEIGHT expWeight,
-	de.ActualWeightMinus actualWeight,ifnull(date_format(timestamp(de.InTime,CONCAT('-',de.processTime)),'%Y-%m-%d %H:%i:%s'),"") startTime,
+	de.ActualWeightMinus actualWeight,ifnull(date_format(timestamp(de.InTime,CONCAT('-',(select processTime from downloadplandtl1_exec where pid = de.pid and sort = de.sort and pastureid = de.pastureid))),'%Y-%m-%d %H:%i:%s'),"") startTime,
 	date_format(de.InTime,'%Y-%m-%d %H:%i:%s') endTime,ifnull((SELECT dr.driver FROM dutyrecord dr 
 	date_format(de.InTime,'%Y-%m-%d %H:%i:%s') endTime,ifnull((SELECT dr.driver FROM dutyrecord dr 
 WHERE dr.pastureid = d.pastureid AND dr.eqid = d.tmrid AND dr.times= d.times  AND dr.operatetime <=d.mydate 
 WHERE dr.pastureid = d.pastureid AND dr.eqid = d.tmrid AND dr.times= d.times  AND dr.operatetime <=d.mydate 
 ORDER BY dr.operatetime DESC LIMIT 1),"") tmrName ,d.tmrtname equipmentId 
 ORDER BY dr.operatetime DESC LIMIT 1),"") tmrName ,d.tmrtname equipmentId 
-	from downloadedplan d LEFT JOIN downloadplandtl1_exec de on d.id=de.PID 
-	left join downloadplandtl1 de1 on de1.pid = d.id
-	LEFT JOIN feed f on de1.Fid=f.id and f.pastureid = de1.pastureid LEFT JOIN feedtemplet ft on d.templetName=ft.TNAME 
+	from downloadedplan d
+		 left join downloadplandtl1 de on de.pid = d.id  and de.type = 0
+	LEFT JOIN feed f on de.Fid=f.id and f.pastureid = de.pastureid LEFT JOIN feedtemplet ft on d.templetName=ft.TNAME 
 	LEFT JOIN feedclass fc on f.FCLASS=fc.id 
 	LEFT JOIN feedclass fc on f.FCLASS=fc.id 
-	where d.mydate=date_format(NOW(),'%Y-%m-%d') and d.IsCompleted=1 and d.lpplanType=0  and d.pastureid = ?	
+	where d.mydate=date_format(now(),'%Y-%m-%d') and d.IsCompleted=1 and d.lpplanType=0  and d.pastureid = ?	
+	
 union all
 union all
+
 select  date_format(d.mydate,'%Y-%m-%d') loadDate,d.SORT tmrNo,d.Times loadShift,
 select  date_format(d.mydate,'%Y-%m-%d') loadDate,d.SORT tmrNo,d.Times loadShift,
 	IFNULL(ft.id,((SELECT feedtempletid FROM downloadplandtl2 d2 WHERE d2.flpid=d.id LIMIT 1))) recipeId, 
 	IFNULL(ft.id,((SELECT feedtempletid FROM downloadplandtl2 d2 WHERE d2.flpid=d.id LIMIT 1))) recipeId, 
 	IFNULL(d.templetName ,((SELECT feedtempletName FROM downloadplandtl2 d2 WHERE d2.flpid=d.id LIMIT 1))) recipeName, 
 	IFNULL(d.templetName ,((SELECT feedtempletName FROM downloadplandtl2 d2 WHERE d2.flpid=d.id LIMIT 1))) recipeName, 
 	ifnull(f.feedcode,"") as ingId,de.Fname as ingName,ifnull(fc.FCNAME,"")  ingType,
 	ifnull(f.feedcode,"") as ingId,de.Fname as ingName,ifnull(fc.FCNAME,"")  ingType,
 	ifnull(f.dry,"") dmPct,de.SORT mixNo,de.feedallowratio allowableError, de.LWEIGHT expWeight,
 	ifnull(f.dry,"") dmPct,de.SORT mixNo,de.feedallowratio allowableError, de.LWEIGHT expWeight,
-	de.ActualWeightMinus actualWeight,ifnull(date_format(timestamp(de.InTime,CONCAT('-',de.processTime)),'%Y-%m-%d %H:%i:%s'),"") startTime,
+	de.ActualWeightMinus actualWeight,ifnull(date_format(timestamp(de.InTime,CONCAT('-',(select processTime from downloadplandtl1_exec where pid = de.pid and sort = de.sort and pastureid = de.pastureid))),'%Y-%m-%d %H:%i:%s'),"") startTime,
 	date_format(de.InTime,'%Y-%m-%d %H:%i:%s') endTime,ifnull((SELECT dr.driver FROM dutyrecord dr 
 	date_format(de.InTime,'%Y-%m-%d %H:%i:%s') endTime,ifnull((SELECT dr.driver FROM dutyrecord dr 
 WHERE dr.pastureid = d.pastureid AND dr.eqid = d.tmrid AND dr.times= d.times  AND dr.operatetime <=d.mydate 
 WHERE dr.pastureid = d.pastureid AND dr.eqid = d.tmrid AND dr.times= d.times  AND dr.operatetime <=d.mydate 
 ORDER BY dr.operatetime DESC LIMIT 1),"") tmrName ,d.tmrtname equipmentId 
 ORDER BY dr.operatetime DESC LIMIT 1),"") tmrName ,d.tmrtname equipmentId 
-	from downloadedplan d LEFT JOIN downloadplandtl1_exec de on d.id=de.PID 
-			 left join downloadplandtl1 de1 on de1.pid = d.id
-	LEFT JOIN feed f on de1.Fid=f.id and f.pastureid = de1.pastureid LEFT JOIN feedtemplet ft on d.templetName=ft.TNAME 
+	from downloadedplan d 
+			 left join downloadplandtl1 de on de.pid = d.id  and de.type = 0
+	LEFT JOIN feed f on de.Fid=f.id and f.pastureid = de.pastureid LEFT JOIN feedtemplet ft on d.templetName=ft.TNAME 
 	LEFT JOIN feedclass fc on f.FCLASS=fc.id 
 	LEFT JOIN feedclass fc on f.FCLASS=fc.id 
-	where d.mydate=date_format(NOW(),'%Y-%m-%d') and d.IsCompleted=1 and d.lpplanType=1 and d.pastureid = ?
-ORDER BY mixNo `
+	where d.mydate=date_format(now(),'%Y-%m-%d') and d.IsCompleted=1 and d.lpplanType=1 and d.pastureid = ?
+ORDER BY tmrno`
 
 
 	data, err := tx.SQL(sqlstr, pastureid, pastureid).Query().List()
 	data, err := tx.SQL(sqlstr, pastureid, pastureid).Query().List()
 	if err != nil {
 	if err != nil {
@@ -493,20 +494,22 @@ func UDUploaddiliverdata(token, pastureid string) {
 	defer tx.Close()
 	defer tx.Close()
 
 
 	sqlstr := `SELECT
 	sqlstr := `SELECT
-	IFNULL(ft.id,d2.feedtempletid ) recipeId, 
+	d.id,IFNULL(ft.id,d2.feedtempletid ) recipeId, 
 	IFNULL(d.templetName,d2.feedtempletName ) recipeName, 
 	IFNULL(d.templetName,d2.feedtempletName ) recipeName, 
 	date_format(d.mydate,'%Y-%m-%d') as dropDate,ifnull((select sort from downloadedplan where pid=d.pid and lpplanType !=d.lpplanType and mydate=d.mydate),d.sort) as tmrNo,
 	date_format(d.mydate,'%Y-%m-%d') as dropDate,ifnull((select sort from downloadedplan where pid=d.pid and lpplanType !=d.lpplanType and mydate=d.mydate),d.sort) as tmrNo,
 	d.Times as dropShift,b.bcode as penId,d2.Fname as penName,fp.CCOUNT as cowCount, d2.SORT as feedingNo, d2.LWEIGHT as expWeight,
 	d.Times as dropShift,b.bcode as penId,d2.Fname as penName,fp.CCOUNT as cowCount, d2.SORT as feedingNo, d2.LWEIGHT as expWeight,
 	d2.ActualWeightMinus as actualWeight, ifnull(date_format(timestamp(d2.InTime,CONCAT('-',d2.processTime)),'%Y-%m-%d %H:%i:%s'),"") as startTime,
 	d2.ActualWeightMinus as actualWeight, ifnull(date_format(timestamp(d2.InTime,CONCAT('-',d2.processTime)),'%Y-%m-%d %H:%i:%s'),"") as startTime,
 	date_format(d2.InTime,'%Y-%m-%d %H:%i:%s') as endTime,ifnull((SELECT dr.driver FROM dutyrecord dr 
 	date_format(d2.InTime,'%Y-%m-%d %H:%i:%s') as endTime,ifnull((SELECT dr.driver FROM dutyrecord dr 
 WHERE dr.pastureid = d.pastureid AND dr.eqid = d.tmrid AND dr.times= d.times  AND dr.operatetime <=d.mydate 
 WHERE dr.pastureid = d.pastureid AND dr.eqid = d.tmrid AND dr.times= d.times  AND dr.operatetime <=d.mydate 
-ORDER BY dr.operatetime DESC LIMIT 1),"") as tmrName ,d.tmrtname equipmentId 
-	from  downloadedplan d 
+ORDER BY dr.operatetime DESC LIMIT 1),"") as tmrName ,d.tmrtname equipmentId , dd.fname,ROUND((d2.actualweightminus / ( select sum(actualweightminus) from downloadplandtl2  where pid = d.id ) * (dd.actualweightminus/ (select sum(actualweightminus) from downloadplandtl1 where pid = dd.pid and type = 0) * ( select sum(actualweightminus) from downloadplandtl2  where pid = d.id ))),2) as feedWeight
+	from  downloadedplan d  
 	LEFT JOIN downloadplandtl2 d2 on d.id=d2.PID 
 	LEFT JOIN downloadplandtl2 d2 on d.id=d2.PID 
+	LEFT JOIN (select dd.pid as lppid,dd1.* from downloadedplan dd join downloadplandtl1  dd1 on dd1.pid = dd.id and dd1.type = 0  where dd.mydate= date_format(NOW(),'%Y-%m-%d') and dd.IsCompleted=1 and dd.lpplanType =1 ) dd on dd.lppid = d.pid
+	
 	LEFT JOIN feedp fp on d2.FBarID=fp.id 
 	LEFT JOIN feedp fp on d2.FBarID=fp.id 
 	left join bar b on fp.barid = b.id and d.pastureid = b.pastureid
 	left join bar b on fp.barid = b.id and d.pastureid = b.pastureid
 	left JOIN feedtemplet ft on d.templetName=ft.TNAME 
 	left JOIN feedtemplet ft on d.templetName=ft.TNAME 
-	where d.mydate= date_format(NOW(),'%Y-%m-%d') and d.IsCompleted=1 and d.lpplanType!=1 and d.pastureid = ? `
+	where d.mydate= date_format(NOW(),'%Y-%m-%d') and d.IsCompleted=1 and d.lpplanType!=1 and d.pastureid = ?  order by tmrno `
 
 
 	data, err := tx.SQL(sqlstr, pastureid).Query().List()
 	data, err := tx.SQL(sqlstr, pastureid).Query().List()
 	if err != nil {
 	if err != nil {

BIN
__debug_bin.exe → tmrgo


BIN
tmrgo.zip