123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511 |
- package api
- import (
- "encoding/json"
- "io/ioutil"
- "net/http"
- "strconv"
- "tmr-watch/http/handle/restful"
- "tmr-watch/pkg/app"
- "tmr-watch/pkg/e"
- "github.com/Anderson-Lu/gofasion/gofasion"
- "github.com/astaxie/beego/logs"
- "github.com/gin-gonic/gin"
- )
- type downloadedplan struct {
- Id int64 `json:"id"`
- Mydate string `json:"mydate"`
- Projname string `json:"projname"`
- Datacaptureno string `json:"datacaptureno"`
- Lweight string `json:"lweight"`
- Havebutton string `json:"havebutton"`
- Feedpname string `json:"feedpname"`
- Iscompleted string `json:"iscompleted"`
- Tmrtname string `json:"tmrtname"`
- Remark string `json:"remark"`
- Lpplantype string `json:"lpplantype"`
- Sort string `json:"sort"`
- Shifts string `json:"shifts"`
- }
- type ReqGetDownloadedplanMaterial struct {
- Pastureid int64 `json:"pastureid"`
- Datacaptureno int64 `json:"datacaptureno"`
- Date string `json:"date"`
- }
- func GetDownloadedplanMaterial1(c *gin.Context) {
- // var reqInfo ReqGetDownloadedplanMaterial
- // err := c.Bind(&reqInfo)
- appG := app.Gin{C: c}
- dataByte, _ := ioutil.ReadAll(c.Request.Body)
- fsion := gofasion.NewFasion(string(dataByte))
- date := fsion.Get("date").ValueStr()
- pastureid := fsion.Get("pastureid").ValueStr()
- datacaptureno := fsion.Get("datacaptureno").ValueStr()
- id := fsion.Get("id").ValueStr()
- tx := restful.Engine.NewSession()
- defer tx.Close()
- tclassid := ""
- tmrList, err := tx.SQL(` select tclassid from tmr where datacaptureno = ? `, datacaptureno).QueryString()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- for _, tmr := range tmrList {
- tclassid = tmr["tclassid"]
- }
- downloadedplanInfo := new(downloadedplan)
- err = tx.SQL(` select d.id,date_format(d.mydate ,'%Y-%m-%d') as mydate ,d.projname,d.datacaptureno,d.lweight,d.havebutton,d.feedpname,d.iscompleted,d.remark,d.tmrtname from downloadedplan d
- where d.mydate = ? and d.pastureid = ? and (d.datacaptureno is null or d.datacaptureno = ?) and d.iscompleted = 0
- and ( (? IN(1,2) AND d.lpplanType IN (0,1)) OR (? IN (1,3) AND d.lpplanType IN (0,2)))
- and if(d.lpplantype = 2,if((select count(1) from downloadplandtl1 d1
- where d1.pid = (select id from downloadedplan dd where dd.mydate = d.mydate
- and dd.pastureId = d.pastureid and dd.lpplanType IN (0,1) and dd.pid = d.pid and dd.times = d.times )
- and d1.type = 0 and d1.havebuttom = 0 ) >0 ,1,0 ),0) = 0 and (?= '' or d.id = ? )
- order by d.sort `,
- date, pastureid, datacaptureno, tclassid, tclassid, id, id).GetFirst(downloadedplanInfo).Error
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- if downloadedplanInfo.Id == 0 {
- appG.Response(http.StatusOK, e.THROUGHOUt_THE_DAY_TO_END, nil)
- return
- }
- _, err = tx.SQL(` update downloadedplan set havebutton = 1 ,intime = now() where id = ? and havebutton != 1 `, downloadedplanInfo.Id).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- _, err = tx.SQL(` update tmr set projid = ? ,lastbuttontime =? , nextsort = ifnull((select sort from downloadplandtl1 where pid = ? and intime is null order by sort limit 0,1),0 ) where datacaptureno = ? and pastureid = ? `,
- downloadedplanInfo.Id, date, downloadedplanInfo.Id, datacaptureno, pastureid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- appG.Response(http.StatusOK, e.SUCCESS, downloadedplanInfo)
- }
- func GetSubPlan(c *gin.Context) {
- appG := app.Gin{C: c}
- dataByte, _ := ioutil.ReadAll(c.Request.Body)
- parammaps := gofasion.NewFasion(string(dataByte))
- pid := parammaps.Get("pid").ValueStr()
- pastureid := parammaps.Get("pastureid").ValueStr()
- tx := restful.Engine.NewSession()
- defer tx.Close()
- downloadplandtl1List, err := tx.SQL(` select DATE_FORMAT(d1.begintime, '%Y-%m-%d %H:%i:%S') as begintime,
- DATE_FORMAT(d1.intime, '%Y-%m-%d %H:%i:%S') as intime ,f.id as feedid,d1.fname,d1.feedcode,f.autosecond,
- f.autozone,d1.lweight,d1.sort,d1.buttontype,d1.actualweightminus,f.confirmstart,f.jmp from downloadplandtl1 d1
- left join feed f
- on f.feedcode = d1.feedcode and f.pastureid = d1.pastureid where d1.pid = ? and d1.pastureid = ? `, pid, pastureid).Query().List()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- downloadplandtl2List, err := tx.SQL(` select d2.sort,DATE_FORMAT(d2.begintime, '%Y-%m-%d %H:%i:%S') as begintime ,DATE_FORMAT(d2.intime, '%Y-%m-%d %H:%i:%S') as intime
- ,d2.id,d2.pid,d2.fbarid,d2.fname as fbarname,d2.lweight,d.lpplantype,d2.actualweightminus ,ifnull(b.autozone,0) as autozone,ifnull(b.autosecond,"") as autosecond,ifnull(b.isstart,1) as isstart ,ifnull(b.jmp,0) as jmp
- from downloadplandtl2 d2
- join downloadedplan d on d.id = d2.pid
- left join bar b on d2.fbarid = b.id where d2.pid = ? and d2.pastureid = ? `, pid, pastureid).Query().List()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- d1List := make([]map[string]interface{}, 0)
- d2List := make([]map[string]interface{}, 0)
- for _, d2item := range downloadplandtl2List {
- data := make(map[string]interface{}, 0)
- data["fbarid"] = d2item["fbarid"]
- data["fbarname"] = d2item["fbarname"]
- data["lweight"] = d2item["lweight"]
- data["lpplantype"] = d2item["lpplantype"]
- data["id"] = d2item["id"]
- data["actualweightminus"] = d2item["actualweightminus"]
- data["intime"] = d2item["intime"]
- data["begintime"] = d2item["begintime"]
- data["sort"] = d2item["sort"]
- data["autozone"] = d2item["autozone"]
- data["autosecond"] = d2item["autosecond"]
- data["isstart"] = d2item["isstart"]
- data["jmp"] = d2item["jmp"]
- d2List = append(d2List, data)
- }
- for _, d1item := range downloadplandtl1List {
- d1 := make(map[string]interface{}, 0)
- // lweight, _ := strconv.ParseFloat(d1item["lweight"].(string), 64)
- d1["fname"] = d1item["fname"]
- d1["feedcode"] = d1item["feedcode"]
- d1["autosecond"] = d1item["autosecond"]
- d1["autozone"] = d1item["autozone"]
- d1["sort"] = d1item["sort"]
- d1["buttontype"] = d1item["buttontype"]
- d1["feedid"] = d1item["feedid"]
- d1["lweight"] = d1item["lweight"]
- d1["intime"] = d1item["intime"]
- d1["begintime"] = d1item["begintime"]
- d1["actualweightminus"] = d1item["actualweightminus"]
- d1["confirmstart"] = d1item["confirmstart"]
- d1["jmp"] = d1item["jmp"]
- d1List = append(d1List, d1)
- }
- resData := make(map[string]interface{}, 0)
- resData["mixing"] = d1List
- resData["spillage"] = d2List
- // data["plan"] = d1List
- // dataList = append(dataList, data)
- appG.Response(http.StatusOK, e.SUCCESS, resData)
- }
- func CompletePlan(c *gin.Context) {
- appG := app.Gin{C: c}
- dataByte, _ := ioutil.ReadAll(c.Request.Body)
- parammaps := gofasion.NewFasion(string(dataByte))
- pid := parammaps.Get("pid").ValueStr()
- feedid := parammaps.Get("feedid").ValueStr()
- lastactualweight := parammaps.Get("lastactualweight").ValueDefaultFloat64(0)
- actualweightminus := parammaps.Get("actualweightminus").ValueDefaultFloat64(0)
- actualweight := parammaps.Get("actualweight").ValueDefaultFloat64(0)
- datacaptureno := parammaps.Get("datacaptureno").ValueStr()
- begintime := parammaps.Get("begintime").ValueStr()
- intime := parammaps.Get("intime").ValueStr()
- sort := parammaps.Get("sort").ValueStr()
- buttontype := parammaps.Get("buttontype").ValueStr()
- lpplantype := parammaps.Get("lpplantype").ValueDefaultInt64(0)
- d2id := parammaps.Get("d2id").ValueStr()
- pastureid := parammaps.Get("pastureid").ValueStr()
- tx := restful.Engine.NewSession()
- defer tx.Close()
- _, err := tx.SQL(` update downloadedplan set tmrid = ( select id from tmr where datacaptureno = ? and pastureid = ?) ,
- tmrtname = ( select eqcode from tmr where datacaptureno = ? and pastureid = ?) where id = ? and tmrid != ( select id from tmr where datacaptureno = ? and pastureid = ?)`,
- datacaptureno, pastureid, datacaptureno, pastureid, pid, datacaptureno, pastureid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- if lpplantype == 0 {
- _, err := tx.SQL(` update downloadplandtl1 set begintime = ? , actualweightminus = ifnull(actualweightminus,0) +? ,
- intime = ? ,actualweight = ? ,optdevice = ( select id from tmr where datacaptureno = ? and pastureid = ?),buttontype = ?,
- havebuttom = 1,lastactualweight = ? where pid = ?
- and sort = ? and feedcode = (select feedcode from feed where id = ? ) and (intime is null )`,
- begintime, actualweightminus, intime, actualweight, datacaptureno, pastureid, buttontype, lastactualweight, pid, sort, feedid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- _, err = tx.SQL(` update downloadplandtl1_exec set begintime = ? ,actualweightminus = ifnull(actualweightminus,0)+ ? ,
- intime = ? ,actualweight = ? ,optdevice = ( select id from tmr where datacaptureno = ? and pastureid = ?),buttontype = ?,havebuttom = 1,lastactualweight = ? where pid = ?
- and sort = ? and (intime is null ) `,
- begintime, actualweightminus, intime, actualweight, datacaptureno, pastureid, buttontype, lastactualweight, pid, sort).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- d2List, err := tx.SQL(` select * from downloadplandtl2 where pid = ? order by sort `, pid).Query().List()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- var sumlweight float64
- for _, d2 := range d2List {
- lweight, _ := strconv.ParseFloat(d2["lweight"].(string), 64)
- sumlweight += lweight
- }
- for _, d2 := range d2List {
- if actualweightminus <= 0 {
- break
- }
- lweight, _ := strconv.ParseFloat(d2["lweight"].(string), 64)
- actualweight := lweight / sumlweight * actualweightminus
- last := lweight / sumlweight * lastactualweight
- _, err := tx.SQL(` update downloadplandtl2 set actualweightminus = ifnull(actualweightminus,0)+?, actualweight = ?,
- lastactualweight = ? , intime = ?,begintime = ? ,havebuttom = 1,buttontype = ? where id = ? and (intime is null ) `, actualweight,
- actualweight, last, intime, begintime, buttontype, d2["id"]).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- }
- execExist, err := tx.SQL(` select id from downloadplandtl2 where pid = ? and (intime is null ) `, pid).Exist()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- if !execExist {
- _, err := tx.SQL(` update downloadedplan set iscompleted = 1, completedtime = ? where id = ? `, intime, pid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- }
- _, err = tx.SQL(` update tmr set projid = ? ,lastbuttontime =? , nextsort =
- (select sort from downloadplandtl1 where pid = ? and intime is null order by sort limit 0,1 ) where datacaptureno = ? and pastureid = ? `,
- pid, intime, pid, datacaptureno, pastureid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- } else if lpplantype == 1 {
- _, err := tx.SQL(` update downloadplandtl2 set actualweightminus =ifnull(actualweightminus,0)+?, actualweight = ?,
- lastactualweight = ? , intime = ? ,begintime = ?,havebuttom = 1,buttontype = ? where id = ? and (intime is null ) `,
- actualweightminus, actualweight, lastactualweight, intime, begintime, buttontype, d2id).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- _, err = tx.SQL(` update downloadplandtl1_exec set actualweightminus =ifnull(actualweightminus,0)+?, actualweight = ?,
- lastactualweight = ? , intime = ?,begintime= ? ,havebuttom = 1,buttontype= ? where pid = ? and (intime is null ) `,
- actualweightminus, actualweight, lastactualweight, intime, begintime, buttontype, pid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- _, err = tx.SQL(` update downloadplandtl1 set actualweightminus =ifnull(actualweightminus,0)+?, actualweight = ?,
- lastactualweight = ? , intime = ?,begintime=? ,havebuttom = 1,buttontype = ? where pid = ? and (intime is null ) `,
- actualweightminus, actualweight, lastactualweight, intime, begintime, buttontype, pid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- exist, err := tx.SQL(` select id from downloadplandtl2 where pid = ? and intime is null `, pid).Exist()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- if !exist {
- _, err := tx.SQL(` update downloadedplan set iscompleted = 1, completedtime = ? where id = ? `, intime, pid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- }
- _, err = tx.SQL(` update tmr set projid = ? ,lastbuttontime =? , nextsort = (select sort from downloadplandtl2
- where pid = ? and intime is null order by sort limit 0,1 ) where datacaptureno = ? and pastureid = ? `,
- pid, intime, pid, datacaptureno, pastureid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- } else if lpplantype == 2 {
- _, err := tx.SQL(` update downloadplandtl1 set begintime = ? , actualweightminus =ifnull(actualweightminus,0)+ ? ,
- intime = ? ,actualweight = ? ,optdevice = ( select id from tmr where datacaptureno = ? and pastureid = ?),buttontype = ?,havebuttom = 1,lastactualweight = ?,begintime = ? where pid = ?
- and sort = ? and feedcode = (select feedcode from feed where id = ? ) and (intime is null )`,
- begintime, actualweightminus, intime, actualweight, datacaptureno, pastureid, buttontype, lastactualweight, begintime, pid, sort, feedid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- _, err = tx.SQL(` update downloadplandtl1_exec set begintime = ? ,actualweightminus =ifnull(actualweightminus,0)+ ? ,
- intime = ? ,actualweight = ? ,optdevice = ( select id from tmr where datacaptureno = ? and pastureid = ?),buttontype = ?,havebuttom = 1,lastactualweight = ?,begintime = ? where pid = ?
- and sort = ? and (intime is null ) `,
- begintime, actualweightminus, intime, actualweight, datacaptureno, pastureid, buttontype, lastactualweight, begintime, pid, sort).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- _, err = tx.SQL(` update tmr set projid = ? ,lastbuttontime =? , nextsort =
- (select sort from downloadplandtl1 where pid = ? and intime is null order by sort limit 0,1 ) where datacaptureno = ? and pastureid = ? `,
- pid, intime, pid, datacaptureno, pastureid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- } else {
- _, err := tx.SQL(` update downloadplandtl2 set actualweightminus =ifnull(actualweightminus,0)+?, actualweight = ?,
- lastactualweight = ? , intime = ? ,havebuttom = 1,buttontype = ?,begintime = ? where id = ? and (intime is null ) `,
- actualweightminus, actualweight, lastactualweight, intime, buttontype, begintime, d2id).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- exist, err := tx.SQL(` select id from downloadplandtl2 where pid = ? and intime is null`, pid).Exist()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- if !exist {
- _, err := tx.SQL(` update downloadedplan set iscompleted = 1, completedtime = ? where id = ? `, intime, pid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- }
- _, err = tx.SQL(` update tmr set projid = ? ,lastbuttontime =? , nextsort =
- (select sort from downloadplandtl2 where pid = ? and intime is null order by sort limit 0,1 ) where datacaptureno = ? and pastureid = ? `,
- pid, intime, pid, datacaptureno, pastureid).Execute()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- }
- appG.Response(http.StatusOK, e.SUCCESS, true)
- }
- func AddRealTimeWeight(c *gin.Context) {
- appG := app.Gin{C: c}
- dataByte, _ := ioutil.ReadAll(c.Request.Body)
- fsion := gofasion.NewFasion(string(dataByte))
- pid := fsion.Get("pid").ValueStr()
- pastureid := fsion.Get("pastureid").ValueStr()
- weightjson := fsion.Get("weightjson").ValueStr()
- // weightjson
- tx := restful.Engine.NewSession()
- defer tx.Close()
- dataList, err := tx.SQL(` select weightjson from recweightmuster where pid = ? and pastureid = ? `, pid, pastureid).QueryString()
- if err != nil {
- logs.Error("AddRealTimeWeight-error1: ", err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- weightList := make([]map[string]interface{}, 0)
- if len(dataList) > 0 {
- weight := ""
- for _, item := range dataList {
- weight = item["weightjson"]
- }
- list := make([]map[string]interface{}, 0)
- err = json.Unmarshal([]byte(weight), &weightList)
- if err != nil {
- logs.Error("AddRealTimeWeight-error2: ", err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- err = json.Unmarshal([]byte(weightjson), &list)
- if err != nil {
- logs.Error("AddRealTimeWeight-error3: ", err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- weightList = append(weightList, list...)
- } else {
- json.Unmarshal([]byte(weightjson), &weightList)
- }
- weightbyte, err := json.Marshal(weightList)
- if err != nil {
- logs.Error("AddRealTimeWeight-error4: ", err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- _, err = tx.SQL(`REPLACE INTO recweightmuster (pid, pastureid, weightjson)values (?,?,?)`, pid, pastureid, string(weightbyte)).Execute()
- if err != nil {
- logs.Error("AddRealTimeWeight-error5: ", err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- appG.Response(http.StatusOK, e.SUCCESS, true)
- }
- func GetDownloadedplanMaterialList(c *gin.Context) {
- appG := app.Gin{C: c}
- dataByte, _ := ioutil.ReadAll(c.Request.Body)
- fsion := gofasion.NewFasion(string(dataByte))
- pastureid := fsion.Get("pastureid").ValueStr()
- date := fsion.Get("date").ValueStr()
- datacaptureno := fsion.Get("datacaptureno").ValueStr()
- // date := reqInfo.Date
- // datacaptureno := reqInfo.Datacaptureno
- tx := restful.Engine.NewSession()
- defer tx.Close()
- tclassid := ""
- tmrList, err := tx.SQL(` select tclassid from tmr where datacaptureno = ? `, datacaptureno).QueryString()
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- for _, tmr := range tmrList {
- tclassid = tmr["tclassid"]
- }
- downloadedplanInfo := make([]*downloadedplan, 0)
- err = tx.SQL(` select d.lpplantype,d.times,d.sort,d.times shifts,d.id,date_format(d.mydate ,'%Y-%m-%d') as mydate ,d.projname,d.datacaptureno,d.lweight,d.havebutton,d.feedpname,d.iscompleted,d.remark,d.tmrtname from downloadedplan d
- where d.mydate = ? and d.pastureid = ? and (d.datacaptureno is null or d.datacaptureno = ?)
- and ( (? IN(1,2) AND d.lpplanType IN (0,1)) OR (? IN (1,3) AND d.lpplanType IN (0,2)))
- and if(d.lpplantype = 2,if((select count(1) from downloadplandtl1 d1
- where d1.pid = (select id from downloadedplan dd where dd.mydate = d.mydate
- and dd.pastureId = d.pastureid and dd.lpplanType IN (0,1) and dd.pid = d.pid and dd.times = d.times )
- and d1.type = 0 and d1.havebuttom = 0 ) >0 ,1,0 ),0) = 0
- order by d.sort `,
- date, pastureid, datacaptureno, tclassid, tclassid).Find(&downloadedplanInfo)
- if err != nil {
- logs.Error(err)
- appG.Response(http.StatusInternalServerError, e.ERROR, err)
- return
- }
- appG.Response(http.StatusOK, e.SUCCESS, downloadedplanInfo)
- }
|