diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOutOrderMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOutOrderMapper.java index 9993d0e7e..0d7d159ca 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOutOrderMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOutOrderMapper.java @@ -141,4 +141,10 @@ public interface OdsProcureOutOrderMapper { void updateOdsProcureOutOrderByPcAndMc(OdsProcureOutOrder order); void updateWmsOdsProcureReturnOrderByID(OdsProcureOrder order1); + + List selectWmsOdsProcureReturnOrderStatus(OdsProcureOutOrder order); + + List selectWmsOdsProcureReturnOrderByID(List orderList); + + void updateWMSOdsProcureReturnOrderByids(@Param("order") OdsProcureOutOrder order, @Param("list") List sapMaterialPostingList); } 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 29857f883..ecc8bc0e8 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 @@ -2218,6 +2218,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { @Override public String addReturnSC(List orderList) { String result="操作成功"; + String produceCode = null; String factoryCode = orderList.get(0).getFactoryCode(); DynamicDataSourceContextHolder.push("ds_" + factoryCode); for (OdsProcureOutOrder odsProcureOutOrder : @@ -2226,6 +2227,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { String userDefined3= odsProcureOutOrder.getUserDefined3();//退料单id OdsProcureOrder order1= odsProcureOrderMapper.selectWMSOdsProcureReturnOrderByID(userDefined3); String createBy= odsProcureOutOrder.getCreateBy();//操作人 + produceCode= order1.getProcureCode(); String userDefined6= odsProcureOutOrder.getUserDefined6();//标识卡 String waCode= odsProcureOutOrder.getWaCode(); String whCode= odsProcureOutOrder.getWhCode(); @@ -2237,7 +2239,24 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { String userDefined1= order1.getUnit();//单位 String userDefined2= odsProcureOutOrder.getUserDefined5();//批次 //接下来我就要调整库存--修改订单 - + 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); + odsProcureOutOrderMapper.insertWmsRawMissionOut(order); BigDecimal returnNumber= order1.getReturnNumber(); order1.setReturnNumber(returnNumber.add(amount)); if(order1.getPlanNumber().compareTo(order1.getReturnNumber())<=0){ @@ -2246,9 +2265,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { order1.setOrderStatus("2"); } odsProcureOutOrderMapper.updateWmsOdsProcureReturnOrderByID(order1); - OdsProcureOrder order =new OdsProcureOrder(); - order.setUserDefined6(userDefined6); - odsProcureOrderMapper.updateodsProcureOrderCard(order); + OdsProcureOrder order2 =new OdsProcureOrder(); + order2.setUserDefined6(userDefined6); + odsProcureOrderMapper.updateodsProcureOrderCard(order2); //库存 //收货 WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn(); @@ -2302,11 +2321,18 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews); } } -// OdsProcureOutOrder order=new OdsProcureOutOrder(); -// List orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order); -// if (orderList1.size()>0){ -// OutboundPostingzcSAPGY(orderList1); -// } + OdsProcureOutOrder order=new OdsProcureOutOrder(); + order.setProduceCode(produceCode); + List orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureReturnOrderStatus(order); + String fx=""; + for(OdsProcureOutOrder order1:orderList1){ + if(order1.getProduceCode().length()<=11){ + fx="X"; + } + } + if (!fx.equals("X")){ + OutboundPostingzcSAPGYTH(orderList1); + } return result; } @@ -2834,7 +2860,67 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { return null; } + public void OutboundPostingzcSAPGYTH(List orderList){ + //先根据出库单获取 +// * 退料的移动类型为 262 +// * 领料的移动类型为 261-- and wms_ods_procure_out_order.Order_Status='3' + List orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureReturnOrderByID(orderList); + List orderList2 = new ArrayList<>();//非反冲 + List> mapList = new ArrayList<>();//非反冲 + List sapMaterialPostingFCList = new ArrayList<>();//反冲 + List orderList2FC = new ArrayList<>();//反冲 + for (OdsProcureOutOrder odsProcureOutOrder : + orderList1) { + Map map = new HashMap<>(); + map.put("AUFNR", odsProcureOutOrder.getProduceCode()); + map.put("PLANT", odsProcureOutOrder.getSiteCode()); + String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode()); + map.put("LGORT", lgort); + map.put("MATNR", odsProcureOutOrder.getMaterialCode()); + map.put("QUANTITY", odsProcureOutOrder.getReturnNumber().toString()); + map.put("MEINS", odsProcureOutOrder.getUnit()); + mapList.add(map); + orderList2.add(odsProcureOutOrder); + } + if (mapList.size() > 0) { + //非反冲过账 + SapMaterialPosting sapMaterialPosting = new SapMaterialPosting(); + sapMaterialPosting.setPostingType("262"); + sapMaterialPosting.setMapList(mapList); + R result = remoteSapService.sapMaterialPosting(sapMaterialPosting); + OdsProcureOutOrder order = new OdsProcureOutOrder(); + int code = result.getCode(); + String msg = result.getMsg(); + //order.setSapMaterialPostingList(sapMaterialPostingList); + order.setUserDefined11(msg); + if (code == 200) { + //过账成功 + Map map = new HashMap(); + map = (Map) result.getData(); + String userDefined9 = (String) map.get("MATERIALDOCUMENT"); + order.setUserDefined9(userDefined9); + order.setUserDefined10("2");//成功 + odsProcureOutOrderMapper.updateWMSOdsProcureReturnOrderByids(order, orderList2); + for (OdsProcureOutOrder order1: + orderList2) { + //过账成功--减库存 + List odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1); + for (WmsOdsMateStorageNews wmsOdsMateStorageNews: + odsEmStorageNews) { + //wmsOdsMateStorageNews + wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername()); + wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整 + } + } + } else { + // + order.setUserDefined9(""); + order.setUserDefined10("3");//失败 + odsProcureOutOrderMapper.updateWMSOdsProcureReturnOrderByids(order, orderList2); + } + } + } //空托下发计划的接口 public String addPurchaseOrderOutboundTwoWCS(OrderLine orderLinete) { // 定义请求的URL地址 diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml index 3c1d1cbaa..27428f029 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml @@ -458,7 +458,16 @@ #{item.ID} - + + update wms_ods_procure_return_order + set User_Defined10 = #{order.userDefined10}, + User_Defined9 = #{order.userDefined9}, + User_Defined11 = #{order.userDefined11} + where ID in + + #{item.ID} + + update ods_procure_out_order_fc set User_Defined10 = #{order.userDefined10}, @@ -821,6 +830,52 @@ and wms_ods_procure_out_order.User_Defined10!='2' + + + + +