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 } }