diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsOdsMateStorageNews.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsOdsMateStorageNews.java index af2d6d953..48240c5b1 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsOdsMateStorageNews.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsOdsMateStorageNews.java @@ -49,6 +49,15 @@ public class WmsOdsMateStorageNews extends BaseEntity { private String storageType; private String procureCode; private String poNo; + private String sn; + + public String getSn() { + return sn; + } + + public void setSn(String sn) { + this.sn = sn; + } public String getProcureCode() { return procureCode; 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 6e6481980..682459563 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 @@ -165,4 +165,8 @@ public interface OdsProcureOutOrderMapper { void updateWmsOdsProcureOutOrderSpecial(OdsProcureOutOrder order1); List selectWmsOdsProcureOutOrderByOrderStatusSpecial(OdsProcureOutOrder order); + + List selectWmsOdsProcureOutOrderSpecialByIDs(List orderList); + + void updateWmsRawMissionOutById(WmsOdsMateStorageNews wmsOdsMateStorageNews); } 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 1b4dd2682..9dd4d579a 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 @@ -1864,6 +1864,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { //wmsOdsMateStorageNews wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername()); wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整 + odsProcureOutOrderMapper.updateWmsRawMissionOutById(wmsOdsMateStorageNews);//库存调整 } } } else { @@ -1903,6 +1904,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { //wmsOdsMateStorageNews wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername()); wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整 + odsProcureOutOrderMapper.updateWmsRawMissionOutById(wmsOdsMateStorageNews);//库存调整 } } } else {// diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOutOrderServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOutOrderServiceImpl.java index 13f989e83..6dee8918b 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOutOrderServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOutOrderServiceImpl.java @@ -393,7 +393,130 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService return result; } public void OutboundPostingzcSAPGYTS(List orderList) { - //过账时要对其进行判断判断其内部订单,和成本中心 - +// //先根据出库单获取 +//// * 退料的移动类型为 262 +//// * 领料的移动类型为 261-- and wms_ods_procure_out_order.Order_Status='3' +// //我把过账状态-- and wms_ods_procure_out_order.User_Defined10!='2'去掉了 +// List orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderSpecialByIDs(orderList); +// if (orderList1.size()>0){ +// return; +// } +// if ("成本中心".equals(orderList1.get(0).getUserDefined6())){ +// +// }else {//内部订单 +// +// } +// List orderList2 = new ArrayList<>();//非反冲 +// List> mapList = new ArrayList<>();//非反冲 +// List sapMaterialPostingFCList = new ArrayList<>();//反冲 +// List orderList2FC = new ArrayList<>();//反冲 +// for (OdsProcureOutOrder odsProcureOutOrder : +// orderList1) { +// if (!"X".equals(odsProcureOutOrder.getUserDefined3())){ +// 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.getOutNumber().toString()); +// map.put("MEINS", odsProcureOutOrder.getUnit()); +// mapList.add(map); +// orderList2.add(odsProcureOutOrder); +// }else { +// SapBackflushMPQuery sapBackflushMPQuery = new SapBackflushMPQuery(); +// sapBackflushMPQuery.setPlant(odsProcureOutOrder.getSiteCode()); //工厂 +// String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode()); +// sapBackflushMPQuery.setLgort(lgort);//库存地点 +// sapBackflushMPQuery.setUmlgo("0013"); +// sapBackflushMPQuery.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号 +// sapBackflushMPQuery.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量 +// sapBackflushMPQuery.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位 +// sapBackflushMPQuery.setBatch(odsProcureOutOrder.getUserDefined2()); //批号 +// sapMaterialPostingFCList.add(sapBackflushMPQuery); +// orderList2FC.add(odsProcureOutOrder); +// } +// } +// if (mapList.size() > 0) { +// //非反冲过账 +// SapMaterialPosting sapMaterialPosting = new SapMaterialPosting(); +// sapMaterialPosting.setPostingType("261"); +// 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");//成功 +// for (OdsProcureOutOrder order1: +// orderList2 ) { +// BigDecimal sapNumber= order1.getSapNumber(); +// order1.setSapNumber(sapNumber.add(order1.getOutNumber()));//成功..这个是否的outNumber是用已出库减去已经过账的数量 +// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapById(order1); +// } +// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(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.updateWMSOdsProcureOutOrderByids(order, orderList2); +// } +// } +// if (sapMaterialPostingFCList.size() > 0) { +// //反冲过账 +// R result2 = remoteSapService.sapBackflushMP(sapMaterialPostingFCList);//x +// int code = result2.getCode(); +// OdsProcureOutOrder order = new OdsProcureOutOrder(); +// String msg = result2.getMsg(); +// order.setUserDefined11(msg); +// if (code == 200) { +// //过账成功 +// Map map = new HashMap(); +// map = (Map) result2.getData(); +// String userDefined9 = (String) map.get("MATERIALDOCUMENT"); +// order.setUserDefined9(userDefined9); +// order.setUserDefined10("2");//成功 +// for (OdsProcureOutOrder order1: +// orderList2FC ) { +// BigDecimal sapNumber= order1.getSapNumber(); +// order1.setSapNumber(sapNumber.add(order1.getOutNumber()));//成功..这个是否的outNumber是用已出库减去已经过账的数量 +// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapById(order1); +// } +// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC); +// for (OdsProcureOutOrder order1: +// orderList2FC) { +// //过账成功--减库存 +// List odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1); +// for (WmsOdsMateStorageNews wmsOdsMateStorageNews: +// odsEmStorageNews) { +// //wmsOdsMateStorageNews +// wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername()); +// wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整 +// } +// } +// } else {// +// order.setUserDefined9(""); +// order.setUserDefined10("3");//失败 +// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC); +// } +// } } } 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 d83c9614b..8da7b0dbe 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 @@ -640,7 +640,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { proOrderWorkorder.setProOrderWorkorderBatchList(proOrderWorkorderBatchList); } - proOrderWorkorder.setUnit("辆"); +// proOrderWorkorder .setUnit("辆"); return proOrderWorkorder; } 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 313dc77aa..85957c413 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 @@ -406,6 +406,7 @@ user_defined2, user_defined3, user_defined4, + user_defined5, sn, amount, origin_location, @@ -423,6 +424,7 @@ #{userDefined2}, #{userDefined3}, #{userDefined4}, + '1', #{sn}, #{planNumber}, #{locCode}, @@ -1170,9 +1172,11 @@ update wms_ods_procure_out_order - set Sap_Number = #{order.sapNumber} - where ID = #{order.ID} + set Sap_Number = #{sapNumber} + where ID = #{ID} + + update wms_ods_procure_out_order_special + + Site_code = #{siteCode}, + Produce_Code = #{produceCode}, + Material_Code = #{materialCode}, + Material_Desc = #{materialDesc}, + Plan_Date = #{planDate}, + Plan_Number = #{planNumber}, + Unit = #{Unit}, + Out_Number = #{outNumber}, + Loc_Code = #{locCode}, + Loc_Desc = #{locDesc}, + Production_Line_Desc = #{productionLineDesc}, + Production_Line_Code = #{productionLineCode}, + Order_Status = #{orderStatus}, + User_Defined1 = #{userDefined1}, + User_Defined2 = #{userDefined2}, + User_Defined3 = #{userDefined3}, + User_Defined4 = #{userDefined4}, + User_Defined5 = #{userDefined5}, + User_Defined6 = #{userDefined6}, + User_Defined7 = #{userDefined7}, + User_Defined8 = #{userDefined8}, + User_Defined9 = #{userDefined9}, + User_Defined10 = #{userDefined10}, + User_Defined11 = #{userDefined11}, + Supplier_Code = #{supplierCode}, + Supplier_Name = #{supplierName}, + Create_By = #{createBy}, + Create_Date = #{createDate}, + Last_Update_By = #{lastUpdateBy}, + Last_Update_Date = #{lastUpdateDate}, + Active = #{Active}, + Enterprise_Id = #{enterpriseId}, + Enterprise_Code = #{enterpriseCode}, + Sap_Number = #{sapNumber}, + + where ID = #{ID} + + + + update wms_raw_mission_out + set user_defined5 = '2' + where id=#{storageId} + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml index 989d84cc5..9f7ea8fd9 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml @@ -273,7 +273,7 @@ amount = ISNULL(amount, 0) - #{amount}, last_modified_by=#{lastModifiedBy}, gmt_modified=GETDATE() - where wh_code=#{userDefined2} and wa_code=#{waCode} and wl_code=#{userDefined3} and material_code=#{materialCode} + where wh_code=#{userDefined2} and wl_code=#{sn} and wa_code=#{waCode} and wl_code=#{userDefined3} and material_code=#{materialCode} + SELECT - workorder_id workorderId, - workorder_code workorderCode, - workorder_name workorderName, - order_id orderId, - order_code orderCode, - product_code productCode , - product_name productName, - unit unit, - quantity_split quantitySplit, - route_code routeCode, - prod_line_code prodLineCode, - product_date productDate, - factory_code factoryCode, - prod_type prodType, - attr1, - workorder_code_sap workorderCodeSap + pow.workorder_id AS workorderId, + pow.workorder_code AS workorderCode, + pow.workorder_name AS workorderName, + pow.order_id AS orderId, + pow.order_code AS orderCode, + pow.product_code AS productCode, + pow.product_name AS productName, + pow.unit AS unit, + pow.quantity_split AS quantitySplit, + pow.route_code AS routeCode, + pow.prod_line_code AS prodLineCode, + pow.product_date AS productDate, + pow.factory_code AS factoryCode, + pow.prod_type AS prodType, + CAST(TRY_CAST(pow.attr1 AS DECIMAL(18, 2)) * TRY_CAST(pro.car_num_unit AS DECIMAL(18, 2)) AS INT) AS attr1, + pro.car_num_unit, + pow.attr1 , + pow.workorder_code_sap AS workorderCodeSap FROM - pro_order_workorder - WHERE workorder_code=#{orderCode} - AND del_flag='0' + pro_order_workorder pow + LEFT JOIN ( + SELECT + pr.route_id, + pr.route_code, + pr.route_name, + pr.route_desc, + pr.enable_flag, + pr.remark, + pr.attr1, + pr.attr2, + pr.attr3, + pr.attr4, + pr.create_by, + pr.create_time, + pr.update_by, + pr.update_time, + pr.route_version, + pr.need_check, + pr.tec_man, + pr.tec_machine, + pr.tec_other, + pr.tec_depreciation, + pr.car_num_unit, + prt.item_code + FROM + pro_route pr + LEFT JOIN pro_route_product prt ON pr.route_id = prt.route_id + ) AS pro ON pro.item_code = pow.product_code + WHERE + pow.workorder_code =#{orderCode} + AND pow.del_flag = '0'