Browse Source

2021/4/8 scheduler oemseq 加条件小于9999999999 seq+1bug修复

master
娄文智 3 years ago
parent
commit
c8481b894c
2 changed files with 13 additions and 15 deletions
  1. +12
    -12
      db/Pln_workorder.go
  2. +1
    -3
      service/Custorder.go

+ 12
- 12
db/Pln_workorder.go View File

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


+ 1
- 3
service/Custorder.go View File

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


Loading…
Cancel
Save