From 9686f8ea57b1e231d65132b365996de192b1f06b Mon Sep 17 00:00:00 2001 From: zhangxin Date: Thu, 21 Apr 2022 10:23:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=B9=E6=A8=B1=E6=B3=B0?= =?UTF-8?q?=E9=A1=BA=E5=BC=95=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/me/ProductFamily.model.go | 1 + .../implments/ToyotaCalloff.service.impl.go | 80 +++++++++++-------- 2 files changed, 46 insertions(+), 35 deletions(-) diff --git a/models/me/ProductFamily.model.go b/models/me/ProductFamily.model.go index 61ab3a9..550e0aa 100644 --- a/models/me/ProductFamily.model.go +++ b/models/me/ProductFamily.model.go @@ -35,6 +35,7 @@ type ProductFamily struct { PackTypeId string `xorm:"nvarchar(40) 'PackTypeId' not null" json:"ME_ProductFamily-PackTypeId"` CheckSyncKey bool `xorm:"bit 'CheckSyncKey' not null" json:"ME_ProductFamily-CheckSyncKey"` Enable bool `xorm:"bit 'Enable' not null" json:"ME_ProductFamily-Enable"` + // 代表派生是樱泰的还是安道拓的 CtrlPara1 int `xorm:"int 'CtrlPara1' not null" json:"ME_ProductFamily-CtrlPara1"` CtrlPara2 int `xorm:"int 'CtrlPara2' not null" json:"ME_ProductFamily-CtrlPara2"` CtrlStr1 string `xorm:"nvarchar(255) 'CtrlStr1' not null" json:"ME_ProductFamily-CtrlStr1"` diff --git a/services/pln/implments/ToyotaCalloff.service.impl.go b/services/pln/implments/ToyotaCalloff.service.impl.go index 5be5b59..4900f92 100644 --- a/services/pln/implments/ToyotaCalloff.service.impl.go +++ b/services/pln/implments/ToyotaCalloff.service.impl.go @@ -680,31 +680,53 @@ func (impl *ToyotaCalloffServiceImplement) ParseCallOffData(user *global.User, p } productFamilyMap[callOffData.ProductFamilyId] = productFamily } - productLi, exist := productFamilyRelateMap[callOffData.ProductFamilyId] - if !exist { - productLi, err = productFamilyRelateDao.SelectProductByFamilyId(project.ProjectId, callOffData.ProductFamilyId) - if err != nil { - callOffError := model.ToyotaCallOffErrorLst{ - DemandId: callOffData.DemandId, - Pos: 1, - ErrorType: model.ERROR_TYPE_SYSTEM, - ErrorInfo: "查询派生下座椅总成失败", - ErrorStatus: model.ERROR_STATUS_ON, - } - err = callOffErrDao.InsertOne(&callOffError) + + var seatData string + if productFamily.CtrlPara1 == 1 { // 如果座椅是安道拓的 + productLi, exist := productFamilyRelateMap[callOffData.ProductFamilyId] + if !exist { + productLi, err = productFamilyRelateDao.SelectProductByFamilyId(project.ProjectId, callOffData.ProductFamilyId) if err != nil { - _ = session.Rollback() - log.Error("解析CallOff数据, 写入错误信息失败, error:" + err.Error()) - return + callOffError := model.ToyotaCallOffErrorLst{ + DemandId: callOffData.DemandId, + Pos: 1, + ErrorType: model.ERROR_TYPE_SYSTEM, + ErrorInfo: "查询派生下座椅总成失败", + ErrorStatus: model.ERROR_STATUS_ON, + } + err = callOffErrDao.InsertOne(&callOffError) + if err != nil { + _ = session.Rollback() + log.Error("解析CallOff数据, 写入错误信息失败, error:" + err.Error()) + return + } + break } - break + if len(productLi) == 0 { + callOffError := model.ToyotaCallOffErrorLst{ + DemandId: callOffData.DemandId, + Pos: 1, + ErrorType: model.ERROR_TYPE_DATA, + ErrorInfo: "该派生下没有关联座椅", + ErrorStatus: model.ERROR_STATUS_ON, + } + err = callOffErrDao.InsertOne(&callOffError) + if err != nil { + _ = session.Rollback() + log.Error("解析CallOff数据, 写入错误信息失败, error:" + err.Error()) + return + } + break + } + productFamilyRelateMap[callOffData.ProductFamilyId] = productLi } - if len(productLi) == 0 { + seatData, err = impl.MakeUpSeatData(productLi) + if err != nil { callOffError := model.ToyotaCallOffErrorLst{ DemandId: callOffData.DemandId, Pos: 1, ErrorType: model.ERROR_TYPE_DATA, - ErrorInfo: "该派生下没有关联座椅", + ErrorInfo: err.Error(), ErrorStatus: model.ERROR_STATUS_ON, } err = callOffErrDao.InsertOne(&callOffError) @@ -715,25 +737,13 @@ func (impl *ToyotaCalloffServiceImplement) ParseCallOffData(user *global.User, p } break } - productFamilyRelateMap[callOffData.ProductFamilyId] = productLi - } - seatData, err := impl.MakeUpSeatData(productLi) - if err != nil { - callOffError := model.ToyotaCallOffErrorLst{ - DemandId: callOffData.DemandId, - Pos: 1, - ErrorType: model.ERROR_TYPE_DATA, - ErrorInfo: err.Error(), - ErrorStatus: model.ERROR_STATUS_ON, + } else { // 如果座椅是樱泰的 + seatData = productFamily.ProductFamilyId + for i := len(seatData); i < 25; i++ { + seatData += "0" } - err = callOffErrDao.InsertOne(&callOffError) - if err != nil { - _ = session.Rollback() - log.Error("解析CallOff数据, 写入错误信息失败, error:" + err.Error()) - return - } - break } + plcCode := `1` + strconv.Itoa(productFamily.CtrlPara1) + seatData deliveryOrder := model.ToyotaDeliveryOrder{ DemandId: callOffData.DemandId,