From 430dec322b5599b53980b467e5dfa424c868ba79 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Sun, 29 Sep 2024 17:22:37 +0800 Subject: [PATCH] =?UTF-8?q?wms=E4=B9=8B=E5=89=8D=E7=9A=84=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E4=B8=B4=E6=97=B6=E6=89=93=E5=8D=B0=E6=A0=87=E8=AF=86?= =?UTF-8?q?=E5=8D=A1=E9=A1=B5=E9=9D=A2=E4=BF=AE=E6=94=B9=E5=8A=A0=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WmsOdsMateStorageNewsController.java | 10 ++ .../mapper/WmsOdsMateStorageNewsMapper.java | 4 + .../IWmsOdsMateStorageNewsService.java | 2 + .../WmsOdsMateStorageNewsServiceImpl.java | 139 ++++++++++-------- .../mapper/wms/OdsProcureOrderMapper.xml | 2 +- .../wms/WmsOdsMateStorageNewsMapper.xml | 113 +++++++++++++- .../mapper/wms/WmsRawOrderInMapper.xml | 1 - 7 files changed, 208 insertions(+), 63 deletions(-) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsOdsMateStorageNewsController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsOdsMateStorageNewsController.java index 6001fdbf..53555a0c 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsOdsMateStorageNewsController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsOdsMateStorageNewsController.java @@ -101,4 +101,14 @@ public class WmsOdsMateStorageNewsController extends BaseController { String result= wmsOdsMateStorageNewsService.addBS(wmsOdsMateStorageNews); return success(result); } + /** + * 查询包材库存主表列表 + */ + + @GetMapping("/listls") + public TableDataInfo listls(WmsOdsMateStorageNews wmsOdsMateStorageNews) { + startPage(); + List list = wmsOdsMateStorageNewsService.selectWmsOdsMateStorageNewslsList(wmsOdsMateStorageNews); + return getDataTable(list); + } } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsMapper.java index 08b624e2..ac273c78 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsMapper.java @@ -68,4 +68,8 @@ public interface WmsOdsMateStorageNewsMapper { public WmsOdsMateStorageNews selectBaseProductByCode(WCSInventoryPlan wcsInventoryPlan); public void updateWmsOdsMateStorageNewsUpdateStorageAmount(WmsOdsMateStorageNews wmsOdsMateStorageNews); + + List selectWmsOdsMateStorageNewslsList(WmsOdsMateStorageNews wmsOdsMateStorageNews); + + WmsOdsMateStorageNews selectWmsOdsMateStorageNewsLSByStorageId(String storageId); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsOdsMateStorageNewsService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsOdsMateStorageNewsService.java index 54dc791a..281209ae 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsOdsMateStorageNewsService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsOdsMateStorageNewsService.java @@ -60,4 +60,6 @@ public interface IWmsOdsMateStorageNewsService { public int deleteWmsOdsMateStorageNewsByStorageId(String storageId); String addBS(WmsOdsMateStorageNews wmsOdsMateStorageNews); + + List selectWmsOdsMateStorageNewslsList(WmsOdsMateStorageNews wmsOdsMateStorageNews); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsOdsMateStorageNewsServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsOdsMateStorageNewsServiceImpl.java index 15f7d1ca..f6429e42 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsOdsMateStorageNewsServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsOdsMateStorageNewsServiceImpl.java @@ -1,6 +1,7 @@ package com.op.wms.service.impl; import java.io.IOException; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -120,79 +121,97 @@ public class WmsOdsMateStorageNewsServiceImpl implements IWmsOdsMateStorageNewsS String formattedDate = dateFormat.format(date); List dtos0= odsProcureOrderMapper.getIdCardByIdList(wmsOdsMateStorageNews.getStorageId()); if (dtos0.size()>0){ - List list = new ArrayList<>(); - OdsProcureOrder odsProcureOrder= dtos0.get(0); - String userDefined10= wmsOdsMateStorageNews.getUserDefined10();//打印次数 - int printCount = Integer.parseInt(userDefined10); - for (int i = 0; i < printCount; i++) { - // 将 odsProcureOrder 对象复制一份,并添加到列表中。 - // 假设 OdsProcureOrder 类具有一个复制构造函数或 clone 方法来创建对象的副本。 - list.add(odsProcureOrder); - } - String msg= dayin(list); + String msg= dayin(dtos0); return msg; }else { - WmsOdsMateStorageNews wmsOdsMateStorageNews1= wmsOdsMateStorageNewsMapper.selectWmsOdsMateStorageNewsByStorageId(wmsOdsMateStorageNews.getStorageId()); + WmsOdsMateStorageNews wmsOdsMateStorageNews1= wmsOdsMateStorageNewsMapper.selectWmsOdsMateStorageNewsLSByStorageId(wmsOdsMateStorageNews.getStorageId()); //标识卡就用id和物料码组成 - List list = new ArrayList<>(); Listdtos=new ArrayList<>(); - OdsProcureOrder pw = new OdsProcureOrder(); - pw.setSiteCode(wmsOdsMateStorageNews1.getFactoryCode()); - pw.setProcureCode(wmsOdsMateStorageNews1.getMaterialCode());// - //pw.setUserDefined3(order.getUserDefined3());//行项目 - pw.setMaterialCode(wmsOdsMateStorageNews1.getMaterialCode()); - pw.setMaterialDesc(wmsOdsMateStorageNews1.getMaterialDesc()); - pw.setPlanNumber(wmsOdsMateStorageNews1.getAmount()); - pw.setSupplierCode(wmsOdsMateStorageNews1.getUserDefined2()); - pw.setSupplierName(wmsOdsMateStorageNews1.getUserDefined3()); - pw.setUserDefined8("2"); - pw.setUserDefined7(formattedDate+wmsOdsMateStorageNews1.getMaterialCode());//批次 - pw.setUserDefined10("0");//标识卡状态0是未收货的 - pw.setUserDefined11(wmsOdsMateStorageNews1.getUserDefined4()); - pw.setUserDefined4(wmsOdsMateStorageNews1.getStorageId()); - pw.setUnit(wmsOdsMateStorageNews1.getUserDefined1()); - pw.setCardNum("1"); - // String dateString = pw.getUserDefined11().replace("-", ""); - pw.setUserDefined1(pw.getMaterialCode()+"-"+wmsOdsMateStorageNews1.getStorageId()+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次 - pw.setCreateTime(new Date()); - pw.setActive("1"); - dtos.add(pw); + BigDecimal pall = wmsOdsMateStorageNews1.getAmount();//总数 + OdsProcureOrder pw = new OdsProcureOrder(); + BigDecimal pn = new BigDecimal(wmsOdsMateStorageNews1.getUserDefined6());//每托 + int i = 1; + while(pall.compareTo(BigDecimal.ZERO)>0){ + pw = new OdsProcureOrder(); + pw.setSiteCode(wmsOdsMateStorageNews1.getFactoryCode()); + pw.setProcureCode(wmsOdsMateStorageNews1.getMaterialCode());// + //pw.setUserDefined3(order.getUserDefined3());//行项目 + pw.setMaterialCode(wmsOdsMateStorageNews1.getMaterialCode()); + pw.setMaterialDesc(wmsOdsMateStorageNews1.getMaterialDesc()); + pw.setPlanNumber(wmsOdsMateStorageNews1.getAmount()); + pw.setSupplierCode(wmsOdsMateStorageNews1.getUserDefined2()); + pw.setSupplierName(wmsOdsMateStorageNews1.getUserDefined3()); + pw.setUserDefined8("2"); + pw.setUserDefined7(formattedDate+wmsOdsMateStorageNews1.getMaterialCode());//批次 + pw.setUserDefined10("0");//标识卡状态0是未收货的 + pw.setUserDefined11(wmsOdsMateStorageNews1.getUserDefined4()); + pw.setUserDefined4(wmsOdsMateStorageNews1.getStorageId()); + pw.setUnit(wmsOdsMateStorageNews1.getUserDefined1()); + pw.setCardNum(String.valueOf(i++)); + if(pall.compareTo(pn)<0) {//最后一托盘 + pw.setPlanNumber(pall); + }else{ + pw.setPlanNumber(pn); + } + // String dateString = pw.getUserDefined11().replace("-", ""); + pw.setUserDefined1(pw.getMaterialCode()+"-"+wmsOdsMateStorageNews1.getStorageId()+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次 + pw.setCreateTime(new Date()); + pw.setActive("1"); + dtos.add(pw); + pall = pall.subtract(pn); + } odsProcureOrderMapper.addBatchPallet(dtos); WmsOdsMateStorageNews wmsOdsMateStorageNews2=new WmsOdsMateStorageNews(); wmsOdsMateStorageNews2.setStorageId(wmsOdsMateStorageNews.getStorageId()); wmsOdsMateStorageNews2.setWlCode(pw.getUserDefined1()); - wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNews(wmsOdsMateStorageNews2); - WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn(); - wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID()); - wmsOdsMateStorageNewsSn.setWhCode("WH02");//仓库编码 - // wmsOdsMateStorageNewsSn.setWaCode(pw.getUserDefined1()); - wmsOdsMateStorageNewsSn.setWlCode(pw.getUserDefined1());//库位编码- - wmsOdsMateStorageNewsSn.setMaterialCode(wmsOdsMateStorageNews1.getMaterialCode()); - wmsOdsMateStorageNewsSn.setMaterialDesc(wmsOdsMateStorageNews1.getMaterialDesc()); - wmsOdsMateStorageNewsSn.setSn(pw.getUserDefined1()); - wmsOdsMateStorageNewsSn.setAmount(wmsOdsMateStorageNews1.getAmount()); - wmsOdsMateStorageNewsSn.setCreateBy(SecurityUtils.getUsername()); - wmsOdsMateStorageNewsSn.setGmtCreate(new Date()); - wmsOdsMateStorageNewsSn.setUserDefined2(pw.getUserDefined7());//批次 - wmsOdsMateStorageNewsSn.setUserDefined1("RK"); - wmsOdsMateStorageNewsSn.setUserDefined3("1");//0是暂收,1是真收 - wmsOdsMateStorageNewsSn.setFactoryCode(wmsOdsMateStorageNews1.getFactoryCode()); - wmsOdsMateStorageNewsSn.setSapFactoryCode(wmsOdsMateStorageNews1.getFactoryCode()); - wmsOdsMateStorageNewsSn.setActiveFlag("1"); - wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn); - OdsProcureOrder odsProcureOrder= dtos.get(0); - String userDefined10= wmsOdsMateStorageNews.getUserDefined10();//打印次数 - int printCount = Integer.parseInt(userDefined10); - for (int i = 0; i < printCount; i++) { - // 将 odsProcureOrder 对象复制一份,并添加到列表中。 - // 假设 OdsProcureOrder 类具有一个复制构造函数或 clone 方法来创建对象的副本。 - list.add(odsProcureOrder); + for (OdsProcureOrder order:dtos){ + WmsOdsMateStorageNews wmsOdsMateStorageNews3 = new WmsOdsMateStorageNews(); + wmsOdsMateStorageNews3.setStorageId(IdUtils.fastSimpleUUID()); + wmsOdsMateStorageNews3.setWhCode("WH02"); + wmsOdsMateStorageNews3.setWlCode(order.getUserDefined1()); + //wmsOdsMateStorageNews3.setWaCode(odsProcureOutOrder.getWaCode()); + wmsOdsMateStorageNews3.setAmount(order.getPlanNumber()); +// wmsOdsMateStorageNews3.setStorageAmount(odsProcureOutOrder.getPlanNumber()); + wmsOdsMateStorageNews3.setMaterialCode(order.getMaterialCode()); + wmsOdsMateStorageNews3.setMaterialDesc(order.getMaterialDesc()); + wmsOdsMateStorageNews3.setStorageType("BC"); + wmsOdsMateStorageNews3.setCreateBy(SecurityUtils.getUsername()); + wmsOdsMateStorageNews3.setGmtCreate(new Date()); + wmsOdsMateStorageNews3.setActiveFlag("1"); + wmsOdsMateStorageNews3.setFactoryCode(wmsOdsMateStorageNews1.getFactoryCode()); + wmsOdsMateStorageNews3.setSapFactoryCode(wmsOdsMateStorageNews1.getFactoryCode()); + wmsOdsMateStorageNews3.setUserDefined1(order.getUnit());//单位 + wmsOdsMateStorageNewsMapper.insertWmsOdsMateStorageNews(wmsOdsMateStorageNews3); + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn(); + wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID()); + wmsOdsMateStorageNewsSn.setWhCode("WH02");//仓库编码 + // wmsOdsMateStorageNewsSn.setWaCode(pw.getUserDefined1()); + wmsOdsMateStorageNewsSn.setWlCode(order.getUserDefined1());//库位编码- + wmsOdsMateStorageNewsSn.setMaterialCode(wmsOdsMateStorageNews1.getMaterialCode()); + wmsOdsMateStorageNewsSn.setMaterialDesc(wmsOdsMateStorageNews1.getMaterialDesc()); + wmsOdsMateStorageNewsSn.setSn(order.getUserDefined1()); + wmsOdsMateStorageNewsSn.setAmount(order.getPlanNumber()); + wmsOdsMateStorageNewsSn.setCreateBy(SecurityUtils.getUsername()); + wmsOdsMateStorageNewsSn.setGmtCreate(new Date()); + wmsOdsMateStorageNewsSn.setUserDefined2(order.getUserDefined7());//批次 + wmsOdsMateStorageNewsSn.setUserDefined1("RK"); + wmsOdsMateStorageNewsSn.setUserDefined3("1");//0是暂收,1是真收 + wmsOdsMateStorageNewsSn.setFactoryCode(wmsOdsMateStorageNews1.getFactoryCode()); + wmsOdsMateStorageNewsSn.setSapFactoryCode(wmsOdsMateStorageNews1.getFactoryCode()); + wmsOdsMateStorageNewsSn.setActiveFlag("1"); + wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn); } - String msg= dayin(list); + String msg= dayin(dtos); return msg; } } + @Override + @DS("#header.poolName") + public List selectWmsOdsMateStorageNewslsList(WmsOdsMateStorageNews wmsOdsMateStorageNews) { + return wmsOdsMateStorageNewsMapper.selectWmsOdsMateStorageNewslsList(wmsOdsMateStorageNews); + } + public String dayin( List orderList) { // 定义请求的URL地址 String url = dayinUrl1; 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 a86bdd87..99d806ac 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 @@ -632,7 +632,7 @@ and o.Material_Code like concat('%', #{materialCode}, '%') and o.Material_Desc = #{materialDesc} - and o.Plan_Date = #{planDate} + AND CAST(o.Plan_Date AS DATE) = #{planDate} and o.Plan_Number = #{planNumber} and o.Unit = #{Unit} and o.Reality_Number = #{realityNumber} diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml index 45746ecd..2d2d4107 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml @@ -82,12 +82,123 @@ and wl_name like concat('%', #{wlName}, '%') + - + insert into wms_ods_mate_storage_news diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml index d7d8cd8e..f31f89b3 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml @@ -186,7 +186,6 @@ wms_raw_order_in.gmt_create, wms_raw_order_in.last_modified_by, wms_raw_order_in.gmt_modified, - wms_raw_order_in_sn.user_defined2 incomeBatchNo , wms_raw_order_in.active_flag FROM wms_raw_order_in