From 3729d0df5f192953e8e0be585f913a884a1fe4e6 Mon Sep 17 00:00:00 2001 From: "1009473166@qq.com" <草拟吗23> Date: Mon, 13 Apr 2026 09:57:34 +0800 Subject: [PATCH] =?UTF-8?q?2026.4.13=20=E6=97=A9=20=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=9B=9E=E4=BC=A0=EF=BC=8C=E4=BB=A5=E5=8F=8A=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=8E=A5=E6=94=B6=E7=9B=B4=E6=8E=A5=E5=AE=A1=E6=A0=B8=EF=BC=8C?= =?UTF-8?q?=E5=9B=9E=E4=BC=A0=E8=A1=A8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/ToErpApiController.java | 26 +- .../com/ruoyi/api/domain/CallBackErp.java | 63 +++++ .../ruoyi/api/domain/CallBackErpItems.java | 60 +++++ .../api/domain/DeliveryNoticeItemVo.java | 75 ++++-- .../ruoyi/api/domain/DeliveryNoticeVo.java | 5 + .../com/ruoyi/api/service/IToErpService.java | 4 + .../api/service/impl/ToErpServiceImpl.java | 242 +++++++++++++++++- .../api/service/impl/ToWcsServiceImpl.java | 2 +- .../ruoyi/in/stockin/domain/InStockin.java | 213 ++++++++------- .../in/stockinback/domain/InStockinBack.java | 19 ++ .../domain/InStockinDetailBack.java | 38 +++ .../stockindetail/domain/InStockinDetail.java | 114 +++++++-- .../out/outStockout/domain/OutStockout.java | 19 ++ .../domain/OutStockoutBack.java | 21 +- .../domain/OutStockoutDetail.java | 36 +++ .../domain/OutStockoutDetailBack.java | 39 ++- .../mapper/in/InStockinDetailBackMapper.xml | 50 +++- .../mapper/in/InStockinDetailMapper.xml | 10 + .../resources/mapper/in/InStockinMapper.xml | 8 + .../mapper/out/OutStockoutDetailMapper.xml | 8 + .../mapper/out/OutStockoutMapper.xml | 6 + ruoyi-ui/src/views/in/stockIn/index.vue | 79 +++--- ruoyi-ui/src/views/out/outStockoutManage.vue | 59 +++-- ruoyi-ui/src/views/stock/management/index.vue | 10 +- ruoyi-ui/src/views/stock/pointOut.vue | 8 + ruoyi-ui/vue.config.js | 2 +- 26 files changed, 999 insertions(+), 217 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/api/domain/CallBackErp.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/api/domain/CallBackErpItems.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java index 9450eb3..1621a26 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java @@ -39,7 +39,7 @@ public class ToErpApiController { /** - * 回传其他入库单 + * 回传入库单(废弃) */ //@Scheduled(fixedDelay = 1500) @RequestMapping("/callbackInDeliveryNotice") @@ -48,8 +48,30 @@ public class ToErpApiController { toErpService.callbackInDeliveryNotice(); } + /** - * 回传其他出库单 + * 回传入库单 + */ + @Scheduled(fixedDelay = 1500) + @RequestMapping("/callbackInDeliveryNotice") + @ResponseBody + public void callbackInDeliveryNoticeNew() { + toErpService.callbackInDeliveryNoticeNew(); + } + + + /** + * 回传出库单(新) + */ + // @Scheduled(fixedDelay = 1500) + @RequestMapping("/callbackOutDeliveryNotice") + @ResponseBody + public void callbackDeliveryOutNoticeNew() { + toErpService.callbackDeliveryOutNoticeNew(); + } + + /** + * 回传其他出库单(废弃) */ // @Scheduled(fixedDelay = 1500) @RequestMapping("/callbackOutDeliveryNotice") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/CallBackErp.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/CallBackErp.java new file mode 100644 index 0000000..f5c48c7 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/CallBackErp.java @@ -0,0 +1,63 @@ +package com.ruoyi.api.domain; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +@NoArgsConstructor +@Data +public class CallBackErp implements Serializable { + + /** + + * | 方向 | 字段名 | 对应方向 | 字段名 | + * | ------- | ---------------- | -------- | -------- | + * | ERP→WMS | companyShortName | WMS→ERP | ccompany | 公司简称 + * | ERP→WMS | accountSetNo | WMS→ERP | cacc_id | 账套号 + * | ERP→WMS | warehouseId | WMS→ERP | cwhcode | 仓库 + * | ERP→WMS | customerId | WMS→ERP | cvencode | 客户 + * | ERP→WMS | customerName | WMS→ERP | cvenname | 客户名称 + * | ERP→WMS | remark | WMS→ERP | cmemo | + * + */ + // 公司名称 + @JsonProperty("ccompany") + private String ccompany; + // WMS单据号 + @JsonProperty("ccode") + private String ccode; + // 操作日期 + @JsonProperty("ddate") + private String ddate; + // 业务类型 + @JsonProperty("cintype") + private String cintype; + // 供应商编码 + @JsonProperty("cvencode") + private String cvencode; + // 供应商名称 + @JsonProperty("cvenname") + private String cvenname; + // 出/入库人 操作人 + @JsonProperty("coptname") + private String coptname; + // 仓库编码 + @JsonProperty("cwhcode") + private String cwhcode; + // 仓库名称 + @JsonProperty("cwhname") + private String cwhname; + // 备注 + @JsonProperty("cmemo") + private String cmemo; + // 账套号 + @JsonProperty("cacc_id") + private String caccId; + // 子明细 + @JsonProperty("details") + private List details; + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/CallBackErpItems.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/CallBackErpItems.java new file mode 100644 index 0000000..7059a1f --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/CallBackErpItems.java @@ -0,0 +1,60 @@ +package com.ruoyi.api.domain; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.io.Serializable; +import java.util.List; + +@NoArgsConstructor +@Data +@Getter +@Setter +public class CallBackErpItems implements Serializable { + /** + * + * | 方向 | 字段名 | 对应方向 | 字段名 | + * | ------- | ------------- | -------- | --------- | + * | ERP→WMS | lineNo | WMS→ERP | srcrowno | + * | ERP→WMS | sourceLineId | WMS→ERP | srcids | + * | ERP→WMS | oldProjectNo | WMS→ERP | cxmh | + * | ERP→WMS | projectNo | WMS→ERP | cnewxmh | + * | ERP→WMS | isBatchManage | WMS→ERP | binvbatch | + * | ERP→WMS | lotNo | WMS→ERP | cbatch | + */ + + @JsonProperty("cinvcode") + private String cinvcode; + @JsonProperty("cinvname") + private String cinvname; + @JsonProperty("cinvstd") + private String cinvstd; + @JsonProperty("cinvm_unit") + private String cinvmUnit; + @JsonProperty("cposcode") + private String cposcode; + @JsonProperty("cposname") + private String cposname; + @JsonProperty("ctrayname") + private String ctrayname; + @JsonProperty("cbatch") + private String cbatch; + @JsonProperty("iquantity") + private Integer iquantity; + @JsonProperty("cxmh") + private String cxmh; + @JsonProperty("cnewxmh") + private String cnewxmh; + @JsonProperty("srccode") + private String srccode; + @JsonProperty("srcids") + private Integer srcids; + @JsonProperty("srcrowno") + private String srcrowno; + @JsonProperty("binvbatch") + private Integer binvbatch; + } + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java index 2cc9117..36b6577 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java @@ -18,41 +18,86 @@ import java.util.List; public class DeliveryNoticeItemVo { - /** 行号 */ + /** + * 行号 + */ private String lineNo; - /** 对应通知行号 */ + /** + * 对应通知行号 + */ private String notelineNo; - /** 单据号 */ + /** + * 单据号 + */ private String billNo; - /** 存货编码 */ + /** + * 存货编码 + */ private String inventoryCode; - /** 存货名称 */ + /** + * 存货名称 + */ private String inventoryName; - /** 规格型号 */ + /** + * 规格型号 + */ private String specModel; - /** 层级关系 */ + /** + * 层级关系 + */ private String levelRelation; - /** 上层物料 */ + /** + * 上层物料 + */ private String upperMaterial; - /** 顶层物料 */ + /** + * 顶层物料 + */ private String topMaterial; - /** 批次 */ + /** + * 批次 + */ private String lotNo; - /** 计量单位 */ + /** + * 计量单位 + */ private String unit; - /** 数量 */ + /** + * 数量 + */ private String quantity; - /** 备注 */ + /** + * 备注 + */ private String remark; private List locations; - /**货位*/ + /** + * 货位 + */ private String area; - /**托盘*/ + /** + * 托盘 + */ private String location; private String areaBefore; private String locationBefore; + /** + * erp子表主键 + ***/ + private String sourceLineId; + /** + * 条码号 + ***/ + private String barCode; + /** + * 是否批次管理 + **/ + private String isBatchManage; + + /**旧项目号**/ + private String oldProjectNo; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java index c896dcf..e712ad8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java @@ -53,6 +53,11 @@ public class DeliveryNoticeVo { private String destination; /** 领料车间 */ private String workshop; + /** 公司简称**/ + private String companyShortName; + /** 账套号**/ + private String accountSetNo; + /** 子表明细列表 */ private List detailList; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java index 95cc06e..783a377 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java @@ -20,4 +20,8 @@ public interface IToErpService { void moveCargoSpace(); AjaxResult createWorkshopInboundOrder(BasProduct basProduct); + + void callbackInDeliveryNoticeNew(); + + void callbackDeliveryOutNoticeNew(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java index 45db65a..fb31cda 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java @@ -174,9 +174,9 @@ public class ToErpServiceImpl implements IToErpService { inStockin.setInType(deliveryNoticeVo.getBillType()); inStockin.setCreateDate(deliveryNoticeVo.getBillDate()); inStockin.setCreateManId(deliveryNoticeVo.getCreateMan()); - inStockin.setStatus("1"); + inStockin.setStatus("2"); inStockin.setWarehouseId(deliveryNoticeVo.getWarehouseId()); -// inStockin.setErpBill(deliveryNoticeVo.getBillNo()); + inStockin.setErpBill(deliveryNoticeVo.getBillNo()); inStockin.setStockSource("1"); inStockin.setDepartmentNo(deliveryNoticeVo.getProjectNo());//项目号 inStockin.setSupplierNo(deliveryNoticeVo.getCustomerId());//供应商编码 @@ -186,6 +186,8 @@ public class ToErpServiceImpl implements IToErpService { inStockin.setSpare3(deliveryNoticeVo.getApproveDate());//审核时间 inStockin.setSpare4(deliveryNoticeVo.getApproveMan());//审核人 inStockin.setSpare5(deliveryNoticeVo.getRemark()); + inStockin.setCompanyShortName(deliveryNoticeVo.getCompanyShortName()); + inStockin.setAccountSetNo(deliveryNoticeVo.getAccountSetNo()); if (exist == null) { inStockinService.insertInStockin(inStockin); } else { @@ -213,6 +215,10 @@ public class ToErpServiceImpl implements IToErpService { detail.setRemark(item.getRemark()); detail.setAssignNum("0"); detail.setScanNum("0"); + detail.setSourceLineId(item.getSourceLineId()); + detail.setBarCode(item.getBarCode()); + detail.setIsBatchManage(item.getIsBatchManage()); + detail.setOldProjectNo(item.getOldProjectNo()); inStockinDetailService.insertInStockinDetail(detail); } @@ -265,8 +271,9 @@ public class ToErpServiceImpl implements IToErpService { out.setStockoutId(deliveryNoticeVo.getBillNo()); out.setOutType(deliveryNoticeVo.getBillType()); out.setCreateDate(deliveryNoticeVo.getBillDate()); + out.setErpStockoutId(deliveryNoticeVo.getBillNo()); out.setCreateManId(deliveryNoticeVo.getCreateMan()); - out.setStatus("1"); + out.setStatus("2"); out.setWarehouseId(deliveryNoticeVo.getWarehouseId()); out.setStockoutSource("1"); out.setSpare6(deliveryNoticeVo.getOutType()); @@ -280,6 +287,8 @@ public class ToErpServiceImpl implements IToErpService { out.setSpare4(deliveryNoticeVo.getApproveMan());//审核人 out.setSpare5(deliveryNoticeVo.getRemark()); out.setSpare7(deliveryNoticeVo.getDestination()); + out.setCompanyShortName(deliveryNoticeVo.getCompanyShortName()); + out.setAccountSetNo(deliveryNoticeVo.getAccountSetNo()); if (exist == null) { outStockoutService.insertOutStockout(out); @@ -309,8 +318,12 @@ public class ToErpServiceImpl implements IToErpService { d.setSpare2(item.getUpperMaterial()); d.setSpare3(item.getTopMaterial()); d.setSpare4(deliveryNoticeVo.getProjectNo()); -// d.setSpare6(item.getLineNo()); + d.setSpare6(item.getLineNo()); d.setRemark(item.getRemark()); + d.setSourceLineId(item.getSourceLineId()); + d.setBarCode(item.getBarCode()); + d.setIsBatchManage(item.getIsBatchManage()); + d.setOldProjectNo(item.getOldProjectNo()); //d.setSpare8(deliveryNoticeVo.getDestination()); @@ -334,7 +347,6 @@ public class ToErpServiceImpl implements IToErpService { @Override public void callbackInDeliveryNotice() { - InStockinBack inStockin = inStockinBackService.selectTopInStockin(); if (inStockin == null) { return; @@ -345,16 +357,12 @@ public class ToErpServiceImpl implements IToErpService { deliveryNoticeVo.setBillType(inStockin.getInType()); deliveryNoticeVo.setOpType("1"); deliveryNoticeVo.setBillDate(inStockin.getCreateDate()); -// deliveryNoticeVo.setCreateMan(inStockin.getCreateManId()); deliveryNoticeVo.setWarehouseId(inStockin.getWarehouseId()); deliveryNoticeVo.setProjectNo(inStockin.getDepartmentNo()); deliveryNoticeVo.setCustomerId(inStockin.getSupplierNo()); deliveryNoticeVo.setCustomerName(inStockin.getClassNo()); // 对应receiveDeliveryNotice中的映射 deliveryNoticeVo.setContractNo(inStockin.getSpare1()); -// deliveryNoticeVo.setSalesOrderNo(inStockin.getSpare2()); -// deliveryNoticeVo.setApproveDate(inStockin.getSpare3()); -// deliveryNoticeVo.setApproveMan(inStockin.getSpare4()); -// deliveryNoticeVo.setRemark(inStockin.getSpare5()); + InStockinDetailBack inStockinDetailParam = new InStockinDetailBack(); inStockinDetailParam.setStockinId(inStockin.getStockinId()); @@ -382,7 +390,7 @@ public class ToErpServiceImpl implements IToErpService { String[] splitLocation = detail.getSpare8().split(","); String[] splitQuantity = detail.getQuantityX().split(","); ArrayList locationDetails = new ArrayList<>(); - for(int i=0;i outStockoutDetailBacks = outStockoutDetailBackService.selectOutStockoutDetailBackList(outStockoutDetailBack); List detailList = new ArrayList<>(); - if(outStockoutDetailBacks != null && !outStockoutDetailBacks.isEmpty()) { + if (outStockoutDetailBacks != null && !outStockoutDetailBacks.isEmpty()) { for (OutStockoutDetailBack detail : outStockoutDetailBacks) { DeliveryNoticeItemVo item = new DeliveryNoticeItemVo(); item.setLineNo(detail.getStockoutDetailId()); @@ -479,7 +487,7 @@ public class ToErpServiceImpl implements IToErpService { String[] splitQuantity = detail.getQuantityX().split(","); String[] lotNo = detail.getLotNo().split(","); ArrayList locationDetails = new ArrayList<>(); - for(int i=0;i inStockinDetails = inStockinDetailBackService.selectInStockinDetailBackList(inStockinDetailParam); + + List detailList = new ArrayList<>(); + if (inStockinDetails != null && !inStockinDetails.isEmpty()) { + for (InStockinDetailBack detail : inStockinDetails) { + CallBackErpItems item = new CallBackErpItems(); + // 存货编码 + item.setCinvcode(detail.getProductId()); + // 存货名称 + item.setCinvname(detail.getProductName()); + // 规格型号 + item.setCinvstd(detail.getSpec()); + // 单位 + item.setCinvmUnit(detail.getUnit()); + // 货位编码 + item.setCposcode(detail.getSpare9()); + // 货位名称 + item.setCposname(""); + // 托盘号 + item.setCtrayname(detail.getSpare8()); + // 批号 + item.setCbatch(detail.getLotNo()); +// item.setLotNo(detail.getLotNo()); + // 数量 + item.setIquantity(Integer.valueOf(detail.getAssignNum())); + // 老项目号 + item.setCxmh(detail.getOldProjectNo()); + // 新项目号 + item.setCnewxmh(detail.getSpare4()); + // erpbillno + item.setSrccode(inStockin.getErpBill()); + // erp来源单子表id + item.setSrcids(Integer.valueOf(detail.getSourceLineId())); + // erp子表行号 + item.setSrcrowno(detail.getSpare6()); + // 是否批次管理 + item.setBinvbatch(Integer.valueOf(detail.getIsBatchManage())); + + + detailList.add(item); + } + } + callBackErp.setDetails(detailList); + + String sendMsg = JSONUtil.toJsonStr(callBackErp); + try { + //todo 发送给erp 成功失败改状态 + RequestLog requestLog = requestLogService.getRequestLog("http://192.168.188.235/app1/api?type=1&key=1", JSONUtil.toJsonStr(callBackErp), "入库回传", "wms", "erp"); + if ("1".equals(requestLog.getIsSuccessful())) { + inStockin.setSendStatus("1"); + inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockin.setMsg("成功"); + inStockinDetailParam.setSendStatus("1"); + inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockinDetailParam.setMsg("成功"); + } else { + inStockin.setSendStatus("2"); + inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockin.setMsg(requestLog.getErrorDetails()); + inStockinDetailParam.setSendStatus("2"); + inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockinDetailParam.setMsg(requestLog.getErrorDetails()); + } + inStockinBackService.updateInStockinBack(inStockin); + inStockinDetailBackService.updateInStockinDetailBack(inStockinDetailParam); + + } catch (Exception e) { + inStockin.setSendStatus("2"); + inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockin.setMsg(e.getMessage()); + inStockinDetailParam.setSendStatus("2"); + inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockinDetailParam.setMsg(e.getMessage()); + inStockinBackService.updateInStockinBack(inStockin); + inStockinDetailBackService.updateInStockinDetailBack(inStockinDetailParam); + } + + } + + @Override + public void callbackDeliveryOutNoticeNew() { + OutStockoutBack outStockoutBack = outStockoutBackService.selelctTopOutStockout(); + if (outStockoutBack == null) { + return; + } + CallBackErp callBackErp = new CallBackErp(); + callBackErp.setCcompany(outStockoutBack.getCompanyShortName()); // 公司简称 + callBackErp.setCcode(outStockoutBack.getStockoutId()); // wms 单据号 + callBackErp.setDdate(outStockoutBack.getFinishDate()); // 操作日期 + callBackErp.setCintype("1"); // 业务类型 + callBackErp.setCvencode(outStockoutBack.getCustomerNo()); // 供应商编码 + callBackErp.setCvenname(outStockoutBack.getCustomerNo()); // 供应商名称 + callBackErp.setCoptname(outStockoutBack.getCreateManId()); // 操作人 + callBackErp.setCmemo(outStockoutBack.getRemark()); // 备注 + callBackErp.setCaccId(outStockoutBack.getAccountSetNo()); // 账套号 + callBackErp.setCwhcode("01"); // 仓库编码 + callBackErp.setCwhname("立体库"); // 仓库名称 + + + OutStockoutDetailBack outStockoutDetailBack = new OutStockoutDetailBack(); + outStockoutDetailBack.setStockoutId(outStockoutBack.getStockoutId()); + outStockoutDetailBack.setSendStatus("0"); +// outStockoutDetailBack.setSendStatus("0"); + List outStockoutDetailBacks = outStockoutDetailBackService.selectOutStockoutDetailBackList(outStockoutDetailBack); + List detailList = new ArrayList<>(); + if (outStockoutDetailBacks != null && !outStockoutDetailBacks.isEmpty()) { + for (OutStockoutDetailBack detail : outStockoutDetailBacks) { + CallBackErpItems item = new CallBackErpItems(); + // 存货编码 + item.setCinvcode(detail.getProductId()); + // 存货名称 + item.setCinvname(detail.getProductName()); + // 规格型号 + item.setCinvstd(detail.getSpec()); + // 单位 + item.setCinvmUnit(detail.getUnit()); + // 货位编码 + item.setCposcode(detail.getSpare9()); + // 货位名称 + item.setCposname(""); + // 托盘号 + item.setCtrayname(detail.getSpare8()); + // 批号 + item.setCbatch(detail.getLotNo()); +// item.setLotNo(detail.getLotNo()); + // 数量 + item.setIquantity(Integer.parseInt(String.valueOf(detail.getAssignNum()))); + // 老项目号 + item.setCxmh(detail.getOldProjectNo()); + // 新项目号 + item.setCnewxmh(detail.getSpare4()); + // erpbillno + item.setSrccode(outStockoutBack.getErpStockoutId()); + // erp来源单子表id + item.setSrcids(Integer.valueOf(detail.getSourceLineId())); + // erp子表行号 + item.setSrcrowno(detail.getSpare6()); + // 是否批次管理 + item.setBinvbatch(Integer.valueOf(detail.getIsBatchManage())); + + + detailList.add(item); + } + + } + + try { + //todo 发送给erp 成功失败改状态 + RequestLog requestLog = requestLogService.getRequestLog("http://192.168.188.235/app1/api?type=1&key=1", JSONUtil.toJsonStr(callBackErp), "出库回传", "wms", "erp"); + if ("1".equals(requestLog.getIsSuccessful())) { + outStockoutBack.setSendStatus("1"); + outStockoutBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutBack.setMsg("成功"); + outStockoutDetailBack.setSendStatus("1"); + outStockoutDetailBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutDetailBack.setMsg("成功"); + + } else { + outStockoutBack.setSendStatus("2"); + outStockoutBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutBack.setMsg(requestLog.getErrorDetails()); + outStockoutDetailBack.setSendStatus("2"); + outStockoutDetailBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutDetailBack.setMsg(requestLog.getErrorDetails()); + } + outStockoutBackService.updateOutStockoutBack(outStockoutBack); + outStockoutDetailBackService.updateOutStockoutDetailBack(outStockoutDetailBack); + + } catch (Exception e) { + outStockoutBack.setSendStatus("2"); + outStockoutBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutBack.setMsg(e.getMessage()); + outStockoutDetailBack.setSendStatus("2"); + outStockoutDetailBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutDetailBack.setMsg(e.getMessage()); + outStockoutBackService.updateOutStockoutBack(outStockoutBack); + outStockoutDetailBackService.updateOutStockoutDetailBack(outStockoutDetailBack); + } + + } + public AjaxResult createOtherInOutboundOrder(TransferBillCallback transferBillCallback) { ErpInterfaceParam param = new ErpInterfaceParam<>(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java index e203c61..3c25dac 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java @@ -44,7 +44,7 @@ public class ToWcsServiceImpl implements IToWcsService { @Override - @Scheduled(fixedDelay=1500) + eduled(fixedDelay=1500) public void pushOutMydoJob() { //查询所有未推送的料箱出库作业 MydoJob mydoJobParam = new MydoJob(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java index e82e973..20cfd5f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java @@ -13,90 +13,127 @@ import java.util.List; * @author ruoyi * @date 2025-05-20 */ -public class InStockin extends BaseEntity -{ +public class InStockin extends BaseEntity { private static final long serialVersionUID = 1L; - /** GUID */ + /** + * GUID + */ private String stockinGuid; - /** 入库订单ID */ + /** + * 入库订单ID + */ @Excel(name = "入库订单ID") private String stockinId; - /** 入库类型 */ + /** + * 入库类型 + */ @Excel(name = "入库类型") private String inType; - /** 建立时间 */ + /** + * 建立时间 + */ @Excel(name = "建立时间") private String createDate; - /** 创建人 */ + /** + * 创建人 + */ private String createManId; @Excel(name = "创建人") private String createManName; - /** 单据状态 */ + /** + * 单据状态 + */ @Excel(name = "单据状态") private String status; - /** 仓库ID */ + /** + * 仓库ID + */ @Excel(name = "仓库ID") private String warehouseId; @Excel(name = "仓库") private String warehouseName; - /** 完成日期 */ + /** + * 完成日期 + */ @Excel(name = " 完成日期") private String finishDate; - /** erp单号 */ + /** + * erp单号 + */ @Excel(name = "erp单号") private String erpBill; - /** 单据来源 */ + /** + * 单据来源 + */ @Excel(name = "单据来源") private String stockSource; - /** 部门编码 */ + /** + * 部门编码 + */ @Excel(name = "部门编码") private String departmentNo; @Excel(name = "部门") private String departmentName; - /** 客户编码 */ + /** + * 客户编码 + */ @Excel(name = "客户编码") private String customerNo; - /** 班组编码 */ + /** + * 班组编码 + */ @Excel(name = "班组编码") private String classNo; - /** 供应商编码 */ + /** + * 供应商编码 + */ @Excel(name = "供应商编码") private String supplierNo; @Excel(name = "供应商") private String supplierName; - /** 备用字段1 */ + /** + * 备用字段1 + */ @Excel(name = "备用字段1") private String spare1; - /** 备用字段2 */ + /** + * 备用字段2 + */ @Excel(name = "备用字段2") private String spare2; - /** 备用字段4 */ + /** + * 备用字段4 + */ @Excel(name = "备用字段4") private String spare4; - /** 备用字段3 */ + /** + * 备用字段3 + */ @Excel(name = "备用字段3") private String spare3; - /** 备用字段5 */ + /** + * 备用字段5 + */ @Excel(name = "备用字段5") private String spare5; @@ -104,6 +141,26 @@ public class InStockin extends BaseEntity private String materialDesc; private String startDate; + private String companyShortName; + private String accountSetNo; + + + public String getAccountSetNo() { + return accountSetNo; + } + + public void setAccountSetNo(String accountSetNo) { + this.accountSetNo = accountSetNo; + } + + public String getCompanyShortName() { + return companyShortName; + } + + public void setCompanyShortName(String companyShortName) { + this.companyShortName = companyShortName; + } + private List typeData; public String getStartDate() { @@ -170,193 +227,155 @@ public class InStockin extends BaseEntity this.supplierName = supplierName; } - public void setStockinGuid(String stockinGuid) - { + public void setStockinGuid(String stockinGuid) { this.stockinGuid = stockinGuid; } - public String getStockinGuid() - { + public String getStockinGuid() { return stockinGuid; } - public void setStockinId(String stockinId) - { + public void setStockinId(String stockinId) { this.stockinId = stockinId; } - public String getStockinId() - { + public String getStockinId() { return stockinId; } - public void setInType(String inType) - { + public void setInType(String inType) { this.inType = inType; } - public String getInType() - { + public String getInType() { return inType; } - public void setCreateDate(String createDate) - { + public void setCreateDate(String createDate) { this.createDate = createDate; } - public String getCreateDate() - { + public String getCreateDate() { return createDate; } - public void setCreateManId(String createManId) - { + public void setCreateManId(String createManId) { this.createManId = createManId; } - public String getCreateManId() - { + public String getCreateManId() { return createManId; } - public void setStatus(String status) - { + public void setStatus(String status) { this.status = status; } - public String getStatus() - { + public String getStatus() { return status; } - public void setWarehouseId(String warehouseId) - { + public void setWarehouseId(String warehouseId) { this.warehouseId = warehouseId; } - public String getWarehouseId() - { + public String getWarehouseId() { return warehouseId; } - public void setFinishDate(String finishDate) - { + public void setFinishDate(String finishDate) { this.finishDate = finishDate; } - public String getFinishDate() - { + public String getFinishDate() { return finishDate; } - public void setErpBill(String erpBill) - { + public void setErpBill(String erpBill) { this.erpBill = erpBill; } - public String getErpBill() - { + public String getErpBill() { return erpBill; } - public void setStockSource(String stockSource) - { + public void setStockSource(String stockSource) { this.stockSource = stockSource; } - public String getStockSource() - { + public String getStockSource() { return stockSource; } - public void setDepartmentNo(String departmentNo) - { + public void setDepartmentNo(String departmentNo) { this.departmentNo = departmentNo; } - public String getDepartmentNo() - { + public String getDepartmentNo() { return departmentNo; } - public void setCustomerNo(String customerNo) - { + public void setCustomerNo(String customerNo) { this.customerNo = customerNo; } - public String getCustomerNo() - { + public String getCustomerNo() { return customerNo; } - public void setClassNo(String classNo) - { + public void setClassNo(String classNo) { this.classNo = classNo; } - public String getClassNo() - { + public String getClassNo() { return classNo; } - public void setSupplierNo(String supplierNo) - { + public void setSupplierNo(String supplierNo) { this.supplierNo = supplierNo; } - public String getSupplierNo() - { + public String getSupplierNo() { return supplierNo; } - public void setSpare1(String spare1) - { + public void setSpare1(String spare1) { this.spare1 = spare1; } - public String getSpare1() - { + public String getSpare1() { return spare1; } - public void setSpare2(String spare2) - { + public void setSpare2(String spare2) { this.spare2 = spare2; } - public String getSpare2() - { + public String getSpare2() { return spare2; } - public void setSpare4(String spare4) - { + public void setSpare4(String spare4) { this.spare4 = spare4; } - public String getSpare4() - { + public String getSpare4() { return spare4; } - public void setSpare3(String spare3) - { + public void setSpare3(String spare3) { this.spare3 = spare3; } - public String getSpare3() - { + public String getSpare3() { return spare3; } - public void setSpare5(String spare5) - { + public void setSpare5(String spare5) { this.spare5 = spare5; } - public String getSpare5() - { + public String getSpare5() { return spare5; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java index e97d854..059ff84 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java @@ -96,6 +96,25 @@ public class InStockinBack extends BaseEntity private String msg; + private String accountSetNo; + private String companyShortName; + + public String getAccountSetNo() { + return accountSetNo; + } + + public void setAccountSetNo(String accountSetNo) { + this.accountSetNo = accountSetNo; + } + + public String getCompanyShortName() { + return companyShortName; + } + + public void setCompanyShortName(String companyShortName) { + this.companyShortName = companyShortName; + } + public String getSendStatus() { return sendStatus; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java index 68990fe..59616dd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java @@ -152,6 +152,44 @@ public class InStockinDetailBack extends BaseEntity private String msg; + private String sourceLineId; + private String barCode; + private String isBatchManage; + private String oldProjectNo; + + + public String getSourceLineId() { + return sourceLineId; + } + + public void setSourceLineId(String sourceLineId) { + this.sourceLineId = sourceLineId; + } + + public String getBarCode() { + return barCode; + } + + public void setBarCode(String barCode) { + this.barCode = barCode; + } + + public String getIsBatchManage() { + return isBatchManage; + } + + public void setIsBatchManage(String isBatchManage) { + this.isBatchManage = isBatchManage; + } + + public String getOldProjectNo() { + return oldProjectNo; + } + + public void setOldProjectNo(String oldProjectNo) { + this.oldProjectNo = oldProjectNo; + } + public String getSendStatus() { return sendStatus; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java index 2f00a9d..2a42910 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java @@ -18,52 +18,73 @@ import lombok.ToString; @AllArgsConstructor @NoArgsConstructor @ToString -public class InStockinDetail extends BaseEntity -{ +public class InStockinDetail extends BaseEntity { private static final long serialVersionUID = 1L; - /** 子单ID */ + /** + * 子单ID + */ private String stockinDetailId; - /** 主单GUID */ + /** + * 主单GUID + */ @Excel(name = "主单GUID") private String stockinGuid; - /** 主单ID */ + /** + * 主单ID + */ @Excel(name = "主单ID") private String stockinId; - /** 批次号 */ + /** + * 批次号 + */ @Excel(name = "批次号") private String lotNo; - /** 物料ID */ + /** + * 物料ID + */ @Excel(name = "物料ID") private String productGuid; - /** 品号 */ + /** + * 品号 + */ @Excel(name = "品号") private String productId; @Excel(name = "品名") private String productName; - /** 计划数量 */ + /** + * 计划数量 + */ @Excel(name = "计划数量") private String quantity; - /** 计划数量(箱) */ + /** + * 计划数量(箱) + */ @Excel(name = "计划数量(箱)") private String quantityX; - /** 计划数量(件) */ + /** + * 计划数量(件) + */ @Excel(name = "计划数量(件)") private String quantityJ; - /** 参考单价 */ + /** + * 参考单价 + */ @Excel(name = "参考单价") private String price; - /** 品牌 */ + /** + * 品牌 + */ @Excel(name = "品牌") private String cargoNo; @@ -74,63 +95,93 @@ public class InStockinDetail extends BaseEntity @Excel(name = "扫码数量(件)") private String scanNumJ; - /** 实际数量 */ + /** + * 实际数量 + */ @Excel(name = "实际数量") private String assignNum; - /** 实际数量(箱) */ + /** + * 实际数量(箱) + */ @Excel(name = "实际数量(箱)") private String assignNumX; - /** 实际数量(件) */ + /** + * 实际数量(件) + */ @Excel(name = "实际数量(件)") private String assignNumJ; - /** 入库日期 */ + /** + * 入库日期 + */ @Excel(name = "入库日期") private String printDate; - /** 单据状态 */ + /** + * 单据状态 + */ @Excel(name = "单据状态") private String stockStatus; - /** 供应商编码 */ + /** + * 供应商编码 + */ @Excel(name = "供应商编码") private String supplierId; - /** 客户编码 */ + /** + * 客户编码 + */ @Excel(name = "客户编码") private String customerId; - /** 单位 */ + /** + * 单位 + */ @Excel(name = "单位") private String unit; - /** 规格 */ + /** + * 规格 + */ @Excel(name = "规格") private String spec; - /** 备用字段1 */ + /** + * 备用字段1 + */ @Excel(name = "型号") private String spare1; - /** 备用字段2 */ + /** + * 备用字段2 + */ @Excel(name = "净重") private String spare2; - /** 备用字段3 */ + /** + * 备用字段3 + */ @Excel(name = "颜色") private String spare3; - /** 备用字段4 */ + /** + * 备用字段4 + */ @Excel(name = "序列号") private String spare4; - /** 备用字段5 */ + /** + * 备用字段5 + */ @Excel(name = "电压") private String spare5; - /** 备用字段6 */ + /** + * 备用字段6 + */ @Excel(name = "功率") private String spare6; @Excel(name = "相位") @@ -148,4 +199,11 @@ public class InStockinDetail extends BaseEntity private String warehouseId; + private String sourceLineId; + private String barCode; + private String isBatchManage; + private String oldProjectNo; + + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java index 0666ad6..8d9eba7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java @@ -103,6 +103,25 @@ public class OutStockout extends BaseEntity private String productName; + private String companyShortName; + private String accountSetNo; + + public String getCompanyShortName() { + return companyShortName; + } + + public void setCompanyShortName(String companyShortName) { + this.companyShortName = companyShortName; + } + + public String getAccountSetNo() { + return accountSetNo; + } + + public void setAccountSetNo(String accountSetNo) { + this.accountSetNo = accountSetNo; + } + private List typeData; public String getSpare6() { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutBack/domain/OutStockoutBack.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutBack/domain/OutStockoutBack.java index 43c7764..68a9452 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutBack/domain/OutStockoutBack.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutBack/domain/OutStockoutBack.java @@ -127,7 +127,26 @@ public class OutStockoutBack extends BaseEntity @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") private String msg; - public void setStockoutGuid(String stockoutGuid) + private String companyShortName; + private String accountSetNo; + + public String getCompanyShortName() { + return companyShortName; + } + + public void setCompanyShortName(String companyShortName) { + this.companyShortName = companyShortName; + } + + public String getAccountSetNo() { + return accountSetNo; + } + + public void setAccountSetNo(String accountSetNo) { + this.accountSetNo = accountSetNo; + } + + public void setStockoutGuid(String stockoutGuid) { this.stockoutGuid = stockoutGuid; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java index 4027dd2..0905f7a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java @@ -199,7 +199,43 @@ public class OutStockoutDetail extends BaseEntity private String spare8; private String spare9; + private String sourceLineId; + private String barCode; + private String isBatchManage; + private String oldProjectNo; + + public String getOldProjectNo() { + return oldProjectNo; + } + + public void setOldProjectNo(String oldProjectNo) { + this.oldProjectNo = oldProjectNo; + } + + public String getSourceLineId() { + return sourceLineId; + } + + public void setSourceLineId(String sourceLineId) { + this.sourceLineId = sourceLineId; + } + + public String getBarCode() { + return barCode; + } + + public void setBarCode(String barCode) { + this.barCode = barCode; + } + + public String getIsBatchManage() { + return isBatchManage; + } + + public void setIsBatchManage(String isBatchManage) { + this.isBatchManage = isBatchManage; + } public String getSpare1() { return spare1; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailBack/domain/OutStockoutDetailBack.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailBack/domain/OutStockoutDetailBack.java index 5a4d0cd..9c6aea5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailBack/domain/OutStockoutDetailBack.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailBack/domain/OutStockoutDetailBack.java @@ -172,7 +172,44 @@ public class OutStockoutDetailBack extends BaseEntity @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") private String msg; - public void setStockoutDetailId(String stockoutDetailId) + private String sourceLineId; + private String barCode; + private String isBatchManage; + private String oldProjectNo; + + public String getSourceLineId() { + return sourceLineId; + } + + public void setSourceLineId(String sourceLineId) { + this.sourceLineId = sourceLineId; + } + + public String getBarCode() { + return barCode; + } + + public void setBarCode(String barCode) { + this.barCode = barCode; + } + + public String getIsBatchManage() { + return isBatchManage; + } + + public void setIsBatchManage(String isBatchManage) { + this.isBatchManage = isBatchManage; + } + + public String getOldProjectNo() { + return oldProjectNo; + } + + public void setOldProjectNo(String oldProjectNo) { + this.oldProjectNo = oldProjectNo; + } + + public void setStockoutDetailId(String stockoutDetailId) { this.stockoutDetailId = stockoutDetailId; } diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml index 42cdfbf..38cde57 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml @@ -42,13 +42,55 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + - select stockin_detail_id, stockin_guid, stockin_id, lot_no, product_guid, product_id, quantity, - quantity_x, quantity_j, price, cargo_no, remark, assign_num, assign_num_x, assign_num_j, - print_date, stock_status, supplier_id, customer_id, unit, spec, spare1, spare2, spare3, - spare4, spare5, spare6, scan_num, scan_num_x, scan_num_j, spare7, spare8, spare9, product_name,send_status,send_time,msg from in_stockin_detail_back + select stockin_detail_id, + stockin_guid, + stockin_id, + lot_no, + product_guid, + product_id, + quantity, + quantity_x, + quantity_j, + price, + cargo_no, + remark, + assign_num, + assign_num_x, + assign_num_j, + print_date, + stock_status, + supplier_id, + customer_id, + unit, + spec, + spare1, + spare2, + spare3, + spare4, + spare5, + spare6, + scan_num, + scan_num_x, + scan_num_j, + spare7, + spare8, + spare9, + product_name, + send_status, + send_time, + msg, + source_line_id, + bar_code, + is_batch_manage, + old_project_no + from in_stockin_detail_back