Browse Source

Merge pull request 'develop' (#212) from develop into master

Reviewed-on: #212
feature_specialship V1.1.5
zhangxin 2 years ago
parent
commit
4f106d4d33
8 changed files with 175 additions and 118 deletions
  1. +13
    -5
      dao/jit/implments/PackOrder.dao.impl.go
  2. +15
    -10
      dao/jit/implments/PackOrderItemLst.dao.impl.go
  3. +1
    -1
      dao/jit/implments/ShipOrderItemLst.dao.impl.go
  4. +1
    -0
      dao/me/ProductFamilyRelate.dao.go
  5. +22
    -0
      dao/me/implments/ProductFamilyRelate.dao.impl.go
  6. +95
    -36
      services/jit/implments/ShipOrder.service.impl.go
  7. +20
    -54
      services/pln/implments/CustOrder.service.impl.go
  8. +8
    -12
      services/pln/implments/HondaCalloff.service.impl.go

+ 13
- 5
dao/jit/implments/PackOrder.dao.impl.go View File

@ -394,15 +394,23 @@ func (impl *PackOrderDAOImplement) SelectUserClosePackOrder(startDayTime string,
parameters := []interface{}{impl.plantNr, startDayTime, endDayTime, model.PACK_TYPE_STD, model.PACK_STATUS_CLOSED}
where := fmt.Sprintf("%s = ? and %s >= ? and %s < ? and %s = ? and %s = ?",
meta.PackOrder_PlantNr.ColumnName,
meta.PackOrder_OpenTime.ColumnName,
meta.PackOrder_OpenTime.ColumnName,
meta.PackOrder_CloseTime.ColumnName,
meta.PackOrder_CloseTime.ColumnName,
meta.PackOrder_PackTypeId.ColumnName,
meta.PackOrderStatus_Status.ColumnName)
data := make([]model.PackOrder, 0, 10)
err := session.Where(where, parameters...).In(omMeta.SerialOrder_PlanResourceId.Name,worklineIds).Find(&data)
err := session.Where(where, parameters...).In(omMeta.SerialOrder_PlanResourceId.Name, worklineIds).Find(&data)
if err != nil {
return nil, grmi.NewDataBaseError(err)
}
return data, nil
datalist := make([]model.PackOrder, 0, 10)
packMap := make(map[string]model.PackOrder)
for _, v := range data {
_, ok := packMap[v.PackOrderId]
if !ok {
packMap[v.PackOrderId] = v
datalist = append(datalist, v)
}
}
return datalist, nil
}

+ 15
- 10
dao/jit/implments/PackOrderItemLst.dao.impl.go View File

@ -356,16 +356,15 @@ func (impl *PackOrderItemLstDAOImplement) GetMaxPost(packOrderId string) (int, e
}
// GetUnFlushBackData 获取回冲包装单数据
func (impl *PackOrderItemLstDAOImplement) GetUnFlushBackData(now string) ([]model.BackFlushData, error) {
func (impl *PackOrderItemLstDAOImplement) GetUnFlushBackData(now string) ([]model.BackFlushData, error) {
result := make([]model.BackFlushData, 0)
sql := `SELECT JIT_PackOrder.*, status.*, JIT_PackOrderItemLst.*, OM_SerialOrder.* FROM ( (SELECT * FROM JIT_PackOrderStatus WHERE Status = 80 AND BackflushedToggle = 0 AND LastModify < ? ) status INNER JOIN JIT_PackOrder ON status.PlantNr = JIT_PackOrder.PlantNr AND status.PackOrderId = JIT_PackOrder.PackOrderId LEFT JOIN JIT_PackOrderItemLst ON status.PlantNr = JIT_PackOrderItemLst.PlantNr AND status.PackOrderId = JIT_PackOrderItemLst.PackOrderId LEFT JOIN OM_SerialOrder ON JIT_PackOrderItemLst.PlantNr = OM_SerialOrder.PlantNr AND JIT_PackOrderItemLst.SerialOrderId = OM_SerialOrder.SerialOrderId ) WHERE OM_SerialOrder.BackFlushFlag = 0 Order By JIT_PackOrderItemLst.PackOrderId, JIT_PackOrderItemLst.Pos;`
err := impl.session.Table(impl.meta.TableName).SQL(sql, now).Find(&result)
return result, err
}
// SelectPackOrderByBarcode 通过工单条码查询包装单
func (impl *PackOrderItemLstDAOImplement) SelectPackOrderByBarcode(paging *grmi.Paging, barcode string) (grmi.PagingResult, error) {
func (impl *PackOrderItemLstDAOImplement) SelectPackOrderByBarcode(paging *grmi.Paging, barcode string) (grmi.PagingResult, error) {
condition := fmt.Sprintf("%s = %s and %s = %s",
meta.PackOrder_PlantNr.ColumnName,
meta.PackOrderItemLst_PlantNr.ColumnName,
@ -376,21 +375,20 @@ func (impl *PackOrderItemLstDAOImplement) SelectPackOrderByBarcode(paging *grmi.
var data []model.PackOrder
count, err := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.PackOrder.TableName, condition).Where(where, parameters...).Count(impl.meta.Indicator)
if err != nil {
return grmi.EmptyPagingResult, err
return grmi.EmptyPagingResult, err
}
joinStr := fmt.Sprintf(" left join %s on %s",
meta.PackOrder.TableName, condition)
parameters = append(parameters, paging.Offset(), paging.Size)
orderBy := " order by " + meta.PackOrderItemLst_PlantNr.ColumnName + " , " + meta.PackOrderItemLst_PackOrderId.SortColumnName
where = " where " + where
err = impl.session.Table(impl.meta.TableName).SQL("select * from ["+impl.meta.TableName+"]" +joinStr +where+orderBy+" offset ? row fetch next ? row only", parameters...).Find(&data)
err = impl.session.Table(impl.meta.TableName).SQL("select * from ["+impl.meta.TableName+"]"+joinStr+where+orderBy+" offset ? row fetch next ? row only", parameters...).Find(&data)
if err != nil {
return grmi.EmptyPagingResult, err
}
return grmi.PagingResult{Records: data, Count: count, PageNumber: paging.Number, PageSize: paging.Size}, nil
}
// SelectShipOrderBySerialOrderId 通过工单ID查询发运单
func (impl *PackOrderItemLstDAOImplement) SelectShipOrderBySerialOrderId(serialOrderId string) ([]interface{}, error) {
parameters := []interface{}{impl.plantNr, serialOrderId}
@ -415,9 +413,16 @@ func (impl *PackOrderItemLstDAOImplement) SelectShipOrderBySerialOrderId(serialO
******************************************************************************/
func (impl *PackOrderItemLstDAOImplement) SelectListByOrders(serialOrderIds []string) ([]model.PackOrderItemLst, error) {
data := make([]model.PackOrderItemLst, 0)
err := impl.session.Table(impl.meta.TableName).Where("PlantNr = ? and Status = ?", impl.plantNr, baseModel.PACK_STATUS_CLOSED).In("SerialOrderId", serialOrderIds).Asc("Pos").Find(&data)
if err != nil {
return nil, grmi.NewDataBaseError(err)
for _, serialOrderId := range serialOrderIds {
oneInfo := model.PackOrderItemLst{}
ok, err := impl.session.Table(impl.meta.TableName).Where("PlantNr = ? and Status = ? and SerialOrderId = ?", impl.plantNr, baseModel.PACK_STATUS_CLOSED, serialOrderId).Get(&oneInfo)
if err != nil {
return nil, grmi.NewDataBaseError(err)
}
if ok {
data = append(data, oneInfo)
}
}
return data, nil
}
}

+ 1
- 1
dao/jit/implments/ShipOrderItemLst.dao.impl.go View File

@ -344,6 +344,6 @@ func (impl *ShipOrderItemLstDAOImplement) SelectItemListWithData(shipOrderId str
meta.ShipOrderItemLst_PlantNr.ColumnName,
meta.ShipOrderItemLst_ShipOrderId.ColumnName)
data := make([]model.ShipOrderItemLstWithData, 0)
err := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.ShipOrderDataLst.TableName, condition).Where(where, parameters...).OrderBy(meta.ShipOrderItemLst_Pos.SortColumnName).Find(&data)
err := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.ShipOrderDataLst.TableName, condition).Where(where, parameters...).Desc(meta.ShipOrderItemLst_Pos.SortColumnName).Find(&data)
return data, err
}

+ 1
- 0
dao/me/ProductFamilyRelate.dao.go View File

@ -284,6 +284,7 @@ type ProductFamilyRelateDAO interface {
*
******************************************************************************/
GetMaxPos(shipOrderId string) (int, error)
SelectPackProductByFamilyId(projectId string, familyId string) ([]model.Product, error)
}
/******************************************************************************


+ 22
- 0
dao/me/implments/ProductFamilyRelate.dao.impl.go View File

@ -370,3 +370,25 @@ func (impl *ProductFamilyRelateDAOImplement) GetMaxPos(productFamilyId string) (
}
return data.Pos, nil
}
/******************************************************************************
*
* @Reference LAPP_ACURA_MOM_BACKEND/dao/me/ProductFamilyRelateDAO.SelectProductByFamilyId
*
******************************************************************************/
func (impl *ProductFamilyRelateDAOImplement) SelectPackProductByFamilyId(projectId string, familyId string) ([]model.Product, error) {
result := make([]model.Product, 0, 4)
parameters := []interface{}{impl.plantNr, projectId, familyId, true}
where := fmt.Sprintf("%s = ? and %s = ? and %s = ? and %s = ?",
meta.ProductFamilyRelate_PlantNr.ColumnName,
meta.ProductFamilyRelate_ProjectId.ColumnName,
meta.ProductFamilyRelate_ProductFamilyId.ColumnName,
meta.Product_CreatePackOrderToggle.ColumnName)
condition := fmt.Sprintf("%s = %s and %s = %s",
meta.ProductFamilyRelate_PlantNr.ColumnName,
meta.Product_PlantNr.ColumnName,
meta.ProductFamilyRelate_ProductId.ColumnName,
meta.Product_ProductId.ColumnName)
err := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.Product.TableName, condition).Where(where, parameters...).OrderBy(meta.ProductFamilyRelate_ProductId.SortColumnName).Find(&result)
return result, err
}

+ 95
- 36
services/jit/implments/ShipOrder.service.impl.go View File

@ -191,7 +191,7 @@ func (impl *ShipOrderServiceImplement) DeleteOne(user *global.User, shipOrderId
_ = session.Rollback()
return grmi.NewBusinessError("查询发运单数据项失败, 错误:" + err.Error())
}
for _ , scanData := range scanDataLstLi {
for _, scanData := range scanDataLstLi {
packOrderStatus, err := packOrderStatusDao.SelectOne(scanData.PackOrderId)
if err != nil {
_ = session.Rollback()
@ -1042,7 +1042,7 @@ func (impl *ShipOrderServiceImplement) ScanBarCode(user *global.User, barCode st
shipOrder.ShipOrder.ActQty += 1
shipOrder.ShipOrder.Operator = user.UserId
if shipOrder.ShipOrder.PlanQty == shipOrder.ShipOrder.ActQty {
isClosed = true
isClosed = true
shipOrder.ShipOrder.CloseTime = grmi.DateTime(time.Now())
status = model.SHIP_STATUS_CLOSED
}
@ -1101,7 +1101,7 @@ func (impl *ShipOrderServiceImplement) ScanBarCode(user *global.User, barCode st
return nil, grmi.NewBusinessError("发运单未获取到需要发运的子项")
}
// 按倒叙进行发运 扫描最后一个包装
shipOrderLst := shipOrderLstLi[0]
shipOrderLst := shipOrderLstLi[len(shipOrderLstLi)-1]
// 不适用包装单上的派生ID 直接校验包装单里座椅数据
packTemplate, err := packTemplateDao.SelectOne(shipOrderLst.PackTemplateId)
@ -1294,6 +1294,8 @@ func (impl *ShipOrderServiceImplement) ChangeAdvanceToFormal(user *global.User,
shipOrderStatusHistoryDao := dal.NewShipOrderStatusHistoryDAO(session, user.PlantNr, user.UserId)
packOrderStatusDao := dal.NewPackOrderStatusDAO(session, user.PlantNr, user.UserId)
packOrderStatusHistoryDao := dal.NewPackOrderStatusHistoryDAO(session, user.PlantNr, user.UserId)
packOrderItemDao := dal.NewPackOrderItemLstDAO(session, user.PlantNr, user.UserId)
productFamilyRelateDao := meDal.NewProductFamilyRelateDAO(session, user.PlantNr, user.UserId)
// 1. 校验预发运单
advanceShipOrder, err := shipOrderDao.SelectOneWithStatus(advanceShipOrderId)
if err != nil {
@ -1322,40 +1324,97 @@ func (impl *ShipOrderServiceImplement) ChangeAdvanceToFormal(user *global.User,
if formalShipOrder.ShipOrderStatus.Status != model.SHIP_STATUS_PLANNED {
return grmi.NewBusinessError("该正式发运单已在操作中, 发运单ID:" + formalShipOrderId)
}
// 3. 比对两个发运单的子项
advanceShipOrderItemLi, err := shipOrderLstDao.Select([]grmi.Predicate{meta.ShipOrderItemLst_ShipOrderId.NewPredicate(grmi.Equal, advanceShipOrderId), meta.ShipOrderItemLst_Status.NewPredicate(grmi.Equal, model.SHIP_STATUS_CLOSED)}, []grmi.Field{meta.ShipOrderItemLst_Pos})
// 3. 比对两个发运单的子项的数据
advanceShipOrderDataLi, err := shipOrderDataLstDao.Select([]grmi.Predicate{
meta.ShipOrderDataLst_ShipOrderId.NewPredicate(grmi.Equal, advanceShipOrderId),
}, []grmi.Field{meta.ShipOrderDataLst_ItemPos})
if err != nil {
return grmi.NewBusinessError("查询预发运单子项失败, error:" + err.Error())
return grmi.NewBusinessError("查询预发运单数据项失败, 错误:" + err.Error())
}
advanceShipOrderDataMap := make(map[string]int)
for _, shipOrderData := range advanceShipOrderDataLi {
packOrderItemLi, err := packOrderItemDao.Select([]grmi.Predicate{
meta.PackOrderItemLst_PackOrderId.NewPredicate(grmi.Equal, shipOrderData.PackOrderId),
meta.PackOrderItemLst_Status.NewPredicate(grmi.Equal, model.PACK_STATUS_CLOSED),
}, []grmi.Field{meta.PackOrderItemLst_PartId})
if err != nil {
return grmi.NewBusinessError("查询包装单子项失败, 错误:" + err.Error())
}
var key string
for _, packOrderItem := range packOrderItemLi {
key += packOrderItem.PartId
}
_, exist := advanceShipOrderDataMap[key]
if !exist {
advanceShipOrderDataMap[key] = 1
} else {
advanceShipOrderDataMap[key] += 1
}
}
formalShipOrderItemLi, err := shipOrderLstDao.Select([]grmi.Predicate{meta.ShipOrderItemLst_ShipOrderId.NewPredicate(grmi.Equal, formalShipOrderId)}, []grmi.Field{meta.ShipOrderItemLst_Pos})
if err != nil {
return grmi.NewBusinessError("查询正式发运单子项失败, error:" + err.Error())
}
advancePackTemplateMap := make(map[string]int)
for _, advanceShipOrderItem := range advanceShipOrderItemLi {
_, exist := advancePackTemplateMap[advanceShipOrderItem.PackTemplateId]
if exist {
advancePackTemplateMap[advanceShipOrderItem.PackTemplateId] += advanceShipOrderItem.PlanQty
formalShipOrderCarSetMap := make(map[string]int)
for _, shipOrderItem := range formalShipOrderItemLi {
_, exist := formalShipOrderCarSetMap[shipOrderItem.PackTemplateId]
if !exist {
formalShipOrderCarSetMap[shipOrderItem.PackTemplateId] = 1
} else {
formalShipOrderCarSetMap[shipOrderItem.PackTemplateId] += 1
}
advancePackTemplateMap[advanceShipOrderItem.PackTemplateId] = advanceShipOrderItem.PlanQty
}
formalPackTemplateMap := make(map[string]int)
for _, formalShipOrderItem := range formalShipOrderItemLi {
_, exist := formalPackTemplateMap[formalShipOrderItem.PackTemplateId]
if exist {
formalPackTemplateMap[formalShipOrderItem.PackTemplateId] += formalShipOrderItem.PlanQty
for productFamilyId, qty := range formalShipOrderCarSetMap {
productLi, err := productFamilyRelateDao.SelectPackProductByFamilyId(formalShipOrder.ProjectId, productFamilyId)
if err != nil {
return grmi.NewBusinessError("查询派生打包总成数据失败, 错误:" + err.Error())
}
formalPackTemplateMap[formalShipOrderItem.PackTemplateId] = formalShipOrderItem.PlanQty
}
for packTemplateId, qty := range formalPackTemplateMap {
advanceQty, exist := advancePackTemplateMap[packTemplateId]
var key string
for _, product := range productLi {
key += product.ProductId
}
advanceQty, exist := advanceShipOrderDataMap[key]
if !exist {
return grmi.NewBusinessError("两个发运单发运子项不匹配, 包装模板不匹配, 包装模板ID:" + packTemplateId)
return grmi.NewBusinessError("两个发运单发运子项不匹配, 包装模板不匹配, 包装模板ID:" + productFamilyId)
}
if qty != advanceQty {
return grmi.NewBusinessError("两个发运单发运子项不匹配, 包装模板数量不匹配, 包装模板ID:" + packTemplateId)
return grmi.NewBusinessError("两个发运单发运子项不匹配, 包装模板数量不匹配, 包装模板ID:" + productFamilyId)
}
}
//advanceShipOrderItemLi, err := shipOrderLstDao.Select([]grmi.Predicate{meta.ShipOrderItemLst_ShipOrderId.NewPredicate(grmi.Equal, advanceShipOrderId), meta.ShipOrderItemLst_Status.NewPredicate(grmi.Equal, model.SHIP_STATUS_CLOSED)}, []grmi.Field{meta.ShipOrderItemLst_Pos})
//if err != nil {
// return grmi.NewBusinessError("查询预发运单子项失败, error:" + err.Error())
//}
//formalShipOrderItemLi, err := shipOrderLstDao.Select([]grmi.Predicate{meta.ShipOrderItemLst_ShipOrderId.NewPredicate(grmi.Equal, formalShipOrderId)}, []grmi.Field{meta.ShipOrderItemLst_Pos})
//if err != nil {
// return grmi.NewBusinessError("查询正式发运单子项失败, error:" + err.Error())
//}
//advancePackTemplateMap := make(map[string]int)
//for _, advanceShipOrderItem := range advanceShipOrderItemLi {
// _, exist := advancePackTemplateMap[advanceShipOrderItem.PackTemplateId]
// if exist {
// advancePackTemplateMap[advanceShipOrderItem.PackTemplateId] += advanceShipOrderItem.PlanQty
// }
// advancePackTemplateMap[advanceShipOrderItem.PackTemplateId] = advanceShipOrderItem.PlanQty
//}
//formalPackTemplateMap := make(map[string]int)
//for _, formalShipOrderItem := range formalShipOrderItemLi {
// _, exist := formalPackTemplateMap[formalShipOrderItem.PackTemplateId]
// if exist {
// formalPackTemplateMap[formalShipOrderItem.PackTemplateId] += formalShipOrderItem.PlanQty
// }
// formalPackTemplateMap[formalShipOrderItem.PackTemplateId] = formalShipOrderItem.PlanQty
//}
//for packTemplateId, qty := range formalPackTemplateMap {
// advanceQty, exist := advancePackTemplateMap[packTemplateId]
// if !exist {
// return grmi.NewBusinessError("两个发运单发运子项不匹配, 包装模板不匹配, 包装模板ID:" + packTemplateId)
// }
// if qty != advanceQty {
// return grmi.NewBusinessError("两个发运单发运子项不匹配, 包装模板数量不匹配, 包装模板ID:" + packTemplateId)
// }
//}
// 4. 对比通过 进行数据映射
if err = session.Begin(); err != nil {
return grmi.NewBusinessError("开启事务失败, error:" + err.Error())
@ -1772,13 +1831,13 @@ func (impl *ShipOrderServiceImplement) WithdrawShipOrderItem(user *global.User,
if shipOrder.ShipType == model.SHIP_TYPE_FORMAL {
packOrderStatusHistory := model.PackOrderStatusHistory{
PackOrderId: packOrderId,
Pos: maxPos+1,
PackOrderId: packOrderId,
Pos: maxPos + 1,
StatusChangeType: model.SHIP_STATUS_CHANGE_TYPE_SHIP,
FromStatus: packOrderStatus.ShipStatus,
ToStatus: model.PACK_STATUS_PLANNED,
ChangeTime: grmi.DateTime(time.Now()),
TriggerPara1: model.SHIP_TYPE_FORMAL,
FromStatus: packOrderStatus.ShipStatus,
ToStatus: model.PACK_STATUS_PLANNED,
ChangeTime: grmi.DateTime(time.Now()),
TriggerPara1: model.SHIP_TYPE_FORMAL,
}
err = packOrderStatusHistoryDao.InsertOne(&packOrderStatusHistory)
if err != nil {
@ -1788,13 +1847,13 @@ func (impl *ShipOrderServiceImplement) WithdrawShipOrderItem(user *global.User,
packOrderStatus.ShipStatus = model.PACK_STATUS_PLANNED
} else {
packOrderStatusHistory := model.PackOrderStatusHistory{
PackOrderId: packOrderId,
Pos: maxPos+1,
PackOrderId: packOrderId,
Pos: maxPos + 1,
StatusChangeType: model.SHIP_STATUS_CHANGE_TYPE_SHIP,
FromStatus: packOrderStatus.LoadStatus,
ToStatus: model.PACK_STATUS_PLANNED,
ChangeTime: grmi.DateTime(time.Now()),
TriggerPara1: model.SHIP_TYPE_ADVANCE,
FromStatus: packOrderStatus.LoadStatus,
ToStatus: model.PACK_STATUS_PLANNED,
ChangeTime: grmi.DateTime(time.Now()),
TriggerPara1: model.SHIP_TYPE_ADVANCE,
}
err = packOrderStatusHistoryDao.InsertOne(&packOrderStatusHistory)
if err != nil {
@ -1817,4 +1876,4 @@ func (impl *ShipOrderServiceImplement) WithdrawShipOrderItem(user *global.User,
}
_ = session.Commit()
return nil
}
}

+ 20
- 54
services/pln/implments/CustOrder.service.impl.go View File

@ -2971,9 +2971,19 @@ func (impl *CustOrderServiceImplement) CountTarget(user *global.User, workLineId
now := time.Now()
result := model.TargetItem{}
custOrderDao := dal.NewCustOrderDAO(session, user.PlantNr, user.UserId)
serialOrderDao := omDal.NewSerialOrderDAO(session, user.PlantNr, user.UserId)
packDao := jitDal.NewPackOrderItemLstDAO(session, user.PlantNr, user.UserId)
packDao := jitDal.NewPackOrderDAO(session, user.PlantNr, user.UserId)
workLineDao := baseDal.NewWorkLineDAO(session, user.PlantNr, user.UserId)
workLineLi, err := workLineDao.Select([]grmi.Predicate{baseMeta.WorkLine_GroupLineId.NewPredicate(grmi.Equal, workLineId)}, nil)
if err != nil {
return result, grmi.NewBusinessError("查询工厂产线数据失败, error:" + err.Error())
}
if len(workLineLi) == 0 {
return result, grmi.NewBusinessError("未查询到实体产线")
}
var workLineIds []string
for _, v := range workLineLi {
workLineIds = append(workLineIds, v.WorkLineid)
}
today := now.Format(grmi.DateOutFormat)
start := today + " " + "00:00:00"
end := today + " " + "23:59:59"
@ -2985,61 +2995,17 @@ func (impl *CustOrderServiceImplement) CountTarget(user *global.User, workLineId
if err != nil {
return result, err
}
if len(custOrderLi) == 0 {
result.Target = 0
result.Current = 0
return result, nil
}
//计算计划数量
for _, custOrderData := range custOrderLi {
result.Target += custOrderData.OrderQty.PlanQty - custOrderData.OrderQty.CancelQty
//查询工单对应的派生工单状态!=98的是否都已经进入包装
serialList, err := serialOrderDao.SelectSerialOrderByCustOrder(custOrderData.OrderQty.CustOrderId)
if err != nil {
return result, err
}
if len(serialList) == 0 {
continue
}
//台套对应的派生数量
// 记录生产每个台套下面的工单数量
syncKeyMap := make(map[string][]omModel.SerialOrder)
var orders []string
for _, v := range serialList {
orders = append(orders, v.SerialOrderId)
syncKeyMap[v.SyncKey] = append(syncKeyMap[v.SyncKey], v)
}
//查询进去包装并且包装状态等于80的派生个数
packList, err := packDao.SelectListByOrders(orders)
if err != nil {
return result, err
}
if len(packList) == 0 {
continue
}
//构建包装单map数组
packMap := make(map[string]string)
for _, v := range packList {
packMap[v.SerialOrderId] = v.SerialOrderId
}
//统计数量
for _, serialOrders := range syncKeyMap {
isPack := true
for _, vv := range serialOrders {
key := vv.SerialOrderId
_, ok := packMap[key]
if !ok {
isPack = false
break
}
}
if isPack {
result.Current += 1
}
}
}
//计算打包数量
packList, err := packDao.SelectUserClosePackOrder(start, end, workLineIds)
if err != nil {
return result, err
}
result.Current = len(packList)
return result, nil
}


+ 8
- 12
services/pln/implments/HondaCalloff.service.impl.go View File

@ -815,8 +815,7 @@ func (impl *HondaCalloffServiceImplement) AnalysisData(entity *model.HondaCallof
_ = session.Commit()
return err
}
count := len(detailLi)
for index, detail := range detailLi {
for _, detail := range detailLi {
packTemplate, exist := packTemplateMap[detail.ProductFamilyId]
if !exist {
packTemplate, err = packTemplateDao.SelectOne(detail.ProductFamilyId)
@ -870,7 +869,7 @@ func (impl *HondaCalloffServiceImplement) AnalysisData(entity *model.HondaCallof
}
shipOrderItem := modelJit.ShipOrderItemLst{
ShipOrderId: shipOrderId,
Pos: count - index,
Pos: detail.Pos,
PackTypeId: packTemplate.PackTypeId,
PackTemplateId: detail.ProductFamilyId,
Status: modelJit.SHIP_STATUS_PLANNED,
@ -1113,8 +1112,7 @@ func (impl *HondaCalloffServiceImplement) AnalysisData(entity *model.HondaCallof
_ = session.Commit()
return err
}
count := len(saveDetailLi)
for index, detail := range saveDetailLi {
for _, detail := range saveDetailLi {
packTemplate, exist := packTemplateMap[detail.ProductFamilyId]
if !exist {
packTemplate, err = packTemplateDao.SelectOne(detail.ProductFamilyId)
@ -1168,7 +1166,7 @@ func (impl *HondaCalloffServiceImplement) AnalysisData(entity *model.HondaCallof
}
shipOrderItem := modelJit.ShipOrderItemLst{
ShipOrderId: shipOrderId,
Pos: count - index,
Pos: detail.Pos,
PackTypeId: packTemplate.PackTypeId,
PackTemplateId: detail.ProductFamilyId,
Status: modelJit.SHIP_STATUS_PLANNED,
@ -1364,8 +1362,7 @@ func (impl *HondaCalloffServiceImplement) AnalysisDataWithSession(entity *model.
if err != nil {
return grmi.NewBusinessError("写入发运单状态数据失败, error:" + err.Error())
}
count := len(detailLi)
for index, detail := range detailLi {
for _, detail := range detailLi {
packTemplate, exist := packTemplateMap[detail.ProductFamilyId]
if !exist {
packTemplate, err = packTemplateDao.SelectOne(detail.ProductFamilyId)
@ -1395,7 +1392,7 @@ func (impl *HondaCalloffServiceImplement) AnalysisDataWithSession(entity *model.
}
shipOrderItem := modelJit.ShipOrderItemLst{
ShipOrderId: shipOrderId,
Pos: count - index,
Pos: detail.Pos,
PackTypeId: packTemplate.PackTypeId,
PackTemplateId: detail.ProductFamilyId,
Status: modelJit.SHIP_STATUS_PLANNED,
@ -1470,8 +1467,7 @@ func (impl *HondaCalloffServiceImplement) AnalysisDataWithSession(entity *model.
if err != nil {
return grmi.NewBusinessError("写入发运单状态数据失败, error:" + err.Error())
}
count := len(saveDetailLi)
for index, detail := range saveDetailLi {
for _, detail := range saveDetailLi {
packTemplate, exist := packTemplateMap[detail.ProductFamilyId]
if !exist {
packTemplate, err = packTemplateDao.SelectOne(detail.ProductFamilyId)
@ -1501,7 +1497,7 @@ func (impl *HondaCalloffServiceImplement) AnalysisDataWithSession(entity *model.
}
shipOrderItem := modelJit.ShipOrderItemLst{
ShipOrderId: shipOrderId,
Pos: count - index,
Pos: detail.Pos,
PackTypeId: packTemplate.PackTypeId,
PackTemplateId: detail.ProductFamilyId,
Status: modelJit.SHIP_STATUS_PLANNED,


Loading…
Cancel
Save