From cdc40602cbdafcc5a8730a176623c6b25b1ab782 Mon Sep 17 00:00:00 2001 From: zhangxin Date: Mon, 9 May 2022 12:38:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E4=BC=A0execel?= =?UTF-8?q?=E4=B8=8D=E6=B4=BE=E5=B7=A5=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../implments/CustOrderLogic.service.impl.go | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/services/pln/implments/CustOrderLogic.service.impl.go b/services/pln/implments/CustOrderLogic.service.impl.go index df22ccd..ff7b728 100644 --- a/services/pln/implments/CustOrderLogic.service.impl.go +++ b/services/pln/implments/CustOrderLogic.service.impl.go @@ -233,7 +233,7 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User, } custOrderWorkLineMap[workLineId] = append(custOrderWorkLineMap[workLineId], custOrder) } - + releaseCustOrderLi := make([]model.CustOrder, 0) for workLineId, custOrderLi := range custOrderWorkLineMap { for index, custOrder := range custOrderLi { project := projectMap[custOrder.ProjectId] @@ -251,14 +251,29 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User, } endDate = endDate.AddDate(0, 0, 2) for workLineId, custOrderLi := range custOrderWorkLineMap { - _, err = impl.AutoScheduler(user, session, workLineId, startDate, endDate, custOrderLi) + sortCustOrderLi, err := impl.AutoScheduler(user, session, workLineId, startDate, endDate, custOrderLi) if err != nil { _ = session.Rollback() return grmi.NewBusinessError("自动排程失败,错误:" + err.Error()) } + releaseCustOrderLi = append(releaseCustOrderLi, sortCustOrderLi...) } - _ = session.Commit() + sort.Slice(releaseCustOrderLi, func(i, j int) bool { + itemI := releaseCustOrderLi[i] + itemJ := releaseCustOrderLi[j] + return itemJ.PlanStartTime.Restore().Before(itemI.PlanStartTime.Restore()) + }) + plantNr := user.PlantNr + channel, exist := common.ReleaseTaskChannel[plantNr] + if !exist { + common.ReleaseTaskChannel[plantNr] = make(chan model.CustOrder, 50) + channel = common.ReleaseTaskChannel[plantNr] + } + for _, custOrder := range releaseCustOrderLi { + fmt.Println("custORderId:", custOrder.CustOrderId) + channel <- custOrder + } return nil } @@ -296,7 +311,6 @@ func (impl *CustOrderServiceImplement) ReleaseCustOrder(user *global.User, custO needReleaseQty := custOrderData.OrderQty.PlanQty - custOrderData.OrderQty.ReleasedQty - custOrderData.OrderQty.CancelQty log.Info("开始派工, 当前派工客户订单ID:" + custOrderData.CustOrderId + ", 需要派工数量:" + strconv.Itoa(needReleaseQty)) // 获取客户订单的车型配置下的所有座椅 - fmt.Println("---------------------------custOrderId:", custOrderData.CustOrderId) productLi, err := productFamilyRelateDao.SelectProductByFamilyIdForCreateSerialOrder(custOrderData.ProjectId, custOrderData.ProductFamilyId) if err != nil { return grmi.NewBusinessError("通过车型配置查询关联座椅产品失败, error:" + err.Error())