From c1de5e8c1d3cece85bc58b325c3ecbae61da6be8 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Thu, 22 Aug 2024 12:46:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E5=93=81=E5=85=A5=E5=BA=93=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E5=92=8C=E6=89=93=E5=8D=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OdsProcureOrderController.java | 2 +- .../controller/WmsToWCSmissionController.java | 12 +- .../com/op/wms/domain/OdsProcureOrder.java | 10 + .../op/wms/mapper/OdsProcureOrderMapper.java | 3 + .../op/wms/mapper/WmsProductPutMapper.java | 5 + .../wms/service/IOdsProcureOrderService.java | 2 +- .../impl/OdsProcureOrderServiceImpl.java | 70 ++++++- .../impl/WmsProductPutServiceImpl.java | 19 +- .../mapper/wms/OdsProcureOrderMapper.xml | 181 +++++++++++++++++- .../mapper/wms/WmsProductPutMapper.xml | 28 +++ 10 files changed, 313 insertions(+), 19 deletions(-) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java index ed54e9e3a..ac695e1b0 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java @@ -51,7 +51,7 @@ public class OdsProcureOrderController extends BaseController { } /**获取标识卡**/ @PostMapping("/getIdCardList") - public List getIdCardList(@RequestBody OdsProcureOrder odsProcureOrder) { + public List getIdCardList(@RequestBody OdsProcureOrder odsProcureOrder) { return odsProcureOrderService.getIdCardList(odsProcureOrder); } /** diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java index 2f4196c10..ea4baa5a9 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java @@ -306,11 +306,15 @@ public class WmsToWCSmissionController { */ @PostMapping("/WmsProductPutByWorkOrderqueryBS") public AjaxResult WmsProductPutByWorkOrderqueryBS(@RequestBody WmsProductPut wmsProductPut) { - WmsProductPut wmsProductPut1= wmsProductPutService.WmsProductPutByWorkOrderqueryBS(wmsProductPut); - if (wmsProductPut1==null) { - return AjaxResult.error("标识卡未绑定"); + try { + // 调用服务层方法获取 WmsProductPut 对象 + WmsProductPut wmsProductPut1 = wmsProductPutService.WmsProductPutByWorkOrderqueryBS(wmsProductPut); + // 返回成功结果 + return AjaxResult.success(wmsProductPut1); + } catch (Exception e) { + // 捕捉到异常时,返回错误提示 + return AjaxResult.error("扫描标识卡异常,检查标识卡是否有问题:" + e.getMessage()); } - return AjaxResult.success(wmsProductPut1); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOrder.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOrder.java index 77433d6a9..b75833448 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOrder.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOrder.java @@ -71,6 +71,8 @@ public class OdsProcureOrder extends BaseEntity { */ @Excel(name = "工厂编码") private String siteCode; + private String cardNum; + /** * 仓库编码--收货仓库 */ @@ -283,6 +285,14 @@ public class OdsProcureOrder extends BaseEntity { this.Remark = Remark; } + public String getCardNum() { + return cardNum; + } + + public void setCardNum(String cardNum) { + this.cardNum = cardNum; + } + /** * 供应商名称 */ diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java index 7c9cdaa14..09de2d8fa 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java @@ -3,6 +3,7 @@ package com.op.wms.mapper; import java.util.List; import com.op.wms.domain.OdsProcureOrder; +import org.apache.ibatis.annotations.Param; /** * 包材采购单Mapper接口 @@ -72,4 +73,6 @@ public interface OdsProcureOrderMapper { void updateOdsProcureOrderByProcureCode(OdsProcureOrder odsProcureOrder); List getIdCardList(OdsProcureOrder odsProcureOrder); + + void addBatchPallet(@Param("list")List dtos); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutMapper.java index 6f378db43..68dea54f1 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.op.system.api.domain.wms.wmsReportWork; +import com.op.wms.domain.ProOrderWorkorder; import com.op.wms.domain.WmsProductPut; import org.apache.ibatis.annotations.Param; @@ -81,6 +82,10 @@ public interface WmsProductPutMapper { WmsProductPut selectProOrderWorkorderBatchPallet(WmsProductPut wmsProductPut); + WmsProductPut selectProOrderWorkorderBatchPalletcode(WmsProductPut wmsProductPut); + + WmsProductPut selectProOrderWorkorderBatchPalletAtter(ProOrderWorkorder proOrderWorkorder); + // String selectWmsProductPutNum(wmsReportWork wmsReportWork); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java index 4fb5c8f8a..19e19d677 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java @@ -112,5 +112,5 @@ public interface IOdsProcureOrderService { void OutboundPostingSAPfc(List orderList); - List getIdCardList(OdsProcureOrder odsProcureOrder); + List getIdCardList(OdsProcureOrder odsProcureOrder); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java index bcf451688..ef625d195 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java @@ -15,6 +15,7 @@ import java.util.*; import com.op.common.core.domain.R; +import com.op.common.core.utils.DateUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; import com.op.system.api.RemoteOpenService; @@ -41,6 +42,7 @@ import com.op.wms.mapper.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.wms.service.IOdsProcureOrderService; +import org.springframework.util.CollectionUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -77,6 +79,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { private WmsRawOrderInMapper wmsRawOrderInMapper; @Autowired private RemoteOpenService remoteOpenService; + @Autowired + private BaseProductAttachedMapper baseProductAttachedMapper; + /** * 查询包材采购单 * @@ -1075,10 +1080,69 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { @Override - public List getIdCardList(OdsProcureOrder odsProcureOrder) { - List orderList= odsProcureOrderMapper.getIdCardList(odsProcureOrder); + @DS("#header.poolName") + public List getIdCardList(OdsProcureOrder odsProcureOrder) { +// DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode()); + List dtos = new ArrayList<>(); + OdsProcureOrder order=odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID()); + //根据采购单获取一托盘要装多少 + BaseProductAttached baseProductAttached=new BaseProductAttached(); + String trimmedMaterialCode = order.getMaterialCode().substring(7); + baseProductAttached.setProductCode(trimmedMaterialCode); + List baseProductAttacheds= baseProductAttachedMapper.selectBaseProductAttachedList(baseProductAttached); + if (baseProductAttacheds.size()==0){ + //没有配置附属信息 + return null; + } + String name = odsProcureOrderMapper.selectBaseSupplier(order); + order.setSupplierName(name); + List dtos0= odsProcureOrderMapper.getIdCardList(order); + if(dtos0.size()==0){ + //说明没生成过标识卡 + OdsProcureOrder pw = new OdsProcureOrder(); + int i = 1; + String palletNum = baseProductAttacheds.get(0).getPalletNum(); + Date nowDate = DateUtils.getNowDate(); - return null; + if(palletNum!=null){ + BigDecimal pall = order.getPlanNumber(); + BigDecimal pn = new BigDecimal(palletNum); + while(pall.compareTo(BigDecimal.ZERO)>0){ + pw = new OdsProcureOrder(); + pw.setSiteCode(order.getSiteCode()); + + pw.setProcureCode(order.getProcureCode()); + pw.setUserDefined3(order.getUserDefined3());//行项目 + pw.setMaterialCode(order.getMaterialCode()); + pw.setMaterialDesc(order.getMaterialDesc()); + pw.setPlanNumber(pn); + pw.setSupplierCode(order.getSupplierCode()); + pw.setSupplierName(order.getSupplierName()); + pw.setUserDefined8(order.getUserDefined8()); + pw.setUserDefined11(order.getUserDefined11()); + pw.setUnit(order.getUnit()); + if(pall.compareTo(pn)<0) {//最后一托盘 + pw.setPlanNumber(pall); + }else{ + pw.setPlanNumber(pn); + } + pw.setCardNum(String.valueOf(i++)); + String dateString = pw.getUserDefined11().replace("-", ""); + pw.setUserDefined1(pw.getProcureCode()+"-"+pw.getUserDefined3()+"-"+pw.getUserDefined8()+"-"+dateString+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次 + pw.setCreateTime(nowDate); + pw.setActive("1"); + dtos.add(pw); + pall = pall.subtract(pn); + } + } + + if(!CollectionUtils.isEmpty(dtos)){ + odsProcureOrderMapper.addBatchPallet(dtos); + } + }else{ + dtos.addAll(dtos0); + } + return dtos; } public String DesignatedPalletOutboundWCS(WMSDesignatedPalle wmsDesignatedPalle) { diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index 288d346a0..4281320d7 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1032,11 +1032,11 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { public WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut) { // 使用 split 方法根据 '-' 分割字符串,结果是一个字符串数组 DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode()); - String[] attributes = wmsProductPut.getPallet().split("-"); - // 通过索引访问分割后的数组,获取所需的三个属性 - String attribute1 = attributes[0]; // 获取第一个属性 - String attribute2 = attributes[1]; // 获取第二个属性 - String attribute3 = attributes[2]; // 获取第三个属性 +// String[] attributes = wmsProductPut.getPallet().split("-"); + WmsProductPut wmsProductPutTEM= wmsProductPutMapper.selectProOrderWorkorderBatchPalletcode(wmsProductPut); + String attribute1 = wmsProductPutTEM.getAttribute1(); // 获取第一个属性 + String attribute2 = wmsProductPutTEM.getAttribute2(); // 获取第二个属性 + String attribute3 = wmsProductPutTEM.getAttribute3(); // 获取第三个属性 wmsProductPut.setAttribute1(attribute1); wmsProductPut.setAttribute2(attribute2); wmsProductPut.setAttribute3(attribute3); @@ -1091,11 +1091,12 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { @Override public ProOrderWorkorder finishedProductProductionRecordscar(ProOrderWorkorder proOrderWorkorder) { DynamicDataSourceContextHolder.push("ds_" + proOrderWorkorder.getFactoryCode()); - String[] attributes = proOrderWorkorder.getAttr1().split("-"); + //String[] attributes = proOrderWorkorder.getAttr1().split("-"); // 通过索引访问分割后的数组,获取所需的三个属性 - String attribute1 = attributes[0]; // 获取第一个属性 - String attribute2 = attributes[1]; // 获取第二个属性 - String attribute3 = attributes[2]; // 获取第三个属性 + WmsProductPut wmsProductPutTEM= wmsProductPutMapper.selectProOrderWorkorderBatchPalletAtter(proOrderWorkorder); + String attribute1 = wmsProductPutTEM.getAttribute1(); // 获取第一个属性 + String attribute2 = wmsProductPutTEM.getAttribute2(); // 获取第二个属性 + String attribute3 = wmsProductPutTEM.getAttribute3(); // 获取第三个属性 proOrderWorkorder.setWorkorderCodeSap(attribute1); proOrderWorkorder.setBatchCode(attribute2); WmsProductPut wmsProductPut =new WmsProductPut(); diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml index ff983ecb5..5a84bf583 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml @@ -14,6 +14,7 @@ + @@ -250,7 +251,185 @@ and Active= #{Active} - + SELECT + Site_code, + ID, + Procure_Code, + Material_Code, + Material_Desc, + Plan_Date, + Plan_Number, + Unit, + COALESCE ( Reality_Number, 0 ) Reality_Number, + card_num cardNum, + User_Defined1, + User_Defined2, + User_Defined3, + User_Defined4, + User_Defined5, + User_Defined6, + User_Defined7, + User_Defined8, + User_Defined9, + User_Defined10, + User_Defined11, + Supplier_Code, + Supplier_Name, + Remark, + Create_By, + Create_Date, + Last_Update_By, + Last_Update_Date, + Active, + Enterprise_Id, + Enterprise_Code, + COALESCE ( Operation_Number, 0 ) Operation_Number + FROM + ods_procure_order_card + where Procure_Code=#{procureCode} and User_Defined3= #{userDefined3} and User_Defined8= #{userDefined8} and User_Defined11= #{userDefined11} + + + + + + insert into ods_procure_order_card + + + + Site_code, + + ID, + + card_num, + + Procure_Code, + + Material_Code, + + Material_Desc, + + Plan_Date, + + Plan_Number, + + Unit, + + Reality_Number, + + Order_Status, + + User_Defined1, + + User_Defined2, + + User_Defined3, + + User_Defined4, + + User_Defined5, + + User_Defined6, + + User_Defined7, + + User_Defined8, + + User_Defined9, + + User_Defined10, + + User_Defined11, + + Supplier_Code, + + Supplier_Name, + + Remark, + + Create_By, + + Create_Date, + + Last_Update_By, + + Last_Update_Date, + + Active, + + Enterprise_Id, + + Enterprise_Code, + + + + + #{dto.siteCode}, + + #{dto.ID}, + + #{dto.cardNum}, + + #{dto.procureCode}, + + #{dto.materialCode}, + + #{dto.materialDesc}, + + #{dto.planDate}, + + #{dto.planNumber}, + + #{dto.Unit}, + + #{dto.realityNumber}, + + #{dto.orderStatus}, + + #{dto.userDefined1}, + + #{dto.userDefined2}, + + #{dto.userDefined3}, + + #{dto.userDefined4}, + + #{dto.userDefined5}, + + #{dto.userDefined6}, + + #{dto.userDefined7}, + + #{dto.userDefined8}, + + #{dto.userDefined9}, + + #{dto.userDefined10}, + + #{dto.userDefined11}, + + #{dto.supplierCode}, + + #{dto.supplierName}, + + #{dto.Remark}, + + #{dto.createBy}, + + #{dto.createDate}, + + #{dto.lastUpdateBy}, + + #{dto.lastUpdateDate}, + + #{dto.Active}, + + #{dto.enterpriseId}, + + #{dto.enterpriseCode}, + + + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml index c731dae69..ece6f4c01 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml @@ -39,6 +39,9 @@ + + + @@ -432,4 +435,29 @@ AND pro_order_workorder_batch_pallet.pallet_num= #{pallet} + + +