Browse Source

生成发运单回冲文件时 同时更新serialOrder得ShipBackFlush标识

pull/233/head
zhangxin 2 years ago
parent
commit
e0a3d52ffa
1 changed files with 19 additions and 1 deletions
  1. +19
    -1
      etl_task/BackFlushShipOrder.go

+ 19
- 1
etl_task/BackFlushShipOrder.go View File

@ -3,6 +3,7 @@ package main
import (
dalBase "LAPP_ACURA_MOM_BACKEND/dao/base"
dalJit "LAPP_ACURA_MOM_BACKEND/dao/jit"
omDal "LAPP_ACURA_MOM_BACKEND/dao/om"
"LAPP_ACURA_MOM_BACKEND/etl_task/model"
"LAPP_ACURA_MOM_BACKEND/grmi"
meta "LAPP_ACURA_MOM_BACKEND/meta/base"
@ -148,6 +149,7 @@ func main() {
daoShipOrderDataItem := dalJit.NewShipOrderDataLstDAO(acuraSession, plantNr, userId)
daoPackOrderItem := dalJit.NewPackOrderItemLstDAO(acuraSession, plantNr, userId)
daoArticle := dalBase.NewArticleDAO(acuraSession, plantNr, userId)
daoSerialOrderDao := omDal.NewSerialOrderDAO(acuraSession, plantNr, userId)
// 查询正式发运单 关单 且 未回冲的所有发运单数据
shipOrderDataLi, err := daoShipOrderStatus.SelectUnBackFlushedShipOrder()
if err != nil {
@ -163,6 +165,7 @@ func main() {
shipOrderIdLi := make([]interface{}, len(shipOrderDataLi))
waitWriteLi := make([]string, 0)
var pos = 1
serialOrderIdLi := make([]string, 0)
for _, shipOrderData := range shipOrderDataLi {
artQtyMap := make(map[string]int)
artErpQtyMap := make(map[string]int, len(artQtyMap))
@ -184,7 +187,10 @@ func main() {
return
}
}
packOrderItemLi, err := daoPackOrderItem.Select([]grmi.Predicate{metaJit.PackOrderItemLst_PackOrderId.NewPredicate(grmi.Include, packOrderIdLi...)}, nil)
packOrderItemLi, err := daoPackOrderItem.Select([]grmi.Predicate{
metaJit.PackOrderItemLst_PackOrderId.NewPredicate(grmi.Include, packOrderIdLi...),
metaJit.PackOrderItemLst_Status.NewPredicate(grmi.Equal, modelJit.PACK_STATUS_CLOSED),
}, nil)
if err != nil {
fmt.Println("查询包装单子项失败, error:" + err.Error())
return
@ -196,6 +202,7 @@ func main() {
} else {
artQtyMap[packOrderItem.PartId] += 1
}
serialOrderIdLi = append(serialOrderIdLi, packOrderItem.SerialOrderId)
}
for artId, qty := range artQtyMap {
//article, err := daoArticle.SelectOne(artId)
@ -257,6 +264,17 @@ func main() {
fmt.Println("更新发运单回冲状态失败, error:" + err.Error())
return
}
count, err := daoSerialOrderDao.UpdateShipBackFlushFlag(serialOrderIdLi)
if err != nil {
_ = acuraSession.Rollback()
fmt.Println("更新工单回冲状态失败, error:" + err.Error())
return
}
if int(count) != len(serialOrderIdLi) {
_ = acuraSession.Rollback()
fmt.Println("更新工单回冲状态数量和查询的数量不一致, 更新数量:" + strconv.Itoa(int(count)) + ", 查询数量:" + strconv.Itoa(len(serialOrderIdLi)))
return
}
//OpenFile读取文件,不存在时则创建,使用追加模式
File, err := os.OpenFile(filepath, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0777)
if err != nil {


Loading…
Cancel
Save