From c8481b894c59bf37cf97a6b7b634c9b23a0d7f75 Mon Sep 17 00:00:00 2001 From: louwenzhi Date: Thu, 8 Apr 2021 15:56:30 +0800 Subject: [PATCH] =?UTF-8?q?2021/4/8=20=20=20=20scheduler=20=20oemseq=20?= =?UTF-8?q?=E5=8A=A0=E6=9D=A1=E4=BB=B6=E5=B0=8F=E4=BA=8E9999999999=20=20?= =?UTF-8?q?=20seq+1bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/Pln_workorder.go | 24 ++++++++++++------------ service/Custorder.go | 4 +--- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/db/Pln_workorder.go b/db/Pln_workorder.go index 078b466..5e5d799 100644 --- a/db/Pln_workorder.go +++ b/db/Pln_workorder.go @@ -390,8 +390,8 @@ func (t *Pln_workorder) GetLineUnfinishedTaskWorkorders(lineid string, qty int) e := G_DbEngine wotem := make([]Pln_workorder, 0) //Ordertype为SEQ状态去重 - if err = e.Distinct("oemseq").Where("finr = ? and worklineid = ? and status = ?", - G_FINR, lineid, common.WO_STATUS_PLANNED).Asc("oemseq").Limit(qty).Find(&wotem); err != nil { + if err = e.Distinct("oemseq").Where("finr = ? and worklineid = ? and status = ? and oemseq < ?", + G_FINR, lineid, common.WO_STATUS_PLANNED,9999999999).Asc("oemseq").Limit(qty).Find(&wotem); err != nil { return } var oemseqarr []float64 @@ -399,8 +399,8 @@ func (t *Pln_workorder) GetLineUnfinishedTaskWorkorders(lineid string, qty int) oemseqarr = append(oemseqarr, v.Oemseq) } //Ordertype为SEQ状态去重 - if err = e.Where("finr = ? and worklineid = ? and status = ?", - G_FINR, lineid, common.WO_STATUS_PLANNED).In("oemseq", oemseqarr).Asc("preschedseq").Find(&wotabs); err != nil { + if err = e.Where("finr = ? and worklineid = ? and status = ? and oemseq < ?", + G_FINR, lineid, common.WO_STATUS_PLANNED,9999999999).In("oemseq", oemseqarr).Asc("preschedseq").Find(&wotabs); err != nil { return } @@ -414,8 +414,8 @@ func (t *Pln_workorder) GetLineProjectUnfinishedTaskWorkorders(projnr string, li wotem := make([]Pln_workorder, 0) //Ordertype为SEQ状态去重 - if err = e.Distinct("oemseq").Where("finr = ? and projnr = ? and worklineid = ? and status = ?", - G_FINR, projnr, lineid, common.WO_STATUS_PLANNED).Asc("oemseq","supplygroupid").Limit(qty).Find(&wotem); err != nil { + if err = e.Distinct("oemseq").Where("finr = ? and projnr = ? and worklineid = ? and status = ? and oemseq < ?", + G_FINR, projnr, lineid, common.WO_STATUS_PLANNED,9999999999).Asc("oemseq","supplygroupid").Limit(qty).Find(&wotem); err != nil { return } var oemseqarr []float64 @@ -423,8 +423,8 @@ func (t *Pln_workorder) GetLineProjectUnfinishedTaskWorkorders(projnr string, li oemseqarr = append(oemseqarr, v.Oemseq) } //Ordertype为SEQ状态去重 - if err = e.Where("finr = ? and projnr = ? and worklineid = ? and status = ?", - G_FINR, projnr, lineid, common.WO_STATUS_PLANNED).In("oemseq", oemseqarr).Asc("preschedseq", "supplygroupid").Find(&wotabs); err != nil { + if err = e.Where("finr = ? and projnr = ? and worklineid = ? and status = ? and oemseq < ?", + G_FINR, projnr, lineid, common.WO_STATUS_PLANNED,9999999999).In("oemseq", oemseqarr).Asc("preschedseq", "supplygroupid").Find(&wotabs); err != nil { return } @@ -446,8 +446,8 @@ func (t *Pln_workorder) GetLineProjectUnfinishedTaskWorkordersBySwet(projnr stri func (t *Pln_workorder) GetLineProjectUnfinishedTaskWorkordersBySwetLimitOemseq(projnr string, lineid string, qty int,oemseq float64) (wotabs []Pln_workorder, err error) { e := G_DbEngine - if err = e.Where("finr = ? and projnr = ? and worklineid = ? and status = ? and oemseq <= ?", - G_FINR, projnr, lineid, common.WO_STATUS_PLANNED,oemseq).Asc("oemseq", "supplygroupid").Limit(qty).Find(&wotabs); err != nil { + if err = e.Where("finr = ? and projnr = ? and worklineid = ? and status = ? and oemseq <= ? and oemseq < ?", + G_FINR, projnr, lineid, common.WO_STATUS_PLANNED,oemseq,9999999999).Asc("oemseq", "supplygroupid").Limit(qty).Find(&wotabs); err != nil { return } @@ -458,8 +458,8 @@ func (t *Pln_workorder) GetLineUnfinishedTaskWorkordersBySwet(lineid string) (wo e := G_DbEngine //查询100条数据,并且排序 - if err = e.Where("finr = ? and worklineid = ? and status = ?", - G_FINR, lineid, common.WO_STATUS_PLANNED).Asc("oemseq", "supplygroupid").Limit(100).Find(&wotem); err != nil { + if err = e.Where("finr = ? and worklineid = ? and status = ? and oemseq < ?", + G_FINR, lineid, common.WO_STATUS_PLANNED,9999999999).Asc("oemseq", "supplygroupid").Limit(100).Find(&wotem); err != nil { return } return diff --git a/service/Custorder.go b/service/Custorder.go index d2697bb..5313d37 100644 --- a/service/Custorder.go +++ b/service/Custorder.go @@ -305,8 +305,7 @@ func (bl_co *BL_CustOrder) AssignNeutralPart(tp *TodProject) (err error) { continue } // 判断供应组是否没有零件,没有相当于取消,则不再分配 - //fmt.Println("客户订单:",bl_co.Custordernr,"供应组:",partruledatatab.Supplygroupid,"SEQ+",bl_co.SeqType,"零件数:",len(bl_co.Bl_usgdict[sgptnew.Supplygroupid].Bl_sgpartDict)) - if bl_co.SeqType == 1 && len(bl_co.Bl_usgdict[sgptnew.Supplygroupid].Bl_sgpartDict) <= 0 { + if bl_co.SeqType == 1 && len(bl_co.Bl_usgdict[partruledatatab.Supplygroupid].Bl_sgpartDict) <= 0 { continue } @@ -316,7 +315,6 @@ func (bl_co *BL_CustOrder) AssignNeutralPart(tp *TodProject) (err error) { sgptnew.Qty = partruledatatab.Assignqty sgptnew.Supplygroupid = partruledatatab.Supplygroupid // 保留共用件原供应组ID信息 sgptnew.Originalsgid = bl_sg.Supplygroupid - //fmt.Println(" 分配共用件:",sgptnew) bl_co.Bl_usgdict[sgptnew.Supplygroupid].Bl_sgpartDict[sgptnew.Partid] = sgptnew } }