|
@@ -3151,11 +3151,11 @@ func UpdateFTdetail(c *gin.Context) {
|
|
|
WHERE fp.pastureid = ? AND fp.ptsfid =?`, parammaps["pastureid"], parammaps["ftid"]).Execute()
|
|
|
}
|
|
|
|
|
|
- fpdDataList, err = tx.SQL(`select * from (SELECT TRIM(id) id,times,tratio,ifnull(ROUND(ptsrate*weight,2)-ptsuse,0) weight,TRIM(barid) barid,TRIM(pastureid) pastureid,TRIM(ptid) ptid,TRIM(ptsid ) ptsid ,
|
|
|
+ fpdDataList, err = tx.SQL(`select * from (SELECT TRIM(id) id,times,tratio,ifnull(ROUND(ptsrate*weight,2)-ptsuse,0) weight,TRIM(barid) barid,TRIM(pastureid) pastureid,TRIM((select ftid from feedp where barid =fpdetail.barid)) ptid,TRIM(ptsid ) ptsid ,
|
|
|
(select bname from bar where pastureid =fpdetail.pastureid and id = fpdetail.barid ) barname,0 AS fttype,cowcount,ccountradio,1 isfill FROM fpdetail
|
|
|
WHERE fpdetail.pastureid = ? and (ptid = ? or ptsid = ?)
|
|
|
UNION
|
|
|
- SELECT TRIM(id) id,times,tratio,ifnull(ROUND((1-ptsrate)*weight,2)-ptuse,0) weight,TRIM(barid) barid,TRIM(pastureid) pastureid,TRIM(ptid) ptid,TRIM(ptsid ) ptsid ,
|
|
|
+ SELECT TRIM(id) id,times,tratio,ifnull(ROUND((1-ptsrate)*weight,2)-ptuse,0) weight,TRIM(barid) barid,TRIM(pastureid) pastureid,TRIM((select ftid from feedp where barid =fpdetail.barid)) ptid,TRIM(ptsid ) ptsid ,
|
|
|
(select bname from bar where pastureid =fpdetail.pastureid and id = fpdetail.barid ) barname,1 AS fttype,cowcount,ccountradio,0 isfill FROM fpdetail
|
|
|
WHERE fpdetail.pastureid = ? and (ptid = ? or ptsid = ?)) t
|
|
|
order by t.barname,t.times`, parammaps["pastureid"], parammaps["ftid"], parammaps["ftid"], parammaps["pastureid"], parammaps["ftid"], parammaps["ftid"]).Query().List()
|
|
@@ -3513,20 +3513,21 @@ func UpdateFpdetailBar(c *gin.Context) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- for _, list := range fsion.Get("data").Array() {
|
|
|
+ fsionData := fsion.Get("data").Array()
|
|
|
+ for _, list := range fsionData {
|
|
|
ftmap := make(map[string]interface{})
|
|
|
- ftmap["old"] = list.Get("old").ValueFloat64()
|
|
|
- ftmap["new"] = list.Get("new").ValueFloat64()
|
|
|
+ ftmap["old"] = list.Get("old").ValueDefaultFloat64(0.0)
|
|
|
+ ftmap["new"] = list.Get("new").ValueDefaultFloat64(0.0)
|
|
|
ftmap["times"] = list.Get("times").ValueInt64()
|
|
|
ftmap["ptid"] = list.Get("ptid").ValueStr()
|
|
|
ftmap["ptsid"] = list.Get("ptsid").ValueStr()
|
|
|
// fmt.Println(ftmap)
|
|
|
|
|
|
- fpdDataList, err := tx.SQL(`select * from (SELECT TRIM(id) id,times,tratio,ifnull(ROUND(ptsrate*weight,2)-ptsuse,"") weight,TRIM(barid) barid,TRIM(pastureid) pastureid,TRIM(ptid) ptid,TRIM(-1 ) ptsid ,
|
|
|
+ fpdDataList, err := tx.SQL(`select * from (SELECT TRIM(id) id,times,tratio,ifnull(ROUND(ptsrate*weight,2)-ptsuse,"") weight,TRIM(barid) barid,TRIM(pastureid) pastureid,TRIM((select ftid from feedp where barid =fpdetail.barid)) ptid,TRIM(-1 ) ptsid ,
|
|
|
(select bname from bar where pastureid =fpdetail.pastureid and id = fpdetail.barid ) barname,0 AS fttype,cowcount,ccountradio,1 isfill FROM fpdetail
|
|
|
WHERE fpdetail.pastureid = ? and barid =(select barid from feedp where id = ? ) and times = ?
|
|
|
UNION
|
|
|
- SELECT TRIM(id) id,times,tratio,ifnull(ROUND((1-ptsrate)*weight,2)-ptuse,"") weight,TRIM(barid) barid,TRIM(pastureid) pastureid,TRIM(ptid) ptid,TRIM(ptsid ) ptsid ,
|
|
|
+ SELECT TRIM(id) id,times,tratio,ifnull(ROUND((1-ptsrate)*weight,2)-ptuse,"") weight,TRIM(barid) barid,TRIM(pastureid) pastureid,TRIM((select ftid from feedp where barid =fpdetail.barid)) ptid,TRIM(ifnull(ptsid,-1) ) ptsid ,
|
|
|
(select bname from bar where pastureid =fpdetail.pastureid and id = fpdetail.barid ) barname,1 AS fttype,cowcount,ccountradio,0 isfill FROM fpdetail
|
|
|
WHERE fpdetail.pastureid = ? and barid = (select barid from feedp where id = ? ) and times = ? ) t
|
|
|
order by t.barname,t.times`, pastureid, id, ftmap["times"], pastureid, id, ftmap["times"]).Query().List()
|
|
@@ -3537,8 +3538,7 @@ func UpdateFpdetailBar(c *gin.Context) {
|
|
|
}
|
|
|
|
|
|
for _, fpd := range fpdDataList {
|
|
|
-
|
|
|
- if fpd["times"].(int64) == ftmap["times"].(int64) && (fpd["ptid"].(string) == ftmap["ptid"].(string) || fpd["ptsid"].(string) == ftmap["ptsid"].(string)) {
|
|
|
+ if fpd["times"].(int64) == ftmap["times"].(int64) && (fpd["ptid"].(string) == ftmap["ptid"].(string)) {
|
|
|
fttype := -1
|
|
|
if ftmap["ptid"].(string) != "-1" {
|
|
|
fttype = 1
|
|
@@ -3641,7 +3641,6 @@ func UpdateFpdetailBar(c *gin.Context) {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
tx.Commit()
|
|
|
|
|
|
now := time.Now()
|
|
@@ -3652,20 +3651,6 @@ func UpdateFpdetailBar(c *gin.Context) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- // newFpdDataList, err := tx.SQL(` select * from fpdetail where barid = ? and pastureid = ? `, id, pastureid).Query().List()
|
|
|
- // if err != nil {
|
|
|
- // logs.Error(err)
|
|
|
- // appG.Response(http.StatusOK, e.ERROR, false)
|
|
|
- // return
|
|
|
- // }
|
|
|
-
|
|
|
- // newFeedpList, err := tx.SQL(` select * from feedp where barid = ? and pastureid = ?`, id, pastureid).Query().List()
|
|
|
- // if err != nil {
|
|
|
- // logs.Error(err)
|
|
|
- // appG.Response(http.StatusOK, e.ERROR, false)
|
|
|
- // return
|
|
|
- // }
|
|
|
-
|
|
|
for _, newLpplandtl1 := range newLpplandtl1List {
|
|
|
_, err := tx.SQL(` insert into lpplandtl1history(pastureid,lppid,barid,barname,fpdid,fttype,lweight,sort,tmrid,tmrname,
|
|
|
background,cowcount,ccountradio,lweighthis,createdate,userId)
|
|
@@ -7774,3 +7759,161 @@ func updateLpplandtlInfo(tx *xorm.Session, data map[string]interface{}) error {
|
|
|
}
|
|
|
return nil
|
|
|
}
|
|
|
+
|
|
|
+func PostPlanDatas(c *gin.Context) {
|
|
|
+ appG := app.Gin{C: c}
|
|
|
+ dataByte, _ := ioutil.ReadAll(c.Request.Body)
|
|
|
+ fsions := gofasion.NewFasion(string(dataByte))
|
|
|
+ logging.Info("PostRJSBDatas err: ", string(dataByte))
|
|
|
+
|
|
|
+ tx := restful.Engine.NewSession()
|
|
|
+ err := tx.Begin()
|
|
|
+ defer func() {
|
|
|
+ switch {
|
|
|
+ case err != nil:
|
|
|
+ if tx != nil {
|
|
|
+ tx.Rollback()
|
|
|
+ }
|
|
|
+ default:
|
|
|
+ if tx != nil {
|
|
|
+ err = tx.Commit()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if tx != nil {
|
|
|
+ tx.Close()
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ pastureId := fsions.Get("pastureid").ValueStr()
|
|
|
+ // sql, p := restful.GetSqlByNameDBT("updatedownloadedplanYJ", tx)
|
|
|
+ // sql1, p1 := restful.GetSqlByNameDBT("updated1YJ", tx)
|
|
|
+ // sql2, p2 := restful.GetSqlByNameDBT("updated1execYJ", tx)
|
|
|
+ // sql3, p3 := restful.GetSqlByNameDBT("updated2YJ", tx)
|
|
|
+
|
|
|
+ sql, p := restful.GetSqlByNameDBT("updatedownloadedplanYJ", tx)
|
|
|
+ sql1, p1 := restful.GetSqlByNameDBT("updated1YJ", tx)
|
|
|
+ sql2, p2 := restful.GetSqlByNameDBT("updated1execYJ", tx)
|
|
|
+ sql3, p3 := restful.GetSqlByNameDBT("updated2YJ", tx)
|
|
|
+
|
|
|
+ for _, parammaps := range fsions.Get("arrList").Array() {
|
|
|
+ // if !fsion.HasKey("arrList") {
|
|
|
+ // appG.Response(http.StatusOK, e.ERROR, "参数解析失败")
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // parammaps := fsion.Get("arrList")
|
|
|
+ s_params := make([]interface{}, 0)
|
|
|
+ paramslist := strings.Split(p, ",")
|
|
|
+ if len(paramslist) > 0 && p != "" {
|
|
|
+ for _, value := range paramslist {
|
|
|
+ if value == "pastureid" {
|
|
|
+ s_params = append(s_params, pastureId)
|
|
|
+ } else {
|
|
|
+ s_params = append(s_params, parammaps.Get(strings.Trim(value, " ")).ValueStr())
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _, err = tx.SQL(sql, s_params...).Execute()
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ logging.Error("PostRJSBData err: ", err)
|
|
|
+ msg := geterrmsg(err.Error())
|
|
|
+ appG.Response(http.StatusOK, e.ERROR, msg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ s_params = make([]interface{}, 0)
|
|
|
+ paramslist = strings.Split(p1, ",")
|
|
|
+ if len(paramslist) > 0 && p1 != "" {
|
|
|
+ for _, value := range paramslist {
|
|
|
+ // if value == "ID" {
|
|
|
+ // id := parammaps.Get("ID").ValueStr()
|
|
|
+ // pastureid := parammaps.Get("pastureid").ValueStr()
|
|
|
+ // datalist, err := tx.SQL(`select d2.id as id from downloadplandtl1 d1 join downloadplandtl1_exec d2 on d1.id = d2.id where d1.pid = (select pid from downloadplandtl1 where id = ? and pastureid = ? ) and
|
|
|
+ // d1.sort = (select sort from downloadplandtl1 where id = ? and pastureid = ? )`, id, pastureid, id, pastureid).QueryString()
|
|
|
+ // if err != nil {
|
|
|
+ // logging.Error("PostRJSBData err: ", err)
|
|
|
+ // msg := geterrmsg(err.Error())
|
|
|
+ // appG.Response(http.StatusOK, e.ERROR, msg)
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+
|
|
|
+ // for _, item := range datalist {
|
|
|
+ // id = item["id"]
|
|
|
+ // }
|
|
|
+ // s_params = append(s_params, id)
|
|
|
+ // } else {
|
|
|
+ // s_params = append(s_params, parammaps.Get(strings.Trim(value, " ")).ValueStr())
|
|
|
+ // }
|
|
|
+ if value == "pastureid" {
|
|
|
+ s_params = append(s_params, pastureId)
|
|
|
+ } else {
|
|
|
+ s_params = append(s_params, parammaps.Get(strings.Trim(value, " ")).ValueStr())
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _, err = tx.SQL(sql1, s_params...).Execute()
|
|
|
+ if err != nil {
|
|
|
+ logging.Error("PostRJSBData1 err: ", err)
|
|
|
+ msg := geterrmsg(err.Error())
|
|
|
+ appG.Response(http.StatusOK, e.ERROR, msg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ s_params = make([]interface{}, 0)
|
|
|
+
|
|
|
+ paramslist = strings.Split(p2, ",")
|
|
|
+ if len(paramslist) > 0 && p2 != "" {
|
|
|
+ for _, value := range paramslist {
|
|
|
+ if value == "ID" {
|
|
|
+ id := parammaps.Get("ID").ValueStr()
|
|
|
+ pastureid := parammaps.Get("pastureid").ValueStr()
|
|
|
+ datalist, err := tx.SQL(`select d2.id as id from downloadplandtl1 d1 join downloadplandtl1_exec d2 on d1.id = d2.id where d1.pid = (select pid from downloadplandtl1 where id = ? and pastureid = ? ) and
|
|
|
+ d1.sort = (select sort from downloadplandtl1 where id = ? and pastureid = ? )`, id, pastureid, id, pastureid).QueryString()
|
|
|
+ if err != nil {
|
|
|
+ logging.Error("PostRJSBData err: ", err)
|
|
|
+ msg := geterrmsg(err.Error())
|
|
|
+ appG.Response(http.StatusOK, e.ERROR, msg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, item := range datalist {
|
|
|
+ id = item["id"]
|
|
|
+ }
|
|
|
+ s_params = append(s_params, id)
|
|
|
+ } else if value == "pastureid" {
|
|
|
+ s_params = append(s_params, pastureId)
|
|
|
+ } else {
|
|
|
+ s_params = append(s_params, parammaps.Get(strings.Trim(value, " ")).ValueStr())
|
|
|
+ }
|
|
|
+ // s_params = append(s_params, parammaps.Get(strings.Trim(value, " ")).ValueStr())
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _, err = tx.SQL(sql2, s_params...).Execute()
|
|
|
+ if err != nil {
|
|
|
+ logging.Error("PostRJSBData2 err: ", err)
|
|
|
+ msg := geterrmsg(err.Error())
|
|
|
+ appG.Response(http.StatusOK, e.ERROR, msg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ s_params = make([]interface{}, 0)
|
|
|
+
|
|
|
+ paramslist = strings.Split(p3, ",")
|
|
|
+ if len(paramslist) > 0 && p3 != "" {
|
|
|
+ for _, value := range paramslist {
|
|
|
+ if value == "pastureid" {
|
|
|
+ s_params = append(s_params, pastureId)
|
|
|
+ } else {
|
|
|
+ s_params = append(s_params, parammaps.Get(strings.Trim(value, " ")).ValueStr())
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _, err = tx.SQL(sql3, s_params...).Execute()
|
|
|
+ if err != nil {
|
|
|
+ logging.Error("PostRJSBData3 err: ", err)
|
|
|
+ msg := geterrmsg(err.Error())
|
|
|
+ appG.Response(http.StatusOK, e.ERROR, msg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ appG.Response(http.StatusOK, e.SUCCESS, "ok")
|
|
|
+}
|