diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsRawOrderInController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsRawOrderInController.java index 256271cf4..dc200425f 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsRawOrderInController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsRawOrderInController.java @@ -137,4 +137,15 @@ public class WmsRawOrderInController extends BaseController { List list = wmsRawOrderInService.listInspectionReport(wmsRawOrderIn); return getDataTable(list); } + + /** + * pda上查询包材到货单已暂时列表 + */ + @GetMapping("/wmsRawOrderInListToPda") + public TableDataInfo getWmsRawOrderInListToPda(WmsRawOrderIn wmsRawOrderIn) { + startPage(); + List list = wmsRawOrderInService.getWmsRawOrderInListToPda(wmsRawOrderIn); + return getDataTable(list); + } + } 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 43ac28a2b..6246b2487 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 @@ -315,6 +315,18 @@ public class OdsProcureOrder extends BaseEntity { @Excel(name = "供应商编码") private String supplierCode; + /** + * 关联表 wms_raw_order_in id; + * **/ + private String rawOrderInId; + + /** + * 质量检验状态 Y:合格 + * **/ + private String qualityStatus; + + private String rawPoNo; + private String Remark; public String getRemark() { @@ -666,6 +678,29 @@ public class OdsProcureOrder extends BaseEntity { return enterpriseCode; } + public String getRawOrderInId() { + return rawOrderInId; + } + + public void setRawOrderInId(String rawOrderInId) { + this.rawOrderInId = rawOrderInId; + } + + public String getQualityStatus() { + return qualityStatus; + } + + public void setQualityStatus(String qualityStatus) { + this.qualityStatus = qualityStatus; + } + + public String getRawPoNo() { + return rawPoNo; + } + + public void setRawPoNo(String rawPoNo) { + this.rawPoNo = rawPoNo; + } @Override public String toString() { return "OdsProcureOrder{" + diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRawOrderInMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRawOrderInMapper.java index 3d61ff11a..a928030b2 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRawOrderInMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRawOrderInMapper.java @@ -74,4 +74,7 @@ public interface WmsRawOrderInMapper { WmsRawOrderIn selectWmsRawOrderInByRawOrderInIdThress(@Param("rawOrderInId")String id); List listInspectionReport(WmsRawOrderIn wmsRawOrderIn); + + List getWmsRawOrderInListToPda(WmsRawOrderIn wmsRawOrderIn); + } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsRawOrderInService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsRawOrderInService.java index 226da794d..b0a868b10 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsRawOrderInService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsRawOrderInService.java @@ -60,4 +60,9 @@ public interface IWmsRawOrderInService { public int deleteWmsRawOrderInByRawOrderInId(String rawOrderInId); List listInspectionReport(WmsRawOrderIn wmsRawOrderIn); + + /** + * pda上查询包材到货单已暂时列表 + */ + List getWmsRawOrderInListToPda(WmsRawOrderIn wmsRawOrderIn); } 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 e189a9749..544f6d8ef 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 @@ -18,6 +18,7 @@ import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; import com.op.system.api.RemoteOpenService; @@ -171,12 +172,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { // @DS("#header.poolName") public List PurchaseOrderPda(OdsProcureOrder odsProcureOrder) { DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode()); - try { - return odsProcureOrderMapper.selectOdsProcureOrderList(odsProcureOrder); - }finally { - DynamicDataSourceContextHolder.poll(); - } - + return odsProcureOrderMapper.selectOdsProcureOrderList(odsProcureOrder); } @Override @@ -184,71 +180,62 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { public int PurchaseOrderdeliPda(OdsProcureOrder odsProcureOrder) { //收货记录--rawOrderInSnId。修改收货数量------------- DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode()); - try { - //--receiptNoCode收货单号 - OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID()); - //wms_raw_order_in_sn - WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn(); - wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID()); - wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库 - wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次 - wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号 - wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode()); - wmsRawOrderInSn.setWlCode("00001-1-01");//先都设置为同一个库位 - wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号 - wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目 - wmsRawOrderInSn.setMaterialCode(odsProcureOrder.getMaterialCode()); - wmsRawOrderInSn.setMaterialDesc(odsProcureOrder.getMaterialDesc()); - wmsRawOrderInSn.setAmount(odsProcureOrder.getPlanNumber()); - wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode()); - wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy()); - wmsRawOrderInSn.setGmtCreate(new Date()); - wmsRawOrderInSn.setActiveFlag("1"); - wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位 - wmsRawOrderInSn.setSn(odsProcureOrder.getSn());//托盘号 - wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getSiteCode()); - wmsRawOrderInSn.setUserDefined3(order.getID()); - wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode()); - wmsRawOrderInSn.setUserDefined6(odsProcureOrder.getUserDefined6());//标识码绑定 + //--receiptNoCode收货单号 + OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID()); + //wms_raw_order_in_sn + WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn(); + wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID()); + wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库 + wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次 + wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号 + wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode()); + wmsRawOrderInSn.setWlCode("00001-1-01");//先都设置为同一个库位 + wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号 + wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目 + wmsRawOrderInSn.setMaterialCode(odsProcureOrder.getMaterialCode()); + wmsRawOrderInSn.setMaterialDesc(odsProcureOrder.getMaterialDesc()); + wmsRawOrderInSn.setAmount(odsProcureOrder.getPlanNumber()); + wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode()); + wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy()); + wmsRawOrderInSn.setGmtCreate(new Date()); + wmsRawOrderInSn.setActiveFlag("1"); + wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位 + wmsRawOrderInSn.setSn(odsProcureOrder.getSn());//托盘号 + wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getSiteCode()); + wmsRawOrderInSn.setUserDefined3(order.getID()); + wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode()); + wmsRawOrderInSn.setUserDefined6(odsProcureOrder.getUserDefined6());//标识码绑定 - wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn); - //标识码绑定 - if (odsProcureOrder.getUserDefined6()!=null){ - WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable(); - wmsLogotypeTable.setId(IdUtils.fastSimpleUUID()); - wmsLogotypeTable.setLogotype(odsProcureOrder.getUserDefined6()); - wmsLogotypeTable.setSn(odsProcureOrder.getSn()); - wmsLogotypeTable.setActiveFlag("1"); - wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable); - } - - //插入收货记录 - //如果收货完成了的话,就插入信息收货完成 - odsProcureOrder.setOrderStatus("1"); - BigDecimal result = order.getRealityNumber().add(odsProcureOrder.getPlanNumber()); - if (result.equals(order.getPlanNumber())) { - odsProcureOrder.setOrderStatus("2");// - } - Integer tem = odsProcureOrderMapper.updateRealityNuById(odsProcureOrder); - //插入检验集计划 - return tem; - }finally { - DynamicDataSourceContextHolder.poll(); + wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn); + //标识码绑定 + if (odsProcureOrder.getUserDefined6()!=null){ + WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable(); + wmsLogotypeTable.setId(IdUtils.fastSimpleUUID()); + wmsLogotypeTable.setLogotype(odsProcureOrder.getUserDefined6()); + wmsLogotypeTable.setSn(odsProcureOrder.getSn()); + wmsLogotypeTable.setActiveFlag("1"); + wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable); } + + //插入收货记录 + //如果收货完成了的话,就插入信息收货完成 + odsProcureOrder.setOrderStatus("1"); + BigDecimal result = order.getRealityNumber().add(odsProcureOrder.getPlanNumber()); + if (result.equals(order.getPlanNumber())) { + odsProcureOrder.setOrderStatus("2");// + } + Integer tem = odsProcureOrderMapper.updateRealityNuById(odsProcureOrder); + //插入检验集计划 + return tem; } @Override //@DS("#header.poolName") public List PurchaseOrderdetailPda(WmsRawOrderInSn wmsRawOrderInSn) { DynamicDataSourceContextHolder.push("ds_" + wmsRawOrderInSn.getFactoryCode()); - try { - wmsRawOrderInSn.setActiveFlag("1"); - //u3备注 - return wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn); - }finally { - DynamicDataSourceContextHolder.poll(); - } - + wmsRawOrderInSn.setActiveFlag("1"); + //u3备注 + return wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn); } @Override @@ -460,61 +447,58 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { public String DesignatedPalletOutbound(WMSDesignatedPalle wmsDesignatedPalle) { DynamicDataSourceContextHolder.push("ds_" + wmsDesignatedPalle.getFactoryCode()); String result = ""; - try { - if ("1".equals(wmsDesignatedPalle.getType())) {//类型1是托盘出库,2是空托出库计划下发 - String meg = DesignatedPalletOutboundWCS(wmsDesignatedPalle); - if ("OK".equals(meg)) {//成功 rfidNo - WmsToWCSDTO wcsdto = new WmsToWCSDTO(); - wcsdto.setRfidNo(wmsDesignatedPalle.getRfidNo()); - WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto); - WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan(); - wcsInventoryPlan.setSku(wmsOdsMateStorageNewsSn.getMaterialCode()); - WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan); + if ("1".equals(wmsDesignatedPalle.getType())) {//类型1是托盘出库,2是空托出库计划下发 + String meg = DesignatedPalletOutboundWCS(wmsDesignatedPalle); + if ("OK".equals(meg)) {//成功 rfidNo + WmsToWCSDTO wcsdto = new WmsToWCSDTO(); + wcsdto.setRfidNo(wmsDesignatedPalle.getRfidNo()); + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto); + WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan(); + wcsInventoryPlan.setSku(wmsOdsMateStorageNewsSn.getMaterialCode()); + WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan); - OdsProcureOutOrder odsProcureOutOrder = new OdsProcureOutOrder(); - odsProcureOutOrder.setID(IdUtils.fastSimpleUUID()); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - Date date = new Date(); - String formattedDate = dateFormat.format(date); - odsProcureOutOrder.setProduceCode("DE" + formattedDate); - odsProcureOutOrder.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode()); - odsProcureOutOrder.setMaterialDesc(wmsOdsMateStorageNewsSn.getMaterialDesc()); - odsProcureOutOrder.setPlanDate(new Date()); - odsProcureOutOrder.setUnit(wmsOdsMateStorageNews.getUserDefined1()); - odsProcureOutOrder.setProductionLineCode(wmsDesignatedPalle.getLocation()); - odsProcureOutOrder.setUserDefined1(formattedDate); - odsProcureOutOrder.setActive("1"); - odsProcureOutOrder.setOrderStatus("1"); - odsProcureOutOrder.setPlanNumber(wmsOdsMateStorageNewsSn.getAmount()); - odsProcureOutOrder.setUserDefined2("00001");//行项目 - //odsProcureOutOrder.set - odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder); - result = "操作成功"; - return result; - } - } else { - OrderLine orderLine = new OrderLine(); - orderLine.setWarehouseNo("WH02"); + OdsProcureOutOrder odsProcureOutOrder = new OdsProcureOutOrder(); + odsProcureOutOrder.setID(IdUtils.fastSimpleUUID()); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); String formattedDate = dateFormat.format(date); - orderLine.setOrderNo(formattedDate);//,如果是空托盘垛的需求可以随机生成一个 - List list = new ArrayList<>(); - Integer orderItem = 1; - OrderLine orderLine1 = new OrderLine(); - orderLine1.setOrderLineNo(String.format("%05d", orderItem)); - orderLine1.setSku(wmsDesignatedPalle.getRfidNo()); - list.add(orderLine1); - orderLine.setList(list); - String message = addPurchaseOrderOutboundTwoWCS(orderLine); - if ("OK".equals(message)) {//成功 - result = "操作成功"; - return result; - } + odsProcureOutOrder.setProduceCode("DE" + formattedDate); + odsProcureOutOrder.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode()); + odsProcureOutOrder.setMaterialDesc(wmsOdsMateStorageNewsSn.getMaterialDesc()); + odsProcureOutOrder.setPlanDate(new Date()); + odsProcureOutOrder.setUnit(wmsOdsMateStorageNews.getUserDefined1()); + odsProcureOutOrder.setProductionLineCode(wmsDesignatedPalle.getLocation()); + odsProcureOutOrder.setUserDefined1(formattedDate); + odsProcureOutOrder.setActive("1"); + odsProcureOutOrder.setOrderStatus("1"); + odsProcureOutOrder.setPlanNumber(wmsOdsMateStorageNewsSn.getAmount()); + odsProcureOutOrder.setUserDefined2("00001");//行项目 + //odsProcureOutOrder.set + odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder); + result = "操作成功"; + return result; + } + } else { + OrderLine orderLine = new OrderLine(); + orderLine.setWarehouseNo("WH02"); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + orderLine.setOrderNo(formattedDate);//,如果是空托盘垛的需求可以随机生成一个 + List list = new ArrayList<>(); + Integer orderItem = 1; + OrderLine orderLine1 = new OrderLine(); + orderLine1.setOrderLineNo(String.format("%05d", orderItem)); + orderLine1.setSku(wmsDesignatedPalle.getRfidNo()); + list.add(orderLine1); + orderLine.setList(list); + String message = addPurchaseOrderOutboundTwoWCS(orderLine); + if ("OK".equals(message)) {//成功 + result = "操作成功"; + return result; } - }finally { - DynamicDataSourceContextHolder.poll(); } + return result; } @@ -692,47 +676,42 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { @Override public AjaxResult sapPurchaseOrderSync(OdsProcureOrder odsProcureOrder) { DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode()); - try { - SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery(); - sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号 - R result = remoteSapService.sapPurchaseOrderSync(sapPurchaseOrderQuery); - List> mapList = new ArrayList<>(); - mapList = (List>) result.getData(); - for (Map sapPurchaseOrderQuery1 : mapList) { - OdsProcureOrder order = new OdsProcureOrder(); - order.setProcureCode(sapPurchaseOrderQuery1.get("ebeln")); - order.setSiteCode(sapPurchaseOrderQuery1.get("werks")); - order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//批次 - order.setMaterialCode(sapPurchaseOrderQuery1.get("matnr")); - order.setMaterialDesc(sapPurchaseOrderQuery1.get("maktx")); - order.setUserDefined8("1"); - order.setActive("1"); - List orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order); - if (orderList.size() > 0) { - continue; - } - SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); - Date date = new Date(); - String formattedDate = dateFormat.format(date); - String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate); - order.setUserDefined7(userDefined7); - order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("menge"))); - order.setUnit(sapPurchaseOrderQuery1.get("meins")); - order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr")); - order.setUserDefined9(sapPurchaseOrderQuery1.get("zmenge")); - order.setUserDefined10(sapPurchaseOrderQuery1.get("elikz")); - order.setUserDefined11(sapPurchaseOrderQuery1.get("eindt")); - order.setCreateBy(odsProcureOrder.getCreateBy()); - order.setPlanDate(new Date()); - order.setOrderStatus("0"); - //order.setID(IdUtils.fastSimpleUUID()); - order.setCreateDate(new Date()); - odsProcureOrderMapper.insertOdsProcureOrder(order); + SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery(); + sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号 + R result = remoteSapService.sapPurchaseOrderSync(sapPurchaseOrderQuery); + List> mapList = new ArrayList<>(); + mapList = (List>) result.getData(); + for (Map sapPurchaseOrderQuery1 : mapList) { + OdsProcureOrder order = new OdsProcureOrder(); + order.setProcureCode(sapPurchaseOrderQuery1.get("ebeln")); + order.setSiteCode(sapPurchaseOrderQuery1.get("werks")); + order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//批次 + order.setMaterialCode(sapPurchaseOrderQuery1.get("matnr")); + order.setMaterialDesc(sapPurchaseOrderQuery1.get("maktx")); + order.setUserDefined8("1"); + order.setActive("1"); + List orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order); + if (orderList.size() > 0) { + continue; } - }finally { - DynamicDataSourceContextHolder.poll(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate); + order.setUserDefined7(userDefined7); + order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("menge"))); + order.setUnit(sapPurchaseOrderQuery1.get("meins")); + order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr")); + order.setUserDefined9(sapPurchaseOrderQuery1.get("zmenge")); + order.setUserDefined10(sapPurchaseOrderQuery1.get("elikz")); + order.setUserDefined11(sapPurchaseOrderQuery1.get("eindt")); + order.setCreateBy(odsProcureOrder.getCreateBy()); + order.setPlanDate(new Date()); + order.setOrderStatus("0"); + //order.setID(IdUtils.fastSimpleUUID()); + order.setCreateDate(new Date()); + odsProcureOrderMapper.insertOdsProcureOrder(order); } - return AjaxResult.success(); } @@ -964,66 +943,62 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { @Override public AjaxResult getDeliveryNoteDetail(OdsProcureOrder odsProcureOrder) { DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode()); - try { - SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery(); - sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号 - //"ebelp": "10", - //代表是-00010 - Map paramMap=new HashMap<>(); - paramMap.put("id",odsProcureOrder.getUserDefined5()); - AjaxResult result = remoteOpenService.getDeliveryNoteDetail(paramMap); - List> mapList = new ArrayList<>(); - if (result.get("code").equals(200)) { - mapList= (List>) result.get("data"); - for (Map sapPurchaseOrderQuery1 : mapList) { - OdsProcureOrder order = new OdsProcureOrder(); - // 获取 mainId - Object mainIdObj = sapPurchaseOrderQuery1.get("mainId"); + SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery(); + sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号 + //"ebelp": "10", + //代表是-00010 + Map paramMap=new HashMap<>(); + paramMap.put("id",odsProcureOrder.getUserDefined5()); + AjaxResult result = remoteOpenService.getDeliveryNoteDetail(paramMap); + List> mapList = new ArrayList<>(); + if (result.get("code").equals(200)) { + mapList= (List>) result.get("data"); + for (Map sapPurchaseOrderQuery1 : mapList) { + OdsProcureOrder order = new OdsProcureOrder(); + // 获取 mainId + Object mainIdObj = sapPurchaseOrderQuery1.get("mainId"); // 将 Object 转换为 String - String mainId = (mainIdObj != null) ? mainIdObj.toString() : null; + String mainId = (mainIdObj != null) ? mainIdObj.toString() : null; // 判断并补全 mainId - if (mainId != null && mainId.length() < 8) { - mainId = String.format("%08d", Integer.parseInt(mainId)); - } - order.setProcureCode(sapPurchaseOrderQuery1.get("orderNum")); - order.setSiteCode(sapPurchaseOrderQuery1.get("werks")); - order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//行项目 - if (order.getUserDefined3()!=null){ - order.setUserDefined3("000"+order.getUserDefined3()); - } - String materialCode = sapPurchaseOrderQuery1.get("matnr"); - materialCode = "0000000" + materialCode; - order.setMaterialCode(materialCode); - order.setUserDefined5(mainId);//送货单 - order.setMaterialDesc(sapPurchaseOrderQuery1.get("matnrName")); - order.setActive("1"); - order.setUserDefined8("0");//0是属于送货单下的 - List orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order); - if (orderList.size() > 0) { - //这个地方判断下是不是采购单已经被插入了,如果是的话,并且是走的送货单的路径,那就把送货单给她附上 - continue; - } - SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); - Date date = new Date(); - String formattedDate = dateFormat.format(date); - String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate); - // order.setUserDefined7(formattedDate+order.getUserDefined3()); - order.setUserDefined7(userDefined7); - order.setUserDefined11(sapPurchaseOrderQuery1.get("realDate")); - order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("thisDeliNum"))); - order.setUnit(sapPurchaseOrderQuery1.get("unit")); - order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr")); - order.setCreateBy(odsProcureOrder.getCreateBy()); - order.setPlanDate(new Date()); - order.setOrderStatus("0"); - //order.setID(IdUtils.fastSimpleUUID()); - order.setCreateDate(new Date()); - odsProcureOrderMapper.insertOdsProcureOrder(order); - } + if (mainId != null && mainId.length() < 8) { + mainId = String.format("%08d", Integer.parseInt(mainId)); + } + order.setProcureCode(sapPurchaseOrderQuery1.get("orderNum")); + order.setSiteCode(sapPurchaseOrderQuery1.get("werks")); + order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//行项目 + if (order.getUserDefined3()!=null){ + order.setUserDefined3("000"+order.getUserDefined3()); } - }finally { - DynamicDataSourceContextHolder.poll(); + String materialCode = sapPurchaseOrderQuery1.get("matnr"); + materialCode = "0000000" + materialCode; + order.setMaterialCode(materialCode); + order.setUserDefined5(mainId);//送货单 + order.setMaterialDesc(sapPurchaseOrderQuery1.get("matnrName")); + order.setActive("1"); + order.setUserDefined8("0");//0是属于送货单下的 + List orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order); + if (orderList.size() > 0) { + //这个地方判断下是不是采购单已经被插入了,如果是的话,并且是走的送货单的路径,那就把送货单给她附上 + continue; + } + SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate); + // order.setUserDefined7(formattedDate+order.getUserDefined3()); + order.setUserDefined7(userDefined7); + order.setUserDefined11(sapPurchaseOrderQuery1.get("realDate")); + order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("thisDeliNum"))); + order.setUnit(sapPurchaseOrderQuery1.get("unit")); + order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr")); + order.setCreateBy(odsProcureOrder.getCreateBy()); + order.setPlanDate(new Date()); + order.setOrderStatus("0"); + //order.setID(IdUtils.fastSimpleUUID()); + order.setCreateDate(new Date()); + odsProcureOrderMapper.insertOdsProcureOrder(order); } + } return AjaxResult.success(); } @@ -1572,10 +1547,12 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { } }else {////失败| result1="暂收失败"; + if (StringUtils.isNotEmpty(result2.getMsg())) { + result1=result2.getMsg(); + } for (OdsProcureOrder order : orderList1) { OdsProcureOrder order2 = odsProcureOrderMapper.selectOdsProcureOrderByID(order.getID()); - result1=result2.getMsg(); order2.setSapTempInfor(result2.getMsg()); order2.setSapTempStatus("0");//0是失败。1是成功 odsProcureOrderMapper.updateOdsProcureOrder(order2); @@ -1818,7 +1795,15 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { public List PurchaseOrderPdaT(OdsProcureOrder odsProcureOrder) { DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode()); odsProcureOrder.setOperationNumber(new BigDecimal("1")); - return odsProcureOrderMapper.selectOdsProcureOrderListT(odsProcureOrder); + List list = odsProcureOrderMapper.selectOdsProcureOrderListT(odsProcureOrder); + for (OdsProcureOrder order: list) { + WmsRawOrderIn wmsRawOrderIn = new WmsRawOrderIn(); + wmsRawOrderIn.setUserDefined6( order.getRawPoNo()+order.getUserDefined7()); + wmsRawOrderIn.setMaterialCode(order.getMaterialCode()); + String checkResult = wmsRawOrderInMapper.selectQcCheckTask(wmsRawOrderIn); + order.setQualityStatus(checkResult); + } + return list; } @Override @@ -2299,89 +2284,84 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { String result="操作成功"; String factoryCode = orderList.get(0).getFactoryCode(); DynamicDataSourceContextHolder.push("ds_" + factoryCode); - try { - for (OdsProcureOutOrder odsProcureOutOrder : - orderList) { - //领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号, - String produceCode= odsProcureOutOrder.getProduceCode();//生产领料单号 - String createBy= odsProcureOutOrder.getCreateBy();//操作人 - String mateOrderInSnId= odsProcureOutOrder.getMateOrderInSnId(); - String waCode= odsProcureOutOrder.getWaCode(); - String whCode= odsProcureOutOrder.getWhCode(); - String wlCode= odsProcureOutOrder.getWlCode(); - String sn= odsProcureOutOrder.getSn(); - String materialCode= odsProcureOutOrder.getMaterialCode(); - String materialDesc= odsProcureOutOrder.getMaterialDesc(); - BigDecimal amount= odsProcureOutOrder.getAmount();//数量 - String userDefined1= odsProcureOutOrder.getUserDefined1();//单位 - String userDefined2= odsProcureOutOrder.getUserDefined2();//批次 - WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk(mateOrderInSnId); - //wms_raw_mission_out--保存 - //ods_procure_out_order--修改 - WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan(); - wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode()); - // WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan); - OdsProcureOutOrder order = new OdsProcureOutOrder(); - order.setProduceCode(produceCode);//领料单 - order.setMaterialCode(materialCode);// - order.setMaterialDesc(materialDesc); - order.setUserDefined1(userDefined2);//批次 - order.setUserDefined2(whCode); - order.setUserDefined3(wlCode); - order.setSn(sn); - order.setPlanNumber(amount); - order.setLocCode(waCode);//库区 - order.setID(IdUtils.fastSimpleUUID()); - order.setUnit(userDefined1); - order.setFactoryCode(factoryCode); - order.setActive("1"); - order.setCreateBy(createBy); - order.setCreateDate(new Date()); - //order.setSiteCode(factoryCode);} - OdsProcureOutOrder odsProcureOutOrder1=new OdsProcureOutOrder(); - odsProcureOutOrder1.setProduceCode(produceCode); - odsProcureOutOrder1.setMaterialCode(materialCode); - List odsProcureOutOrders = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder1); - OdsProcureOutOrder order1= odsProcureOutOrders.get(0); - order.setUserDefined4(order1.getUserDefined4()); - odsProcureOutOrderMapper.insertWmsRawMissionOut(order); + for (OdsProcureOutOrder odsProcureOutOrder : + orderList) { + //领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号, + String produceCode= odsProcureOutOrder.getProduceCode();//生产领料单号 + String createBy= odsProcureOutOrder.getCreateBy();//操作人 + String mateOrderInSnId= odsProcureOutOrder.getMateOrderInSnId(); + String waCode= odsProcureOutOrder.getWaCode(); + String whCode= odsProcureOutOrder.getWhCode(); + String wlCode= odsProcureOutOrder.getWlCode(); + String sn= odsProcureOutOrder.getSn(); + String materialCode= odsProcureOutOrder.getMaterialCode(); + String materialDesc= odsProcureOutOrder.getMaterialDesc(); + BigDecimal amount= odsProcureOutOrder.getAmount();//数量 + String userDefined1= odsProcureOutOrder.getUserDefined1();//单位 + String userDefined2= odsProcureOutOrder.getUserDefined2();//批次 + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk(mateOrderInSnId); + //wms_raw_mission_out--保存 + //ods_procure_out_order--修改 + WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan(); + wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode()); + // WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan); + OdsProcureOutOrder order = new OdsProcureOutOrder(); + order.setProduceCode(produceCode);//领料单 + order.setMaterialCode(materialCode);// + order.setMaterialDesc(materialDesc); + order.setUserDefined1(userDefined2);//批次 + order.setUserDefined2(whCode); + order.setUserDefined3(wlCode); + order.setSn(sn); + order.setPlanNumber(amount); + order.setLocCode(waCode);//库区 + order.setID(IdUtils.fastSimpleUUID()); + order.setUnit(userDefined1); + order.setFactoryCode(factoryCode); + order.setActive("1"); + order.setCreateBy(createBy); + order.setCreateDate(new Date()); + //order.setSiteCode(factoryCode);} + OdsProcureOutOrder odsProcureOutOrder1=new OdsProcureOutOrder(); + odsProcureOutOrder1.setProduceCode(produceCode); + odsProcureOutOrder1.setMaterialCode(materialCode); + List odsProcureOutOrders = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder1); + OdsProcureOutOrder order1= odsProcureOutOrders.get(0); + order.setUserDefined4(order1.getUserDefined4()); + odsProcureOutOrderMapper.insertWmsRawMissionOut(order); - BigDecimal realityNumber1 = order1.getOutNumber();//累出库数 - BigDecimal realityNumber = order1.getPlanNumber();//计划 - BigDecimal planNumber = amount;//本次实际数量 - BigDecimal tem = realityNumber1.add(planNumber); - if (tem.compareTo(realityNumber)>= 0) { - order1.setOrderStatus("3"); - } else { - order1.setOrderStatus("2"); - } - order1.setOutNumber(tem); - odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(order1);//订单修改 - //明细 + BigDecimal realityNumber1 = order1.getOutNumber();//累出库数 + BigDecimal realityNumber = order1.getPlanNumber();//计划 + BigDecimal planNumber = amount;//本次实际数量 + BigDecimal tem = realityNumber1.add(planNumber); + if (tem.compareTo(realityNumber)>= 0) { + order1.setOrderStatus("3"); + } else { + order1.setOrderStatus("2"); + } + order1.setOutNumber(tem); + odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(order1);//订单修改 + //明细 // BigDecimal temk= wmsOdsMateStorageNewsSn.getAmount().subtract(amount); - wmsOdsMateStorageNewsSn.setOutNumber(amount); - wmsOdsMateStorageNewsSn.setLastModifiedBy(createBy); - wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnAddoutNumber(wmsOdsMateStorageNewsSn);//库存明细 - WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews(); - wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码 - wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码 - wmsOdsEmStorageNews.setWaCode(wmsOdsMateStorageNewsSn.getWaCode()); - wmsOdsEmStorageNews.setProductBatch(wmsOdsMateStorageNewsSn.getUserDefined2()); - wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode()); - wmsOdsEmStorageNews.setAmount(odsProcureOutOrder.getPlanNumber());//库存 - wmsOdsEmStorageNews.setLastModifiedBy(createBy); - wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整 - } - // - OdsProcureOutOrder order=new OdsProcureOutOrder(); - List orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order); - if (orderList1.size()>0){ - OutboundPostingzcSAPGY(orderList1); - } - }finally { - DynamicDataSourceContextHolder.poll(); + wmsOdsMateStorageNewsSn.setOutNumber(amount); + wmsOdsMateStorageNewsSn.setLastModifiedBy(createBy); + wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnAddoutNumber(wmsOdsMateStorageNewsSn);//库存明细 + WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews(); + wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码 + wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码 + wmsOdsEmStorageNews.setWaCode(wmsOdsMateStorageNewsSn.getWaCode()); + wmsOdsEmStorageNews.setProductBatch(wmsOdsMateStorageNewsSn.getUserDefined2()); + wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode()); + wmsOdsEmStorageNews.setAmount(odsProcureOutOrder.getPlanNumber());//库存 + wmsOdsEmStorageNews.setLastModifiedBy(createBy); + wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整 + } + // + OdsProcureOutOrder order=new OdsProcureOutOrder(); + List orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order); + if (orderList1.size()>0){ + OutboundPostingzcSAPGY(orderList1); } - return result; } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsRawOrderInServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsRawOrderInServiceImpl.java index bd5c8e310..958c9d635 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsRawOrderInServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsRawOrderInServiceImpl.java @@ -105,4 +105,21 @@ public class WmsRawOrderInServiceImpl implements IWmsRawOrderInService { List wmsRawOrderInList= wmsRawOrderInMapper.listInspectionReport(wmsRawOrderIn); return wmsRawOrderInList; } + + /** + * pda上查询包材到货单已暂时列表 + * + * @param wmsRawOrderIn + */ + @Override + @DS("#header.poolName") + public List getWmsRawOrderInListToPda(WmsRawOrderIn wmsRawOrderIn) { + List wmsRawOrderInList= wmsRawOrderInMapper.getWmsRawOrderInListToPda(wmsRawOrderIn); + for (WmsRawOrderIn wmsRawOrderIn1: wmsRawOrderInList) { + wmsRawOrderIn1.setUserDefined6( wmsRawOrderIn1.getPoNo()+wmsRawOrderIn1.getUserDefined7()); + String checkResult = wmsRawOrderInMapper.selectQcCheckTask(wmsRawOrderIn1); + wmsRawOrderIn1.setQualityStatus(checkResult); + } + return wmsRawOrderInList; + } } 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 9fe268efa..4e79f84a9 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 @@ -46,7 +46,8 @@ - + + @@ -90,7 +91,47 @@ + + +