diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java index 5eda1c3f..ac760a34 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java @@ -5,9 +5,6 @@ package com.op.wms.controller; import com.op.common.core.utils.StringUtils; import com.op.common.core.web.domain.AjaxResult; -import com.op.common.core.web.page.TableDataInfo; -import com.op.common.security.annotation.RequiresPermissions; -import com.op.system.api.RemoteOpenService; import com.op.wms.domain.*; import com.op.wms.service.*; import org.springframework.beans.factory.annotation.Autowired; @@ -232,7 +229,41 @@ public class WmsToWCSmissionController { List result = odsProcureOrderService.ProductionMaterialRequisition(odsProcureOutOrder); return success(result); } + /** + * 生产领料--新手持用 + * + * @param odsProcureOutOrder + * @return + */ + @PostMapping("/ProductionMaterialRequisitionSC") + public AjaxResult ProductionMaterialRequisitionSC(@RequestBody OdsProcureOutOrder odsProcureOutOrder) { + List result = odsProcureOrderService.ProductionMaterialRequisitionSC(odsProcureOutOrder); + return success(result); + } + + /** + * 生产领料--新扫标识卡 + * + * @param wmsOdsMateStorageNewsSn + * @return + */ + @PostMapping("/SweepMaterialCardSC") + public AjaxResult SweepMaterialCardSC(@RequestBody WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn) { + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn1 = odsProcureOrderService.SweepMaterialCardSC(wmsOdsMateStorageNewsSn); + return success(wmsOdsMateStorageNewsSn1); + } + /** + * 生产领料--新确认出库 + * + * @param orderList + * @return + */ + @PostMapping("/NewConMaterialOutSC") + public AjaxResult NewConMaterialOutSC(@RequestBody List orderList) { + String result = odsProcureOrderService.NewConMaterialOutSC(orderList); + return success(result); + } /** * 生产领料--托盘数据查询 * diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java index 2ecfc124..018c4ab9 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java @@ -30,6 +30,15 @@ public class OdsProcureOutOrder extends BaseEntity { public void setFactoryCode(String factoryCode) { this.factoryCode = factoryCode; } + List wmsOdsMateStorageNewsSns; + + public List getWmsOdsMateStorageNewsSns() { + return wmsOdsMateStorageNewsSns; + } + + public void setWmsOdsMateStorageNewsSns(List wmsOdsMateStorageNewsSns) { + this.wmsOdsMateStorageNewsSns = wmsOdsMateStorageNewsSns; + } /** * 工厂编码 @@ -97,6 +106,15 @@ public class OdsProcureOutOrder extends BaseEntity { @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "计划日期", width = 30, dateFormat = "yyyy-MM-dd") private Date planDate; + private String needDate; + + public String getNeedDate() { + return needDate; + } + + public void setNeedDate(String needDate) { + this.needDate = needDate; + } private String planDateMin; 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 b1c606d1..9e51ac78 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 @@ -100,4 +100,16 @@ public interface OdsProcureOutOrderMapper { void updateOdsProcureOutOrderByidsfc(@Param("order") OdsProcureOutOrder order, @Param("list") List sapMaterialPostingList); OdsProcureOutOrder selectOdsProcureOutOrderListZUfcsy(OdsProcureOutOrder odsProcureOutOrder); + + OdsProcureOutOrder selectMesPrepareBC(OdsProcureOutOrder odsProcureOutOrder); + + List selectMesPrepareDetailBC(OdsProcureOutOrder order); + + List selectWmsOdsProcureOutOrder(OdsProcureOutOrder odsProcureOutOrder); + + public void insertWmsOdsProcureOutOrder(OdsProcureOutOrder odsProcureOutOrder1); + + OdsProcureOutOrder selectWmsOdsProcureOutOrderByID(String id); + + void updateWmsOdsProcureOutOrder(OdsProcureOutOrder odsProcureOutOrder1); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsSnMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsSnMapper.java index a9c02b8a..5e9d57bf 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsSnMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsSnMapper.java @@ -68,4 +68,6 @@ public interface WmsOdsMateStorageNewsSnMapper { void updatekdd(WmsOdsEmStorageNews wmsOdsEmStorageNews); WmsOdsMateStorageNewsSn selectwmsRfidNotwo(WmsToWCSDTO wcsdto); + + WmsOdsMateStorageNewsSn selectWmsOdsMateStorageNewsSnByWlCode(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java index be934c9d..5d6e8182 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java @@ -121,4 +121,10 @@ public interface IOdsProcureOrderService { String addOrderCard(OdsProcureOrder odsProcureOrder); String sap105temporarilyCollected(List odsProcureOrder); + + List ProductionMaterialRequisitionSC(OdsProcureOutOrder odsProcureOutOrder); + + WmsOdsMateStorageNewsSn SweepMaterialCardSC(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn); + + String NewConMaterialOutSC(List odsProcureOutOrder); } 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 dbcd368b..dafb8e49 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 @@ -859,6 +859,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { wmsOdsMateStorageNews1.setCreateBy(wmsRawOrderInSn.getCreateBy()); wmsOdsMateStorageNews1.setGmtCreate(new Date()); wmsOdsMateStorageNews1.setActiveFlag("1"); + wmsOdsMateStorageNews1.setUserDefined2(formattedDate); wmsOdsMateStorageNews1.setFactoryCode(wmsRawOrderInSn.getFactoryCode()); wmsOdsMateStorageNews1.setSapFactoryCode(wmsRawOrderInSn.getSapFactoryCode()); wmsOdsMateStorageNews1.setUserDefined1(wmsRawOrderInSn.getUserDefined4());//单位 @@ -943,7 +944,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { List> mapList = new ArrayList<>(); if (result.get("code").equals(200)) { mapList= (List>) result.get("data"); - for (Map sapPurchaseOrderQuery1 : mapList) { + for (Map sapPurchaseOrderQuery1 : mapList) { OdsProcureOrder order = new OdsProcureOrder(); // 获取 mainId Object mainIdObj = sapPurchaseOrderQuery1.get("mainId"); @@ -1293,8 +1294,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { odsProcureOrder.setOrderStatus("1"); BigDecimal result = order.getRealityNumber().add(order1k.getPlanNumber()); System.out.println(result); - if (result.equals(order.getPlanNumber())) { - odsProcureOrder.setOrderStatus("2");// + if (result.compareTo(order.getPlanNumber())== 0) { + odsProcureOrder.setOrderStatus("2"); } odsProcureOrderMapper.updateRealityNuById(odsProcureOrder); @@ -1454,6 +1455,130 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { } } + @Override + public List ProductionMaterialRequisitionSC(OdsProcureOutOrder odsProcureOutOrder) { + //二维码获取的信息查询对应的sap生产订单,再用生产订单查询子单 + DynamicDataSourceContextHolder.push("ds_" + odsProcureOutOrder.getFactoryCode()); + List orderListone= odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder); + if (orderListone.size()>0){ + return orderListone; + } + OdsProcureOutOrder order = odsProcureOutOrderMapper.selectMesPrepareBC(odsProcureOutOrder); + List orderList= odsProcureOutOrderMapper.selectMesPrepareDetailBC(order); + + //根据订单号查询对应的最大批次号 + Integer orderItem = 0; + for (OdsProcureOutOrder orderLine1 : + orderList) { + orderItem++; + orderLine1.setUserDefined2(String.format("%05d", orderItem)); + } + List orderList1=new ArrayList<>(); + for (OdsProcureOutOrder order1: + orderList) { + OdsProcureOutOrder odsProcureOutOrder1 = new OdsProcureOutOrder(); + odsProcureOutOrder1.setID(IdUtils.fastSimpleUUID()); + odsProcureOutOrder1.setSiteCode(order1.getFactoryCode()); + odsProcureOutOrder1.setProduceCode(order.getProduceCode()); + odsProcureOutOrder1.setOutNumber(new BigDecimal("0")); + //odsProcureOutOrder1.setLocCode(order.getWarehouseNo()); + odsProcureOutOrder1.setMaterialCode(order1.getMaterialCode()); + odsProcureOutOrder1.setMaterialDesc(order1.getMaterialDesc()); + odsProcureOutOrder1.setPlanDate(new Date()); + odsProcureOutOrder1.setUnit(order1.getUnit()); + //odsProcureOutOrder1.setProductionLineCode(order1.getStationNo()); + //odsProcureOutOrder1.setUserDefined1(orderLine1.getBatchNo()); + odsProcureOutOrder1.setActive("1"); + odsProcureOutOrder1.setOrderStatus("0");// + odsProcureOutOrder1.setPlanNumber(order1.getPlanNumber()); + odsProcureOutOrder1.setUserDefined2(order1.getUserDefined2()); + odsProcureOutOrder1.setUserDefined3(order1.getUserDefined3()); + odsProcureOutOrder1.setUserDefined4(odsProcureOutOrder.getUserDefined4()); + odsProcureOutOrder1.setUserDefined10("1"); + odsProcureOutOrder1.setCreateBy(odsProcureOutOrder.getCreateBy()); + odsProcureOutOrder1.setCreateDate(new Date()); + odsProcureOutOrder1.setCreateDate(new Date()); + //odsProcureOutOrder.set + odsProcureOutOrderMapper.insertWmsOdsProcureOutOrder(odsProcureOutOrder1); + orderList1.add(odsProcureOutOrder1); + } + return orderList1; + } + + @Override + public WmsOdsMateStorageNewsSn SweepMaterialCardSC(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn) { + DynamicDataSourceContextHolder.push("ds_" + wmsOdsMateStorageNewsSn.getFactoryCode()); + wmsOdsMateStorageNewsSn.setUserDefined3("1"); + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSnk= wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByWlCode(wmsOdsMateStorageNewsSn); + return wmsOdsMateStorageNewsSnk; + } + + @Override + public String NewConMaterialOutSC(List orderList) { + //修改对应订单--插入对应出库托盘数据数据 +// for (OdsProcureOutOrder odsProcureOutOrder: +// orderList) { +// //领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号, +// odsProcureOutOrder. +// } + String result="操作成功"; + String factoryCode = orderList.get(0).getFactoryCode(); + DynamicDataSourceContextHolder.push("ds_" + factoryCode); + for (OdsProcureOutOrder odsProcureOutOrder : + orderList) { + //领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号, + WmsToWCSDTO wcsdto = new WmsToWCSDTO(); + + wcsdto.setRfidNo(odsProcureOutOrder.getSn()); + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto); + //明细 + //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(odsProcureOutOrder.getProduceCode());//领料单 + order.setMaterialCode(odsProcureOutOrder.getMaterialCode());// + order.setMaterialDesc(odsProcureOutOrder.getMaterialDesc()); + order.setUserDefined1(odsProcureOutOrder.getUserDefined1());//批次 + order.setSn(odsProcureOutOrder.getSn()); + order.setPlanNumber(odsProcureOutOrder.getPlanNumber()); + order.setLocCode(odsProcureOutOrder.getLocCode()); + order.setID(IdUtils.fastSimpleUUID()); + order.setUnit(odsProcureOutOrder.getUnit()); + order.setFactoryCode(factoryCode); + order.setActive("1"); + order.setCreateBy(odsProcureOutOrder.getCreateBy()); + order.setCreateDate(new Date()); + odsProcureOutOrderMapper.insertWmsRawMissionOut(order); + + OdsProcureOutOrder odsProcureOutOrder1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByID(odsProcureOutOrder.getID()); + BigDecimal realityNumber1 = odsProcureOutOrder1.getOutNumber();//累出库数 + BigDecimal realityNumber = odsProcureOutOrder1.getPlanNumber();//计划 + BigDecimal planNumber = odsProcureOutOrder.getPlanNumber();//本次实际数量 + BigDecimal tem = realityNumber1.add(planNumber); + if (tem.compareTo(realityNumber)== 0) { + odsProcureOutOrder1.setOrderStatus("3"); + } else { + odsProcureOutOrder1.setOrderStatus("2"); + } + odsProcureOutOrder1.setOutNumber(tem); + odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(odsProcureOutOrder1);//订单修改 + 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());//库存 + wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整 + wmsOdsMateStorageNewsSn.setUserDefined1("1"); + wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);//库存明细 + } + return result; + } public String dayin( List orderList) { @@ -1822,6 +1947,4 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { return null; } - - } 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 cfb012c2..439d308a 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 @@ -41,6 +41,7 @@ + limit #{page.pageOffset} , #{page.rows} @@ -686,4 +687,257 @@ factory_code, unit + + + + + + + insert into wms_ods_procure_out_order + + Site_code, + ID, + Produce_Code, + Material_Code, + Material_Desc, + Plan_Date, + Plan_Number, + Unit, + Out_Number, + Loc_Code, + Loc_Desc, + Production_Line_Desc, + Production_Line_Code, + Order_Status, + User_Defined1, + User_Defined2, + User_Defined3, + User_Defined4, + User_Defined5, + User_Defined6, + User_Defined7, + User_Defined8, + User_Defined9, + User_Defined10, + User_Defined11, + Supplier_Code, + Supplier_Name, + Create_By, + Create_Date, + Last_Update_By, + Last_Update_Date, + Active, + Enterprise_Id, + Enterprise_Code, + + + #{siteCode}, + #{ID}, + #{produceCode}, + #{materialCode}, + #{materialDesc}, + #{planDate}, + #{planNumber}, + #{Unit}, + #{outNumber}, + #{locCode}, + #{locDesc}, + #{productionLineDesc}, + #{productionLineCode}, + #{orderStatus}, + #{userDefined1}, + #{userDefined2}, + #{userDefined3}, + #{userDefined4}, + #{userDefined5}, + #{userDefined6}, + #{userDefined7}, + #{userDefined8}, + #{userDefined9}, + #{userDefined10}, + #{userDefined11}, + #{supplierCode}, + #{supplierName}, + #{createBy}, + #{createDate}, + #{lastUpdateBy}, + #{lastUpdateDate}, + #{Active}, + #{enterpriseId}, + #{enterpriseCode}, + + + 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 554e028b..b4a44ba8 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 @@ -201,10 +201,10 @@ update wms_ods_mate_storage_news - set amount = ISNULL(amount, 0) - #{amount}, + set occupy_amount = occupy_amount + #{amount}, gmt_modified=GETDATE() - where wh_code=#{whCode} and wl_code=#{wlCode} and material_code=#{materialCode} - + where wh_code=#{whCode} and wa_code=#{waCode} and wl_code=#{wlCode} and material_code=#{materialCode} and product_bach= #{productBatch} + + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml index f670fe46..69b3fc30 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml @@ -444,7 +444,7 @@ pro_order_workorder_batch_pallet WHERE pro_order_workorder_batch_pallet.pallet_code= #{pallet} - + AND del_flag = 0