diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java index 92afe2ef..1f1bfab2 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java @@ -727,6 +727,7 @@ public class SapItemSyncImpl implements SapItemSyncService { String MESSAGE= new String(); String MATERIALDOCUMENT = new String(); String MATDOCUMENTYEAR= new String(); + String tem="0"; for (int i = 0; i < maraTable.getNumRows(); i++) { mblnr = maraTable.getString("MBLNR"); // 物料凭证编号 mjahr = maraTable.getString("MJAHR"); // 物料凭证年度 @@ -757,6 +758,12 @@ public class SapItemSyncImpl implements SapItemSyncService { System.out.println("条目单位: " + erfme); System.out.println("采购订单价格单位的数量: " + bpmng); System.out.println("订单价格单位(采购): " + bprme); + //需要做判断 + if (map.get("poNo").equals(ebeln)&&map.get("S_MATNR").equals(matnr)){//需要判断采购单和物料 + tem="1"; + }else { + continue; + } JCoFunction func2 = repository.getFunction("ZMES_105_MIGO"); if (func2 == null) { throw new RuntimeException("Function does not exist in SAP"); diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRawOrderIn.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRawOrderIn.java index c1332a02..3a5e2ae8 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRawOrderIn.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRawOrderIn.java @@ -341,6 +341,24 @@ public class WmsRawOrderIn extends BaseEntity { private String activeFlag; private String incomeBatchNo; + private String kem; + + public String getKem() { + return kem; + } + + public void setKem(String kem) { + this.kem = kem; + } + + public String getIncomeBatchNo() { + return incomeBatchNo; + } + + public void setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } + public void setRawOrderInId(String rawOrderInId) { this.rawOrderInId = rawOrderInId; } 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 62666cb0..6cd3335e 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 @@ -102,4 +102,5 @@ public interface OdsProcureOrderMapper { List getIdCardListTH(OdsProcureOrder order); + void deleteBatchPallet(@Param("list")List dtos0); } 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 80e05df2..321f7b66 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 @@ -1175,7 +1175,51 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { odsProcureOrderMapper.addBatchPallet(dtos); } }else{ - dtos.addAll(dtos0); + odsProcureOrderMapper.deleteBatchPallet(dtos0); + //说明生成过标识卡--那就删去重新生成 + OdsProcureOrder pw = new OdsProcureOrder(); + int i = 1; + String palletNum = baseProductAttacheds.get(0).getPalletNum(); + Date nowDate = DateUtils.getNowDate(); + + 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.setUserDefined7(order.getUserDefined7()); + pw.setUserDefined10("0");//标识卡状态0是未收货的 + pw.setUserDefined11(order.getUserDefined11()); + pw.setUserDefined4(odsProcureOrder.getID()); + 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+"-"+odsProcureOrder.getID()+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次 + pw.setCreateTime(nowDate); + pw.setActive("1"); + dtos.add(pw); + pall = pall.subtract(pn); + } + } + + if(!CollectionUtils.isEmpty(dtos)){ + odsProcureOrderMapper.addBatchPallet(dtos); + } } for (OdsProcureOrder order1: dtos ) { @@ -1422,60 +1466,68 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { @Override @DS("#header.poolName") public String sap105temporarilyCollected(List odsProcureOrders) { - OdsProcureOrder odsProcureOrder = odsProcureOrders.get(0); - WmsRawOrderIn wmsRawOrderIn= wmsRawOrderInMapper.selectWmsRawOrderInByRawOrderInIdTWO(odsProcureOrder.getID()); - Map paramMap=new HashMap<>(); - List mapList = new ArrayList<>(); - paramMap.put("S_MBLNR",wmsRawOrderIn.getUserDefined1()); - paramMap.put("S_MJAHR",wmsRawOrderIn.getUserDefined2()); - paramMap.put("S_MATNR",wmsRawOrderIn.getMaterialCode()); - paramMap.put("incomeBatchNo",wmsRawOrderIn.getReturnName()); //批次 - paramMap.put("ebelp",wmsRawOrderIn.getPoLine()); - mapList.add(paramMap); - R result2 = remoteSapService.sap105temporarilyCollected(mapList); - if (result2.getCode()==200){ - Map map = new HashMap(); - map = (Map) result2.getData(); - String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT"); - String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR"); - //成功了--成功了,根据 - WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn(); - wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo()); - wmsRawOrderInSn.setUserDefined1("1");//暂收 - List wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn); - for (WmsRawOrderInSn wmsRawOrderInSn1: - wmsRawOrderInSnList) { - WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn(); - wmsRawOrderInNewsSn.setMaterialCode(wmsRawOrderInSn1.getMaterialCode()); - wmsRawOrderInNewsSn.setWaCode(wmsRawOrderInSn1.getWaCode()); - wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode()); - wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode()); - wmsRawOrderInNewsSn.setUserDefined3("1"); - wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsRawOrderInNewsSn); - wmsRawOrderInSn1.setUserDefined1("2"); - wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1); - WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews(); - wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode()); - wmsOdsMateStorageNews.setWaCode(wmsRawOrderInSn1.getWaCode()); - wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode()); - wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode()); - wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount()); - wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews); + String result="操作完成"; + for (OdsProcureOrder order: odsProcureOrders){ + OdsProcureOrder odsProcureOrder = order; + WmsRawOrderIn wmsRawOrderIn= wmsRawOrderInMapper.selectWmsRawOrderInByRawOrderInIdTWO(odsProcureOrder.getID()); + //这个地方 + Map paramMap=new HashMap<>(); + List mapList = new ArrayList<>(); + paramMap.put("S_MBLNR",wmsRawOrderIn.getUserDefined1()); + paramMap.put("S_MJAHR",wmsRawOrderIn.getUserDefined2()); + paramMap.put("S_MATNR",wmsRawOrderIn.getMaterialCode()); + paramMap.put("incomeBatchNo",wmsRawOrderIn.getIncomeBatchNo()); //批次 + paramMap.put("ebelp",wmsRawOrderIn.getPoLine()); + paramMap.put("poNo",wmsRawOrderIn.getPoNo()); + mapList.add(paramMap); + R result2 = remoteSapService.sap105temporarilyCollected(mapList); + if (result2.getCode()==200){ + Map map = new HashMap(); + map = (Map) result2.getData(); + String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT"); + String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR"); + //成功了--成功了,根据 + WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn(); + wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo()); + wmsRawOrderInSn.setUserDefined1("1");//暂收 + + wmsRawOrderInSn.setUserDefined3(wmsRawOrderIn.getKem()); + List wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn); + for (WmsRawOrderInSn wmsRawOrderInSn1: + wmsRawOrderInSnList) { + WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn(); + wmsRawOrderInNewsSn.setMaterialCode(wmsRawOrderInSn1.getMaterialCode()); + wmsRawOrderInNewsSn.setWaCode(wmsRawOrderInSn1.getWaCode()); + wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode()); + wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode()); + wmsRawOrderInNewsSn.setUserDefined3("1"); + wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsRawOrderInNewsSn); + wmsRawOrderInSn1.setUserDefined1("2"); + wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1); + WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews(); + wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode()); + wmsOdsMateStorageNews.setWaCode(wmsRawOrderInSn1.getWaCode()); + wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode()); + wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode()); + wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount()); + wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews); + } + wmsRawOrderIn.setOrderStatus("1"); + wmsRawOrderIn.setAccountingTime(new Date()); + wmsRawOrderIn.setAccountingMessage(result2.getMsg()); + wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT); + wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR); + wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); + + }else { + //失败了 + wmsRawOrderIn.setAccountingTime(new Date()); + wmsRawOrderIn.setAccountingMessage(result2.getMsg()); + wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); + } - wmsRawOrderIn.setOrderStatus("1"); - wmsRawOrderIn.setAccountingTime(new Date()); - wmsRawOrderIn.setAccountingMessage(result2.getMsg()); - wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT); - wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR); - wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); - return result2.getMsg(); - }else { - //失败了 - wmsRawOrderIn.setAccountingTime(new Date()); - wmsRawOrderIn.setAccountingMessage(result2.getMsg()); - wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); - return result2.getMsg(); } + return result; } @Override 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 99d806ac..3c1bf5a4 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 @@ -750,5 +750,11 @@ where User_Defined4=#{storageId} and User_Defined8='2' + + delete from ods_procure_order_card where ID in + + #{odsProcureOrder.ID} + + 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 2d2d4107..04d5c9d2 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 @@ -54,7 +54,7 @@ and wa_code = #{waCode} and storage_type = #{storageType} and wl_code = #{wlCode} - and material_code = #{materialCode} + and material_code like concat('%', #{materialCode}, '%') and material_desc = #{materialDesc} and amount = #{amount} and storage_amount = #{storageAmount} @@ -81,6 +81,7 @@ and sap_factory_code = #{sapFactoryCode} and wl_name like concat('%', #{wlName}, '%') + order by gmt_create desc