From 7d1254d237fc85603a9fee3290189831ef147618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Wed, 29 Apr 2026 11:42:10 +0800 Subject: [PATCH 001/418] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index ce67818f8..c4b4d8db4 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 74b14a737..cdb81ac6f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 5297c1fc5..da0eb2638 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.5:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 815c7f04e..48ccc2788 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -19,7 +19,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** From feafc19e179ad97a19184d0ea5918980d944ec12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Wed, 29 Apr 2026 11:54:25 +0800 Subject: [PATCH 002/418] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/factory/RemoteSystemFeignFallbackFactory.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteSystemFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteSystemFeignFallbackFactory.java index dd89359aa..41f189f1f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteSystemFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteSystemFeignFallbackFactory.java @@ -289,6 +289,11 @@ public class RemoteSystemFeignFallbackFactory implements FallbackFactory Date: Wed, 29 Apr 2026 13:24:25 +0800 Subject: [PATCH 003/418] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AE=A1=E8=B4=B9?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E6=9F=A5=E8=AF=A2=E6=8A=A5=E9=94=99=E4=BF=AE?= =?UTF-8?q?=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockInOrderApplicationService.java | 20 ++++++++++--------- .../entity/ReceiptOrderAccount.java | 2 ++ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java index 9d82a46bc..7af387146 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java @@ -255,9 +255,10 @@ public class StockInOrderApplicationService { if (receiptOrderAccountList != null && !receiptOrderAccountList.isEmpty()) { for (ReceiptOrderAccount receiptOrderAccount : receiptOrderAccountList) { receiptOrderAccount.setOrderId(inOrderId); + receiptOrderAccount.setInOrOut("in"); } r = receiptOrderAccountService.saveBatch(receiptOrderAccountList); - wholeRentSynchronizationZXF(inOrderId); + wholeRentSynchronizationZXF(inOrderId,"in"); } return r; } @@ -276,9 +277,10 @@ public class StockInOrderApplicationService { if (receiptOrderAccountList != null && !receiptOrderAccountList.isEmpty()) { for (ReceiptOrderAccount receiptOrderAccount : receiptOrderAccountList) { receiptOrderAccount.setOrderId(outOrderId); + receiptOrderAccount.setInOrOut("out"); } r = receiptOrderAccountService.saveBatch(receiptOrderAccountList); - wholeRentSynchronizationZXF(outOrderId); + wholeRentSynchronizationZXF(outOrderId,"out"); } return r; } @@ -286,10 +288,10 @@ public class StockInOrderApplicationService { /** * 定时任务整租推送到bms装卸费 */ - public void wholeRentSynchronizationZXF(Long busId) { - StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper().lambda().eq(StockInOrder::getInOrderId, busId),false); - StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper().lambda().eq(StockOutOrder::getOutOrderId, busId),false); - if (stockInOrder != null) { + public void wholeRentSynchronizationZXF(Long busId,String inOrOut) { + StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper().lambda().eq(StockInOrder::getInOrderId, busId).eq(StockInOrder::getDelFlag, 1),false); + StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper().lambda().eq(StockOutOrder::getOutOrderId, busId).eq(StockOutOrder::getDelFlag, 1),false); + if ("in".equals(inOrOut)) { Long shipperId = stockInOrder.getShipperId(); Long organizationId = stockInOrder.getOrganizationId(); String organizationName = stockInOrder.getOrganizationName(); @@ -297,7 +299,7 @@ public class StockInOrderApplicationService { String inOrderNumber = stockInOrder.getInOrderNumber(); String settlementCurrency = stockInOrder.getSettlementCurrency(); String salesmanId = stockInOrder.getSalesmanId(); - List accounts = receiptOrderAccountService.list(new QueryWrapper().lambda().eq(ReceiptOrderAccount::getOrderId, busId)); + List accounts = receiptOrderAccountService.list(new QueryWrapper().lambda().eq(ReceiptOrderAccount::getOrderId, busId).eq(ReceiptOrderAccount::getInOrOut, "in")); for (ReceiptOrderAccount account : accounts) { BigDecimal amount = account.getAmount(); String subjectCode = account.getSubjectCode(); @@ -355,7 +357,7 @@ public class StockInOrderApplicationService { bmsServiceFeign.wholeRentSynchronizationZXF(businessDataPushDTO); } } - } else if (stockOutOrder != null) { + } else if ("out".equals(inOrOut)) { Long shipperId = stockOutOrder.getShipperId(); Long organizationId = stockOutOrder.getOrganizationId(); String organizationName = stockOutOrder.getOrganizationName(); @@ -363,7 +365,7 @@ public class StockInOrderApplicationService { String inOrderNumber = stockOutOrder.getOutOrderNumber(); String settlementCurrency = stockOutOrder.getSettlementCurrency(); String salesmanId = stockOutOrder.getSalesmanId(); - List accounts = receiptOrderAccountService.list(new QueryWrapper().lambda().eq(ReceiptOrderAccount::getOrderId, busId)); + List accounts = receiptOrderAccountService.list(new QueryWrapper().lambda().eq(ReceiptOrderAccount::getOrderId, busId).eq(ReceiptOrderAccount::getInOrOut, "out")); for (ReceiptOrderAccount account : accounts) { String subjectCode = account.getSubjectCode(); String subjectName = account.getSubjectName(); diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptOrderAccount/entity/ReceiptOrderAccount.java b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptOrderAccount/entity/ReceiptOrderAccount.java index 3f7cadb60..04ee86b95 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptOrderAccount/entity/ReceiptOrderAccount.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptOrderAccount/entity/ReceiptOrderAccount.java @@ -115,4 +115,6 @@ public class ReceiptOrderAccount extends BaseVOEntity { @ApiModelProperty(value = "计算价格json") private String amountJson; + @ApiModelProperty(value = "出入库区别标识") + private String inOrOut; } \ No newline at end of file From 8f7d44d72521565ad1adc6b157bd5e1b26b43a6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 29 Apr 2026 13:26:53 +0800 Subject: [PATCH 004/418] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../mhd-system/src/main/resources/bootstrap.yml | 16 ++++++++-------- mhd_bms/src/main/resources/bootstrap.yml | 16 ++++++++-------- mhd_wms/src/main/resources/bootstrap.yml | 16 ++++++++-------- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index c4b4d8db4..ce67818f8 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index cdb81ac6f..74b14a737 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index da0eb2638..5297c1fc5 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.5:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48ccc2788..815c7f04e 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -19,7 +19,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-modules/mhd-system/src/main/resources/bootstrap.yml b/mhd-modules/mhd-system/src/main/resources/bootstrap.yml index 2afad33b3..d2ad81e8f 100644 --- a/mhd-modules/mhd-system/src/main/resources/bootstrap.yml +++ b/mhd-modules/mhd-system/src/main/resources/bootstrap.yml @@ -14,20 +14,20 @@ spring: nacos: discovery: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 config: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 diff --git a/mhd_bms/src/main/resources/bootstrap.yml b/mhd_bms/src/main/resources/bootstrap.yml index b11cbb3d6..d00f66d31 100644 --- a/mhd_bms/src/main/resources/bootstrap.yml +++ b/mhd_bms/src/main/resources/bootstrap.yml @@ -18,17 +18,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 开启nacos自动刷新,如果这个配置没有或者为false会导致配置不能自动刷新 diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index 51545071f..0f3f546c5 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -14,20 +14,20 @@ spring: nacos: discovery: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 config: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 # 配置文件格式 From 20c4973df3576e9560f78b91b34fc5c430749713 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 29 Apr 2026 14:03:15 +0800 Subject: [PATCH 005/418] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E4=BF=A1=E6=81=AF;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../po/ReserveInMaterialDetailPO.java | 34 ++++++++++++++++++ .../todo/ReserveInMaterialDetailDO.java | 36 +++++++++++++++++++ .../todo/ReserveInMaterialDetailDTO.java | 36 +++++++++++++++++++ .../ReserveInMaterialDetailMapper.xml | 10 +++++- 4 files changed, 115 insertions(+), 1 deletion(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/po/ReserveInMaterialDetailPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/po/ReserveInMaterialDetailPO.java index 170340abf..933419383 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/po/ReserveInMaterialDetailPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/po/ReserveInMaterialDetailPO.java @@ -9,6 +9,7 @@ import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderB import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; @@ -469,4 +470,37 @@ public class ReserveInMaterialDetailPO extends ReserveStockInOrderBasePO { @Excel(name = "调整后面积") private BigDecimal adjustedArea; + @ApiModelProperty("预约数量(输入大于等于0的数字,可以为小数)") + @Excel(name = "预约数量") + private BigDecimal reserveQuantity; + + @ApiModelProperty("预约净重(KG)") + @Excel(name = "预约净重(KG)") + private BigDecimal reserveNetWeight; + + @ApiModelProperty("预约毛重(KG)") + @Excel(name = "预约毛重(KG)") + private BigDecimal reserveGrossWeight; + + @ApiModelProperty("总体积(CBM)") + @Excel(name = "预约体积(CBM)") + private BigDecimal reserveVolume; + + @ApiModelProperty("预约面积(SQM)") + @Excel(name = "预约面积(SQM)") + private BigDecimal reserveArea; + + @ApiModelProperty("预约总价") + @Excel(name = "预约总价") + private BigDecimal reservePrice; + + @ApiModelProperty("预约单价") + @Excel(name = "预约单价") + private BigDecimal reserveUnitPrice; + + @ApiModelProperty(value = "保质期") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date shelfLife; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDO.java index e89352baa..7ef2f62ee 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDO.java @@ -1,5 +1,6 @@ package com.mhd.oms.domain.reserveInMaterialDetail.repository.todo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; @@ -7,8 +8,10 @@ import com.mhd.common.core.annotation.Excel; import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderBaseDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; import java.util.List; @@ -430,4 +433,37 @@ public class ReserveInMaterialDetailDO extends ReserveStockInOrderBaseDO { @Excel(name = "调整后面积") private BigDecimal adjustedArea; + @ApiModelProperty("预约数量(输入大于等于0的数字,可以为小数)") + @Excel(name = "预约数量") + private BigDecimal reserveQuantity; + + @ApiModelProperty("预约净重(KG)") + @Excel(name = "预约净重(KG)") + private BigDecimal reserveNetWeight; + + @ApiModelProperty("预约毛重(KG)") + @Excel(name = "预约毛重(KG)") + private BigDecimal reserveGrossWeight; + + @ApiModelProperty("总体积(CBM)") + @Excel(name = "预约体积(CBM)") + private BigDecimal reserveVolume; + + @ApiModelProperty("预约面积(SQM)") + @Excel(name = "预约面积(SQM)") + private BigDecimal reserveArea; + + @ApiModelProperty("预约总价") + @Excel(name = "预约总价") + private BigDecimal reservePrice; + + @ApiModelProperty("预约单价") + @Excel(name = "预约单价") + private BigDecimal reserveUnitPrice; + + @ApiModelProperty(value = "保质期") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date shelfLife; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDTO.java index 1f58e7589..53bb63acc 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDTO.java @@ -1,13 +1,16 @@ package com.mhd.oms.domain.reserveInMaterialDetail.repository.todo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.web.domain.BaseVOEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -435,4 +438,37 @@ public class ReserveInMaterialDetailDTO extends BaseVOEntity { @ApiModelProperty("调整后面积") @Excel(name = "调整后面积") private BigDecimal adjustedArea; + + @ApiModelProperty("预约数量(输入大于等于0的数字,可以为小数)") + @Excel(name = "预约数量") + private BigDecimal reserveQuantity; + + @ApiModelProperty("预约净重(KG)") + @Excel(name = "预约净重(KG)") + private BigDecimal reserveNetWeight; + + @ApiModelProperty("预约毛重(KG)") + @Excel(name = "预约毛重(KG)") + private BigDecimal reserveGrossWeight; + + @ApiModelProperty("总体积(CBM)") + @Excel(name = "预约体积(CBM)") + private BigDecimal reserveVolume; + + @ApiModelProperty("预约面积(SQM)") + @Excel(name = "预约面积(SQM)") + private BigDecimal reserveArea; + + @ApiModelProperty("预约总价") + @Excel(name = "预约总价") + private BigDecimal reservePrice; + + @ApiModelProperty("预约单价") + @Excel(name = "预约单价") + private BigDecimal reserveUnitPrice; + + @ApiModelProperty(value = "保质期") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date shelfLife; } \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/reserveInMaterialDetail/ReserveInMaterialDetailMapper.xml b/mhd_oms/src/main/resources/mapper/reserveInMaterialDetail/ReserveInMaterialDetailMapper.xml index 7230d2a09..fffcdd68a 100644 --- a/mhd_oms/src/main/resources/mapper/reserveInMaterialDetail/ReserveInMaterialDetailMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveInMaterialDetail/ReserveInMaterialDetailMapper.xml @@ -88,6 +88,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + @@ -98,7 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.discount_rate , a.single_volume , a.single_gross_weight , - a.lot_no , + a.lot_no ,a.reserve_quantity,a.reserve_gross_weight,a.reserve_net_weight,a.reserve_volume,a.reserve_area,a.reserve_price,a.reserve_unit_price,a.shelf_life a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.in_order_number, a.material_base_info_id, a.material_code, a.material_name, a.bar_code, a.quantity, a.receipt_quantity, a.shelves_quantity, a.receipt_status, a.shelves_status, a.pack_id, a.pack_code, a.pack_name, From da120b5a646a5e407a4ada4a6a6e942c594b4b49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E6=AD=A3=E6=9D=A8?= <8915035+gao-zhengyang123@user.noreply.gitee.com> Date: Wed, 29 Apr 2026 14:18:18 +0800 Subject: [PATCH 006/418] =?UTF-8?q?=E5=86=B2=E7=AA=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/persistence/ReceiptMaterialDetailImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java index dba8c99fc..1e920fcc5 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java @@ -90,8 +90,8 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl Date: Wed, 29 Apr 2026 14:26:26 +0800 Subject: [PATCH 007/418] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E4=BF=A1=E6=81=AF;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reserveInMaterialDetail/ReserveInMaterialDetailMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/resources/mapper/reserveInMaterialDetail/ReserveInMaterialDetailMapper.xml b/mhd_oms/src/main/resources/mapper/reserveInMaterialDetail/ReserveInMaterialDetailMapper.xml index fffcdd68a..d47119e44 100644 --- a/mhd_oms/src/main/resources/mapper/reserveInMaterialDetail/ReserveInMaterialDetailMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveInMaterialDetail/ReserveInMaterialDetailMapper.xml @@ -106,7 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.discount_rate , a.single_volume , a.single_gross_weight , - a.lot_no ,a.reserve_quantity,a.reserve_gross_weight,a.reserve_net_weight,a.reserve_volume,a.reserve_area,a.reserve_price,a.reserve_unit_price,a.shelf_life + a.lot_no ,a.reserve_quantity,a.reserve_gross_weight,a.reserve_net_weight,a.reserve_volume,a.reserve_area,a.reserve_price,a.reserve_unit_price,a.shelf_life, a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.in_order_number, a.material_base_info_id, a.material_code, a.material_name, a.bar_code, a.quantity, a.receipt_quantity, a.shelves_quantity, a.receipt_status, a.shelves_status, a.pack_id, a.pack_code, a.pack_name, From 170e4e5d8d0a4aeb850d7d30182050d51078c786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 29 Apr 2026 14:33:42 +0800 Subject: [PATCH 008/418] =?UTF-8?q?=E4=BF=9D=E8=B4=A8=E6=9C=9F=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E4=BF=AE=E6=94=B9=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ReserveInMaterialDetail.java | 4 ++-- .../repository/po/ReserveInMaterialDetailPO.java | 4 ++-- .../repository/todo/ReserveInMaterialDetailDO.java | 4 ++-- .../repository/todo/ReserveInMaterialDetailDTO.java | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/entity/ReserveInMaterialDetail.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/entity/ReserveInMaterialDetail.java index 059e9711c..452384303 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/entity/ReserveInMaterialDetail.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/entity/ReserveInMaterialDetail.java @@ -397,7 +397,7 @@ public class ReserveInMaterialDetail extends BaseVOEntity { private BigDecimal reserveUnitPrice; @ApiModelProperty(value = "保质期") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") private Date shelfLife; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/po/ReserveInMaterialDetailPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/po/ReserveInMaterialDetailPO.java index 933419383..ff8789bf4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/po/ReserveInMaterialDetailPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/po/ReserveInMaterialDetailPO.java @@ -499,8 +499,8 @@ public class ReserveInMaterialDetailPO extends ReserveStockInOrderBasePO { private BigDecimal reserveUnitPrice; @ApiModelProperty(value = "保质期") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") private Date shelfLife; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDO.java index 7ef2f62ee..3eaae5651 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDO.java @@ -462,8 +462,8 @@ public class ReserveInMaterialDetailDO extends ReserveStockInOrderBaseDO { private BigDecimal reserveUnitPrice; @ApiModelProperty(value = "保质期") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") private Date shelfLife; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDTO.java index 53bb63acc..af28e3bdf 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveInMaterialDetail/repository/todo/ReserveInMaterialDetailDTO.java @@ -468,7 +468,7 @@ public class ReserveInMaterialDetailDTO extends BaseVOEntity { private BigDecimal reserveUnitPrice; @ApiModelProperty(value = "保质期") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") private Date shelfLife; } \ No newline at end of file From d4748995b988bc7783a40573ebd43ed138bd9e49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 29 Apr 2026 15:19:37 +0800 Subject: [PATCH 009/418] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=8A=A0=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ReserveOutMaterialDetail.java | 8 ++++++++ .../repository/po/ReserveOutMaterialDetailPO.java | 8 ++++++++ .../repository/todo/ReserveOutMaterialDetailDO.java | 7 +++++++ .../repository/todo/ReserveOutMaterialDetailDTO.java | 7 +++++++ .../ReserveOutMaterialDetailMapper.xml | 4 +++- sql/wkx20260429.sql | 0 6 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 sql/wkx20260429.sql diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/entity/ReserveOutMaterialDetail.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/entity/ReserveOutMaterialDetail.java index 279bd9bf4..91fbbc212 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/entity/ReserveOutMaterialDetail.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/entity/ReserveOutMaterialDetail.java @@ -493,4 +493,12 @@ public class ReserveOutMaterialDetail extends BaseVOEntity { @ApiModelProperty("库存数量") @Excel(name = "库存数量") private BigDecimal stockQuantity; + + @ApiModelProperty("系数") + @Excel(name = "系数") + private String coefficient; + + @ApiModelProperty("每件重量") + @Excel(name = "每件重量") + private BigDecimal perWeight; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/po/ReserveOutMaterialDetailPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/po/ReserveOutMaterialDetailPO.java index 77df23976..f56ec8996 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/po/ReserveOutMaterialDetailPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/po/ReserveOutMaterialDetailPO.java @@ -584,4 +584,12 @@ public class ReserveOutMaterialDetailPO extends ReserveStockOutOrderBaseDO { @ApiModelProperty("调整后面积") @Excel(name = "调整后面积") private BigDecimal adjustedArea; + + @ApiModelProperty("系数") + @Excel(name = "系数") + private String coefficient; + + @ApiModelProperty("每件重量") + @Excel(name = "每件重量") + private BigDecimal perWeight; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDO.java index 0d741df65..5acf39058 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDO.java @@ -529,4 +529,11 @@ public class ReserveOutMaterialDetailDO extends BaseVOEntity { @ApiModelProperty("调整后面积") @Excel(name = "调整后面积") private BigDecimal adjustedArea; + @ApiModelProperty("系数") + @Excel(name = "系数") + private String coefficient; + + @ApiModelProperty("每件重量") + @Excel(name = "每件重量") + private BigDecimal perWeight; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDTO.java index 6900a4621..19cb89637 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDTO.java @@ -518,4 +518,11 @@ public class ReserveOutMaterialDetailDTO extends BaseVOEntity { @ApiModelProperty("调整后面积") @Excel(name = "调整后面积") private BigDecimal adjustedArea; + @ApiModelProperty("系数") + @Excel(name = "系数") + private String coefficient; + + @ApiModelProperty("每件重量") + @Excel(name = "每件重量") + private BigDecimal perWeight; } \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml b/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml index 730be0fc8..d1b11b295 100644 --- a/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml @@ -94,6 +94,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + @@ -106,7 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.single_gross_weight , a.lot_no , a.stock_quantity , - a.stock_unit ,a.in_order_number , + a.stock_unit ,a.in_order_number ,a.PER_WEIGHT,a.COEFFICIENT, a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.out_order_number, a.material_base_info_id, a.line_number, a.material_code, a.material_name, a.bar_code, a.weight_limit, a.volume_limit, a.quantity, a.already_allocation_quantity, a.allocation_quantity, a.picking_quantity, a.check_quantity, ROUND(GREATEST(0, IFNULL(a.quantity, 0) - IFNULL(a.check_quantity, 0), IFNULL(a.picking_quantity, 0) - IFNULL(a.check_quantity, 0)), 2) AS wait_check_quantity, a.pack_id, a.pack_code, a.pack_name, a.pack_detail_id, a.unit_code, a.unit_name, a.material_warehouse_control_id, a.serial_number_manage, diff --git a/sql/wkx20260429.sql b/sql/wkx20260429.sql new file mode 100644 index 000000000..e69de29bb From 8a796aa432abc9b32da166414700b909c71bc441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 29 Apr 2026 16:08:53 +0800 Subject: [PATCH 010/418] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=8A=A0=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ReserveOutMaterialDetail.java | 8 ++ .../po/ReserveOutMaterialDetailPO.java | 8 ++ .../todo/ReserveOutMaterialDetailDO.java | 8 ++ .../todo/ReserveOutMaterialDetailDTO.java | 8 ++ .../ReserveStockInOrderDomainService.java | 2 + ...eserveStockOutOrderApplicationService.java | 11 ++ .../ReserveStockOutOrderDomainService.java | 109 +++++++++--------- .../ReserveStockOutOrderApi.java | 35 +++++- .../ReserveOutMaterialDetailMapper.xml | 6 +- 9 files changed, 133 insertions(+), 62 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/entity/ReserveOutMaterialDetail.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/entity/ReserveOutMaterialDetail.java index 91fbbc212..7ad91c848 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/entity/ReserveOutMaterialDetail.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/entity/ReserveOutMaterialDetail.java @@ -501,4 +501,12 @@ public class ReserveOutMaterialDetail extends BaseVOEntity { @ApiModelProperty("每件重量") @Excel(name = "每件重量") private BigDecimal perWeight; + + @ApiModelProperty("预约总价") + @Excel(name = "预约总价") + private BigDecimal reservePrice; + + @ApiModelProperty("预约单价") + @Excel(name = "预约单价") + private BigDecimal reserveUnitPrice; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/po/ReserveOutMaterialDetailPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/po/ReserveOutMaterialDetailPO.java index f56ec8996..b3bc717cd 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/po/ReserveOutMaterialDetailPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/po/ReserveOutMaterialDetailPO.java @@ -592,4 +592,12 @@ public class ReserveOutMaterialDetailPO extends ReserveStockOutOrderBaseDO { @ApiModelProperty("每件重量") @Excel(name = "每件重量") private BigDecimal perWeight; + + @ApiModelProperty("预约总价") + @Excel(name = "预约总价") + private BigDecimal reservePrice; + + @ApiModelProperty("预约单价") + @Excel(name = "预约单价") + private BigDecimal reserveUnitPrice; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDO.java index 5acf39058..f620a8d28 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDO.java @@ -536,4 +536,12 @@ public class ReserveOutMaterialDetailDO extends BaseVOEntity { @ApiModelProperty("每件重量") @Excel(name = "每件重量") private BigDecimal perWeight; + + @ApiModelProperty("预约总价") + @Excel(name = "预约总价") + private BigDecimal reservePrice; + + @ApiModelProperty("预约单价") + @Excel(name = "预约单价") + private BigDecimal reserveUnitPrice; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDTO.java index 19cb89637..dd0c4e76f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveOutMaterialDetail/repository/todo/ReserveOutMaterialDetailDTO.java @@ -525,4 +525,12 @@ public class ReserveOutMaterialDetailDTO extends BaseVOEntity { @ApiModelProperty("每件重量") @Excel(name = "每件重量") private BigDecimal perWeight; + + @ApiModelProperty("预约总价") + @Excel(name = "预约总价") + private BigDecimal reservePrice; + + @ApiModelProperty("预约单价") + @Excel(name = "预约单价") + private BigDecimal reserveUnitPrice; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java index ca43f0c7c..20a7db68e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java @@ -450,6 +450,8 @@ public class ReserveStockInOrderDomainService { for (ReserveInMaterialDetail reserveInMaterialDetail : materialDetailList) { ReservationInMaterialDetail reservationInMaterialDetail = new ReservationInMaterialDetail(); BeanUtils.copyProperties(reserveInMaterialDetail, reservationInMaterialDetail,"materialDetailId"); + reservationInMaterialDetail.setQuantity(reserveInMaterialDetail.getReserveQuantity()); + //reservationInMaterialDetail.set inMaterialDetailList.add(reservationInMaterialDetail); } reservationInMaterialDetailService.saveBatch(inMaterialDetailList); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java index 7d6fb61a1..69d910b43 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java @@ -17,6 +17,7 @@ import com.mhd.oms.domain.reserveInMaterialDetail.repository.facade.IReserveInMa import com.mhd.oms.domain.reserveOutMaterialDetail.repository.facade.IReserveOutMaterialDetailService; import com.mhd.oms.domain.reserveOutMaterialDetail.repository.po.ReserveOutMaterialDetailPO; import com.mhd.oms.domain.reserveOutMaterialDetail.repository.todo.ReserveOutMaterialDetailDO; +import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO; import com.mhd.oms.domain.reserveStockOutOrder.repository.facade.IReserveStockOutOrderService; import com.mhd.oms.domain.reserveStockOutOrder.repository.po.ReserveStockOutOrderPO; import com.mhd.oms.domain.reserveStockOutOrder.repository.todo.ReserveStockOutOrderDO; @@ -790,6 +791,16 @@ public class ReserveStockOutOrderApplicationService { public Boolean issueOrder(ReserveStockOutOrderDO stockOutOrderDO){ return stockOutOrderDomainService.issueOrder(stockOutOrderDO); } + /** + * @description 审核入库单 + * @author ZhouGY + * @date 2024/5/21 13:53 + * @param stockInOrderDO + * @return Boolean + */ + public Boolean orderReject(ReserveStockOutOrderDO stockOutOrderDO){ + return stockOutOrderDomainService.orderReject(stockOutOrderDO); + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java index f4b84ec9d..9ff03c5a8 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java @@ -8,14 +8,23 @@ import com.mhd.common.core.utils.StringUtils; import com.mhd.common.core.utils.bean.BeanUtils; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper; +import com.mhd.oms.domain.reservationInMaterialDetail.entity.ReservationInMaterialDetail; +import com.mhd.oms.domain.reservationOutMaterialDetail.entity.ReservationOutMaterialDetail; +import com.mhd.oms.domain.reservationOutMaterialDetail.repository.facade.IReservationOutMaterialDetailService; +import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder; import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO; +import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder; +import com.mhd.oms.domain.reservationStockOutOrder.repository.facade.IReservationStockOutOrderService; +import com.mhd.oms.domain.reserveInMaterialDetail.entity.ReserveInMaterialDetail; import com.mhd.oms.domain.reserveOutMaterialDetail.entity.ReserveOutMaterialDetail; import com.mhd.oms.domain.reserveOutMaterialDetail.repository.facade.IReserveOutMaterialDetailService; import com.mhd.oms.domain.reserveOutMaterialDetail.repository.po.ReserveOutMaterialDetailPO; import com.mhd.oms.domain.reserveOutMaterialDetail.repository.todo.ReserveOutMaterialDetailBaseDO; import com.mhd.oms.domain.reserveOutMaterialDetail.repository.todo.ReserveOutMaterialDetailDO; +import com.mhd.oms.domain.reserveStockInOrder.entity.ReserveStockInOrder; import com.mhd.oms.domain.reserveStockInOrder.repository.facade.IReserveStockInOrderService; import com.mhd.oms.domain.reserveStockInOrder.repository.mapper.ReserveStockInOrderMapper; +import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO; import com.mhd.oms.domain.reserveStockOutOrder.entity.ReserveStockOutOrder; import com.mhd.oms.domain.reserveStockOutOrder.repository.facade.IReserveStockOutOrderService; import com.mhd.oms.domain.reserveStockOutOrder.repository.po.ReserveStockOutOrderPO; @@ -56,48 +65,12 @@ public class ReserveStockOutOrderDomainService { private IReserveOutMaterialDetailService outMaterialDetailService; @Autowired private IReserveStockInOrderService reservationStockInOrderService; -// @Autowired -// private IHandoverTaskOrderService handoverTaskOrderService; -// @Autowired -// private IOutOrderAbnormalService outOrderAbnormalService; -// @Autowired -// private PickingOrderDomainService pickingOrderDomainService; -// @Autowired -// private ReplenishmentNoticeDomainService replenishmentNoticeDomainService; -// @Autowired -// private IMobilizeManageService iMobilizeManageService; -// @Autowired -// private IMobilizeManageDetailService iMobilizeManageDetailService; -// @Autowired -// private StockInOrderDomainService stockInOrderDomainService; -// @Autowired -// private IInventoryStandingDetailService inventoryStandingDetailService; -// @Autowired -// private IDeliveTaskService deliveTaskService; -// @Autowired -// private WaveOrderServiceFactory waveOrderServiceFactory; -// @Autowired -// private IMaterialBaseInfoService materialBaseInfoService; + @Autowired + private IReservationStockOutOrderService reservationStockOutOrderService; + @Autowired + private IReservationOutMaterialDetailService reservationOutMaterialDetailService; @Autowired private ReserveStockInOrderMapper reservationStockInOrderMapper; - @Autowired - private BusinessDocumentOrderMapper businessDocumentOrderMapper; -// @Autowired -// private IMaterialWarehouseControlService materialWarehouseControlService; -// @Autowired -// private IMaterialInventoryService materialInventoryService; - @Resource - private SystemServiceFeign systemServiceFeign; - @Resource - private WmsServiceFeign wmsServiceFeign; -// @Autowired -// private PushSyncBmsDomainService pushSyncBmsDomainService; -// @Autowired -// private MaterialBaseInfoMapper materialBaseInfoMapper; -// @Autowired -// private MaterialInventoryMapper materialInventoryMapper; -// @Autowired -// private IPickingMaterialDetailService pickingMaterialDetailService; /** * 分页查询出库单列表 @@ -288,25 +261,53 @@ public class ReserveStockOutOrderDomainService { .in(ReserveStockOutOrder::getOutOrderId, stockOutOrderDO.getOutOrderIds())); //todo下发推送到wms - List inOrderIds = stockOutOrderDO.getOutOrderIds(); - for (Long inOrderId : inOrderIds) { - ReserveStockOutOrder byId = stockOutOrderService.getById(inOrderId); - StockOutOrder stockOutOrder = new StockOutOrder(); - BeanUtils.copyProperties(byId, stockOutOrder,"outOrderId"); - wmsServiceFeign.omsOutOrderAdd(stockOutOrder); - String inOrderNumber = stockOutOrder.getOutOrderNumber(); - List materialDetailList = outMaterialDetailService.list(new QueryWrapper().lambda().eq(ReserveOutMaterialDetail::getOutOrderNumber, inOrderNumber)); - List outMaterialDetailList = new ArrayList<>(); - for (ReserveOutMaterialDetail reservationOutMaterialDetail : materialDetailList) { - OutMaterialDetail outMaterialDetail = new OutMaterialDetail(); - BeanUtils.copyProperties(reservationOutMaterialDetail, outMaterialDetail,"materialDetailId"); - outMaterialDetailList.add(outMaterialDetail); + List outOrderIds = stockOutOrderDO.getOutOrderIds(); + for (Long outOrderId : outOrderIds) { + ReserveStockOutOrder byId = stockOutOrderService.getById(outOrderId); + ReservationStockOutOrder reservationStockOutOrder = new ReservationStockOutOrder(); + BeanUtils.copyProperties(byId, reservationStockOutOrder,"inOrderId"); + reservationStockOutOrderService.save(reservationStockOutOrder); + String outOrderNumber = reservationStockOutOrder.getOutOrderNumber(); + List materialDetailList = outMaterialDetailService.list(new QueryWrapper().lambda().eq(ReserveOutMaterialDetail::getOutOrderNumber, outOrderNumber)); + List inMaterialDetailList = new ArrayList<>(); + for (ReserveOutMaterialDetail reserveOutMaterialDetail : materialDetailList) { + ReservationOutMaterialDetail reservationOutMaterialDetail = new ReservationOutMaterialDetail(); + BeanUtils.copyProperties(reserveOutMaterialDetail, reservationOutMaterialDetail,"materialDetailId"); + inMaterialDetailList.add(reservationOutMaterialDetail); } - wmsServiceFeign.omsOutOrderAddDetail(outMaterialDetailList); + reservationOutMaterialDetailService.saveBatch(inMaterialDetailList); } return update; } + /** + * @description 审核入库单 + * @author ZhouGY + * @date 2024/5/21 13:53 + * @param + * @return Boolean + */ + @Transactional(rollbackFor = Exception.class) + public Boolean orderReject(ReserveStockOutOrderDO stockOutOrderDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + Integer auditStatus = stockOutOrderDO.getIssueStatus(); + Integer issueStatus = 2; + //issueStatus = auditStatus == 2 ? 2 : 3; + // 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底) + String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null + ? loginUser.getUserPo().getUserName() + : (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername()); + return stockOutOrderService.update(null, new UpdateWrapper().lambda() + .set(ReserveStockOutOrder::getReservationAuditId, loginUser.getUserid()) + .set(ReserveStockOutOrder::getReservationAuditName, userRealName) + .set(ReserveStockOutOrder::getReservationAuditTime, new Date()) + .set(ReserveStockOutOrder::getUpdateBy, loginUser.getUserid()) + .set(ReserveStockOutOrder::getUpdateByName, userRealName) + .set(ReserveStockOutOrder::getUpdateTime, new Date()) + .set(ReserveStockOutOrder::getIssueStatus, issueStatus) + .in(ReserveStockOutOrder::getOutOrderId, stockOutOrderDO.getOutOrderIds())); + } + /** * @description 修改出库单 * @author ZhouGY diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReserveStockOutOrder/ReserveStockOutOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReserveStockOutOrder/ReserveStockOutOrderApi.java index 78bf36819..0d136c1e9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReserveStockOutOrder/ReserveStockOutOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReserveStockOutOrder/ReserveStockOutOrderApi.java @@ -5,6 +5,8 @@ import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.domain.reserveOutMaterialDetail.repository.po.ReserveOutMaterialDetailPO; +import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO; +import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDTO; import com.mhd.oms.domain.reserveStockOutOrder.entity.ReserveStockOutOrder; import com.mhd.oms.domain.reserveStockOutOrder.repository.facade.IReserveStockOutOrderService; import com.mhd.oms.domain.reserveStockOutOrder.repository.po.ReserveStockOutOrderPO; @@ -58,6 +60,27 @@ public class ReserveStockOutOrderApi extends BaseController { } + /** + * 审核入库单 + */ + @ApiOperation("驳回") + @PostMapping(value = "/orderReject") + public AjaxResult orderReject(@RequestBody ReserveStockOutOrderDTO stockOutOrderDTO) { + ReserveStockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); + return AjaxResult.success(stockOutOrderApplicationService.orderReject(stockOutOrderDO)); + } + + /** + * 下发入库单 + */ + @ApiOperation("确认入库单") + @PostMapping(value = "/issueOrder") + public AjaxResult issueOrder(@RequestBody ReserveStockOutOrderDTO stockOutOrderDTO) { + ReserveStockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); + return AjaxResult.success(stockOutOrderApplicationService.issueOrder(stockOutOrderDO)); + } + + /** * 编辑出库单 */ @@ -163,12 +186,12 @@ public class ReserveStockOutOrderApi extends BaseController { /** * 下发出库单 */ - @ApiOperation("下发出库单") - @PostMapping(value = "/issueOrder") - public AjaxResult issueOrder(@RequestBody ReserveStockOutOrderDTO stockOutOrderDTO) { - ReserveStockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); - return AjaxResult.success(stockOutOrderApplicationService.issueOrder(stockOutOrderDO)); - } +// @ApiOperation("下发出库单") +// @PostMapping(value = "/issueOrder") +// public AjaxResult issueOrder(@RequestBody ReserveStockOutOrderDTO stockOutOrderDTO) { +// ReserveStockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); +// return AjaxResult.success(stockOutOrderApplicationService.issueOrder(stockOutOrderDO)); +// } @ApiOperation("关闭出库单") @PostMapping("/close") diff --git a/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml b/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml index d1b11b295..e45981639 100644 --- a/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml @@ -95,7 +95,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + . + + @@ -108,7 +110,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.single_gross_weight , a.lot_no , a.stock_quantity , - a.stock_unit ,a.in_order_number ,a.PER_WEIGHT,a.COEFFICIENT, + a.stock_unit ,a.in_order_number ,a.PER_WEIGHT,a.COEFFICIENT,a.reserve_price,a.reserve_unit_price, a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.out_order_number, a.material_base_info_id, a.line_number, a.material_code, a.material_name, a.bar_code, a.weight_limit, a.volume_limit, a.quantity, a.already_allocation_quantity, a.allocation_quantity, a.picking_quantity, a.check_quantity, ROUND(GREATEST(0, IFNULL(a.quantity, 0) - IFNULL(a.check_quantity, 0), IFNULL(a.picking_quantity, 0) - IFNULL(a.check_quantity, 0)), 2) AS wait_check_quantity, a.pack_id, a.pack_code, a.pack_name, a.pack_detail_id, a.unit_code, a.unit_name, a.material_warehouse_control_id, a.serial_number_manage, From 7e00ca52c93b185624342aff1234b0d7a986d845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 29 Apr 2026 16:41:49 +0800 Subject: [PATCH 011/418] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=8A=A0=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml b/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml index e45981639..44b866f48 100644 --- a/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveOutMaterialDetail/ReserveOutMaterialDetailMapper.xml @@ -95,7 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - . + From b934fe9628b0cba8649afdc468f68b4193396188 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Thu, 30 Apr 2026 10:56:37 +0800 Subject: [PATCH 012/418] =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interfaces/facade/sysTableConfig/SysTableConfigApi.java | 6 +++--- .../facadeApi/sysTableConfig/SysTableConfigApi.java | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/sysTableConfig/SysTableConfigApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/sysTableConfig/SysTableConfigApi.java index 91e982a6d..b1be6a7b4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/sysTableConfig/SysTableConfigApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/sysTableConfig/SysTableConfigApi.java @@ -66,9 +66,9 @@ public class SysTableConfigApi extends BaseController { @RequestParam(name="key") String key) { try { SysTableConfig config = sysTableConfigService.getByOrgIdAndKey(organizationId, key, warehouseId); - if (config == null) { - return Result.ok("未找到对应配置"); - } +// if (config == null) { +// return Result.ok("未找到对应配置"); +// } return Result.ok(config); } catch (Exception e) { log.error(e.getMessage(), e); diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/sysTableConfig/SysTableConfigApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/sysTableConfig/SysTableConfigApi.java index c7826d35b..39a02f1de 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/sysTableConfig/SysTableConfigApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/sysTableConfig/SysTableConfigApi.java @@ -74,9 +74,9 @@ public class SysTableConfigApi extends BaseController { @RequestParam(name="key") String key) { try { SysTableConfig config = sysTableConfigService.getByOrgIdAndKey(organizationId, key, warehouseId); - if (config == null) { - return Result.ok("未找到对应配置"); - } +// if (config == null) { +// return Result.ok("未找到对应配置"); +// } return Result.ok(config); } catch (Exception e) { log.error(e.getMessage(), e); From 0b141796a1d2a56583a4c65ff654545024006f73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 30 Apr 2026 14:57:13 +0800 Subject: [PATCH 013/418] mnd-bi; --- mhd-bi/Dockerfile | 17 ++ mhd-bi/pom.xml | 180 ++++++++++++++ .../main/java/com/mhd/bi/BiApplication.java | 234 ++++++++++++++++++ .../bi/domain/testTable/entity/TestTable.java | 28 +++ .../repository/facade/TestTableService.java | 8 + .../repository/mapper/TestTableMapper.java | 16 ++ .../persistence/TestTableServiceImpl.java | 16 ++ .../facadeApi/testTable/TestTableApi.java | 45 ++++ mhd-bi/src/main/resources/banner.txt | 10 + mhd-bi/src/main/resources/bootstrap.yml | 35 +++ mhd-bi/src/main/resources/logback.xml | 74 ++++++ .../main/resources/mapper/TextTableMapper.xml | 7 + pom.xml | 1 + 13 files changed, 671 insertions(+) create mode 100644 mhd-bi/Dockerfile create mode 100644 mhd-bi/pom.xml create mode 100644 mhd-bi/src/main/java/com/mhd/bi/BiApplication.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/testTable/entity/TestTable.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/facade/TestTableService.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/mapper/TestTableMapper.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/persistence/TestTableServiceImpl.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/testTable/TestTableApi.java create mode 100644 mhd-bi/src/main/resources/banner.txt create mode 100644 mhd-bi/src/main/resources/bootstrap.yml create mode 100644 mhd-bi/src/main/resources/logback.xml create mode 100644 mhd-bi/src/main/resources/mapper/TextTableMapper.xml diff --git a/mhd-bi/Dockerfile b/mhd-bi/Dockerfile new file mode 100644 index 000000000..e5e100e29 --- /dev/null +++ b/mhd-bi/Dockerfile @@ -0,0 +1,17 @@ +# 基础镜像 +FROM arm64v8/openjdk:8 +# author +MAINTAINER manhuoda +#指定东八区时区 +ENV TZ Asia/Shanghai +#指定utf-8编码格 +ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8" +# VOLUME 指定了临时文件目录为/tmp。 +# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp +VOLUME /tmp +#将当前jar 复制到容器根目录下 +ADD target/mhd-bi.jar mhd-bi.jar +#暴露容器端口 Docker镜像告知Docker宿主机应用监听了端口 +EXPOSE 9200 +# 运行jar包 +ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Xms1000m", "-Xmx1500m","-jar","/mhd-bi.jar"] \ No newline at end of file diff --git a/mhd-bi/pom.xml b/mhd-bi/pom.xml new file mode 100644 index 000000000..e98d8eafa --- /dev/null +++ b/mhd-bi/pom.xml @@ -0,0 +1,180 @@ + + + + mhd + com.mhd + 3.6.0 + + 4.0.0 + + mhd-bi + + + 8 + 8 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + io.github.openfeign + feign-httpclient + + + org.springframework.cloud + spring-cloud-loadbalancer + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + com.alibaba.csp + sentinel-datasource-nacos + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + org.springframework.cloud + spring-cloud-starter-sleuth + + + + com.fasterxml.jackson.core + jackson-databind + + + + + com.alibaba.fastjson2 + fastjson2 + + + + org.springframework.cloud + spring-cloud-starter-stream-rabbit + + + + com.mhd + mhd-common-core + + + + com.mhd + mhd-common-redis + + + com.dameng + DmJdbcDriver18 + 8.1.1.193 + + + + com.baomidou + mybatis-plus-boot-starter + 3.3.2 + + + + com.alibaba + druid-spring-boot-starter + 1.2.11 + + + + org.springframework.cloud + spring-cloud-starter-sleuth + + + + org.springframework.cloud + spring-cloud-starter-zipkin + 2.2.8.RELEASE + + + + + com.mhd + mhd-common-security + + + + com.mhd + mhd-api-system + + + + com.mhd + mhd-common-log + + + + + net.sf.json-lib + json-lib + 2.4 + jdk15 + + + + com.mhd + mhd-common-datasource + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + 2.1.1.RELEASE + + + + repackage + + + + + + + + + + mhd-bi + + + + com.spotify + dockerfile-maven-plugin + + + + + + \ No newline at end of file diff --git a/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java b/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java new file mode 100644 index 000000000..dc87a6747 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java @@ -0,0 +1,234 @@ +package com.mhd.bi; + +import com.mhd.common.core.annotation.fieldsetvalue.CommonService; +import com.mhd.common.core.annotation.fieldsetvalue.SetFeildValueAspect; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.Import; +import org.springframework.scheduling.annotation.EnableAsync; + +@SpringBootApplication(scanBasePackages = {"com.mhd", "com.mhd.bi"}) +@EnableDiscoveryClient +@EnableFeignClients(basePackages = {"com.mhd","com.mhd.bi.infrastructure.feign"}) +@MapperScan("com.mhd.bi.domain.**.mapper") +@Import({SetFeildValueAspect.class, CommonService.class}) +@EnableAsync +public class BiApplication { + + public static void main(String[] args) { + SpringApplication.run(BiApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ 可视化页面模块启动成功 ლ(´ڡ`ლ)゙ " + + "# _oo0oo_\n" + + "# o8888888o\n" + + "# 88\" . \"88\n" + + "# (| -_- |)\n" + + "# 0\\ = /0\n" + + "# ___/`---'\\___\n" + + "# .' \\\\| |// '.\n" + + "# / \\\\||| : |||// \\\n" + + "# / _||||| -:- |||||- \\\n" + + "# | | \\\\\\ - /// | |\n" + + "# | \\_| ''\\---/'' |_/ |\n" + + "# \\ .-\\__ '-' ___/-. /\n" + + "# ___'. .' /--.--\\ `. .'___\n" + + "# .\"\" '< `.___\\_<|>_/___.' >' \"\".\n" + + "# | | : `- \\`.;`\\ _ /`;.`/ - ` : | |\n" + + "# \\ \\ `_. \\_ __\\ /__ _/ .-` / /\n" + + "# =====`-.____`.___ \\_____/___.-`___.-'=====\n" + + "# `=---='\n" + + "#\n" + + "#\n" + + "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" + + "#\n" + + "# 佛祖保佑 永无BUG\n" + + "#\n" + + "#    ┏┓   ┏┓\n" + + "#   ┏┛┻━━━┛┻┓\n" + + "#   ┃        ┃\n" + + "#   ┃   ━    ┃\n" + + "#   ┃ ┳┛ ┗┳ ┃\n" + + "#   ┃        ┃\n" + + "#   ┃   ┻    ┃\n" + + "#   ┃        ┃\n" + + "#   ┗━┓   ┏━┛Codes are far away from bugs with the animal protecting\n" + + "#     ┃   ┃ 神兽保佑,代码无bug\n" + + "#     ┃   ┃\n" + + "#     ┃   ┗━━━┓\n" + + "#     ┃      ┣┓\n" + + "#     ┃     ┏┛\n" + + "#     ┗┓┓┏━┳┓┏┛\n" + + "#      ┃┫┫ ┃┫┫\n" + + "#      ┗┻┛ ┗┻┛\n" + + "#\n" + + "#    ┏┓   ┏┓\n" + + "#   ┏┛┻━━━┛┻┓\n" + + "#   ┃        ┃  \n" + + "#   ┃   ━    ┃\n" + + "#   ┃ >   <┃\n" + + "#   ┃        ┃\n" + + "#   ┃ . ⌒ ..┃\n" + + "#   ┃        ┃\n" + + "#   ┗━┓   ┏━┛\n" + + "#     ┃   ┃ Codes are far away from bugs with the animal protecting       \n" + + "#     ┃   ┃ 神兽保佑,代码无bug\n" + + "#     ┃   ┃           \n" + + "#     ┃   ┃       \n" + + "#     ┃   ┃\n" + + "#     ┃   ┃           \n" + + "#     ┃   ┗━━━┓\n" + + "#     ┃       ┣┓\n" + + "#     ┃       ┏┛\n" + + "#     ┗┓┓┏━┳┓┏┛\n" + + "#      ┃┫┫ ┃┫┫\n" + + "#      ┗┻┛ ┗┻┛\n" + + "# ┏┓   ┏┓+ +\n" + + "#   ┏┛┻━━━┛┻┓ + +\n" + + "#   ┃       ┃  \n" + + "#   ┃   ━   ┃ ++ + + +\n" + + "#   ████━████ ┃+\n" + + "#   ┃       ┃ +\n" + + "#   ┃   ┻   ┃\n" + + "#   ┃       ┃ + +\n" + + "#   ┗━┓   ┏━┛\n" + + "#     ┃   ┃           \n" + + "#     ┃   ┃ + + + +\n" + + "#     ┃   ┃    Codes are far away from bugs with the animal protecting   \n" + + "#     ┃   ┃ +     神兽保佑,代码无bug  \n" + + "#     ┃   ┃\n" + + "#     ┃   ┃  +         \n" + + "#     ┃    ┗━━━┓ + +\n" + + "#     ┃        ┣┓\n" + + "#     ┃        ┏┛\n" + + "#     ┗┓┓┏━┳┓┏┛ + + + +\n" + + "#      ┃┫┫ ┃┫┫\n" + + "#      ┗┻┛ ┗┻┛+ + + +\n" + + "# d*##$.\n" + + "# zP\"\"\"\"\"$e. $\" $o\n" + + "#4$ '$ $\" $\n" + + "#'$ '$ J$ $F\n" + + "# 'b $k $> $\n" + + "# $k $r J$ d$\n" + + "# '$ $ $\" $~\n" + + "# '$ \"$ '$E $\n" + + "# $ $L $\" $F ...\n" + + "# $. 4B $ $$$*\"\"\"*b\n" + + "# '$ $. $$ $$ $F\n" + + "# \"$ R$ $F $\" $\n" + + "# $k ?$ u* dF .$\n" + + "# ^$. $$\" z$ u$$$$e\n" + + "# #$b $E.dW@e$\" ?$\n" + + "# #$ .o$$# d$$$$c ?F\n" + + "# $ .d$$#\" . zo$> #$r .uF\n" + + "# $L .u$*\" $&$$$k .$$d$$F\n" + + "# $$\" \"\"^\"$$$P\"$P9$\n" + + "# JP .o$$$$u:$P $$\n" + + "# $ ..ue$\" \"\" $\"\n" + + "# d$ $F $\n" + + "# $$ ....udE 4B\n" + + "# #$ \"\"\"\"` $r @$\n" + + "# ^$L '$ $F\n" + + "# RN 4N $\n" + + "# *$b d$\n" + + "# $$k $F\n" + + "# $$b $F\n" + + "# $\"\" $F\n" + + "# '$ $\n" + + "# $L $\n" + + "# '$ $\n" + + "# $ $\n" + + "#\n" + + "#\n" + + "# ┌─┐ ┌─┐\n" + + "# ┌──┘ ┴───────┘ ┴──┐\n" + + "# │ │\n" + + "# │ ─── │\n" + + "# │ ─┬┘ └┬─ │\n" + + "# │ │\n" + + "# │ ─┴─ │\n" + + "# │ │\n" + + "# └───┐ ┌───┘\n" + + "# │ │\n" + + "# │ │\n" + + "# │ │\n" + + "# │ └──────────────┐\n" + + "# │ │\n" + + "# │ ├─┐\n" + + "# │ ┌─┘\n" + + "# │ │\n" + + "# └─┐ ┐ ┌───────┬──┐ ┌──┘\n" + + "# │ ─┤ ─┤ │ ─┤ ─┤\n" + + "# └──┴──┘ └──┴──┘\n" + + "# 神兽保佑\n" + + "# 代码无BUG!\n" + + "#\n" + + "# ___====-_ _-====___\n" + + "# _--^^^#####// \\\\#####^^^--_\n" + + "# _-^##########// ( ) \\\\##########^-_\n" + + "# -############// |\\^^/| \\\\############-\n" + + "# _/############// (@::@) \\\\############\\_\n" + + "# /#############(( \\\\// ))#############\\\n" + + "# -###############\\\\ (oo) //###############-\n" + + "# -#################\\\\ / VV \\ //#################-\n" + + "# -###################\\\\/ \\//###################-\n" + + "# _#/|##########/\\######( /\\ )######/\\##########|\\#_\n" + + "# |/ |#/\\#/\\#/\\/ \\#/\\##\\ | | /##/\\#/ \\/\\#/\\#/\\#| \\|\n" + + "# ` |/ V V ` V \\#\\| | | |/#/ V ' V V \\| '\n" + + "# ` ` ` ` / | | | | \\ ' ' ' '\n" + + "# ( | | | | )\n" + + "# __\\ | | | | /__\n" + + "# (vvv(VVV)(VVV)vvv)\n" + + "# 神兽保佑\n" + + "# 代码无BUG!\n" + + "# __----~~~~~~~~~~~------___\n" + + "# . . ~~//====...... __--~ ~~\n" + + "# -. \\_|// |||\\\\ ~~~~~~::::... /~\n" + + "# ___-==_ _-~o~ \\/ ||| \\\\ _/~~-\n" + + "# __---~~~.==~||\\=_ -_--~/_-~|- |\\\\ \\\\ _/~\n" + + "# _-~~ .=~ | \\\\-_ '-~7 /- / || \\ /\n" + + "# .~ .~ | \\\\ -_ / /- / || \\ /\n" + + "# / ____ / | \\\\ ~-_/ /|- _/ .|| \\ /\n" + + "# |~~ ~~|--~~~~--_ \\ ~==-/ | \\~--===~~ .\\\n" + + "# ' ~-| /| |-~\\~~ __--~~\n" + + "# |-~~-_/ | | ~\\_ _-~ /\\\n" + + "# / \\ \\__ \\/~ \\__\n" + + "# _--~ _/ | .-~~____--~-/ ~~==.\n" + + "# ((->/~ '.|||' -_| ~~-/ , . _||\n" + + "# -_ ~\\ ~~---l__i__i__i--~~_/\n" + + "# _-~-__ ~) \\--______________--~~\n" + + "# //.-~~~-~_--~- |-------~~~~~~~~\n" + + "# //.-~~~--\\\n" + + "# 神兽保佑\n" + + "# 代码无BUG!\n" + + "# ,----------------, ,---------,\n" + + "# ,-----------------------, ,\" ,\"|\n" + + "# ,\" ,\"| ,\" ,\" |\n" + + "# +-----------------------+ | ,\" ,\" |\n" + + "# | .-----------------. | | +---------+ |\n" + + "# | | | | | | -==----'| |\n" + + "# | | I LOVE DOS! | | | | | |\n" + + "# | | Bad command or | | |/----|`---= | |\n" + + "# | | C:\\>_ | | | ,/|==== ooo | ;\n" + + "# | | | | | // |(((( [33]| ,\"\n" + + "# | `-----------------' |,\" .;'| |(((( | ,\"\n" + + "# +-----------------------+ ;; | | |,\"\n" + + "# /_)______________(_/ //' | +---------+\n" + + "# ___________________________/___ `,\n" + + "# / oooooooooooooooo .o. oooo /, \\,\"-----------\n" + + "# / ==ooooooooooooooo==.o. ooo= // ,`\\--{)B ,\"\n" + + "# /_==__==========__==_ooo__ooo=_/' /___________,\"\n" + + "#\n" + + "# .-~~~~~~~~~-._ _.-~~~~~~~~~-.\n" + + "# __.' ~. .~ `.__\n" + + "# .'// \\./ \\\\`.\n" + + "# .'// | \\\\`.\n" + + "# .'// .-~\"\"\"\"\"\"\"~~~~-._ | _,-~~~~\"\"\"\"\"\"\"~-. \\\\`.\n" + + "# .'//.-\" `-. | .-' \"-.\\\\`.\n" + + "# .'//______.============-.. \\ | / ..-============.______\\\\`.\n" + + "# .'______________________________\\|/______________________________`."); + + } + +} \ No newline at end of file diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/entity/TestTable.java b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/entity/TestTable.java new file mode 100644 index 000000000..271f2349b --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/entity/TestTable.java @@ -0,0 +1,28 @@ +package com.mhd.bi.domain.testTable.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class TestTable implements Serializable { + private static final long serialVersionUID = 1L; + + /** 车队id */ + @ApiModelProperty("车队id") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty(name = "txt") + private String txt; + +} \ No newline at end of file diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/facade/TestTableService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/facade/TestTableService.java new file mode 100644 index 000000000..511b76e02 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/facade/TestTableService.java @@ -0,0 +1,8 @@ +package com.mhd.bi.domain.testTable.repository.facade; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.mhd.bi.domain.testTable.entity.TestTable; + +public interface TestTableService extends IService +{ +} \ No newline at end of file diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/mapper/TestTableMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/mapper/TestTableMapper.java new file mode 100644 index 000000000..5395cb3fc --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/mapper/TestTableMapper.java @@ -0,0 +1,16 @@ +package com.mhd.bi.domain.testTable.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.bi.domain.testTable.entity.TestTable; + +import java.util.List; + +/** + * 车队Mapper接口 + * + * @author zihao + * @date 2023-05-24 + */ +public interface TestTableMapper extends BaseMapper +{ +} \ No newline at end of file diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/persistence/TestTableServiceImpl.java b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/persistence/TestTableServiceImpl.java new file mode 100644 index 000000000..7bddaf123 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/persistence/TestTableServiceImpl.java @@ -0,0 +1,16 @@ +package com.mhd.bi.domain.testTable.repository.persistence; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.bi.domain.testTable.entity.TestTable; +import com.mhd.bi.domain.testTable.repository.facade.TestTableService; +import com.mhd.bi.domain.testTable.repository.mapper.TestTableMapper; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class TestTableServiceImpl extends ServiceImpl implements TestTableService { + +} \ No newline at end of file diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/testTable/TestTableApi.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/testTable/TestTableApi.java new file mode 100644 index 000000000..2c7b97e37 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/testTable/TestTableApi.java @@ -0,0 +1,45 @@ +package com.mhd.bi.interfaces.facadeApi.testTable; + +import com.mhd.bi.domain.testTable.entity.TestTable; +import com.mhd.bi.domain.testTable.repository.facade.TestTableService; +import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.domain.AjaxResult; +import com.mhd.common.log.annotation.Log; +import com.mhd.common.log.enums.BusinessType; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@Api(tags = "test") +@Slf4j +@RestController +@RequestMapping("/testTableApi") +@CrossOrigin +public class TestTableApi extends BaseController { + + @Autowired + private TestTableService testTableService; + + + @ApiOperation("查询用户列表") + @GetMapping("/test") + public AjaxResult test(String txt) { + String result = txt; + return AjaxResult.success(result); + } + + + @ApiOperation("查询用户列表") + @GetMapping("/list") + public AjaxResult list(String txt) { + List list = testTableService.list(); + return AjaxResult.success(list); + } + + +} \ No newline at end of file diff --git a/mhd-bi/src/main/resources/banner.txt b/mhd-bi/src/main/resources/banner.txt new file mode 100644 index 000000000..97c5c27c3 --- /dev/null +++ b/mhd-bi/src/main/resources/banner.txt @@ -0,0 +1,10 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + _ _ _ + (_) | | | | + _ __ _ _ ___ _ _ _ ______ __ _ _ _ | |_ | |__ +| '__|| | | | / _ \ | | | || ||______| / _` || | | || __|| '_ \ +| | | |_| || (_) || |_| || | | (_| || |_| || |_ | | | | +|_| \__,_| \___/ \__, ||_| \__,_| \__,_| \__||_| |_| + __/ | + |___/ \ No newline at end of file diff --git a/mhd-bi/src/main/resources/bootstrap.yml b/mhd-bi/src/main/resources/bootstrap.yml new file mode 100644 index 000000000..6ccbd7ff9 --- /dev/null +++ b/mhd-bi/src/main/resources/bootstrap.yml @@ -0,0 +1,35 @@ +# Tomcat +server: + port: 8021 +# Spring +spring: + application: + # 应用名称 + name: mhd-bi-service + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:8848 + # 线上测试环境配置 容器名+端口号 +# server-addr: 10.102.192.5:6848 +# username: nacos +# password: manhuoda@2023 + #线上正式环境 +# server-addr: 10.102.192.5:6848 +# username: nacos +# password: manhuoda@2023 + config: + server-addr: 127.0.0.1:8848 + # 线上测试环境配置 容器名+端口号 +# server-addr: 10.102.192.5:6848 +# username: nacos +# password: manhuoda@2023 + #线上正式环境 + group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 + file-extension: yml #默认properties + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/mhd-bi/src/main/resources/logback.xml b/mhd-bi/src/main/resources/logback.xml new file mode 100644 index 000000000..753c19c22 --- /dev/null +++ b/mhd-bi/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mhd-bi/src/main/resources/mapper/TextTableMapper.xml b/mhd-bi/src/main/resources/mapper/TextTableMapper.xml new file mode 100644 index 000000000..1ccbcf43a --- /dev/null +++ b/mhd-bi/src/main/resources/mapper/TextTableMapper.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index d98cdd603..839c541f6 100644 --- a/pom.xml +++ b/pom.xml @@ -302,6 +302,7 @@ mhd_oms mhd_wms mhd_bms + mhd-bi pom From 6faccde5e618c73ff3249bb7084a8ccd5a5f99c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 30 Apr 2026 15:05:24 +0800 Subject: [PATCH 014/418] =?UTF-8?q?feign=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index ce67818f8..c4b4d8db4 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 74b14a737..cdb81ac6f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 5297c1fc5..da0eb2638 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.5:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 815c7f04e..48ccc2788 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -19,7 +19,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** From 0dc9dba78efb9a09f80acc82225f462b111691a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 30 Apr 2026 15:19:05 +0800 Subject: [PATCH 015/418] =?UTF-8?q?feign=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persistence/TestTableServiceImpl.java | 1 - mhd-bi/src/main/resources/bootstrap.yml | 16 ++++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/persistence/TestTableServiceImpl.java b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/persistence/TestTableServiceImpl.java index 7bddaf123..49ef7dd06 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/persistence/TestTableServiceImpl.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/testTable/repository/persistence/TestTableServiceImpl.java @@ -1,6 +1,5 @@ package com.mhd.bi.domain.testTable.repository.persistence; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mhd.bi.domain.testTable.entity.TestTable; import com.mhd.bi.domain.testTable.repository.facade.TestTableService; diff --git a/mhd-bi/src/main/resources/bootstrap.yml b/mhd-bi/src/main/resources/bootstrap.yml index 6ccbd7ff9..253e9d78f 100644 --- a/mhd-bi/src/main/resources/bootstrap.yml +++ b/mhd-bi/src/main/resources/bootstrap.yml @@ -12,21 +12,21 @@ spring: cloud: nacos: discovery: - server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.5:6848 # username: nacos # password: manhuoda@2023 config: - server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties From a9c27b9d4c22a516c1f9885560cc7303815e03e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 30 Apr 2026 16:05:01 +0800 Subject: [PATCH 016/418] =?UTF-8?q?mhd-bi=E5=8F=91=E5=B8=83=E6=B5=8B?= =?UTF-8?q?=E8=AF=95;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-bi/src/main/resources/bootstrap.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mhd-bi/src/main/resources/bootstrap.yml b/mhd-bi/src/main/resources/bootstrap.yml index 253e9d78f..83148b69b 100644 --- a/mhd-bi/src/main/resources/bootstrap.yml +++ b/mhd-bi/src/main/resources/bootstrap.yml @@ -14,9 +14,10 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.5:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.5:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.5:6848 # username: nacos @@ -24,9 +25,10 @@ spring: config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.5:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.5:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties From 2973c0c4b1bef3c15434ab386ffa5fbd3fd724e2 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 30 Apr 2026 16:38:29 +0800 Subject: [PATCH 017/418] =?UTF-8?q?OMS-GW=E6=8E=A8=E9=80=81-=E5=95=86?= =?UTF-8?q?=E4=B8=9A=E5=90=88=E4=BD=9C=E4=BC=99=E4=BC=B4-user=5Fcenter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserShipperApplicationService.java | 21 ++++++++++++++++++- .../entity/UserShipperEntity.java | 11 ++++++++++ .../repository/mapper/UserShipperMapper.java | 8 +++++++ .../interfaces/facade/UserShipperAPI.java | 17 +++++++++++++++ .../resources/mapper/UserShipperMapper.xml | 12 +++++++++++ 5 files changed, 68 insertions(+), 1 deletion(-) diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java index 94c6cec03..aaff62243 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java @@ -33,6 +33,7 @@ import com.mhd.common.core.domain.po.RolePO; import com.mhd.user.domain.userAggregate.entity.UserRoleEntity; import com.mhd.user.domain.userAggregate.entity.UserShipperEntity; import com.mhd.user.domain.userAggregate.event.ShipperEventPublisher; +import com.mhd.user.domain.userAggregate.repository.mapper.UserShipperMapper; import com.mhd.user.domain.userAggregate.repository.po.UserDriverPo; import com.mhd.user.domain.userAggregate.repository.todo.*; import com.mhd.user.domain.userAggregate.service.*; @@ -112,6 +113,9 @@ public class UserShipperApplicationService { @Resource private WlhyServiceFeign wlhyServiceFeign; + @Resource + private UserShipperMapper userShipperMapper; + /** * @Description 查询托运人列表 * @Author Alex @@ -1209,5 +1213,20 @@ public class UserShipperApplicationService { } } - + /** + * 推送状态更新 + * @param shipperId + * @param pushStatus + * @param pushTime + * @param pushBy + * @return + */ + public int updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy) { + UserShipperEntity userShipper = new UserShipperEntity(); + userShipper.setShipperId(shipperId); + userShipper.setPushStatus(pushStatus); + userShipper.setPushTime(pushTime); + userShipper.setPushBy(pushBy); + return userShipperMapper.updatePushStatus(userShipper); + } } \ No newline at end of file diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserShipperEntity.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserShipperEntity.java index c3e4a8879..c18bfb7db 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserShipperEntity.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserShipperEntity.java @@ -263,4 +263,15 @@ public class UserShipperEntity extends BaseVOEntity { @ApiModelProperty(name = "组织名称") private String organizationName; + + @ApiModelProperty(name = "推送状态 1-未推送 2-推送中 3-推送成功 4-推送失败") + private Integer pushStatus; + @ApiModelProperty(name = "推送时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date pushTime; + @ApiModelProperty(name = "推送人") + private Long pushBy; + + } diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/mapper/UserShipperMapper.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/mapper/UserShipperMapper.java index 96f7cb79c..3631288cb 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/mapper/UserShipperMapper.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/mapper/UserShipperMapper.java @@ -7,6 +7,7 @@ import com.mhd.user.domain.userAggregate.repository.todo.UserShipperDO; import com.mhd.user.domain.userAggregate.repository.po.UserShipperPo; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; public interface UserShipperMapper extends BaseMapper { @@ -28,4 +29,11 @@ public interface UserShipperMapper extends BaseMapper { List selectBySealId(@Param("userShipperEntity") UserShipperEntity userShipperEntity); public com.mhd.common.core.domain.po.UserShipperPo getShipperSummaryData(Long userId); + + /** + * + * @param userShipper + * @return + */ + int updatePushStatus(UserShipperEntity userShipper); } \ No newline at end of file diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java index 863b63d10..97972a569 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java @@ -23,6 +23,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.Date; import java.util.List; @Api(tags = "用户中台管理-托运人管理") @@ -235,4 +236,20 @@ public class UserShipperAPI extends BaseController { } } + @ApiOperation("商业合作伙伴-更新推送状态") + @PostMapping("/updatePushStatus") + public AjaxResult updatePushStatus(@RequestParam("shipperId") Long shipperId, + @RequestParam("pushStatus") Integer pushStatus, + @RequestParam("pushTime") Date pushTime, + @RequestParam("pushBy") Long pushBy){ + + try{ + int result = userShipperApplicationService.updatePushStatus(shipperId,pushStatus,pushTime,pushBy); + return result > 0 ? AjaxResult.success() : AjaxResult.error("更新失败"); + }catch (Exception e){ + log.error("更新推送状态异常: shipperId = {} , error = ", e.getMessage()); + return AjaxResult.error("更新推送状态异常:" + e.getMessage()); + } + } + } diff --git a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml index 7a1343681..edc7e1d30 100644 --- a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml +++ b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml @@ -401,4 +401,16 @@ and esign_enterprise_status = #{userShipperEntity.esignEnterpriseStatus} + + + UPDATE user_shipper + + push_status = #{pushStatus}, + push_time = #{pushTime}, + push_by = #{pushBy}, + + WHERE shipper_id = #{shipperId} + + + \ No newline at end of file From b2a01f1738948b880f5eb55284c424aa37b37b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Thu, 30 Apr 2026 16:55:39 +0800 Subject: [PATCH 018/418] =?UTF-8?q?=E8=B4=A7=E4=B8=BB=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E4=B8=8E=E7=94=B5=E8=AF=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mhd/common/core/domain/dto/wlhy/TmsShipperDTO.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/wlhy/TmsShipperDTO.java b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/wlhy/TmsShipperDTO.java index 2034e51b9..c66ff4d73 100644 --- a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/wlhy/TmsShipperDTO.java +++ b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/wlhy/TmsShipperDTO.java @@ -27,6 +27,8 @@ public class TmsShipperDTO implements Serializable { /**货主类型(0-个人货主,1-企业货主))*/ @ApiModelProperty(value = "货主类型(0-个人货主,1-企业货主))") private Integer shipperType; + @ApiModelProperty(name = "货主账号") + private String userAccount; @ApiModelProperty(name = "最高组织id") private Long topOrganizationId; @ApiModelProperty(name = "归属组织id") From 0ec7e9b7031987c3ed007a37b35f935a2ab0564c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Wed, 6 May 2026 11:06:12 +0800 Subject: [PATCH 019/418] =?UTF-8?q?=E6=8F=90=E8=B4=A7=E5=8D=95=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/StockOutOrderMapper.java | 3 +- .../dto/stockOutOrder/StockOutOrderDTO.java | 6 + .../stockOutOrder/StockOutOrderApi.java | 89 +++--- .../stockOutOrder/StockOutOrderMapper.xml | 273 +++++++++--------- 4 files changed, 193 insertions(+), 178 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java index 4dfb5ba24..2b0dda4ea 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java @@ -16,8 +16,7 @@ import java.util.List; * @author gen * @date 2024-05-28 */ -public interface StockOutOrderMapper extends BaseMapper -{ +public interface StockOutOrderMapper extends BaseMapper { /** * 查询出库单列表 */ diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java index 01a316880..cf79232bc 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java @@ -441,4 +441,10 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO { private String salesmanName; @ApiModelProperty("费用") List receiptOrderAccountList; + + /** + * 提货单打印所选模版(与图5单选项文案一致即可)。可传副标题如「谷丰--营销部」,或整段「提货单--谷丰--营销部」;不传则标题为「提货单」 + */ + @ApiModelProperty("提货单打印模版名/弹窗选项全文;后端生成 printTitle(-- 会规范为 ——)") + private String noticePrintTemplateName; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java index ed892dc9c..bf161ccfa 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java @@ -64,14 +64,40 @@ public class StockOutOrderApi extends BaseController { @Autowired private IStockOutOrderService stockOutOrderService; + @Autowired + private ExcelParseService excelParseService; + + /** + * 提货单大标题:未选时为「提货单」;可传副标题如「谷丰--营销部」,或与弹窗一致传整段「提货单--谷丰--营销部」(后者原样作标题,并将 -- 规范为 ——)。 + */ + private static void fillNoticePrintTitle(Map result, StockOutOrderDTO dto) { + String templateName = dto != null ? dto.getNoticePrintTemplateName() : null; + if (templateName != null) { + templateName = templateName.trim(); + if (templateName.isEmpty()) { + templateName = null; + } + } + result.put("noticePrintTemplateName", templateName); + if (templateName == null) { + result.put("printTitle", "提货单"); + return; + } + String printTitle; + if (templateName.startsWith("提货单")) { + printTitle = templateName.replace("--", "——"); + } else { + printTitle = "提货单——" + templateName.replace("--", "——"); + } + result.put("printTitle", printTitle); + } /** * 分页查询出库单列表 */ @ApiOperation("查询出库单列表") @GetMapping("/list") - public TableDataInfo list(StockOutOrderDTO stockOutOrderDTO) - { + public TableDataInfo list(StockOutOrderDTO stockOutOrderDTO) { //转换实体 StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); startPage(); @@ -79,9 +105,6 @@ public class StockOutOrderApi extends BaseController { return getDataTable(list); } - @Autowired - private ExcelParseService excelParseService; - /** * 上传并解析出仓委托单Excel */ @@ -122,13 +145,12 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("编辑出库单") @PostMapping("/edit") - public AjaxResult edit(@RequestBody StockOutOrderDTO stockOutOrderDTO) - { + public AjaxResult edit(@RequestBody StockOutOrderDTO stockOutOrderDTO) { //转换实体 StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDOByEdit(stockOutOrderDTO); - if(stockOutOrderDTO.getOutOrderId() != null){ + if (stockOutOrderDTO.getOutOrderId() != null) { return toAjax(stockOutOrderApplicationService.update(stockOutOrderDO)); - }else { + } else { return toAjax(stockOutOrderApplicationService.insert(stockOutOrderDO)); } } @@ -138,8 +160,7 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("批量删除出库单") @DeleteMapping("/deleteByIds/{outOrderIds}") - public AjaxResult delete(@PathVariable Long[] outOrderIds) - { + public AjaxResult delete(@PathVariable Long[] outOrderIds) { return toAjax(stockOutOrderApplicationService.delete(outOrderIds)); } @@ -148,17 +169,16 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("获取出库单") @GetMapping(value = "/getInfo/{outOrderId}") - public AjaxResult getInfo(@PathVariable("outOrderId") Long outOrderId) - { + public AjaxResult getInfo(@PathVariable("outOrderId") Long outOrderId) { return AjaxResult.success(stockOutOrderApplicationService.getInfoChildren(outOrderId)); } + /** * 根据出库单号获取出库单详细信息 */ @ApiOperation("获取出库单") @GetMapping(value = "/getInfoOutOrderNumber") - public AjaxResult getInfoOutOrderNumber(String outOrderNumber) - { + public AjaxResult getInfoOutOrderNumber(String outOrderNumber) { // 根据出库单号查询出库单,再按出库单ID查询详情,保证与出库管理页面一致 StockOutOrder stockOutOrder = stockOutOrderService.getOne(new LambdaQueryWrapper() .eq(StockOutOrder::getOutOrderNumber, outOrderNumber)); @@ -210,7 +230,6 @@ public class StockOutOrderApi extends BaseController { return toAjax(stockOutOrderApplicationService.manualAssign(stockOutOrderDO)); } - /** * 手动分配 */ @@ -280,12 +299,11 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("生成拣货单") @PostMapping("/genPickingOrder") - public AjaxResult genPickingOrder(@RequestBody StockOutOrderDTO stockOutOrderDTO){ + public AjaxResult genPickingOrder(@RequestBody StockOutOrderDTO stockOutOrderDTO) { StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class); return toAjax(stockOutOrderApplicationService.genPickingOrder(stockOutOrderDO)); } - /** * 复核下发 */ @@ -303,8 +321,7 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("获取出库单复核详细信息") @GetMapping(value = "/getCheckInfo") - public AjaxResult getCheckInfo(StockOutOrderDTO stockOutOrderDTO) - { + public AjaxResult getCheckInfo(StockOutOrderDTO stockOutOrderDTO) { //转换实体 StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); return AjaxResult.success(stockOutOrderApplicationService.getCheckInfo(stockOutOrderDO)); @@ -320,7 +337,6 @@ public class StockOutOrderApi extends BaseController { return AjaxResult.success(stockOutOrderApplicationService.singleCheck(stockOutOrderDO)); } - /** * 批量复核 */ @@ -331,7 +347,6 @@ public class StockOutOrderApi extends BaseController { return toAjax(stockOutOrderApplicationService.batchCheck(stockOutOrderDO)); } - /** * 批量取消复核 */ @@ -342,7 +357,6 @@ public class StockOutOrderApi extends BaseController { return toAjax(stockOutOrderApplicationService.batchCancelCheck(stockOutOrderDO)); } - /** * 批量复核确认 */ @@ -353,7 +367,6 @@ public class StockOutOrderApi extends BaseController { return toAjax(stockOutOrderApplicationService.checkConfirm(stockOutOrderDO)); } - /** * 根据指定规则生成波次单 */ @@ -382,12 +395,9 @@ public class StockOutOrderApi extends BaseController { StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class); return toAjax(stockOutOrderApplicationService.autoAssign(stockOutOrderDO)); }*/ - - @ApiOperation("关闭出库单") @PostMapping("/close") - public AjaxResult close(@RequestBody StockOutOrderDTO stockOutOrderDTO) - { + public AjaxResult close(@RequestBody StockOutOrderDTO stockOutOrderDTO) { //转换实体 StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDOByEdit(stockOutOrderDTO); return toAjax(stockOutOrderApplicationService.close(stockOutOrderDO)); @@ -411,28 +421,24 @@ public class StockOutOrderApi extends BaseController { stockOutOrderApplicationService.omsOrderAddDetail(outMaterialDetails); } - @ApiOperation("出库单提货单打印") @PostMapping("/queryOutStockNoticePrint") public AjaxResult queryOutStockNoticePrint(@RequestBody StockOutOrderDTO stockOutOrderDTO) { - List headerList = stockOutOrderApplicationService.queryOutStockNoticePrint(stockOutOrderDTO); - List detailList = stockOutOrderApplicationService.queryOutStockNoticePrintDetail(stockOutOrderDTO); - - Map result = new HashMap<>(); - if (!headerList.isEmpty()) { - result.put("header", headerList.get(0)); - } - result.put("detailList", detailList); - return AjaxResult.success(result); + return AjaxResult.success(buildOutStockNoticePrintData(stockOutOrderDTO)); } - @ApiOperation("出库单提货单打印") @PostMapping("/queryOutStockNoticePrintGF") public AjaxResult queryOutStockNoticePrintGF(@RequestBody StockOutOrderDTO stockOutOrderDTO) { + return AjaxResult.success(buildOutStockNoticePrintData(stockOutOrderDTO)); + } + + /** + * 提货单打印统一数据 + */ + private Map buildOutStockNoticePrintData(StockOutOrderDTO stockOutOrderDTO) { List headerList = stockOutOrderApplicationService.queryOutStockNoticePrint(stockOutOrderDTO); List detailList = stockOutOrderApplicationService.queryOutStockNoticePrintDetailGF(stockOutOrderDTO); - for (OutMaterialDetailPO detail : detailList) { if (detail.getCopyCode() != null && detail.getCopyCode() == 1) { List weightList = stockOutOrderApplicationService.queryCopyCodeWeightListByBatch( @@ -445,7 +451,8 @@ public class StockOutOrderApi extends BaseController { result.put("header", headerList.get(0)); } result.put("detailList", detailList); - return AjaxResult.success(result); + fillNoticePrintTitle(result, stockOutOrderDTO); + return result; } } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml index f15e0c51e..8cd340171 100644 --- a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml @@ -1,67 +1,67 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -89,16 +89,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - - - + + + + + - a.out_order_id, a.organization_id, a.organization_name, a.top_organization_id, a.receipt_notice_id, a.notice_number, a.out_order_number, a.status, + a + . + out_order_id + , a.organization_id, a.organization_name, a.top_organization_id, a.receipt_notice_id, a.notice_number, a.out_order_number, a.status, a.audit_status, a.audit_remark, a.audit_by, a.audit_by_name, a.audit_time, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_code, a.shipper_name, a.order_type_code, a.order_type_name, a.customer_id, a.customer_code, a.customer_name, a.expect_time, a.supply_chain_number, a.priority_level_code, a.priority_level_name, a.direct_warehouse, a.review, a.annex_url, a.material_quantity, a.quantity, a.weight_limit, a.volume_limit, @@ -303,34 +306,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and exists ( - select 1 from out_material_detail omd - left join material_base_info mb on omd.material_base_info_id = mb.material_base_info_id and mb.del_flag = 1 - where omd.out_order_number = a.out_order_number - and omd.del_flag = 1 - and (omd.level is null or omd.level = 1) - - and ( - omd.material_name like concat('%', #{materialName}, '%') - or mb.material_name like concat('%', #{materialName}, '%') - ) - - - and ( - omd.material_code like concat('%', #{materialCode}, '%') - or mb.material_code like concat('%', #{materialCode}, '%') - ) - + select 1 from out_material_detail omd + left join material_base_info mb on omd.material_base_info_id = mb.material_base_info_id and mb.del_flag = 1 + where omd.out_order_number = a.out_order_number + and omd.del_flag = 1 + and (omd.level is null or omd.level = 1) + + and ( + omd.material_name like concat('%', #{materialName}, '%') + or mb.material_name like concat('%', #{materialName}, '%') + ) + + + and ( + omd.material_code like concat('%', #{materialCode}, '%') + or mb.material_code like concat('%', #{materialCode}, '%') + ) + ) - and a.del_flag = #{delFlag} - and a.del_flag = 1 + and a.del_flag = #{delFlag} + and a.del_flag = 1 - select - + from stock_out_order a @@ -340,40 +344,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -395,8 +400,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - @@ -406,12 +409,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - SELECT - b.batch_number, - b.material_code, - b.material_name, - b.specification_model, - b.quantity, - b.unit_name, - b.pack_name, - b.warehouse_code, - b.warehouse_id, - b.storage_location_name, - b.lot_no, - b.piece_count, - b.material_base_info_id, - b.outbound_quantity, - b.box_pallet_no, - mbi.copy_code + SELECT b.batch_number, + b.material_code, + b.material_name, + COALESCE(b.specification_model, b.size, b.liter, mbi.specification_model) AS specification_model, + b.quantity, + b.unit_name, + b.pack_name, + b.warehouse_code, + b.warehouse_name, + b.warehouse_id, + b.storage_location_name, + b.lot_no, + b.piece_count, + b.material_base_info_id, + b.outbound_quantity, + b.box_pallet_no, + mbi.copy_code FROM out_material_detail b LEFT JOIN material_base_info mbi ON b.material_base_info_id = mbi.material_base_info_id WHERE b.del_flag = 1 - AND b.out_order_number = (SELECT out_order_number FROM stock_out_order WHERE out_order_id = #{outOrderId} AND del_flag = 1) + AND b.out_order_number = + (SELECT out_order_number FROM stock_out_order WHERE out_order_id = #{outOrderId} AND del_flag = 1) ORDER BY b.material_detail_id From b62fc345b04fe31eca11d2465b332d3cc5a4773a Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 6 May 2026 11:20:41 +0800 Subject: [PATCH 020/418] =?UTF-8?q?OMS-GW=E6=8E=A8=E9=80=81-=E5=95=86?= =?UTF-8?q?=E4=B8=9A=E5=90=88=E4=BD=9C=E4=BC=99=E4=BC=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/UserServiceFeign.java | 8 ++ .../RemoteUserFeignFallbackFactory.java | 6 + .../BusinessPartnerApplicationService.java | 133 ++++++++++++++++++ .../mhd/oms/domain/gwLog/entity/GwLog.java | 64 +++++++++ .../gwLog/repository/mapper/GwLogMapper.java | 10 ++ .../businessPartner/BusinessPartnerDTO.java | 7 + .../businessPartner/BusinessPartnerApi.java | 11 +- 7 files changed, 236 insertions(+), 3 deletions(-) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java index e4e2aa9b2..93264d5e9 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java @@ -18,6 +18,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import java.util.Date; import java.util.List; import java.util.Map; @@ -208,4 +209,11 @@ public interface UserServiceFeign { @RequestParam(value = "updateTimeFrom", required = false) String updateTimeFrom, @RequestParam(value = "updateTimeTo", required = false) String updateTimeTo, @RequestParam(value = "shipperType", required = false) Integer shipperType); + + @ApiOperation("商业合作伙伴-更新推送") + @PostMapping("/userShipperApi/updatePushStatus") + void updatePushStatus(@RequestParam(value = "shipperId") Long shipperId, + @RequestParam(value = "pushStatus") Integer pushStatus, + @RequestParam(value = "pushTime") Date pushTime, + @RequestParam(value = "pushBy") Long pushBy); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java index f2c96baf3..dbbf0623b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java @@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.Date; import java.util.List; import java.util.Map; @@ -186,6 +187,11 @@ public class RemoteUserFeignFallbackFactory implements FallbackFactory userShipperList(Integer pageNum, Integer pageSize, String userAccount, String shipperEnterpriseName, Long organizationId, String organizationName, String createTimeFrom, String createTimeTo, String updateTimeFrom, String updateTimeTo, Integer shipperType) { return AjaxResult.error("查询失败" + throwable.getMessage()); } + + @Override + public void updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy) { + log.error("更新失败" + throwable.getMessage()); + } }; } } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java index ea6a50c8e..b922182b4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java @@ -1,23 +1,49 @@ package com.mhd.oms.application.service.businessPartner; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; import com.mhd.oms.interfaces.dto.businessPartner.BusinessPartnerDTO; import com.mhd.system.api.UserServiceFeign; +import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.IOException; +import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service @Slf4j public class BusinessPartnerApplicationService { + private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String API_NAME = "saveCorporation"; + + @Resource private UserServiceFeign userServiceFeign; + @Resource + private GwLogMapper gwLogMapper; + + + + public TableDataInfo queryShipperPage(BusinessPartnerDTO businessPartnerDTO) { @@ -48,4 +74,111 @@ public class BusinessPartnerApplicationService { } + public AjaxResult batchPush(List businessPartnerDTOList) { + if(businessPartnerDTOList == null || businessPartnerDTOList.isEmpty()){ + return AjaxResult.error("没有数据需要推送"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long pushBy = loginUser != null ? loginUser.getUserid() : null; + Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; + Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; + String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; + + int successCount = 0; + int failCount = 0; + StringBuilder failMsg = new StringBuilder(); + + for (BusinessPartnerDTO businessPartnerDTO :businessPartnerDTOList){ + + Map body = new HashMap<>(); + body.put("copyCode",businessPartnerDTO.getCorpCode()); + body.put("copyName",businessPartnerDTO.getCorpName()); + + GwLog gwLog = new GwLog(); + gwLog.setType("商业合作伙伴"); + gwLog.setBusinessId(businessPartnerDTO.getShipperId()); + gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setResponseBody(""); + gwLog.setStatus(1); + gwLog.setSendTime(new Date()); + gwLog.setOrganizationId(organizationId); + gwLog.setTopOrganizationId(topOrganizationId); + gwLog.setOrganizationName(organizationName); + gwLog.setCreateBy(pushBy); + gwLog.setCreateTime(new Date()); + gwLog.setDelFlag(1); + gwLogMapper.insert(gwLog); + + updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),2,null,pushBy); + + CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(PUSH_API_URL); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(body),"UTF-8"); + httpPost.setEntity(postingString); + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("apiName", API_NAME); + + try{ + CloseableHttpResponse response = httpClient.execute(httpPost); + String responseString = EntityUtils.toString(response.getEntity()); + gwLog.setResponseBody(responseString); + + if(response.getStatusLine().getStatusCode() == 200){ + gwLog.setStatus(2); + updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),3, new Date(), pushBy); + successCount++; + }else{ + gwLog.setStatus(3); + gwLog.setErrorMsg(responseString); + updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),4, new Date(), pushBy); + failCount++; + failMsg.append("CorpCode:").append(businessPartnerDTO.getCorpCode()).append("失败:"); + } + gwLogMapper.updateById(gwLog); + response.close(); + + + + } catch (IOException e) { + gwLog.setStatus(3); + gwLog.setErrorMsg(e.getMessage()); + gwLogMapper.updateById(gwLog); + updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),4, new Date(), pushBy); + failCount++; + failMsg.append("CorpCode:").append(businessPartnerDTO.getCorpCode()).append("异常:").append(e.getMessage()).append(":"); + log.error("GW推送异常:shipperId={}, error={}",businessPartnerDTO.getShipperId(),e.getMessage()); + + } finally { + try{ + httpClient.close(); + }catch (Exception e){ + log.error("关闭httpClient异常:{}" + e.getMessage()); + } + + } + + } + + String resultMsg = "推送完成:成功" + successCount + "条,失败" + failCount +"条"; + if(failCount > 0){ + resultMsg += "[" + failMsg.toString() + "]"; + } + + return AjaxResult.success(resultMsg); + } + + + + private void updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy) { + try { + // 调用user-center的Feign接口,更新货主的推送状态 + userServiceFeign.updatePushStatus(shipperId, pushStatus, pushTime, pushBy); + } catch (Exception e) { + // 如果更新失败,记录错误日志,但不阻断主流程 + log.info("更新推送状态失败: shipperId={}, error={}", shipperId, e.getMessage()); + } + } + + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java new file mode 100644 index 000000000..de8e44b30 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java @@ -0,0 +1,64 @@ +package com.mhd.oms.domain.gwLog.entity; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("gw_log") +public class GwLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("日志id") + @TableId(type = IdType.AUTO) + private Long logId; + + @ApiModelProperty("类型") + private String type; + + @ApiModelProperty("业务ID") + private String businessId; + + @ApiModelProperty("请求报文") + private String requestBody; + + @ApiModelProperty("响应报文") + private String responseBody; + + @ApiModelProperty("状态(1-初始,2-成功,3-失败)") + private Integer status; + + @ApiModelProperty("错误信息") + private String errorMsg; + + @ApiModelProperty("推送时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date sendTime; + + @ApiModelProperty("组织ID") + private Long organizationId; + + @ApiModelProperty("一级组织ID") + private Long topOrganizationId; + + @ApiModelProperty("组织名称") + private String organizationName; + + @ApiModelProperty("创建人") + private Long createBy; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("删除标记:1-正常,0-删除") + private Integer delFlag; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java new file mode 100644 index 000000000..65484ad4b --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java @@ -0,0 +1,10 @@ +package com.mhd.oms.domain.gwLog.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.oms.domain.gwLog.entity.GwLog; +import org.apache.ibatis.annotations.Mapper; + + +@Mapper +public interface GwLogMapper extends BaseMapper { +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java index af8ba281f..acd43a1ec 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java @@ -48,5 +48,12 @@ public class BusinessPartnerDTO { @ApiModelProperty(value = "每页数量") private Integer pageSize = 10; + @ApiModelProperty(value = "合作伙伴代码") + private String corpCode; + @ApiModelProperty(value = "公司中文名称") + private String corpName; + + @ApiModelProperty(value = "货主id") + private String shipperId; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessPartner/BusinessPartnerApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessPartner/BusinessPartnerApi.java index 27de7d862..f7c504bc7 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessPartner/BusinessPartnerApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessPartner/BusinessPartnerApi.java @@ -1,15 +1,15 @@ package com.mhd.oms.interfaces.facade.businessPartner; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.application.service.businessPartner.BusinessPartnerApplicationService; import com.mhd.oms.interfaces.dto.businessPartner.BusinessPartnerDTO; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; @RestController @@ -26,5 +26,10 @@ public class BusinessPartnerApi { } + @ApiOperation("商业合作伙伴-批量推送") + @PostMapping("/batchPush") + public AjaxResult batchPush(@RequestBody List businessPartnerDTOList){ + return businessPartnerApplicationService.batchPush(businessPartnerDTOList); + } } From 4d732b1bf80b21d0dbaeda38fb68590dddd25b13 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 6 May 2026 13:51:57 +0800 Subject: [PATCH 021/418] =?UTF-8?q?OMS-GW=E6=8E=A8=E9=80=81-=E5=95=86?= =?UTF-8?q?=E4=B8=9A=E5=90=88=E4=BD=9C=E4=BC=99=E4=BC=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mhd/system/api/UserServiceFeign.java | 10 +++++----- .../api/factory/RemoteUserFeignFallbackFactory.java | 4 ++-- .../com/mhd/user/interfaces/facade/UserShipperAPI.java | 4 +++- .../BusinessPartnerApplicationService.java | 5 +++-- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java index 93264d5e9..d99a28b8a 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java @@ -210,10 +210,10 @@ public interface UserServiceFeign { @RequestParam(value = "updateTimeTo", required = false) String updateTimeTo, @RequestParam(value = "shipperType", required = false) Integer shipperType); - @ApiOperation("商业合作伙伴-更新推送") + @PostMapping("/userShipperApi/updatePushStatus") - void updatePushStatus(@RequestParam(value = "shipperId") Long shipperId, - @RequestParam(value = "pushStatus") Integer pushStatus, - @RequestParam(value = "pushTime") Date pushTime, - @RequestParam(value = "pushBy") Long pushBy); + public AjaxResult updatePushStatus(@RequestParam(value = "shipperId") Long shipperId, + @RequestParam(value = "pushStatus", required = false) Integer pushStatus, + @RequestParam(value = "pushTime", required = false) Date pushTime, + @RequestParam(value = "pushBy", required = false) Long pushBy); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java index dbbf0623b..85a7f0d36 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java @@ -189,8 +189,8 @@ public class RemoteUserFeignFallbackFactory implements FallbackFactory updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy) { + return AjaxResult.error("更新失败" + throwable.getMessage()); } }; } diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java index 97972a569..484768893 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java @@ -20,6 +20,7 @@ import com.mhd.user.interfaces.vo.SettlementInfoQueryVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -240,7 +241,8 @@ public class UserShipperAPI extends BaseController { @PostMapping("/updatePushStatus") public AjaxResult updatePushStatus(@RequestParam("shipperId") Long shipperId, @RequestParam("pushStatus") Integer pushStatus, - @RequestParam("pushTime") Date pushTime, + @RequestParam("pushTime") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date pushTime, @RequestParam("pushBy") Long pushBy){ try{ diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java index b922182b4..fb1e26a78 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java @@ -110,7 +110,7 @@ public class BusinessPartnerApplicationService { gwLog.setDelFlag(1); gwLogMapper.insert(gwLog); - updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),2,null,pushBy); + updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),2,new Date(),pushBy); CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); @@ -173,7 +173,8 @@ public class BusinessPartnerApplicationService { private void updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy) { try { // 调用user-center的Feign接口,更新货主的推送状态 - userServiceFeign.updatePushStatus(shipperId, pushStatus, pushTime, pushBy); + AjaxResult result = userServiceFeign.updatePushStatus(shipperId, pushStatus, pushTime, pushBy); + log.info("更新返回结果:{}",result); } catch (Exception e) { // 如果更新失败,记录错误日志,但不阻断主流程 log.info("更新推送状态失败: shipperId={}, error={}", shipperId, e.getMessage()); From b843b27937489189bd750cdd7cb3f73536dfb853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 6 May 2026 13:57:44 +0800 Subject: [PATCH 022/418] =?UTF-8?q?oms=E5=87=BA=E5=BA=93=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E5=8D=95=E7=A1=AE=E8=AE=A4=E4=BF=AE=E6=94=B9=E7=8A=B6=E6=80=81?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ReserveStockOutOrderDomainService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java index 9ff03c5a8..05fb5b1c8 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java @@ -254,7 +254,7 @@ public class ReserveStockOutOrderDomainService { .set(ReserveStockOutOrder::getIssueId, loginUser.getUserid()) .set(ReserveStockOutOrder::getIssueName, userRealName) .set(ReserveStockOutOrder::getIssueTime, new Date()) - //.set(ReserveStockOutOrder::getIssueStatus, 1) + .set(ReserveStockOutOrder::getIssueStatus, 3) .set(ReserveStockOutOrder::getUpdateBy, loginUser.getUserid()) .set(ReserveStockOutOrder::getUpdateByName, userRealName) .set(ReserveStockOutOrder::getUpdateTime, new Date()) From d86639ba4be8c882e4659ed6955d0c81ef9af9f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 6 May 2026 14:07:10 +0800 Subject: [PATCH 023/418] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=8D=95id;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ReserveStockOutOrderDomainService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java index 05fb5b1c8..1da68bce5 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java @@ -265,7 +265,7 @@ public class ReserveStockOutOrderDomainService { for (Long outOrderId : outOrderIds) { ReserveStockOutOrder byId = stockOutOrderService.getById(outOrderId); ReservationStockOutOrder reservationStockOutOrder = new ReservationStockOutOrder(); - BeanUtils.copyProperties(byId, reservationStockOutOrder,"inOrderId"); + BeanUtils.copyProperties(byId, reservationStockOutOrder,"outOrderId"); reservationStockOutOrderService.save(reservationStockOutOrder); String outOrderNumber = reservationStockOutOrder.getOutOrderNumber(); List materialDetailList = outMaterialDetailService.list(new QueryWrapper().lambda().eq(ReserveOutMaterialDetail::getOutOrderNumber, outOrderNumber)); From d32e7e97f6bd87cfd567dcd71e6ce6c9f6abc7db Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 6 May 2026 14:16:14 +0800 Subject: [PATCH 024/418] =?UTF-8?q?OMS-GW=E6=8E=A8=E9=80=81-=E5=95=86?= =?UTF-8?q?=E4=B8=9A=E5=90=88=E4=BD=9C=E4=BC=99=E4=BC=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/UserServiceFeign.java | 2 +- .../system/api/factory/RemoteUserFeignFallbackFactory.java | 2 +- .../application/service/UserShipperApplicationService.java | 6 ++++-- .../java/com/mhd/user/interfaces/facade/UserShipperAPI.java | 5 ++--- .../businessPartner/BusinessPartnerApplicationService.java | 3 ++- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java index d99a28b8a..37e2cffba 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java @@ -214,6 +214,6 @@ public interface UserServiceFeign { @PostMapping("/userShipperApi/updatePushStatus") public AjaxResult updatePushStatus(@RequestParam(value = "shipperId") Long shipperId, @RequestParam(value = "pushStatus", required = false) Integer pushStatus, - @RequestParam(value = "pushTime", required = false) Date pushTime, + @RequestParam(value = "pushTime", required = false) String pushTime, @RequestParam(value = "pushBy", required = false) Long pushBy); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java index 85a7f0d36..dd85a7f9b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java @@ -189,7 +189,7 @@ public class RemoteUserFeignFallbackFactory implements FallbackFactory updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy) { + public AjaxResult updatePushStatus(Long shipperId, Integer pushStatus, String pushTime, Long pushBy) { return AjaxResult.error("更新失败" + throwable.getMessage()); } }; diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java index aaff62243..9faccfa09 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java @@ -1221,11 +1221,13 @@ public class UserShipperApplicationService { * @param pushBy * @return */ - public int updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy) { + public int updatePushStatus(Long shipperId, Integer pushStatus, String pushTime, Long pushBy) { UserShipperEntity userShipper = new UserShipperEntity(); userShipper.setShipperId(shipperId); userShipper.setPushStatus(pushStatus); - userShipper.setPushTime(pushTime); + if (pushTime != null && !"".equals(pushTime)) { + userShipper.setPushTime(DateUtil.parse(pushTime)); + } userShipper.setPushBy(pushBy); return userShipperMapper.updatePushStatus(userShipper); } diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java index 484768893..a21505014 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java @@ -241,9 +241,8 @@ public class UserShipperAPI extends BaseController { @PostMapping("/updatePushStatus") public AjaxResult updatePushStatus(@RequestParam("shipperId") Long shipperId, @RequestParam("pushStatus") Integer pushStatus, - @RequestParam("pushTime") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date pushTime, - @RequestParam("pushBy") Long pushBy){ + @RequestParam(value = "pushTime", required = false) String pushTime, + @RequestParam(value = "pushBy", required = false) Long pushBy){ try{ int result = userShipperApplicationService.updatePushStatus(shipperId,pushStatus,pushTime,pushBy); diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java index fb1e26a78..46645d011 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java @@ -173,7 +173,8 @@ public class BusinessPartnerApplicationService { private void updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy) { try { // 调用user-center的Feign接口,更新货主的推送状态 - AjaxResult result = userServiceFeign.updatePushStatus(shipperId, pushStatus, pushTime, pushBy); + String pushTimeStr = pushTime != null ? DateUtil.format(pushTime, "yyyy-MM-dd HH:mm:ss") : null; + AjaxResult result = userServiceFeign.updatePushStatus(shipperId, pushStatus, pushTimeStr, pushBy); log.info("更新返回结果:{}",result); } catch (Exception e) { // 如果更新失败,记录错误日志,但不阻断主流程 From e5b836012b57b13aea5a08a3f328f85b450470b6 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 6 May 2026 16:05:38 +0800 Subject: [PATCH 025/418] =?UTF-8?q?OMS-GW=E6=8E=A8=E9=80=81-=E5=95=86?= =?UTF-8?q?=E4=B8=9A=E5=90=88=E4=BD=9C=E4=BC=99=E4=BC=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../userAggregate/repository/po/UserShipperPo.java | 11 +++++++++++ .../src/main/resources/mapper/UserShipperMapper.xml | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/UserShipperPo.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/UserShipperPo.java index 7b3cd24b4..2dd5170d8 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/UserShipperPo.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/UserShipperPo.java @@ -321,4 +321,15 @@ public class UserShipperPo implements Serializable { @ApiModelProperty(name = "备注") private String userRemarkShipper; + + @ApiModelProperty(value = "推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @ApiModelProperty(value = "推送时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTime; + + @ApiModelProperty(value = "推送人ID") + private Long pushBy; } diff --git a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml index edc7e1d30..b64400011 100644 --- a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml +++ b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml @@ -161,7 +161,10 @@ b.invoice_title, b.tax_number, b.user_email, - b.user_remark as userRemarkShipper + b.user_remark as userRemarkShipper, + b.push_status, + b.push_time, + b.push_by FROM "USER" a LEFT JOIN user_shipper b ON a.user_id = b.user_id left join (select user_id, LISTAGG(DISTINCT r.role_name, '&') WITHIN GROUP(ORDER BY r.role_name) AS roleName From 9d1b13d4d39fce6980a4469b8d853e893bd90487 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 6 May 2026 17:43:47 +0800 Subject: [PATCH 026/418] =?UTF-8?q?OMS-GW=E6=8E=A8=E9=80=81-=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E5=B8=81=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/WlhyServiceFeign.java | 8 +++ .../factory/RemoteWlhyFallbackFactory.java | 5 ++ .../ExchangeRateApplicationService.java | 59 +++++++++++++++++++ .../facade/exchangeRate/ExchangeRateApi.java | 37 ++++++++++++ 4 files changed, 109 insertions(+) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index da0eb2638..d2b8ed1fb 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -538,4 +538,12 @@ public interface WlhyServiceFeign { @GetMapping("/feign/order/cancelIssueDocuments") public AjaxResult cancelIssueDocuments(@RequestParam(name="executeOrderId") String executeOrderId); + + @GetMapping(value = "/ntocc/tmsSettlementExchangeRate/queryList") + public AjaxResult queryList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + @RequestParam(name="pushStatus", required = false) String pushStatus, + @RequestParam(name="organizationId", required = false) String organizationId); + + } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java index 23fb98c50..be28da5dd 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java @@ -550,6 +550,11 @@ public class RemoteWlhyFallbackFactory implements FallbackFactory queryList(Integer pageNo, Integer pageSize, String pushStatus, String organizationId) { + return AjaxResult.error(cause.getMessage()); + } }; } } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java new file mode 100644 index 000000000..f9376ee76 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java @@ -0,0 +1,59 @@ +package com.mhd.oms.application.service.exchangeRate; + + +import com.mhd.common.core.web.domain.AjaxResult; +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.system.api.WlhyServiceFeign; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + + +@Service +@Slf4j +public class ExchangeRateApplicationService { + + @Resource + private WlhyServiceFeign wlhyServiceFeign; + + public TableDataInfo queryExchangeRateList(Integer pageNum, Integer pageSize, String pushStatus, String organizationId) { + try { + log.info("查询汇率列表: pageNum={}, pageSize={}, pushStatus={}, organizationId={}", + pageNum, pageSize, pushStatus, organizationId); + AjaxResult result = wlhyServiceFeign.queryList(pageNum, pageSize, pushStatus, organizationId); + log.info("查询汇率列表结果: code={}, result={}", result.get("code"), result.get("result")); + + if (result != null) { + Object wlhyResult = result.get("result"); + if (wlhyResult != null) { + Map map = (Map) wlhyResult; + Object records = map.get("records"); + Object total = map.get("total"); + List list = records instanceof List ? (List) records : new ArrayList<>(); + + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setData(list); + tableDataInfo.setTotal(total instanceof Number ? ((Number) total).longValue() : list.size()); + tableDataInfo.setCode(200); + return tableDataInfo; + } + } + } catch (Exception e) { + log.error("查询汇率列表异常: {}", e.getMessage()); + e.printStackTrace(); + } + return buildTableDataInfo(new ArrayList<>()); + } + + private TableDataInfo buildTableDataInfo(List list) { + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setData(list); + tableDataInfo.setTotal(list.size()); + tableDataInfo.setCode(200); + return tableDataInfo; + } +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java new file mode 100644 index 000000000..825287645 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java @@ -0,0 +1,37 @@ +package com.mhd.oms.interfaces.facade.exchangeRate; + + +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.oms.application.service.exchangeRate.ExchangeRateApplicationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import static com.mhd.common.core.utils.PageUtils.startPage; + + +@Api(tags = "汇率管理") +@RestController +@RequestMapping("exchangeRateApi") +public class ExchangeRateApi { + + @Resource + private ExchangeRateApplicationService exchangeRateApplicationService; + + @ApiOperation("查询汇率列表") + @GetMapping("/list") + public TableDataInfo list(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(value = "pushStatus", required = false) String pushStatus, + @RequestParam(value = "organizationId", required = false) String organizationId) { + startPage(); + return exchangeRateApplicationService.queryExchangeRateList(pageNum, pageSize, pushStatus, organizationId); + } + +} From 13112db89c5c44be24c427dc4280d00bc82bbddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Wed, 6 May 2026 17:48:56 +0800 Subject: [PATCH 027/418] =?UTF-8?q?BI=E5=A4=A7=E5=B1=8F=E5=8D=95=E8=A1=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-bi/sql/create_bi_comprehensive_dm.sql | 31 ++++++ .../create_bi_platform_surveillance_dm.sql | 35 +++++++ .../sql/create_bi_warehouse_transport_dm.sql | 31 ++++++ .../main/java/com/mhd/bi/BiApplication.java | 2 +- .../mapper/BiComprehensiveReportMapper.java | 23 +++++ .../service/BiComprehensiveReportService.java | 21 ++++ .../BiPlatformSurveillanceReportMapper.java | 20 ++++ .../BiPlatformSurveillanceReportService.java | 18 ++++ .../BiReportSnapshotMapperSupport.java | 99 +++++++++++++++++++ .../BiWarehouseTransportReportMapper.java | 20 ++++ .../BiWarehouseTransportReportService.java | 18 ++++ .../facadeApi/biReport/BiReportApi.java | 69 +++++++++++++ .../facadeApi/biReport/dto/BiApiResult.java | 24 +++++ .../biReport/vo/ComprehensiveSituationVO.java | 39 ++++++++ .../vo/CustomerContributionRankVO.java | 24 +++++ .../vo/WarehouseTransportSituationVO.java | 78 +++++++++++++++ .../AvgOperationDurationTrendItemVO.java | 25 +++++ .../vo/platform/EfficiencyStatisticsVO.java | 34 +++++++ .../vo/platform/MonthlyTaskStatisticsVO.java | 34 +++++++ .../vo/platform/PlatformAlarmDistItemVO.java | 22 +++++ .../platform/PlatformAlarmStatisticsVO.java | 25 +++++ .../vo/platform/PlatformAlarmTrendItemVO.java | 22 +++++ .../vo/platform/PlatformOverviewVO.java | 28 ++++++ .../vo/platform/PlatformSurveillanceVO.java | 51 ++++++++++ .../vo/platform/PlatformVehicleItemVO.java | 28 ++++++ .../biReport/vo/platform/TaskLoadItemVO.java | 22 +++++ .../vo/platform/TaskTypeCountItemVO.java | 22 +++++ .../vo/platform/TaskTypeStatisticsVO.java | 24 +++++ .../biReport/vo/platform/VehicleStatusVO.java | 28 ++++++ .../BiComprehensiveReportMapper.xml | 12 +++ .../BiPlatformSurveillanceReportMapper.xml | 12 +++ .../BiWarehouseTransportReportMapper.xml | 12 +++ .../mapper/StockOutOrderMapper.java | 7 +- 33 files changed, 958 insertions(+), 2 deletions(-) create mode 100644 mhd-bi/sql/create_bi_comprehensive_dm.sql create mode 100644 mhd-bi/sql/create_bi_platform_surveillance_dm.sql create mode 100644 mhd-bi/sql/create_bi_warehouse_transport_dm.sql create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biComprehensive/repository/mapper/BiComprehensiveReportMapper.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biComprehensive/service/BiComprehensiveReportService.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biPlatformSurveillance/repository/mapper/BiPlatformSurveillanceReportMapper.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biPlatformSurveillance/service/BiPlatformSurveillanceReportService.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseTransport/repository/mapper/BiWarehouseTransportReportMapper.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseTransport/service/BiWarehouseTransportReportService.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/ComprehensiveSituationVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/CustomerContributionRankVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/WarehouseTransportSituationVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/AvgOperationDurationTrendItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/EfficiencyStatisticsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/MonthlyTaskStatisticsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmDistItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmStatisticsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmTrendItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformOverviewVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformSurveillanceVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformVehicleItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskLoadItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskTypeCountItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskTypeStatisticsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/VehicleStatusVO.java create mode 100644 mhd-bi/src/main/resources/mapper/biComprehensive/BiComprehensiveReportMapper.xml create mode 100644 mhd-bi/src/main/resources/mapper/biPlatformSurveillance/BiPlatformSurveillanceReportMapper.xml create mode 100644 mhd-bi/src/main/resources/mapper/biWarehouseTransport/BiWarehouseTransportReportMapper.xml diff --git a/mhd-bi/sql/create_bi_comprehensive_dm.sql b/mhd-bi/sql/create_bi_comprehensive_dm.sql new file mode 100644 index 000000000..d6758b80d --- /dev/null +++ b/mhd-bi/sql/create_bi_comprehensive_dm.sql @@ -0,0 +1,31 @@ +-- ============================================================================= +-- 达梦 DM8:综合态势(单表,可重复执行) +-- 接口:GET /biReport/comprehensive +-- 执行顺序:删除历史多表/旧快照 → 建 BI_COMPREHENSIVE_SNAPSHOT → 示例 INSERT +-- PAYLOAD_JSON 与 ComprehensiveSituationVO 字段名一致;应用取 UPDATE_TIME 最新一条。 +-- ============================================================================= + +-- 子表优先 +DROP TABLE IF EXISTS BI_COMPREHENSIVE_INCOME_TREND; +DROP TABLE IF EXISTS BI_COMPREHENSIVE_METRIC; +DROP TABLE IF EXISTS BI_COMPREHENSIVE_SNAPSHOT; + +CREATE TABLE BI_COMPREHENSIVE_SNAPSHOT ( + ID BIGINT IDENTITY(1,1) NOT NULL, + PAYLOAD_JSON CLOB NOT NULL, + CREATE_TIME DATETIME DEFAULT NULL, + UPDATE_TIME DATETIME DEFAULT NULL, + REMARK VARCHAR(500) DEFAULT NULL, + PRIMARY KEY (ID) +); +CREATE INDEX IDX_BI_COMP_SNAP_UPD ON BI_COMPREHENSIVE_SNAPSHOT(UPDATE_TIME); +COMMENT ON TABLE BI_COMPREHENSIVE_SNAPSHOT IS '综合态势-整包 JSON 快照'; + +INSERT INTO BI_COMPREHENSIVE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME) +VALUES ( +'{"valueAddedServiceIncome":5330000,"inventoryTurnover":25,"orderCount":42300,"vehicleUtilizationRate":97.4,"fuelConsumptionPerHundredKm":15,"incomeTrend":[280,210,260,310,470,390]}', + SYSDATE, + SYSDATE +); + +COMMIT; diff --git a/mhd-bi/sql/create_bi_platform_surveillance_dm.sql b/mhd-bi/sql/create_bi_platform_surveillance_dm.sql new file mode 100644 index 000000000..9b91607c7 --- /dev/null +++ b/mhd-bi/sql/create_bi_platform_surveillance_dm.sql @@ -0,0 +1,35 @@ +-- ============================================================================= +-- 达梦 DM8:月台监测(单表,可重复执行) +-- 接口:GET /biReport/platformSurveillance +-- 执行顺序:删除历史多表/旧快照 → 建 BI_PLATFORM_SURVEILLANCE_SNAPSHOT → 示例 INSERT +-- PAYLOAD_JSON 与 PlatformSurveillanceVO 一致;应用 ORDER BY UPDATE_TIME DESC LIMIT 1。 +-- ============================================================================= + +DROP TABLE IF EXISTS BI_PS_ALARM_DIST; +DROP TABLE IF EXISTS BI_PS_TASK_TYPE; +DROP TABLE IF EXISTS BI_PS_ALARM_TREND; +DROP TABLE IF EXISTS BI_PS_TASK_LOAD; +DROP TABLE IF EXISTS BI_PS_AVG_DURATION_TREND; +DROP TABLE IF EXISTS BI_PS_VEHICLE; +DROP TABLE IF EXISTS BI_PLATFORM_SURVEILLANCE_METRIC; +DROP TABLE IF EXISTS BI_PLATFORM_SURVEILLANCE_SNAPSHOT; + +CREATE TABLE BI_PLATFORM_SURVEILLANCE_SNAPSHOT ( + ID BIGINT IDENTITY(1,1) NOT NULL, + PAYLOAD_JSON CLOB NOT NULL, + CREATE_TIME DATETIME DEFAULT NULL, + UPDATE_TIME DATETIME DEFAULT NULL, + REMARK VARCHAR(500) DEFAULT NULL, + PRIMARY KEY (ID) +); +CREATE INDEX IDX_BI_PS_SNAP_UPD ON BI_PLATFORM_SURVEILLANCE_SNAPSHOT(UPDATE_TIME); +COMMENT ON TABLE BI_PLATFORM_SURVEILLANCE_SNAPSHOT IS '月台监测-整包 JSON 快照'; + +INSERT INTO BI_PLATFORM_SURVEILLANCE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME) +VALUES ( +'{"vehicles":[{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"已离园","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265}],"efficiencyStatistics":{"entryOvertimeRate":60,"overtimeCount":45,"platformOnTimeRate":92,"avgPlatformDuration":4.5,"yardOnTimeRate":88,"avgYardDuration":4.5},"platformOverview":{"totalPlatforms":43,"currentOccupancyRate":50,"operatingPlatforms":23,"todayTasks":324},"vehicleStatus":{"todayReservedVehicles":3000,"notCheckedIn":1500,"operatingVehicles":1000,"completedVehicles":1000},"avgOperationDurationTrend":[{"month":"11月","yardDuration":10,"platformDuration":23},{"month":"12月","yardDuration":14,"platformDuration":15},{"month":"1月","yardDuration":23.5,"platformDuration":20},{"month":"2月","yardDuration":22,"platformDuration":17},{"month":"3月","yardDuration":13,"platformDuration":14},{"month":"4月","yardDuration":17,"platformDuration":10}],"monthlyTaskStatistics":{"taskTotal":1455,"taskTotalYoY":5,"avgTaskDuration":4.5,"avgDurationYoY":-5,"taskCompletionRate":95,"completionRateYoY":5},"taskLoadStatistics":[{"time":"15时","taskCount":100},{"time":"16时","taskCount":110},{"time":"17时","taskCount":115},{"time":"18时","taskCount":80},{"time":"19时","taskCount":60},{"time":"20时","taskCount":40},{"time":"21时","taskCount":40},{"time":"22时","taskCount":40},{"time":"23时","taskCount":30},{"time":"0时","taskCount":10},{"time":"1时","taskCount":10},{"time":"2时","taskCount":10},{"time":"3时","taskCount":10},{"time":"4时","taskCount":10},{"time":"5时","taskCount":10},{"time":"6时","taskCount":20},{"time":"7时","taskCount":30},{"time":"8时","taskCount":70},{"time":"9时","taskCount":95},{"time":"10时","taskCount":110},{"time":"11时","taskCount":120},{"time":"12时","taskCount":130},{"time":"13时","taskCount":130}],"platformAlarmTrend":[{"date":"11日","alarmCount":10},{"date":"12日","alarmCount":14},{"date":"13日","alarmCount":23},{"date":"14日","alarmCount":22},{"date":"15日","alarmCount":13},{"date":"16日","alarmCount":17},{"date":"17日","alarmCount":8}],"taskTypeStatistics":{"totalTasks":4325,"taskTypes":[{"type":"类型1","count":2400},{"type":"类型2","count":2300},{"type":"类型3","count":2300},{"type":"类型4","count":2300}]},"platformAlarmStatistics":{"todayAlarmTotal":13,"handled":12,"unhandled":1},"platformAlarmDistribution":[{"type":"类型1","count":300},{"type":"类型2","count":245},{"type":"类型3","count":280},{"type":"类型4","count":340},{"type":"类型5","count":455},{"type":"类型6","count":400},{"type":"类型7","count":300}]}', + SYSDATE, + SYSDATE +); + +COMMIT; diff --git a/mhd-bi/sql/create_bi_warehouse_transport_dm.sql b/mhd-bi/sql/create_bi_warehouse_transport_dm.sql new file mode 100644 index 000000000..9bf319dd8 --- /dev/null +++ b/mhd-bi/sql/create_bi_warehouse_transport_dm.sql @@ -0,0 +1,31 @@ +-- ============================================================================= +-- 达梦 DM8:仓储运输(单表,可重复执行) +-- 接口:GET /biReport/warehouseTransport +-- 执行顺序:删除历史多表/旧快照 → 建 BI_WAREHOUSE_TRANSPORT_SNAPSHOT → 示例 INSERT +-- PAYLOAD_JSON 与 WarehouseTransportSituationVO 字段名一致;应用取 UPDATE_TIME 最新一条。 +-- ============================================================================= + +DROP TABLE IF EXISTS BI_WTS_CUSTOMER_RANK; +DROP TABLE IF EXISTS BI_WTS_TIME_SERIES; +DROP TABLE IF EXISTS BI_WAREHOUSE_TRANSPORT_METRIC; +DROP TABLE IF EXISTS BI_WAREHOUSE_TRANSPORT_SNAPSHOT; + +CREATE TABLE BI_WAREHOUSE_TRANSPORT_SNAPSHOT ( + ID BIGINT IDENTITY(1,1) NOT NULL, + PAYLOAD_JSON CLOB NOT NULL, + CREATE_TIME DATETIME DEFAULT NULL, + UPDATE_TIME DATETIME DEFAULT NULL, + REMARK VARCHAR(500) DEFAULT NULL, + PRIMARY KEY (ID) +); +CREATE INDEX IDX_BI_WTS_SNAP_UPD ON BI_WAREHOUSE_TRANSPORT_SNAPSHOT(UPDATE_TIME); +COMMENT ON TABLE BI_WAREHOUSE_TRANSPORT_SNAPSHOT IS '仓储运输-整包 JSON 快照'; + +INSERT INTO BI_WAREHOUSE_TRANSPORT_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME) +VALUES ( +'{"warehouseDistributionOnTimeRate":99.2,"currentYearOrders":525440,"currentQuarterOrders":225120,"currentMonthOrders":23560,"warehouseOrderTrend":[100,93,85,70,98,88],"throughput":[10,14,23,10,13,19],"currentMonthTurnoverRate":3,"currentYearTurnoverRate":4,"inventoryTurnoverTrend":[10,14,23,22,13,17],"totalTransportIncome":5850,"orderCount":856,"transportTrips":533,"annualTransportVolume":15,"transportOrderTotal":4325,"crossBorderTransportOrder":2400,"domesticTransportOrder":2300,"transportTripsTrend":[100,140,230,100,130,192],"vehicleUtilizationRate":[600,460,350,470,450,620],"warehouseDockSyncRate":[100,98,87,78,97,86],"customerContributionRank":{"customerName":["客户A","客户B","客户C","客户D","客户E"],"customerAmount":[147,150,170,160,180]}}', + SYSDATE, + SYSDATE +); + +COMMIT; diff --git a/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java b/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java index dc87a6747..5a9ec7a44 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java +++ b/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java @@ -12,7 +12,7 @@ import org.springframework.scheduling.annotation.EnableAsync; @SpringBootApplication(scanBasePackages = {"com.mhd", "com.mhd.bi"}) @EnableDiscoveryClient -@EnableFeignClients(basePackages = {"com.mhd","com.mhd.bi.infrastructure.feign"}) +@EnableFeignClients(basePackages = {"com.mhd"}) @MapperScan("com.mhd.bi.domain.**.mapper") @Import({SetFeildValueAspect.class, CommonService.class}) @EnableAsync diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biComprehensive/repository/mapper/BiComprehensiveReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biComprehensive/repository/mapper/BiComprehensiveReportMapper.java new file mode 100644 index 000000000..ec02f70ac --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biComprehensive/repository/mapper/BiComprehensiveReportMapper.java @@ -0,0 +1,23 @@ +package com.mhd.bi.domain.biComprehensive.repository.mapper; + +import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; + +/** + * 综合态势:SQL 见 BiComprehensiveReportMapper.xml;取数与组装均在 Mapper 层完成。 + */ +public interface BiComprehensiveReportMapper { + + String selectLatestPayloadJson(); + + /** + * 最新快照 → VO(内部调用 {@link #selectLatestPayloadJson()}) + */ + default ComprehensiveSituationVO loadLatestComprehensive() { + return BiReportSnapshotMapperSupport.parsePayload( + selectLatestPayloadJson(), + ComprehensiveSituationVO.class, + BiReportSnapshotMapperSupport::emptyComprehensiveSituation, + "综合态势"); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biComprehensive/service/BiComprehensiveReportService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biComprehensive/service/BiComprehensiveReportService.java new file mode 100644 index 000000000..2698baa54 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biComprehensive/service/BiComprehensiveReportService.java @@ -0,0 +1,21 @@ +package com.mhd.bi.domain.biComprehensive.service; + +import com.mhd.bi.domain.biComprehensive.repository.mapper.BiComprehensiveReportMapper; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 综合态势:数据访问仅经 Mapper(含 XML 内 SQL 与 Mapper 默认方法组装)。 + */ +@Service +public class BiComprehensiveReportService { + + @Resource + private BiComprehensiveReportMapper biComprehensiveReportMapper; + + public ComprehensiveSituationVO loadLatestComprehensive() { + return biComprehensiveReportMapper.loadLatestComprehensive(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biPlatformSurveillance/repository/mapper/BiPlatformSurveillanceReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biPlatformSurveillance/repository/mapper/BiPlatformSurveillanceReportMapper.java new file mode 100644 index 000000000..70be42e06 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biPlatformSurveillance/repository/mapper/BiPlatformSurveillanceReportMapper.java @@ -0,0 +1,20 @@ +package com.mhd.bi.domain.biPlatformSurveillance.repository.mapper; + +import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; + +/** + * 月台监测:SQL 见 BiPlatformSurveillanceReportMapper.xml;取数与组装均在 Mapper 层完成。 + */ +public interface BiPlatformSurveillanceReportMapper { + + String selectLatestPayloadJson(); + + default PlatformSurveillanceVO loadLatestPlatformSurveillance() { + return BiReportSnapshotMapperSupport.parsePayload( + selectLatestPayloadJson(), + PlatformSurveillanceVO.class, + BiReportSnapshotMapperSupport::emptyPlatformSurveillance, + "月台监测"); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biPlatformSurveillance/service/BiPlatformSurveillanceReportService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biPlatformSurveillance/service/BiPlatformSurveillanceReportService.java new file mode 100644 index 000000000..2bce3b165 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biPlatformSurveillance/service/BiPlatformSurveillanceReportService.java @@ -0,0 +1,18 @@ +package com.mhd.bi.domain.biPlatformSurveillance.service; + +import com.mhd.bi.domain.biPlatformSurveillance.repository.mapper.BiPlatformSurveillanceReportMapper; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class BiPlatformSurveillanceReportService { + + @Resource + private BiPlatformSurveillanceReportMapper biPlatformSurveillanceReportMapper; + + public PlatformSurveillanceVO loadLatestPlatformSurveillance() { + return biPlatformSurveillanceReportMapper.loadLatestPlatformSurveillance(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java new file mode 100644 index 000000000..a3f6f7979 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java @@ -0,0 +1,99 @@ +package com.mhd.bi.domain.biReport.support; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.util.Collections; +import java.util.function.Supplier; + +/** + * Mapper 层使用的快照 JSON 解析与空态(SQL 仅定义在对应 Mapper.xml) + */ +@Slf4j +public final class BiReportSnapshotMapperSupport { + + private static final ObjectMapper MAPPER = new ObjectMapper(); + + private BiReportSnapshotMapperSupport() { + } + + public static T parsePayload(String json, Class type, Supplier empty, String logLabel) { + if (StringUtils.isBlank(json)) { + return empty.get(); + } + try { + return MAPPER.readValue(json.trim(), type); + } catch (Exception e) { + log.warn("{} PAYLOAD_JSON 解析失败,返回空态", logLabel, e); + return empty.get(); + } + } + + public static ComprehensiveSituationVO emptyComprehensiveSituation() { + return ComprehensiveSituationVO.builder() + .valueAddedServiceIncome(0L) + .inventoryTurnover(0) + .orderCount(0) + .vehicleUtilizationRate(0d) + .fuelConsumptionPerHundredKm(0) + .incomeTrend(Collections.emptyList()) + .build(); + } + + public static WarehouseTransportSituationVO emptyWarehouseTransportSituation() { + return WarehouseTransportSituationVO.builder() + .warehouseDistributionOnTimeRate(0d) + .currentYearOrders(0L) + .currentQuarterOrders(0) + .currentMonthOrders(0) + .warehouseOrderTrend(Collections.emptyList()) + .throughput(Collections.emptyList()) + .currentMonthTurnoverRate(0) + .currentYearTurnoverRate(0) + .inventoryTurnoverTrend(Collections.emptyList()) + .totalTransportIncome(0) + .orderCount(0) + .transportTrips(0) + .annualTransportVolume(0) + .transportOrderTotal(0) + .crossBorderTransportOrder(0) + .domesticTransportOrder(0) + .transportTripsTrend(Collections.emptyList()) + .vehicleUtilizationRate(Collections.emptyList()) + .warehouseDockSyncRate(Collections.emptyList()) + .customerContributionRank(CustomerContributionRankVO.builder() + .customerName(Collections.emptyList()) + .customerAmount(Collections.emptyList()) + .build()) + .build(); + } + + public static PlatformSurveillanceVO emptyPlatformSurveillance() { + return PlatformSurveillanceVO.builder() + .vehicles(Collections.emptyList()) + .efficiencyStatistics(EfficiencyStatisticsVO.builder() + .entryOvertimeRate(0).overtimeCount(0).platformOnTimeRate(0) + .avgPlatformDuration(0d).yardOnTimeRate(0).avgYardDuration(0d).build()) + .platformOverview(PlatformOverviewVO.builder() + .totalPlatforms(0).currentOccupancyRate(0).operatingPlatforms(0).todayTasks(0).build()) + .vehicleStatus(VehicleStatusVO.builder() + .todayReservedVehicles(0).notCheckedIn(0).operatingVehicles(0).completedVehicles(0).build()) + .avgOperationDurationTrend(Collections.emptyList()) + .monthlyTaskStatistics(MonthlyTaskStatisticsVO.builder() + .taskTotal(0).taskTotalYoY(0).avgTaskDuration(0d).avgDurationYoY(0) + .taskCompletionRate(0).completionRateYoY(0).build()) + .taskLoadStatistics(Collections.emptyList()) + .platformAlarmTrend(Collections.emptyList()) + .taskTypeStatistics(TaskTypeStatisticsVO.builder() + .totalTasks(0).taskTypes(Collections.emptyList()).build()) + .platformAlarmStatistics(PlatformAlarmStatisticsVO.builder() + .todayAlarmTotal(0).handled(0).unhandled(0).build()) + .platformAlarmDistribution(Collections.emptyList()) + .build(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseTransport/repository/mapper/BiWarehouseTransportReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseTransport/repository/mapper/BiWarehouseTransportReportMapper.java new file mode 100644 index 000000000..10fbe554e --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseTransport/repository/mapper/BiWarehouseTransportReportMapper.java @@ -0,0 +1,20 @@ +package com.mhd.bi.domain.biWarehouseTransport.repository.mapper; + +import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; + +/** + * 仓储运输:SQL 见 BiWarehouseTransportReportMapper.xml;取数与组装均在 Mapper 层完成。 + */ +public interface BiWarehouseTransportReportMapper { + + String selectLatestPayloadJson(); + + default WarehouseTransportSituationVO loadLatestWarehouseTransport() { + return BiReportSnapshotMapperSupport.parsePayload( + selectLatestPayloadJson(), + WarehouseTransportSituationVO.class, + BiReportSnapshotMapperSupport::emptyWarehouseTransportSituation, + "仓储运输"); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseTransport/service/BiWarehouseTransportReportService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseTransport/service/BiWarehouseTransportReportService.java new file mode 100644 index 000000000..58ae0c060 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseTransport/service/BiWarehouseTransportReportService.java @@ -0,0 +1,18 @@ +package com.mhd.bi.domain.biWarehouseTransport.service; + +import com.mhd.bi.domain.biWarehouseTransport.repository.mapper.BiWarehouseTransportReportMapper; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class BiWarehouseTransportReportService { + + @Resource + private BiWarehouseTransportReportMapper biWarehouseTransportReportMapper; + + public WarehouseTransportSituationVO loadLatestWarehouseTransport() { + return biWarehouseTransportReportMapper.loadLatestWarehouseTransport(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java new file mode 100644 index 000000000..b5a17897e --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java @@ -0,0 +1,69 @@ +package com.mhd.bi.interfaces.facadeApi.biReport; + +import com.mhd.bi.domain.biComprehensive.service.BiComprehensiveReportService; +import com.mhd.bi.domain.biPlatformSurveillance.service.BiPlatformSurveillanceReportService; +import com.mhd.bi.domain.biWarehouseTransport.service.BiWarehouseTransportReportService; +import com.mhd.bi.interfaces.facadeApi.biReport.dto.BiApiResult; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; +import com.mhd.common.core.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * BI 报表接口 + */ +@Api(tags = "BI报表") +@Slf4j +@RestController +@RequestMapping("/biReport") +@CrossOrigin +public class BiReportApi extends BaseController { + + @Autowired + private BiComprehensiveReportService biComprehensiveReportService; + + @Autowired + private BiWarehouseTransportReportService biWarehouseTransportReportService; + + @Autowired + private BiPlatformSurveillanceReportService biPlatformSurveillanceReportService; + + + /** + * 综合态势指标查询 + */ + @ApiOperation("综合态势指标查询") + @GetMapping("/comprehensive") + public BiApiResult comprehensive() { + ComprehensiveSituationVO data = biComprehensiveReportService.loadLatestComprehensive(); + return BiApiResult.ok(data); + } + + /** + * 仓储运输指标查询 + */ + @ApiOperation("仓储运输指标查询") + @GetMapping("/warehouseTransport") + public BiApiResult warehouseTransport() { + WarehouseTransportSituationVO data = biWarehouseTransportReportService.loadLatestWarehouseTransport(); + return BiApiResult.ok(data); + } + + /** + * 月台监测指标查询 + */ + @ApiOperation("月台监测指标查询") + @GetMapping("/platformSurveillance") + public BiApiResult platformSurveillance() { + PlatformSurveillanceVO data = biPlatformSurveillanceReportService.loadLatestPlatformSurveillance(); + return BiApiResult.ok(data); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java new file mode 100644 index 000000000..e0a9c3306 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java @@ -0,0 +1,24 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * BI 接口统一响应(与前端约定:message 字段) + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class BiApiResult { + + private int code = 200; + + private String message = "success"; + + private T data; + + public static BiApiResult ok(T data) { + return new BiApiResult<>(200, "success", data); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/ComprehensiveSituationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/ComprehensiveSituationVO.java new file mode 100644 index 000000000..8a8864352 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/ComprehensiveSituationVO.java @@ -0,0 +1,39 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 综合态势指标 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("综合态势指标") +public class ComprehensiveSituationVO { + + @ApiModelProperty("增值服务收入,单位:元人民币") + private Long valueAddedServiceIncome; + + @ApiModelProperty("库存周转率,单位:次") + private Integer inventoryTurnover; + + @ApiModelProperty("运输订单量,单位:单") + private Integer orderCount; + + @ApiModelProperty("车辆利用率,单位:%") + private Double vehicleUtilizationRate; + + @ApiModelProperty("百公里油耗,单位:升") + private Integer fuelConsumptionPerHundredKm; + + @ApiModelProperty("运输收入趋势,单位:万元(近半年,按月正序)") + private List incomeTrend; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/CustomerContributionRankVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/CustomerContributionRankVO.java new file mode 100644 index 000000000..f61e98183 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/CustomerContributionRankVO.java @@ -0,0 +1,24 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("客户贡献排名(前5)") +public class CustomerContributionRankVO { + + @ApiModelProperty("客户名称") + private List customerName; + + @ApiModelProperty("客户金额,单位:万元") + private List customerAmount; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/WarehouseTransportSituationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/WarehouseTransportSituationVO.java new file mode 100644 index 000000000..01a6e8711 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/WarehouseTransportSituationVO.java @@ -0,0 +1,78 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("仓储运输指标") +public class WarehouseTransportSituationVO { + + @ApiModelProperty("仓配衔接准时率,单位:%") + private Double warehouseDistributionOnTimeRate; + + @ApiModelProperty("本年度订单,单位:单") + private Long currentYearOrders; + + @ApiModelProperty("本季度订单,单位:单") + private Integer currentQuarterOrders; + + @ApiModelProperty("本月度订单,单位:单") + private Integer currentMonthOrders; + + @ApiModelProperty("仓库订单趋势,单位:单(近半年,按月正序)") + private List warehouseOrderTrend; + + @ApiModelProperty("吞吐量统计,单位:吨(近半年,按月正序)") + private List throughput; + + @ApiModelProperty("本月周转率,单位:次") + private Integer currentMonthTurnoverRate; + + @ApiModelProperty("本年周转率,单位:次") + private Integer currentYearTurnoverRate; + + @ApiModelProperty("库存周转率趋势,单位:次(近半年,按月正序)") + private List inventoryTurnoverTrend; + + @ApiModelProperty("总收入,单位:万元") + private Integer totalTransportIncome; + + @ApiModelProperty("订单数量,单位:单") + private Integer orderCount; + + @ApiModelProperty("运输车次,单位:次") + private Integer transportTrips; + + @ApiModelProperty("运输货量,单位:万吨") + private Integer annualTransportVolume; + + @ApiModelProperty("运输订单总数,单位:单") + private Integer transportOrderTotal; + + @ApiModelProperty("跨境订单,单位:单") + private Integer crossBorderTransportOrder; + + @ApiModelProperty("国内订单,单位:单") + private Integer domesticTransportOrder; + + @ApiModelProperty("运输车次趋势(近半年,按月正序)") + private List transportTripsTrend; + + @ApiModelProperty("出车利用率,单位:车次(近半年,按月正序)") + private List vehicleUtilizationRate; + + @ApiModelProperty("仓配衔接准时率(近半年,按月正序),单位:%") + private List warehouseDockSyncRate; + + @ApiModelProperty("客户贡献排名") + private CustomerContributionRankVO customerContributionRank; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/AvgOperationDurationTrendItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/AvgOperationDurationTrendItemVO.java new file mode 100644 index 000000000..ce04873c1 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/AvgOperationDurationTrendItemVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-平均作业时长趋势项") +public class AvgOperationDurationTrendItemVO { + + @ApiModelProperty("月份") + private String month; + + @ApiModelProperty("园区作业时长") + private Double yardDuration; + + @ApiModelProperty("月台作业时长") + private Double platformDuration; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/EfficiencyStatisticsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/EfficiencyStatisticsVO.java new file mode 100644 index 000000000..2b90b45a8 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/EfficiencyStatisticsVO.java @@ -0,0 +1,34 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-效率统计(本日)") +public class EfficiencyStatisticsVO { + + @ApiModelProperty("入园超时率,单位:%") + private Integer entryOvertimeRate; + + @ApiModelProperty("超时数量,单位:个") + private Integer overtimeCount; + + @ApiModelProperty("月台作业准时率,单位:%") + private Integer platformOnTimeRate; + + @ApiModelProperty("月台作业平均时长,单位:小时") + private Double avgPlatformDuration; + + @ApiModelProperty("园区作业准时率,单位:%") + private Integer yardOnTimeRate; + + @ApiModelProperty("园区作业平均时长,单位:小时") + private Double avgYardDuration; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/MonthlyTaskStatisticsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/MonthlyTaskStatisticsVO.java new file mode 100644 index 000000000..b3422daae --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/MonthlyTaskStatisticsVO.java @@ -0,0 +1,34 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-本月任务统计") +public class MonthlyTaskStatisticsVO { + + @ApiModelProperty("任务量,单位:个") + private Integer taskTotal; + + @ApiModelProperty("任务量同比,单位:%") + private Integer taskTotalYoY; + + @ApiModelProperty("任务平均作业时长,单位:小时") + private Double avgTaskDuration; + + @ApiModelProperty("任务平均作业时长同比,单位:%") + private Integer avgDurationYoY; + + @ApiModelProperty("任务完成率,单位:%") + private Integer taskCompletionRate; + + @ApiModelProperty("任务完成率同比,单位:%") + private Integer completionRateYoY; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmDistItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmDistItemVO.java new file mode 100644 index 000000000..5d261d257 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmDistItemVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-告警分布项") +public class PlatformAlarmDistItemVO { + + @ApiModelProperty("告警类型") + private String type; + + @ApiModelProperty("告警数量") + private Integer count; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmStatisticsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmStatisticsVO.java new file mode 100644 index 000000000..26d84446b --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmStatisticsVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-月台告警统计(本日)") +public class PlatformAlarmStatisticsVO { + + @ApiModelProperty("今日告警总数,单位:个") + private Integer todayAlarmTotal; + + @ApiModelProperty("今日已处理告警数,单位:个") + private Integer handled; + + @ApiModelProperty("今日未处理告警数,单位:个") + private Integer unhandled; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmTrendItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmTrendItemVO.java new file mode 100644 index 000000000..676b1ae0a --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformAlarmTrendItemVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-告警趋势项") +public class PlatformAlarmTrendItemVO { + + @ApiModelProperty("日期") + private String date; + + @ApiModelProperty("告警数量") + private Integer alarmCount; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformOverviewVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformOverviewVO.java new file mode 100644 index 000000000..a34587b34 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformOverviewVO.java @@ -0,0 +1,28 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-月台实时概览") +public class PlatformOverviewVO { + + @ApiModelProperty("月台数量,单位:个") + private Integer totalPlatforms; + + @ApiModelProperty("当前占用率,单位:%") + private Integer currentOccupancyRate; + + @ApiModelProperty("当前作业中,单位:个") + private Integer operatingPlatforms; + + @ApiModelProperty("今日作业任务,单位:个") + private Integer todayTasks; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformSurveillanceVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformSurveillanceVO.java new file mode 100644 index 000000000..0efd4039f --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformSurveillanceVO.java @@ -0,0 +1,51 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测指标") +public class PlatformSurveillanceVO { + + @ApiModelProperty("作业车辆状态列表") + private List vehicles; + + @ApiModelProperty("效率统计(本日)") + private EfficiencyStatisticsVO efficiencyStatistics; + + @ApiModelProperty("月台实时概览") + private PlatformOverviewVO platformOverview; + + @ApiModelProperty("作业车辆状态汇总") + private VehicleStatusVO vehicleStatus; + + @ApiModelProperty("平均作业时长趋势") + private List avgOperationDurationTrend; + + @ApiModelProperty("本月任务统计") + private MonthlyTaskStatisticsVO monthlyTaskStatistics; + + @ApiModelProperty("任务负荷统计(时段)") + private List taskLoadStatistics; + + @ApiModelProperty("月台告警趋势") + private List platformAlarmTrend; + + @ApiModelProperty("任务类型统计") + private TaskTypeStatisticsVO taskTypeStatistics; + + @ApiModelProperty("月台告警统计(本日)") + private PlatformAlarmStatisticsVO platformAlarmStatistics; + + @ApiModelProperty("月台告警分布") + private List platformAlarmDistribution; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformVehicleItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformVehicleItemVO.java new file mode 100644 index 000000000..8ec4ebc49 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/PlatformVehicleItemVO.java @@ -0,0 +1,28 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-作业车辆") +public class PlatformVehicleItemVO { + + @ApiModelProperty("车牌号码") + private String plateNumber; + + @ApiModelProperty("状态") + private String status; + + @ApiModelProperty("作业月台") + private String platformId; + + @ApiModelProperty("月台作业时长,单位:分钟") + private Integer platformDuration; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskLoadItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskLoadItemVO.java new file mode 100644 index 000000000..b56db8973 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskLoadItemVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-任务负荷时段项") +public class TaskLoadItemVO { + + @ApiModelProperty("时段") + private String time; + + @ApiModelProperty("任务数量") + private Integer taskCount; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskTypeCountItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskTypeCountItemVO.java new file mode 100644 index 000000000..6c1b5c029 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskTypeCountItemVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-任务类型项") +public class TaskTypeCountItemVO { + + @ApiModelProperty("任务类型") + private String type; + + @ApiModelProperty("任务数量") + private Integer count; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskTypeStatisticsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskTypeStatisticsVO.java new file mode 100644 index 000000000..22558e0e1 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/TaskTypeStatisticsVO.java @@ -0,0 +1,24 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-任务类型统计") +public class TaskTypeStatisticsVO { + + @ApiModelProperty("本月任务总量,单位:个") + private Integer totalTasks; + + @ApiModelProperty("各类型任务") + private List taskTypes; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/VehicleStatusVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/VehicleStatusVO.java new file mode 100644 index 000000000..f71aefe19 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/platform/VehicleStatusVO.java @@ -0,0 +1,28 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("月台监测-作业车辆状态汇总") +public class VehicleStatusVO { + + @ApiModelProperty("今日预约车辆,单位:辆") + private Integer todayReservedVehicles; + + @ApiModelProperty("当前未签到,单位:辆") + private Integer notCheckedIn; + + @ApiModelProperty("当前作业中,单位:辆") + private Integer operatingVehicles; + + @ApiModelProperty("作业完成,单位:辆") + private Integer completedVehicles; +} diff --git a/mhd-bi/src/main/resources/mapper/biComprehensive/BiComprehensiveReportMapper.xml b/mhd-bi/src/main/resources/mapper/biComprehensive/BiComprehensiveReportMapper.xml new file mode 100644 index 000000000..b71fd5735 --- /dev/null +++ b/mhd-bi/src/main/resources/mapper/biComprehensive/BiComprehensiveReportMapper.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/mhd-bi/src/main/resources/mapper/biPlatformSurveillance/BiPlatformSurveillanceReportMapper.xml b/mhd-bi/src/main/resources/mapper/biPlatformSurveillance/BiPlatformSurveillanceReportMapper.xml new file mode 100644 index 000000000..c29740c99 --- /dev/null +++ b/mhd-bi/src/main/resources/mapper/biPlatformSurveillance/BiPlatformSurveillanceReportMapper.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/mhd-bi/src/main/resources/mapper/biWarehouseTransport/BiWarehouseTransportReportMapper.xml b/mhd-bi/src/main/resources/mapper/biWarehouseTransport/BiWarehouseTransportReportMapper.xml new file mode 100644 index 000000000..0692697bc --- /dev/null +++ b/mhd-bi/src/main/resources/mapper/biWarehouseTransport/BiWarehouseTransportReportMapper.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java index 2b0dda4ea..e67a73048 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java @@ -8,6 +8,8 @@ import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO; import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO; import com.mhd.wms.interfaces.dto.stockOutOrder.StockOutOrderDTO; +import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -26,7 +28,10 @@ public interface StockOutOrderMapper extends BaseMapper { List queryOutStockNoticePrintDetail(StockOutOrderDTO stockOutOrderDTO); - List queryCopyCodeWeightListByBatch(String batchNumber, Long materialBaseInfoId, Long warehouseId, String boxPalletNo); + List queryCopyCodeWeightListByBatch(@Param("batchNumber") String batchNumber, + @Param("materialBaseInfoId") Long materialBaseInfoId, + @Param("warehouseId") Long warehouseId, + @Param("boxPalletNo") String boxPalletNo); List queryOutStockNoticePrintDetailGF(StockOutOrderDTO stockOutOrderDTO); } From 223da56807e22003190de9dee9be94d4d9e32ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 6 May 2026 17:56:07 +0800 Subject: [PATCH 028/418] =?UTF-8?q?=E4=BB=93=E5=82=A8=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../facade/IReserveStockInOrderService.java | 3 + .../mapper/ReserveStockInOrderMapper.java | 3 + .../persistence/ReserveStockInOrderImpl.java | 7 + .../repository/vo/InAndOutListVo.java | 153 ++++++++++++++++++ ...ReserveStockInOrderApplicationService.java | 76 +++++++++ .../ReserveStockInOrderDomainService.java | 5 + .../ReserveStockInOrderApi.java | 12 ++ .../ReserveStockInOrderMapper.xml | 103 ++++++++++++ 8 files changed, 362 insertions(+) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/vo/InAndOutListVo.java diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/facade/IReserveStockInOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/facade/IReserveStockInOrderService.java index af84f50e2..6ae8b9381 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/facade/IReserveStockInOrderService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/facade/IReserveStockInOrderService.java @@ -6,6 +6,7 @@ import com.mhd.oms.domain.reserveInMaterialDetail.repository.po.ReserveInMateria import com.mhd.oms.domain.reserveStockInOrder.entity.ReserveStockInOrder; import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO; import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO; +import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo; import java.util.List; @@ -22,6 +23,8 @@ public interface IReserveStockInOrderService extends IService queryList(ReserveStockInOrderDO stockInOrderDO); + public List inAndOutList(ReserveStockInOrderDO stockInOrderDO); + /** * 新增入库单 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/mapper/ReserveStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/mapper/ReserveStockInOrderMapper.java index 51b2d2b23..2799b5114 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/mapper/ReserveStockInOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/mapper/ReserveStockInOrderMapper.java @@ -9,6 +9,7 @@ import com.mhd.oms.domain.reserveInMaterialDetail.repository.po.ReserveInMateria import com.mhd.oms.domain.reserveStockInOrder.entity.ReserveStockInOrder; import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO; import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO; +import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -26,6 +27,8 @@ public interface ReserveStockInOrderMapper extends BaseMapper queryList(ReserveStockInOrderDO stockInOrderDO); + public List inAndOutList(ReserveStockInOrderDO stockInOrderDO); + public MaterialBaseInfoPO getinfo(@Param("id") Long id); public List getMaterialBaseInfoList(@Param("id") String id); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/persistence/ReserveStockInOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/persistence/ReserveStockInOrderImpl.java index babd8dc86..fe4caddad 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/persistence/ReserveStockInOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/persistence/ReserveStockInOrderImpl.java @@ -8,6 +8,7 @@ import com.mhd.oms.domain.reserveStockInOrder.repository.facade.IReserveStockInO import com.mhd.oms.domain.reserveStockInOrder.repository.mapper.ReserveStockInOrderMapper; import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO; import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO; +import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,6 +37,12 @@ public class ReserveStockInOrderImpl extends ServiceImpl inAndOutList(ReserveStockInOrderDO stockInOrderDO) + { + return stockInOrderMapper.inAndOutList(stockInOrderDO); + } + /** * 新增入库单 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/vo/InAndOutListVo.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/vo/InAndOutListVo.java new file mode 100644 index 000000000..89473df7c --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/vo/InAndOutListVo.java @@ -0,0 +1,153 @@ +package com.mhd.oms.domain.reserveStockInOrder.repository.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import com.mhd.oms.domain.reserveInMaterialDetail.repository.todo.ReserveInMaterialDetailDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + + +/** + * 入库单对象 stock_in_order + * + * @author gen + * @date 2024-05-21 + */ + +@Data +public class InAndOutListVo extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("入库单id") + private Long orderId; + + @ApiModelProperty("组织表ID") + @Excel(name = "组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + @Excel(name = "组织名称") + private String organizationName; + + @ApiModelProperty("一级组织表ID") + @Excel(name = "一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty("仓库id") + @Excel(name = "仓库id") + private Long warehouseId; + + @ApiModelProperty("仓库编码") + @Excel(name = "仓库编码") + private String warehouseCode; + + @ApiModelProperty("仓库名称") + @Excel(name = "仓库名称") + private String warehouseName; + + @ApiModelProperty("入库单号") + @Excel(name = "入库单号") + private String orderNumber; + + @ApiModelProperty("入库状态: 1-已创建 2-已审核 3-收货中 4-上架中 5-已入库") + @Excel(name = "入库状态: 1-已创建 2-已审核 3-收货中 4-上架中 5-已入库") + private Integer status; + + @ApiModelProperty("货主id") + @Excel(name = "货主id") + private Long shipperId; + + @ApiModelProperty("货主编码") + @Excel(name = "货主编码") + private String shipperCode; + + @ApiModelProperty("货主名称") + @Excel(name = "货主名称") + private String shipperName; + + + @ApiModelProperty("计划数量") + @Excel(name = "计划数量") + private BigDecimal quantity; + + @ApiModelProperty("入库数量") + @Excel(name = "入库数量") + private BigDecimal inQuantity; + + @ApiModelProperty("备注") + @Excel(name = "备注") + private String remark; + + @ApiModelProperty("入库单id集合") + private List orderIds; + + + @ApiModelProperty( "下发状态 0-无状态 1-未下发 2-已下发 ") + private Integer issueStatus; + + @ApiModelProperty("下发时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date issueTime; + + @ApiModelProperty("下发人id") + private Long issueId; + + @ApiModelProperty("下发人") + private String issueName; + + @ApiModelProperty("预约审核人id") + private Long reservationAuditId; + + @ApiModelProperty("预约审核人id") + private String reservationAuditName; + + @ApiModelProperty("预约审核时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date reservationAuditTime; + @ApiModelProperty("结算币种") + private String settlementCurrency; + @ApiModelProperty("业务员ID") + private String salesmanId; + @ApiModelProperty("业务员名称") + private String salesmanName; + @ApiModelProperty("订单来源") + private String reservationOrderSource; + @ApiModelProperty("tms订单号") + private String tmsOrderNumber; + @ApiModelProperty("仓库负责人") + private String directorName; + @ApiModelProperty("仓库负责人电话") + private String directorPhone; + @ApiModelProperty("仓库负责人id") + private Long directorId; + @ApiModelProperty("入库时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date storageTime; + @ApiModelProperty("客户id") + @Excel(name = "客户id") + private Long customerId; + @ApiModelProperty("客户编码") + @Excel(name = "客户编码") + private String customerCode; + @ApiModelProperty("客户名称") + @Excel(name = "客户名称") + private String customerName; + @ApiModelProperty("出库时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date outboundTime; + @ApiModelProperty("业务单号") + @Excel(name = "业务单号") + private String businessOrderNo; + @ApiModelProperty("入或出 in/out") + private String inOrOut; +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java index 41e086b6f..77350e4a7 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java @@ -14,6 +14,7 @@ import com.mhd.oms.domain.reserveInMaterialDetail.repository.po.ReserveInMateria import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO; import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO; import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDTO; +import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo; import com.mhd.system.api.SystemServiceFeign; import com.mhd.system.api.UserServiceFeign; import com.mhd.system.api.domain.InMaterialDetailTZPD; @@ -151,6 +152,81 @@ public class ReserveStockInOrderApplicationService { } + /** + * 分页查询入库单列表 + */ + + public List inAndOutList(ReserveStockInOrderDO stockInOrderDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); +// if (loginUser != null && loginUser.getUserPo() != null){ +// Long userOrganizationId = loginUser.getUserPo().getOrganizationId(); +// Long frontendOrganizationId = stockInOrderDO.getOrganizationId(); +// if (userOrganizationId != null && userOrganizationId == 2827L) { +// if (frontendOrganizationId != null) { +// stockInOrderDO.setOrganizationId(frontendOrganizationId); +// stockInOrderDO.setTopOrganizationId(null); +// } else { +// stockInOrderDO.setOrganizationId(null); +// stockInOrderDO.setTopOrganizationId(null); +// } +// } else { +// if (frontendOrganizationId != null && userOrganizationId != null) { +// if (!frontendOrganizationId.equals(userOrganizationId)) { +// stockInOrderDO.setOrganizationId(userOrganizationId); +// } +// } else { +// if (userOrganizationId != null) { +// stockInOrderDO.setOrganizationId(userOrganizationId); +// } +// } +// if (stockInOrderDO.getOrganizationId() == null) { +// Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); +// if (topOrganizationId != null && topOrganizationId != 1) { +// stockInOrderDO.setTopOrganizationId(topOrganizationId); +// } +// } else { +// stockInOrderDO.setTopOrganizationId(2827L); +// } +// } +// if (stockInOrderDO.getWarehouseId() == null) { +// AssociationWarehouseCacheDO associationWarehouseCacheDO = +// SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); +// if (associationWarehouseCacheDO != null) { +// stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); +// } +// } +// } + +// if (loginUser != null) { +// String targetRoleCode = "KGY-001"; +// boolean isKuGuan = false; +// +// String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; +// if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { +// isKuGuan = true; +// } +// +// if (!isKuGuan && loginUser.getRoleList() != null) { +// isKuGuan = loginUser.getRoleList().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (!isKuGuan && loginUser.getRoles() != null) { +// isKuGuan = loginUser.getRoles().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (isKuGuan) { +// Integer currentGtStatus = stockInOrderDO.getGtStatus(); +// if (currentGtStatus == null || currentGtStatus < 1) { +// stockInOrderDO.setGtStatus(1); // status > 1 +// } +// } +// } + return stockInOrderDomainService.inAndOutList(stockInOrderDO); + } + + /** * 新增入库单 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java index 20a7db68e..44dbd8c76 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java @@ -31,6 +31,7 @@ import com.mhd.oms.domain.reserveStockInOrder.repository.facade.IReserveStockInO import com.mhd.oms.domain.reserveStockInOrder.repository.mapper.ReserveStockInOrderMapper; import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO; import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO; +import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo; import com.mhd.oms.domain.reserveStockOutOrder.entity.ReserveStockOutOrder; import com.mhd.oms.domain.reserveStockOutOrder.repository.facade.IReserveStockOutOrderService; import com.mhd.system.api.SystemServiceFeign; @@ -87,6 +88,10 @@ public class ReserveStockInOrderDomainService { return stockInOrderService.queryList(stockInOrderDO); } + public List inAndOutList(ReserveStockInOrderDO stockInOrderDO) { + return stockInOrderService.inAndOutList(stockInOrderDO); + } + /** * 新增入库单 diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reserveStockInOrder/ReserveStockInOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reserveStockInOrder/ReserveStockInOrderApi.java index 5cd7453c0..a8aae75c5 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reserveStockInOrder/ReserveStockInOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reserveStockInOrder/ReserveStockInOrderApi.java @@ -7,6 +7,7 @@ import com.mhd.oms.domain.reserveInMaterialDetail.repository.po.ReserveInMateria import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO; import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO; import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDTO; +import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo; import com.mhd.oms.domain.reserveStockInOrder.service.ReserveStockInOrderApplicationService; import com.mhd.oms.domain.reserveStockInOrder.service.ReserveStockInOrderAssembler; import com.mhd.system.api.domain.InMaterialDetailTZPD; @@ -49,6 +50,17 @@ public class ReserveStockInOrderApi extends BaseController { return getDataTable(list); } + @ApiOperation("查询入库单列表") + @GetMapping("/inAndOutList") + public TableDataInfo inAndOutList(ReserveStockInOrderDTO stockInOrderDTO) + { + //转换实体 + ReserveStockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO); + startPage(); + List list = stockInOrderApplicationService.inAndOutList(stockInOrderDO); + return getDataTable(list); + } + /** * 编辑入库单 */ diff --git a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml index ef2bf39b7..f4da183b2 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml @@ -451,6 +451,109 @@ ORDER BY a.create_time IS NULL, a.create_time DESC + + + From ee11318540877625ee44f55342782994e1a61cba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 6 May 2026 18:01:40 +0800 Subject: [PATCH 029/418] =?UTF-8?q?=E4=BB=93=E5=82=A8=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReserveStockInOrderMapper.xml | 140 +++++++++--------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml index f4da183b2..df310a067 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml @@ -456,83 +456,83 @@ select * from ( SELECT - OUT_ORDER_ID AS orderId, - ORGANIZATION_ID AS organizationId, - organization_name AS topOrganizationId, - out_order_number AS orderNumber, + OUT_ORDER_ID AS "orderId", + ORGANIZATION_ID AS "organizationId", + organization_name AS "topOrganizationId", + out_order_number AS "orderNumber", status, - warehouse_id AS warehouseId, - warehouse_code AS warehouseCode, - warehouse_name AS warehouseName, - shipper_id AS shipperId, - shipper_name AS shipperName, + warehouse_id AS "warehouseId", + warehouse_code AS "warehouseCode", + warehouse_name AS "warehouseName", + shipper_id AS "shipperId", + shipper_name AS "shipperName", quantity, - create_time AS createTime, - create_by AS createBy, - create_by_name AS createByName, - update_time AS updateTime, - update_by AS updateBy, - update_by_name AS updateByName, - del_flag AS delFlag, - issue_status AS issueStatus, - issue_time AS issueTime, - issue_id AS issueId, - issue_name AS issueName, - reservation_audit_id AS reservationAuditId, - reservation_audit_name AS reservationAuditName, - reservation_audit_time AS reservationAuditTime, - RESERVATION_ORDER_SOURCE AS reservationOrderSource, - DIRECTOR_ID AS directorId, - DIRECTOR_PHONE AS directorPhone, - DIRECTOR_NAME AS directorName, - '' AS storageTime, - '' AS inQuantity, - CUSTOMER_ID AS customerId, - CUSTOMER_NAME AS customerName, - CUSTOMER_CODE AS customerCode, - OUTBOUND_TIME AS outboundTime, - BUSINESS_ORDER_NO AS businessOrderNo, - 'out' as inOrOut + create_time AS "createTime", + create_by AS "createBy", + create_by_name AS "createByName", + update_time AS "updateTime", + update_by AS "updateBy", + update_by_name AS "updateByName", + del_flag AS "delFlag", + issue_status AS "issueStatus", + issue_time AS "issueTime", + issue_id AS "issueId", + issue_name AS "issueName", + reservation_audit_id AS "reservationAuditId", + reservation_audit_name AS "reservationAuditName", + reservation_audit_time AS "reservationAuditTime", + RESERVATION_ORDER_SOURCE AS "reservationOrderSource", + DIRECTOR_ID AS "directorId", + DIRECTOR_PHONE AS "directorPhone", + DIRECTOR_NAME AS "directorName", + '' AS "storageTime", + '' AS "inQuantity", + CUSTOMER_ID AS "customerId", + CUSTOMER_NAME AS "customerName", + CUSTOMER_CODE AS "customerCode", + OUTBOUND_TIME AS "outboundTime", + BUSINESS_ORDER_NO AS "businessOrderNo", + 'out' as "inOrOut" FROM RESERVE_STOCK_OUT_ORDER UNION ALL SELECT - IN_ORDER_ID AS orderId, - ORGANIZATION_ID AS organizationId, - organization_name AS topOrganizationId, - in_order_number AS orderNumber, + IN_ORDER_ID AS "orderId", + ORGANIZATION_ID AS "organizationId", + organization_name AS "topOrganizationId", + in_order_number AS "orderNumber", status, - warehouse_id AS warehouseId, - warehouse_code AS warehouseCode, - warehouse_name AS warehouseName, - shipper_id AS shipperId, - shipper_name AS shipperName, + warehouse_id AS "warehouseId", + warehouse_code AS "warehouseCode", + warehouse_name AS "warehouseName", + shipper_id AS "shipperId", + shipper_name AS "shipperName", quantity, - create_time AS createTime, - create_by AS createBy, - create_by_name AS createByName, - update_time AS updateTime, - update_by AS updateBy, - update_by_name AS updateByName, - del_flag AS delFlag, - issue_status AS issueStatus, - issue_time AS issueTime, - issue_id AS issueId, - issue_name AS issueName, - reservation_audit_id AS reservationAuditId, - reservation_audit_name AS reservationAuditName, - reservation_audit_time AS reservationAuditTime, - RESERVATION_ORDER_SOURCE AS reservationOrderSource, - DIRECTOR_ID AS directorId, - DIRECTOR_PHONE AS directorPhone, - DIRECTOR_NAME AS directorName, - STORAGE_TIME AS storageTime, - IN_QUANTITY AS inQuantity, - CUSTOMER_ID AS customerId, - CUSTOMER_NAME AS customerName, - CUSTOMER_CODE AS customerCode, - NULL AS outboundTime, - '' AS businessOrderNo, - 'in' as inOrOut + create_time AS "createTime", + create_by AS "createBy", + create_by_name AS "createByName", + update_time AS "updateTime", + update_by AS "updateBy", + update_by_name AS "updateByName", + del_flag AS "delFlag", + issue_status AS "issueStatus", + issue_time AS "issueTime", + issue_id AS "issueId", + issue_name AS "issueName", + reservation_audit_id AS "reservationAuditId", + reservation_audit_name AS "reservationAuditName", + reservation_audit_time AS "reservationAuditTime", + RESERVATION_ORDER_SOURCE AS "reservationOrderSource", + DIRECTOR_ID AS "directorId", + DIRECTOR_PHONE AS "directorPhone", + DIRECTOR_NAME AS "directorName", + STORAGE_TIME AS "storageTime", + IN_QUANTITY AS "inQuantity", + CUSTOMER_ID AS "customerId", + CUSTOMER_NAME AS "customerName", + CUSTOMER_CODE AS "customerCode", + NULL AS "outboundTime", + '' AS "businessOrderNo", + 'in' as "inOrOut" FROM reserve_stock_in_order ) as a From c5a2d458df8646b2e5975d9427167e3e467c5abc Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 6 May 2026 19:42:10 +0800 Subject: [PATCH 030/418] =?UTF-8?q?OMS-GW=E6=8E=A8=E9=80=81-=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E5=B8=81=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/WlhyServiceFeign.java | 6 + .../factory/RemoteWlhyFallbackFactory.java | 5 + .../ExchangeRateApplicationService.java | 127 +++++++++++++++++- .../dto/exchangeRate/ExchangeRateDTO.java | 19 +++ .../facade/exchangeRate/ExchangeRateApi.java | 12 ++ 5 files changed, 166 insertions(+), 3 deletions(-) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/exchangeRate/ExchangeRateDTO.java diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index d2b8ed1fb..e9518c713 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -546,4 +546,10 @@ public interface WlhyServiceFeign { @RequestParam(name="organizationId", required = false) String organizationId); + @ApiOperation("汇率-更新推送状态") + @PostMapping("/ntocc/tmsSettlementExchangeRate/updatePushStatus") + void updateExchangeRatePushStatus(@RequestParam("id") String id, + @RequestParam("pushStatus") Integer pushStatus, + @RequestParam("pushTime") String pushTime, + @RequestParam("pushBy") Long pushBy); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java index be28da5dd..430061dd5 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java @@ -555,6 +555,11 @@ public class RemoteWlhyFallbackFactory implements FallbackFactory queryList(Integer pageNo, Integer pageSize, String pushStatus, String organizationId) { return AjaxResult.error(cause.getMessage()); } + + @Override + public void updateExchangeRatePushStatus(String id, Integer pushStatus, String pushTime, Long pushBy) { + + } }; } } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java index f9376ee76..81d5af512 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java @@ -1,25 +1,43 @@ package com.mhd.oms.application.service.exchangeRate; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; +import com.mhd.oms.interfaces.dto.exchangeRate.ExchangeRateDTO; import com.mhd.system.api.WlhyServiceFeign; +import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.io.IOException; +import java.util.*; @Service @Slf4j public class ExchangeRateApplicationService { + private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String API_NAME = "saveCurr"; + @Resource private WlhyServiceFeign wlhyServiceFeign; + @Resource + private GwLogMapper gwLogMapper; + public TableDataInfo queryExchangeRateList(Integer pageNum, Integer pageSize, String pushStatus, String organizationId) { try { log.info("查询汇率列表: pageNum={}, pageSize={}, pushStatus={}, organizationId={}", @@ -56,4 +74,107 @@ public class ExchangeRateApplicationService { tableDataInfo.setCode(200); return tableDataInfo; } + + + + + public AjaxResult batchPushExchangeRate(List exchangeRateDTOList) { + if (exchangeRateDTOList == null || exchangeRateDTOList.isEmpty()) { + return AjaxResult.error("没有数据需要推送"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long pushBy = loginUser != null ? loginUser.getUserid() : null; + Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; + Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; + String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; + + int successCount = 0; + int failCount = 0; + StringBuilder failMsg = new StringBuilder(); + + for (ExchangeRateDTO dto : exchangeRateDTOList) { + Map body = new HashMap<>(); + body.put("erpCurrCode", dto.getErpCurrCode()); + body.put("erpCurrName", dto.getErpCurrName()); + + GwLog gwLog = new GwLog(); + gwLog.setType("汇率管理"); + gwLog.setBusinessId(String.valueOf(dto.getId())); + gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setResponseBody(""); + gwLog.setStatus(1); + gwLog.setSendTime(new Date()); + gwLog.setOrganizationId(organizationId); + gwLog.setTopOrganizationId(topOrganizationId); + gwLog.setOrganizationName(organizationName); + gwLog.setCreateBy(pushBy); + gwLog.setCreateTime(new Date()); + gwLog.setDelFlag(1); + gwLogMapper.insert(gwLog); + + // 更新为推送中 + updateExchangeRatePushStatus(dto.getId(), 2, new Date(), pushBy); + + CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(PUSH_API_URL); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(body), "UTF-8"); + httpPost.setEntity(postingString); + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("apiName", API_NAME); + + try { + CloseableHttpResponse response = httpClient.execute(httpPost); + String responseString = EntityUtils.toString(response.getEntity()); + gwLog.setResponseBody(responseString); + + if (response.getStatusLine().getStatusCode() == 200) { + gwLog.setStatus(2); + updateExchangeRatePushStatus(dto.getId(), 3, new Date(), pushBy); + successCount++; + } else { + gwLog.setStatus(3); + gwLog.setErrorMsg(responseString); + updateExchangeRatePushStatus(dto.getId(), 4, new Date(), pushBy); + failCount++; + failMsg.append("erpCurrCode:").append(dto.getErpCurrCode()).append("失败;"); + } + gwLogMapper.updateById(gwLog); + response.close(); + } catch (IOException e) { + gwLog.setStatus(3); + gwLog.setErrorMsg(e.getMessage()); + gwLogMapper.updateById(gwLog); + updateExchangeRatePushStatus(dto.getId(), 4, new Date(), pushBy); + failCount++; + failMsg.append("erpCurrCode:").append(dto.getErpCurrCode()).append("异常:").append(e.getMessage()).append(";"); + log.error("汇率推送异常: id={}, error={}", dto.getId(), e.getMessage()); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + log.error("关闭httpClient异常: {}", e.getMessage()); + } + } + } + + String resultMsg = "推送完成: 成功" + successCount + "条, 失败" + failCount + "条"; + if (failCount > 0) { + resultMsg += "[" + failMsg.toString() + "]"; + } + return AjaxResult.success(resultMsg); + } + + private void updateExchangeRatePushStatus(String id, Integer pushStatus, Date pushTime, Long pushBy) { + try { + String pushTimeStr = pushTime != null ? DateUtil.format(pushTime, "yyyy-MM-dd HH:mm:ss") : null; + wlhyServiceFeign.updateExchangeRatePushStatus(id, pushStatus, pushTimeStr, pushBy); + } catch (Exception e) { + log.error("更新汇率推送状态失败: id={}, error={}", id, e.getMessage()); + } + } + + + + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/exchangeRate/ExchangeRateDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/exchangeRate/ExchangeRateDTO.java new file mode 100644 index 000000000..6d76960aa --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/exchangeRate/ExchangeRateDTO.java @@ -0,0 +1,19 @@ +package com.mhd.oms.interfaces.dto.exchangeRate; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(description = "汇率批量推送DTO") +public class ExchangeRateDTO { + + @ApiModelProperty(value = "汇率ID") + private String id; + + @ApiModelProperty(value = "币种编码(ERP编码)") + private String erpCurrCode; + + @ApiModelProperty(value = "币种名称(ERP名称)") + private String erpCurrName; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java index 825287645..8efc3f8da 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java @@ -1,8 +1,10 @@ package com.mhd.oms.interfaces.facade.exchangeRate; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.application.service.exchangeRate.ExchangeRateApplicationService; +import com.mhd.oms.interfaces.dto.exchangeRate.ExchangeRateDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; @@ -13,6 +15,8 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; + import static com.mhd.common.core.utils.PageUtils.startPage; @@ -34,4 +38,12 @@ public class ExchangeRateApi { return exchangeRateApplicationService.queryExchangeRateList(pageNum, pageSize, pushStatus, organizationId); } + @ApiOperation("批量推送汇率") + @PostMapping("/batchPush") + public AjaxResult batchPush(@RequestBody List exchangeRateDTOList) { + return exchangeRateApplicationService.batchPushExchangeRate(exchangeRateDTOList); + } + + + } From 2109a1b5b3a2ba9bcece3ebec9a857b482857191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 7 May 2026 08:54:58 +0800 Subject: [PATCH 031/418] =?UTF-8?q?=E6=A0=B9=E6=8D=AEuserid=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E4=BB=93=E5=BA=93;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssociationWarehouseApi.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facadeApi/associationWarehouse/AssociationWarehouseApi.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facadeApi/associationWarehouse/AssociationWarehouseApi.java index 2858b2787..102422eee 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facadeApi/associationWarehouse/AssociationWarehouseApi.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facadeApi/associationWarehouse/AssociationWarehouseApi.java @@ -134,6 +134,23 @@ public class AssociationWarehouseApi extends BaseController{ return AjaxResult.success(associationWarehouseCacheDO); } + /** + * 获取用户当前设置的仓库 + */ + @ApiOperation("获取当前登录用户设置的仓库") + @GetMapping("/getWarehouseInfoByUserId") + public AjaxResult getWarehouseInfoByUserId(@PathVariable("userId") Long userId) { + //转换实体 + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (userId != null) { + AssociationWarehouseCacheDO associationWarehouseCacheDO = associationWarehouseApplicationService.getWarehouseInfo(userId); + return AjaxResult.success(associationWarehouseCacheDO); + } else { + AssociationWarehouseCacheDO associationWarehouseCacheDO = associationWarehouseApplicationService.getWarehouseInfo(loginUser.getUserid()); + return AjaxResult.success(associationWarehouseCacheDO); + } + } + /** * 直接从数据库获取指定用户设置的仓库(不使用缓存) */ @@ -144,4 +161,4 @@ public class AssociationWarehouseApi extends BaseController{ return AjaxResult.success(associationWarehouseCacheDO); } -} +} \ No newline at end of file From 02da883a6b0843f14e1d7e3da306ccd0e5d6a82e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 7 May 2026 09:15:20 +0800 Subject: [PATCH 032/418] =?UTF-8?q?app=E4=BB=93=E5=82=A8=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reserveStockInOrder/ReserveStockInOrderMapper.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml index df310a067..f90d93d64 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml @@ -458,7 +458,8 @@ SELECT OUT_ORDER_ID AS "orderId", ORGANIZATION_ID AS "organizationId", - organization_name AS "topOrganizationId", + organization_name AS "organizationName", + top_organization_id AS "topOrganizationId", out_order_number AS "orderNumber", status, warehouse_id AS "warehouseId", @@ -498,7 +499,8 @@ SELECT IN_ORDER_ID AS "orderId", ORGANIZATION_ID AS "organizationId", - organization_name AS "topOrganizationId", + organization_name AS "organizationName", + top_organization_id AS "topOrganizationId", in_order_number AS "orderNumber", status, warehouse_id AS "warehouseId", From 4c32d4032eff73078548f717f177ac0f4be0379d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 7 May 2026 09:43:11 +0800 Subject: [PATCH 033/418] =?UTF-8?q?app=E4=BB=93=E5=82=A8=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../associationWarehouse/AssociationWarehouseApi.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facadeApi/associationWarehouse/AssociationWarehouseApi.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facadeApi/associationWarehouse/AssociationWarehouseApi.java index 102422eee..ea6f3948a 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facadeApi/associationWarehouse/AssociationWarehouseApi.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facadeApi/associationWarehouse/AssociationWarehouseApi.java @@ -7,13 +7,7 @@ import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; import com.mhd.system.api.model.LoginUser; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.mhd.basic.interfaces.dto.associationWarehouse.AssociationWarehouseDTO; import com.mhd.basic.domain.associationWarehouse.repository.todo.AssociationWarehouseDO; import com.mhd.basic.domain.associationWarehouse.repository.po.AssociationWarehousePO; @@ -139,7 +133,7 @@ public class AssociationWarehouseApi extends BaseController{ */ @ApiOperation("获取当前登录用户设置的仓库") @GetMapping("/getWarehouseInfoByUserId") - public AjaxResult getWarehouseInfoByUserId(@PathVariable("userId") Long userId) { + public AjaxResult getWarehouseInfoByUserId(@RequestParam("userId") Long userId) { //转换实体 LoginUser loginUser = SecurityUtils.getLoginUser(); if (userId != null) { From 03a9c47db5e170f5b3b8c4b4ef54b86bee12972a Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 7 May 2026 11:38:22 +0800 Subject: [PATCH 034/418] =?UTF-8?q?OMS-GW-=E4=BC=81=E4=B8=9A=E5=8D=95?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpEnterpriseUnitApplicationService.java | 30 ++++++++ .../entity/ErpEnterpriseUnit.java | 66 ++++++++++++++++++ .../mapper/ErpEnterpriseUnitMapper.java | 22 ++++++ .../repository/po/ErpEnterpriseUnitPO.java | 68 +++++++++++++++++++ .../repository/todo/ErpEnterpriseUnitDO.java | 56 +++++++++++++++ .../ErpEnterpriseUnitAssembler.java | 56 +++++++++++++++ .../ErpEnterpriseUnitDTO.java | 54 +++++++++++++++ .../ErpEnterpriseUnitApi.java | 43 ++++++++++++ .../ErpEnterpriseUnitMapper.xml | 39 +++++++++++ 9 files changed, 434 insertions(+) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/po/ErpEnterpriseUnitPO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/todo/ErpEnterpriseUnitDO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/interfaces/assembler/erpEnterpriseUnit/ErpEnterpriseUnitAssembler.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/erpEnterpriseUnit/ErpEnterpriseUnitDTO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java create mode 100644 mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java new file mode 100644 index 000000000..c688eafc6 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java @@ -0,0 +1,30 @@ +package com.mhd.oms.application.service.erpEnterpriseUnit; + + +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.oms.domain.erpEnterpriseUnit.repository.mapper.ErpEnterpriseUnitMapper; +import com.mhd.oms.domain.erpEnterpriseUnit.repository.po.ErpEnterpriseUnitPO; +import com.mhd.oms.domain.erpEnterpriseUnit.repository.todo.ErpEnterpriseUnitDO; +import com.mhd.oms.interfaces.dto.erpEnterpriseUnit.ErpEnterpriseUnitDTO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +@Slf4j +public class ErpEnterpriseUnitApplicationService { + + @Resource + private ErpEnterpriseUnitMapper erpEnterpriseUnitMapper; + + public TableDataInfo queryList(ErpEnterpriseUnitDO erpEnterpriseUnitDO) { + List list = erpEnterpriseUnitMapper.queryList(erpEnterpriseUnitDO); + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setData(list); + tableDataInfo.setTotal(list.size()); + tableDataInfo.setCode(200); + return tableDataInfo; + } +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java new file mode 100644 index 000000000..b646c7c10 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java @@ -0,0 +1,66 @@ +package com.mhd.oms.domain.erpEnterpriseUnit.entity; + + + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + + +import java.util.Date; + +@Data +@ApiModel(description = "企业单位") +public class ErpEnterpriseUnit { + + @ApiModelProperty(value = "主键ID") + private Long id; + + @ApiModelProperty(value = "ERP单位编码") + private String erpCode; + + @ApiModelProperty(value = "ERP单位名称") + private String erpName; + + @ApiModelProperty(value = "推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "推送时间") + private Date pushTime; + + @ApiModelProperty(value = "推送人") + private String pushBy; + + @ApiModelProperty(value = "所属组织ID") + private Long organizationId; + + @ApiModelProperty(value = "一级组织ID") + private Long topOrganizationId; + + @ApiModelProperty(value = "所属组织名称") + private String organizationName; + + @ApiModelProperty(value = "创建人") + private Long createBy; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "更新人") + private Long updateBy; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + @ApiModelProperty(value = "删除标记:1-正常,0-删除") + private Integer delFlag; + +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java new file mode 100644 index 000000000..c44aaf297 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java @@ -0,0 +1,22 @@ +package com.mhd.oms.domain.erpEnterpriseUnit.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.oms.domain.erpEnterpriseUnit.entity.ErpEnterpriseUnit; +import com.mhd.oms.domain.erpEnterpriseUnit.repository.po.ErpEnterpriseUnitPO; +import com.mhd.oms.domain.erpEnterpriseUnit.repository.todo.ErpEnterpriseUnitDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +@Mapper +public interface ErpEnterpriseUnitMapper extends BaseMapper { + + /** + * + * @param erpEnterpriseUnitDO + * @return + */ + List queryList(@Param("erpEnterpriseUnitDO")ErpEnterpriseUnitDO erpEnterpriseUnitDO); +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/po/ErpEnterpriseUnitPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/po/ErpEnterpriseUnitPO.java new file mode 100644 index 000000000..65909bd05 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/po/ErpEnterpriseUnitPO.java @@ -0,0 +1,68 @@ +package com.mhd.oms.domain.erpEnterpriseUnit.repository.po; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@ApiModel(description = "企业单位PO") +public class ErpEnterpriseUnitPO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键ID") + private Long id; + + @ApiModelProperty(value = "ERP单位编码") + private String erpCode; + + @ApiModelProperty(value = "ERP单位名称") + private String erpName; + + @ApiModelProperty(value = "推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "推送时间") + private Date pushTime; + + @ApiModelProperty(value = "推送人") + private String pushBy; + + @ApiModelProperty(value = "所属组织ID") + private Long organizationId; + + @ApiModelProperty(value = "一级组织ID") + private Long topOrganizationId; + + @ApiModelProperty(value = "所属组织名称") + private String organizationName; + + @ApiModelProperty(value = "创建人") + private Long createBy; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "更新人") + private Long updateBy; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + @ApiModelProperty(value = "删除标记:1-正常,0-删除") + private Integer delFlag; + + +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/todo/ErpEnterpriseUnitDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/todo/ErpEnterpriseUnitDO.java new file mode 100644 index 000000000..effedcf9f --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/todo/ErpEnterpriseUnitDO.java @@ -0,0 +1,56 @@ +package com.mhd.oms.domain.erpEnterpriseUnit.repository.todo; + + +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ErpEnterpriseUnitDO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键ID") + private Long id; + + @ApiModelProperty(value = "ERP单位编码") + private String erpCode; + + @ApiModelProperty(value = "ERP单位名称") + private String erpName; + + @ApiModelProperty(value = "推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @ApiModelProperty(value = "推送时间") + private String pushTime; + + @ApiModelProperty(value = "推送时间起") + private String pushTimeFrom; + + @ApiModelProperty(value = "推送时间止") + private String pushTimeTo; + + @ApiModelProperty(value = "推送人") + private String pushBy; + + @ApiModelProperty(value = "所属组织ID") + private Long organizationId; + + @ApiModelProperty(value = "所属组织名称") + private String organizationName; + + @ApiModelProperty(value = "创建时间起") + private String createTimeFrom; + + @ApiModelProperty(value = "创建时间止") + private String createTimeTo; + + @ApiModelProperty(value = "页码") + private Integer pageNum = 1; + + @ApiModelProperty(value = "每页数量") + private Integer pageSize = 10; + + + +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/assembler/erpEnterpriseUnit/ErpEnterpriseUnitAssembler.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/assembler/erpEnterpriseUnit/ErpEnterpriseUnitAssembler.java new file mode 100644 index 000000000..eacab45de --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/assembler/erpEnterpriseUnit/ErpEnterpriseUnitAssembler.java @@ -0,0 +1,56 @@ +package com.mhd.oms.interfaces.assembler.erpEnterpriseUnit; + +import cn.hutool.core.util.ObjectUtil; +import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException; +import com.mhd.common.core.exception.digitalLogisticsException.UserError; +import com.mhd.common.core.utils.IgnoreNullUtil; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.erpEnterpriseUnit.repository.todo.ErpEnterpriseUnitDO; +import com.mhd.oms.interfaces.dto.erpEnterpriseUnit.ErpEnterpriseUnitDTO; +import com.mhd.system.api.model.LoginUser; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; + +import java.util.Date; + +@Component +public class ErpEnterpriseUnitAssembler { + + /** + * 转换实体 + */ + public ErpEnterpriseUnitDO toDO(ErpEnterpriseUnitDTO erpEnterpriseUnitDTO) { + ErpEnterpriseUnitDO erpEnterpriseUnitDO = new ErpEnterpriseUnitDO(); + BeanUtils.copyProperties(erpEnterpriseUnitDTO, erpEnterpriseUnitDO, IgnoreNullUtil.getNullPropertyNames(erpEnterpriseUnitDTO)); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (ObjectUtil.isNull(loginUser)) { + throw new DigitalLogisticsException(UserError.TIMEOUT); + } + String userName = loginUser.getUsername(); + Long userId = loginUser.getUserid(); + if (erpEnterpriseUnitDTO.getId() != null) { + if (userId != null) { + erpEnterpriseUnitDO.setUpdateBy(userId); + } else { + erpEnterpriseUnitDO.setUpdateBy(new Long("0")); + } + erpEnterpriseUnitDO.setUpdateByName(userName); + erpEnterpriseUnitDO.setUpdateTime(new Date()); + } else { + if (userId != null) { + erpEnterpriseUnitDO.setCreateBy(userId); + erpEnterpriseUnitDO.setUpdateBy(userId); + } else { + erpEnterpriseUnitDO.setCreateBy(new Long("0")); + erpEnterpriseUnitDO.setUpdateBy(new Long("0")); + } + erpEnterpriseUnitDO.setCreateByName(userName); + erpEnterpriseUnitDO.setUpdateByName(userName); + erpEnterpriseUnitDO.setCreateTime(new Date()); + erpEnterpriseUnitDO.setUpdateTime(new Date()); + erpEnterpriseUnitDO.setDelFlag(1); + } + return erpEnterpriseUnitDO; + } + +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/erpEnterpriseUnit/ErpEnterpriseUnitDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/erpEnterpriseUnit/ErpEnterpriseUnitDTO.java new file mode 100644 index 000000000..412e80c2b --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/erpEnterpriseUnit/ErpEnterpriseUnitDTO.java @@ -0,0 +1,54 @@ +package com.mhd.oms.interfaces.dto.erpEnterpriseUnit; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(description = "企业单位DTO") +public class ErpEnterpriseUnitDTO { + + @ApiModelProperty(value = "主键ID") + private Long id; + + @ApiModelProperty(value = "ERP单位编码") + private String erpCode; + + @ApiModelProperty(value = "ERP单位名称") + private String erpName; + + @ApiModelProperty(value = "推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @ApiModelProperty(value = "推送时间") + private String pushTime; + + @ApiModelProperty(value = "推送时间起") + private String pushTimeFrom; + + @ApiModelProperty(value = "推送时间止") + private String pushTimeTo; + + @ApiModelProperty(value = "推送人") + private String pushBy; + + @ApiModelProperty(value = "所属组织ID") + private Long organizationId; + + @ApiModelProperty(value = "所属组织名称") + private String organizationName; + + @ApiModelProperty(value = "创建时间起") + private String createTimeFrom; + + @ApiModelProperty(value = "创建时间止") + private String createTimeTo; + + @ApiModelProperty(value = "页码") + private Integer pageNum = 1; + + @ApiModelProperty(value = "每页数量") + private Integer pageSize = 10; + +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java new file mode 100644 index 000000000..ccca9f8c5 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java @@ -0,0 +1,43 @@ +package com.mhd.oms.interfaces.facade.erpEnterpriseUnit; + + +import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.oms.application.service.erpEnterpriseUnit.ErpEnterpriseUnitApplicationService; +import com.mhd.oms.domain.erpEnterpriseUnit.repository.todo.ErpEnterpriseUnitDO; +import com.mhd.oms.interfaces.assembler.erpEnterpriseUnit.ErpEnterpriseUnitAssembler; +import com.mhd.oms.interfaces.dto.erpEnterpriseUnit.ErpEnterpriseUnitDTO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + + + +@Api(tags = "企业单位管理") +@RestController +@RequestMapping("/erpEnterpriseUnitApi") +@Slf4j +public class ErpEnterpriseUnitApi extends BaseController { + + @Resource + private ErpEnterpriseUnitApplicationService erpEnterpriseUnitApplicationService; + + @Resource + private ErpEnterpriseUnitAssembler erpEnterpriseUnitAssembler; + + + @ApiOperation("查询企业单位列表") + @GetMapping("/list") + public TableDataInfo list(ErpEnterpriseUnitDTO erpEnterpriseUnitDTO){ + ErpEnterpriseUnitDO erpEnterpriseUnitDO = erpEnterpriseUnitAssembler.toDO(erpEnterpriseUnitDTO); + startPage(); + return erpEnterpriseUnitApplicationService.queryList(erpEnterpriseUnitDO); + + } + +} diff --git a/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml new file mode 100644 index 000000000..26c60b791 --- /dev/null +++ b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml @@ -0,0 +1,39 @@ + + + + + + + + \ No newline at end of file From 71defc2e0b91de7d89e0984751a3e3e0715cf04e Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 7 May 2026 14:03:20 +0800 Subject: [PATCH 035/418] =?UTF-8?q?OMS-GW-=E4=BC=81=E4=B8=9A=E5=8D=95?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpEnterpriseUnitApplicationService.java | 33 +++++++++++++++++++ .../ErpEnterpriseUnitApi.java | 16 +++++++-- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java index c688eafc6..5c956715e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java @@ -1,15 +1,20 @@ package com.mhd.oms.application.service.erpEnterpriseUnit; +import com.mhd.common.core.utils.bean.BeanUtils; import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.erpEnterpriseUnit.entity.ErpEnterpriseUnit; import com.mhd.oms.domain.erpEnterpriseUnit.repository.mapper.ErpEnterpriseUnitMapper; import com.mhd.oms.domain.erpEnterpriseUnit.repository.po.ErpEnterpriseUnitPO; import com.mhd.oms.domain.erpEnterpriseUnit.repository.todo.ErpEnterpriseUnitDO; import com.mhd.oms.interfaces.dto.erpEnterpriseUnit.ErpEnterpriseUnitDTO; +import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; import java.util.List; @Service @@ -27,4 +32,32 @@ public class ErpEnterpriseUnitApplicationService { tableDataInfo.setCode(200); return tableDataInfo; } + + public int update(ErpEnterpriseUnitDTO erpEnterpriseUnitDTO) { + ErpEnterpriseUnit erpEnterpriseUnit = new ErpEnterpriseUnit(); + BeanUtils.copyProperties(erpEnterpriseUnitDTO,erpEnterpriseUnit); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if(loginUser != null){ + erpEnterpriseUnit.setUpdateBy(loginUser.getUserid()); + erpEnterpriseUnit.setUpdateTime(new Date()); + } + return erpEnterpriseUnitMapper.updateById(erpEnterpriseUnit); + } + + public int insert(ErpEnterpriseUnitDTO erpEnterpriseUnitDTO) { + ErpEnterpriseUnit erpEnterpriseUnit = new ErpEnterpriseUnit(); + BeanUtils.copyProperties(erpEnterpriseUnitDTO,erpEnterpriseUnit); + erpEnterpriseUnit.setPushStatus(1); + erpEnterpriseUnit.setDelFlag(1); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if(loginUser != null){ + erpEnterpriseUnit.setCreateBy(loginUser.getUserid()); + //erpEnterpriseUnit.setCreateTime(new Date()); + erpEnterpriseUnit.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + erpEnterpriseUnit.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + } + erpEnterpriseUnit.setCreateTime(new Date()); + return erpEnterpriseUnitMapper.insert(erpEnterpriseUnit); + + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java index ccca9f8c5..c5ce46abd 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java @@ -2,6 +2,7 @@ package com.mhd.oms.interfaces.facade.erpEnterpriseUnit; import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.application.service.erpEnterpriseUnit.ErpEnterpriseUnitApplicationService; import com.mhd.oms.domain.erpEnterpriseUnit.repository.todo.ErpEnterpriseUnitDO; @@ -10,9 +11,7 @@ import com.mhd.oms.interfaces.dto.erpEnterpriseUnit.ErpEnterpriseUnitDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -40,4 +39,15 @@ public class ErpEnterpriseUnitApi extends BaseController { } + + @ApiOperation("编辑企业单位") + @PostMapping("/edit") + public AjaxResult edit(@RequestBody ErpEnterpriseUnitDTO erpEnterpriseUnitDTO){ + if(erpEnterpriseUnitDTO.getId() !=null){ + return toAjax(erpEnterpriseUnitApplicationService.update(erpEnterpriseUnitDTO)); + }else{ + return toAjax(erpEnterpriseUnitApplicationService.insert(erpEnterpriseUnitDTO)); + } + } + } From da20e2a6164e1f01eae96968474e0ac8220e0091 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 7 May 2026 15:25:23 +0800 Subject: [PATCH 036/418] =?UTF-8?q?OMS-GW-=E4=BC=81=E4=B8=9A=E5=8D=95?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpEnterpriseUnitApplicationService.java | 125 ++++++++++++++++++ .../mapper/ErpEnterpriseUnitMapper.java | 8 ++ .../ErpEnterpriseUnitApi.java | 24 +++- .../ErpEnterpriseUnitMapper.xml | 7 + 4 files changed, 163 insertions(+), 1 deletion(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java index 5c956715e..07a24d3e6 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java @@ -1,29 +1,48 @@ package com.mhd.oms.application.service.erpEnterpriseUnit; +import com.alibaba.fastjson.JSONObject; import com.mhd.common.core.utils.bean.BeanUtils; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.oms.domain.erpEnterpriseUnit.entity.ErpEnterpriseUnit; import com.mhd.oms.domain.erpEnterpriseUnit.repository.mapper.ErpEnterpriseUnitMapper; import com.mhd.oms.domain.erpEnterpriseUnit.repository.po.ErpEnterpriseUnitPO; import com.mhd.oms.domain.erpEnterpriseUnit.repository.todo.ErpEnterpriseUnitDO; +import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; import com.mhd.oms.interfaces.dto.erpEnterpriseUnit.ErpEnterpriseUnitDTO; import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.IOException; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service @Slf4j public class ErpEnterpriseUnitApplicationService { + private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String API_NAME = "saveUnit"; + @Resource private ErpEnterpriseUnitMapper erpEnterpriseUnitMapper; + @Resource + private GwLogMapper gwLogMapper; + public TableDataInfo queryList(ErpEnterpriseUnitDO erpEnterpriseUnitDO) { List list = erpEnterpriseUnitMapper.queryList(erpEnterpriseUnitDO); TableDataInfo tableDataInfo = new TableDataInfo(); @@ -60,4 +79,110 @@ public class ErpEnterpriseUnitApplicationService { return erpEnterpriseUnitMapper.insert(erpEnterpriseUnit); } + + public AjaxResult batchPush(List dtoList) { + if (dtoList == null || dtoList.isEmpty()) { + return AjaxResult.error("没有数据需要推送"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long pushBy = loginUser != null ? loginUser.getUserid() : null; + Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; + Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; + String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; + + int successCount = 0; + int failCount = 0; + StringBuilder failMsg = new StringBuilder(); + + for (ErpEnterpriseUnitDTO dto : dtoList) { + Map body = new HashMap<>(); + body.put("erpUnitCode", dto.getErpCode()); + body.put("erpUnitName", dto.getErpName()); + + GwLog gwLog = new GwLog(); + gwLog.setType("企业单位"); + gwLog.setBusinessId(String.valueOf(dto.getId())); + gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setResponseBody(""); + gwLog.setStatus(1); + gwLog.setSendTime(new Date()); + gwLog.setOrganizationId(organizationId); + gwLog.setTopOrganizationId(topOrganizationId); + gwLog.setOrganizationName(organizationName); + gwLog.setCreateBy(pushBy); + gwLog.setCreateTime(new Date()); + gwLog.setDelFlag(1); + gwLogMapper.insert(gwLog); + + updatePushStatus(dto.getId(), 2, new Date(), pushBy); + + CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(PUSH_API_URL); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(body), "UTF-8"); + httpPost.setEntity(postingString); + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("apiName", API_NAME); + + try { + CloseableHttpResponse response = httpClient.execute(httpPost); + String responseString = EntityUtils.toString(response.getEntity()); + gwLog.setResponseBody(responseString); + + if (response.getStatusLine().getStatusCode() == 200) { + gwLog.setStatus(2); + updatePushStatus(dto.getId(), 3, new Date(), pushBy); + successCount++; + } else { + gwLog.setStatus(3); + gwLog.setErrorMsg(responseString); + updatePushStatus(dto.getId(), 4, new Date(), pushBy); + failCount++; + failMsg.append("erpUnitCode:").append(dto.getErpCode()).append("失败;"); + } + gwLogMapper.updateById(gwLog); + response.close(); + } catch (IOException e) { + gwLog.setStatus(3); + gwLog.setErrorMsg(e.getMessage()); + gwLogMapper.updateById(gwLog); + updatePushStatus(dto.getId(), 4, new Date(), pushBy); + failCount++; + failMsg.append("erpUnitCode:").append(dto.getErpCode()).append("异常:").append(e.getMessage()).append(";"); + log.error("企业单位推送异常: id={}, error={}", dto.getId(), e.getMessage()); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + log.error("关闭httpClient异常: {}", e.getMessage()); + } + } + } + + String resultMsg = "推送完成: 成功" + successCount + "条, 失败" + failCount + "条"; + if (failCount > 0) { + resultMsg += "[" + failMsg.toString() + "]"; + } + return AjaxResult.success(resultMsg); + } + + private void updatePushStatus(Long id, Integer pushStatus, Date pushTime, Long pushBy) { + ErpEnterpriseUnit entity = new ErpEnterpriseUnit(); + entity.setId(id); + entity.setPushStatus(pushStatus); + if (pushTime != null) { + entity.setPushTime(pushTime); + } + if (pushBy != null) { + entity.setPushBy(String.valueOf(pushBy)); + } + erpEnterpriseUnitMapper.updateById(entity); + } + + public int deleteByIds(List idList) { + if(idList == null || idList.isEmpty()){ + return 0; + } + return erpEnterpriseUnitMapper.deleteByIds(idList); + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java index c44aaf297..7d70ef7f2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java @@ -19,4 +19,12 @@ public interface ErpEnterpriseUnitMapper extends BaseMapper { * @return */ List queryList(@Param("erpEnterpriseUnitDO")ErpEnterpriseUnitDO erpEnterpriseUnitDO); + + /** + * + * @param idList + * @return + */ + int deleteByIds(@Param("idList") List idList); + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java index c5ce46abd..9ab418e71 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java @@ -14,7 +14,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; - +import java.util.ArrayList; +import java.util.List; @Api(tags = "企业单位管理") @@ -50,4 +51,25 @@ public class ErpEnterpriseUnitApi extends BaseController { } } + + @ApiOperation("批量推送企业单位") + @PostMapping("/batchPush") + public AjaxResult batchPush(@RequestBody List dtoList) { + return erpEnterpriseUnitApplicationService.batchPush(dtoList); + } + + @ApiOperation("批量删除企业单位") + @DeleteMapping("/deleteBatch") + public AjaxResult deleteBatch(@RequestParam("ids") String ids) { + if (ids == null || ids.isEmpty()) { + return AjaxResult.error("没有选择要删除的数据"); + } + List idList = new ArrayList<>(); + for (String id : ids.split(",")) { + idList.add(Long.parseLong(id)); + } + return toAjax(erpEnterpriseUnitApplicationService.deleteByIds(idList)); + } + + } diff --git a/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml index 26c60b791..828884083 100644 --- a/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml +++ b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml @@ -36,4 +36,11 @@ ORDER BY create_time DESC + + UPDATE erp_enterprise_unit set del_flag = 0 where id IN + + #{id} + + + \ No newline at end of file From 51df232625494d00b9434b9403f91f783716dde9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 7 May 2026 16:06:01 +0800 Subject: [PATCH 037/418] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=88=B6=E5=8D=95?= =?UTF-8?q?=E4=BA=BA=E6=89=93=E5=8D=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-bi/src/main/java/com/mhd/bi/BiApplication.java | 2 +- .../mapper/stockOutOrder/StockOutOrderMapper.xml | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java b/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java index 5a9ec7a44..dc87a6747 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java +++ b/mhd-bi/src/main/java/com/mhd/bi/BiApplication.java @@ -12,7 +12,7 @@ import org.springframework.scheduling.annotation.EnableAsync; @SpringBootApplication(scanBasePackages = {"com.mhd", "com.mhd.bi"}) @EnableDiscoveryClient -@EnableFeignClients(basePackages = {"com.mhd"}) +@EnableFeignClients(basePackages = {"com.mhd","com.mhd.bi.infrastructure.feign"}) @MapperScan("com.mhd.bi.domain.**.mapper") @Import({SetFeildValueAspect.class, CommonService.class}) @EnableAsync diff --git a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml index 8cd340171..d88802295 100644 --- a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml @@ -344,7 +344,8 @@ + SELECT ID, ERP_COUNTRY_CODE, ERP_COUNTRY_NAME, REMARK, PUSH_STATUS, PUSH_TIME, PUSH_BY, + ORGANIZATION_ID, TOP_ORGANIZATION_ID, ORGANIZATION_NAME, + CREATE_BY, CREATE_BY_NAME, CREATE_TIME, UPDATE_BY, UPDATE_BY_NAME, UPDATE_TIME, DEL_FLAG + FROM ERP_COUNTRY + WHERE DEL_FLAG = 1 + + AND PUSH_STATUS = #{dto.pushStatus} + + + AND DATE_FORMAT(PUSH_TIME, '%Y-%m-%d') >= #{dto.pushTimeFrom} + + + AND DATE_FORMAT(PUSH_TIME, '%Y-%m-%d') <= #{dto.pushTimeTo} + + + AND ORGANIZATION_ID = #{dto.organizationId} + + ORDER BY CREATE_TIME DESC + + + \ No newline at end of file From b754aaf949e6918f692b54a99462a0506a8eb167 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 7 May 2026 17:43:54 +0800 Subject: [PATCH 039/418] =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BatchDetailApplicationService.java | 3 ++- .../service/BatchDetailDomainService.java | 5 +++++ .../PickingOrderApplicationService.java | 22 ++++++++++++++----- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/batchDetail/BatchDetailApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/batchDetail/BatchDetailApplicationService.java index 9ca5b92f5..4bcf0b956 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/batchDetail/BatchDetailApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/batchDetail/BatchDetailApplicationService.java @@ -106,7 +106,8 @@ public class BatchDetailApplicationService { throw new ServiceException("获取物料规则信息失败"); } MaterialGoodsRuleFeign materialGoodsRuleFeign = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), MaterialGoodsRuleFeign.class); - if (ObjectUtil.isNull(materialGoodsRuleFeign)){ + // 无商品规则或未绑定批次模板时,不返回任何批次属性(避免 batchId 空导致查全表) + if (ObjectUtil.isNull(materialGoodsRuleFeign) || materialGoodsRuleFeign.getBatchId() == null) { return new ArrayList<>(); } return getBatchDetailListByBatchId(materialGoodsRuleFeign.getBatchId()); diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/batchDetail/service/BatchDetailDomainService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/batchDetail/service/BatchDetailDomainService.java index 17fec80d7..f35e219fe 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/batchDetail/service/BatchDetailDomainService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/batchDetail/service/BatchDetailDomainService.java @@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** * 批次管理详情 @@ -66,6 +67,10 @@ public class BatchDetailDomainService { * 获取批次管理详情详细信息 */ public List getBatchDetailListByBatchId(Long batchId) { + // batchId 为空时不能查列表:XML 中 batchId 为 null 不拼条件,会返回全部批次属性 + if (batchId == null) { + return new ArrayList<>(); + } BatchDetailDO batchDetailDO = new BatchDetailDO(); batchDetailDO.setBatchId(batchId); return batchDetailService.queryList(batchDetailDO); diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java index fdf823e1d..6fa84ad4d 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java @@ -24,9 +24,11 @@ import com.mhd.wms.domain.pickingMaterialDetail.service.PickingMaterialDetailDom import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO; import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO; import com.mhd.wms.domain.pickingOrder.service.PickingOrderDomainService; +import com.mhd.wms.domain.materialGoodsRule.repository.facade.IMaterialGoodsRuleService; import com.mhd.wms.domain.outMaterialDetail.repository.facade.IOutMaterialDetailService; import com.mhd.wms.domain.outMaterialDetail.entity.OutMaterialDetail; import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO; +import com.mhd.wms.util.ReceiptBatchDetailFilter; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -58,6 +60,8 @@ public class PickingOrderApplicationService { @Autowired private SystemServiceFeign systemServiceFeign; @Autowired + private IMaterialGoodsRuleService materialGoodsRuleService; + @Autowired private IOutMaterialDetailService outMaterialDetailService; @@ -212,11 +216,19 @@ public class PickingOrderApplicationService { if (ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))) { List batchDetailFeignPOList = JSON.parseArray( JSONObject.toJSONString(ajaxResult.get("data")), BatchDetailFeignPO.class); - if (!CollectionUtils.isEmpty(batchDetailFeignPOList)) { - // 过滤isDisplay=1的属性 - List filteredList = batchDetailFeignPOList.stream() - .filter(batchDetail -> batchDetail.getIsDisplay() != null && batchDetail.getIsDisplay() == 1) - .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(batchDetailFeignPOList)) { + continue; + } + // 物料未在商品规则中绑定批次模板时不返回批次属性(与收货单组装逻辑一致) + List alignedToRule = ReceiptBatchDetailFilter.filterByMaterialGoodsRule( + materialBaseInfoId, batchDetailFeignPOList, materialGoodsRuleService); + if (CollectionUtils.isEmpty(alignedToRule)) { + continue; + } + List filteredList = alignedToRule.stream() + .filter(batchDetail -> batchDetail.getIsDisplay() != null && batchDetail.getIsDisplay() == 1) + .collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(filteredList)) { batchDetailMap.put(materialBaseInfoId, filteredList); } } From 0c2dff7faff32a2b2f5dc748c9d33580ccfa8c66 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 7 May 2026 17:44:07 +0800 Subject: [PATCH 040/418] =?UTF-8?q?OMS-GW-=E4=BC=81=E4=B8=9A=E5=9B=BD?= =?UTF-8?q?=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpCountryApplicationService.java | 36 ++++++++++++++++++- .../repository/mapper/ErpCountryMapper.java | 5 ++- .../facade/erpCountry/ErpCountryApi.java | 32 +++++++++++++++-- .../mapper/erpCountry/ErpCountryMapper.xml | 7 ++++ 4 files changed, 75 insertions(+), 5 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java index e39317e01..a55282432 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java @@ -2,19 +2,23 @@ package com.mhd.oms.application.service.erpCountry; import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.common.security.utils.SecurityUtils; import com.mhd.oms.domain.erpCountry.entity.ErpCountry; import com.mhd.oms.domain.erpCountry.repository.mapper.ErpCountryMapper; import com.mhd.oms.domain.erpCountry.repository.po.ErpCountryPO; import com.mhd.oms.interfaces.dto.erpCountry.ErpCountryDTO; +import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; import java.util.List; @Service @Slf4j -public class ErpCountryApplicationService { +public class ErpCountryApplicationService{ @Resource private ErpCountryMapper erpCountryMapper; @@ -30,4 +34,34 @@ public class ErpCountryApplicationService { } + + public int insert(ErpCountryDTO erpCountryDTO) { + ErpCountry erpCountry = new ErpCountry(); + BeanUtils.copyProperties(erpCountryDTO, erpCountry); + erpCountry.setPushStatus(1); + erpCountry.setDelFlag(1); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null) { + erpCountry.setCreateBy(loginUser.getUserid()); + erpCountry.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + erpCountry.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + } + erpCountry.setCreateTime(new Date()); + return erpCountryMapper.insert(erpCountry); + } + + public int update(ErpCountryDTO erpCountryDTO) { + ErpCountry erpCountry = new ErpCountry(); + BeanUtils.copyProperties(erpCountryDTO, erpCountry); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null) { + erpCountry.setUpdateBy(loginUser.getUserid()); + erpCountry.setUpdateTime(new Date()); + } + return erpCountryMapper.updateById(erpCountry); + } + + public int deleteByIds(List idList) { + return erpCountryMapper.deleteByIds(idList); + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/mapper/ErpCountryMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/mapper/ErpCountryMapper.java index 434d4a3c4..2d8e6fedf 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/mapper/ErpCountryMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/mapper/ErpCountryMapper.java @@ -1,6 +1,7 @@ package com.mhd.oms.domain.erpCountry.repository.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mhd.oms.domain.erpCountry.entity.ErpCountry; import com.mhd.oms.domain.erpCountry.repository.po.ErpCountryPO; import com.mhd.oms.interfaces.dto.erpCountry.ErpCountryDTO; @@ -10,7 +11,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper -public interface ErpCountryMapper { +public interface ErpCountryMapper extends BaseMapper { /** * @@ -18,4 +19,6 @@ public interface ErpCountryMapper { * @return */ List queryList(@Param("erpCountryDTO") ErpCountryDTO erpCountryDTO); + + int deleteByIds(@Param("idList") List idList); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java index b17ea0881..038560e02 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java @@ -2,15 +2,17 @@ package com.mhd.oms.interfaces.facade.erpCountry; import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.application.service.erpCountry.ErpCountryApplicationService; import com.mhd.oms.interfaces.dto.erpCountry.ErpCountryDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; @Api(tags = "企业国别管理") @@ -27,5 +29,29 @@ public class ErpCountryApi extends BaseController{ return erpCountryApplicationService.queryList(erpCountryDTO); } + @ApiOperation("编辑企业国别") + @PostMapping("/edit") + public AjaxResult edit(@RequestBody ErpCountryDTO erpCountryDTO) { + if (erpCountryDTO.getId() != null) { + return toAjax(erpCountryApplicationService.update(erpCountryDTO)); + } else { + return toAjax(erpCountryApplicationService.insert(erpCountryDTO)); + } + } + + + @ApiOperation("删除企业国别") + @DeleteMapping("/deleteBatch") + public AjaxResult deleteBatch(@RequestParam("ids") String ids) { + if (ids == null || ids.isEmpty()) { + return AjaxResult.error("没有选择要删除的数据"); + } + List idList = new ArrayList<>(); + for (String id : ids.split(",")) { + idList.add(Long.parseLong(id)); + } + return toAjax(erpCountryApplicationService.deleteByIds(idList)); + } + } diff --git a/mhd_oms/src/main/resources/mapper/erpCountry/ErpCountryMapper.xml b/mhd_oms/src/main/resources/mapper/erpCountry/ErpCountryMapper.xml index 72ef2edf0..d3ac78fc3 100644 --- a/mhd_oms/src/main/resources/mapper/erpCountry/ErpCountryMapper.xml +++ b/mhd_oms/src/main/resources/mapper/erpCountry/ErpCountryMapper.xml @@ -23,4 +23,11 @@ ORDER BY CREATE_TIME DESC + + UPDATE ERP_COUNTRY SET DEL_FLAG = 0 WHERE ID IN + + #{id} + + + \ No newline at end of file From 9b67df1e8882e27b26e973c525ab4281d040d4be Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 7 May 2026 18:29:40 +0800 Subject: [PATCH 041/418] =?UTF-8?q?OMS-GW-=E4=BC=81=E4=B8=9A=E5=9B=BD?= =?UTF-8?q?=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpCountryApplicationService.java | 117 ++++++++++++++++++ .../facade/erpCountry/ErpCountryApi.java | 5 + 2 files changed, 122 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java index a55282432..1a6e1a377 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java @@ -1,28 +1,46 @@ package com.mhd.oms.application.service.erpCountry; +import com.alibaba.fastjson.JSONObject; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.oms.domain.erpCountry.entity.ErpCountry; import com.mhd.oms.domain.erpCountry.repository.mapper.ErpCountryMapper; import com.mhd.oms.domain.erpCountry.repository.po.ErpCountryPO; +import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; import com.mhd.oms.interfaces.dto.erpCountry.ErpCountryDTO; import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.IOException; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service @Slf4j public class ErpCountryApplicationService{ + private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String API_NAME = "saveCountry"; @Resource private ErpCountryMapper erpCountryMapper; + @Resource + private GwLogMapper gwLogMapper; + public TableDataInfo queryList(ErpCountryDTO erpCountryDTO) { List list = erpCountryMapper.queryList(erpCountryDTO); TableDataInfo tableDataInfo = new TableDataInfo(); @@ -64,4 +82,103 @@ public class ErpCountryApplicationService{ public int deleteByIds(List idList) { return erpCountryMapper.deleteByIds(idList); } + + public AjaxResult batchPush(List dtoList) { + if (dtoList == null || dtoList.isEmpty()) { + return AjaxResult.error("没有数据需要推送"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long pushBy = loginUser != null ? loginUser.getUserid() : null; + Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; + Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; + String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; + + int successCount = 0; + int failCount = 0; + StringBuilder failMsg = new StringBuilder(); + + for (ErpCountryDTO dto : dtoList) { + Map body = new HashMap<>(); + body.put("erpCountryCode", dto.getErpCountryCode()); + body.put("erpCountryName", dto.getErpCountryName()); + + GwLog gwLog = new GwLog(); + gwLog.setType("企业国别"); + gwLog.setBusinessId(String.valueOf(dto.getId())); + gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setResponseBody(""); + gwLog.setStatus(1); + gwLog.setSendTime(new Date()); + gwLog.setOrganizationId(organizationId); + gwLog.setTopOrganizationId(topOrganizationId); + gwLog.setOrganizationName(organizationName); + gwLog.setCreateBy(pushBy); + gwLog.setCreateTime(new Date()); + gwLog.setDelFlag(1); + gwLogMapper.insert(gwLog); + + updatePushStatus(dto.getId(), 2, new Date(), pushBy); + + CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(PUSH_API_URL); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(body), "UTF-8"); + httpPost.setEntity(postingString); + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("apiName", API_NAME); + + try { + CloseableHttpResponse response = httpClient.execute(httpPost); + String responseString = EntityUtils.toString(response.getEntity()); + gwLog.setResponseBody(responseString); + + if (response.getStatusLine().getStatusCode() == 200) { + gwLog.setStatus(2); + updatePushStatus(dto.getId(), 3, new Date(), pushBy); + successCount++; + } else { + gwLog.setStatus(3); + gwLog.setErrorMsg(responseString); + updatePushStatus(dto.getId(), 4, new Date(), pushBy); + failCount++; + failMsg.append("erpCountryCode:").append(dto.getErpCountryCode()).append("失败;"); + } + gwLogMapper.updateById(gwLog); + response.close(); + } catch (IOException e) { + gwLog.setStatus(3); + gwLog.setErrorMsg(e.getMessage()); + gwLogMapper.updateById(gwLog); + updatePushStatus(dto.getId(), 4, new Date(), pushBy); + failCount++; + failMsg.append("erpCountryCode:").append(dto.getErpCountryCode()).append("异常:").append(e.getMessage()).append(";"); + log.error("企业国别推送异常: id={}, error={}", dto.getId(), e.getMessage()); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + log.error("关闭httpClient异常: {}", e.getMessage()); + } + } + } + + String resultMsg = "推送完成: 成功" + successCount + "条, 失败" + failCount + "条"; + if (failCount > 0) { + resultMsg += "[" + failMsg.toString() + "]"; + } + return AjaxResult.success(resultMsg); + } + + private void updatePushStatus(Long id, Integer pushStatus, Date pushTime, Long pushBy) { + ErpCountry entity = new ErpCountry(); + entity.setId(id); + entity.setPushStatus(pushStatus); + if (pushTime != null) { + entity.setPushTime(pushTime); + } + if (pushBy != null) { + entity.setPushBy(String.valueOf(pushBy)); + } + erpCountryMapper.updateById(entity); + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java index 038560e02..afdd6e8c9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java @@ -53,5 +53,10 @@ public class ErpCountryApi extends BaseController{ return toAjax(erpCountryApplicationService.deleteByIds(idList)); } + @ApiOperation("批量推送企业国别") + @PostMapping("/batchPush") + public AjaxResult batchPush(@RequestBody List dtoList) { + return erpCountryApplicationService.batchPush(dtoList); + } } From 8c3d44d7da8bb78c8274c6e76e2615dae43f8482 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 7 May 2026 18:49:37 +0800 Subject: [PATCH 042/418] =?UTF-8?q?OMS-GW-=E4=BC=81=E4=B8=9A=E5=9B=BD?= =?UTF-8?q?=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erpCountry/ErpCountryApplicationService.java | 4 ++++ .../mhd/oms/domain/erpCountry/entity/ErpCountry.java | 6 ------ .../interfaces/facade/erpCountry/ErpCountryApi.java | 11 +++++++++++ .../resources/mapper/erpCountry/ErpCountryMapper.xml | 12 +++++------- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java index 1a6e1a377..ef545052f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java @@ -181,4 +181,8 @@ public class ErpCountryApplicationService{ } erpCountryMapper.updateById(entity); } + + public ErpCountry getById(Long id) { + return erpCountryMapper.selectById(id); + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/entity/ErpCountry.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/entity/ErpCountry.java index 9aa16f177..2bbb7b0cf 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/entity/ErpCountry.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/entity/ErpCountry.java @@ -29,9 +29,6 @@ public class ErpCountry implements Serializable { @ApiModelProperty("ERP国别名称") private String erpCountryName; - @ApiModelProperty("备注") - private String remark; - @ApiModelProperty("推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") private Integer pushStatus; @@ -55,9 +52,6 @@ public class ErpCountry implements Serializable { @ApiModelProperty("创建人") private Long createBy; - @ApiModelProperty("创建人姓名") - private String createByName; - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("创建时间") diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java index afdd6e8c9..fb5c8beb2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java @@ -5,6 +5,7 @@ import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.application.service.erpCountry.ErpCountryApplicationService; +import com.mhd.oms.domain.erpCountry.entity.ErpCountry; import com.mhd.oms.interfaces.dto.erpCountry.ErpCountryDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -59,4 +60,14 @@ public class ErpCountryApi extends BaseController{ return erpCountryApplicationService.batchPush(dtoList); } + @ApiOperation("获取企业国别详情") + @GetMapping("/getInfo") + public AjaxResult getInfo(Long id) { + if (id == null) { + return AjaxResult.error("ID不能为空"); + } + ErpCountry erpCountry = erpCountryApplicationService.getById(id); + return AjaxResult.success(erpCountry); + } + } diff --git a/mhd_oms/src/main/resources/mapper/erpCountry/ErpCountryMapper.xml b/mhd_oms/src/main/resources/mapper/erpCountry/ErpCountryMapper.xml index d3ac78fc3..e56558ea3 100644 --- a/mhd_oms/src/main/resources/mapper/erpCountry/ErpCountryMapper.xml +++ b/mhd_oms/src/main/resources/mapper/erpCountry/ErpCountryMapper.xml @@ -3,22 +3,20 @@ From 84fdb36465582565304e4a4d6a4ad9f0b9c0ec18 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 7 May 2026 18:57:43 +0800 Subject: [PATCH 043/418] =?UTF-8?q?OMS-GW-=E4=BC=81=E4=B8=9A=E5=8D=95?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpEnterpriseUnitApplicationService.java | 4 ++++ .../erpEnterpriseUnit/ErpEnterpriseUnitApi.java | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java index 07a24d3e6..bfff5115e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java @@ -185,4 +185,8 @@ public class ErpEnterpriseUnitApplicationService { } return erpEnterpriseUnitMapper.deleteByIds(idList); } + + public ErpEnterpriseUnit getById(Long id) { + return erpEnterpriseUnitMapper.selectById(id); + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java index 9ab418e71..025e34fb3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java @@ -5,6 +5,7 @@ import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.application.service.erpEnterpriseUnit.ErpEnterpriseUnitApplicationService; +import com.mhd.oms.domain.erpEnterpriseUnit.entity.ErpEnterpriseUnit; import com.mhd.oms.domain.erpEnterpriseUnit.repository.todo.ErpEnterpriseUnitDO; import com.mhd.oms.interfaces.assembler.erpEnterpriseUnit.ErpEnterpriseUnitAssembler; import com.mhd.oms.interfaces.dto.erpEnterpriseUnit.ErpEnterpriseUnitDTO; @@ -71,5 +72,15 @@ public class ErpEnterpriseUnitApi extends BaseController { return toAjax(erpEnterpriseUnitApplicationService.deleteByIds(idList)); } + @ApiOperation("获取企业单位详情") + @GetMapping("/getInfo") + public AjaxResult getInfo(Long id) { + if (id == null) { + return AjaxResult.error("ID不能为空"); + } + ErpEnterpriseUnit erpEnterpriseUnit = erpEnterpriseUnitApplicationService.getById(id); + return AjaxResult.success(erpEnterpriseUnit); + } + } From ea2f070bfc30d0dc89fdc0ece80d440321132c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 7 May 2026 21:14:55 +0800 Subject: [PATCH 044/418] =?UTF-8?q?hs=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MaterialBaseInfoApplicationService.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java index 8879dc1c6..065e374f3 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java @@ -444,6 +444,8 @@ public class MaterialBaseInfoApplicationService { if (StringUtils.isBlank(row.getHsCode()) && StringUtils.isNotBlank(row.getHsCodeImport())) { row.setHsCode(row.getHsCodeImport().trim()); } + // Excel 表头错位或重复时,HS 可能被读入「物料条形码」列;与 HS 完全相同时视为误填,保留 hsCode、清空条码 + normalizeImportBarCodeWhenDuplicateOfHs(row); fillOrganizationName(row, loginUser); String shipperCode = StringUtils.defaultString(row.getShipperCode(), ""); @@ -964,6 +966,25 @@ public class MaterialBaseInfoApplicationService { } } + /** + * 导入约定:「HS码/HS编码」与「物料条形码」为不同列。模板表头错位或两列误填相同 HS 时, + * barCode 会与 hsCode 相同;此时保留 hsCode,清空主表/子表条码,避免 HS 写入 bar_code。 + */ + private void normalizeImportBarCodeWhenDuplicateOfHs(MaterialBaseInfoDTO row) { + if (row == null) { + return; + } + if (StringUtils.isBlank(row.getBarCode())) { + row.setBarCode(null); + return; + } + row.setBarCode(row.getBarCode().trim()); + String hs = StringUtils.isNotBlank(row.getHsCode()) ? row.getHsCode().trim() : ""; + if (StringUtils.isNotBlank(hs) && row.getBarCode().equals(hs)) { + row.setBarCode(null); + } + } + private List buildImportBarCodeList(MaterialBaseInfoDTO row) { if (StringUtils.isBlank(row.getBarCode())) { return null; From 326bd9089bb52fa8bef55f556f410f2cc3ef64ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 8 May 2026 08:45:32 +0800 Subject: [PATCH 045/418] =?UTF-8?q?feign=E6=94=B9=E4=B8=BA=E6=AD=A3?= =?UTF-8?q?=E5=BC=8Furl;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index c4b4d8db4..ce67818f8 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index cdb81ac6f..74b14a737 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index e9518c713..a30cd0746 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.5:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48ccc2788..815c7f04e 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -19,7 +19,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** From 32d56a9a1d8c502a52fc8345ffed498300c7297a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Fri, 8 May 2026 09:03:48 +0800 Subject: [PATCH 046/418] =?UTF-8?q?=E5=87=BA=E5=BA=93=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persistence/OutMaterialDetailImpl.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/persistence/OutMaterialDetailImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/persistence/OutMaterialDetailImpl.java index 2a483b3f5..29de9624a 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/persistence/OutMaterialDetailImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/persistence/OutMaterialDetailImpl.java @@ -201,12 +201,18 @@ public class OutMaterialDetailImpl extends ServiceImpl materialBaseInfos = materialBaseInfoMapper.selectList(new QueryWrapper().lambda().eq(MaterialBaseInfo::getMaterialCode, materialNo)); if (!CollectionUtils.isEmpty(materialBaseInfos) && materialBaseInfos.size() > 0) { - outMaterialDetail.setCommodityName(materialBaseInfos.get(0).getMaterialName()); - outMaterialDetail.setBarCode(materialBaseInfos.get(0).getBarCode()); - outMaterialDetail.setPackName(materialBaseInfos.get(0).getPackName()); - outMaterialDetail.setPackCode(materialBaseInfos.get(0).getPackCode()); - outMaterialDetail.setUnitCode(materialBaseInfos.get(0).getUnitCode()); - outMaterialDetail.setUnitName(materialBaseInfos.get(0).getUnitName()); + MaterialBaseInfo mbi = materialBaseInfos.get(0); + outMaterialDetail.setCommodityName(mbi.getMaterialName()); + // 主数据未维护条码时不写入明细,避免误带主表 bar_code(如历史脏数据);有维护再回填 + if (StringUtils.isNotBlank(mbi.getBarCode())) { + outMaterialDetail.setBarCode(mbi.getBarCode().trim()); + } else { + outMaterialDetail.setBarCode(null); + } + outMaterialDetail.setPackName(mbi.getPackName()); + outMaterialDetail.setPackCode(mbi.getPackCode()); + outMaterialDetail.setUnitCode(mbi.getUnitCode()); + outMaterialDetail.setUnitName(mbi.getUnitName()); } outMaterialDetailList.add(outMaterialDetail); } From ab7534e1343e09f6bc4eecc58b784c34fe7a65b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 8 May 2026 09:27:43 +0800 Subject: [PATCH 047/418] =?UTF-8?q?oms=E9=85=8D=E7=BD=AE=E8=A1=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0shipperid;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms/domain/sysTableConfig/entity/SysTableConfig.java | 6 ++++++ .../sysTableConfig/repository/po/SysTableConfigPO.java | 6 ++++++ .../sysTableConfig/repository/todo/SysTableConfigDTO.java | 6 ++++++ .../sysTableConfig/repository/vo/SysTableConfigVO.java | 6 ++++++ 4 files changed, 24 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/entity/SysTableConfig.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/entity/SysTableConfig.java index 075cc15c4..35cfd93b2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/entity/SysTableConfig.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/entity/SysTableConfig.java @@ -28,6 +28,12 @@ public class SysTableConfig extends BaseVOEntity { @ApiModelProperty("仓库ID") @Excel(name = "仓库ID") private Long warehouseId; + /* + * 客户id + * */ + @ApiModelProperty("客户id") + @Excel(name = "客户id") + private Long shipperId; /**组织ID*/ @ApiModelProperty(value = "组织ID") @Excel(name = "组织ID", width = 15) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/po/SysTableConfigPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/po/SysTableConfigPO.java index e1fce72eb..c903ae2df 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/po/SysTableConfigPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/po/SysTableConfigPO.java @@ -26,6 +26,12 @@ public class SysTableConfigPO extends BaseVOEntity { @ApiModelProperty("仓库ID") @Excel(name = "仓库ID") private Long warehouseId; + /* + * 客户id + * */ + @ApiModelProperty("客户id") + @Excel(name = "客户id") + private Long shipperId; /**组织ID*/ @ApiModelProperty(value = "组织ID") @Excel(name = "组织ID", width = 15) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java index 3d81212cc..65d41ccfd 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java @@ -27,6 +27,12 @@ public class SysTableConfigDTO extends BaseVOEntity { @ApiModelProperty("仓库ID") @Excel(name = "仓库ID") private Long warehouseId; + /* + * 客户id + * */ + @ApiModelProperty("客户id") + @Excel(name = "客户id") + private Long shipperId; /**组织ID*/ @ApiModelProperty(value = "组织ID") @Excel(name = "组织ID", width = 15) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java index 63846ee83..960428eae 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java @@ -27,6 +27,12 @@ public class SysTableConfigVO extends BaseVOEntity { @ApiModelProperty("仓库ID") @Excel(name = "仓库ID") private Long warehouseId; + /* + * 客户id + * */ + @ApiModelProperty("客户id") + @Excel(name = "客户id") + private Long shipperId; /**组织ID*/ @ApiModelProperty(value = "组织ID") @Excel(name = "组织ID", width = 15) From e467193f0390ed882f992668c3c2c955e414d1fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 8 May 2026 09:52:36 +0800 Subject: [PATCH 048/418] =?UTF-8?q?oms=E9=85=8D=E7=BD=AE=E8=A1=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0shipperid;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/facade/ISysTableConfigService.java | 4 ++-- .../repository/mapper/SysTableConfigMapper.java | 10 +++++----- .../persistence/SysTableConfigServiceImpl.java | 12 ++++++------ .../facade/sysTableConfig/SysTableConfigApi.java | 10 ++++++---- .../mapper/sysTableConfig/SysTableConfigMapper.xml | 3 +++ 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/facade/ISysTableConfigService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/facade/ISysTableConfigService.java index b026e1ffb..8a4fc9f8f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/facade/ISysTableConfigService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/facade/ISysTableConfigService.java @@ -25,14 +25,14 @@ public interface ISysTableConfigService extends IService { * @param key 配置键 * @return 配置信息 */ - SysTableConfig getByOrgIdAndKey(Long organizationId, String key,Long warehouseId); + SysTableConfig getByOrgIdAndKey(Long organizationId, String key,Long warehouseId,Long shipperId); /** * 根据组织 ID 查询所有配置 * @param organizationId 组织 ID * @return 配置列表 */ - List listByOrgId(Long organizationId,Long warehouseId); + List listByOrgId(Long organizationId,Long warehouseId,Long shipperId); /** * 保存或更新配置(根据组织 ID 和键判断是新增还是更新) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/mapper/SysTableConfigMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/mapper/SysTableConfigMapper.java index db7843ef9..583fc18c6 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/mapper/SysTableConfigMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/mapper/SysTableConfigMapper.java @@ -23,16 +23,16 @@ public interface SysTableConfigMapper extends BaseMapper { * @param key 配置键 * @return 配置信息 */ - @Select("SELECT * FROM sys_table_config WHERE organization_id = #{organizationId} AND key = #{key} and warehouse_id = #{warehouseId}") - SysTableConfig getByOrgIdAndKey(@Param("organizationId") Long organizationId, @Param("key") String key, @Param("warehouseId") Long warehouseId); + @Select("SELECT * FROM sys_table_config WHERE organization_id = #{organizationId} AND key = #{key} and warehouse_id = #{warehouseId} and shipper_id = #{shipperId}") + SysTableConfig getByOrgIdAndKey(@Param("organizationId") Long organizationId, @Param("key") String key, @Param("warehouseId") Long warehouseId, @Param("shipperId") Long shipperId); /** * 根据组织 ID 查询所有配置 * @param organizationId 组织 ID * @return 配置列表 */ - @Select("SELECT * FROM sys_table_config WHERE organization_id = #{organizationId} and warehouse_id = #{warehouseId} ORDER BY create_time DESC") - List listByOrgId(@Param("organizationId") Long organizationId, @Param("warehouseId") Long warehouseId); + @Select("SELECT * FROM sys_table_config WHERE organization_id = #{organizationId} and warehouse_id = #{warehouseId} and shipper_id = #{shipperId} ORDER BY create_time DESC") + List listByOrgId(@Param("organizationId") Long organizationId, @Param("warehouseId") Long warehouseId, @Param("shipperId") Long shipperId); /** * 分页查询配置列表 @@ -43,5 +43,5 @@ public interface SysTableConfigMapper extends BaseMapper { */ List queryList(Page page, @Param("organizationId") Long organizationId, - @Param("key") String key, @Param("warehouseId") Long warehouseId); + @Param("key") String key, @Param("warehouseId") Long warehouseId, @Param("shipperId") Long shipperId); } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java index 9a6789653..cbed4e5c3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java @@ -41,30 +41,30 @@ public class SysTableConfigServiceImpl extends ServiceImpl list = sysTableConfigMapper.queryList(page, sysTableConfigDTO.getOrganizationId() != null ? sysTableConfigDTO.getOrganizationId().longValue() : null, - sysTableConfigDTO.getKey(), sysTableConfigDTO.getWarehouseId()); + sysTableConfigDTO.getKey(), sysTableConfigDTO.getWarehouseId(), sysTableConfigDTO.getShipperId()); return page.setRecords(list); } @Override - public SysTableConfig getByOrgIdAndKey(Long organizationId, String key,Long warehouseId) { + public SysTableConfig getByOrgIdAndKey(Long organizationId, String key, Long warehouseId, Long shipperId) { if (organizationId == null || StringUtils.isBlank(key)) { throw new ServiceException("组织 ID 和键不能为空"); } if (warehouseId == null) { throw new ServiceException("仓库 ID 不能为空"); } - return sysTableConfigMapper.getByOrgIdAndKey(organizationId, key,warehouseId); + return sysTableConfigMapper.getByOrgIdAndKey(organizationId, key, warehouseId, shipperId); } @Override - public List listByOrgId(Long organizationId, Long warehouseId) { + public List listByOrgId(Long organizationId, Long warehouseId, Long shipperId) { if (organizationId == null) { throw new ServiceException("组织 ID 不能为空"); } if (warehouseId == null) { throw new ServiceException("仓库 ID 不能为空"); } - return sysTableConfigMapper.listByOrgId(organizationId, warehouseId); + return sysTableConfigMapper.listByOrgId(organizationId, warehouseId, shipperId); } @Override @@ -90,7 +90,7 @@ public class SysTableConfigServiceImpl extends ServiceImpl getByOrgIdAndKey(@RequestParam(name="organizationId") Long organizationId, - @RequestParam(name="warehouseId") Long warehouseId, + @RequestParam(name="warehouseId", required=false) Long warehouseId, + @RequestParam(name="shipperId", required=false) Long shipperId, @RequestParam(name="key") String key) { try { - SysTableConfig config = sysTableConfigService.getByOrgIdAndKey(organizationId, key, warehouseId); + SysTableConfig config = sysTableConfigService.getByOrgIdAndKey(organizationId, key, warehouseId,shipperId); if (config == null) { return Result.ok("未找到对应配置"); } @@ -85,9 +86,10 @@ public class SysTableConfigApi extends BaseController { @ApiOperation(value = "系统表配置 - 根据组织 ID 查询所有配置", notes = "系统表配置 - 根据组织 ID 查询所有配置") @GetMapping(value = "/listByOrgId") public Result listByOrgId(@RequestParam(name="organizationId") Long organizationId, - @RequestParam(name="warehouseId") Long warehouseId) { + @RequestParam(name="warehouseId", required=false) Long warehouseId, + @RequestParam(name="shipperId", required=false) Long shipperId) { try { - List list = sysTableConfigService.listByOrgId(organizationId, warehouseId); + List list = sysTableConfigService.listByOrgId(organizationId, warehouseId, shipperId); return Result.ok(list); } catch (Exception e) { log.error(e.getMessage(), e); diff --git a/mhd_oms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml b/mhd_oms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml index 4ae5fc852..ec6de0967 100644 --- a/mhd_oms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml +++ b/mhd_oms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml @@ -28,6 +28,9 @@ AND a.warehouse_id = #{warehouseId} + + AND a.shipper_id = #{shipperId} + AND a.key LIKE CONCAT('%', #{key}, '%') From c62ccf943ee11fe6be85638076b47872f5f5df35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 8 May 2026 09:57:31 +0800 Subject: [PATCH 049/418] =?UTF-8?q?oms=E9=85=8D=E7=BD=AE=E8=A1=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0shipperid;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/persistence/SysTableConfigServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java index cbed4e5c3..7e7fa228b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java @@ -50,8 +50,8 @@ public class SysTableConfigServiceImpl extends ServiceImpl Date: Fri, 8 May 2026 10:00:11 +0800 Subject: [PATCH 050/418] =?UTF-8?q?BI=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-bi/sql/create_bi_comprehensive_dm.sql | 31 +++++++++---- .../create_bi_platform_surveillance_dm.sql | 46 +++++++++++++------ .../sql/create_bi_warehouse_transport_dm.sql | 34 ++++++++++---- mhd-bi/sql/sql.sql | 15 ++++++ .../BiReportSnapshotMapperSupport.java | 2 +- .../facadeApi/biReport/BiReportApi.java | 12 ++--- .../BiComprehensiveReportMapper.xml | 5 +- .../BiPlatformSurveillanceReportMapper.xml | 5 +- .../BiWarehouseTransportReportMapper.xml | 5 +- 9 files changed, 109 insertions(+), 46 deletions(-) create mode 100644 mhd-bi/sql/sql.sql diff --git a/mhd-bi/sql/create_bi_comprehensive_dm.sql b/mhd-bi/sql/create_bi_comprehensive_dm.sql index d6758b80d..d15ff69f1 100644 --- a/mhd-bi/sql/create_bi_comprehensive_dm.sql +++ b/mhd-bi/sql/create_bi_comprehensive_dm.sql @@ -2,30 +2,43 @@ -- 达梦 DM8:综合态势(单表,可重复执行) -- 接口:GET /biReport/comprehensive -- 执行顺序:删除历史多表/旧快照 → 建 BI_COMPREHENSIVE_SNAPSHOT → 示例 INSERT --- PAYLOAD_JSON 与 ComprehensiveSituationVO 字段名一致;应用取 UPDATE_TIME 最新一条。 +-- PAYLOAD_JSON 与 ComprehensiveSituationVO 字段名一致;接口取 DEL_FLAG=1 且 CREATE_TIME 最新一条。 -- ============================================================================= -- 子表优先 -DROP TABLE IF EXISTS BI_COMPREHENSIVE_INCOME_TREND; -DROP TABLE IF EXISTS BI_COMPREHENSIVE_METRIC; -DROP TABLE IF EXISTS BI_COMPREHENSIVE_SNAPSHOT; +DROP TABLE IF EXISTS +BI_COMPREHENSIVE_INCOME_TREND; +DROP TABLE IF EXISTS +BI_COMPREHENSIVE_METRIC; +DROP TABLE IF EXISTS +BI_COMPREHENSIVE_SNAPSHOT; -CREATE TABLE BI_COMPREHENSIVE_SNAPSHOT ( +CREATE TABLE +BI_COMPREHENSIVE_SNAPSHOT ( ID BIGINT IDENTITY(1,1) NOT NULL, PAYLOAD_JSON CLOB NOT NULL, CREATE_TIME DATETIME DEFAULT NULL, UPDATE_TIME DATETIME DEFAULT NULL, REMARK VARCHAR(500) DEFAULT NULL, + DEL_FLAG NUMBER(1) DEFAULT 1 NOT NULL, PRIMARY KEY (ID) ); -CREATE INDEX IDX_BI_COMP_SNAP_UPD ON BI_COMPREHENSIVE_SNAPSHOT(UPDATE_TIME); -COMMENT ON TABLE BI_COMPREHENSIVE_SNAPSHOT IS '综合态势-整包 JSON 快照'; +CREATE INDEX IDX_BI_COMP_SNAP_DEL_CR ON +BI_COMPREHENSIVE_SNAPSHOT(DEL_FLAG, CREATE_TIME); +CREATE INDEX IDX_BI_COMP_SNAP_UPD ON +BI_COMPREHENSIVE_SNAPSHOT(UPDATE_TIME); +COMMENT ON TABLE +BI_COMPREHENSIVE_SNAPSHOT IS '综合态势-整包 JSON 快照'; +COMMENT ON COLUMN +BI_COMPREHENSIVE_SNAPSHOT.DEL_FLAG IS '0无状态 1正常 2已删除'; -INSERT INTO BI_COMPREHENSIVE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME) +INSERT INTO +BI_COMPREHENSIVE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG) VALUES ( '{"valueAddedServiceIncome":5330000,"inventoryTurnover":25,"orderCount":42300,"vehicleUtilizationRate":97.4,"fuelConsumptionPerHundredKm":15,"incomeTrend":[280,210,260,310,470,390]}', SYSDATE, - SYSDATE + SYSDATE, + 1 ); COMMIT; diff --git a/mhd-bi/sql/create_bi_platform_surveillance_dm.sql b/mhd-bi/sql/create_bi_platform_surveillance_dm.sql index 9b91607c7..29c8b7736 100644 --- a/mhd-bi/sql/create_bi_platform_surveillance_dm.sql +++ b/mhd-bi/sql/create_bi_platform_surveillance_dm.sql @@ -2,34 +2,52 @@ -- 达梦 DM8:月台监测(单表,可重复执行) -- 接口:GET /biReport/platformSurveillance -- 执行顺序:删除历史多表/旧快照 → 建 BI_PLATFORM_SURVEILLANCE_SNAPSHOT → 示例 INSERT --- PAYLOAD_JSON 与 PlatformSurveillanceVO 一致;应用 ORDER BY UPDATE_TIME DESC LIMIT 1。 +-- PAYLOAD_JSON 与 PlatformSurveillanceVO 一致;接口取 DEL_FLAG=1 且 CREATE_TIME 最新一条。 -- ============================================================================= -DROP TABLE IF EXISTS BI_PS_ALARM_DIST; -DROP TABLE IF EXISTS BI_PS_TASK_TYPE; -DROP TABLE IF EXISTS BI_PS_ALARM_TREND; -DROP TABLE IF EXISTS BI_PS_TASK_LOAD; -DROP TABLE IF EXISTS BI_PS_AVG_DURATION_TREND; -DROP TABLE IF EXISTS BI_PS_VEHICLE; -DROP TABLE IF EXISTS BI_PLATFORM_SURVEILLANCE_METRIC; -DROP TABLE IF EXISTS BI_PLATFORM_SURVEILLANCE_SNAPSHOT; +DROP TABLE IF EXISTS +BI_PS_ALARM_DIST; +DROP TABLE IF EXISTS +BI_PS_TASK_TYPE; +DROP TABLE IF EXISTS +BI_PS_ALARM_TREND; +DROP TABLE IF EXISTS +BI_PS_TASK_LOAD; +DROP TABLE IF EXISTS +BI_PS_AVG_DURATION_TREND; +DROP TABLE IF EXISTS +BI_PS_VEHICLE; +DROP TABLE IF EXISTS +BI_PLATFORM_SURVEILLANCE_METRIC; +DROP TABLE IF EXISTS +BI_PLATFORM_SURVEILLANCE_SNAPSHOT; -CREATE TABLE BI_PLATFORM_SURVEILLANCE_SNAPSHOT ( +CREATE TABLE +BI_PLATFORM_SURVEILLANCE_SNAPSHOT ( ID BIGINT IDENTITY(1,1) NOT NULL, PAYLOAD_JSON CLOB NOT NULL, CREATE_TIME DATETIME DEFAULT NULL, UPDATE_TIME DATETIME DEFAULT NULL, REMARK VARCHAR(500) DEFAULT NULL, + DEL_FLAG NUMBER(1) DEFAULT 1 NOT NULL, PRIMARY KEY (ID) ); -CREATE INDEX IDX_BI_PS_SNAP_UPD ON BI_PLATFORM_SURVEILLANCE_SNAPSHOT(UPDATE_TIME); -COMMENT ON TABLE BI_PLATFORM_SURVEILLANCE_SNAPSHOT IS '月台监测-整包 JSON 快照'; +CREATE INDEX IDX_BI_PS_SNAP_DEL_CR ON +BI_PLATFORM_SURVEILLANCE_SNAPSHOT(DEL_FLAG, CREATE_TIME); +CREATE INDEX IDX_BI_PS_SNAP_UPD ON +BI_PLATFORM_SURVEILLANCE_SNAPSHOT(UPDATE_TIME); +COMMENT ON TABLE +BI_PLATFORM_SURVEILLANCE_SNAPSHOT IS '月台监测-整包 JSON 快照'; +COMMENT ON COLUMN +BI_PLATFORM_SURVEILLANCE_SNAPSHOT.DEL_FLAG IS '0无状态 1正常 2已删除'; -INSERT INTO BI_PLATFORM_SURVEILLANCE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME) +INSERT INTO +BI_PLATFORM_SURVEILLANCE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG) VALUES ( '{"vehicles":[{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"已离园","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265},{"plateNumber":"粤CFR1958","status":"作业中","platformId":"#48","platformDuration":265}],"efficiencyStatistics":{"entryOvertimeRate":60,"overtimeCount":45,"platformOnTimeRate":92,"avgPlatformDuration":4.5,"yardOnTimeRate":88,"avgYardDuration":4.5},"platformOverview":{"totalPlatforms":43,"currentOccupancyRate":50,"operatingPlatforms":23,"todayTasks":324},"vehicleStatus":{"todayReservedVehicles":3000,"notCheckedIn":1500,"operatingVehicles":1000,"completedVehicles":1000},"avgOperationDurationTrend":[{"month":"11月","yardDuration":10,"platformDuration":23},{"month":"12月","yardDuration":14,"platformDuration":15},{"month":"1月","yardDuration":23.5,"platformDuration":20},{"month":"2月","yardDuration":22,"platformDuration":17},{"month":"3月","yardDuration":13,"platformDuration":14},{"month":"4月","yardDuration":17,"platformDuration":10}],"monthlyTaskStatistics":{"taskTotal":1455,"taskTotalYoY":5,"avgTaskDuration":4.5,"avgDurationYoY":-5,"taskCompletionRate":95,"completionRateYoY":5},"taskLoadStatistics":[{"time":"15时","taskCount":100},{"time":"16时","taskCount":110},{"time":"17时","taskCount":115},{"time":"18时","taskCount":80},{"time":"19时","taskCount":60},{"time":"20时","taskCount":40},{"time":"21时","taskCount":40},{"time":"22时","taskCount":40},{"time":"23时","taskCount":30},{"time":"0时","taskCount":10},{"time":"1时","taskCount":10},{"time":"2时","taskCount":10},{"time":"3时","taskCount":10},{"time":"4时","taskCount":10},{"time":"5时","taskCount":10},{"time":"6时","taskCount":20},{"time":"7时","taskCount":30},{"time":"8时","taskCount":70},{"time":"9时","taskCount":95},{"time":"10时","taskCount":110},{"time":"11时","taskCount":120},{"time":"12时","taskCount":130},{"time":"13时","taskCount":130}],"platformAlarmTrend":[{"date":"11日","alarmCount":10},{"date":"12日","alarmCount":14},{"date":"13日","alarmCount":23},{"date":"14日","alarmCount":22},{"date":"15日","alarmCount":13},{"date":"16日","alarmCount":17},{"date":"17日","alarmCount":8}],"taskTypeStatistics":{"totalTasks":4325,"taskTypes":[{"type":"类型1","count":2400},{"type":"类型2","count":2300},{"type":"类型3","count":2300},{"type":"类型4","count":2300}]},"platformAlarmStatistics":{"todayAlarmTotal":13,"handled":12,"unhandled":1},"platformAlarmDistribution":[{"type":"类型1","count":300},{"type":"类型2","count":245},{"type":"类型3","count":280},{"type":"类型4","count":340},{"type":"类型5","count":455},{"type":"类型6","count":400},{"type":"类型7","count":300}]}', SYSDATE, - SYSDATE + SYSDATE, + 1 ); COMMIT; diff --git a/mhd-bi/sql/create_bi_warehouse_transport_dm.sql b/mhd-bi/sql/create_bi_warehouse_transport_dm.sql index 9bf319dd8..62a83b121 100644 --- a/mhd-bi/sql/create_bi_warehouse_transport_dm.sql +++ b/mhd-bi/sql/create_bi_warehouse_transport_dm.sql @@ -2,30 +2,44 @@ -- 达梦 DM8:仓储运输(单表,可重复执行) -- 接口:GET /biReport/warehouseTransport -- 执行顺序:删除历史多表/旧快照 → 建 BI_WAREHOUSE_TRANSPORT_SNAPSHOT → 示例 INSERT --- PAYLOAD_JSON 与 WarehouseTransportSituationVO 字段名一致;应用取 UPDATE_TIME 最新一条。 +-- PAYLOAD_JSON 与 WarehouseTransportSituationVO 字段名一致;接口取 DEL_FLAG=1 且 CREATE_TIME 最新一条。 -- ============================================================================= -DROP TABLE IF EXISTS BI_WTS_CUSTOMER_RANK; -DROP TABLE IF EXISTS BI_WTS_TIME_SERIES; -DROP TABLE IF EXISTS BI_WAREHOUSE_TRANSPORT_METRIC; -DROP TABLE IF EXISTS BI_WAREHOUSE_TRANSPORT_SNAPSHOT; +DROP TABLE IF EXISTS +BI_WTS_CUSTOMER_RANK; +DROP TABLE IF EXISTS +BI_WTS_TIME_SERIES; +DROP TABLE IF EXISTS +BI_WAREHOUSE_TRANSPORT_METRIC; +DROP TABLE IF EXISTS +BI_WAREHOUSE_TRANSPORT_SNAPSHOT; -CREATE TABLE BI_WAREHOUSE_TRANSPORT_SNAPSHOT ( +CREATE TABLE +BI_WAREHOUSE_TRANSPORT_SNAPSHOT ( ID BIGINT IDENTITY(1,1) NOT NULL, PAYLOAD_JSON CLOB NOT NULL, CREATE_TIME DATETIME DEFAULT NULL, UPDATE_TIME DATETIME DEFAULT NULL, REMARK VARCHAR(500) DEFAULT NULL, + DEL_FLAG NUMBER(1) DEFAULT 1 NOT NULL, PRIMARY KEY (ID) ); -CREATE INDEX IDX_BI_WTS_SNAP_UPD ON BI_WAREHOUSE_TRANSPORT_SNAPSHOT(UPDATE_TIME); -COMMENT ON TABLE BI_WAREHOUSE_TRANSPORT_SNAPSHOT IS '仓储运输-整包 JSON 快照'; +CREATE INDEX IDX_BI_WTS_SNAP_DEL_CR ON +BI_WAREHOUSE_TRANSPORT_SNAPSHOT(DEL_FLAG, CREATE_TIME); +CREATE INDEX IDX_BI_WTS_SNAP_UPD ON +BI_WAREHOUSE_TRANSPORT_SNAPSHOT(UPDATE_TIME); +COMMENT ON TABLE +BI_WAREHOUSE_TRANSPORT_SNAPSHOT IS '仓储运输-整包 JSON 快照'; +COMMENT ON COLUMN +BI_WAREHOUSE_TRANSPORT_SNAPSHOT.DEL_FLAG IS '0无状态 1正常 2已删除'; -INSERT INTO BI_WAREHOUSE_TRANSPORT_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME) +INSERT INTO +BI_WAREHOUSE_TRANSPORT_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG) VALUES ( '{"warehouseDistributionOnTimeRate":99.2,"currentYearOrders":525440,"currentQuarterOrders":225120,"currentMonthOrders":23560,"warehouseOrderTrend":[100,93,85,70,98,88],"throughput":[10,14,23,10,13,19],"currentMonthTurnoverRate":3,"currentYearTurnoverRate":4,"inventoryTurnoverTrend":[10,14,23,22,13,17],"totalTransportIncome":5850,"orderCount":856,"transportTrips":533,"annualTransportVolume":15,"transportOrderTotal":4325,"crossBorderTransportOrder":2400,"domesticTransportOrder":2300,"transportTripsTrend":[100,140,230,100,130,192],"vehicleUtilizationRate":[600,460,350,470,450,620],"warehouseDockSyncRate":[100,98,87,78,97,86],"customerContributionRank":{"customerName":["客户A","客户B","客户C","客户D","客户E"],"customerAmount":[147,150,170,160,180]}}', SYSDATE, - SYSDATE + SYSDATE, + 1 ); COMMIT; diff --git a/mhd-bi/sql/sql.sql b/mhd-bi/sql/sql.sql new file mode 100644 index 000000000..b48b5724b --- /dev/null +++ b/mhd-bi/sql/sql.sql @@ -0,0 +1,15 @@ +ALTER TABLE BI_COMPREHENSIVE_SNAPSHOT + ADD (DEL_FLAG TINYINT DEFAULT 1); + +COMMENT ON COLUMN BI_COMPREHENSIVE_SNAPSHOT.DEL_FLAG IS '删除标志:0-无状态, 1-正常, 2-已删除'; + +ALTER TABLE BI_PLATFORM_SURVEILLANCE_SNAPSHOT + ADD (DEL_FLAG TINYINT DEFAULT 1); + +COMMENT ON COLUMN BI_PLATFORM_SURVEILLANCE_SNAPSHOT.DEL_FLAG IS '删除标志:0-无状态, 1-正常, 2-已删除'; + + +ALTER TABLE BI_WAREHOUSE_TRANSPORT_SNAPSHOT + ADD (DEL_FLAG TINYINT DEFAULT 1); + +COMMENT ON COLUMN BI_WAREHOUSE_TRANSPORT_SNAPSHOT.DEL_FLAG IS '删除标志:0-无状态, 1-正常, 2-已删除'; \ No newline at end of file diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java index a3f6f7979..6d6086d4c 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java @@ -12,7 +12,7 @@ import java.util.Collections; import java.util.function.Supplier; /** - * Mapper 层使用的快照 JSON 解析与空态(SQL 仅定义在对应 Mapper.xml) + * Mapper 层使用的快照 JSON 解析与空态(SQL 仅定义在对应 Mapper.xml;查询条件见各 XML:DEL_FLAG=1,按 CREATE_TIME 取最新) */ @Slf4j public final class BiReportSnapshotMapperSupport { diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java index b5a17897e..fafae14c3 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java @@ -38,9 +38,9 @@ public class BiReportApi extends BaseController { /** - * 综合态势指标查询 + * 综合态势指标查询(按照 del_flag=1,按 create_time 最新一条) */ - @ApiOperation("综合态势指标查询") + @ApiOperation(value = "综合态势指标查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条") @GetMapping("/comprehensive") public BiApiResult comprehensive() { ComprehensiveSituationVO data = biComprehensiveReportService.loadLatestComprehensive(); @@ -48,9 +48,9 @@ public class BiReportApi extends BaseController { } /** - * 仓储运输指标查询 + * 仓储运输指标查询(按照 del_flag=1,按 create_time 最新一条) */ - @ApiOperation("仓储运输指标查询") + @ApiOperation(value = "仓储运输指标查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条") @GetMapping("/warehouseTransport") public BiApiResult warehouseTransport() { WarehouseTransportSituationVO data = biWarehouseTransportReportService.loadLatestWarehouseTransport(); @@ -58,9 +58,9 @@ public class BiReportApi extends BaseController { } /** - * 月台监测指标查询 + * 月台监测指标查询(按照 del_flag=1,按 create_time 最新一条) */ - @ApiOperation("月台监测指标查询") + @ApiOperation(value = "月台监测指标查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条快照") @GetMapping("/platformSurveillance") public BiApiResult platformSurveillance() { PlatformSurveillanceVO data = biPlatformSurveillanceReportService.loadLatestPlatformSurveillance(); diff --git a/mhd-bi/src/main/resources/mapper/biComprehensive/BiComprehensiveReportMapper.xml b/mhd-bi/src/main/resources/mapper/biComprehensive/BiComprehensiveReportMapper.xml index b71fd5735..b0339bb32 100644 --- a/mhd-bi/src/main/resources/mapper/biComprehensive/BiComprehensiveReportMapper.xml +++ b/mhd-bi/src/main/resources/mapper/biComprehensive/BiComprehensiveReportMapper.xml @@ -5,8 +5,9 @@ diff --git a/mhd-bi/src/main/resources/mapper/biPlatformSurveillance/BiPlatformSurveillanceReportMapper.xml b/mhd-bi/src/main/resources/mapper/biPlatformSurveillance/BiPlatformSurveillanceReportMapper.xml index c29740c99..5e240368c 100644 --- a/mhd-bi/src/main/resources/mapper/biPlatformSurveillance/BiPlatformSurveillanceReportMapper.xml +++ b/mhd-bi/src/main/resources/mapper/biPlatformSurveillance/BiPlatformSurveillanceReportMapper.xml @@ -5,8 +5,9 @@ diff --git a/mhd-bi/src/main/resources/mapper/biWarehouseTransport/BiWarehouseTransportReportMapper.xml b/mhd-bi/src/main/resources/mapper/biWarehouseTransport/BiWarehouseTransportReportMapper.xml index 0692697bc..8811f62f6 100644 --- a/mhd-bi/src/main/resources/mapper/biWarehouseTransport/BiWarehouseTransportReportMapper.xml +++ b/mhd-bi/src/main/resources/mapper/biWarehouseTransport/BiWarehouseTransportReportMapper.xml @@ -5,8 +5,9 @@ From e8b4201a1c225842a0a638b13f77cb92da766b76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 8 May 2026 10:11:34 +0800 Subject: [PATCH 051/418] =?UTF-8?q?oms=E9=85=8D=E7=BD=AE=E8=A1=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0shipperid;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/persistence/SysTableConfigServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java index 7e7fa228b..731bafc70 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/persistence/SysTableConfigServiceImpl.java @@ -61,8 +61,8 @@ public class SysTableConfigServiceImpl extends ServiceImpl Date: Fri, 8 May 2026 10:18:16 +0800 Subject: [PATCH 052/418] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83fei?= =?UTF-8?q?gn=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index ce67818f8..238124640 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE,url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 74b14a737..cdb81ac6f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index a30cd0746..e9518c713 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.5:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 815c7f04e..48ccc2788 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -19,7 +19,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** From 5235076d2dd614e4db5d25c6c31c870399278b50 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 8 May 2026 11:06:49 +0800 Subject: [PATCH 053/418] OMS-GW-log --- .../gwLog/GwLogApplicationService.java | 41 ++++++++++++ .../gwLog/repository/mapper/GwLogMapper.java | 11 ++++ .../domain/gwLog/repository/po/GwLogPO.java | 63 +++++++++++++++++++ .../oms/interfaces/dto/gwLog/GwLogDTO.java | 39 ++++++++++++ .../oms/interfaces/facade/gwLog/GwLogApi.java | 39 ++++++++++++ .../resources/mapper/gwLog/GwLogMapper.xml | 27 ++++++++ 6 files changed, 220 insertions(+) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/po/GwLogPO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/gwLog/GwLogDTO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/gwLog/GwLogApi.java create mode 100644 mhd_oms/src/main/resources/mapper/gwLog/GwLogMapper.xml diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java new file mode 100644 index 000000000..1575df9b8 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java @@ -0,0 +1,41 @@ +package com.mhd.oms.application.service.gwLog; + + +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; +import com.mhd.oms.domain.gwLog.repository.po.GwLogPO; +import com.mhd.oms.interfaces.dto.gwLog.GwLogDTO; +import com.mhd.system.api.model.LoginUser; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@Slf4j +public class GwLogApplicationService { + + + private final GwLogMapper gwLogMapper; + + public GwLogApplicationService(GwLogMapper gwLogMapper) { + this.gwLogMapper = gwLogMapper; + } + + public TableDataInfo queryList(GwLogDTO gwLogDTO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null){ + Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + if (topOrganizationId != null && topOrganizationId != 1){ + gwLogDTO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + } + } + List list = gwLogMapper.queryList(gwLogDTO); + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setData(list); + tableDataInfo.setTotal(list.size()); + tableDataInfo.setCode(200); + return tableDataInfo; + } +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java index 65484ad4b..2ae8cdc6d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java @@ -2,9 +2,20 @@ package com.mhd.oms.domain.gwLog.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.domain.gwLog.repository.po.GwLogPO; +import com.mhd.oms.interfaces.dto.gwLog.GwLogDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface GwLogMapper extends BaseMapper { + /** + * + * @param gwLogDTO + * @return + */ + List queryList(GwLogDTO gwLogDTO); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/po/GwLogPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/po/GwLogPO.java new file mode 100644 index 000000000..0b40de423 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/po/GwLogPO.java @@ -0,0 +1,63 @@ +package com.mhd.oms.domain.gwLog.repository.po; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + + +@Data +public class GwLogPO { + + @ApiModelProperty("日志id") + private Long logId; + + @ApiModelProperty("类型") + private String type; + + @ApiModelProperty("业务ID") + private String businessId; + + @ApiModelProperty("请求报文") + private String requestBody; + + @ApiModelProperty("响应报文") + private String responseBody; + + @ApiModelProperty("状态(1-初始,2-成功,3-失败)") + private Integer status; + + @ApiModelProperty("错误信息") + private String errorMsg; + + @ApiModelProperty("推送时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date sendTime; + + @ApiModelProperty("组织ID") + private Long organizationId; + + @ApiModelProperty("一级组织ID") + private Long topOrganizationId; + + @ApiModelProperty("组织名称") + private String organizationName; + + @ApiModelProperty("创建人") + private Long createBy; + + @ApiModelProperty("创建时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty("删除标记:1-正常,0-删除") + private Integer delFlag; + +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/gwLog/GwLogDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/gwLog/GwLogDTO.java new file mode 100644 index 000000000..4b46e8df9 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/gwLog/GwLogDTO.java @@ -0,0 +1,39 @@ +package com.mhd.oms.interfaces.dto.gwLog; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +@Data +public class GwLogDTO { + + + @ApiModelProperty("日志类型") + private String type; + + @ApiModelProperty("业务Id") + private Long businessId; + + @ApiModelProperty("状态:1-初始 2-成功 3-失败") + private Integer status; + + @ApiModelProperty("组织id") + private Long organizationId ; + + @ApiModelProperty("推送时间起") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String sendTimeFrom; + + @ApiModelProperty("推送时间止") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String sendTimeTo; + + @ApiModelProperty("一级组织id") + private Long topOrganizationId ; + +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/gwLog/GwLogApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/gwLog/GwLogApi.java new file mode 100644 index 000000000..5e0c5f0ff --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/gwLog/GwLogApi.java @@ -0,0 +1,39 @@ +package com.mhd.oms.interfaces.facade.gwLog; + + +import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.oms.application.service.gwLog.GwLogApplicationService; +import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.interfaces.dto.gwLog.GwLogDTO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + + +@Api(tags = "GW日志管理") +@RestController +@RequestMapping("/gwLogApi") +public class GwLogApi extends BaseController { + + @Resource + private GwLogApplicationService gwLogApplicationService; + + + @ApiOperation("查询GW日志") + @GetMapping("/queryList") + public TableDataInfo queryList(GwLogDTO gwLogDTO){ + startPage(); + return gwLogApplicationService.queryList(gwLogDTO); + + } + + + +} diff --git a/mhd_oms/src/main/resources/mapper/gwLog/GwLogMapper.xml b/mhd_oms/src/main/resources/mapper/gwLog/GwLogMapper.xml new file mode 100644 index 000000000..adbd43daa --- /dev/null +++ b/mhd_oms/src/main/resources/mapper/gwLog/GwLogMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + \ No newline at end of file From 2c92b9e6411519e0aec68142f65371bff51cea52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Fri, 8 May 2026 11:38:38 +0800 Subject: [PATCH 054/418] =?UTF-8?q?BIToken=E8=AE=A4=E8=AF=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/bi/config/BiAccessProperties.java | 18 ++++++ .../config/BiReportAccessConfiguration.java | 25 ++++++++ .../bi/config/BiReportAccessTokenFilter.java | 60 +++++++++++++++++++ .../biReport/support/BiSnapshotDelFlag.java | 18 ++++++ .../facadeApi/biReport/BiReportApi.java | 2 +- mhd-bi/src/main/resources/bootstrap.yml | 6 ++ 6 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 mhd-bi/src/main/java/com/mhd/bi/config/BiAccessProperties.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/config/BiReportAccessConfiguration.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/config/BiReportAccessTokenFilter.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiSnapshotDelFlag.java diff --git a/mhd-bi/src/main/java/com/mhd/bi/config/BiAccessProperties.java b/mhd-bi/src/main/java/com/mhd/bi/config/BiAccessProperties.java new file mode 100644 index 000000000..e038e9aa5 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/config/BiAccessProperties.java @@ -0,0 +1,18 @@ +package com.mhd.bi.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * BI 开放接口访问控制(请求头 {@code X-BI-Access-Token})。 + *

配置了 {@code accessToken} 时必须与请求头完全一致;未配置时仅校验请求头非空。

+ */ +@Data +@ConfigurationProperties(prefix = "mhd.bi") +public class BiAccessProperties { + + /** + * 与 X-BI-Access-Token 比对的密钥;为空则只要请求头非空即可 + */ + private String accessToken = ""; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/config/BiReportAccessConfiguration.java b/mhd-bi/src/main/java/com/mhd/bi/config/BiReportAccessConfiguration.java new file mode 100644 index 000000000..5f5cfb19d --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/config/BiReportAccessConfiguration.java @@ -0,0 +1,25 @@ +package com.mhd.bi.config; + +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; + +/** + * 注册 /biReport 路径的访问令牌校验 + */ +@Configuration +@EnableConfigurationProperties(BiAccessProperties.class) +public class BiReportAccessConfiguration { + + @Bean + public FilterRegistrationBean biReportAccessTokenFilter(BiAccessProperties properties) { + FilterRegistrationBean registration = new FilterRegistrationBean<>(); + registration.setFilter(new BiReportAccessTokenFilter(properties)); + registration.addUrlPatterns("/biReport/*"); + registration.setOrder(Ordered.HIGHEST_PRECEDENCE + 100); + registration.setName("biReportAccessTokenFilter"); + return registration; + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/config/BiReportAccessTokenFilter.java b/mhd-bi/src/main/java/com/mhd/bi/config/BiReportAccessTokenFilter.java new file mode 100644 index 000000000..de9cc6675 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/config/BiReportAccessTokenFilter.java @@ -0,0 +1,60 @@ +package com.mhd.bi.config; + +import org.springframework.lang.NonNull; +import org.springframework.util.StringUtils; +import org.springframework.web.filter.OncePerRequestFilter; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.nio.charset.StandardCharsets; + +/** + * 限制 /biReport 下接口必须携带 {@code X-BI-Access-Token},否则 401。 + */ +public class BiReportAccessTokenFilter extends OncePerRequestFilter { + + private static final String UNAUTHORIZED_MSG = "未认证,请提供有效的访问Token"; + + public static final String HEADER_X_BI_ACCESS_TOKEN = "X-BI-Access-Token"; + + private final BiAccessProperties accessProperties; + + public BiReportAccessTokenFilter(BiAccessProperties accessProperties) { + this.accessProperties = accessProperties; + } + + @Override + protected void doFilterInternal(@NonNull HttpServletRequest request, + @NonNull HttpServletResponse response, + @NonNull FilterChain filterChain) throws ServletException, IOException { + if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { + filterChain.doFilter(request, response); + return; + } + + String presented = request.getHeader(HEADER_X_BI_ACCESS_TOKEN); + if (!StringUtils.hasText(presented)) { + writeUnauthorized(response); + return; + } + + String expected = accessProperties.getAccessToken(); + if (StringUtils.hasText(expected) && !expected.equals(presented)) { + writeUnauthorized(response); + return; + } + + filterChain.doFilter(request, response); + } + + private static void writeUnauthorized(HttpServletResponse response) throws IOException { + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + response.setCharacterEncoding(StandardCharsets.UTF_8.name()); + response.setContentType("application/json;charset=UTF-8"); + String body = "{\"code\":401,\"msg\":\"" + UNAUTHORIZED_MSG.replace("\"", "\\\"") + "\"}"; + response.getOutputStream().write(body.getBytes(StandardCharsets.UTF_8)); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiSnapshotDelFlag.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiSnapshotDelFlag.java new file mode 100644 index 000000000..2e6f83d1f --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiSnapshotDelFlag.java @@ -0,0 +1,18 @@ +package com.mhd.bi.domain.biReport.support; + +/** + * BI 快照表 {@code DEL_FLAG} 取值(三张 *\_SNAPSHOT 表一致)。 + *

查询接口仅返回 {@link #NORMAL}。

+ */ +public final class BiSnapshotDelFlag { + + /** 无状态 */ + public static final int NONE = 0; + /** 正常(接口查询可见) */ + public static final int NORMAL = 1; + /** 已删除(逻辑删除,接口不返回) */ + public static final int DELETED = 2; + + private BiSnapshotDelFlag() { + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java index fafae14c3..753219b74 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java @@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController; /** * BI 报表接口 */ -@Api(tags = "BI报表") +@Api(tags = "BI报表", description = "须在请求头携带 X-BI-Access-Token,与配置 mhd.bi.access-token 一致") @Slf4j @RestController @RequestMapping("/biReport") diff --git a/mhd-bi/src/main/resources/bootstrap.yml b/mhd-bi/src/main/resources/bootstrap.yml index 83148b69b..0ae3bc43a 100644 --- a/mhd-bi/src/main/resources/bootstrap.yml +++ b/mhd-bi/src/main/resources/bootstrap.yml @@ -1,6 +1,12 @@ # Tomcat server: port: 8021 + +# BI 报表开放接口(/biReport):请求头 X-BI-Access-Token 须与 mhd.bi.access-token 一致 +mhd: + bi: + access-token: BI_TOKEN_8x7kL9mN2pQr5vWy3zA6cB + # Spring spring: application: From e059b80071e90bab6a81955c79b3e9e5d6da17f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 8 May 2026 14:11:02 +0800 Subject: [PATCH 055/418] =?UTF-8?q?wms=E4=B8=8A=E6=9E=B6=E6=96=B0=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E5=86=BB=E7=BB=93=E6=95=B0=E9=87=8F=E6=9C=89=E5=80=BC?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/persistence/MaterialInventoryImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java index 6d3ef620f..19e88a9e9 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java @@ -871,7 +871,7 @@ public class MaterialInventoryImpl extends ServiceImpl Date: Fri, 8 May 2026 14:13:46 +0800 Subject: [PATCH 056/418] =?UTF-8?q?feign=E6=AD=A3=E5=BC=8F=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 238124640..055817bad 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE,url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE,url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index cdb81ac6f..74b14a737 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index e9518c713..a30cd0746 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.5:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48ccc2788..815c7f04e 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -19,7 +19,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** From 8bc716dabf63083f1b7dd9cbbb4a1513b98f473b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 8 May 2026 14:56:53 +0800 Subject: [PATCH 057/418] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/SysTableConfigMapper.java | 4 +- .../sysTableConfig/SysTableConfigMapper.xml | 42 +++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/mapper/SysTableConfigMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/mapper/SysTableConfigMapper.java index 583fc18c6..23a7bcc69 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/mapper/SysTableConfigMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/mapper/SysTableConfigMapper.java @@ -23,7 +23,7 @@ public interface SysTableConfigMapper extends BaseMapper { * @param key 配置键 * @return 配置信息 */ - @Select("SELECT * FROM sys_table_config WHERE organization_id = #{organizationId} AND key = #{key} and warehouse_id = #{warehouseId} and shipper_id = #{shipperId}") + //@Select("SELECT * FROM sys_table_config WHERE organization_id = #{organizationId} AND key = #{key} and warehouse_id = #{warehouseId} and shipper_id = #{shipperId}") SysTableConfig getByOrgIdAndKey(@Param("organizationId") Long organizationId, @Param("key") String key, @Param("warehouseId") Long warehouseId, @Param("shipperId") Long shipperId); /** @@ -31,7 +31,7 @@ public interface SysTableConfigMapper extends BaseMapper { * @param organizationId 组织 ID * @return 配置列表 */ - @Select("SELECT * FROM sys_table_config WHERE organization_id = #{organizationId} and warehouse_id = #{warehouseId} and shipper_id = #{shipperId} ORDER BY create_time DESC") + //@Select("SELECT * FROM sys_table_config WHERE organization_id = #{organizationId} and warehouse_id = #{warehouseId} and shipper_id = #{shipperId} ORDER BY create_time DESC") List listByOrgId(@Param("organizationId") Long organizationId, @Param("warehouseId") Long warehouseId, @Param("shipperId") Long shipperId); /** diff --git a/mhd_oms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml b/mhd_oms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml index ec6de0967..e37164b91 100644 --- a/mhd_oms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml +++ b/mhd_oms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml @@ -2,6 +2,48 @@ + + + + @@ -653,7 +657,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.organization_name, a.top_organization_id, a.batch_number, - a.in_order_number,a.lot_number + a.in_order_number, + a.lot_number, + a.update_time inventory_update_time, + ( + SELECT MAX(c.update_time) + FROM picking_material_detail c + LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER + left join STOCK_OUT_ORDER e ON d.ORDER_NUMBER = e.OUT_ORDER_NUMBER + WHERE + c.del_flag = 1 and d.STATUS = 3 and e.STATUS = 7 + AND d.warehouse_id = a.warehouse_id + AND (a.shipper_id IS NULL OR d.shipper_id = a.shipper_id) + AND c.material_base_info_id = a.material_base_info_id + AND c.MATERIAL_INVENTORY_ID = a.MATERIAL_INVENTORY_ID + ) pick_last_update_time, + ( + SELECT MAX(c.update_time) + FROM OUT_MATERIAL_DETAIL c + LEFT JOIN STOCK_OUT_ORDER d ON c.OUT_ORDER_NUMBER = d.OUT_ORDER_NUMBER + LEFT JOIN HANDOVER_TASK_ORDER e ON d.OUT_ORDER_NUMBER = e.ORDER_NUMBER + WHERE + d.CHECK_STATUS in (2,3) and e.STATUS = 1 and d.STATUS in (8,12) + AND d.DEL_FLAG = 1 + AND c.DEL_FLAG = 1 + and e.del_flag = 1 + AND d.warehouse_id = a.warehouse_id + AND (a.shipper_id IS NULL OR d.shipper_id = a.shipper_id) + AND c.material_base_info_id = a.material_base_info_id + AND c.MATERIAL_INVENTORY_ID = a.MATERIAL_INVENTORY_ID + ) check_last_update_time, + GREATEST( + IFNULL(a.update_time, '1970-01-01 00:00:00'), + IFNULL(( + SELECT MAX(c.update_time) + FROM picking_material_detail c + LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER + left join STOCK_OUT_ORDER e ON d.ORDER_NUMBER = e.OUT_ORDER_NUMBER + WHERE + c.del_flag = 1 and d.STATUS = 3 and e.STATUS = 7 + AND d.warehouse_id = a.warehouse_id + AND (a.shipper_id IS NULL OR d.shipper_id = a.shipper_id) + AND c.material_base_info_id = a.material_base_info_id + AND c.MATERIAL_INVENTORY_ID = a.MATERIAL_INVENTORY_ID + ), '1970-01-01 00:00:00'), + IFNULL(( + SELECT MAX(c.update_time) + FROM OUT_MATERIAL_DETAIL c + LEFT JOIN STOCK_OUT_ORDER d ON c.OUT_ORDER_NUMBER = d.OUT_ORDER_NUMBER + LEFT JOIN HANDOVER_TASK_ORDER e ON d.OUT_ORDER_NUMBER = e.ORDER_NUMBER + WHERE + d.CHECK_STATUS in (2,3) and e.STATUS = 1 and d.STATUS in (8,12) + AND d.DEL_FLAG = 1 + AND c.DEL_FLAG = 1 + and e.del_flag = 1 + AND d.warehouse_id = a.warehouse_id + AND (a.shipper_id IS NULL OR d.shipper_id = a.shipper_id) + AND c.material_base_info_id = a.material_base_info_id + AND c.MATERIAL_INVENTORY_ID = a.MATERIAL_INVENTORY_ID + ), '1970-01-01 00:00:00') + ) latest_change_time FROM material_inventory a left join material_base_info b on a.material_base_info_id=b.material_base_info_id @@ -925,6 +988,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.freeze_quantity < #{freezeQuantityEnd} + ORDER BY GREATEST( + IFNULL(a.update_time, '1970-01-01 00:00:00'), + IFNULL(( + SELECT MAX(c.update_time) + FROM picking_material_detail c + LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER + left join STOCK_OUT_ORDER e ON d.ORDER_NUMBER = e.OUT_ORDER_NUMBER + WHERE + c.del_flag = 1 and d.STATUS = 3 and e.STATUS = 7 + AND d.warehouse_id = a.warehouse_id + AND (a.shipper_id IS NULL OR d.shipper_id = a.shipper_id) + AND c.material_base_info_id = a.material_base_info_id + AND c.MATERIAL_INVENTORY_ID = a.MATERIAL_INVENTORY_ID + ), '1970-01-01 00:00:00'), + IFNULL(( + SELECT MAX(c.update_time) + FROM OUT_MATERIAL_DETAIL c + LEFT JOIN STOCK_OUT_ORDER d ON c.OUT_ORDER_NUMBER = d.OUT_ORDER_NUMBER + LEFT JOIN HANDOVER_TASK_ORDER e ON d.OUT_ORDER_NUMBER = e.ORDER_NUMBER + WHERE + d.CHECK_STATUS in (2,3) and e.STATUS = 1 and d.STATUS in (8,12) + AND d.DEL_FLAG = 1 + AND c.DEL_FLAG = 1 + and e.del_flag = 1 + AND d.warehouse_id = a.warehouse_id + AND (a.shipper_id IS NULL OR d.shipper_id = a.shipper_id) + AND c.material_base_info_id = a.material_base_info_id + AND c.MATERIAL_INVENTORY_ID = a.MATERIAL_INVENTORY_ID + ), '1970-01-01 00:00:00') + ) DESC, a.material_inventory_id DESC select - * - from expense_account + a.* + from expense_account a left join service_items_manage b ON a.service_items_manage_id = b.service_items_manage_id where - del_flag = 1 - and status = 1 - and first_subject_flag = 1 + a.del_flag = 1 + and a.status = 1 + and a.first_subject_flag = 1 select - * - from settlement_customers - where del_flag = 1 + a.*,b.SETTLEMENT_CURRENCY + from settlement_customers a left join "NGWL_TEST_USER"."USER_SHIPPER" b on a.settlement_entity_id = b.user_id + where a.del_flag = 1 ORDER BY create_time IS NULL, create_time DESC @@ -106,40 +107,40 @@ - and settlement_entity like concat('%', #{settlementCustomersDO.settlementEntity}, '%') + and a.settlement_entity like concat('%', #{settlementCustomersDO.settlementEntity}, '%') - and settlement_customers_code like concat('%', #{settlementCustomersDO.settlementCustomersCode}, '%') + and a.settlement_customers_code like concat('%', #{settlementCustomersDO.settlementCustomersCode}, '%') - and settlement_method like concat('%', #{settlementCustomersDO.settlementMethod}, '%') + and a.settlement_method like concat('%', #{settlementCustomersDO.settlementMethod}, '%') - and remark like concat('%', #{settlementCustomersDO.remark}, '%') + and a.remark like concat('%', #{settlementCustomersDO.remark}, '%') - AND date_format(create_time,'%Y-%m-%d') =]]> #{settlementCustomersDO.createTimeStart} + AND date_format(a.create_time,'%Y-%m-%d') =]]> #{settlementCustomersDO.createTimeStart} - AND date_format(create_time,'%Y-%m-%d') #{settlementCustomersDO.createTimeEnd} + AND date_format(a.create_time,'%Y-%m-%d') #{settlementCustomersDO.createTimeEnd} - and create_by_name like concat('%', #{settlementCustomersDO.createByName}, '%') + and a.create_by_name like concat('%', #{settlementCustomersDO.createByName}, '%') - and main_role = #{settlementCustomersDO.mainRole} + and a.main_role = #{settlementCustomersDO.mainRole} - and organization_id = #{settlementCustomersDO.organizationId} + and a.organization_id = #{settlementCustomersDO.organizationId} - and top_organization_id = #{settlementCustomersDO.topOrganizationId} + and a.top_organization_id = #{settlementCustomersDO.topOrganizationId} - and customer_type = #{settlementCustomersDO.customerType} + and a.customer_type = #{settlementCustomersDO.customerType} - and customer_type_code = #{settlementCustomersDO.customerTypeCode} + and a.customer_type_code = #{settlementCustomersDO.customerTypeCode} - + \ No newline at end of file From 18f4f963596122b024a2e2f02e1fd6f0521b9f0d Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Sat, 9 May 2026 17:23:24 +0800 Subject: [PATCH 069/418] =?UTF-8?q?oms-gw=E6=8E=A8=E9=80=81-=E7=89=A9?= =?UTF-8?q?=E6=96=99=E7=AE=A1=E7=90=86=20=20=E4=BF=AE=E6=94=B9=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E5=9B=BD=E5=88=AB=E5=AD=97=E6=AE=B5=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/WmsServiceFeign.java | 7 + .../system/api/domain/MaterialInfoDTO.java | 9 ++ .../api/factory/RemoteWmsFallbackFactory.java | 5 + .../ErpCountryApplicationService.java | 2 +- .../MaterialInfoApplicationService.java | 133 ++++++++++++++++++ .../domain/erpCountry/entity/ErpCountry.java | 2 +- .../repository/po/ErpCountryPO.java | 2 +- .../facade/materialInfo/MaterialInfoApi.java | 11 +- .../MaterialBaseInfoApplicationService.java | 12 ++ .../materialBaseInfo/MaterialBaseInfoApi.java | 16 ++- 10 files changed, 192 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 29d153011..249511e40 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -99,4 +99,11 @@ public interface WmsServiceFeign { @ApiOperation("oms查询物料列表") @GetMapping("/materialBaseInfoApi/list") public AjaxResult getMaterialBaseInfoList(MaterialInfoDTO materialInfoDTO); + + @ApiOperation("oms物料列表推送-更新推送信息") + @PostMapping("/materialBaseInfoApi/updatePushStatus") + public AjaxResult updateMaterialPushStatus(@RequestParam("materialBaseInfoId") Long materialBaseInfoId, + @RequestParam("pushStatus") Integer pushStatus, + @RequestParam("pushTime") String pushTime, + @RequestParam("pushBy") Long pushBy); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialInfoDTO.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialInfoDTO.java index 27a4d5563..c27259590 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialInfoDTO.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialInfoDTO.java @@ -12,9 +12,18 @@ import lombok.Data; @ApiModel(description = "物料信息查询DTO") public class MaterialInfoDTO { + @ApiModelProperty("物料id") + private Long materialBaseInfoId; + + @ApiModelProperty("物料id") + private String materialCode; + @ApiModelProperty("物料名称") private String materialName; + @ApiModelProperty("货物类型 0-料件 1-半成品 2-成品") + private Integer goodsType; + @ApiModelProperty("组织ID") private Long organizationId; diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java index 1de843791..763cad26f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java @@ -74,6 +74,11 @@ public class RemoteWmsFallbackFactory implements FallbackFactory updateMaterialPushStatus(Long materialBaseInfoId, Integer pushStatus, String pushTime, Long pushBy) { + return AjaxResult.error(cause.getMessage()); + } }; } } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java index ef545052f..ae1b832aa 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java @@ -177,7 +177,7 @@ public class ErpCountryApplicationService{ entity.setPushTime(pushTime); } if (pushBy != null) { - entity.setPushBy(String.valueOf(pushBy)); + entity.setPushBy(pushBy); } erpCountryMapper.updateById(entity); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java index 831360140..bf31b9e85 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java @@ -1,19 +1,42 @@ package com.mhd.oms.application.service.materialInfo; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; import com.mhd.system.api.WmsServiceFeign; import com.mhd.system.api.domain.MaterialInfoDTO; +import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.io.IOException; +import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service @Slf4j public class MaterialInfoApplicationService { + private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String API_NAME = "saveOrgGoods"; + + @Resource + private GwLogMapper gwLogMapper; private final WmsServiceFeign wmsServiceFeign; @@ -35,4 +58,114 @@ public class MaterialInfoApplicationService { tableDataInfo.setMsg("查询失败"); return tableDataInfo; } + + public AjaxResult batchPush(List dtoList) { + if (dtoList == null || dtoList.isEmpty()) { + return AjaxResult.error("没有数据需要推送"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long pushBy = loginUser != null ? loginUser.getUserid() : null; + Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; + Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; + String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; + + int successCount = 0; + int failCount = 0; + StringBuilder failMsg = new StringBuilder(); + + for (MaterialInfoDTO dto : dtoList) { + Map body = new HashMap<>(); + body.put("goodsCode", dto.getMaterialCode()); + + String goodsTypeString; + if(dto.getGoodsType() == 0){ + goodsTypeString = "0"; + }else if(dto.getGoodsType() == 1){ + goodsTypeString = "1"; + }else if(dto.getGoodsType() == 2){ + goodsTypeString = "2"; + }else{ + throw new ServiceException("货物类型不存在"); + } + body.put("goodsType", goodsTypeString); + body.put("erpName", dto.getMaterialName()); + + + GwLog gwLog = new GwLog(); + gwLog.setType("物料管理"); + gwLog.setBusinessId(String.valueOf(dto.getMaterialBaseInfoId())); + gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setResponseBody(""); + gwLog.setStatus(1); + gwLog.setSendTime(new Date()); + gwLog.setOrganizationId(organizationId); + gwLog.setTopOrganizationId(topOrganizationId); + gwLog.setOrganizationName(organizationName); + gwLog.setCreateBy(pushBy); + gwLog.setCreateTime(new Date()); + gwLog.setDelFlag(1); + gwLogMapper.insert(gwLog); + + updatePushStatus(dto.getMaterialBaseInfoId(), 2, new Date(), pushBy); + + CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(PUSH_API_URL); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(body), "UTF-8"); + httpPost.setEntity(postingString); + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("apiName", API_NAME); + + try { + CloseableHttpResponse response = httpClient.execute(httpPost); + String responseString = EntityUtils.toString(response.getEntity()); + gwLog.setResponseBody(responseString); + + if (response.getStatusLine().getStatusCode() == 200) { + gwLog.setStatus(2); + updatePushStatus(dto.getMaterialBaseInfoId(), 3, new Date(), pushBy); + successCount++; + } else { + gwLog.setStatus(3); + gwLog.setErrorMsg(responseString); + updatePushStatus(dto.getMaterialBaseInfoId(), 4, new Date(), pushBy); + failCount++; + failMsg.append("materialCode:").append(dto.getMaterialCode()).append("失败;"); + } + gwLogMapper.updateById(gwLog); + response.close(); + } catch (IOException e) { + gwLog.setStatus(3); + gwLog.setErrorMsg(e.getMessage()); + gwLogMapper.updateById(gwLog); + updatePushStatus(dto.getMaterialBaseInfoId(), 4, new Date(), pushBy); + failCount++; + failMsg.append("materialCode:").append(dto.getMaterialCode()).append("异常:").append(e.getMessage()).append(";"); + log.error("物料推送异常: id={}, error={}", dto.getMaterialBaseInfoId(), e.getMessage()); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + log.error("关闭httpClient异常: {}", e.getMessage()); + } + } + } + + String resultMsg = "推送完成: 成功" + successCount + "条, 失败" + failCount + "条"; + if (failCount > 0) { + resultMsg += "[" + failMsg.toString() + "]"; + } + return AjaxResult.success(resultMsg); + } + + private void updatePushStatus(Long materialBaseInfoId, Integer pushStatus, Date pushTime, Long pushBy) { + try { + String pushTimeStr = pushTime != null ? DateUtil.format(pushTime, "yyyy-MM-dd HH:mm:ss") : null; + wmsServiceFeign.updateMaterialPushStatus(materialBaseInfoId, pushStatus, pushTimeStr, pushBy); + log.info("更新返回结果: materialBaseInfoId={}", materialBaseInfoId); + } catch (Exception e) { + log.info("更新推送状态失败: materialBaseInfoId={}, error={}", materialBaseInfoId, e.getMessage()); + } + } + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/entity/ErpCountry.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/entity/ErpCountry.java index 2bbb7b0cf..5525d2cfb 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/entity/ErpCountry.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/entity/ErpCountry.java @@ -38,7 +38,7 @@ public class ErpCountry implements Serializable { private Date pushTime; @ApiModelProperty("推送人") - private String pushBy; + private Long pushBy; @ApiModelProperty("所属组织ID") private Long organizationId; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/po/ErpCountryPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/po/ErpCountryPO.java index 2aa20e182..7ef930c85 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/po/ErpCountryPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/po/ErpCountryPO.java @@ -31,7 +31,7 @@ public class ErpCountryPO { private Date pushTime; @ApiModelProperty("推送人") - private String pushBy; + private Long pushBy; @ApiModelProperty("所属组织ID") private Long organizationId; diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/materialInfo/MaterialInfoApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/materialInfo/MaterialInfoApi.java index fa862116d..0787c3da0 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/materialInfo/MaterialInfoApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/materialInfo/MaterialInfoApi.java @@ -2,16 +2,16 @@ package com.mhd.oms.interfaces.facade.materialInfo; import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.application.service.materialInfo.MaterialInfoApplicationService; import com.mhd.system.api.domain.MaterialInfoDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; @Api(tags = "物料信息管理") @@ -30,6 +30,11 @@ public class MaterialInfoApi extends BaseController { return materialInfoApplicationService.queryList(materialInfoDTO); } + @ApiOperation("批量推送物料") + @PostMapping("/batchPush") + public AjaxResult batchPush(@RequestBody List dtoList) { + return materialInfoApplicationService.batchPush(dtoList); + } } diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java index 456706af6..db763293d 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java @@ -20,6 +20,7 @@ import com.mhd.wms.domain.materialBarCode.service.MaterialBarCodeDomainService; import com.mhd.wms.domain.materialBarCode.repository.todo.MaterialBarCodeDO; import com.mhd.wms.domain.materialBaseInfo.entity.MaterialBaseInfo; import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoService; +import com.mhd.wms.domain.materialBaseInfo.repository.mapper.MaterialBaseInfoMapper; import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO; import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO; import com.mhd.wms.domain.materialBaseInfo.service.MaterialBaseInfoDomainService; @@ -49,6 +50,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.io.InputStream; import java.util.ArrayList; import java.util.Date; @@ -97,6 +99,8 @@ public class MaterialBaseInfoApplicationService { @Autowired private IMaterialWarehouseControlService materialWarehouseControlService; + @Resource + private MaterialBaseInfoMapper materialBaseInfoMapper; /** * 分页查询物料基础信息列表 */ @@ -1148,4 +1152,12 @@ public class MaterialBaseInfoApplicationService { return orgCandidates; } + public int updatePushStatus(Long materialBaseInfoId, Integer pushStatus, Date pushTimeDate, Long pushBy) { + MaterialBaseInfo materialBaseInfo = new MaterialBaseInfo(); + materialBaseInfo.setMaterialBaseInfoId(materialBaseInfoId); + materialBaseInfo.setPushStatus(pushStatus); + materialBaseInfo.setPushTime(pushTimeDate); + materialBaseInfo.setPushBy(pushBy); + return materialBaseInfoMapper.updateById(materialBaseInfo); + } } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java index 1a50ac6ce..4cd524029 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java @@ -1,7 +1,9 @@ package com.mhd.wms.interfaces.facadeApi.materialBaseInfo; +import cn.hutool.core.date.DateUtil; import com.mhd.common.core.domain.entity.R; import com.mhd.common.core.exception.ServiceException; +import com.mhd.common.core.utils.StringUtils; import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; @@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.util.Date; import java.util.List; /** @@ -109,7 +112,18 @@ public class MaterialBaseInfoApi extends BaseController { return materialBaseInfoApplicationService.importData(file); } - + @ApiOperation("物料管理更新推送信息") + @PostMapping("/updatePushStatus") + public AjaxResult updateMaterialPushStatus(@RequestParam("materialBaseInfoId") Long materialBaseInfoId, + @RequestParam("pushStatus") Integer pushStatus, + @RequestParam("pushTime") String pushTime, + @RequestParam("pushBy") Long pushBy){ + Date pushTimeDate = null; + if (StringUtils.isNotBlank(pushTime)) { + pushTimeDate = DateUtil.parse(pushTime); + } + return toAjax(materialBaseInfoApplicationService.updatePushStatus(materialBaseInfoId, pushStatus, pushTimeDate, pushBy)); + } From 424621143dbb328ecee8ac62a5d49b99476a27fd Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Sat, 9 May 2026 19:33:36 +0800 Subject: [PATCH 070/418] =?UTF-8?q?=E7=89=A9=E6=96=99=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=B7=BB=E5=8A=A0=E6=9D=A1=E4=BB=B6=20=20oms?= =?UTF-8?q?-gw=E6=8E=A8=E9=80=81-=E7=89=A9=E6=96=99=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=9B=B4=E6=96=B0=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/WmsServiceFeign.java | 4 ++-- .../repository/todo/UserShipperDO.java | 15 +++++++++++++++ .../resources/mapper/UserShipperMapper.xml | 18 ++++++++++++++++++ .../materialBaseInfo/MaterialBaseInfoApi.java | 4 ++-- 4 files changed, 37 insertions(+), 4 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 249511e40..ad996d832 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -104,6 +104,6 @@ public interface WmsServiceFeign { @PostMapping("/materialBaseInfoApi/updatePushStatus") public AjaxResult updateMaterialPushStatus(@RequestParam("materialBaseInfoId") Long materialBaseInfoId, @RequestParam("pushStatus") Integer pushStatus, - @RequestParam("pushTime") String pushTime, - @RequestParam("pushBy") Long pushBy); + @RequestParam(value = "pushTime",required = false) String pushTime, + @RequestParam(value = "pushBy",required = false) Long pushBy); } \ No newline at end of file diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java index d58dc3547..5d0438c74 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java @@ -288,4 +288,19 @@ public class UserShipperDO extends UserDO { @ApiModelProperty(name = "备注") private String userRemark; + + @ApiModelProperty("更新时间起") + private String updateTimeFrom; + + @ApiModelProperty("更新时间止") + private String updateTimeTo; + + @ApiModelProperty("推送状态") + private Integer pushStatus; + + @ApiModelProperty("推送时间起") + private String pushTimeFrom; + + @ApiModelProperty("推送时间止") + private String pushTimeTo; } diff --git a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml index b64400011..86bf79790 100644 --- a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml +++ b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml @@ -315,6 +315,24 @@ and DATE_FORMAT(a.create_time,'%Y-%m-%d') DATE_FORMAT(#{createTimeTo},'%Y-%m-%d') + /*更新时间*/ + + and DATE_FORMAT(a.update_time,'%Y-%m-%d') >= #{updateTimeFrom} + + + and DATE_FORMAT(a.update_time,'%Y-%m-%d') <= #{updateTimeTo} + + /*推送状态*/ + + and b.push_status = #{pushStatus} + + /*推送时间*/ + + and DATE_FORMAT(b.push_time,'%Y-%m-%d') >= #{pushTimeFrom} + + + and DATE_FORMAT(b.push_time,'%Y-%m-%d') <= #{pushTimeTo} + /*审核时间*/ and DATE_FORMAT(b.shipper_fill_time,'%Y-%m-%d') =]]> diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java index 4cd524029..779f6d345 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java @@ -116,8 +116,8 @@ public class MaterialBaseInfoApi extends BaseController { @PostMapping("/updatePushStatus") public AjaxResult updateMaterialPushStatus(@RequestParam("materialBaseInfoId") Long materialBaseInfoId, @RequestParam("pushStatus") Integer pushStatus, - @RequestParam("pushTime") String pushTime, - @RequestParam("pushBy") Long pushBy){ + @RequestParam(value = "pushTime",required = false) String pushTime, + @RequestParam(value = "pushBy",required = false) Long pushBy){ Date pushTimeDate = null; if (StringUtils.isNotBlank(pushTime)) { pushTimeDate = DateUtil.parse(pushTime); From 11a0b15d198b0b4f45b7b9dd6d64b1cdeecb9dab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 11 May 2026 09:00:48 +0800 Subject: [PATCH 071/418] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persistence/AssociationWarehouseImpl.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/associationWarehouse/repository/persistence/AssociationWarehouseImpl.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/associationWarehouse/repository/persistence/AssociationWarehouseImpl.java index dc3fc8eb6..5860b8df2 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/associationWarehouse/repository/persistence/AssociationWarehouseImpl.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/associationWarehouse/repository/persistence/AssociationWarehouseImpl.java @@ -107,7 +107,31 @@ public class AssociationWarehouseImpl extends ServiceImpl().lambda() + .eq(AssociationWarehouse::getWarehouseId, associationWarehouseDO.getWarehouseId()) + .eq(AssociationWarehouse::getDelFlag, 1) + .and(w -> w.isNull(AssociationWarehouse::getIsDefault) + .or() + .ne(AssociationWarehouse::getIsDefault, 2))); + List stillBoundRows = associationWarehouseMapper.selectList(new QueryWrapper().lambda() + .eq(AssociationWarehouse::getWarehouseId, associationWarehouseDO.getWarehouseId()) + .eq(AssociationWarehouse::getDelFlag, 1)); + Set alreadyBoundCorrelationIds = stillBoundRows.stream() + .map(AssociationWarehouse::getCorrelationId) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + LinkedHashSet distinctCorrelationIds = CollectionUtils.isEmpty(associationWarehouseDO.getCorrelationIdList()) + ? new LinkedHashSet<>() + : new LinkedHashSet<>(associationWarehouseDO.getCorrelationIdList()); + for (Long correlationId : distinctCorrelationIds) { + if (correlationId == null) { + continue; + } + // 仍在库内的绑定(多为创建人默认仓 is_default=2)不再插入,否则撞唯一 IDX_ASS_COR_WAR_ID + if (alreadyBoundCorrelationIds.contains(correlationId)) { + continue; + } AssociationWarehouse associationWarehouse = new AssociationWarehouse(); associationWarehouse.setOrganizationId(loginUser.getUserPo().getOrganizationId()); associationWarehouse.setOrganizationName(loginUser.getUserPo().getOrganizationName()); @@ -121,13 +145,6 @@ public class AssociationWarehouseImpl extends ServiceImpl().lambda() - .eq(AssociationWarehouse::getWarehouseId, associationWarehouseDO.getWarehouseId()) - .eq(AssociationWarehouse::getDelFlag, 1) - .and(w -> w.isNull(AssociationWarehouse::getIsDefault) - .or() - .ne(AssociationWarehouse::getIsDefault, 2))); } return saveBatch(associationWarehouseList); } From 836e0582497fc105f42981952ca7c5cec5612861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 11 May 2026 09:06:04 +0800 Subject: [PATCH 072/418] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index dc0d1f3f3..bcea2793b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -41,6 +41,7 @@ public interface OmsServiceFeign { @GetMapping("/erpEnterpriseUnitApi/unitList") public AjaxResult getUnitList(ErpEnterpriseUnitDTO erpEnterpriseUnitDTO); + //查询企业国别列表-新增物料时显示下拉框数据 @ApiOperation("查询企业国别列表-新增物料时显示下拉框数据") @GetMapping("/erpCountryApi/countryList") public AjaxResult getCountryList(ErpCountryDTO erpCountryDTO); From 0e0bc88ecfb399ea4bc5afd592af24b39a42e901 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 11 May 2026 09:28:25 +0800 Subject: [PATCH 073/418] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E8=B4=B9?= =?UTF-8?q?=E7=94=A8=E7=99=BB=E8=AE=B0=E6=8C=89=E9=92=AE=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/stockInOrder/StockInOrderApplicationService.java | 2 +- .../service/stockOutOrder/StockOutOrderApplicationService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java index 7af387146..d1e80b821 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java @@ -192,7 +192,7 @@ public class StockInOrderApplicationService { List stockInOrderPOS = stockInOrderDomainService.queryList(stockInOrderDO); for (StockInOrderPO stockInOrderPO : stockInOrderPOS) { Long inOrderId = stockInOrderPO.getInOrderId(); - List list = receiptOrderAccountService.list(new LambdaQueryWrapper().eq(ReceiptOrderAccount::getOrderId, inOrderId)); + List list = receiptOrderAccountService.list(new LambdaQueryWrapper().eq(ReceiptOrderAccount::getOrderId, inOrderId).eq(ReceiptOrderAccount::getInOrOut, "in")); stockInOrderPO.setReceiptOrderAccountList(list); } return stockInOrderPOS; diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java index f1a4a255f..80f9f16b9 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java @@ -210,7 +210,7 @@ public class StockOutOrderApplicationService { Map> accountByOrderId = Collections.emptyMap(); if (!CollectionUtils.isEmpty(orderIds)) { List accounts = receiptOrderAccountService.list( - new LambdaQueryWrapper().in(ReceiptOrderAccount::getOrderId, orderIds)); + new LambdaQueryWrapper().in(ReceiptOrderAccount::getOrderId, orderIds).eq(ReceiptOrderAccount::getInOrOut, "out")); accountByOrderId = accounts.stream().collect(Collectors.groupingBy(ReceiptOrderAccount::getOrderId)); } From 7198b01a23737df2d36a59b714faf063e503e74d Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Mon, 11 May 2026 13:50:24 +0800 Subject: [PATCH 074/418] =?UTF-8?q?oms-=E8=BF=90=E8=BE=93=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E5=8D=95-=E6=96=B0=E5=A2=9E=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=BF=9B=E5=87=BA=E5=8F=A3=E6=96=B9=E5=BC=8F=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/BusinessDocumentOrder.java | 4 ++++ .../repository/po/BusinessDocumentOrderPO.java | 9 +++++++++ .../repository/todo/BusinessDocumentOrderDO.java | 3 +++ .../businessDocumentOrder/BusinessDocumentOrderDTO.java | 3 +++ .../BusinessDocumentOrderMapper.xml | 1 + 5 files changed, 20 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java index 7aae3b309..69d8e48ce 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java @@ -756,4 +756,8 @@ public class BusinessDocumentOrder extends BaseVOEntity{ @ApiModelProperty("仓库负责人电话") private String directorPhone; + + @ApiModelProperty("进出口方式:I-进口,E-出口") + private String ieType; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java index d82d72f6d..8490ea181 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java @@ -765,6 +765,15 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{ @ApiModelProperty("出入库单号") private String inOrderNumber; + @ApiModelProperty("仓库负责人") + private String directorName; + + @ApiModelProperty("仓库负责人电话") + private String directorPhone; + + @ApiModelProperty("进出口方式:I-进口,E-出口") + private String ieType; + @ApiModelProperty("执行单") private List executeOrderList; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java index b0dcb690b..3a9648d5b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java @@ -790,6 +790,9 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{ @ApiModelProperty("仓库负责人电话") private String directorPhone; + @ApiModelProperty("进出口方式:I-进口,E-出口") + private String ieType; + @ApiModelProperty("费用科目明细") private List businessOrderAccountList; diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java index 6e75b9a37..bb159aa82 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java @@ -777,6 +777,9 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{ @ApiModelProperty("仓库负责人电话") private String directorPhone; + @ApiModelProperty("进出口方式:I-进口,E-出口") + private String ieType; + @ApiModelProperty("业务单地址集合") private List businessDocumentAddressMultiDTOList; diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index ff5421695..543821a70 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -168,6 +168,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + From 2b281bba90896448df51873ceebde06c651578d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 11 May 2026 15:01:31 +0800 Subject: [PATCH 075/418] =?UTF-8?q?=E6=80=BB=E4=BD=93=E8=BF=90=E8=90=A5?= =?UTF-8?q?=E6=80=81=E5=8A=BF=E6=8E=A5=E5=8F=A3=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BiReportSnapshotMapperSupport.java | 38 +++++ .../mapper/BiSnapshotWriteMapper.java | 4 +- .../BiReportSnapshotSyncScheduler.java | 2 +- .../service/BiReportSnapshotSyncService.java | 29 +++- .../BiSnapshotWeeklyRandomDataBuilder.java | 139 ++++++++++++++++++ .../facadeApi/biReport/BiReportApi.java | 17 ++- .../facadeApi/biReport/dto/BiApiResult.java | 6 +- .../biSnapshotSync/BiSnapshotWriteMapper.xml | 5 + 8 files changed, 231 insertions(+), 9 deletions(-) diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java index 6d6086d4c..b9d4ad10b 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -96,4 +97,41 @@ public final class BiReportSnapshotMapperSupport { .platformAlarmDistribution(Collections.emptyList()) .build(); } + + public static OverallOperationSituationVO emptyOverallOperationSituation() { + return OverallOperationSituationVO.builder() + .updateTime("") + .warehouse(OverallWarehouseOperationVO.builder() + .orderStatistics(OverallWarehouseOrderStatisticVO.builder() + .processedOrderCount(0L).changePercent(0d).build()) + .coreCapability(OverallWarehouseCoreCapabilityVO.builder() + .totalWarehouses(0).selfOperatedCount(0).outsourcedCount(0) + .operatingArea(0).areaUnit("") + .build()) + .orderTrendByMonth(Collections.emptyList()) + .throughputTrendByMonth(Collections.emptyList()) + .bizStatistics(OverallWarehouseBizStatisticVO.builder() + .customerCount(0L).coverageArea("") + .annualThroughput(0).throughputUnit("").throughputGrowth(0d) + .build()) + .capabilityRanking(Collections.emptyList()) + .build()) + .map(OverallMapSectionVO.builder().nodes(Collections.emptyList()).build()) + .transport(OverallTransportOperationVO.builder() + .orderSummary(OverallTransportOrderSummaryVO.builder() + .processedOrderCount(0L).changePercent(0d) + .annualFreight(0d).freightUnit("").freightGrowth(0d) + .build()) + .capacityStatistics(OverallTransportCapacityVO.builder() + .totalVehicles(0).ownedVehicles(0).socialVehicles(0) + .totalDrivers(0).ownedDrivers(0).socialDrivers(0) + .build()) + .orderTrendByMonth(Collections.emptyList()) + .freightTrendByMonth(Collections.emptyList()) + .orderDistribution(OverallTransportModeDistributionVO.builder() + .crossBorder(0L).domestic(0L).build()) + .enterpriseRanking(Collections.emptyList()) + .build()) + .build(); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java index a6ca1a03e..597fe9e07 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java @@ -3,7 +3,7 @@ package com.mhd.bi.domain.biSnapshotSync.repository.mapper; import org.apache.ibatis.annotations.Param; /** - * 三张 BI 快照表写入(定时同步任务使用) + * BI 快照表写入(定时同步任务使用) */ public interface BiSnapshotWriteMapper { @@ -12,4 +12,6 @@ public interface BiSnapshotWriteMapper { int insertWarehouseTransportSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); int insertPlatformSurveillanceSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); + + int insertOverallOperationSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java index f0229dac5..9a3301c8a 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java @@ -8,7 +8,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** - * 定时将业务快照写入 BI_COMPREHENSIVE_SNAPSHOT / BI_WAREHOUSE_TRANSPORT_SNAPSHOT / BI_PLATFORM_SURVEILLANCE_SNAPSHOT。 + * 定时将业务快照写入 BI_COMPREHENSIVE_SNAPSHOT / BI_WAREHOUSE_TRANSPORT_SNAPSHOT / BI_PLATFORM_SURVEILLANCE_SNAPSHOT / BI_OVERALL_OPERATION_SNAPSHOT。 *

默认关闭,需在配置中设置 {@code mhd.bi.snapshot-sync.enabled=true}。

*/ @Slf4j diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java index e12fb6477..e951bd4c5 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java @@ -5,6 +5,7 @@ import com.mhd.bi.domain.biSnapshotSync.repository.mapper.BiSnapshotWriteMapper; import com.mhd.bi.domain.biSnapshotSync.support.BiSnapshotWeeklyRandomDataBuilder; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -13,10 +14,10 @@ import org.springframework.stereotype.Service; import java.util.Random; /** - * BI 三张快照表定时同步。 + * BI 快照表定时同步(综合态势 / 仓储运输 / 月台监测 / 总体运营态势)。 *

当前(临时):{@code build*} 使用 {@link BiSnapshotWeeklyRandomDataBuilder},每次执行使用新的 {@link Random}, * 故同一天多次手动触发、以及每次定时任务执行,生成的模拟数据均不相同(仍在基准 ±20% 内)。

- *

后续改造:在三个 {@code build*} 中改为查库/Feign 聚合真实业务并组装 VO。

+ *

后续改造:在各 {@code build*} 中改为查库/Feign 聚合真实业务并组装 VO。

*/ @Slf4j @Service @@ -29,12 +30,13 @@ public class BiReportSnapshotSyncService { private final ObjectMapper objectMapper; /** - * 依次同步三张快照;单表失败不影响其它表,只记日志。 + * 依次同步各快照表;单表失败不影响其它表,只记日志。 */ public void syncAllSnapshots() { syncComprehensiveSnapshot(); syncWarehouseTransportSnapshot(); syncPlatformSurveillanceSnapshot(); + syncOverallOperationSnapshot(); } public void syncComprehensiveSnapshot() { @@ -79,6 +81,27 @@ public class BiReportSnapshotSyncService { } } + public void syncOverallOperationSnapshot() { + try { + OverallOperationSituationVO vo = buildOverallOperationSnapshot(); + String json = objectMapper.writeValueAsString(vo); + int rows = biSnapshotWriteMapper.insertOverallOperationSnapshot(json, REMARK_SYNC); + if (rows < 1) { + log.warn("BI 总体运营态势快照 INSERT 影响行数为 {},请确认 NGWL_TEST_BI.BI_OVERALL_OPERATION_SNAPSHOT", rows); + } + log.info("BI 总体运营态势快照已写入, affectedRows={}", rows); + } catch (Exception e) { + log.error("BI 总体运营态势快照同步失败", e); + } + } + + /** + * TODO 业务落地:改为查询真实数据组装 VO。临时实现见 {@link BiSnapshotWeeklyRandomDataBuilder#overallOperation(Random)}。 + */ + protected OverallOperationSituationVO buildOverallOperationSnapshot() { + return BiSnapshotWeeklyRandomDataBuilder.overallOperation(new Random()); + } + /** * TODO 业务落地:改为查询真实数据组装 VO。临时实现见 {@link BiSnapshotWeeklyRandomDataBuilder#comprehensive(Random)}。 */ diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java index 4b8eba8d3..6617d7d5e 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java @@ -3,6 +3,7 @@ package com.mhd.bi.domain.biSnapshotSync.support; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*; import java.time.LocalDate; @@ -232,6 +233,144 @@ public final class BiSnapshotWeeklyRandomDataBuilder { .build(); } + /** + * 总体运营态势:与 {@code create_bi_overall_operation_dm.sql} 内置 PAYLOAD_JSON 一致(不随 Random 抖动)。 + */ + public static OverallOperationSituationVO overallOperation(Random r) { + return overallReferenceDashboard(); + } + + /** + * 与产品约定返回值示例一致,供快照同步与联调。 + */ + public static OverallOperationSituationVO overallReferenceDashboard() { + return OverallOperationSituationVO.builder() + .updateTime("2026-05-11 10:55:00") + .warehouse(OverallWarehouseOperationVO.builder() + .orderStatistics(OverallWarehouseOrderStatisticVO.builder() + .processedOrderCount(6767L) + .changePercent(5.4) + .build()) + .coreCapability(OverallWarehouseCoreCapabilityVO.builder() + .totalWarehouses(10) + .selfOperatedCount(4) + .outsourcedCount(6) + .operatingArea(28) + .areaUnit("万m²") + .build()) + .orderTrendByMonth(Arrays.asList( + OverallWarehouseOrderTrendMonthVO.builder().monthLabel("1月").inboundOrders(700L).outboundOrders(450L).build(), + OverallWarehouseOrderTrendMonthVO.builder().monthLabel("2月").inboundOrders(900L).outboundOrders(550L).build(), + OverallWarehouseOrderTrendMonthVO.builder().monthLabel("3月").inboundOrders(800L).outboundOrders(480L).build(), + OverallWarehouseOrderTrendMonthVO.builder().monthLabel("4月").inboundOrders(550L).outboundOrders(300L).build(), + OverallWarehouseOrderTrendMonthVO.builder().monthLabel("5月").inboundOrders(750L).outboundOrders(350L).build(), + OverallWarehouseOrderTrendMonthVO.builder().monthLabel("6月").inboundOrders(580L).outboundOrders(320L).build(), + OverallWarehouseOrderTrendMonthVO.builder().monthLabel("7月").inboundOrders(780L).outboundOrders(400L).build() + )) + .throughputTrendByMonth(Arrays.asList( + OverallThroughputTrendMonthVO.builder().monthLabel("11月").throughput(10).build(), + OverallThroughputTrendMonthVO.builder().monthLabel("12月").throughput(14).build(), + OverallThroughputTrendMonthVO.builder().monthLabel("1月").throughput(23).build(), + OverallThroughputTrendMonthVO.builder().monthLabel("2月").throughput(22).build(), + OverallThroughputTrendMonthVO.builder().monthLabel("3月").throughput(17).build(), + OverallThroughputTrendMonthVO.builder().monthLabel("4月").throughput(18).build(), + OverallThroughputTrendMonthVO.builder().monthLabel("5月").throughput(9).build() + )) + .bizStatistics(OverallWarehouseBizStatisticVO.builder() + .customerCount(582L) + .coverageArea("覆盖港珠澳") + .annualThroughput(26) + .throughputUnit("万吨") + .throughputGrowth(8.5) + .build()) + .capabilityRanking(Arrays.asList( + OverallWarehouseCapabilityRankVO.builder().rank(1).name("君华仓").processedVolume("2,400单").throughput("5.2万吨").utilizationRate("85%").build(), + OverallWarehouseCapabilityRankVO.builder().rank(2).name("遂宁仓").processedVolume("1,800单").throughput("4.1万吨").utilizationRate("78%").build(), + OverallWarehouseCapabilityRankVO.builder().rank(3).name("横琴仓").processedVolume("1,200单").throughput("3.5万吨").utilizationRate("92%").build(), + OverallWarehouseCapabilityRankVO.builder().rank(4).name("新南仓").processedVolume("800单").throughput("2.2万吨").utilizationRate("65%").build(), + OverallWarehouseCapabilityRankVO.builder().rank(5).name("谷丰仓").processedVolume("567单").throughput("1.8万吨").utilizationRate("45%").build() + )) + .build()) + .map(OverallMapSectionVO.builder() + .nodes(Arrays.asList( + OverallMapNodeVO.builder() + .type("headquarters") + .name("总部") + .location(Arrays.asList(113.3, 22.5)) + .build(), + OverallMapNodeVO.builder() + .type("businessUnit") + .name("业务单元") + .location(Arrays.asList(113.6, 22.8)) + .tooltip(OverallMapTooltipVO.builder() + .title("通宇业务情况分析") + .data(Arrays.asList( + OverallMapTooltipDataItemVO.builder().label("在途车辆").value(3).build(), + OverallMapTooltipDataItemVO.builder().label("在途订单").value(11).build() + )) + .build()) + .build(), + OverallMapNodeVO.builder() + .type("warehouse") + .name("通宇保税仓") + .location(Arrays.asList(113.4, 22.3)) + .tooltip(OverallMapTooltipVO.builder() + .title("通宇保税仓情况分析") + .data(Arrays.asList( + OverallMapTooltipDataItemVO.builder().label("入库作业").value(1).build(), + OverallMapTooltipDataItemVO.builder().label("出库作业").value(1).build() + )) + .build()) + .build() + )) + .build()) + .transport(OverallTransportOperationVO.builder() + .orderSummary(OverallTransportOrderSummaryVO.builder() + .processedOrderCount(5240L) + .changePercent(6.2) + .annualFreight(2.6) + .freightUnit("万吨") + .freightGrowth(8.5) + .build()) + .capacityStatistics(OverallTransportCapacityVO.builder() + .totalVehicles(320) + .ownedVehicles(100) + .socialVehicles(220) + .totalDrivers(400) + .ownedDrivers(160) + .socialDrivers(240) + .build()) + .orderTrendByMonth(Arrays.asList( + OverallTransportOrderTrendMonthVO.builder().monthLabel("1月").count(100L).build(), + OverallTransportOrderTrendMonthVO.builder().monthLabel("2月").count(120L).build(), + OverallTransportOrderTrendMonthVO.builder().monthLabel("3月").count(230L).build(), + OverallTransportOrderTrendMonthVO.builder().monthLabel("4月").count(110L).build(), + OverallTransportOrderTrendMonthVO.builder().monthLabel("5月").count(150L).build(), + OverallTransportOrderTrendMonthVO.builder().monthLabel("6月").count(200L).build() + )) + .freightTrendByMonth(Arrays.asList( + OverallTransportFreightTrendMonthVO.builder().monthLabel("1月").freight(80).build(), + OverallTransportFreightTrendMonthVO.builder().monthLabel("2月").freight(110).build(), + OverallTransportFreightTrendMonthVO.builder().monthLabel("3月").freight(240).build(), + OverallTransportFreightTrendMonthVO.builder().monthLabel("4月").freight(100).build(), + OverallTransportFreightTrendMonthVO.builder().monthLabel("5月").freight(140).build(), + OverallTransportFreightTrendMonthVO.builder().monthLabel("6月").freight(190).build() + )) + .orderDistribution(OverallTransportModeDistributionVO.builder() + .crossBorder(2400L) + .domestic(2300L) + .build()) + .enterpriseRanking(Arrays.asList( + OverallTransportEnterpriseRankVO.builder().rank(1).name("通宇").processedVolume("2,400单").freight("5.2万吨").onTimeRate("85%").build(), + OverallTransportEnterpriseRankVO.builder().rank(2).name("南岐").processedVolume("1,800单").freight("4.1万吨").onTimeRate("78%").build(), + OverallTransportEnterpriseRankVO.builder().rank(3).name("谷丰").processedVolume("1,200单").freight("3.5万吨").onTimeRate("92%").build(), + OverallTransportEnterpriseRankVO.builder().rank(4).name("仓码").processedVolume("800单").freight("2.2万吨").onTimeRate("65%").build(), + OverallTransportEnterpriseRankVO.builder().rank(5).name("横琴").processedVolume("567单").freight("1.8万吨").onTimeRate("45%").build() + )) + .build()) + .build(); + } + /** * 基准与 SQL 脚本 alternate sample 一致 */ diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java index 2923cf61d..614feaf2f 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java @@ -3,10 +3,12 @@ package com.mhd.bi.interfaces.facadeApi.biReport; import com.mhd.bi.domain.biSnapshotSync.service.BiReportSnapshotSyncService; import com.mhd.bi.domain.biComprehensive.service.BiComprehensiveReportService; import com.mhd.bi.domain.biPlatformSurveillance.service.BiPlatformSurveillanceReportService; +import com.mhd.bi.domain.biOverallOperation.service.BiOverallOperationReportService; import com.mhd.bi.domain.biWarehouseTransport.service.BiWarehouseTransportReportService; import com.mhd.bi.interfaces.facadeApi.biReport.dto.BiApiResult; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; import com.mhd.common.core.web.controller.BaseController; import io.swagger.annotations.Api; @@ -38,11 +40,14 @@ public class BiReportApi extends BaseController { @Autowired private BiPlatformSurveillanceReportService biPlatformSurveillanceReportService; + @Autowired + private BiOverallOperationReportService biOverallOperationReportService; + @Autowired private BiReportSnapshotSyncService biReportSnapshotSyncService; - @ApiOperation(value = "手动触发快照同步", notes = "立即写入三张快照表;须带 X-BI-Access-Token") + @ApiOperation(value = "手动触发快照同步", notes = "立即写入各 BI 快照表(综合、仓储运输、月台监测、总体运营);须带 X-BI-Access-Token") @PostMapping("/snapshotSync/run") public BiApiResult runSnapshotSyncOnce() { biReportSnapshotSyncService.syncAllSnapshots(); @@ -78,4 +83,14 @@ public class BiReportApi extends BaseController { PlatformSurveillanceVO data = biPlatformSurveillanceReportService.loadLatestPlatformSurveillance(); return BiApiResult.ok(data); } + + /** + * 总体运营态势 + */ + @ApiOperation(value = "总体运营态势查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条整包 JSON 解析结果") + @GetMapping("/overallOperation") + public BiApiResult overallOperation() { + OverallOperationSituationVO data = biOverallOperationReportService.loadLatestOverallOperation(); + return BiApiResult.ok(data); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java index e0a9c3306..ce816be28 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java @@ -5,7 +5,7 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * BI 接口统一响应(与前端约定:message 字段) + * BI 接口统一响应(与前端示例:code + msg + data) */ @Data @NoArgsConstructor @@ -14,11 +14,11 @@ public class BiApiResult { private int code = 200; - private String message = "success"; + private String msg = "操作成功"; private T data; public static BiApiResult ok(T data) { - return new BiApiResult<>(200, "success", data); + return new BiApiResult<>(200, "操作成功", data); } } diff --git a/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml b/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml index ffd318cc0..64d3e7820 100644 --- a/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml +++ b/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml @@ -17,4 +17,9 @@ insert into NGWL_TEST_BI.BI_PLATFORM_SURVEILLANCE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK) values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark}) + + + insert into NGWL_TEST_BI.BI_OVERALL_OPERATION_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK) + values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark}) + From 594cd7a2695d10ac72ace596c268bb68e681714e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Mon, 11 May 2026 15:43:57 +0800 Subject: [PATCH 076/418] =?UTF-8?q?oms=E9=A2=84=E7=BA=A6=E5=8D=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/domain/po/UserShipperPo.java | 5 + .../todo/BusinessDocumentOrderDO.java | 2 +- .../BusinessDocumentOrderDomainService.java | 17 + .../entity/ReservationOrder.java | 10 +- .../facade/IOmsAddressMultiService.java | 22 +- .../repository/po/ReservationOrderPO.java | 7 +- .../service/OmsAddressMultiService.java | 577 ++++++++++++++---- .../BusinessAuditDTO.java | 6 + .../dto/resevationOrder/OmsOrderDTO.java | 23 + .../resevationOrder/ResevationOrderApi.java | 117 +++- .../ReservationDocumentOrderMapper.xml | 14 +- 11 files changed, 676 insertions(+), 124 deletions(-) diff --git a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/UserShipperPo.java b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/UserShipperPo.java index 72525bfaf..97d9bd4e4 100644 --- a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/UserShipperPo.java +++ b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/UserShipperPo.java @@ -1,6 +1,7 @@ package com.mhd.common.core.domain.po; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.annotation.fieldsetvalue.NeedSetValue; import io.swagger.annotations.ApiModelProperty; @@ -12,6 +13,7 @@ import java.math.BigDecimal; import java.util.Date; @Data +@JsonIgnoreProperties(ignoreUnknown = true) public class UserShipperPo { private static final long serialVersionUID = 1L; @@ -266,6 +268,9 @@ public class UserShipperPo { @ApiModelProperty("结算币种") private String settlementCurrency; + + @ApiModelProperty("货主code") + private String roleCodeShipper; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java index 3a9648d5b..baf558719 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java @@ -775,7 +775,7 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{ @ApiModelProperty(value = "审核意见") private String reviewOpinion; - @ApiModelProperty("订单来源") + @ApiModelProperty("订单来源 0.运输,1.仓储") private String orderSource; @ApiModelProperty(value = "出入库单号") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java index 0a2a5922b..ceaee187c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java @@ -19,6 +19,8 @@ import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOr import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO; import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount; import com.mhd.oms.domain.businessOrderAccount.repository.mapper.BusinessOrderAccountMapper; +import com.mhd.oms.domain.reservationOrder.entity.ReservationOrder; +import com.mhd.oms.domain.reservationOrder.repository.mapper.ReservationOrderMapper; import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO; import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessDocumentAddressMultiDTO; import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO; @@ -64,6 +66,9 @@ public class BusinessDocumentOrderDomainService { @Resource private BusinessOrderAccountMapper businessOrderAccountMapper; + + @Resource + private ReservationOrderMapper reservationOrderMapper; /** * 分页查询【请填写功能名称】列表 */ @@ -564,7 +569,19 @@ public class BusinessDocumentOrderDomainService { tmsOrder.setTopOrganizationId(businessDocumentOrderDO.getTopOrganizationId()); } // boolean istrue=businessDocumentOrderService.update(businessDocumentOrderDO); + int i = businessDocumentOrderMapper.updateById(tmsOrder); + if (deliveryFreight != null && deliveryFreight.compareTo(BigDecimal.ZERO) > 0){ + List reservationOrderList = reservationOrderMapper.selectList(new LambdaQueryWrapper().eq(ReservationOrder::getGoodsNumber, businessDocumentOrderDO.getGoodsNumber())); + if (ObjectUtil.isNotEmpty(reservationOrderList) && reservationOrderList.size() > 0) { + for (ReservationOrder reservationOrder : reservationOrderList){ + reservationOrder.setDeliveryFreight(deliveryFreight); + reservationOrderMapper.updateById(reservationOrder); + } + + } + + } //保存货物信息及地址信息 saveAddress2CargoInfo(tmsOrder.getId(), allCargoList, loadingAddressList, unloadAddressList); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/entity/ReservationOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/entity/ReservationOrder.java index 5c7f2d5c8..90c791405 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/entity/ReservationOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/entity/ReservationOrder.java @@ -504,9 +504,6 @@ public class ReservationOrder { @ApiModelProperty(value = "订单结算状态:1未出账、2已出账、3部分结算、4已结算") private Integer settlementStatus; - @ApiModelProperty(value = "订单类型:0-预约单,1-业务单") - private Integer orderType; - @ApiModelProperty(value = "订单运费结算时间") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @@ -701,9 +698,16 @@ public class ReservationOrder { @ApiModelProperty("业务单号") private String businessOrderNumber; + @ApiModelProperty("订单状态(0.待确认,1.待提货,2.待补充,3.运输中,4.已完成,5.已取消)") + private Integer orderType; @ApiModelProperty("起运时间") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private java.util.Date departureTime; + + @ApiModelProperty("业务主管") + private String salesManager; + @ApiModelProperty("审核意见") + private String reviewOpinion; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/repository/facade/IOmsAddressMultiService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/repository/facade/IOmsAddressMultiService.java index e7c2b1654..33d79db43 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/repository/facade/IOmsAddressMultiService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/repository/facade/IOmsAddressMultiService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; import com.mhd.oms.domain.reservationOrder.entity.ReservationOrder; import com.mhd.oms.domain.reservationOrder.repository.po.ReservationOrderPO; +import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO; import com.mhd.oms.interfaces.dto.resevationOrder.OmsOrderAddDTO; import com.mhd.oms.interfaces.dto.resevationOrder.OmsOrderDTO; import com.mhd.common.core.utils.sms.Result; @@ -16,11 +17,18 @@ import java.security.spec.InvalidKeySpecException; import com.mhd.oms.interfaces.facade.resevationOrder.BatchConfirmResult; import java.util.List; +import java.util.Map; public interface IOmsAddressMultiService { void save(OmsOrderAddDTO tmsOrderAddDTO) throws InvalidKeySpecException, NoSuchAlgorithmException, InvalidKeyException, SignatureException; + /** + * 更新预约单 + * @param tmsOrderAddDTO 预约单信息 + */ + void update(OmsOrderAddDTO tmsOrderAddDTO) throws InvalidKeySpecException, NoSuchAlgorithmException, InvalidKeyException, SignatureException; + List queryList(OmsOrderDTO omsOrderDTO); /** @@ -28,14 +36,24 @@ public interface IOmsAddressMultiService { * @param goodsNumber 预约单号 * @return 业务单信息 */ - BusinessDocumentOrderPO confirmReservationOrder(String goodsNumber); + Boolean confirmReservationOrder(String goodsNumber); /** * 批量确认预约单,生成业务单 * @param goodsNumbers 预约单号列表 * @return 批量处理结果 */ - Result batchConfirmReservationOrder(List goodsNumbers); + Result batchConfirmReservationOrder(BusinessAuditDTO businessAuditDTO); Result batchRejectReservationOrder(List goodsNumbers); + + /** + * 根据订单状态(orderType)统计各状态的数量 + * @return Map key为orderType值,value为对应数量 + */ + Map countByOrderType(); + + Integer cancelReserve(List goodsNumbers); + + OmsOrderDTO getResevationOrderInfo(String goodsNumber); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/repository/po/ReservationOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/repository/po/ReservationOrderPO.java index 7e1848a55..c4cbea7c6 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/repository/po/ReservationOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/repository/po/ReservationOrderPO.java @@ -723,7 +723,7 @@ public class ReservationOrderPO { private String executor; @ApiModelProperty("业务单id") - private Long businesssOrderId ; + private Long businessOrderId ; @ApiModelProperty("业务单号") private String businessOrderNumber; @@ -735,4 +735,9 @@ public class ReservationOrderPO { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private java.util.Date departureTime; + + @ApiModelProperty("业务主管") + private String salesManager; + @ApiModelProperty("审核意见") + private String reviewOpinion; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/service/OmsAddressMultiService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/service/OmsAddressMultiService.java index c1ecf088f..c3c4a6025 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/service/OmsAddressMultiService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/service/OmsAddressMultiService.java @@ -12,6 +12,7 @@ import com.mhd.common.core.utils.sms.Result; import com.mhd.oms.application.service.businessDocumentOrder.BusinessDocumentOrderApplicationService; import com.mhd.oms.domain.businessDocumentOrder.repository.facade.IBusinessDocumentOrderService; import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder; +import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper; import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti; import com.mhd.oms.domain.businessDocumentCargoMulti.repository.mapper.BusinessDocumentCargoMultiMapper; @@ -30,6 +31,9 @@ import com.mhd.oms.domain.reservationOrder.repository.po.ReservationOrderPO; import com.mhd.oms.enums.*; import com.mhd.oms.infrastructure.feign.ThirdPartyServiceFeign; //import com.mhd.oms.infrastructure.feign.TransportServiceFeign; +import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO; +import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessDocumentAddressMultiDTO; +import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO; import com.mhd.oms.interfaces.dto.resevationOrder.*; import com.mhd.oms.interfaces.facade.resevationOrder.BatchConfirmResult; import com.mhd.oms.util.DictDataUtils; @@ -41,12 +45,16 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.domain.po.UserPo; import com.mhd.common.core.domain.po.UserShipperPo; +import io.swagger.annotations.ApiModelProperty; import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import javax.annotation.Resource; import java.math.BigDecimal; @@ -114,6 +122,9 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { @Autowired private IBusinessDocumentOrderService businessDocumentOrderService; + @Resource + private BusinessDocumentOrderMapper businessDocumentOrderMapper; + @Transactional(rollbackFor = Exception.class) @@ -424,10 +435,10 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { resevationOrder.setLoadingPhone(firstAddress.getContactPhone()); resevationOrder.setLoadingDate(firstAddress.getLayDate()); - resevationOrder.setUnloadAreaId(lastAddress.getAreaCode()); - resevationOrder.setUnloadName(lastAddress.getAreaCode()); - resevationOrder.setUnloadAddress(lastAddress.getAddress()); - String unarea = lastAddress.getAreaCode() + lastAddress.getAddress(); + resevationOrder.setUnloadAreaId(lastAddress.getAreaCode()); + resevationOrder.setUnloadName(lastAddress.getAreaCode()); + resevationOrder.setUnloadAddress(lastAddress.getAddress()); + String unarea = lastAddress.getAreaCode() + lastAddress.getAddress(); /*String ungeo = amapService.geo(unarea); String unloadingLatitude = ungeo.substring(ungeo.indexOf(",") + 1); String unloadingLongitude = ungeo.substring(0,ungeo.indexOf(",")); @@ -524,11 +535,11 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { resevationOrder.setTransportationModeId(1); } } - //设置是否自动审核 - //自动审核用户信息(0否1是) + //设置是否自动审核 + //自动审核用户信息(0否1是) // SysConfigSwitch configSwitch = sysConfigSwitchService.queryBySysOrgCode(); - //查询平台业务员 - // 从UserCenter服务获取平台业务员信息 + //查询平台业务员 + // 从UserCenter服务获取平台业务员信息 // UserDTO userDTO = new UserDTO(); // userDTO.setUserRole("platAuther"); // AjaxResult platAutherResult = AjaxResult.success(userServiceFeign.getUserByTopOrganizationUserAccount(userDTO, "oms")); @@ -867,12 +878,272 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { // tmsBidingDocumentLine.setServiceRate(tmsOrderAddDTO.getServiceRate()); // tmsBidingDocumentLine.setSingleVehicleWeight(tmsOrderAddDTO.getSingleVehicleWeight()); - // tmsBidingDocumentLineMapper.insert(tmsBidingDocumentLine); + // tmsBidingDocumentLineMapper.insert(tmsBidingDocumentLine); // } + } + @Transactional(rollbackFor = Exception.class) + @Override + public void update(OmsOrderAddDTO tmsOrderAddDTO) throws InvalidKeySpecException, NoSuchAlgorithmException, InvalidKeyException, SignatureException { + if (StringUtils.isBlank(tmsOrderAddDTO.getGoodsQuantity())) { + tmsOrderAddDTO.setGoodsQuantity("0"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + //获取登录人 + // 从UserCenter服务获取用户信息 + AjaxResult userInfoResult = userServiceFeign.getInfo(Long.valueOf(loginUser.getUserid())); + if (!userInfoResult.get("code").toString().equals("200")) { + throw new ServiceException("获取用户信息失败"); + } + ObjectMapper objectMapper = new ObjectMapper(); + UserPo userPo = objectMapper.convertValue(userInfoResult.get("data"), UserPo.class); + + // 从UserCenter服务获取货主信息 + AjaxResult shipperInfoResult = userServiceFeign.getShipperByUserId(Long.valueOf(loginUser.getUserid())); + if (!shipperInfoResult.get("code").toString().equals("200")) { + throw new ServiceException("获取货主信息失败"); + } + + //处理费用默认值 + handFee(tmsOrderAddDTO); + + //组织赋值 + Long organizationId = tmsOrderAddDTO.getOrganizationId(); + if (ObjectUtil.isNotEmpty(organizationId)) { + tmsOrderAddDTO.setOrgId(String.valueOf(organizationId)); + tmsOrderAddDTO.setOrgName(tmsOrderAddDTO.getOrganizationName()); + } + + // 获取一份副本等一会需要存储到数据库 + String swzlUserId = String.valueOf(loginUser.getUserid()); + + // 从UserCenter服务获取当前登录用户的货主信息 + AjaxResult shipperResult = userServiceFeign.getShipperByUserId(Long.valueOf(loginUser.getUserid())); + if (!shipperResult.get("code").toString().equals("200")) { + throw new ServiceException("您非货主角色或账号已被删除!"); + } + UserShipperPo userShipperPoInfo = objectMapper.convertValue(shipperResult.get("data"), UserShipperPo.class); + + if (userShipperPoInfo == null) { + throw new ServiceException("您非货主角色或账号已被删除!"); + } + + String orderRemark = tmsOrderAddDTO.getOrderRemark(); + tmsOrderAddDTO.setRemarks(orderRemark); + + tmsOrderAddDTO.setAppointShipperId(String.valueOf(userShipperPoInfo.getShipperId())); + + // 分类处理货物列表 + List allCargoList = tmsOrderAddDTO.getCargoInfoList(); + + //获取货主月结标识, + int receivableType; + int autoAuditOrder; + if (userShipperPoInfo.getShipperType() == 2) { + // 从UserCenter服务获取企业货主信息 + AjaxResult companyShipperResult = userServiceFeign.getShipperByUserId(userShipperPoInfo.getUserId()); + if (!companyShipperResult.get("code").toString().equals("200")) { + throw new ServiceException("获取企业货主信息失败"); + } + UserShipperPo companyUserShipperPo = objectMapper.convertValue(companyShipperResult.get("data"), UserShipperPo.class); + receivableType = companyUserShipperPo.getMonthlySettlementFlag(); + autoAuditOrder = companyUserShipperPo.getIsAutoAuditOrder(); + } else { + receivableType = userShipperPoInfo.getMonthlySettlementFlag(); + autoAuditOrder = userShipperPoInfo.getIsAutoAuditOrder(); + } + tmsOrderAddDTO.setReceivableType(receivableType); + + //非企业员工判断个人信息审核状态x + if (userShipperPoInfo.getShipperType() != 2 && userShipperPoInfo.getShipperFill() != 3) { // 假设3代表审核通过 + throw new ServiceException("未提交个人信息认证或认证未通过,请先认证!"); + } + //企业员工判断企业货主审核状态 + if (userShipperPoInfo.getShipperType() == 2) { + // 从UserCenter服务获取企业用户信息 + AjaxResult companyUserResult = userServiceFeign.getInfo(userShipperPoInfo.getUserId()); + if (!companyUserResult.get("code").toString().equals("200")) { + throw new ServiceException("获取企业用户信息失败"); + } + userPo = objectMapper.convertValue(companyUserResult.get("data"), UserPo.class); + } + + //企业员工判断企业货主审核状态 + if (userShipperPoInfo.getShipperType() == 2) { + // 从UserCenter服务获取企业货主信息 + AjaxResult companyShipperResult = userServiceFeign.getShipperByUserId(userShipperPoInfo.getUserId()); + if (!companyShipperResult.get("code").toString().equals("200")) { + throw new ServiceException("获取企业货主信息失败"); + } + UserShipperPo companyUserShipperPo = objectMapper.convertValue(companyShipperResult.get("data"), UserShipperPo.class); + if (companyUserShipperPo.getShipperFill() != 3) { // 假设3代表审核通过 + throw new ServiceException("未提交个人信息认证或认证未通过,请先认证!"); + } + } + + /** + * 更新货源单信息 + */ + ReservationOrder resevationOrder = new ReservationOrder(); + BeanUtils.copyProperties(tmsOrderAddDTO, resevationOrder); + String id = tmsOrderAddDTO.getId(); + resevationOrder.setId(Long.valueOf(id)); + + // 设置更新时间戳和用户信息 + resevationOrder.setUpdateTime(new Date()); + resevationOrder.setUpdateBy(loginUser.getWlhyLoginUser().getRealname()); +// resevationOrder.setUpdateByName(userPo.getUserName()); + + // 检查ID是否为空 + if (resevationOrder.getId() == null || resevationOrder.getId() <= 0) { + throw new ServiceException("预约单ID不能为空,无法执行更新操作"); + } + List loadingAddressList = tmsOrderAddDTO.getLoadingAddressList();//装货地信息集合 + List unloadAddressList = tmsOrderAddDTO.getUnloadAddressList();//卸货地信息集合 + + /*if (CollUtil.isEmpty(loadingAddressList)) { + throw new ServiceException("请传入装货地址!"); + } + + if (CollUtil.isEmpty(unloadAddressList)) { + throw new ServiceException("请传入卸货地址!"); + }*/ + + String loadCityCounty = "", unloadCityCounty = ""; + //当是短驳的时候不走这个逻辑 + /*for (int i = 0; i < loadingAddressList.size(); i++) { + //根据行政区划代码获取省市县名称 + String areaName= sysComboService.getLoadOrUnloadName(loadingAddressList.get(i).getAreaCode()); + loadingAddressList.get(i).setAreaName(areaName); + // 简称 + String shortName= sysComboService.getCityCountyName(loadingAddressList.get(i).getAreaCode()); + loadingAddressList.get(i).setShortName(shortName); + //获取装卸货地经纬度 + String[] lng2Lat = setLngAndLat(loadingAddressList.get(i).getAreaCode(), loadingAddressList.get(i).getLongitude(), + loadingAddressList.get(i).getLatitude(), loadingAddressList.get(i).getAddress()); + if (null != lng2Lat) { + loadingAddressList.get(i).setLongitude(lng2Lat[0]); + loadingAddressList.get(i).setLatitude(lng2Lat[1]); + } + //获取装货时间 + SysDictData sysDictData = getLayTime(loadingAddressList.get(i).getLayTimeId()); + if (sysDictData != null) { + loadingAddressList.get(i).setLayTimeId(sysDictData.getDictValue()); + loadingAddressList.get(i).setLayTime(sysDictData.getDictLabel()); + } + + loadingAddressList.get(i).setSort(i); + } + for (int i = 0; i < unloadAddressList.size(); i++) { + //根据行政区划代码获取省市县名称 + //String areaName= sysComboService.getLoadOrUnloadName(unloadAddressList.get(i).getAreaCode()); + //unloadAddressList.get(i).setAreaName(areaName); + // 简称 + //String shortName= sysComboService.getCityCountyName(unloadAddressList.get(i).getAreaCode()); + //unloadAddressList.get(i).setShortName(shortName); + //获取装卸货地经纬度 + String[] lng2Lat = setLngAndLat(unloadAddressList.get(i).getAreaCode(), unloadAddressList.get(i).getLongitude(), + unloadAddressList.get(i).getLatitude(), unloadAddressList.get(i).getAddress()); + if (null != lng2Lat) { + unloadAddressList.get(i).setLongitude(lng2Lat[0]); + unloadAddressList.get(i).setLatitude(lng2Lat[1]); + } + //获取装货时间 + SysDictData sysDictData = getLayTime(unloadAddressList.get(i).getLayTimeId()); + if (sysDictData != null) { + unloadAddressList.get(i).setLayTimeId(sysDictData.getDictValue()); + unloadAddressList.get(i).setLayTime(sysDictData.getDictLabel()); + } + + + unloadAddressList.get(i).setSort(i); +// } + //多装多卸获取第一个装货地址和最后一个卸货地址 获取省市县简称 + loadCityCounty = sysComboService.getCityCountyName(loadingAddressList.get(0).getAreaCode()); + unloadCityCounty = sysComboService.getCityCountyName(unloadAddressList.get(unloadAddressList.size() - 1).getAreaCode()); + resevationOrder.setLineTitleLeft(loadCityCounty); + resevationOrder.setLineTitleRight(unloadCityCounty); + }*/ + //获取第一条装货地址和获取最后一条卸货地址 + OmsAddressMultiDTO firstAddress = loadingAddressList.get(0); + OmsAddressMultiDTO lastAddress = unloadAddressList.get(unloadAddressList.size() - 1); + resevationOrder.setLoadingAreaId(firstAddress.getAreaCode()); + resevationOrder.setLoadingName(firstAddress.getAreaCode()); + resevationOrder.setLoadingAddress(firstAddress.getAddress()); + String area = firstAddress.getAreaCode() + firstAddress.getAddress(); + /*String geo = amapService.geo(area); + String loadingLatitude = geo.substring(geo.indexOf(",") + 1); + String loadingLongitude = geo.substring(0,geo.indexOf(",")); + resevationOrder.setLoadingLongitude(loadingLongitude); + resevationOrder.setLoadingLatitude(loadingLatitude); + firstAddress.setLatitude(loadingLatitude); + firstAddress.setLongitude(loadingLongitude);*/ + resevationOrder.setLineTitleLeft(firstAddress.getAreaCode()); + resevationOrder.setLineTitleRight(lastAddress.getAreaCode()); + resevationOrder.setFreighterName(firstAddress.getContactName()); + resevationOrder.setLoadingPhone(firstAddress.getContactPhone()); + resevationOrder.setLoadingDate(firstAddress.getLayDate()); + + resevationOrder.setUnloadAreaId(lastAddress.getAreaCode()); + resevationOrder.setUnloadName(lastAddress.getAreaCode()); + resevationOrder.setUnloadAddress(lastAddress.getAddress()); + String unarea = lastAddress.getAreaCode() + lastAddress.getAddress(); + /*String ungeo = amapService.geo(unarea); + String unloadingLatitude = ungeo.substring(ungeo.indexOf(",") + 1); + String unloadingLongitude = ungeo.substring(0,ungeo.indexOf(",")); + lastAddress.setLatitude(unloadingLatitude); + lastAddress.setLongitude(unloadingLongitude); + resevationOrder.setUnloadLongitude(unloadingLongitude); + resevationOrder.setUnloadLatitude(unloadingLatitude);*/ + resevationOrder.setDischargerName(lastAddress.getContactName()); + resevationOrder.setUnloadPhone(lastAddress.getContactPhone()); + resevationOrder.setUnloadingData(lastAddress.getLayDate()); + // 执行更新操作 + int result = resevationOrderMapper.updateById(resevationOrder); + if (result == 0) { + throw new ServiceException("更新失败:未找到对应的预约单记录"); + } + + // 更新费用科目信息 + List tmsOrderAccountList = tmsOrderAddDTO.getTmsOrderAccountList(); + if (ObjectUtil.isNotNull(tmsOrderAccountList) && tmsOrderAccountList.size() > 0) { + // 先删除旧的费用科目信息 + tmsOrderAccountMapper.delete(new LambdaQueryWrapper().eq(OmsOrderAccount::getOrderId, String.valueOf(resevationOrder.getId()))); + + // 插入新的费用科目信息 + for (OmsOrderAccount tmsOrderAccount : tmsOrderAccountList) { + tmsOrderAccount.setIsDelete(0); + tmsOrderAccount.setOrderId(String.valueOf(resevationOrder.getId())); + tmsOrderAccount.setCreateBy(String.valueOf(userPo.getUserId())); + tmsOrderAccount.setCreateTime(new Date()); + + // 设置组织信息 + if (tmsOrderAddDTO.getOrganizationId() != null) { + tmsOrderAccount.setOrganizationId(tmsOrderAddDTO.getOrganizationId()); + } + if (tmsOrderAddDTO.getOrganizationName() != null) { + tmsOrderAccount.setOrganizationName(tmsOrderAddDTO.getOrganizationName()); + } + if (tmsOrderAddDTO.getTopOrganizationId() != null) { + tmsOrderAccount.setTopOrganizationId(tmsOrderAddDTO.getTopOrganizationId()); + } + + tmsOrderAccountMapper.insert(tmsOrderAccount); + } + } + + // 更新货物信息及地址信息 + saveAddress2CargoInfo(String.valueOf(resevationOrder.getId()), allCargoList, tmsOrderAddDTO.getLoadingAddressList(), tmsOrderAddDTO.getUnloadAddressList()); + } + + + + + @Override public List queryList(OmsOrderDTO omsOrderDTO) { LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -882,6 +1153,10 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { omsOrderDTO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); } } + Long organizationId = loginUser.getUserPo().getOrganizationId(); + if (organizationId !=2827L){ + omsOrderDTO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + } List reservationOrderPOS = reservationOrderDomainService.queryList(omsOrderDTO); for (ReservationOrderPO reservationOrderPO : reservationOrderPOS){ List reservationCargoInfoList = reservationCargoInfoMapper.selectList(new LambdaQueryWrapper().eq(ReservationCargoInfo::getOrderId, reservationOrderPO.getId())); @@ -1078,7 +1353,7 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { // } @Override - public BusinessDocumentOrderPO confirmReservationOrder(String goodsNumber) { + public Boolean confirmReservationOrder(String goodsNumber) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ReservationOrder::getGoodsNumber, goodsNumber); @@ -1102,71 +1377,27 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { BusinessDocumentOrderDO businessDocumentOrderDO = new BusinessDocumentOrderDO(); - // 基本信息映射 - businessDocumentOrderDO.setGoodsNumber(OrderSequence.getOrderCodeByDate(new Date())); // 生成业务单号 + businessDocumentOrderDO.setGoodsNumber(reservationOrder.getGoodsNumber()); // 生成业务单号 businessDocumentOrderDO.setOrderStatus(0L); // 业务单状态:0-待审核 businessDocumentOrderDO.setReviewStatus(0L); // 审核状态:0-未审核 - businessDocumentOrderDO.setExecuteStatus(0L); // 执行状态:0-无状态 + businessDocumentOrderDO.setExecuteStatus(0L); businessDocumentOrderDO.setReservationOrderId(reservationOrder.getId()); businessDocumentOrderDO.setReservationOrderNumber(reservationOrder.getGoodsNumber()); + BeanUtils.copyProperties(reservationOrder, businessDocumentOrderDO); - businessDocumentOrderDO.setGoodsName(reservationOrder.getGoodsName()); - businessDocumentOrderDO.setGoodsTypeId(reservationOrder.getGoodsTypeId()); - businessDocumentOrderDO.setWeightMin(reservationOrder.getWeightMin()); - businessDocumentOrderDO.setWeightMax(reservationOrder.getWeightMax()); - businessDocumentOrderDO.setGoodsUntis(reservationOrder.getGoodsUntis()); - businessDocumentOrderDO.setGoodsUntisId(reservationOrder.getGoodsUntisId()); - businessDocumentOrderDO.setLoadingName(reservationOrder.getLoadingName()); - businessDocumentOrderDO.setLoadingAreaId(reservationOrder.getLoadingAreaId()); - businessDocumentOrderDO.setLoadingAddress(reservationOrder.getLoadingAddress()); - businessDocumentOrderDO.setLoadingLongitude(reservationOrder.getLoadingLongitude()); - businessDocumentOrderDO.setLoadingLatitude(reservationOrder.getLoadingLatitude()); - businessDocumentOrderDO.setLoadingPhone(reservationOrder.getLoadingPhone()); - businessDocumentOrderDO.setLoadingDate(reservationOrder.getLoadingDate()); - - businessDocumentOrderDO.setUnloadName(reservationOrder.getUnloadName()); - businessDocumentOrderDO.setUnloadAreaId(reservationOrder.getUnloadAreaId()); - businessDocumentOrderDO.setUnloadAddress(reservationOrder.getUnloadAddress()); - businessDocumentOrderDO.setUnloadLongitude(reservationOrder.getUnloadLongitude()); - businessDocumentOrderDO.setUnloadLatitude(reservationOrder.getUnloadLatitude()); - businessDocumentOrderDO.setUnloadPhone(reservationOrder.getUnloadPhone()); - businessDocumentOrderDO.setUnloadingData(reservationOrder.getUnloadingData()); - businessDocumentOrderDO.setFreighterName(reservationOrder.getFreighterName()); - businessDocumentOrderDO.setDischargerName(reservationOrder.getDischargerName()); - businessDocumentOrderDO.setRemarks(reservationOrder.getRemarks()); - businessDocumentOrderDO.setTransportationModeId(reservationOrder.getTransportationModeId() != null ? - reservationOrder.getTransportationModeId().longValue() : null); - businessDocumentOrderDO.setTransportationName(reservationOrder.getTransportationName()); - businessDocumentOrderDO.setCarType(reservationOrder.getCarType()); - businessDocumentOrderDO.setCarTypeName(reservationOrder.getCarTypeName()); - businessDocumentOrderDO.setServiceRequireId(reservationOrder.getServiceRequireId()); - businessDocumentOrderDO.setServiceRequire(reservationOrder.getServiceRequire()); - businessDocumentOrderDO.setAppointShipperId(reservationOrder.getAppointShipperId()); - businessDocumentOrderDO.setAppointShipper(reservationOrder.getAppointShipper()); businessDocumentOrderDO.setReceivableType(reservationOrder.getReceivableType() != null ? reservationOrder.getReceivableType().longValue() : 2L); businessDocumentOrderDO.setOrderShippingType(reservationOrder.getOrderShippingType() != null ? reservationOrder.getOrderShippingType().longValue() : 1L); - - businessDocumentOrderDO.setOrganizationId(reservationOrder.getOrganizationId()); - businessDocumentOrderDO.setOrganizationName(reservationOrder.getOrganizationName()); - businessDocumentOrderDO.setTopOrganizationId(reservationOrder.getTopOrganizationId()); - businessDocumentOrderDO.setOrgId(reservationOrder.getOrgId()); - businessDocumentOrderDO.setOrgName(reservationOrder.getOrgName()); - - - businessDocumentOrderDO.setRealCreateBy(String.valueOf(loginUser.getUserid())); - businessDocumentOrderDO.setRealCreateName(loginUser.getUsername()); - businessDocumentOrderDO.setCreateBy(loginUser.getUserid()); - businessDocumentOrderDO.setCreateByName(loginUser.getUsername()); - businessDocumentOrderDO.setCreateTime(new Date()); businessDocumentOrderDO.setUpdateTime(new Date()); businessDocumentOrderDO.setDocumentDate(new Date()); + businessDocumentOrderDO.setPayerType(1L); + businessDocumentOrderDO.setLayDate(reservationOrder.getDepartureTime()); if (businessDocumentOrderDO.getOrderShippingType() == null) { businessDocumentOrderDO.setOrderShippingType(1L); // 默认设置为1 @@ -1175,53 +1406,103 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { businessDocumentOrderDO.setInfoFeePayeeType(0L); // 默认设置为0 } - BusinessDocumentOrder businessDocumentOrder = new BusinessDocumentOrder(); - BeanUtils.copyProperties(businessDocumentOrderDO, businessDocumentOrder); - businessDocumentOrder.setId(null); // 确保是新记录 - businessDocumentOrder.setCreateBy(Long.valueOf(loginUser.getUserid())); - businessDocumentOrder.setCreateByName(loginUser.getUsername()); - businessDocumentOrder.setCreateTime(new Date()); - businessDocumentOrder.setUpdateTime(new Date()); - businessDocumentOrder.setDelFlag(1); - - boolean insertResult = businessDocumentOrderService.save(businessDocumentOrder); + // 组装货物信息 - 从 RESERVATION_CARGO_INFO 表查询 + List businessDocumentCargoMultiList = new ArrayList<>(); + LambdaQueryWrapper cargoQueryWrapper = new LambdaQueryWrapper<>(); + cargoQueryWrapper.eq(ReservationCargoInfo::getOrderId, reservationOrder.getId()); + List reservationCargoList = reservationCargoInfoMapper.selectList(cargoQueryWrapper); + if (reservationCargoList.size() > 0) { + for (ReservationCargoInfo reservationCargo : reservationCargoList) { + BusinessDocumentCargoMultiDTO cargoDTO = new BusinessDocumentCargoMultiDTO(); + cargoDTO.setCargoName(reservationCargo.getCargoName()); + cargoDTO.setCargoNum(reservationCargo.getCargoNum() != null ? reservationCargo.getCargoNum() : BigDecimal.ZERO); + cargoDTO.setCargoWeight(reservationCargo.getCargoWeight() != null ? reservationCargo.getCargoWeight() : BigDecimal.ZERO); + cargoDTO.setCargoUnitName(reservationCargo.getCargoUnitName()); + cargoDTO.setWeightUnit(reservationCargo.getCargoUnitName()); + cargoDTO.setGoodsTypeId(reservationCargo.getGoodsTypeId()); + cargoDTO.setGoodsType(reservationCargo.getGoodsType()); + cargoDTO.setGoodsNameId(reservationCargo.getGoodsNameId()); + cargoDTO.setGoodsName(reservationCargo.getGoodsName()); + cargoDTO.setMaterialContent(reservationCargo.getCargoContent()); + cargoDTO.setMachineCode(reservationCargo.getMachineCode()); + businessDocumentCargoMultiList.add(cargoDTO); + } + } + businessDocumentOrderDO.setBusinessDocumentCargoMultiList(businessDocumentCargoMultiList); + + // 组装装卸货地址信息 - 从 RESERVATION_ADDRESS_MULTI 表查询 + List loadingAddressList = new ArrayList<>(); + List unloadAddressList = new ArrayList<>(); + + + // 查询装货地址 (layType = 1) + LambdaQueryWrapper loadingQueryWrapper = new LambdaQueryWrapper<>(); + loadingQueryWrapper.eq(ReservationAddressMulti::getOrderId, reservationOrder.getId()) + .eq(ReservationAddressMulti::getLayType, 1); + List loadingAddressList1 = reservationAddressMultiMapper.selectList(loadingQueryWrapper); +// @ApiModelProperty(value = "装货地址集合") +// private List loadingAddressList; +// @ApiModelProperty(value = "卸货地址集合") +// private List unloadAddressList; + if (loadingAddressList1.size() > 0) { + for (ReservationAddressMulti address : loadingAddressList1) { + BusinessDocumentAddressMultiDTO loadingAddress = new BusinessDocumentAddressMultiDTO(); + loadingAddress.setAreaCode(address.getAreaCode()); + loadingAddress.setAreaName(address.getAreaName()); + loadingAddress.setAddress(address.getAddress()); + loadingAddress.setLongitude(address.getLongitude()); + loadingAddress.setLatitude(address.getLatitude()); + loadingAddress.setContactName(address.getContactName()); + loadingAddress.setContactPhone(address.getContactPhone()); + loadingAddress.setLayDate(address.getLayDate()); + loadingAddress.setLayTimeId(address.getLayTimeId()); + loadingAddress.setLayType(Long.valueOf(address.getLayType())); +// loadingAddress.setSort(Long.valueOf(address.getSort())); +// loadingAddress.setShortName(address.getShortName()); + loadingAddressList.add(loadingAddress); + } + } + + // 查询卸货地址 (layType = 2) + LambdaQueryWrapper unloadQueryWrapper = new LambdaQueryWrapper<>(); + unloadQueryWrapper.eq(ReservationAddressMulti::getOrderId, reservationOrder.getId()) + .eq(ReservationAddressMulti::getLayType, 2); + List unloadAddressList1 = reservationAddressMultiMapper.selectList(unloadQueryWrapper); + if (unloadAddressList1.size() > 0) { + for (ReservationAddressMulti address : unloadAddressList1) { + BusinessDocumentAddressMultiDTO unloadAddress = new BusinessDocumentAddressMultiDTO(); + unloadAddress.setAreaCode(address.getAreaCode()); + unloadAddress.setAreaName(address.getAreaName()); + unloadAddress.setAddress(address.getAddress()); + unloadAddress.setLongitude(address.getLongitude()); + unloadAddress.setLatitude(address.getLatitude()); + unloadAddress.setContactName(address.getContactName()); + unloadAddress.setContactPhone(address.getContactPhone()); + unloadAddress.setLayDate(address.getLayDate()); + unloadAddress.setLayTimeId(address.getLayTimeId()); + unloadAddress.setLayType(Long.valueOf(address.getLayType())); + unloadAddress.setShortName(address.getShortName()); + unloadAddressList.add(unloadAddress); + } + } + + businessDocumentOrderDO.setLoadingAddressList(loadingAddressList); + businessDocumentOrderDO.setUnloadAddressList(unloadAddressList); + businessDocumentOrderDO.setOrderSource("0"); + + // 插入业务单 + Boolean insertResult = businessDocumentOrderApplicationService.insert(businessDocumentOrderDO); if (!insertResult) { throw new ServiceException("创建业务单失败"); } - - - LambdaQueryWrapper orderQueryWrapper = new LambdaQueryWrapper<>(); - orderQueryWrapper.eq(BusinessDocumentOrder::getGoodsNumber, businessDocumentOrderDO.getGoodsNumber()); - BusinessDocumentOrder createdOrder = businessDocumentOrderService.getOne(orderQueryWrapper); - if (createdOrder == null) { - throw new ServiceException("创建业务单后查询失败"); - } - - // 处理货物信息(从预约单获取) -// handleCargoInfoFromReservation(createdOrder.getId(), reservationOrder.getId()); - - // 处理地址信息(从预约单获取) - handleAddressInfoFromReservation(createdOrder.getId(), reservationOrder.getId()); - - // 更新预约单状态 - reservationOrder.setOrderType(1); // 设置为业务单类型 - reservationOrder.setBusinessOrderId(businessDocumentOrder.getId()); // 关联业务单ID - reservationOrder.setBusinessOrderNumber(businessDocumentOrder.getGoodsNumber()); // 关联业务单号 - reservationOrder.setUpdateTime(new Date()); - reservationOrder.setUpdateBy(String.valueOf(loginUser.getUserid())); - - int updateResult = resevationOrderMapper.updateById(reservationOrder); - if (updateResult <= 0) { - throw new ServiceException("更新预约单状态失败"); - } - - - BusinessDocumentOrderPO businessDocumentOrderPO = new BusinessDocumentOrderPO(); - BeanUtils.copyProperties(businessDocumentOrder, businessDocumentOrderPO); - - return businessDocumentOrderPO; + BusinessDocumentOrder businessDocumentOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper().eq(BusinessDocumentOrder::getGoodsNumber, goodsNumber)); + reservationOrder.setBusinessOrderId(businessDocumentOrder.getId()); + reservationOrder.setBusinessOrderNumber(businessDocumentOrderDO.getGoodsNumber()); + reservationOrder.setOrderType(1); + resevationOrderMapper.updateById(reservationOrder); + return insertResult; } private void saveAddress2CargoInfo(String id, List cargoInfoList, List loadingAddressList, List unloadAddressList) { @@ -1356,7 +1637,8 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { @Override - public Result batchConfirmReservationOrder(List goodsNumbers) { + public Result batchConfirmReservationOrder(BusinessAuditDTO businessAuditDTO) { + List goodsNumbers = businessAuditDTO.getGoodsNumber(); BatchConfirmResult result = new BatchConfirmResult(); result.setTotal(goodsNumbers.size()); result.setSuccessList(new ArrayList<>()); @@ -1365,8 +1647,17 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { // 同步处理,避免线程池问题 for (String goodsNumber : goodsNumbers) { try { - BusinessDocumentOrderPO businessOrder = confirmReservationOrder(goodsNumber); - result.getSuccessList().add(businessOrder); + Boolean businessOrder = confirmReservationOrder(goodsNumber); + if (businessOrder) { + + } else { + result.getFailList().add(new BatchConfirmResult.FailItem(goodsNumber, "确认失败")); + } + ReservationOrder reservationOrder = resevationOrderMapper.selectOne(new LambdaQueryWrapper().eq(ReservationOrder::getGoodsNumber, goodsNumber)); + reservationOrder.setSalesManager(businessAuditDTO.getSalesManager()); + reservationOrder.setReviewOpinion(businessAuditDTO.getReviewOpinion()); + reservationOrder.setSalesmanName(businessAuditDTO.getSalesmanName()); + resevationOrderMapper.updateById(reservationOrder); result.setSuccessCount(result.getSuccessCount() + 1); } catch (Exception e) { result.getFailList().add(new BatchConfirmResult.FailItem(goodsNumber, e.getMessage())); @@ -1389,6 +1680,84 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { } } + @Override + public Map countByOrderType() { + // 使用MyBatis Plus的LambdaQueryWrapper进行分组统计 + Map countMap = new HashMap<>(); + + // 查询所有非删除的订单,按orderType值分别计数 + for (int i = 0; i <= 5; i++) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ReservationOrder::getIsDelete, 0) + .eq(ReservationOrder::getOrderType, i); + long count = resevationOrderMapper.selectCount(queryWrapper); + countMap.put(i, count); + } + + return countMap; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Integer cancelReserve(List goodsNumbers) { + int count = 0; + + for (String goodsNumber : goodsNumbers) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ReservationOrder::getGoodsNumber, goodsNumber); + ReservationOrder reservationOrder = resevationOrderMapper.selectOne(queryWrapper); + List businessDocumentOrders = businessDocumentOrderMapper.selectList(new LambdaQueryWrapper().eq(BusinessDocumentOrder::getGoodsNumber, goodsNumber)); + if (businessDocumentOrders != null && businessDocumentOrders.size() > 0) { + BusinessDocumentOrder businessDocumentOrder = businessDocumentOrders.get(0); + Long orderStatus = businessDocumentOrder.getOrderStatus(); + if (orderStatus ==0L || orderStatus == 1L) { + businessDocumentOrder.setOrderStatus(4L); + businessDocumentOrderMapper.updateById(businessDocumentOrder); + reservationOrder.setOrderType(5); + resevationOrderMapper.updateById(reservationOrder); + count++; + + }else { + throw new ServiceException("订单进行中无法取消,请联系运营人员处理"); + } + }else { + reservationOrder.setOrderType(5); + resevationOrderMapper.updateById(reservationOrder); + count++; + } + } + + // 返回成功修改的条数 + return count; + } + + @Override + public OmsOrderDTO getResevationOrderInfo(String goodsNumber) { + OmsOrderDTO omsOrderDTO = new OmsOrderDTO(); + ReservationOrder reservationOrder = resevationOrderMapper.selectOne(new LambdaQueryWrapper().eq(ReservationOrder::getGoodsNumber, goodsNumber)); + if (reservationOrder == null) { + throw new ServiceException("订单不存在"); + } + BeanUtils.copyProperties(reservationOrder, omsOrderDTO); + Long id = reservationOrder.getId(); + List reservationCargoInfos = reservationCargoInfoMapper.selectList(new LambdaQueryWrapper().eq(ReservationCargoInfo::getOrderId, id)); + if (reservationCargoInfos != null && reservationCargoInfos.size() > 0) { + omsOrderDTO.setReservationCargoInfo(reservationCargoInfos); + } + ReservationAddressMulti loadingAddressMulti = reservationAddressMultiMapper.selectOne(new LambdaQueryWrapper().eq(ReservationAddressMulti::getOrderId, id).eq(ReservationAddressMulti::getLayType,1).eq(ReservationAddressMulti::getDelFlag, 1)); + if (loadingAddressMulti != null) { + omsOrderDTO.setLoadingAddressMulti(loadingAddressMulti); + } + ReservationAddressMulti unloadAddressMulti = reservationAddressMultiMapper.selectOne(new LambdaQueryWrapper().eq(ReservationAddressMulti::getOrderId, id).eq(ReservationAddressMulti::getLayType,2).eq(ReservationAddressMulti::getDelFlag, 1)); + if (unloadAddressMulti != null) { + omsOrderDTO.setUnloadAddressMulti(unloadAddressMulti); + } + + + return omsOrderDTO; + } + @Override public Result batchRejectReservationOrder(List goodsNumbers) { BatchConfirmResult result = new BatchConfirmResult(); diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentAddressMulti/BusinessAuditDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentAddressMulti/BusinessAuditDTO.java index 4de71763d..9611b8cd6 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentAddressMulti/BusinessAuditDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentAddressMulti/BusinessAuditDTO.java @@ -14,11 +14,17 @@ import java.util.List; public class BusinessAuditDTO { private List ids; + //业务主管 private String salesManager; + //审核意见 private String reviewOpinion; private Long reviewStatus; private String salesManagerName; private String reviewOpinionName; @ApiModelProperty("组织id") private Long organizationId; + private List goodsNumber; + //业务员 + private String salesmanName; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsOrderDTO.java index 6f5f47bcb..24f22ef88 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsOrderDTO.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.mhd.common.core.annotation.Excel; +import com.mhd.oms.domain.reservationOrder.entity.ReservationAddressMulti; +import com.mhd.oms.domain.reservationOrder.entity.ReservationCargoInfo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -29,6 +31,10 @@ public class OmsOrderDTO { // // @ApiModelProperty(value = "运距(千米)") // private BigDecimal haulDistance; + @ApiModelProperty(value = "订单创建时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private java.util.Date createTime; @ApiModelProperty(value = "订单开始时间") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @@ -786,5 +792,22 @@ public class OmsOrderDTO { @ApiModelProperty("业务单号") private String businessOrderNumber; + + @ApiModelProperty("货物信息") + private List reservationCargoInfo; + + @ApiModelProperty("装货地址") + private ReservationAddressMulti loadingAddressMulti; + + @ApiModelProperty("卸货地址") + private ReservationAddressMulti unloadAddressMulti; + + @ApiModelProperty("业务主管") + private String salesManager; + @ApiModelProperty("审核意见") + private String reviewOpinion; + @ApiModelProperty("起运时间") + private Date departureTime; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/resevationOrder/ResevationOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/resevationOrder/ResevationOrderApi.java index 58dd7b06d..cc4aee747 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/resevationOrder/ResevationOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/resevationOrder/ResevationOrderApi.java @@ -1,12 +1,18 @@ package com.mhd.oms.interfaces.facade.resevationOrder; import com.aliyun.oss.ServiceException; +import com.github.pagehelper.PageHelper; import com.mhd.common.core.utils.sms.CommonConstant; import com.mhd.common.core.utils.sms.Result; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; +import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO; +import com.mhd.oms.domain.reservationOrder.entity.ReservationOrder; import com.mhd.oms.domain.reservationOrder.repository.facade.IOmsAddressMultiService; import com.mhd.oms.domain.reservationOrder.repository.po.ReservationOrderPO; +import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO; +import com.mhd.oms.interfaces.dto.businessDocumentOrder.BusinessDocumentOrderDTO; import com.mhd.oms.interfaces.dto.resevationOrder.OmsOrderAddDTO; import com.mhd.oms.interfaces.dto.resevationOrder.OmsOrderDTO; import com.mhd.system.api.domain.TmsTransportNote; @@ -17,6 +23,8 @@ import org.springframework.web.bind.annotation.*; import com.mhd.common.core.web.controller.BaseController; import javax.annotation.Resource; import java.util.List; +import java.util.Map; + import com.mhd.common.core.web.domain.AjaxResult; //import static com.mhd.common.core.utils.PageUtils.startPage; @@ -80,19 +88,80 @@ public class ResevationOrderApi extends BaseController{ } return result; } + + + /** + * 修改预约单 + * + * @param tmsOrderAddDTO + * @return +*/ + @ApiOperation(value = "货源表-修改预约单", notes = "货源表-修改预约单") + @PostMapping(value = "/edit") + public Result edit(@RequestBody OmsOrderAddDTO tmsOrderAddDTO) { + Result result = new Result(); + try { + // 获取当前登录用户的组织信息 + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null && loginUser.getUserPo() != null) { + // 设置组织ID + if (loginUser.getUserPo().getOrganizationId() != null) { + tmsOrderAddDTO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + } + // 设置组织名称 + if (loginUser.getUserPo().getOrganizationName() != null) { + tmsOrderAddDTO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + } + // 设置上级组织ID + if (loginUser.getUserPo().getTopOrganizationId() != null) { + tmsOrderAddDTO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + } + } + + omsAddressMultiService.update(tmsOrderAddDTO); + + result.success("修改成功"); + result.setCode(CommonConstant.SC_OK_200); + } catch (ServiceException e) { + e.printStackTrace(); + result.error500("修改失败:"+e.getErrorMessage()); + } catch (Exception e) { + e.printStackTrace(); + result.error500("修改失败"); + } + return result; + } + @ApiOperation("获取预约单详情") + @GetMapping("/getResevationOrderInfo") + public Result getResevationOrderInfo(@RequestParam("goodsNumber") String goodsNumber) { + try { + OmsOrderDTO detail = omsAddressMultiService.getResevationOrderInfo(goodsNumber); + if (detail == null) { + return Result.error("未查询到该预约单信息"); + } + return Result.ok(detail); + } catch (Exception e) { + return Result.error("查询预约单详情失败:" + e.getMessage()); + } + } + + /** * 分页查询【预约单】列表 */ @ApiOperation("查询【预约单】列表") @GetMapping("/list") - public TableDataInfo list(OmsOrderDTO omsOrderDTO) + public TableDataInfo list(OmsOrderDTO omsOrderDTO, + @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize) { //转换实体 - startPage(); + PageHelper.startPage(pageNo, pageSize); List list = omsAddressMultiService.queryList(omsOrderDTO); return getDataTable(list); } + /** @@ -100,16 +169,12 @@ public class ResevationOrderApi extends BaseController{ */ @ApiOperation("批量确认预约单") @PostMapping("/batchConfirm") - public Result batchConfirm(@RequestBody List goodsNumbers) { + public Result batchConfirm(@RequestBody BusinessAuditDTO businessAuditDTO) { Result result = new Result<>(); try { - if (goodsNumbers == null || goodsNumbers.isEmpty()) { - result.error500("预约单号列表不能为空"); - return result; - } // 调用服务层方法 - 现在服务层直接返回Result - return omsAddressMultiService.batchConfirmReservationOrder(goodsNumbers); + return omsAddressMultiService.batchConfirmReservationOrder(businessAuditDTO); } catch (ServiceException e) { result.error500("批量确认失败: " + e.getErrorMessage()); } catch (Exception e) { @@ -139,5 +204,41 @@ public class ResevationOrderApi extends BaseController{ return result; } + /** + * 根据订单状态(orderType)统计各状态的数量 + */ + @ApiOperation("根据订单状态统计数量") + @GetMapping("/countByOrderType") + public Result> countByOrderType() { + Result> result = new Result<>(); + try { + Map countMap = omsAddressMultiService.countByOrderType(); + result.success("统计成功"); + result.setResult(countMap); + result.setCode(CommonConstant.SC_OK_200); + } catch (Exception e) { + e.printStackTrace(); + result.error500("统计失败: " + e.getMessage()); + } + return result; + } + @ApiOperation("取消预约") + @PostMapping("/cancelReserve") + public Result cancelReserve(@RequestBody List goodsNumbers) { + Result result = new Result<>(); + try { + Integer count = omsAddressMultiService.cancelReserve(goodsNumbers); + if (count > 0) { + return Result.ok("取消预约成功,共处理:" + count + "条"); + } else { + return Result.error("取消预约失败,订单不存在或已取消"); + } + + } catch (Exception e) { + e.printStackTrace(); + return Result.error("取消预约失败:" + e.getMessage()); + } + } + } diff --git a/mhd_oms/src/main/resources/mapper/reservationOrder/ReservationDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationOrder/ReservationDocumentOrderMapper.xml index 9870e67fe..fc2c78f06 100644 --- a/mhd_oms/src/main/resources/mapper/reservationOrder/ReservationDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationOrder/ReservationDocumentOrderMapper.xml @@ -35,9 +35,7 @@ - - and GOODS_NUMBER = #{goodsNumber} - + and LOADING_AREA_ID = #{loadingAreaId} @@ -56,6 +54,9 @@ and LOADING_UNIT = #{loadingUnit} + + and ORGANIZATION_ID= #{organizationId} + and FREIGHTER_NAME like concat('%', #{freighterName}, '%') @@ -218,8 +219,11 @@ and CREATE_USER_ID = #{createUserId} - - and APPOINT_SHIPPER = #{appointShipper} + + and GOODS_NUMBER LIKE CONCAT('%', #{goodsNumber}, '%') + + + and APPOINT_SHIPPER LIKE CONCAT('%', #{appointShipper}, '%') and IS_STATUS = #{isStatus} From e7202f100d46bfea1bf53dbd933a1bee5f8d41a3 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Mon, 11 May 2026 15:55:43 +0800 Subject: [PATCH 077/418] =?UTF-8?q?=E7=89=A9=E6=96=99=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91-=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=AF=9B=E9=87=8D=EF=BC=8C=E4=BF=AE=E6=94=B9=E6=B1=87=E7=8E=87?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mhd/system/api/domain/MaterialBaseInfoFeign.java | 4 ++++ .../domain/materialBaseInfo/entity/MaterialBaseInfo.java | 4 ++++ .../materialBaseInfo/repository/po/MaterialBaseInfoPO.java | 4 ++++ .../materialBaseInfo/repository/todo/MaterialBaseInfoDO.java | 3 +++ .../interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java | 4 ++++ .../mapper/basic/materialBaseInfo/MaterialBaseInfoMapper.xml | 4 ++-- .../oms/interfaces/facade/exchangeRate/ExchangeRateApi.java | 2 +- .../wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java | 4 ++++ .../materialBaseInfo/repository/po/MaterialBaseInfoPO.java | 4 ++++ .../materialBaseInfo/repository/todo/MaterialBaseInfoDO.java | 4 ++++ .../interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java | 4 ++++ .../mapper/materialBaseInfo/MaterialBaseInfoMapper.xml | 3 ++- 12 files changed, 40 insertions(+), 4 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialBaseInfoFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialBaseInfoFeign.java index 71517982e..79b899031 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialBaseInfoFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialBaseInfoFeign.java @@ -211,6 +211,10 @@ public class MaterialBaseInfoFeign extends BaseVOEntity{ @Excel(name = "货物类型:0-物料 1-半成品 2-成品") private Integer goodsType; + @ApiModelProperty("毛重(kg)") + @Excel(name = "毛重(kg)") + private BigDecimal grossWeight; + /** * 规格型号 */ diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/entity/MaterialBaseInfo.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/entity/MaterialBaseInfo.java index e594ff73a..267d6da50 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/entity/MaterialBaseInfo.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/entity/MaterialBaseInfo.java @@ -394,4 +394,8 @@ public class MaterialBaseInfo extends BaseVOEntity{ @Excel(name = "货物类型:0-物料 1-半成品 2-成品") private Integer goodsType; + @ApiModelProperty("毛重(kg)") + @Excel(name = "毛重(kg)") + private BigDecimal grossWeight; + } \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java index dfaa9e609..28b99e2f6 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java @@ -369,6 +369,10 @@ public class MaterialBaseInfoPO extends BaseVOEntity{ @Excel(name = "货物类型:0-物料 1-半成品 2-成品") private Integer goodsType; + @ApiModelProperty("毛重(kg)") + @Excel(name = "毛重(kg)") + private BigDecimal grossWeight; + @ApiModelProperty("商品规则") private MaterialGoodsRuleFeign materialGoodsRule; diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java index d5cb6c2ff..a71a79e8e 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java @@ -390,4 +390,7 @@ public class MaterialBaseInfoDO extends BaseVOEntity{ @Excel(name = "货物类型:0-物料 1-半成品 2-成品") private Integer goodsType; + @ApiModelProperty("毛重(kg)") + @Excel(name = "毛重(kg)") + private BigDecimal grossWeight; } \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java index 067a9f45d..7704c15c9 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java @@ -369,4 +369,8 @@ public class MaterialBaseInfoDTO extends BaseVOEntity{ @Excel(name = "货物类型:0-物料 1-半成品 2-成品") private Integer goodsType; + @ApiModelProperty("毛重(kg)") + @Excel(name = "毛重(kg)") + private BigDecimal grossWeight; + } \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/resources/mapper/basic/materialBaseInfo/MaterialBaseInfoMapper.xml b/mhd-modules/mhd-system/src/main/resources/mapper/basic/materialBaseInfo/MaterialBaseInfoMapper.xml index e511d7f5e..f399c48be 100644 --- a/mhd-modules/mhd-system/src/main/resources/mapper/basic/materialBaseInfo/MaterialBaseInfoMapper.xml +++ b/mhd-modules/mhd-system/src/main/resources/mapper/basic/materialBaseInfo/MaterialBaseInfoMapper.xml @@ -49,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" material_classify_name, material_type, material_type_name, pack_id, pack_code, pack_name, unit_code, unit_name, brand_id, brand_code, brand_name, shelf_life, weight_limit, volume_limit, material_shape, material_shape_name, material_size, material_length, material_width, material_height, remark, nullify, create_time, create_by, create_by_name, update_time, update_by, update_by_name, del_flag, common,material_model,material_unit,machine_code,sku_code, unit_price, currency, origin_country, hs_code, declaration_unit, statutory_unit, statutory_second_unit, copy_code, - goods_type + goods_type,gross_weight from material_base_info diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java index 8efc3f8da..ef1cd1e62 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/exchangeRate/ExchangeRateApi.java @@ -22,7 +22,7 @@ import static com.mhd.common.core.utils.PageUtils.startPage; @Api(tags = "汇率管理") @RestController -@RequestMapping("exchangeRateApi") +@RequestMapping("/exchangeRateApi") public class ExchangeRateApi { @Resource diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java index e2a841c65..0acb506a9 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java @@ -220,4 +220,8 @@ public class MaterialBaseInfo extends BaseVOEntity { @ApiModelProperty(name = "推送人") private Long pushBy; + @ApiModelProperty("毛重(kg)") + @Excel(name = "毛重(kg)") + private BigDecimal grossWeight; + } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java index 4ea8aa1bb..bc6c3adbd 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java @@ -257,6 +257,10 @@ public class MaterialBaseInfoPO extends BaseVOEntity { @Excel(name = "货物类型:0-物料 1-半成品 2-成品") private Integer goodsType; + @ApiModelProperty("毛重(kg)") + @Excel(name = "毛重(kg)") + private BigDecimal grossWeight; + @ApiModelProperty("推送状态 1-未推送 2推送中 3-推送成功 4-推送失败") private Integer pushStatus; diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java index 4219d4815..18d71d9d8 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java @@ -226,6 +226,10 @@ public class MaterialBaseInfoDO extends BaseVOEntity { @Excel(name = "货物类型:0-物料 1-半成品 2-成品") private Integer goodsType; + @ApiModelProperty("毛重(kg)") + @Excel(name = "毛重(kg)") + private BigDecimal grossWeight; + @ApiModelProperty("推送状态") private Integer pushStatus; diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java index f55a80d2b..b5505a50a 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java @@ -269,6 +269,10 @@ public class MaterialBaseInfoDTO extends BaseVOEntity { @Excel(name = "货物类型:0-物料 1-半成品 2-成品") private Integer goodsType; + @ApiModelProperty("毛重(kg)") + @Excel(name = "毛重(kg)") + private BigDecimal grossWeight; + @ApiModelProperty("推送状态") private Integer pushStatus; diff --git a/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml b/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml index fd6072c5b..26bc1aad1 100644 --- a/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml +++ b/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml @@ -62,6 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -70,7 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" material_classify_name, a.material_type, a.material_type_name, a.pack_id, a.pack_code, a.pack_name, a.unit_code, a.unit_name, a.brand_id, a.brand_code, a.brand_name, a.shelf_life, a.weight_limit, a.volume_limit, a.material_shape, material_shape_name, a.material_size, a.material_length, a.material_width, a.material_height, a.remark, a.nullify, a.create_time, a.create_by, a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.common, sku_code, a.unit_price, a.currency, a.origin_country, a.hs_code, a.declaration_unit, a.statutory_unit, a.statutory_second_unit, a.copy_code, - a.push_status,a.push_time,a.push_by,a.goods_type, + a.push_status,a.push_time,a.push_by,a.goods_type,a.gross_weight, specification_model as specification_model,nvl(b.stock_qty,0) as stock_quantity from material_base_info a left join ( select material_base_info_id, sum(INVENTORY_QUANTITY) as stock_qty from MATERIAL_INVENTORY group by material_base_info_id ) b on a.material_base_info_id = b.material_base_info_id From 62da999f949fc354ce01f0ca9e59fe290d4174e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 11 May 2026 16:02:51 +0800 Subject: [PATCH 078/418] =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=88=86=E9=85=8D?= =?UTF-8?q?=E8=B7=9F=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2=E5=8C=BA=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/MaterialInventoryDO.java | 3 +++ .../dto/materialInventory/MaterialInventoryDTO.java | 4 ++++ .../facadeApi/materialInventory/MaterialInventoryApi.java | 8 ++++++-- .../mapper/materialInventory/MaterialInventoryMapper.xml | 3 +++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java index cdef48701..104b44a95 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java @@ -244,4 +244,7 @@ public class MaterialInventoryDO extends MaterialBaseDO { @ApiModelProperty("LOT编号") @Excel(name = "LOT编号") private String lotNumber; + + /** 为 true 时 SQL 排除库存数量为 0(含 null 视为 0) */ + private Boolean excludeZeroInventoryQuantity; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java index 003cbdf71..59449f3d4 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java @@ -185,4 +185,8 @@ public class MaterialInventoryDTO extends MaterialBaseDTO { @Excel(name = "冻结数量大于0条件") private String greaterThanFreezeQuantity; + /** 为 true 时排除库存数量为 0 的行(出库分配选库存用);库存查询页不传或 false */ + @ApiModelProperty(value = "是否排除库存数量为0", example = "false") + private Boolean excludeZeroInventoryQuantity; + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java index ab891ebbb..e8b3fce35 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java @@ -48,11 +48,15 @@ public class MaterialInventoryApi extends BaseController { /** * 分页查询物料库存列表 */ - @ApiOperation("查询物料库存列表") + @ApiOperation(value = "查询物料库存列表", notes = "库存查询页不传 excludeZeroInventoryQuantity 可查出数量为0;出库分配页传 excludeZeroInventoryQuantity=true 排除库存数量为0") @GetMapping("/list") public TableDataInfo list(MaterialInventoryDTO materialInventoryDTO, - @RequestParam(value = "customerName", required = false) String customerName) + @RequestParam(value = "customerName", required = false) String customerName, + @RequestParam(value = "excludeZeroInventoryQuantity", required = false) Boolean excludeZeroInventoryQuantity) { + if (Boolean.TRUE.equals(excludeZeroInventoryQuantity)) { + materialInventoryDTO.setExcludeZeroInventoryQuantity(true); + } // 出库分配前端传的是客户名称 customerName,这里通过名称查询货主ID,使用精确匹配(不模糊匹配) String shipperName = null; // 保存查询到的货主名称 if (StringUtils.isNotBlank(customerName) && materialInventoryDTO.getShipperId() == null) { diff --git a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml index f04f9873b..bbda42547 100644 --- a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml +++ b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml @@ -183,6 +183,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.freeze_quantity = #{freezeQuantity} + + and COALESCE(a.inventory_quantity, 0) > 0 + and a.create_by_name like concat('%', #{createByName}, '%') From acbc8bfe0255dd5acb3acddf8ed37cb31963d15d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 11 May 2026 17:41:35 +0800 Subject: [PATCH 079/418] =?UTF-8?q?=E8=AE=A1=E8=B4=B9=E5=8D=95=E6=8D=AE=20?= =?UTF-8?q?=E8=AE=A1=E8=B4=B9=E6=B5=81=E6=B0=B4=20=E8=B4=B9=E7=94=A8?= =?UTF-8?q?=E7=A7=91=E7=9B=AE=E6=B7=BB=E5=8A=A0=E8=AE=A1=E8=B4=B9=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E7=AD=89=E4=BF=A1=E6=81=AF;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/domain/dto/BusinessDocumentDTO.java | 12 ++ .../expenseAccount/entity/ExpenseAccount.java | 22 ++++ .../repository/po/ExpenseAccountPO.java | 23 ++++ .../repository/todo/ExpenseAccountDO.java | 22 ++++ .../dto/expenseAccount/ExpenseAccountDTO.java | 22 ++++ .../CostCalculationApplicationService.java | 1 + .../BusinessDocumentApplicationService.java | 118 ++++++++++++++++-- .../repository/mapper/BillManageMapper.java | 2 + .../persistence/BillManageImpl.java | 6 + .../entity/BillingStatement.java | 12 ++ .../repository/po/BillingStatementPO.java | 11 ++ .../repository/todo/BillingStatementDO.java | 11 ++ .../entity/BusinessDocument.java | 12 ++ .../repository/po/BusinessDocumentPO.java | 11 ++ .../repository/todo/BusinessDocumentDO.java | 11 ++ .../entity/BillingParamsEntity.java | 8 +- .../costCalculation/po/BillingCostPo.java | 5 +- .../feign/vo/ExpenseAccountPO.java | 39 +++++- .../billingStatement/BillingStatementDTO.java | 11 ++ .../resources/mapper/BillManageMapper.xml | 4 + 20 files changed, 348 insertions(+), 15 deletions(-) diff --git a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/BusinessDocumentDTO.java b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/BusinessDocumentDTO.java index 67055a95b..457658fe8 100644 --- a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/BusinessDocumentDTO.java +++ b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/BusinessDocumentDTO.java @@ -1,5 +1,6 @@ package com.mhd.common.core.domain.dto; +import com.baomidou.mybatisplus.annotation.TableField; import com.mhd.common.core.annotation.Excel; import lombok.Data; import java.util.Date; @@ -233,4 +234,15 @@ public class BusinessDocumentDTO extends BaseVOEntity{ private String paymentAccountId; @ApiModelProperty("收款帐户名称") private String paymentAccountName; + + @ApiModelProperty("计费单位") + private String billingUnit; + @ApiModelProperty("计费单位2") + private String billingUnit2; + @ApiModelProperty("预计费金额") + private BigDecimal billingNum; + @ApiModelProperty("预计费金额") + private BigDecimal billingUnitPrice; + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/entity/ExpenseAccount.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/entity/ExpenseAccount.java index 26c82423b..88d5cf7fa 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/entity/ExpenseAccount.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/entity/ExpenseAccount.java @@ -1,6 +1,7 @@ package com.mhd.basic.domain.expenseAccount.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.mhd.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; @@ -113,4 +114,25 @@ public class ExpenseAccount extends BaseVOEntity{ @ApiModelProperty("费率") private BigDecimal rate; + @ApiModelProperty("计费单位") + private String billingUnit; + + @ApiModelProperty("计费单位英文") + private String billingUnitEn; + + @ApiModelProperty("计费单位2") + private String billingUnit2; + + @ApiModelProperty("计费单位2英文") + private String billingUnitEn2; + + @ApiModelProperty("计费单位中文默认") + private String billingUnitDefaultCn; + + @ApiModelProperty("计费单位英文默认") + private String billingUnitDefaultEn; + + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; + } \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/po/ExpenseAccountPO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/po/ExpenseAccountPO.java index dfbd0e340..07cca5026 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/po/ExpenseAccountPO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/po/ExpenseAccountPO.java @@ -1,5 +1,6 @@ package com.mhd.basic.domain.expenseAccount.repository.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.mhd.common.core.annotation.Excel; import lombok.Data; import java.util.Date; @@ -136,4 +137,26 @@ public class ExpenseAccountPO extends BaseVOEntity{ @ApiModelProperty(name = "出库单是否固定显示 0-否 1-是") private Integer outOrderDisplay; + + + @ApiModelProperty("计费单位") + private String billingUnit; + + @ApiModelProperty("计费单位英文") + private String billingUnitEn; + + @ApiModelProperty("计费单位2") + private String billingUnit2; + + @ApiModelProperty("计费单位2英文") + private String billingUnitEn2; + + @ApiModelProperty("计费单位中文默认") + private String billingUnitDefaultCn; + + @ApiModelProperty("计费单位英文默认") + private String billingUnitDefaultEn; + + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/todo/ExpenseAccountDO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/todo/ExpenseAccountDO.java index 1fafefb54..cb47009f1 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/todo/ExpenseAccountDO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/todo/ExpenseAccountDO.java @@ -153,4 +153,26 @@ public class ExpenseAccountDO extends BaseVOEntity{ @ApiModelProperty(name = "创建者姓名") private String updateByName; + + + @ApiModelProperty("计费单位") + private String billingUnit; + + @ApiModelProperty("计费单位英文") + private String billingUnitEn; + + @ApiModelProperty("计费单位2") + private String billingUnit2; + + @ApiModelProperty("计费单位2英文") + private String billingUnitEn2; + + @ApiModelProperty("计费单位中文默认") + private String billingUnitDefaultCn; + + @ApiModelProperty("计费单位英文默认") + private String billingUnitDefaultEn; + + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java index c6fbe3362..5bc54f46a 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java @@ -138,4 +138,26 @@ public class ExpenseAccountDTO extends BaseVOEntity{ @ApiModelProperty(name = "出库单是否固定显示 0-否 1-是") private Integer outOrderDisplay; + + + @ApiModelProperty("计费单位") + private String billingUnit; + + @ApiModelProperty("计费单位英文") + private String billingUnitEn; + + @ApiModelProperty("计费单位2") + private String billingUnit2; + + @ApiModelProperty("计费单位2英文") + private String billingUnitEn2; + + @ApiModelProperty("计费单位中文默认") + private String billingUnitDefaultCn; + + @ApiModelProperty("计费单位英文默认") + private String billingUnitDefaultEn; + + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/application/server/billingRules/CostCalculationApplicationService.java b/mhd_bms/src/main/java/com/mhd/bms/application/server/billingRules/CostCalculationApplicationService.java index 7e907c2d6..c3492d48a 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/application/server/billingRules/CostCalculationApplicationService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/application/server/billingRules/CostCalculationApplicationService.java @@ -92,6 +92,7 @@ public class CostCalculationApplicationService { //第二步 根据计费策略公式进行替换,并根据配置的公式计算结果 BigDecimal computationalCost = computational(billingRulesPO,costCalculationDTO,taskFlowRecordsDO); result.setComputationalCost(computationalCost); + result.setBillingRulesPO(billingRulesPO); //第三步 产生计费任务记录 taskFlowRecordsDO.setBillingResults(computationalCost.toString()); diff --git a/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java b/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java index 67c69da6a..ce684c175 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java @@ -7,11 +7,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.mhd.bms.application.server.billingRules.CostCalculationApplicationService; import com.mhd.bms.application.server.settlementCustomers.SettlementCustomersApplicationService; +import com.mhd.bms.domain.billingRules.repository.po.BillingParamsPO; +import com.mhd.bms.domain.billingRules.repository.po.BillingRulesPO; import com.mhd.bms.domain.billingStatement.service.BillingStatementDomainService; import com.mhd.bms.domain.businessDocument.entity.BusinessDocument; import com.mhd.bms.domain.businessDocument.repository.po.BusinessDocumentPO; import com.mhd.bms.domain.businessDocument.repository.todo.BusinessDocumentDO; import com.mhd.bms.domain.businessDocument.service.BusinessDocumentDomainService; +import com.mhd.bms.domain.costCalculation.entity.BillingParamsEntity; import com.mhd.bms.domain.costCalculation.po.BillingCostPo; import com.mhd.bms.domain.documentType.entity.DocumentFromEntity; import com.mhd.bms.domain.documentType.entity.DocumentType; @@ -173,10 +176,52 @@ public class BusinessDocumentApplicationService { costCalculationDTO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); BillingCostPo billingCostPo = costCalculationApplicationService.costCalculation(costCalculationDTO); businessDocumentDO.setEstimatedCost(billingCostPo.getComputationalCost()); + BillingRulesPO billingRulesPO = billingCostPo.getBillingRulesPO(); + List billingParamsPOList = billingRulesPO.getBillingParamsPOList(); + if (ObjectUtil.isNotNull(billingParamsPOList)&&billingParamsPOList.size()>0) { + BillingParamsPO billingParamsPO = billingParamsPOList.get(0); + String billingParamsJson = billingParamsPO.getBillingParamsJson(); + String preSetRules = billingParamsPO.getPreSetRules(); + String documentFormJson = businessDocumentDO.getDocumentFormJson(); + JSONObject paramObj = JSONObject.parseObject(documentFormJson); + List billingParamsEntityList = JSON.parseArray(billingParamsJson, BillingParamsEntity.class); + for (BillingParamsEntity billingParamsEntity : billingParamsEntityList) { + String isFee = billingParamsEntity.getIsFee(); + String fields = billingParamsEntity.getFields(); + // 安全获取值并转 BigDecimal(不会报错) + BigDecimal value = getSafeBigDecimal(paramObj, fields); + + if ("1".equals(isFee)) { + businessDocumentDO.setBillingUnitPrice(value.setScale(2, BigDecimal.ROUND_HALF_UP)); + } else { + businessDocumentDO.setBillingNum(value.setScale(2, BigDecimal.ROUND_HALF_UP)); + } + } + } // businessDocumentDO.setEstimatedCost(new BigDecimal("100")); return businessDocumentDomainService.insert(businessDocumentDO); } + /** + * 从 JSONObject 安全获取 BigDecimal,支持: + * 数字、整数字符串、小数字符串、null、空字符串 + */ + private BigDecimal getSafeBigDecimal(JSONObject paramObj, String fields) { + Object obj = paramObj.get(fields); + + if (obj == null) { + return BigDecimal.ZERO; // 空值默认返回0,避免空指针 + } + + try { + // 统一转字符串再转 BigDecimal,最安全 + return new BigDecimal(obj.toString().trim()); + } catch (Exception e) { + // 无法解析的非法值,默认返回0 + return BigDecimal.ZERO; + } + } + /** * 新增业务单据 @@ -390,12 +435,39 @@ public class BusinessDocumentApplicationService { businessDocumentDO.setFirstSubjectName(expenseAccountPO.getSubjectName()); businessDocumentDO.setFirstSubjectCode(expenseAccountPO.getSubjectCode()); businessDocumentDO.setSecondSubjectCode(""); + String billingUnitDefaultCn = expenseAccountPO.getBillingUnitDefaultCn(); + String billingUnitDefaultEn = expenseAccountPO.getBillingUnitDefaultEn(); + if ("1".equals(billingUnitDefaultCn)) { + businessDocumentDO.setBillingUnit(expenseAccountPO.getBillingUnit()); + businessDocumentDO.setBillingUnit2(expenseAccountPO.getBillingUnit2()); + } else if ("1".equals(billingUnitDefaultEn)) { + businessDocumentDO.setBillingUnit(expenseAccountPO.getBillingUnitEn()); + businessDocumentDO.setBillingUnit2(expenseAccountPO.getBillingUnitEn2()); + } else { + businessDocumentDO.setBillingUnit(expenseAccountPO.getBillingUnit()); + businessDocumentDO.setBillingUnit2(expenseAccountPO.getBillingUnit2()); + } + + businessDocumentDO.setNcSubjectCode(expenseAccountPO.getNcSubjectCode()); }else { //不是一级科目 businessDocumentDO.setFirstSubjectName(expenseAccountPO.getUpperSubject()); businessDocumentDO.setFirstSubjectCode(expenseAccountPO.getUpperSubjectCode()); businessDocumentDO.setSecondSubjectCode(expenseAccountPO.getSubjectCode()); businessDocumentDO.setSecondSubjectName(expenseAccountPO.getSubjectName()); + String billingUnitDefaultCn = expenseAccountPO.getBillingUnitDefaultCn(); + String billingUnitDefaultEn = expenseAccountPO.getBillingUnitDefaultEn(); + if ("1".equals(billingUnitDefaultCn)) { + businessDocumentDO.setBillingUnit(expenseAccountPO.getBillingUnit()); + businessDocumentDO.setBillingUnit2(expenseAccountPO.getBillingUnit2()); + } else if ("1".equals(billingUnitDefaultEn)) { + businessDocumentDO.setBillingUnit(expenseAccountPO.getBillingUnitEn()); + businessDocumentDO.setBillingUnit2(expenseAccountPO.getBillingUnitEn2()); + } else { + businessDocumentDO.setBillingUnit(expenseAccountPO.getBillingUnit()); + businessDocumentDO.setBillingUnit2(expenseAccountPO.getBillingUnit2()); + } + businessDocumentDO.setNcSubjectCode(expenseAccountPO.getNcSubjectCode()); } //判断如果前端没有传费用类别,则此处根据费用科目获取关联费用类别 if(StringUtils.isEmpty(businessDocumentDO.getServiceItemsCode())){ @@ -1026,18 +1098,40 @@ public class BusinessDocumentApplicationService { businessDocumentDO.setOrganizationName(businessDocumentDO.getOrganizationName()); businessDocumentDO.setOriginalBusinessNum(businessDocumentDO.getOriginalBusinessNum()); //调用费用计算,计算费用金额进行保存 -// CostCalculationDTO costCalculationDTO = new CostCalculationDTO(); -// costCalculationDTO.setOriginalBusinessNum(businessDocumentDO.getOriginalBusinessNum()); -// costCalculationDTO.setContractNumber(businessDocumentDO.getContractNumber()); -// costCalculationDTO.setFormJson(businessDocumentDO.getDocumentFormJson()); -// costCalculationDTO.setSubjectCode(StringUtils.isEmpty(businessDocumentDO.getSecondSubjectCode()) ? businessDocumentDO.getFirstSubjectCode():businessDocumentDO.getSecondSubjectCode()); -// costCalculationDTO.setDocumentTypeCode(businessDocumentDO.getDocumentTypeCode()); -// costCalculationDTO.setTopOrganizationId(businessDocumentDO.getTopOrganizationId()); -// costCalculationDTO.setOrganizationId(businessDocumentDO.getOrganizationId()); -// costCalculationDTO.setOrganizationName(businessDocumentDO.getOrganizationName()); -// BillingCostPo billingCostPo = costCalculationApplicationService.costCalculation(costCalculationDTO); -// businessDocumentDO.setEstimatedCost(billingCostPo.getComputationalCost()); -// businessDocumentDO.setBillAmount(billingCostPo.getComputationalCost());//计费金额与计算金额一致 + CostCalculationDTO costCalculationDTO = new CostCalculationDTO(); + costCalculationDTO.setOriginalBusinessNum(businessDocumentDO.getOriginalBusinessNum()); + costCalculationDTO.setContractNumber(businessDocumentDO.getContractNumber()); + costCalculationDTO.setFormJson(businessDocumentDO.getDocumentFormJson()); + costCalculationDTO.setSubjectCode(StringUtils.isEmpty(businessDocumentDO.getSecondSubjectCode()) ? businessDocumentDO.getFirstSubjectCode():businessDocumentDO.getSecondSubjectCode()); + costCalculationDTO.setDocumentTypeCode(businessDocumentDO.getDocumentTypeCode()); + costCalculationDTO.setTopOrganizationId(businessDocumentDO.getTopOrganizationId()); + costCalculationDTO.setOrganizationId(businessDocumentDO.getOrganizationId()); + costCalculationDTO.setOrganizationName(businessDocumentDO.getOrganizationName()); + BillingCostPo billingCostPo = costCalculationApplicationService.costCalculation(costCalculationDTO); + + BillingRulesPO billingRulesPO = billingCostPo.getBillingRulesPO(); + List billingParamsPOList = billingRulesPO.getBillingParamsPOList(); + if (ObjectUtil.isNotNull(billingParamsPOList)&&billingParamsPOList.size()>0) { + BillingParamsPO billingParamsPO = billingParamsPOList.get(0); + String billingParamsJson = billingParamsPO.getBillingParamsJson(); + String preSetRules = billingParamsPO.getPreSetRules(); + String documentFormJson = businessDocumentDO.getDocumentFormJson(); + JSONObject paramObj = JSONObject.parseObject(documentFormJson); + List billingParamsEntityList = JSON.parseArray(billingParamsJson, BillingParamsEntity.class); + for (BillingParamsEntity billingParamsEntity : billingParamsEntityList) { + String isFee = billingParamsEntity.getIsFee(); + String fields = billingParamsEntity.getFields(); + // 安全获取值并转 BigDecimal(不会报错) + BigDecimal value = getSafeBigDecimal(paramObj, fields); + + if ("1".equals(isFee)) { + businessDocumentDO.setBillingUnitPrice(value.setScale(2, BigDecimal.ROUND_HALF_UP)); + } else { + businessDocumentDO.setBillingNum(value.setScale(2, BigDecimal.ROUND_HALF_UP)); + } + } + } + log.info("定时任务进入BMS业务单据保存--结束"); BusinessDocument businessDocument = businessDocumentDomainService.insertRetrun(businessDocumentDO); BusinessDocumentDTO businessDocumentDTO = new BusinessDocumentDTO(); diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/billManage/repository/mapper/BillManageMapper.java b/mhd_bms/src/main/java/com/mhd/bms/domain/billManage/repository/mapper/BillManageMapper.java index a2b77b5f7..f0f3c4f7a 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/billManage/repository/mapper/BillManageMapper.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/billManage/repository/mapper/BillManageMapper.java @@ -21,6 +21,8 @@ public interface BillManageMapper extends BaseMapper String getInvoiceItemName(@Param("invoiceItemId") String invoiceItemId); + String getInvoiceItemNcCode(@Param("invoiceItemId") String invoiceItemId); + String getCustomerCodeNc(@Param("actualInvoiceCustomerId") String actualInvoiceCustomerId); String getDocumentPreparerNcCode(@Param("salesmanId") String salesmanId); diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/billManage/repository/persistence/BillManageImpl.java b/mhd_bms/src/main/java/com/mhd/bms/domain/billManage/repository/persistence/BillManageImpl.java index d08e95350..486aab1ae 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/billManage/repository/persistence/BillManageImpl.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/billManage/repository/persistence/BillManageImpl.java @@ -240,11 +240,14 @@ public class BillManageImpl extends ServiceImpl im item.setDirection("1"); String invoiceItem = item1.getInvoiceItem(); List names = new ArrayList<>(); + List nccodes = new ArrayList<>(); if (invoiceItem != null && !invoiceItem.isEmpty()) { String[] items = invoiceItem.split(","); for (String s : items) { String invoiceItemName1 = billManageMapper.getInvoiceItemName(s); + String invoiceItemNcCode1 = billManageMapper.getInvoiceItemNcCode(s); names.add(invoiceItemName1); + nccodes.add(invoiceItemNcCode1); } } String invoiceItemName = String.join(",", names); @@ -282,6 +285,9 @@ public class BillManageImpl extends ServiceImpl im item.setDef29(split[0]); //item.setDef29(invoiceItem1); } + if (nccodes != null && !nccodes.isEmpty()&&nccodes.size()>0) { + item.setDef29(nccodes.get(0)); + } item.setTaxcodeid("ZL01"); item.setInvoiceno(invoiceNumber); ysitemList.add(item); diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/entity/BillingStatement.java b/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/entity/BillingStatement.java index 3be326aac..e0978f0dd 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/entity/BillingStatement.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/entity/BillingStatement.java @@ -1,6 +1,7 @@ package com.mhd.bms.domain.billingStatement.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.mhd.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; @@ -210,4 +211,15 @@ public class BillingStatement extends BaseVOEntity{ private String paymentAccountId; @ApiModelProperty("收款帐户名称") private String paymentAccountName; + + @ApiModelProperty("计费单位") + private String billingUnit; + @ApiModelProperty("计费单位2") + private String billingUnit2; + @ApiModelProperty("预计费金额") + private BigDecimal billingNum; + @ApiModelProperty("预计费金额") + private BigDecimal billingUnitPrice; + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/repository/po/BillingStatementPO.java b/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/repository/po/BillingStatementPO.java index f77d82eda..2a6ec910a 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/repository/po/BillingStatementPO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/repository/po/BillingStatementPO.java @@ -221,4 +221,15 @@ public class BillingStatementPO extends BaseVOEntity{ private String paymentAccountId; @ApiModelProperty("收款帐户名称") private String paymentAccountName; + + @ApiModelProperty("计费单位") + private String billingUnit; + @ApiModelProperty("计费单位2") + private String billingUnit2; + @ApiModelProperty("预计费金额") + private BigDecimal billingNum; + @ApiModelProperty("预计费金额") + private BigDecimal billingUnitPrice; + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/repository/todo/BillingStatementDO.java b/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/repository/todo/BillingStatementDO.java index bdc1ee675..438a1e6ac 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/repository/todo/BillingStatementDO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/billingStatement/repository/todo/BillingStatementDO.java @@ -239,4 +239,15 @@ public class BillingStatementDO extends BaseVOEntity{ private String paymentAccountId; @ApiModelProperty("收款帐户名称") private String paymentAccountName; + + @ApiModelProperty("计费单位") + private String billingUnit; + @ApiModelProperty("计费单位2") + private String billingUnit2; + @ApiModelProperty("预计费金额") + private BigDecimal billingNum; + @ApiModelProperty("预计费金额") + private BigDecimal billingUnitPrice; + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/entity/BusinessDocument.java b/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/entity/BusinessDocument.java index 5eb6a0dbf..c1b895398 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/entity/BusinessDocument.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/entity/BusinessDocument.java @@ -1,6 +1,7 @@ package com.mhd.bms.domain.businessDocument.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.mhd.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; @@ -182,4 +183,15 @@ public class BusinessDocument extends BaseVOEntity{ private String paymentAccountId; @ApiModelProperty("收款帐户名称") private String paymentAccountName; + + @ApiModelProperty("计费单位") + private String billingUnit; + @ApiModelProperty("计费单位2") + private String billingUnit2; + @ApiModelProperty("计费数量") + private BigDecimal billingNum; + @ApiModelProperty("计费单价") + private BigDecimal billingUnitPrice; + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/repository/po/BusinessDocumentPO.java b/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/repository/po/BusinessDocumentPO.java index 6b27d16ee..fb85c302b 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/repository/po/BusinessDocumentPO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/repository/po/BusinessDocumentPO.java @@ -187,4 +187,15 @@ public class BusinessDocumentPO extends BaseVOEntity{ private String paymentAccountId; @ApiModelProperty("收款帐户名称") private String paymentAccountName; + + @ApiModelProperty("计费单位") + private String billingUnit; + @ApiModelProperty("计费单位2") + private String billingUnit2; + @ApiModelProperty("预计费金额") + private BigDecimal billingNum; + @ApiModelProperty("预计费金额") + private BigDecimal billingUnitPrice; + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/repository/todo/BusinessDocumentDO.java b/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/repository/todo/BusinessDocumentDO.java index a8cffd45b..129e88965 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/repository/todo/BusinessDocumentDO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/businessDocument/repository/todo/BusinessDocumentDO.java @@ -207,4 +207,15 @@ public class BusinessDocumentDO extends BaseVOEntity{ private String paymentAccountId; @ApiModelProperty("收款帐户名称") private String paymentAccountName; + + @ApiModelProperty("计费单位") + private String billingUnit; + @ApiModelProperty("计费单位2") + private String billingUnit2; + @ApiModelProperty("预计费金额") + private BigDecimal billingNum; + @ApiModelProperty("预计费金额") + private BigDecimal billingUnitPrice; + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/costCalculation/entity/BillingParamsEntity.java b/mhd_bms/src/main/java/com/mhd/bms/domain/costCalculation/entity/BillingParamsEntity.java index 2922a4c04..6e747cf1c 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/costCalculation/entity/BillingParamsEntity.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/costCalculation/entity/BillingParamsEntity.java @@ -35,4 +35,10 @@ public class BillingParamsEntity { @ApiModelProperty("排序") private Integer sort; -} + private String isPush; + + private String isFee; + + private String isShow; + +} \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/costCalculation/po/BillingCostPo.java b/mhd_bms/src/main/java/com/mhd/bms/domain/costCalculation/po/BillingCostPo.java index 145c9faa3..ab7d2957e 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/costCalculation/po/BillingCostPo.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/costCalculation/po/BillingCostPo.java @@ -1,5 +1,6 @@ package com.mhd.bms.domain.costCalculation.po; +import com.mhd.bms.domain.billingRules.repository.po.BillingRulesPO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -30,5 +31,7 @@ public class BillingCostPo { @ApiModelProperty("预计金额") private BigDecimal computationalCost; + private BillingRulesPO billingRulesPO; -} + +} \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/infrastructure/feign/vo/ExpenseAccountPO.java b/mhd_bms/src/main/java/com/mhd/bms/infrastructure/feign/vo/ExpenseAccountPO.java index e1d138975..aaace0e1a 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/infrastructure/feign/vo/ExpenseAccountPO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/infrastructure/feign/vo/ExpenseAccountPO.java @@ -102,4 +102,41 @@ public class ExpenseAccountPO extends BaseVOEntity{ @ApiModelProperty("服务项税率") @Excel(name = "服务项税率") private BigDecimal taxRate; -} + + + + @ApiModelProperty("费率") + private BigDecimal rate; + + @ApiModelProperty(name = "创建订单是否固定显示 0-否 1-是") + private Integer fixedOrderDisplay; + + + @ApiModelProperty(name = "入库单是否固定显示 0-否 1-是") + private Integer inOrderDisplay; + + @ApiModelProperty(name = "出库单是否固定显示 0-否 1-是") + private Integer outOrderDisplay; + + + @ApiModelProperty("计费单位") + private String billingUnit; + + @ApiModelProperty("计费单位英文") + private String billingUnitEn; + + @ApiModelProperty("计费单位2") + private String billingUnit2; + + @ApiModelProperty("计费单位2英文") + private String billingUnitEn2; + + @ApiModelProperty("计费单位中文默认") + private String billingUnitDefaultCn; + + @ApiModelProperty("计费单位英文默认") + private String billingUnitDefaultEn; + + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; +} \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/billingStatement/BillingStatementDTO.java b/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/billingStatement/BillingStatementDTO.java index 1fc8a6da9..a87587d0b 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/billingStatement/BillingStatementDTO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/billingStatement/BillingStatementDTO.java @@ -250,4 +250,15 @@ public class BillingStatementDTO extends BaseVOEntity{ private String paymentAccountName; private List billingStatementList; + @ApiModelProperty("计费单位") + private String billingUnit; + @ApiModelProperty("计费单位2") + private String billingUnit2; + @ApiModelProperty("预计费金额") + private BigDecimal billingNum; + @ApiModelProperty("预计费金额") + private BigDecimal billingUnitPrice; + @ApiModelProperty("nc科目编码") + private String ncSubjectCode; + } \ No newline at end of file diff --git a/mhd_bms/src/main/resources/mapper/BillManageMapper.xml b/mhd_bms/src/main/resources/mapper/BillManageMapper.xml index 43b20f2b6..951903728 100644 --- a/mhd_bms/src/main/resources/mapper/BillManageMapper.xml +++ b/mhd_bms/src/main/resources/mapper/BillManageMapper.xml @@ -110,6 +110,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select SUBJECT_NAME from "NGWL_TEST_SYSTEM".EXPENSE_ACCOUNT where status = 1 and SUBJECT_CODE = #{invoiceItemId} limit 1 + + From 2fb2f6e905137282013cc9b5a3e865f8abecb3f1 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Mon, 11 May 2026 18:09:34 +0800 Subject: [PATCH 080/418] =?UTF-8?q?oms-=E8=BF=9B=E5=87=BA=E5=8F=A3?= =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E5=8D=95=E8=AF=81=E6=9F=A5=E8=AF=A2=E5=88=97?= =?UTF-8?q?=E8=A1=A8=EF=BC=88=E9=83=A8=E5=88=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OriginalImportExportDocumentApi.java | 46 +++++++++++++++++++ .../BusinessDocumentOrderMapper.xml | 3 ++ 2 files changed, 49 insertions(+) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java new file mode 100644 index 000000000..166943959 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java @@ -0,0 +1,46 @@ +package com.mhd.oms.interfaces.facade.originalImportExportDocument; + + +import com.github.pagehelper.PageHelper; +import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.oms.application.service.businessDocumentOrder.BusinessDocumentOrderApplicationService; +import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; +import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO; +import com.mhd.oms.interfaces.assembler.businessDocumentOrder.BusinessDocumentOrderAssembler; +import com.mhd.oms.interfaces.dto.businessDocumentOrder.BusinessDocumentOrderDTO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@Api(tags = "进出口原始单证") +@RestController +@RequestMapping("/OriginalImportExportDocument") +public class OriginalImportExportDocumentApi extends BaseController { + + @Resource + private BusinessDocumentOrderApplicationService businessDocumentOrderApplicationService; + + @Resource + private BusinessDocumentOrderAssembler businessDocumentOrderAssembler; + + @ApiOperation("进出口原始单证查询列表") + @GetMapping("/list") + public TableDataInfo list(BusinessDocumentOrderDTO businessDocumentOrderDTO, + @RequestParam(value = "pageNo",required = false , defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize",required = false , defaultValue = "10") Integer pageSize){ + BusinessDocumentOrderDO businessDocumentOrderDO = businessDocumentOrderAssembler.toDO(businessDocumentOrderDTO); + PageHelper.startPage(pageNo,pageSize); + List list = businessDocumentOrderApplicationService.queryList(businessDocumentOrderDO); + return getDataTable(list); + } + + + +} diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index 543821a70..fc3b94f2a 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -670,6 +670,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and DOCUMENT_DATE = #{documentDate} + + and IE_TYPE = #{ieType} + From 515ba88f80687a8b98bec8228171085ba55e5b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Tue, 12 May 2026 09:39:48 +0800 Subject: [PATCH 081/418] =?UTF-8?q?oms=E5=BA=93=E5=AD=98=E4=BF=AE=E6=94=B9?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persistence/ReservationMaterialInventoryImpl.java | 4 ++-- .../ReservationMaterialInventoryApi.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/persistence/ReservationMaterialInventoryImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/persistence/ReservationMaterialInventoryImpl.java index 5cc3ef49d..32e4f4b2b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/persistence/ReservationMaterialInventoryImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/persistence/ReservationMaterialInventoryImpl.java @@ -501,7 +501,7 @@ public class ReservationMaterialInventoryImpl extends ServiceImpl Date: Tue, 12 May 2026 09:46:43 +0800 Subject: [PATCH 082/418] =?UTF-8?q?oms-=E5=90=88=E4=BD=9C=E4=BC=99?= =?UTF-8?q?=E4=BC=B4=E6=9F=A5=E8=AF=A2=E5=8F=82=E6=95=B0=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/UserServiceFeign.java | 14 ++--- .../api/domain/UserShipperQueryDTO.java | 52 +++++++++++++++++++ .../RemoteUserFeignFallbackFactory.java | 4 +- .../repository/todo/UserShipperDO.java | 6 +++ .../interfaces/dto/addDTO/UserShipperDTO.java | 15 ++++++ .../BusinessPartnerApplicationService.java | 22 ++++---- .../businessPartner/BusinessPartnerDTO.java | 3 ++ 7 files changed, 91 insertions(+), 25 deletions(-) create mode 100644 mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/UserShipperQueryDTO.java diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java index 37e2cffba..fbc1404de 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java @@ -10,12 +10,14 @@ import com.mhd.common.core.domain.entity.R; import com.mhd.common.core.domain.todo.StatisticalMattersDo; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.system.api.domain.UserDTO; +import com.mhd.system.api.domain.UserShipperQueryDTO; import com.mhd.system.api.domain.UserUpdateDTO; import com.mhd.system.api.factory.RemoteUserFeignFallbackFactory; import com.mhd.system.api.feign.FeignAutoConfiguration; import com.mhd.system.api.model.LoginUser; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; import java.util.Date; @@ -198,17 +200,7 @@ public interface UserServiceFeign { @ApiOperation("商业合作伙伴-分页查询托运人列表") @GetMapping("/userShipperApi/userShipperList") - public AjaxResult userShipperList(@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum, - @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize, - @RequestParam(value = "userAccount", required = false) String userAccount, - @RequestParam(value = "shipperEnterpriseName", required = false) String shipperEnterpriseName, - @RequestParam(value = "organizationId", required = false) Long organizationId, - @RequestParam(value = "organizationName", required = false) String organizationName, - @RequestParam(value = "createTimeFrom", required = false) String createTimeFrom, - @RequestParam(value = "createTimeTo", required = false) String createTimeTo, - @RequestParam(value = "updateTimeFrom", required = false) String updateTimeFrom, - @RequestParam(value = "updateTimeTo", required = false) String updateTimeTo, - @RequestParam(value = "shipperType", required = false) Integer shipperType); + public AjaxResult userShipperList(@SpringQueryMap UserShipperQueryDTO userShipperQueryDTO); @PostMapping("/userShipperApi/updatePushStatus") diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/UserShipperQueryDTO.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/UserShipperQueryDTO.java new file mode 100644 index 000000000..3370f6a0a --- /dev/null +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/UserShipperQueryDTO.java @@ -0,0 +1,52 @@ +package com.mhd.system.api.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +public class UserShipperQueryDTO { + + @ApiModelProperty(value = "页码") + private Integer pageNum = 1; + + @ApiModelProperty(value = "每页数量") + private Integer pageSize = 10; + + @ApiModelProperty(value = "登录账号") + private String userAccount; + + @ApiModelProperty(value = "企业名称") + private String shipperEnterpriseName; + + @ApiModelProperty(value = "组织ID") + private String organizationId; + + @ApiModelProperty(value = "组织名称") + private String organizationName; + + @ApiModelProperty(value = "创建时间起") + private String createTimeFrom; + + @ApiModelProperty(value = "创建时间止") + private String createTimeTo; + + @ApiModelProperty(value = "更新时间起") + private String updateTimeFrom; + + @ApiModelProperty(value = "更新时间止") + private String updateTimeTo; + + @ApiModelProperty(value = "货主类型") + private String shipperType; + + @ApiModelProperty(value = "推送状态") + private Integer pushStatus; + + @ApiModelProperty(value = "推送时间起") + private String pushTimeFrom; + + @ApiModelProperty(value = "推送时间止") + private String pushTimeTo; + +} diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java index dd85a7f9b..a3dd70192 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java @@ -7,6 +7,7 @@ import com.mhd.common.core.domain.dto.UserDriverDTO; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.system.api.UserServiceFeign; import com.mhd.system.api.domain.UserDTO; +import com.mhd.system.api.domain.UserShipperQueryDTO; import com.mhd.system.api.domain.UserUpdateDTO; import com.mhd.system.api.model.LoginUser; import com.mhd.common.core.domain.entity.R; @@ -184,10 +185,11 @@ public class RemoteUserFeignFallbackFactory implements FallbackFactory userShipperList(Integer pageNum, Integer pageSize, String userAccount, String shipperEnterpriseName, Long organizationId, String organizationName, String createTimeFrom, String createTimeTo, String updateTimeFrom, String updateTimeTo, Integer shipperType) { + public AjaxResult userShipperList(UserShipperQueryDTO userShipperQueryDTO) { return AjaxResult.error("查询失败" + throwable.getMessage()); } + @Override public AjaxResult updatePushStatus(Long shipperId, Integer pushStatus, String pushTime, Long pushBy) { return AjaxResult.error("更新失败" + throwable.getMessage()); diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java index 5d0438c74..d779cab3e 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java @@ -289,6 +289,12 @@ public class UserShipperDO extends UserDO { @ApiModelProperty(name = "备注") private String userRemark; + @ApiModelProperty("创建时间起") + private Date createTimeFrom; + + @ApiModelProperty("创建时间止") + private Date createTimeTo; + @ApiModelProperty("更新时间起") private String updateTimeFrom; diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java index 27944fa50..f79f793d0 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java @@ -235,4 +235,19 @@ public class UserShipperDTO extends UserDTO { private String taxNumber; + + @ApiModelProperty(value = "更新时间起") + private String updateTimeFrom; + + @ApiModelProperty(value = "更新时间止") + private String updateTimeTo; + + @ApiModelProperty(value = "推送时间起") + private String pushTimeFrom; + + @ApiModelProperty(value = "推送时间止") + private String pushTimeTo; + + @ApiModelProperty(value = "推送状态") + private Integer pushStatus; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java index 46645d011..6d2cb8c73 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java @@ -3,6 +3,7 @@ package com.mhd.oms.application.service.businessPartner; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; +import com.mhd.common.core.utils.bean.BeanUtils; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.common.security.utils.SecurityUtils; @@ -10,6 +11,7 @@ import com.mhd.oms.domain.gwLog.entity.GwLog; import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; import com.mhd.oms.interfaces.dto.businessPartner.BusinessPartnerDTO; import com.mhd.system.api.UserServiceFeign; +import com.mhd.system.api.domain.UserShipperQueryDTO; import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; import org.apache.http.client.methods.CloseableHttpResponse; @@ -47,19 +49,13 @@ public class BusinessPartnerApplicationService { public TableDataInfo queryShipperPage(BusinessPartnerDTO businessPartnerDTO) { - AjaxResult result = userServiceFeign.userShipperList( - businessPartnerDTO.getPageNum(), - businessPartnerDTO.getPageSize(), - businessPartnerDTO.getUserAccount(), - businessPartnerDTO.getShipperEnterpriseName(), - businessPartnerDTO.getOrganizationId(), - businessPartnerDTO.getOrganizationName(), - businessPartnerDTO.getCreateTimeFrom(), - businessPartnerDTO.getCreateTimeTo(), - businessPartnerDTO.getUpdateTimeFrom(), - businessPartnerDTO.getUpdateTimeTo(), - businessPartnerDTO.getShipperType() - ); + UserShipperQueryDTO userShipperQueryDTO = new UserShipperQueryDTO(); + BeanUtils.copyProperties(businessPartnerDTO,userShipperQueryDTO); + if(businessPartnerDTO.getOrganizationId()!=null){ + userShipperQueryDTO.setOrganizationId(String.valueOf(businessPartnerDTO.getOrganizationId())); + } + + AjaxResult result = userServiceFeign.userShipperList(userShipperQueryDTO); if ("200".equals((String.valueOf(result.get("code"))))){ List list = (List) result.get("data"); diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java index acd43a1ec..46b79aa2a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java @@ -39,6 +39,9 @@ public class BusinessPartnerDTO { @ApiModelProperty(value = "推送时间止") private String pushTimeTo; + @ApiModelProperty(value = "推送状态") + private Integer pushStatus; + @ApiModelProperty(value = "货主类型:1-个人,2-企业") private Integer shipperType; From 4b609f32ec9784afab57b4d73fd8ba6eb604d13d Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Tue, 12 May 2026 11:27:20 +0800 Subject: [PATCH 083/418] =?UTF-8?q?oms-=E4=BC=81=E4=B8=9A=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java index b646c7c10..aa41ceafa 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java @@ -2,6 +2,8 @@ package com.mhd.oms.domain.erpEnterpriseUnit.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -16,6 +18,7 @@ import java.util.Date; public class ErpEnterpriseUnit { @ApiModelProperty(value = "主键ID") + @TableId(type = IdType.AUTO) private Long id; @ApiModelProperty(value = "ERP单位编码") From 3998efb77b25f0f0064c5412d64ece32bdd007b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Tue, 12 May 2026 14:13:18 +0800 Subject: [PATCH 084/418] =?UTF-8?q?oms=E5=85=A5=E5=BA=93=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E5=8D=95=E6=96=B0=E5=A2=9E=E4=BF=AE=E6=94=B9=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E4=BB=93=E5=BA=93=E6=A0=A1=E9=AA=8C;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReserveStockInOrderApplicationService.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java index 77350e4a7..645aea685 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java @@ -237,14 +237,14 @@ public class ReserveStockInOrderApplicationService { if (loginUser == null) { throw new ServiceException("登录已失效,请重新登录"); } - AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); - if (associationWarehouseCacheDO == null || associationWarehouseCacheDO.getWarehouseId() == null) { - throw new ServiceException("当前用户未配置关联仓库,请先配置仓库"); - } - stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); +// AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); +// if (associationWarehouseCacheDO == null || associationWarehouseCacheDO.getWarehouseId() == null) { +// throw new ServiceException("当前用户未配置关联仓库,请先配置仓库"); +// } +// stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); } //设置仓库 - setWarehouseInfo(stockInOrderDO); + //setWarehouseInfo(stockInOrderDO); // 设置货主信息 shipperParam(stockInOrderDO); // 设置供应商信息 @@ -259,7 +259,7 @@ public class ReserveStockInOrderApplicationService { */ public Boolean update(ReserveStockInOrderDO stockInOrderDO) { //设置仓库 - setWarehouseInfo(stockInOrderDO); + //setWarehouseInfo(stockInOrderDO); //设置货主信息 shipperParam(stockInOrderDO); //设置供应商信息 From 97b4e5028e6f539dfbe9e6ba05f4555eef3b15cf Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Tue, 12 May 2026 14:17:01 +0800 Subject: [PATCH 085/418] =?UTF-8?q?oms-=E5=8E=9F=E5=A7=8B=E5=8D=95?= =?UTF-8?q?=E8=AF=81=E6=9F=A5=E8=AF=A2=EF=BC=88=E9=83=A8=E5=88=86=EF=BC=89?= =?UTF-8?q?=E7=89=A9=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessDocumentOrderApplicationService.java | 11 +++++++++++ .../facade/IBusinessDocumentOrderService.java | 2 ++ .../mapper/BusinessDocumentOrderMapper.java | 1 + .../persistence/BusinessDocumentOrderImpl.java | 6 ++++++ .../repository/po/BusinessDocumentOrderPO.java | 4 ++++ .../service/BusinessDocumentOrderDomainService.java | 7 +++++++ .../OriginalImportExportDocumentApi.java | 6 ++++-- .../BusinessDocumentOrderMapper.xml | 10 ++++++++++ 8 files changed, 45 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index 2a503b9d7..0430cdacc 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -102,4 +102,15 @@ public class BusinessDocumentOrderApplicationService { List businessOrderAccounts = businessOrderAccountMapper.selectList(new LambdaQueryWrapper().eq(BusinessOrderAccount::getOrderId, id).eq(BusinessOrderAccount::getIsDelete, 0)); return businessOrderAccounts; } + + public List queryListAndMaterial(BusinessDocumentOrderDO businessDocumentOrderDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null){ + Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + if (topOrganizationId != null && topOrganizationId != 1){ + businessDocumentOrderDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + } + } + return businessDocumentOrderDomainService.queryListAndMaterial(businessDocumentOrderDO); + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/facade/IBusinessDocumentOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/facade/IBusinessDocumentOrderService.java index fcb935293..948412564 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/facade/IBusinessDocumentOrderService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/facade/IBusinessDocumentOrderService.java @@ -52,4 +52,6 @@ public interface IBusinessDocumentOrderService extends IService queryListAndMaterial(BusinessDocumentOrderDO businessDocumentOrderDO); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/mapper/BusinessDocumentOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/mapper/BusinessDocumentOrderMapper.java index 59ae93e04..3d0b8c67c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/mapper/BusinessDocumentOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/mapper/BusinessDocumentOrderMapper.java @@ -23,4 +23,5 @@ public interface BusinessDocumentOrderMapper extends BaseMapper queryListAndMaterial(BusinessDocumentOrderDO businessDocumentOrderDO); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java index fcccc579e..e45c25531 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java @@ -449,4 +449,10 @@ public class BusinessDocumentOrderImpl extends ServiceImpl queryListAndMaterial(BusinessDocumentOrderDO businessDocumentOrderDO) + { + return businessDocumentOrderMapper.queryListAndMaterial(businessDocumentOrderDO); + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java index 8490ea181..cbb645983 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java @@ -779,4 +779,8 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{ @ApiModelProperty("货物信息") private List businessDocumentCargoMultiList; + + @ApiModelProperty("物料编码") + private String materialCode; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java index ceaee187c..2d5308f99 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java @@ -804,4 +804,11 @@ public class BusinessDocumentOrderDomainService { } return null; } + + + + public List queryListAndMaterial(BusinessDocumentOrderDO businessDocumentOrderDO) { + return businessDocumentOrderService.queryListAndMaterial(businessDocumentOrderDO); + } + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java index 166943959..f3bcd4bb0 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java @@ -21,7 +21,7 @@ import java.util.List; @Api(tags = "进出口原始单证") @RestController -@RequestMapping("/OriginalImportExportDocument") +@RequestMapping("/OriginalImportExportDocumentApi") public class OriginalImportExportDocumentApi extends BaseController { @Resource @@ -37,7 +37,9 @@ public class OriginalImportExportDocumentApi extends BaseController { @RequestParam(value = "pageSize",required = false , defaultValue = "10") Integer pageSize){ BusinessDocumentOrderDO businessDocumentOrderDO = businessDocumentOrderAssembler.toDO(businessDocumentOrderDTO); PageHelper.startPage(pageNo,pageSize); - List list = businessDocumentOrderApplicationService.queryList(businessDocumentOrderDO); + List list = businessDocumentOrderApplicationService.queryListAndMaterial(businessDocumentOrderDO); + + return getDataTable(list); } diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index fc3b94f2a..30bb8a320 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -169,6 +169,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -685,4 +686,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select DOCUMENT_PREPARER_NC_code from NGWL_TEST_USER."USER" where USER_ID = #{salesmanCodeNc} + + + From 00745d00b1a80e80717d71b2a393559b3c4e1d2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Tue, 12 May 2026 14:50:46 +0800 Subject: [PATCH 086/418] =?UTF-8?q?=E5=85=A5=E5=BA=93=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E5=8D=95=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ReserveStockInOrderApplicationService.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java index 645aea685..d8ef450ad 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java @@ -112,11 +112,11 @@ public class ReserveStockInOrderApplicationService { } // 前端有传warehouseId则优先使用传参;未传时才使用"用户关联仓库"作为默认值 if (stockInOrderDO.getWarehouseId() == null) { - AssociationWarehouseCacheDO associationWarehouseCacheDO = - SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); - if (associationWarehouseCacheDO != null) { - stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); - } +// AssociationWarehouseCacheDO associationWarehouseCacheDO = +// SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); +// if (associationWarehouseCacheDO != null) { +// stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); +// } } } From a2ebe5af258a90950b6c82c2608393c222042a39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Tue, 12 May 2026 15:27:59 +0800 Subject: [PATCH 087/418] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E5=8D=95=E4=B8=8B=E5=8F=91=E6=B7=BB=E5=8A=A0=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E4=BF=A1=E6=81=AF;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ReserveStockInOrderApplicationService.java | 52 +++++++++---------- .../ReserveStockInOrderDomainService.java | 13 ++++- ...eserveStockOutOrderApplicationService.java | 52 +++++++++---------- .../ReserveStockOutOrderDomainService.java | 13 ++++- .../ReserveStockInOrderMapper.xml | 3 ++ 5 files changed, 79 insertions(+), 54 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java index d8ef450ad..7777fba38 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java @@ -122,32 +122,32 @@ public class ReserveStockInOrderApplicationService { // 库管角色过滤:不展示已创建(status=1)的入库单 // 说明:部分场景下角色码可能不在 userPo.roleCode 中,而在 loginUser.roles/roleList 中。 - if (loginUser != null) { - String targetRoleCode = "KGY-001"; - boolean isKuGuan = false; - - String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; - if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { - isKuGuan = true; - } - - if (!isKuGuan && loginUser.getRoleList() != null) { - isKuGuan = loginUser.getRoleList().stream() - .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); - } - - if (!isKuGuan && loginUser.getRoles() != null) { - isKuGuan = loginUser.getRoles().stream() - .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); - } - - if (isKuGuan) { - Integer currentGtStatus = stockInOrderDO.getGtStatus(); - if (currentGtStatus == null || currentGtStatus < 1) { - stockInOrderDO.setGtStatus(1); // status > 1 - } - } - } +// if (loginUser != null) { +// String targetRoleCode = "KGY-001"; +// boolean isKuGuan = false; +// +// String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; +// if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { +// isKuGuan = true; +// } +// +// if (!isKuGuan && loginUser.getRoleList() != null) { +// isKuGuan = loginUser.getRoleList().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (!isKuGuan && loginUser.getRoles() != null) { +// isKuGuan = loginUser.getRoles().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (isKuGuan) { +// Integer currentGtStatus = stockInOrderDO.getGtStatus(); +// if (currentGtStatus == null || currentGtStatus < 1) { +// stockInOrderDO.setGtStatus(1); // status > 1 +// } +// } +// } return stockInOrderDomainService.queryList(stockInOrderDO); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java index 44dbd8c76..4d3071b9b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java @@ -440,7 +440,18 @@ public class ReserveStockInOrderDomainService { .set(ReserveStockInOrder::getUpdateBy, loginUser.getUserid()) .set(ReserveStockInOrder::getUpdateByName, userRealName) .set(ReserveStockInOrder::getUpdateTime, new Date()) - .in(ReserveStockInOrder::getInOrderId, stockInOrderDO.getInOrderIds())); + .set(ReserveStockInOrder::getWarehouseId, stockInOrderDO.getWarehouseId()) + .set(ReserveStockInOrder::getWarehouseCode, stockInOrderDO.getWarehouseCode()) + .set(ReserveStockInOrder::getWarehouseName, stockInOrderDO.getWarehouseName()) + .eq(ReserveStockInOrder::getInOrderId, stockInOrderDO.getInOrderId())); + + List list = materialDetailService.list(new LambdaQueryWrapper().eq(ReserveInMaterialDetail::getInOrderNumber, stockInOrderDO.getInOrderNumber())); + for (ReserveInMaterialDetail reserveInMaterialDetail : list) { + reserveInMaterialDetail.setWarehouseId(stockInOrderDO.getWarehouseId()); + reserveInMaterialDetail.setWarehouseCode(stockInOrderDO.getWarehouseCode()); + reserveInMaterialDetail.setWarehouseName(stockInOrderDO.getWarehouseName()); + materialDetailService.updateById(reserveInMaterialDetail); + } //todo下发推送到入库业务单 List inOrderIds = stockInOrderDO.getInOrderIds(); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java index 69d910b43..9e8278c16 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java @@ -130,32 +130,32 @@ public class ReserveStockOutOrderApplicationService { // 库管角色过滤:不展示已创建(status=1)的出库单 // 出库状态: 1-已创建 ... - if (loginUser != null) { - String targetRoleCode = "KGY-001"; - boolean isKuGuan = false; - - String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; - if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { - isKuGuan = true; - } - - if (!isKuGuan && loginUser.getRoleList() != null) { - isKuGuan = loginUser.getRoleList().stream() - .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); - } - - if (!isKuGuan && loginUser.getRoles() != null) { - isKuGuan = loginUser.getRoles().stream() - .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); - } - - if (isKuGuan) { - Integer currentGtStatus = stockOutOrderDO.getGtStatus(); - if (currentGtStatus == null || currentGtStatus < 1) { - stockOutOrderDO.setGtStatus(1); // status > 1 - } - } - } +// if (loginUser != null) { +// String targetRoleCode = "KGY-001"; +// boolean isKuGuan = false; +// +// String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; +// if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { +// isKuGuan = true; +// } +// +// if (!isKuGuan && loginUser.getRoleList() != null) { +// isKuGuan = loginUser.getRoleList().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (!isKuGuan && loginUser.getRoles() != null) { +// isKuGuan = loginUser.getRoles().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (isKuGuan) { +// Integer currentGtStatus = stockOutOrderDO.getGtStatus(); +// if (currentGtStatus == null || currentGtStatus < 1) { +// stockOutOrderDO.setGtStatus(1); // status > 1 +// } +// } +// } List stockOutOrderPOS = stockOutOrderDomainService.queryList(stockOutOrderDO); // for (ReserveStockOutOrderPO stockOutOrderPO : stockOutOrderPOS) { diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java index 1da68bce5..c842d01fe 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java @@ -1,5 +1,6 @@ package com.mhd.oms.domain.reserveStockOutOrder.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.mhd.common.core.exception.ServiceException; @@ -258,8 +259,18 @@ public class ReserveStockOutOrderDomainService { .set(ReserveStockOutOrder::getUpdateBy, loginUser.getUserid()) .set(ReserveStockOutOrder::getUpdateByName, userRealName) .set(ReserveStockOutOrder::getUpdateTime, new Date()) - .in(ReserveStockOutOrder::getOutOrderId, stockOutOrderDO.getOutOrderIds())); + .set(ReserveStockOutOrder::getWarehouseId, stockOutOrderDO.getWarehouseId()) + .set(ReserveStockOutOrder::getWarehouseCode, stockOutOrderDO.getWarehouseCode()) + .set(ReserveStockOutOrder::getWarehouseName, stockOutOrderDO.getWarehouseName()) + .eq(ReserveStockOutOrder::getOutOrderId, stockOutOrderDO.getOutOrderId())); + List list = outMaterialDetailService.list(new LambdaQueryWrapper().eq(ReserveOutMaterialDetail::getOutOrderNumber, stockOutOrderDO.getOutOrderNumber())); + for (ReserveOutMaterialDetail reserveOutMaterialDetail : list) { + reserveOutMaterialDetail.setWarehouseId(stockOutOrderDO.getWarehouseId()); + reserveOutMaterialDetail.setWarehouseCode(stockOutOrderDO.getWarehouseCode()); + reserveOutMaterialDetail.setWarehouseName(stockOutOrderDO.getWarehouseName()); + outMaterialDetailService.updateById(reserveOutMaterialDetail); + } //todo下发推送到wms List outOrderIds = stockOutOrderDO.getOutOrderIds(); for (Long outOrderId : outOrderIds) { diff --git a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml index f90d93d64..ab9ef1728 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml @@ -256,6 +256,9 @@ and a.warehouse_name like concat('%', #{warehouseName}, '%') + + and a.salesman_id = #{salesmanId} + and a.shipper_id = #{shipperId} From ff95284448f96d64e17b3c63fac5e4b5cc929e57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 12 May 2026 15:36:04 +0800 Subject: [PATCH 088/418] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E8=AE=A1=E5=88=92=E6=95=B0=E9=87=8F=E4=B8=8D=E5=8F=98?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/MaterialInventoryMapper.java | 2 + .../persistence/MaterialInventoryImpl.java | 2 + .../repository/todo/MaterialInventoryDO.java | 2 +- .../service/StockOutOrderDomainService.java | 5 + .../MaterialInventoryDTO.java | 2 +- .../MaterialInventoryApi.java | 6 +- .../MaterialInventoryMapper.xml | 199 +++++++++++++++++- 7 files changed, 213 insertions(+), 5 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/mapper/MaterialInventoryMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/mapper/MaterialInventoryMapper.java index a333dd8a8..5a42b31a8 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/mapper/MaterialInventoryMapper.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/mapper/MaterialInventoryMapper.java @@ -33,6 +33,8 @@ public interface MaterialInventoryMapper extends BaseMapper public List queryListByWl(MaterialInventoryDO materialInventoryDO); //查物料库存列表-货主 public List queryListByHz(MaterialInventoryDO materialInventoryDO); + //查物料库存列表-货主+物料(同一物料在不同货主下各一行) + public List queryListByHzWl(MaterialInventoryDO materialInventoryDO); /** * @description 批量增加库存 diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java index 19e88a9e9..fbed436d4 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java @@ -74,6 +74,8 @@ public class MaterialInventoryImpl extends ServiceImpl list = materialInventoryApplicationService.queryList(materialInventoryDO); return getDataTable(list); } diff --git a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml index bbda42547..64b1b5548 100644 --- a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml +++ b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml @@ -89,6 +89,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.in_order_number,a.lot_number + + + a.material_inventory_id, a.organization_id, a.organization_name, a.top_organization_id, + a.shipper_id, a.shipper_code, a.shipper_name, + loc.warehouse_id, loc.warehouse_code, loc.warehouse_name, + loc.storage_section_id, loc.storage_code, loc.storage_name, loc.storage_location_id, loc.storage_location_code, loc.storage_location_name, a.material_base_info_id,a.material_detail_id, + a.batch_number,a.material_status_code,a.material_status_name,a.container_id,a.container_code,a.container_type,a.container_type_name + ,IFNULL (sum(a.freeze_quantity), 0) freeze_quantity,a.is_able, + IFNULL (sum(a.inventory_quantity), 0) inventory_quantity, + IFNULL (sum(a.allocation_quantity), 0) allocation_quantity, + a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time, a.update_by, a.update_by_name, + a.del_flag,a.unit, + IFNULL (sum(a.area), 0) area, + IFNULL (sum(a.NET_WEIGHT), 0) NET_WEIGHT, + IFNULL (sum(a.GROSS_WEIGHT), 0) GROSS_WEIGHT, + IFNULL (sum(a.VOLUME), 0) VOLUME, + a.ext_attr_1, a.ext_attr_2, a.ext_attr_3, a.ext_attr_4, + a.production_date, a.expiry_date, a.inventory_date, + a.BATCH_REF_NO, a.SHEET_REF_NO, a.BOX_PALLET_NO,nvl(a.unit_name,b.unit_name) as unit_name, + a.bar_code as inv_bar_code, + a.in_order_number,a.lot_number + + and a.material_inventory_id = #{materialInventoryId} @@ -211,6 +234,124 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + and mi.material_inventory_id = #{materialInventoryId} + + + and mi.organization_id = #{organizationId} + + + and mi.organization_name like concat('%', #{organizationName}, '%') + + + and mi.top_organization_id = #{topOrganizationId} + + + and mi.warehouse_id = #{warehouseId} + + + and mi.shipper_id = #{shipperId} + + + and mi.warehouse_code = #{warehouseCode} + + + and mi.warehouse_name like concat('%', #{warehouseName}, '%') + + + and mi.storage_section_id = #{storageSectionId} + + + and mi.storage_code = #{storageCode} + + + and mi.storage_name like concat('%', #{storageName}, '%') + + + and mi.storage_location_id = #{storageLocationId} + + + and mi.storage_location_code = #{storageLocationCode} + + + and mi.storage_location_name like concat('%', #{storageLocationName}, '%') + + + and mi.material_base_info_id = #{materialBaseInfoId} + + + and mi.material_detail_id, = #{materialDetailId} + + + + and (mi.container_code like concat('%', #{containerOrBatch}, '%') or mi.batch_number like concat('%', #{containerOrBatch}, '%')) + + + and (mi.batch_number like concat('%', #{batchNumber}, '%') or mi.container_code like concat('%', #{containerCode}, '%')) + + + + and mi.batch_number like concat('%', #{batchNumber}, '%') + + + and mi.container_code like concat('%', #{containerCode}, '%') + + + + + and mi.material_status_code like concat('%', #{materialStatusCode}, '%') + + + and mi.material_status_name like concat('%', #{materialStatusName}, '%') + + + and mi.container_id = #{containerId} + + + and mi.container_type like concat('%', #{containerType}, '%') + + + and mi.container_type_name like concat('%', #{containerTypeName}, '%') + + + and mi.inventory_quantity = #{inventoryQuantity} + + + and mi.allocation_quantity = #{allocationQuantity} + + + and mi.freeze_quantity = #{freezeQuantity} + + + and COALESCE(mi.inventory_quantity, 0) > 0 + + + + and mi.create_by_name like concat('%', #{createByName}, '%') + + + and mi.update_by_name like concat('%', #{updateByName}, '%') + + + and mi.del_flag = #{delFlag} + and mi.del_flag = 1 + + + and (mi.storage_location_code = #{storageInfo} or material_code = #{storageInfo} or material_name like concat('%', #{storageInfo}, '%') or bar_code = #{storageInfo}) + + + and mi.BATCH_REF_NO like concat('%', #{batchRefNo}, '%') + + + and mi.SHEET_REF_NO like concat('%', #{sheetRefNo}, '%') + + + and mi.BOX_PALLET_NO like concat('%', #{boxPalletNo}, '%') + + + select - + from material_inventory a left join material_base_info b on a.material_base_info_id = b.material_base_info_id + inner join ( + select material_base_info_id, warehouse_id, warehouse_code, warehouse_name, + storage_section_id, storage_code, storage_name, + storage_location_id, storage_location_code, storage_location_name + from ( + select mi.material_base_info_id, mi.warehouse_id, mi.warehouse_code, mi.warehouse_name, + mi.storage_section_id, mi.storage_code, mi.storage_name, + mi.storage_location_id, mi.storage_location_code, mi.storage_location_name, + row_number() over (partition by mi.material_base_info_id order by mi.create_time desc, mi.material_inventory_id desc) as wl_rn + from material_inventory mi + left join material_base_info b on mi.material_base_info_id = b.material_base_info_id + + + + + ) wl_ranked where wl_ranked.wl_rn = 1 + ) loc on loc.material_base_info_id = a.material_base_info_id - GROUP BY a.MATERIAL_BASE_INFO_ID + GROUP BY a.MATERIAL_BASE_INFO_ID, + loc.warehouse_id, loc.warehouse_code, loc.warehouse_name, + loc.storage_section_id, loc.storage_code, loc.storage_name, + loc.storage_location_id, loc.storage_location_code, loc.storage_location_name + + + + + select PAYLOAD_JSON + from NGWL_TEST_BI.BI_OVERALL_OPERATION_SNAPSHOT + where DEL_FLAG = 1 + order by CREATE_TIME desc nulls last, ID desc + limit 1 + + From 642cfc5c8c04a148af871d10fa71297e271f3494 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 09:51:17 +0800 Subject: [PATCH 109/418] =?UTF-8?q?gwlog=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gwLog/GwLogApplicationService.java | 19 ++++++++++++++++++- .../gwLog/repository/mapper/GwLogMapper.java | 5 +++++ .../domain/gwLog/repository/po/GwLogPO.java | 3 +++ .../oms/interfaces/dto/gwLog/GwLogDTO.java | 6 ++++++ .../oms/interfaces/facade/gwLog/GwLogApi.java | 17 +++++++++++++---- 5 files changed, 45 insertions(+), 5 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java index 1575df9b8..a029f9a7a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java @@ -1,8 +1,13 @@ package com.mhd.oms.application.service.gwLog; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import com.mhd.common.core.utils.bean.BeanUtils; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.gwLog.entity.GwLog; import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; import com.mhd.oms.domain.gwLog.repository.po.GwLogPO; import com.mhd.oms.interfaces.dto.gwLog.GwLogDTO; @@ -31,11 +36,23 @@ public class GwLogApplicationService { gwLogDTO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); } } + PageHelper.startPage(gwLogDTO.getPageNum(),gwLogDTO.getPageSize()); List list = gwLogMapper.queryList(gwLogDTO); + Page page = (Page) list; TableDataInfo tableDataInfo = new TableDataInfo(); tableDataInfo.setData(list); - tableDataInfo.setTotal(list.size()); + tableDataInfo.setTotal(page.getTotal()); tableDataInfo.setCode(200); return tableDataInfo; } + + public GwLogPO selectByTypeAndId(GwLogDTO gwLogDTO) { + GwLog gwLog =new GwLog(); + BeanUtils.copyProperties(gwLog,gwLogDTO); + GwLogPO po = gwLogMapper.selectByTypeAndId(gwLog); + GwLogPO po1 = gwLogMapper.selectByTypeAndId(gwLog); + // GwLogPO po2 = gwLogMapper.selectByTypeAndId(gwLogDTO); + // GwLogPO po3 = gwLogMapper.selectByTypeAndId(gwLogDTO); + return po; + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java index 2ae8cdc6d..8007d0446 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java @@ -6,6 +6,8 @@ import com.mhd.oms.domain.gwLog.repository.po.GwLogPO; import com.mhd.oms.interfaces.dto.gwLog.GwLogDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -18,4 +20,7 @@ public interface GwLogMapper extends BaseMapper { * @return */ List queryList(GwLogDTO gwLogDTO); + + @Select("select * from gw_log where business_id = #{businessId} and type = #{type}") + GwLogPO selectByTypeAndId(@RequestBody GwLog gwLog); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/po/GwLogPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/po/GwLogPO.java index 0b40de423..1272af6f8 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/po/GwLogPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/po/GwLogPO.java @@ -52,6 +52,9 @@ public class GwLogPO { @ApiModelProperty("创建人") private Long createBy; + @ApiModelProperty("创建人姓名") + private String pushByName; + @ApiModelProperty("创建时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/gwLog/GwLogDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/gwLog/GwLogDTO.java index 4b46e8df9..3d01e57f9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/gwLog/GwLogDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/gwLog/GwLogDTO.java @@ -36,4 +36,10 @@ public class GwLogDTO { @ApiModelProperty("一级组织id") private Long topOrganizationId ; + @ApiModelProperty(value = "页码") + private Integer pageNum = 1; + + @ApiModelProperty(value = "每页数量") + private Integer pageSize = 10; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/gwLog/GwLogApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/gwLog/GwLogApi.java index 5e0c5f0ff..99f03999d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/gwLog/GwLogApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/gwLog/GwLogApi.java @@ -2,17 +2,16 @@ package com.mhd.oms.interfaces.facade.gwLog; import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.application.service.gwLog.GwLogApplicationService; import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.domain.gwLog.repository.po.GwLogPO; import com.mhd.oms.interfaces.dto.gwLog.GwLogDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -34,6 +33,16 @@ public class GwLogApi extends BaseController { } + @ApiOperation("查询GW日志") + @PostMapping("/selectByTypeAndId") + public AjaxResult selectByTypeAndId(@RequestBody GwLogDTO gwLogDTO){ + GwLogPO po = gwLogApplicationService.selectByTypeAndId(gwLogDTO); + AjaxResult ajaxResult = new AjaxResult(); + ajaxResult.put("code",200); + ajaxResult.put("data",po); + return ajaxResult; + + } } From 3867226d3fd47ce1f93bd2babd53297938b32396 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 14 May 2026 09:52:06 +0800 Subject: [PATCH 110/418] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E8=B4=B9?= =?UTF-8?q?=E7=94=A8=E6=9F=A5=E8=AF=A2=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ExpenseAccountApplicationService.java | 27 +++++++++++++++++-- .../dto/expenseAccount/ExpenseAccountDTO.java | 2 +- .../expenseAccount/ExpenseAccountApi.java | 9 ++++--- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/expenseAccount/ExpenseAccountApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/expenseAccount/ExpenseAccountApplicationService.java index e50c442e8..c73322b87 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/expenseAccount/ExpenseAccountApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/expenseAccount/ExpenseAccountApplicationService.java @@ -31,6 +31,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -53,7 +54,8 @@ public class ExpenseAccountApplicationService { /** * 入库/出库费用登记等场景:按仓储合同「仓库进出仓单」结算行取科目(二级编码优先,否则一级),再关联费用科目主数据。 - *

科目范围以合同结算设置为准,不按费用科目主数据的 in_order_display/out_order_display 再筛,避免合同有 7 条主数据未勾「入库显示」却只剩几条的情况。

+ *

科目范围以合同结算设置为准;若 {@code expenseAccountDO.inOrderDisplay} 或 {@code expenseAccountDO.outOrderDisplay} 非空, + * 再按主数据「入库单是否固定显示 / 出库单是否固定显示」(0-否 1-是)与入参相等过滤,二者同时传则同时满足(AND)。

* settlementCustomersCode 不传或为空时使用通用仓储合同。 */ public List queryListFromContractWarehouseInOutSettlement(ExpenseAccountDO expenseAccountDO, String settlementCustomersCode) { @@ -71,19 +73,40 @@ public class ExpenseAccountApplicationService { ContractManageApplicationService.DOCUMENT_TYPE_CODE_WAREHOUSE_IN_OUT_ORDER); log.info("按合同取费用科目编码:topOrgIdForExpense={}, 命中结算行科目数={}", topOrgIdForExpense, orderedCodes != null ? orderedCodes.size() : 0); + boolean filterIn = expenseAccountDO.getInOrderDisplay() != null; + boolean filterOut = expenseAccountDO.getOutOrderDisplay() != null; + if (filterIn || filterOut) { + log.info("合同科目叠加主数据出入库显示过滤:inOrderDisplay={}, outOrderDisplay={}", + expenseAccountDO.getInOrderDisplay(), expenseAccountDO.getOutOrderDisplay()); + } List result = new ArrayList<>(); for (String code : orderedCodes) { if (StringUtils.isEmpty(code)) { continue; } ExpenseAccountPO po = expenseAccountDomainService.getInfoByCode2(code.trim(), topOrgIdForExpense); - if (po != null && po.getExpenseAccountId() != null) { + if (po != null && po.getExpenseAccountId() != null && passWarehouseInOutDisplayFilter(po, expenseAccountDO)) { result.add(po); } } return result; } + /** + * 合同路径下可选:与主数据 in_order_display / out_order_display 一致才保留(入参为 null 的维度不参与过滤)。 + */ + private static boolean passWarehouseInOutDisplayFilter(ExpenseAccountPO po, ExpenseAccountDO filter) { + if (filter.getInOrderDisplay() != null + && !Objects.equals(po.getInOrderDisplay(), filter.getInOrderDisplay())) { + return false; + } + if (filter.getOutOrderDisplay() != null + && !Objects.equals(po.getOutOrderDisplay(), filter.getOutOrderDisplay())) { + return false; + } + return true; + } + /** * 分页查询费用科目列表 */ diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java index d0f4045fe..11ba9b86f 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java @@ -164,7 +164,7 @@ public class ExpenseAccountDTO extends BaseVOEntity{ /** * 为 true 时从仓储合同「结算设置」取费用科目(入库/出库费用登记等) */ - @ApiModelProperty("是否按合同结算设置查询费用科目(入库/出库费用登记,出库建议配合 outOrderDisplay=1)") + @ApiModelProperty("是否按合同结算设置查询费用科目(入库/出库费用登记;为 true 时可传 inOrderDisplay=1 或 outOrderDisplay=1 再按主数据入库/出库显示过滤)") private Boolean contractSettlementQuery; @ApiModelProperty("结算主体编码(通常为货主编码);不传则按通用仓储合同的结算设置取科目") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java index e35106693..dfdec8e29 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java @@ -53,9 +53,8 @@ public class ExpenseAccountApi extends BaseController{ * *

入库/出库费用登记等场景传 {@code contractSettlementQuery=true}(与单据类型「仓库进出仓单」合同结算行一致), * 科目来源、结算主体为空走通用合同等逻辑入库与出库相同。 - * 该路径仅以合同结算行为准拉取费用科目主数据,不会再按 {@code inOrderDisplay}/{@code outOrderDisplay} 二次过滤, - * 以免合同配置了多条但主数据未勾选「入库/出库显示」导致条数被裁掉; - * 若在其它场景需要按展示位收窄列表,请勿传 {@code contractSettlementQuery=true},走默认 {@code queryList} 分页查询即可。

+ * 先按合同结算行取科目,再关联主数据;若请求中传入 {@code inOrderDisplay} 或 {@code outOrderDisplay}(0-否 1-是), + * 则再按主数据「入库单 / 出库单是否固定显示」与入参相等过滤(二者都传则同时满足)。不传则不在此维度过滤。

*/ @ApiOperation("查询费用科目列表") @GetMapping("/list") @@ -71,7 +70,9 @@ public class ExpenseAccountApi extends BaseController{ if (Boolean.TRUE.equals(expenseAccountDTO.getContractSettlementQuery())) { ExpenseAccountDO contractQueryDO = new ExpenseAccountDO(); BeanUtils.copyProperties(expenseAccountDTO, contractQueryDO); - logger.info("按合同结算设置查询费用科目,settlementCustomersCode={}", expenseAccountDTO.getSettlementCustomersCode()); + logger.info("按合同结算设置查询费用科目,settlementCustomersCode={},inOrderDisplay={},outOrderDisplay={}", + expenseAccountDTO.getSettlementCustomersCode(), + expenseAccountDTO.getInOrderDisplay(), expenseAccountDTO.getOutOrderDisplay()); List contractList = expenseAccountApplicationService.queryListFromContractWarehouseInOutSettlement( contractQueryDO, expenseAccountDTO.getSettlementCustomersCode()); From 89a1eb13cc3a5d49baf156f183a2d88234bbd34d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 14 May 2026 10:04:08 +0800 Subject: [PATCH 111/418] =?UTF-8?q?BI=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-bi/src/main/resources/bootstrap.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd-bi/src/main/resources/bootstrap.yml b/mhd-bi/src/main/resources/bootstrap.yml index 2870a4169..83148b69b 100644 --- a/mhd-bi/src/main/resources/bootstrap.yml +++ b/mhd-bi/src/main/resources/bootstrap.yml @@ -12,9 +12,9 @@ spring: cloud: nacos: discovery: - server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 + server-addr: 10.33.0.129:6010 # server-addr: 10.102.192.5:6848 # username: nacos # password: manhuoda@2023 @@ -23,9 +23,9 @@ spring: # username: nacos # password: manhuoda@2023 config: - server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 + server-addr: 10.33.0.129:6010 # server-addr: 10.102.192.5:6848 # username: nacos # password: manhuoda@2023 From 43c64779ce0a3242393f1cd3b9f9a9ed7275a5ff Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 11:11:03 +0800 Subject: [PATCH 112/418] =?UTF-8?q?=E4=BF=AE=E6=94=B9businessId=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=20=20=E6=9F=A5=E7=9C=8B=E6=8A=A5=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessDocumentOrderApplicationService.java | 4 ++-- .../erpCountry/ErpCountryApplicationService.java | 16 ++++++++++------ .../ErpEnterpriseUnitApplicationService.java | 16 ++++++++++------ .../ExchangeRateApplicationService.java | 2 +- .../service/gwLog/GwLogApplicationService.java | 8 +++----- .../MaterialInfoApplicationService.java | 2 +- .../entity/ErpEnterpriseUnit.java | 3 +++ .../com/mhd/oms/domain/gwLog/entity/GwLog.java | 2 +- .../gwLog/repository/mapper/GwLogMapper.java | 4 ++-- 9 files changed, 33 insertions(+), 24 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index cce878d46..bed7494c7 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -194,8 +194,8 @@ public class BusinessDocumentOrderApplicationService { // 2. 记录日志 GwLog gwLog = new GwLog(); - gwLog.setType("进出口原始单证-物料推送"); - gwLog.setBusinessId(pushData.getMaterialCode()); + gwLog.setType("进出口原始单证"); + gwLog.setBusinessId(Long.valueOf(pushData.getId())); gwLog.setRequestBody(JSONObject.toJSONString(body)); gwLog.setResponseBody(""); gwLog.setStatus(1); diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java index 9ffd5822f..8ad209ce9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java @@ -102,6 +102,7 @@ public class ErpCountryApplicationService{ LoginUser loginUser = SecurityUtils.getLoginUser(); Long pushBy = loginUser != null ? loginUser.getUserid() : null; + String pushByName = loginUser != null ? loginUser.getUsername() : null; Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; @@ -117,7 +118,7 @@ public class ErpCountryApplicationService{ GwLog gwLog = new GwLog(); gwLog.setType("企业国别"); - gwLog.setBusinessId(String.valueOf(dto.getId())); + gwLog.setBusinessId(dto.getId()); gwLog.setRequestBody(JSONObject.toJSONString(body)); gwLog.setResponseBody(""); gwLog.setStatus(1); @@ -130,7 +131,7 @@ public class ErpCountryApplicationService{ gwLog.setDelFlag(1); gwLogMapper.insert(gwLog); - updatePushStatus(dto.getId(), 2, new Date(), pushBy); + updatePushStatus(dto.getId(), 2, new Date(), pushBy,pushByName); CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); @@ -146,12 +147,12 @@ public class ErpCountryApplicationService{ if (response.getStatusLine().getStatusCode() == 200) { gwLog.setStatus(2); - updatePushStatus(dto.getId(), 3, new Date(), pushBy); + updatePushStatus(dto.getId(), 3, new Date(), pushBy,pushByName); successCount++; } else { gwLog.setStatus(3); gwLog.setErrorMsg(responseString); - updatePushStatus(dto.getId(), 4, new Date(), pushBy); + updatePushStatus(dto.getId(), 4, new Date(), pushBy,pushByName); failCount++; failMsg.append("erpCountryCode:").append(dto.getErpCountryCode()).append("失败;"); } @@ -161,7 +162,7 @@ public class ErpCountryApplicationService{ gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); gwLogMapper.updateById(gwLog); - updatePushStatus(dto.getId(), 4, new Date(), pushBy); + updatePushStatus(dto.getId(), 4, new Date(), pushBy,pushByName); failCount++; failMsg.append("erpCountryCode:").append(dto.getErpCountryCode()).append("异常:").append(e.getMessage()).append(";"); log.error("企业国别推送异常: id={}, error={}", dto.getId(), e.getMessage()); @@ -181,7 +182,7 @@ public class ErpCountryApplicationService{ return AjaxResult.success(resultMsg); } - private void updatePushStatus(Long id, Integer pushStatus, Date pushTime, Long pushBy) { + private void updatePushStatus(Long id, Integer pushStatus, Date pushTime, Long pushBy,String pushByName) { ErpCountry entity = new ErpCountry(); entity.setId(id); entity.setPushStatus(pushStatus); @@ -191,6 +192,9 @@ public class ErpCountryApplicationService{ if (pushBy != null) { entity.setPushBy(pushBy); } + if (pushByName != null) { + entity.setPushByName(pushByName); + } erpCountryMapper.updateById(entity); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java index dd20c5960..7fe0ea1a7 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java @@ -98,6 +98,7 @@ public class ErpEnterpriseUnitApplicationService { LoginUser loginUser = SecurityUtils.getLoginUser(); Long pushBy = loginUser != null ? loginUser.getUserid() : null; + String pushByName = loginUser != null ? loginUser.getUsername() : null; Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; @@ -113,7 +114,7 @@ public class ErpEnterpriseUnitApplicationService { GwLog gwLog = new GwLog(); gwLog.setType("企业单位"); - gwLog.setBusinessId(String.valueOf(dto.getId())); + gwLog.setBusinessId(Long.valueOf(dto.getId())); gwLog.setRequestBody(JSONObject.toJSONString(body)); gwLog.setResponseBody(""); gwLog.setStatus(1); @@ -126,7 +127,7 @@ public class ErpEnterpriseUnitApplicationService { gwLog.setDelFlag(1); gwLogMapper.insert(gwLog); - updatePushStatus(dto.getId(), 2, new Date(), pushBy); + updatePushStatus(dto.getId(), 2, new Date(), pushBy,pushByName); CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); @@ -142,12 +143,12 @@ public class ErpEnterpriseUnitApplicationService { if (response.getStatusLine().getStatusCode() == 200) { gwLog.setStatus(2); - updatePushStatus(dto.getId(), 3, new Date(), pushBy); + updatePushStatus(dto.getId(), 3, new Date(), pushBy,pushByName); successCount++; } else { gwLog.setStatus(3); gwLog.setErrorMsg(responseString); - updatePushStatus(dto.getId(), 4, new Date(), pushBy); + updatePushStatus(dto.getId(), 4, new Date(), pushBy,pushByName); failCount++; failMsg.append("erpUnitCode:").append(dto.getErpCode()).append("失败;"); } @@ -157,7 +158,7 @@ public class ErpEnterpriseUnitApplicationService { gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); gwLogMapper.updateById(gwLog); - updatePushStatus(dto.getId(), 4, new Date(), pushBy); + updatePushStatus(dto.getId(), 4, new Date(), pushBy,pushByName); failCount++; failMsg.append("erpUnitCode:").append(dto.getErpCode()).append("异常:").append(e.getMessage()).append(";"); log.error("企业单位推送异常: id={}, error={}", dto.getId(), e.getMessage()); @@ -177,7 +178,7 @@ public class ErpEnterpriseUnitApplicationService { return AjaxResult.success(resultMsg); } - private void updatePushStatus(Long id, Integer pushStatus, Date pushTime, Long pushBy) { + private void updatePushStatus(Long id, Integer pushStatus, Date pushTime, Long pushBy ,String pushByName) { ErpEnterpriseUnit entity = new ErpEnterpriseUnit(); entity.setId(id); entity.setPushStatus(pushStatus); @@ -187,6 +188,9 @@ public class ErpEnterpriseUnitApplicationService { if (pushBy != null) { entity.setPushBy(String.valueOf(pushBy)); } + if (pushByName != null) { + entity.setPushByName((pushByName)); + } erpEnterpriseUnitMapper.updateById(entity); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java index 81d5af512..7a66e2eab 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java @@ -100,7 +100,7 @@ public class ExchangeRateApplicationService { GwLog gwLog = new GwLog(); gwLog.setType("汇率管理"); - gwLog.setBusinessId(String.valueOf(dto.getId())); + gwLog.setBusinessId(Long.valueOf(dto.getId())); gwLog.setRequestBody(JSONObject.toJSONString(body)); gwLog.setResponseBody(""); gwLog.setStatus(1); diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java index a029f9a7a..cea349b41 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/gwLog/GwLogApplicationService.java @@ -48,11 +48,9 @@ public class GwLogApplicationService { public GwLogPO selectByTypeAndId(GwLogDTO gwLogDTO) { GwLog gwLog =new GwLog(); - BeanUtils.copyProperties(gwLog,gwLogDTO); - GwLogPO po = gwLogMapper.selectByTypeAndId(gwLog); - GwLogPO po1 = gwLogMapper.selectByTypeAndId(gwLog); - // GwLogPO po2 = gwLogMapper.selectByTypeAndId(gwLogDTO); - // GwLogPO po3 = gwLogMapper.selectByTypeAndId(gwLogDTO); + BeanUtils.copyProperties(gwLogDTO,gwLog); + List po1 = gwLogMapper.selectByTypeAndId(gwLog); + GwLogPO po = po1.get(0); return po; } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java index 6eb33d6a4..81f50e552 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java @@ -95,7 +95,7 @@ public class MaterialInfoApplicationService { GwLog gwLog = new GwLog(); gwLog.setType("物料管理"); - gwLog.setBusinessId(String.valueOf(dto.getMaterialBaseInfoId())); + gwLog.setBusinessId(dto.getMaterialBaseInfoId()); gwLog.setRequestBody(JSONObject.toJSONString(body)); gwLog.setResponseBody(""); gwLog.setStatus(1); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java index aa41ceafa..132db5825 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/entity/ErpEnterpriseUnit.java @@ -38,6 +38,9 @@ public class ErpEnterpriseUnit { @ApiModelProperty(value = "推送人") private String pushBy; + @ApiModelProperty(value = "推送人姓名") + private String pushByName; + @ApiModelProperty(value = "所属组织ID") private Long organizationId; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java index de8e44b30..e44550fe3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java @@ -26,7 +26,7 @@ public class GwLog implements Serializable { private String type; @ApiModelProperty("业务ID") - private String businessId; + private Long businessId; @ApiModelProperty("请求报文") private String requestBody; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java index 8007d0446..b3871a637 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/repository/mapper/GwLogMapper.java @@ -21,6 +21,6 @@ public interface GwLogMapper extends BaseMapper { */ List queryList(GwLogDTO gwLogDTO); - @Select("select * from gw_log where business_id = #{businessId} and type = #{type}") - GwLogPO selectByTypeAndId(@RequestBody GwLog gwLog); + @Select("select * from gw_log where business_id = #{businessId} and type = #{type} order by create_time desc") + List selectByTypeAndId(@RequestBody GwLog gwLog); } From e8dfcd723f3d0fa6d0f7fa00ddc594793e4ce3e6 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 11:31:26 +0800 Subject: [PATCH 113/418] =?UTF-8?q?=E5=95=86=E4=B8=9A=E5=90=88=E4=BD=9C?= =?UTF-8?q?=E4=BC=99=E4=BC=B4=E6=8E=A8=E9=80=81=E4=BA=BA=E5=A7=93=E5=90=8D?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mhd/system/api/UserServiceFeign.java | 3 ++- .../factory/RemoteUserFeignFallbackFactory.java | 2 +- .../service/UserShipperApplicationService.java | 3 ++- .../userAggregate/entity/UserShipperEntity.java | 3 ++- .../userAggregate/repository/po/UserShipperPo.java | 3 +++ .../mhd/user/interfaces/facade/UserShipperAPI.java | 5 +++-- .../main/resources/mapper/UserShipperMapper.xml | 1 + .../BusinessPartnerApplicationService.java | 14 +++++++------- 8 files changed, 21 insertions(+), 13 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java index 295544734..d2232e594 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java @@ -208,5 +208,6 @@ public interface UserServiceFeign { public AjaxResult updatePushStatus(@RequestParam(value = "shipperId") Long shipperId, @RequestParam(value = "pushStatus", required = false) Integer pushStatus, @RequestParam(value = "pushTime", required = false) String pushTime, - @RequestParam(value = "pushBy", required = false) Long pushBy); + @RequestParam(value = "pushBy", required = false) Long pushBy, + @RequestParam(value = "pushByName", required = false) String pushByName); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java index 3ec982c94..6bd712c13 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java @@ -198,7 +198,7 @@ public class RemoteUserFeignFallbackFactory implements FallbackFactory updatePushStatus(Long shipperId, Integer pushStatus, String pushTime, Long pushBy) { + public AjaxResult updatePushStatus(Long shipperId, Integer pushStatus, String pushTime, Long pushBy, String pushByName) { return AjaxResult.error("更新失败" + throwable.getMessage()); } }; diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java index 9faccfa09..87e3aaac0 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java @@ -1221,7 +1221,7 @@ public class UserShipperApplicationService { * @param pushBy * @return */ - public int updatePushStatus(Long shipperId, Integer pushStatus, String pushTime, Long pushBy) { + public int updatePushStatus(Long shipperId, Integer pushStatus, String pushTime, Long pushBy,String pushByName) { UserShipperEntity userShipper = new UserShipperEntity(); userShipper.setShipperId(shipperId); userShipper.setPushStatus(pushStatus); @@ -1229,6 +1229,7 @@ public class UserShipperApplicationService { userShipper.setPushTime(DateUtil.parse(pushTime)); } userShipper.setPushBy(pushBy); + userShipper.setPushByName(pushByName); return userShipperMapper.updatePushStatus(userShipper); } } \ No newline at end of file diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserShipperEntity.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserShipperEntity.java index c18bfb7db..9dc934f64 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserShipperEntity.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserShipperEntity.java @@ -272,6 +272,7 @@ public class UserShipperEntity extends BaseVOEntity { private Date pushTime; @ApiModelProperty(name = "推送人") private Long pushBy; - + @ApiModelProperty(name = "推送人姓名") + private String pushByName; } diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/UserShipperPo.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/UserShipperPo.java index 2dd5170d8..f02467097 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/UserShipperPo.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/UserShipperPo.java @@ -332,4 +332,7 @@ public class UserShipperPo implements Serializable { @ApiModelProperty(value = "推送人ID") private Long pushBy; + + @ApiModelProperty(value = "推送人姓名") + private String pushByName; } diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java index a21505014..d354f95aa 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java @@ -242,10 +242,11 @@ public class UserShipperAPI extends BaseController { public AjaxResult updatePushStatus(@RequestParam("shipperId") Long shipperId, @RequestParam("pushStatus") Integer pushStatus, @RequestParam(value = "pushTime", required = false) String pushTime, - @RequestParam(value = "pushBy", required = false) Long pushBy){ + @RequestParam(value = "pushBy", required = false) Long pushBy, + @RequestParam(value = "pushByName", required = false) String pushByName){ try{ - int result = userShipperApplicationService.updatePushStatus(shipperId,pushStatus,pushTime,pushBy); + int result = userShipperApplicationService.updatePushStatus(shipperId,pushStatus,pushTime,pushBy,pushByName); return result > 0 ? AjaxResult.success() : AjaxResult.error("更新失败"); }catch (Exception e){ log.error("更新推送状态异常: shipperId = {} , error = ", e.getMessage()); diff --git a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml index 86bf79790..eb19d41c7 100644 --- a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml +++ b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml @@ -429,6 +429,7 @@ push_status = #{pushStatus}, push_time = #{pushTime}, push_by = #{pushBy}, + push_by_name = #{pushByName}, WHERE shipper_id = #{shipperId} diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java index 0ef8cf865..37f1aefa7 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java @@ -96,7 +96,7 @@ public class BusinessPartnerApplicationService { GwLog gwLog = new GwLog(); gwLog.setType("商业合作伙伴"); - gwLog.setBusinessId(businessPartnerDTO.getShipperId()); + gwLog.setBusinessId(Long.valueOf(businessPartnerDTO.getShipperId())); gwLog.setRequestBody(JSONObject.toJSONString(body)); gwLog.setResponseBody(""); gwLog.setStatus(1); @@ -109,7 +109,7 @@ public class BusinessPartnerApplicationService { gwLog.setDelFlag(1); gwLogMapper.insert(gwLog); - updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),2,new Date(),pushBy); + updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),2,new Date(),pushBy,pushByName); CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); @@ -125,12 +125,12 @@ public class BusinessPartnerApplicationService { if(response.getStatusLine().getStatusCode() == 200){ gwLog.setStatus(2); - updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),3, new Date(), pushBy); + updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),3, new Date(), pushBy,pushByName); successCount++; }else{ gwLog.setStatus(3); gwLog.setErrorMsg(responseString); - updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),4, new Date(), pushBy); + updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),4, new Date(), pushBy,pushByName); failCount++; failMsg.append("CorpCode:").append(businessPartnerDTO.getCorpCode()).append("失败:"); } @@ -143,7 +143,7 @@ public class BusinessPartnerApplicationService { gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); gwLogMapper.updateById(gwLog); - updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),4, new Date(), pushBy); + updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),4, new Date(), pushBy,pushByName); failCount++; failMsg.append("CorpCode:").append(businessPartnerDTO.getCorpCode()).append("异常:").append(e.getMessage()).append(":"); log.error("GW推送异常:shipperId={}, error={}",businessPartnerDTO.getShipperId(),e.getMessage()); @@ -169,11 +169,11 @@ public class BusinessPartnerApplicationService { - private void updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy) { + private void updatePushStatus(Long shipperId, Integer pushStatus, Date pushTime, Long pushBy,String pushByName) { try { // 调用user-center的Feign接口,更新货主的推送状态 String pushTimeStr = pushTime != null ? DateUtil.format(pushTime, "yyyy-MM-dd HH:mm:ss") : null; - AjaxResult result = userServiceFeign.updatePushStatus(shipperId, pushStatus, pushTimeStr, pushBy); + AjaxResult result = userServiceFeign.updatePushStatus(shipperId, pushStatus, pushTimeStr, pushBy, pushByName); log.info("更新返回结果:{}",result); } catch (Exception e) { // 如果更新失败,记录错误日志,但不阻断主流程 From 94fd0ddbb78f3e463c51b08b190683b82b109a85 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 11:32:04 +0800 Subject: [PATCH 114/418] sql --- sql/oms20260513.sql | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sql/oms20260513.sql b/sql/oms20260513.sql index 0544ad52c..6892fd2bf 100644 --- a/sql/oms20260513.sql +++ b/sql/oms20260513.sql @@ -24,4 +24,11 @@ alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER add PUSH_BY_NAME varchar(100); comment -on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.PUSH_BY_NAME is '推送人姓名'; \ No newline at end of file +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.PUSH_BY_NAME is '推送人姓名'; + + +alter table NGWL_TEST_USER.USER_SHIPPER + add PUSH_BY_NAME varchar(100); + +comment +on column NGWL_TEST_USER.USER_SHIPPER.PUSH_BY_NAME is '推送人姓名'; \ No newline at end of file From c7c536782f3d5bf49a1f1f5c0bab38c2a4bd6def Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 13:55:23 +0800 Subject: [PATCH 115/418] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=B8=81=E5=80=BC?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BA=BA=E5=A7=93=E5=90=8D=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mhd/system/api/WlhyServiceFeign.java | 5 +++-- .../api/factory/RemoteWlhyFallbackFactory.java | 2 +- .../ExchangeRateApplicationService.java | 13 +++++++------ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index a30cd0746..fdee7b2ed 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -550,6 +550,7 @@ public interface WlhyServiceFeign { @PostMapping("/ntocc/tmsSettlementExchangeRate/updatePushStatus") void updateExchangeRatePushStatus(@RequestParam("id") String id, @RequestParam("pushStatus") Integer pushStatus, - @RequestParam("pushTime") String pushTime, - @RequestParam("pushBy") Long pushBy); + @RequestParam(name="pushTime",required = false) String pushTime, + @RequestParam(name="pushBy",required = false) Long pushBy, + @RequestParam(name="pushByName",required = false) String pushByName); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java index 430061dd5..b5f9d74d3 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWlhyFallbackFactory.java @@ -557,7 +557,7 @@ public class RemoteWlhyFallbackFactory implements FallbackFactory Date: Thu, 14 May 2026 14:18:51 +0800 Subject: [PATCH 116/418] =?UTF-8?q?=E5=AD=97=E5=85=B8=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E7=BB=84=E7=BB=87=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mhd/system/api/domain/SysDictType.java | 42 ++++++++++++ .../com/mhd/common/core/utils/ip/IpUtil.java | 68 +++++++++++++++---- .../com/mhd/common/log/aspect/LogAspect.java | 10 ++- .../mhd/common/security/utils/DictUtils.java | 9 +++ .../controller/SysDictTypeController.java | 46 +++++++++++++ .../mhd/system/mapper/SysDictDataMapper.java | 14 +++- .../mhd/system/mapper/SysDictTypeMapper.java | 2 +- .../service/impl/SysDictDataServiceImpl.java | 19 +++++- .../service/impl/SysDictTypeServiceImpl.java | 61 ++++++++++++++--- .../mapper/system/SysDictDataMapper.xml | 23 ++++++- .../mapper/system/SysDictTypeMapper.xml | 30 +++++++- 11 files changed, 289 insertions(+), 35 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/SysDictType.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/SysDictType.java index 790628d41..6b461fc11 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/SysDictType.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/SysDictType.java @@ -34,6 +34,45 @@ public class SysDictType extends BaseEntity @Excel(name = "状态", readConverterExp = "0=正常,1=停用") private String status; + /** 组织表ID */ + private Long organizationId; + + /** 组织名称 */ + private String organizationName; + + /** 一级组织表ID */ + private Long topOrganizationId; + + public Long getOrganizationId() + { + return organizationId; + } + + public void setOrganizationId(Long organizationId) + { + this.organizationId = organizationId; + } + + public String getOrganizationName() + { + return organizationName; + } + + public void setOrganizationName(String organizationName) + { + this.organizationName = organizationName; + } + + public Long getTopOrganizationId() + { + return topOrganizationId; + } + + public void setTopOrganizationId(Long topOrganizationId) + { + this.topOrganizationId = topOrganizationId; + } + public Long getDictId() { return dictId; @@ -86,6 +125,9 @@ public class SysDictType extends BaseEntity .append("dictName", getDictName()) .append("dictType", getDictType()) .append("status", getStatus()) + .append("organizationId", getOrganizationId()) + .append("organizationName", getOrganizationName()) + .append("topOrganizationId", getTopOrganizationId()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) diff --git a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/utils/ip/IpUtil.java b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/utils/ip/IpUtil.java index ebdb79b58..5a348a3e4 100644 --- a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/utils/ip/IpUtil.java +++ b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/utils/ip/IpUtil.java @@ -65,27 +65,67 @@ public class IpUtil { public static IpLocation getLocation(String ip) { IpLocation location = new IpLocation(); location.setIp(ip); - try (InputStream inputStream = IpUtils.class.getResourceAsStream("/ip2region.xdb");) { + if (StrUtil.isBlank(ip) || "unknown".equalsIgnoreCase(ip.trim())) + { + return location; + } + String ipv4 = ip.trim(); + if (ipv4.contains(",")) + { + ipv4 = ipv4.substring(0, ipv4.indexOf(',')).trim(); + } + // ip2region xdb 对 IPv6 / 非法串可能抛 ArrayIndexOutOfBoundsException,仅对 IPv4 做库查询 + if (!isLikelyIpv4(ipv4)) + { + return location; + } + try (InputStream inputStream = IpUtils.class.getResourceAsStream("/ip2region.xdb")) + { + if (inputStream == null) + { + log.warn("ip2region.xdb 未找到,跳过 IP 归属解析"); + return location; + } byte[] bytes = IoUtil.readBytes(inputStream); Searcher searcher = Searcher.newWithBuffer(bytes); - String region = searcher.search(ip); - if (StrUtil.isAllNotBlank(region)) { - // xdb返回格式 国家|区域|省份|城市|ISP, - // 只有中国的数据绝大部分精确到了城市,其他国家部分数据只能定位到国家,后前的选项全部是0 - String[] result = region.split("\\|"); - location.setCountry(ZERO.equals(result[0]) ? StrUtil.EMPTY : result[0]); - location.setProvince(ZERO.equals(result[2]) ? StrUtil.EMPTY : result[2]); - location.setCity(ZERO.equals(result[3]) ? StrUtil.EMPTY : result[3]); - location.setIsp(ZERO.equals(result[4]) ? StrUtil.EMPTY : result[4]); + try + { + String region = searcher.search(ipv4); + if (StrUtil.isNotBlank(region)) + { + // xdb返回格式 国家|区域|省份|城市|ISP, + String[] result = region.split("\\|"); + if (result.length >= 5) + { + location.setCountry(ZERO.equals(result[0]) ? StrUtil.EMPTY : result[0]); + location.setProvince(ZERO.equals(result[2]) ? StrUtil.EMPTY : result[2]); + location.setCity(ZERO.equals(result[3]) ? StrUtil.EMPTY : result[3]); + location.setIsp(ZERO.equals(result[4]) ? StrUtil.EMPTY : result[4]); + } + } } - searcher.close(); - } catch (Exception e) { - log.error("ip地址解析异常,error:", e); + finally + { + searcher.close(); + } + } + catch (Exception e) + { + log.warn("ip地址解析失败,ip={}, msg={}", ipv4, e.getMessage()); return location; } return location; } + private static boolean isLikelyIpv4(String ip) + { + if (ip == null || ip.contains(":")) + { + return false; + } + return ip.chars().filter(ch -> ch == '.').count() == 3L; + } + /** * 根据iP获取归属地信息 - 拼接 * @@ -93,7 +133,7 @@ public class IpUtil { */ public static String getLocationSplicing(String ip) { IpLocation location = getLocation(ip); - return location.getProvince()+location.getCity(); + return StrUtil.nullToEmpty(location.getProvince()) + StrUtil.nullToEmpty(location.getCity()); } public static void main(String[] args) { diff --git a/mhd-common/mhd-common-log/src/main/java/com/mhd/common/log/aspect/LogAspect.java b/mhd-common/mhd-common-log/src/main/java/com/mhd/common/log/aspect/LogAspect.java index 394e4aaf3..abbaa6569 100644 --- a/mhd-common/mhd-common-log/src/main/java/com/mhd/common/log/aspect/LogAspect.java +++ b/mhd-common/mhd-common-log/src/main/java/com/mhd/common/log/aspect/LogAspect.java @@ -80,7 +80,15 @@ public class LogAspect // 请求的地址 String ip = IpUtils.getIpAddr(ServletUtils.getRequest()); operLog.setOperIp(ip); - operLog.setOperLocation(StrUtil.isNotEmpty(operLog.getOperIp()) ? IpUtil.getLocationSplicing(operLog.getOperIp()) : ""); + try + { + operLog.setOperLocation(StrUtil.isNotEmpty(operLog.getOperIp()) ? IpUtil.getLocationSplicing(operLog.getOperIp()) : ""); + } + catch (Throwable t) + { + log.warn("操作日志 IP 归属解析跳过: {}", t.getMessage()); + operLog.setOperLocation(""); + } operLog.setOperUrl(ServletUtils.getRequest().getRequestURI()); LoginUser loginUser = SecurityUtils.getLoginUser(); if (loginUser != null){ diff --git a/mhd-common/mhd-common-security/src/main/java/com/mhd/common/security/utils/DictUtils.java b/mhd-common/mhd-common-security/src/main/java/com/mhd/common/security/utils/DictUtils.java index 6eed94dc9..227d578f1 100644 --- a/mhd-common/mhd-common-security/src/main/java/com/mhd/common/security/utils/DictUtils.java +++ b/mhd-common/mhd-common-security/src/main/java/com/mhd/common/security/utils/DictUtils.java @@ -72,4 +72,13 @@ public class DictUtils { return Constants.SYS_DICT_KEY + configKey; } + + /** + * 字典缓存键:同一 dict_type 在不同组织下可并存,需带上组织维度(null 视为 0 平台) + */ + public static String dictTypeOrgCacheKey(String dictType, Long organizationId) + { + long oid = organizationId == null ? 0L : organizationId.longValue(); + return dictType + "@" + oid; + } } diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java index 1866d8a12..6618ee0f2 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java @@ -15,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.mhd.common.core.constant.UserConstants; +import com.mhd.common.core.domain.po.UserPo; +import com.mhd.common.core.utils.StringUtils; import com.mhd.common.core.utils.poi.ExcelUtil; import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; @@ -23,6 +25,7 @@ import com.mhd.common.log.annotation.Log; import com.mhd.common.log.enums.BusinessType; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.domain.SysDictType; +import com.mhd.system.api.model.LoginUser; /** * 数据字典信息 @@ -73,6 +76,7 @@ public class SysDictTypeController extends BaseController @PostMapping public AjaxResult add(@Validated @RequestBody SysDictType dict) { + fillDictTypeOrganization(dict); if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict))) { return AjaxResult.error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在"); @@ -81,6 +85,47 @@ public class SysDictTypeController extends BaseController return toAjax(dictTypeService.insertDictType(dict)); } + /** + * 写入组织维度:优先使用请求体中选择的组织;未传时使用当前登录用户所属组织;无登录上下文时按平台(0)处理。 + */ + private void fillDictTypeOrganization(SysDictType dict) + { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null || loginUser.getUserPo() == null) + { + if (dict.getOrganizationId() == null) + { + dict.setOrganizationId(0L); + } + return; + } + UserPo userPo = loginUser.getUserPo(); + if (dict.getOrganizationId() == null) + { + dict.setOrganizationId(userPo.getOrganizationId()); + if (StringUtils.isEmpty(dict.getOrganizationName())) + { + dict.setOrganizationName(userPo.getOrganizationName()); + } + if (dict.getTopOrganizationId() == null) + { + dict.setTopOrganizationId(userPo.getTopOrganizationId()); + } + } + else + { + if (dict.getTopOrganizationId() == null) + { + dict.setTopOrganizationId(userPo.getTopOrganizationId()); + } + if (StringUtils.isEmpty(dict.getOrganizationName()) + && dict.getOrganizationId().equals(userPo.getOrganizationId())) + { + dict.setOrganizationName(userPo.getOrganizationName()); + } + } + } + /** * 修改字典类型 */ @@ -89,6 +134,7 @@ public class SysDictTypeController extends BaseController @PutMapping public AjaxResult edit(@Validated @RequestBody SysDictType dict) { + fillDictTypeOrganization(dict); if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict))) { return AjaxResult.error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在"); diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictDataMapper.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictDataMapper.java index b91b23a2a..162c54935 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictDataMapper.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictDataMapper.java @@ -56,7 +56,7 @@ public interface SysDictDataMapper extends BaseMapper * @param dictType 字典类型 * @return 字典数据 */ - public int countDictDataByType(String dictType); + int countDictDataByType(@Param("dictType") String dictType, @Param("organizationId") Long organizationId); /** * 通过字典ID删除字典数据信息 @@ -97,5 +97,15 @@ public interface SysDictDataMapper extends BaseMapper * @param newDictType 新旧字典类型 * @return 结果 */ - public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType); + int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType, + @Param("organizationId") Long organizationId); + + /** + * 按字典类型批量同步字典数据的组织信息(与字典类型归属一致) + */ + int updateDictDataOrganizationByDictType(@Param("dictType") String dictType, + @Param("organizationId") Long organizationId, + @Param("organizationName") String organizationName, + @Param("topOrganizationId") Long topOrganizationId, + @Param("scopeOrganizationId") Long scopeOrganizationId); } diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java index 9984a5605..bd6d92ead 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java @@ -79,5 +79,5 @@ public interface SysDictTypeMapper * @param dictType 字典类型 * @return 结果 */ - public SysDictType checkDictTypeUnique(String dictType); + public SysDictType checkDictTypeUnique(SysDictType dictType); } diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java index f10053b47..b59dba788 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java @@ -107,8 +107,11 @@ public class SysDictDataServiceImpl extends ServiceImpl dictDatas = dictDataMapper.selectDictDataByType(dictData); - DictUtils.setDictCache(data.getDictType(), dictDatas); + DictUtils.setDictCache(DictUtils.dictTypeOrgCacheKey(data.getDictType(), oid), dictDatas); + DictUtils.removeDictCache(data.getDictType()); } } @@ -135,8 +138,11 @@ public class SysDictDataServiceImpl extends ServiceImpl dictDatas = dictDataMapper.selectDictDataByType(dictData); - DictUtils.setDictCache(data.getDictType(), dictDatas); + DictUtils.setDictCache(DictUtils.dictTypeOrgCacheKey(data.getDictType(), oid), dictDatas); + DictUtils.removeDictCache(data.getDictType()); } return row; } @@ -180,13 +186,20 @@ public class SysDictDataServiceImpl extends ServiceImpl 0) { + DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(sysDictData.getDictType(), oldOid)); SysDictData dictData = new SysDictData(); dictData.setDictType(data.getDictType()); + Long oid = data.getOrganizationId() != null ? data.getOrganizationId() + : (sysDictData.getOrganizationId() != null ? sysDictData.getOrganizationId() : 0L); + dictData.setOrganizationId(oid); List dictDatas = dictDataMapper.selectDictDataByType(dictData); - DictUtils.setDictCache(data.getDictType(), dictDatas); + DictUtils.setDictCache(DictUtils.dictTypeOrgCacheKey(data.getDictType(), oid), dictDatas); + DictUtils.removeDictCache(data.getDictType()); + DictUtils.removeDictCache(sysDictData.getDictType()); } return row; } diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java index 5d3d4ffac..754e01e96 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java @@ -16,8 +16,10 @@ import com.mhd.common.core.constant.UserConstants; import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.utils.StringUtils; import com.mhd.common.security.utils.DictUtils; +import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.domain.SysDictData; import com.mhd.system.api.domain.SysDictType; +import com.mhd.system.api.model.LoginUser; /** * 字典 业务层处理 @@ -74,22 +76,47 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService @Override public List selectDictDataByType(String dictType) { - List dictDatas = DictUtils.getDictCache(dictType); + Long orgId = resolveLoginOrganizationIdForDict(); + String cacheKey = DictUtils.dictTypeOrgCacheKey(dictType, orgId); + List dictDatas = DictUtils.getDictCache(cacheKey); + if (StringUtils.isEmpty(dictDatas)) + { + dictDatas = DictUtils.getDictCache(dictType); + } if (StringUtils.isNotEmpty(dictDatas)) { return dictDatas; } SysDictData dictData = new SysDictData(); dictData.setDictType(dictType); + dictData.setOrganizationId(orgId); dictDatas = dictDataMapper.selectDictDataByType(dictData); if (StringUtils.isNotEmpty(dictDatas)) { - DictUtils.setDictCache(dictType, dictDatas); + DictUtils.setDictCache(cacheKey, dictDatas); return dictDatas; } return null; } + /** 字典数据按组织隔离;未登录按平台 0 */ + private Long resolveLoginOrganizationIdForDict() + { + try + { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null && loginUser.getUserPo() != null + && loginUser.getUserPo().getOrganizationId() != null) + { + return loginUser.getUserPo().getOrganizationId(); + } + } + catch (Exception ignored) + { + } + return 0L; + } + /** * 根据字典类型ID查询信息 * @@ -125,11 +152,13 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService for (Long dictId : dictIds) { SysDictType dictType = selectDictTypeById(dictId); - if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) + Long typeOrgId = dictType.getOrganizationId() != null ? dictType.getOrganizationId() : 0L; + if (dictDataMapper.countDictDataByType(dictType.getDictType(), typeOrgId) > 0) { throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName())); } dictTypeMapper.deleteDictTypeById(dictId); + DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(dictType.getDictType(), typeOrgId)); DictUtils.removeDictCache(dictType.getDictType()); } } @@ -142,7 +171,8 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService { SysDictData dictData = new SysDictData(); dictData.setStatus("0"); - Map> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType)); + Map> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream() + .collect(Collectors.groupingBy(d -> DictUtils.dictTypeOrgCacheKey(d.getDictType(), d.getOrganizationId()))); for (Map.Entry> entry : dictDataMap.entrySet()) { DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList())); @@ -180,7 +210,9 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService int row = dictTypeMapper.insertDictType(dict); if (row > 0) { - DictUtils.setDictCache(dict.getDictType(), null); + Long oid = dict.getOrganizationId() != null ? dict.getOrganizationId() : 0L; + DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(dict.getDictType(), oid)); + DictUtils.removeDictCache(dict.getDictType()); } return row; } @@ -196,14 +228,27 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService public int updateDictType(SysDictType dict) { SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId()); - dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType()); + Long oldTypeOrgId = oldDict.getOrganizationId() != null ? oldDict.getOrganizationId() : 0L; + dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType(), oldTypeOrgId); int row = dictTypeMapper.updateDictType(dict); if (row > 0) { + if (dictDataMapper.countDictDataByType(dict.getDictType(), oldTypeOrgId) > 0) + { + dictDataMapper.updateDictDataOrganizationByDictType(dict.getDictType(), + dict.getOrganizationId(), dict.getOrganizationName(), dict.getTopOrganizationId(), + oldTypeOrgId); + } + DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(oldDict.getDictType(), oldTypeOrgId)); + DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(dict.getDictType(), dict.getOrganizationId())); + DictUtils.removeDictCache(oldDict.getDictType()); + DictUtils.removeDictCache(dict.getDictType()); SysDictData dictData = new SysDictData(); dictData.setDictType(dict.getDictType()); + Long newOrgId = dict.getOrganizationId() != null ? dict.getOrganizationId() : 0L; + dictData.setOrganizationId(newOrgId); List dictDatas = dictDataMapper.selectDictDataByType(dictData); - DictUtils.setDictCache(dict.getDictType(), dictDatas); + DictUtils.setDictCache(DictUtils.dictTypeOrgCacheKey(dict.getDictType(), newOrgId), dictDatas); } return row; } @@ -218,7 +263,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService public String checkDictTypeUnique(SysDictType dict) { Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId(); - SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType()); + SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict); if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) { return UserConstants.NOT_UNIQUE; diff --git a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml index e21509cda..c0ba266f3 100644 --- a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -58,6 +58,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and (top_organization_id = #{topOrganizationId} OR is_default = 'Y') + + and (IFNULL(organization_id, 0) = #{organizationId} OR is_default = 'Y') + order by dict_sort asc @@ -73,7 +76,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -108,8 +113,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where dict_code = #{dictCode} - - update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType} + + update sys_dict_data set dict_type = #{newDictType} + where dict_type = #{oldDictType} + and IFNULL(organization_id, 0) = IFNULL(#{organizationId}, 0) + + + + update sys_dict_data + set organization_id = #{organizationId}, + organization_name = #{organizationName}, + top_organization_id = #{topOrganizationId}, + update_time = sysdate() + where dict_type = #{dictType} + and IFNULL(organization_id, 0) = IFNULL(#{scopeOrganizationId}, 0) diff --git a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml index be77ef468..e55ad2b78 100644 --- a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml +++ b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml @@ -13,10 +13,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + - select dict_id, dict_name, dict_type, status, create_by, create_time, remark + select dict_id, dict_name, dict_type, status, create_by, create_time, remark, + organization_id, organization_name, top_organization_id from sys_dict_type @@ -32,6 +37,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND dict_type like concat('%', #{dictType}, '%') + + AND organization_id = #{organizationId} + + + AND (top_organization_id = #{topOrganizationId} OR IFNULL(organization_id, 0) = 0) + and date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') @@ -53,11 +64,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - where dict_type = #{dictType} limit 1 + where dict_type = #{dictType} + and IFNULL(organization_id, 0) = IFNULL(#{organizationId}, 0) + limit 1 @@ -78,6 +93,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dict_type = #{dictType}, status = #{status}, remark = #{remark}, + organization_id = #{organizationId}, + organization_name = #{organizationName}, + top_organization_id = #{topOrganizationId}, update_by = #{updateBy}, update_time = sysdate() @@ -90,6 +108,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dict_type, status, remark, + organization_id, + organization_name, + top_organization_id, create_by, create_time )values( @@ -97,6 +118,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{dictType}, #{status}, #{remark}, + #{organizationId}, + #{organizationName}, + #{topOrganizationId}, #{createBy}, sysdate() ) From 06abee70e389fa7bca09204151a044d9b93575e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 14 May 2026 15:23:48 +0800 Subject: [PATCH 117/418] =?UTF-8?q?=E5=AD=97=E5=85=B8=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E7=BB=84=E7=BB=87=E5=AD=97=E6=AE=B5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysDictTypeController.java | 6 +- .../mhd/system/mapper/SysDictDataMapper.java | 8 +- .../service/impl/SysDictDataServiceImpl.java | 129 ++++++++++++++--- .../service/impl/SysDictTypeServiceImpl.java | 135 ++++++++++++------ .../mapper/system/SysDictDataMapper.xml | 14 +- .../mapper/system/SysDictTypeMapper.xml | 7 +- 6 files changed, 208 insertions(+), 91 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java index 6618ee0f2..e9d4c29c6 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java @@ -79,7 +79,7 @@ public class SysDictTypeController extends BaseController fillDictTypeOrganization(dict); if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict))) { - return AjaxResult.error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在"); + return AjaxResult.error("新增字典'" + dict.getDictName() + "'失败,字典类型编码「" + dict.getDictType() + "」已存在(全局不可重复)"); } dict.setCreateBy(SecurityUtils.getUsername()); return toAjax(dictTypeService.insertDictType(dict)); @@ -119,7 +119,7 @@ public class SysDictTypeController extends BaseController dict.setTopOrganizationId(userPo.getTopOrganizationId()); } if (StringUtils.isEmpty(dict.getOrganizationName()) - && dict.getOrganizationId().equals(userPo.getOrganizationId())) + && java.util.Objects.equals(dict.getOrganizationId(), userPo.getOrganizationId())) { dict.setOrganizationName(userPo.getOrganizationName()); } @@ -137,7 +137,7 @@ public class SysDictTypeController extends BaseController fillDictTypeOrganization(dict); if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict))) { - return AjaxResult.error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在"); + return AjaxResult.error("修改字典'" + dict.getDictName() + "'失败,字典类型编码「" + dict.getDictType() + "」已存在(全局不可重复)"); } dict.setUpdateBy(SecurityUtils.getUsername()); return toAjax(dictTypeService.updateDictType(dict)); diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictDataMapper.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictDataMapper.java index 162c54935..e7c16554a 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictDataMapper.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictDataMapper.java @@ -56,7 +56,7 @@ public interface SysDictDataMapper extends BaseMapper * @param dictType 字典类型 * @return 字典数据 */ - int countDictDataByType(@Param("dictType") String dictType, @Param("organizationId") Long organizationId); + public int countDictDataByType(String dictType); /** * 通过字典ID删除字典数据信息 @@ -97,8 +97,7 @@ public interface SysDictDataMapper extends BaseMapper * @param newDictType 新旧字典类型 * @return 结果 */ - int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType, - @Param("organizationId") Long organizationId); + public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType); /** * 按字典类型批量同步字典数据的组织信息(与字典类型归属一致) @@ -106,6 +105,5 @@ public interface SysDictDataMapper extends BaseMapper int updateDictDataOrganizationByDictType(@Param("dictType") String dictType, @Param("organizationId") Long organizationId, @Param("organizationName") String organizationName, - @Param("topOrganizationId") Long topOrganizationId, - @Param("scopeOrganizationId") Long scopeOrganizationId); + @Param("topOrganizationId") Long topOrganizationId); } diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java index b59dba788..e2ec28888 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java @@ -4,17 +4,24 @@ import java.util.ArrayList; import java.util.List; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.basic.infrastructure.feign.ProductServiceFeign; import com.mhd.basic.infrastructure.util.annotation.DataPermissions; +import com.mhd.common.core.domain.po.OrganizationPo; import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException; import com.mhd.common.core.exception.digitalLogisticsException.UserError; +import com.mhd.common.core.utils.StringUtils; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.domain.SysDictType; import com.mhd.system.api.model.LoginUser; import com.mhd.system.domain.vo.SysBankDictInfo; import com.mhd.system.domain.vo.SysDictDataVO; import com.mhd.system.mapper.SysDictDataMapper; import com.mhd.system.service.ISysDictDataService; +import com.mhd.system.service.ISysDictTypeService; import org.springframework.stereotype.Service; import com.mhd.common.security.utils.DictUtils; import com.mhd.system.api.domain.SysDictData; @@ -33,6 +40,12 @@ public class SysDictDataServiceImpl extends ServiceImpl dictDatas = dictDataMapper.selectDictDataByType(dictData); - DictUtils.setDictCache(DictUtils.dictTypeOrgCacheKey(data.getDictType(), oid), dictDatas); - DictUtils.removeDictCache(data.getDictType()); + DictUtils.setDictCache(data.getDictType(), dictDatas); } } @@ -129,20 +139,28 @@ public class SysDictDataServiceImpl extends ServiceImpl 0) { SysDictData dictData = new SysDictData(); dictData.setDictType(data.getDictType()); - Long oid = data.getOrganizationId() != null ? data.getOrganizationId() : 0L; - dictData.setOrganizationId(oid); List dictDatas = dictDataMapper.selectDictDataByType(dictData); - DictUtils.setDictCache(DictUtils.dictTypeOrgCacheKey(data.getDictType(), oid), dictDatas); - DictUtils.removeDictCache(data.getDictType()); + DictUtils.setDictCache(data.getDictType(), dictDatas); } return row; } @@ -185,21 +203,29 @@ public class SysDictDataServiceImpl extends ServiceImpl 0) { - DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(sysDictData.getDictType(), oldOid)); + String dictTypeForCache = StringUtils.isNotEmpty(data.getDictType()) ? data.getDictType() : sysDictData.getDictType(); SysDictData dictData = new SysDictData(); - dictData.setDictType(data.getDictType()); - Long oid = data.getOrganizationId() != null ? data.getOrganizationId() - : (sysDictData.getOrganizationId() != null ? sysDictData.getOrganizationId() : 0L); - dictData.setOrganizationId(oid); + dictData.setDictType(dictTypeForCache); List dictDatas = dictDataMapper.selectDictDataByType(dictData); - DictUtils.setDictCache(DictUtils.dictTypeOrgCacheKey(data.getDictType(), oid), dictDatas); - DictUtils.removeDictCache(data.getDictType()); - DictUtils.removeDictCache(sysDictData.getDictType()); + DictUtils.setDictCache(dictTypeForCache, dictDatas); } return row; } @@ -399,6 +425,69 @@ public class SysDictDataServiceImpl extends ServiceImpl selectDictList(SysDictData sysDictData) { return dictDataMapper.selectDictDataList(sysDictData); diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java index 754e01e96..f9f6f237c 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java @@ -3,9 +3,14 @@ package com.mhd.system.service.impl; import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; import javax.annotation.PostConstruct; +import com.alibaba.fastjson.JSONObject; +import com.mhd.basic.infrastructure.feign.ProductServiceFeign; +import com.mhd.common.core.domain.po.OrganizationPo; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.system.mapper.SysDictDataMapper; import com.mhd.system.mapper.SysDictTypeMapper; import com.mhd.system.service.ISysDictTypeService; @@ -35,6 +40,9 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService @Autowired private SysDictDataMapper dictDataMapper; + @Autowired + private ProductServiceFeign productServiceFeign; + /** * 项目启动时,初始化字典到缓存 */ @@ -76,47 +84,22 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService @Override public List selectDictDataByType(String dictType) { - Long orgId = resolveLoginOrganizationIdForDict(); - String cacheKey = DictUtils.dictTypeOrgCacheKey(dictType, orgId); - List dictDatas = DictUtils.getDictCache(cacheKey); - if (StringUtils.isEmpty(dictDatas)) - { - dictDatas = DictUtils.getDictCache(dictType); - } + List dictDatas = DictUtils.getDictCache(dictType); if (StringUtils.isNotEmpty(dictDatas)) { return dictDatas; } SysDictData dictData = new SysDictData(); dictData.setDictType(dictType); - dictData.setOrganizationId(orgId); dictDatas = dictDataMapper.selectDictDataByType(dictData); if (StringUtils.isNotEmpty(dictDatas)) { - DictUtils.setDictCache(cacheKey, dictDatas); + DictUtils.setDictCache(dictType, dictDatas); return dictDatas; } return null; } - /** 字典数据按组织隔离;未登录按平台 0 */ - private Long resolveLoginOrganizationIdForDict() - { - try - { - LoginUser loginUser = SecurityUtils.getLoginUser(); - if (loginUser != null && loginUser.getUserPo() != null - && loginUser.getUserPo().getOrganizationId() != null) - { - return loginUser.getUserPo().getOrganizationId(); - } - } - catch (Exception ignored) - { - } - return 0L; - } - /** * 根据字典类型ID查询信息 * @@ -152,13 +135,11 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService for (Long dictId : dictIds) { SysDictType dictType = selectDictTypeById(dictId); - Long typeOrgId = dictType.getOrganizationId() != null ? dictType.getOrganizationId() : 0L; - if (dictDataMapper.countDictDataByType(dictType.getDictType(), typeOrgId) > 0) + if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) { throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName())); } dictTypeMapper.deleteDictTypeById(dictId); - DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(dictType.getDictType(), typeOrgId)); DictUtils.removeDictCache(dictType.getDictType()); } } @@ -171,8 +152,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService { SysDictData dictData = new SysDictData(); dictData.setStatus("0"); - Map> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream() - .collect(Collectors.groupingBy(d -> DictUtils.dictTypeOrgCacheKey(d.getDictType(), d.getOrganizationId()))); + Map> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType)); for (Map.Entry> entry : dictDataMap.entrySet()) { DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList())); @@ -207,12 +187,15 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService @Override public int insertDictType(SysDictType dict) { + fillOrganizationNameFromProductCenter(dict); + if (dict.getOrganizationId() != null && StringUtils.isEmpty(dict.getOrganizationName())) + { + dict.setOrganizationName(""); + } int row = dictTypeMapper.insertDictType(dict); if (row > 0) { - Long oid = dict.getOrganizationId() != null ? dict.getOrganizationId() : 0L; - DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(dict.getDictType(), oid)); - DictUtils.removeDictCache(dict.getDictType()); + DictUtils.setDictCache(dict.getDictType(), null); } return row; } @@ -228,27 +211,20 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService public int updateDictType(SysDictType dict) { SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId()); - Long oldTypeOrgId = oldDict.getOrganizationId() != null ? oldDict.getOrganizationId() : 0L; - dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType(), oldTypeOrgId); + mergeDictTypeOrganizationNameForUpdate(dict, oldDict); + dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType()); int row = dictTypeMapper.updateDictType(dict); if (row > 0) { - if (dictDataMapper.countDictDataByType(dict.getDictType(), oldTypeOrgId) > 0) + if (dictDataMapper.countDictDataByType(dict.getDictType()) > 0) { dictDataMapper.updateDictDataOrganizationByDictType(dict.getDictType(), - dict.getOrganizationId(), dict.getOrganizationName(), dict.getTopOrganizationId(), - oldTypeOrgId); + dict.getOrganizationId(), dict.getOrganizationName(), dict.getTopOrganizationId()); } - DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(oldDict.getDictType(), oldTypeOrgId)); - DictUtils.removeDictCache(DictUtils.dictTypeOrgCacheKey(dict.getDictType(), dict.getOrganizationId())); - DictUtils.removeDictCache(oldDict.getDictType()); - DictUtils.removeDictCache(dict.getDictType()); SysDictData dictData = new SysDictData(); dictData.setDictType(dict.getDictType()); - Long newOrgId = dict.getOrganizationId() != null ? dict.getOrganizationId() : 0L; - dictData.setOrganizationId(newOrgId); List dictDatas = dictDataMapper.selectDictDataByType(dictData); - DictUtils.setDictCache(DictUtils.dictTypeOrgCacheKey(dict.getDictType(), newOrgId), dictDatas); + DictUtils.setDictCache(dict.getDictType(), dictDatas); } return row; } @@ -270,4 +246,69 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService } return UserConstants.UNIQUE; } + + /** + * 修改字典类型时,请求体常不带 organizationName;若与库中或当前登录用户组织一致则补全,避免 UPDATE 把名称写成 null。 + */ + private void mergeDictTypeOrganizationNameForUpdate(SysDictType dict, SysDictType oldDict) + { + if (dict == null || oldDict == null || StringUtils.isNotEmpty(dict.getOrganizationName())) + { + return; + } + if (dict.getOrganizationId() == null) + { + return; + } + if (Objects.equals(dict.getOrganizationId(), oldDict.getOrganizationId()) + && StringUtils.isNotEmpty(oldDict.getOrganizationName())) + { + dict.setOrganizationName(oldDict.getOrganizationName()); + return; + } + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null && loginUser.getUserPo() != null + && Objects.equals(dict.getOrganizationId(), loginUser.getUserPo().getOrganizationId()) + && StringUtils.isNotEmpty(loginUser.getUserPo().getOrganizationName())) + { + dict.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + } + fillOrganizationNameFromProductCenter(dict); + if (dict.getOrganizationId() != null && StringUtils.isEmpty(dict.getOrganizationName())) + { + dict.setOrganizationName(""); + } + } + + /** + * 已存在 organizationId 但名称为空时,从产品中心按组织 id 补全名称(与 BasicAgreement 等模块一致)。 + */ + private void fillOrganizationNameFromProductCenter(SysDictType dict) + { + if (dict == null || dict.getOrganizationId() == null || StringUtils.isNotEmpty(dict.getOrganizationName())) + { + return; + } + Long oid = dict.getOrganizationId(); + if (oid == 0L) + { + return; + } + try + { + AjaxResult res = productServiceFeign.getOrganizationInfo(oid); + if (res != null && "200".equals(String.valueOf(res.get("code"))) && res.get("data") != null) + { + OrganizationPo po = JSONObject.parseObject(JSONObject.toJSONString(res.get("data")), OrganizationPo.class); + if (po != null && StringUtils.isNotEmpty(po.getOrganizationName())) + { + dict.setOrganizationName(po.getOrganizationName()); + } + } + } + catch (Exception ignored) + { + // 远程不可用时保持后续逻辑(如置空字符串以便 UPDATE 写入列) + } + } } diff --git a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml index c0ba266f3..daae13bd7 100644 --- a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -58,9 +58,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and (top_organization_id = #{topOrganizationId} OR is_default = 'Y') - - and (IFNULL(organization_id, 0) = #{organizationId} OR is_default = 'Y') - order by dict_sort asc @@ -76,9 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -113,10 +108,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where dict_code = #{dictCode} - - update sys_dict_data set dict_type = #{newDictType} - where dict_type = #{oldDictType} - and IFNULL(organization_id, 0) = IFNULL(#{organizationId}, 0) + + update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType} @@ -126,7 +119,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" top_organization_id = #{topOrganizationId}, update_time = sysdate() where dict_type = #{dictType} - and IFNULL(organization_id, 0) = IFNULL(#{scopeOrganizationId}, 0) diff --git a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml index e55ad2b78..bee4a97d0 100644 --- a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml +++ b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml @@ -64,14 +64,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -109,7 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status, remark, organization_id, - organization_name, + organization_name, top_organization_id, create_by, create_time @@ -119,7 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{status}, #{remark}, #{organizationId}, - #{organizationName}, + #{organizationName}, #{topOrganizationId}, #{createBy}, sysdate() From 3c2447e917271bb3b594ecb5b5d386a5ad08f798 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 15:55:57 +0800 Subject: [PATCH 118/418] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E8=BF=90=E8=BE=93?= =?UTF-8?q?=E5=8D=95=E7=89=A9=E6=96=99=20=E6=B7=BB=E5=8A=A0=E7=89=A9?= =?UTF-8?q?=E6=96=99id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/BusinessDocumentCargoMulti.java | 3 +++ .../service/BusinessDocumentOrderDomainService.java | 1 + .../BusinessDocumentCargoMultiDTO.java | 3 +++ 3 files changed, 7 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/entity/BusinessDocumentCargoMulti.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/entity/BusinessDocumentCargoMulti.java index 849033891..78c3e9527 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/entity/BusinessDocumentCargoMulti.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/entity/BusinessDocumentCargoMulti.java @@ -96,6 +96,9 @@ public class BusinessDocumentCargoMulti extends BaseVOEntity{ @ApiModelProperty("") private String materialCode; + @ApiModelProperty("物料id") + private Long materialId; + @ApiModelProperty("$column.columnComment") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") private String orderId; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java index 2d5308f99..777988b2f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java @@ -640,6 +640,7 @@ public class BusinessDocumentOrderDomainService { tmsCargoInfo.setCargoWeight(tmsCargoInfoDTO.getWeight()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getWeight()); tmsCargoInfo.setCargoNum(tmsCargoInfoDTO.getCargoNum()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getCargoNum()); tmsCargoInfo.setMaterialVolume(tmsCargoInfoDTO.getMaterialVolume()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getMaterialVolume()); + tmsCargoInfo.setMaterialId(tmsCargoInfoDTO.getMaterialId()); businessDocumentCargoMultiMapper.insert(tmsCargoInfo); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentCargoMulti/BusinessDocumentCargoMultiDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentCargoMulti/BusinessDocumentCargoMultiDTO.java index 168c2f5ab..aa2424b7e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentCargoMulti/BusinessDocumentCargoMultiDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentCargoMulti/BusinessDocumentCargoMultiDTO.java @@ -99,6 +99,9 @@ public class BusinessDocumentCargoMultiDTO extends BaseVOEntity{ @ApiModelProperty("") private String materialCode; + @ApiModelProperty("物料id") + private Long materialId; + @ApiModelProperty("体积") private BigDecimal materialVolume; From 73c1cb999f3434a4a87c4e16f7a72e9de31cceba Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 15:56:33 +0800 Subject: [PATCH 119/418] sql --- sql/oms20260513.sql | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sql/oms20260513.sql b/sql/oms20260513.sql index 6892fd2bf..1410e104c 100644 --- a/sql/oms20260513.sql +++ b/sql/oms20260513.sql @@ -31,4 +31,11 @@ alter table NGWL_TEST_USER.USER_SHIPPER add PUSH_BY_NAME varchar(100); comment -on column NGWL_TEST_USER.USER_SHIPPER.PUSH_BY_NAME is '推送人姓名'; \ No newline at end of file +on column NGWL_TEST_USER.USER_SHIPPER.PUSH_BY_NAME is '推送人姓名'; + + +alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_CARGO_MULTI + add MATERIAL_ID BIGINT; + +comment +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_CARGO_MULTI.MATERIAL_ID is '物料id'; \ No newline at end of file From 7e2d1d14a4aea788ecff0f62432521a9636214c0 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 16:04:53 +0800 Subject: [PATCH 120/418] =?UTF-8?q?sql=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/oms20260513.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/oms20260513.sql b/sql/oms20260513.sql index 1410e104c..890df7c35 100644 --- a/sql/oms20260513.sql +++ b/sql/oms20260513.sql @@ -35,7 +35,7 @@ on column NGWL_TEST_USER.USER_SHIPPER.PUSH_BY_NAME is '推送人姓名'; alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_CARGO_MULTI - add MATERIAL_ID BIGINT; + add MATERIAL_BASE_INFO_ID BIGINT; comment -on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_CARGO_MULTI.MATERIAL_ID is '物料id'; \ No newline at end of file +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_CARGO_MULTI.MATERIAL_BASE_INFO_ID is '物料id'; \ No newline at end of file From 0ee57f985891f4a9d828c33274af0348a8fddab9 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 16:10:34 +0800 Subject: [PATCH 121/418] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E8=BF=90=E8=BE=93?= =?UTF-8?q?=E5=8D=95=E7=89=A9=E6=96=99=20=E6=B7=BB=E5=8A=A0=E7=89=A9?= =?UTF-8?q?=E6=96=99id=EF=BC=88=E4=BF=AE=E6=94=B9=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/BusinessDocumentCargoMulti.java | 2 +- .../service/BusinessDocumentOrderDomainService.java | 2 +- .../BusinessDocumentCargoMultiDTO.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/entity/BusinessDocumentCargoMulti.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/entity/BusinessDocumentCargoMulti.java index 78c3e9527..22880a0b9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/entity/BusinessDocumentCargoMulti.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/entity/BusinessDocumentCargoMulti.java @@ -97,7 +97,7 @@ public class BusinessDocumentCargoMulti extends BaseVOEntity{ private String materialCode; @ApiModelProperty("物料id") - private Long materialId; + private Long materialBaseInfoId; @ApiModelProperty("$column.columnComment") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java index 777988b2f..94a8f67f2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java @@ -640,7 +640,7 @@ public class BusinessDocumentOrderDomainService { tmsCargoInfo.setCargoWeight(tmsCargoInfoDTO.getWeight()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getWeight()); tmsCargoInfo.setCargoNum(tmsCargoInfoDTO.getCargoNum()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getCargoNum()); tmsCargoInfo.setMaterialVolume(tmsCargoInfoDTO.getMaterialVolume()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getMaterialVolume()); - tmsCargoInfo.setMaterialId(tmsCargoInfoDTO.getMaterialId()); + tmsCargoInfo.setMaterialBaseInfoId(tmsCargoInfoDTO.getMaterialBaseInfoId()); businessDocumentCargoMultiMapper.insert(tmsCargoInfo); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentCargoMulti/BusinessDocumentCargoMultiDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentCargoMulti/BusinessDocumentCargoMultiDTO.java index aa2424b7e..d9f04a307 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentCargoMulti/BusinessDocumentCargoMultiDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentCargoMulti/BusinessDocumentCargoMultiDTO.java @@ -100,7 +100,7 @@ public class BusinessDocumentCargoMultiDTO extends BaseVOEntity{ private String materialCode; @ApiModelProperty("物料id") - private Long materialId; + private Long materialBaseInfoId; @ApiModelProperty("体积") private BigDecimal materialVolume; From 13caa831890fe6dd9cfd7224be3a548160c5e5f2 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 16:36:22 +0800 Subject: [PATCH 122/418] =?UTF-8?q?=E7=89=A9=E6=96=99=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=A7=A3=E5=86=B3total=E9=97=AE=E9=A2=98=20=20=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E5=85=B6=E4=BB=96=E9=A1=B5=E9=9D=A2=E6=98=AF=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E4=BA=BA=E5=90=8D=E7=A7=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/WmsServiceFeign.java | 3 +- .../system/api/domain/MaterialInfoDTO.java | 5 + .../api/factory/RemoteWmsFallbackFactory.java | 10 +- .../MaterialInfoApplicationService.java | 20 +-- .../repository/po/ErpCountryPO.java | 3 + .../repository/po/ErpEnterpriseUnitPO.java | 5 +- .../OriginalImportExportDocumentApi.java | 133 ++++++++++++------ .../BusinessDocumentOrderMapper.xml | 2 +- .../materialBaseInfo/MaterialBaseInfoApi.java | 4 +- 9 files changed, 129 insertions(+), 56 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 6bf07107d..70dd16a19 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -2,6 +2,7 @@ package com.mhd.system.api; import com.mhd.common.core.constant.ServiceNameConstants; import com.mhd.common.core.web.domain.AjaxResult; +import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.system.api.domain.*; import com.mhd.system.api.factory.RemoteWmsFallbackFactory; import com.mhd.system.api.feign.FeignAutoConfiguration; @@ -98,7 +99,7 @@ public interface WmsServiceFeign { @ApiOperation("oms查询物料列表") @GetMapping("/materialBaseInfoApi/queryList") - public AjaxResult getMaterialBaseInfoList(MaterialInfoDTO materialInfoDTO); + public TableDataInfo getMaterialBaseInfoList(MaterialInfoDTO materialInfoDTO); @ApiOperation("oms物料列表推送-更新推送信息") @PostMapping("/materialBaseInfoApi/updatePushStatus") diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialInfoDTO.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialInfoDTO.java index c27259590..165951f86 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialInfoDTO.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialInfoDTO.java @@ -48,5 +48,10 @@ public class MaterialInfoDTO { @ApiModelProperty("推送时间止") private String pushTimeEnd; + @ApiModelProperty(value = "页码") + private Integer pageNum = 1; + + @ApiModelProperty(value = "每页数量") + private Integer pageSize = 10; } diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java index 763cad26f..cd085eca7 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java @@ -2,6 +2,7 @@ package com.mhd.system.api.factory; import com.mhd.common.core.domain.entity.R; import com.mhd.common.core.web.domain.AjaxResult; +import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.system.api.WlhyServiceFeign; import com.mhd.system.api.WmsServiceFeign; import com.mhd.system.api.domain.*; @@ -11,6 +12,7 @@ import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.PathVariable; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -71,8 +73,12 @@ public class RemoteWmsFallbackFactory implements FallbackFactory()); + tableDataInfo.setTotal(0); + tableDataInfo.setCode(500); + return tableDataInfo; } @Override diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java index 81f50e552..e1b766c18 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java @@ -45,19 +45,21 @@ public class MaterialInfoApplicationService { } public TableDataInfo queryList(MaterialInfoDTO materialInfoDTO) { - AjaxResult ajaxResult = wmsServiceFeign.getMaterialBaseInfoList(materialInfoDTO); - if(ajaxResult != null && "200".equals(String.valueOf(ajaxResult.get("code")))){ - List data = (List) ajaxResult.get("data"); + try { + + TableDataInfo wmsTableDataInfo = wmsServiceFeign.getMaterialBaseInfoList(materialInfoDTO); + TableDataInfo tableDataInfo = new TableDataInfo(); - tableDataInfo.setData(data); + tableDataInfo.setData(wmsTableDataInfo.getData()); + tableDataInfo.setTotal(wmsTableDataInfo.getTotal()); tableDataInfo.setCode(200); - tableDataInfo.setTotal(data.size()); + return tableDataInfo; + } catch (Exception e) { + log.error("查询物料列表异常: {}", e.getMessage()); + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setCode(500); return tableDataInfo; } - TableDataInfo tableDataInfo = new TableDataInfo(); - tableDataInfo.setCode(500); - tableDataInfo.setMsg("查询失败"); - return tableDataInfo; } public AjaxResult batchPush(List dtoList) { diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/po/ErpCountryPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/po/ErpCountryPO.java index 7ef930c85..fc727789e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/po/ErpCountryPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpCountry/repository/po/ErpCountryPO.java @@ -33,6 +33,9 @@ public class ErpCountryPO { @ApiModelProperty("推送人") private Long pushBy; + @ApiModelProperty("推送人") + private String pushByName; + @ApiModelProperty("所属组织ID") private Long organizationId; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/po/ErpEnterpriseUnitPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/po/ErpEnterpriseUnitPO.java index 65909bd05..4e4777828 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/po/ErpEnterpriseUnitPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/po/ErpEnterpriseUnitPO.java @@ -34,7 +34,10 @@ public class ErpEnterpriseUnitPO extends BaseVOEntity { private Date pushTime; @ApiModelProperty(value = "推送人") - private String pushBy; + private Long pushBy; + + @ApiModelProperty(value = "推送人") + private String pushByName; @ApiModelProperty(value = "所属组织ID") private Long organizationId; diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java index ca277e987..9e35bbbcb 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java @@ -1,6 +1,7 @@ package com.mhd.oms.interfaces.facade.originalImportExportDocument; +import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.mhd.common.core.utils.StringUtils; import com.mhd.common.core.web.controller.BaseController; @@ -23,8 +24,10 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Api(tags = "进出口原始单证") @RestController @@ -43,26 +46,27 @@ public class OriginalImportExportDocumentApi extends BaseController { @ApiOperation("进出口原始单证查询列表") @GetMapping("/list") public TableDataInfo list(BusinessDocumentOrderDTO businessDocumentOrderDTO, - @RequestParam(value = "pageNo",required = false , defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize",required = false , defaultValue = "10") Integer pageSize){ + @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) { BusinessDocumentOrderDO businessDocumentOrderDO = businessDocumentOrderAssembler.toDO(businessDocumentOrderDTO); - PageHelper.startPage(pageNo,pageSize); + PageHelper.startPage(pageNo, pageSize); List orderList = businessDocumentOrderApplicationService.queryListAndMaterial(businessDocumentOrderDO); + Page page = (Page) orderList; List resultList = convertToOrderWithMaterialList(orderList); fillMaterialInfo(resultList); TableDataInfo tableDataInfo = new TableDataInfo(); tableDataInfo.setData(resultList); - tableDataInfo.setTotal(resultList.size()); + tableDataInfo.setTotal(page.getTotal()); tableDataInfo.setCode(200); return tableDataInfo; } @ApiOperation("删改单申请") @PostMapping("/reviseApply") - public AjaxResult reviseApply(@RequestParam BusinessDocumentOrderDTO businessDocumentOrderDTO){ + public AjaxResult reviseApply(@RequestParam BusinessDocumentOrderDTO businessDocumentOrderDTO) { businessDocumentOrderApplicationService.reviseApply(businessDocumentOrderDTO); @@ -81,20 +85,13 @@ public class OriginalImportExportDocumentApi extends BaseController { } - - - - - - - - private List convertToOrderWithMaterialList(List orderList){ + private List convertToOrderWithMaterialList(List orderList) { List resultList = new ArrayList<>(); - for(BusinessDocumentOrderPO order:orderList){ + for (BusinessDocumentOrderPO order : orderList) { OrderWithMaterialDTO orderWithMaterialDTO = new OrderWithMaterialDTO(); orderWithMaterialDTO.setMaterialCode(order.getMaterialCode()); orderWithMaterialDTO.setIeType(order.getIeType()); - BeanUtils.copyProperties(order,orderWithMaterialDTO); + BeanUtils.copyProperties(order, orderWithMaterialDTO); resultList.add(orderWithMaterialDTO); } @@ -106,40 +103,94 @@ public class OriginalImportExportDocumentApi extends BaseController { * 根据materialCode查询,获取goodsType、grossWeight等字段 */ private void fillMaterialInfo(List resultList) { - for (OrderWithMaterialDTO dto : resultList) { - // 只查询有物料编码的订单 - if (StringUtils.hasText(dto.getMaterialCode())) { - try { - // 构建查询参数 - MaterialInfoDTO queryDTO = new MaterialInfoDTO(); - queryDTO.setMaterialCode(dto.getMaterialCode()); - // 调用WMS接口查询物料详情 - AjaxResult ajaxResult = wmsServiceFeign.getMaterialBaseInfoList(queryDTO); + List materialCodeList = resultList.stream() + .map(OrderWithMaterialDTO::getMaterialCode) + .filter(StringUtils::hasText) + .distinct() + .collect(Collectors.toList()); - // 判断返回是否成功 - if ("200".equals(String.valueOf(ajaxResult.get("code")))) { - List materialList = (List) ajaxResult.get("data"); - if (materialList != null && !materialList.isEmpty()) { - // 取第一条物料记录 - Map materialMap = (Map) materialList.get(0); + if (materialCodeList.isEmpty()) { + return; + } - // 从WMS返回的Map中取值,填充到DTO - dto.setMaterialName((String) materialMap.get("materialName")); // 物料名称 - dto.setGoodsType((Integer) materialMap.get("goodsType")); // 货物类型 - dto.setGrossWeight((java.math.BigDecimal) materialMap.get("grossWeight")); // 毛重 - dto.setDeclarationUnit((String) materialMap.get("declarationUnit")); // 申报单位 - dto.setOriginCountry((String) materialMap.get("originCountry")); // 原产国 - dto.setUnitPrice((BigDecimal) materialMap.get("unitPrice")); //单价 - dto.setWeightLimit((BigDecimal) materialMap.get("weightLimit")); //净重 + // 2. 批量查询物料信息(一次查询所有物料) + try { + MaterialInfoDTO queryDTO = new MaterialInfoDTO(); + // 传入物料编码列表(逗号分隔或用其他方式) + queryDTO.setMaterialCode(String.join(",", materialCodeList)); + + TableDataInfo tableDataInfo = wmsServiceFeign.getMaterialBaseInfoList(queryDTO); + + if (tableDataInfo != null && tableDataInfo.getCode() == 200) { + List materialList = tableDataInfo.getData(); + + // 3. 把物料列表转成 Map(key = materialCode) + Map> materialMap = new HashMap<>(); + for (Object material : materialList) { + Map m = (Map) material; + String code = (String) m.get("materialCode"); + materialMap.put(code, m); + } + + // 4. 遍历订单,匹配物料信息 + for (OrderWithMaterialDTO dto : resultList) { + if (StringUtils.hasText(dto.getMaterialCode())) { + Map material = materialMap.get(dto.getMaterialCode()); + if (material != null) { + dto.setMaterialName((String) material.get("materialName")); + dto.setGoodsType((Integer) material.get("goodsType")); + dto.setGrossWeight((BigDecimal) material.get("grossWeight")); + dto.setDeclarationUnit((String) material.get("declarationUnit")); + dto.setOriginCountry((String) material.get("originCountry")); + dto.setUnitPrice((BigDecimal) material.get("unitPrice")); + dto.setWeightLimit((BigDecimal) material.get("weightLimit")); } } - } catch (Exception e) { - // 查询失败不影响主流程,打印日志 - e.printStackTrace(); } } + } catch (Exception e) { + // 查询失败不影响主流程 + e.printStackTrace(); } } +// for (OrderWithMaterialDTO dto : resultList) { +// // 只查询有物料编码的订单 +// if (StringUtils.hasText(dto.getMaterialCode())) { +// try { +// // 构建查询参数 +// MaterialInfoDTO queryDTO = new MaterialInfoDTO(); +// queryDTO.setMaterialCode(dto.getMaterialCode()); +// +// // 调用WMS接口查询物料详情 +// AjaxResult ajaxResult = wmsServiceFeign.getMaterialBaseInfoList(queryDTO); +// +// // 判断返回是否成功 +// if ("200".equals(String.valueOf(ajaxResult.get("code")))) { +// List materialList = (List) ajaxResult.get("data"); +// if (materialList != null && !materialList.isEmpty()) { +// // 取第一条物料记录 +// Map materialMap = (Map) materialList.get(0); +// +// // 从WMS返回的Map中取值,填充到DTO +// dto.setMaterialName((String) materialMap.get("materialName")); // 物料名称 +// dto.setGoodsType((Integer) materialMap.get("goodsType")); // 货物类型 +// dto.setGrossWeight((java.math.BigDecimal) materialMap.get("grossWeight")); // 毛重 +// dto.setDeclarationUnit((String) materialMap.get("declarationUnit")); // 申报单位 +// dto.setOriginCountry((String) materialMap.get("originCountry")); // 原产国 +// dto.setUnitPrice((BigDecimal) materialMap.get("unitPrice")); //单价 +// dto.setWeightLimit((BigDecimal) materialMap.get("weightLimit")); //净重 +// } +// } +// } catch (Exception e) { +// // 查询失败不影响主流程,打印日志 +// e.printStackTrace(); +// } +// } +// +// } + //} + + } diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index 4018b88dc..6db63b3cb 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -692,7 +692,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select SALESPERSON_NC_CODE from NGWL_TEST_USER."USER" where USER_ID = #{salesmanCodeNc} select * from "NGWL_TEST_WMS".MATERIAL_BASE_INFO where MATERIAL_BASE_INFO_ID = #{id} + + diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java index c6c67e6ca..b866af172 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/persistence/MaterialInventoryImpl.java @@ -776,7 +776,7 @@ public class MaterialInventoryImpl extends ServiceImpl Date: Thu, 14 May 2026 18:45:13 +0800 Subject: [PATCH 126/418] =?UTF-8?q?=E8=BF=9B=E5=87=BA=E5=8F=A3=E5=8D=95?= =?UTF-8?q?=E8=AF=81=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../po/BusinessDocumentOrderPO.java | 3 + .../OrderWithMaterialDTO.java | 12 ++ .../OriginalImportExportDocumentApi.java | 120 +++++++++++++++--- .../BusinessDocumentOrderMapper.xml | 3 +- 4 files changed, 121 insertions(+), 17 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java index 0996772dc..c10383fda 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java @@ -797,4 +797,7 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{ @ApiModelProperty("物料编码") private String materialCode; + @ApiModelProperty("商品类型") + private Long productType; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/originalImportExportDocument/OrderWithMaterialDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/originalImportExportDocument/OrderWithMaterialDTO.java index bb4801f09..4a094af1e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/originalImportExportDocument/OrderWithMaterialDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/originalImportExportDocument/OrderWithMaterialDTO.java @@ -9,6 +9,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; +import java.util.List; @Data public class OrderWithMaterialDTO { @@ -804,4 +805,15 @@ public class OrderWithMaterialDTO { @ApiModelProperty("推送人姓名") private String pushByName; + @ApiModelProperty("物料id") + private Long materialBaseInfoId; + + @ApiModelProperty("商品类型/货物类型(0料件,1半成品,2成品)") + private Integer productType; + + @ApiModelProperty("物料ID列表") + private List materialBaseInfoIdList; + + @ApiModelProperty("商品类型列表") + private List productTypeList; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java index 9e35bbbcb..d87976e65 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java @@ -1,6 +1,7 @@ package com.mhd.oms.interfaces.facade.originalImportExportDocument; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.mhd.common.core.utils.StringUtils; @@ -8,6 +9,8 @@ import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.application.service.businessDocumentOrder.BusinessDocumentOrderApplicationService; +import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti; +import com.mhd.oms.domain.businessDocumentCargoMulti.repository.mapper.BusinessDocumentCargoMultiMapper; import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO; import com.mhd.oms.interfaces.assembler.businessDocumentOrder.BusinessDocumentOrderAssembler; @@ -23,10 +26,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Api(tags = "进出口原始单证") @@ -34,6 +34,9 @@ import java.util.stream.Collectors; @RequestMapping("/OriginalImportExportDocumentApi") public class OriginalImportExportDocumentApi extends BaseController { + @Resource + BusinessDocumentCargoMultiMapper businessDocumentCargoMultiMapper; + @Resource private BusinessDocumentOrderApplicationService businessDocumentOrderApplicationService; @@ -85,18 +88,18 @@ public class OriginalImportExportDocumentApi extends BaseController { } - private List convertToOrderWithMaterialList(List orderList) { - List resultList = new ArrayList<>(); - for (BusinessDocumentOrderPO order : orderList) { - OrderWithMaterialDTO orderWithMaterialDTO = new OrderWithMaterialDTO(); - orderWithMaterialDTO.setMaterialCode(order.getMaterialCode()); - orderWithMaterialDTO.setIeType(order.getIeType()); - BeanUtils.copyProperties(order, orderWithMaterialDTO); - resultList.add(orderWithMaterialDTO); - } - - return resultList; - } +// private List convertToOrderWithMaterialList(List orderList) { +// List resultList = new ArrayList<>(); +// for (BusinessDocumentOrderPO order : orderList) { +// OrderWithMaterialDTO orderWithMaterialDTO = new OrderWithMaterialDTO(); +// orderWithMaterialDTO.setMaterialCode(order.getMaterialCode()); +// orderWithMaterialDTO.setIeType(order.getIeType()); +// BeanUtils.copyProperties(order, orderWithMaterialDTO); +// resultList.add(orderWithMaterialDTO); +// } +// +// return resultList; +// } /** * 调用WMS接口获取物料详细信息 @@ -193,4 +196,89 @@ public class OriginalImportExportDocumentApi extends BaseController { //} + + @ApiOperation("进出口原始单证查询列表") + @GetMapping("/list1") + public TableDataInfo list1(BusinessDocumentOrderDTO businessDocumentOrderDTO, + @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) { + BusinessDocumentOrderDO businessDocumentOrderDO = businessDocumentOrderAssembler.toDO(businessDocumentOrderDTO); + PageHelper.startPage(pageNo, pageSize); + List orderList = businessDocumentOrderApplicationService.queryListAndMaterial(businessDocumentOrderDO); + + // ✅ 批量查询货物列表并设置到订单 + fillCargoInfo(orderList); + + // ✅ 获取分页信息 + Page page = (Page) orderList; + + List resultList = convertToOrderWithMaterialList(orderList); + + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setData(resultList); + tableDataInfo.setTotal(page.getTotal()); + tableDataInfo.setCode(200); + return tableDataInfo; + } + + + private void fillCargoInfo(List orderList) { + if (orderList == null || orderList.isEmpty()) { + return; + } + + // 1. 收集所有订单ID + List orderIds = orderList.stream() + .map(BusinessDocumentOrderPO::getId) + .distinct() + .collect(Collectors.toList()); + + // 2. 批量查询货物列表 + List allCargoList = businessDocumentCargoMultiMapper.selectList( + new LambdaQueryWrapper() + .in(BusinessDocumentCargoMulti::getOrderId, orderIds) + ); + + // 3. 按订单ID分组 + Map> cargoMap = allCargoList.stream() + .collect(Collectors.groupingBy(c -> Long.valueOf(c.getOrderId()))); + + // 4. 设置到每个订单 + for (BusinessDocumentOrderPO order : orderList) { + order.setBusinessDocumentCargoMultiList(cargoMap.get(order.getId())); + } + } + + private List convertToOrderWithMaterialList(List orderList) { + List resultList = new ArrayList<>(); + for (BusinessDocumentOrderPO order : orderList) { + OrderWithMaterialDTO dto = new OrderWithMaterialDTO(); + BeanUtils.copyProperties(order, dto); + + // 设置货物列表信息(多个物料ID) + List cargoList = order.getBusinessDocumentCargoMultiList(); + if (cargoList != null && !cargoList.isEmpty()) { + // 物料ID列表 + List materialIdList = cargoList.stream() + .map(BusinessDocumentCargoMulti::getMaterialBaseInfoId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + dto.setMaterialBaseInfoIdList(materialIdList); + + // 商品类型列表 + List productTypeList = cargoList.stream() + .map(BusinessDocumentCargoMulti::getProductType) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + dto.setProductTypeList(productTypeList); + + // 取第一个货物的物料编码作为主显示 + dto.setMaterialCode(cargoList.get(0).getMaterialCode()); + } + + resultList.add(dto); + } + return resultList; + } + } diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index 6db63b3cb..77c4fec1e 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -174,6 +174,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -692,7 +693,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select SALESPERSON_NC_CODE from NGWL_TEST_USER."USER" where USER_ID = #{salesmanCodeNc} + + + + + \ No newline at end of file From 98a1eb49c63041035ee3e6c0937c82a1c48913a9 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 19:33:17 +0800 Subject: [PATCH 129/418] =?UTF-8?q?=E7=89=A9=E6=96=99=E6=8E=A8=E9=80=81=20?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mhd/system/api/WmsServiceFeign.java | 3 ++- .../api/factory/RemoteWmsFallbackFactory.java | 2 +- .../MaterialInfoApplicationService.java | 13 +++++++------ .../MaterialBaseInfoApplicationService.java | 3 ++- .../materialBaseInfo/entity/MaterialBaseInfo.java | 3 +++ .../repository/po/MaterialBaseInfoPO.java | 3 +++ .../dto/materialBaseInfo/MaterialBaseInfoDTO.java | 3 +++ .../materialBaseInfo/MaterialBaseInfoApi.java | 5 +++-- 8 files changed, 24 insertions(+), 11 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 70dd16a19..48fa38331 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -106,5 +106,6 @@ public interface WmsServiceFeign { public AjaxResult updateMaterialPushStatus(@RequestParam("materialBaseInfoId") Long materialBaseInfoId, @RequestParam("pushStatus") Integer pushStatus, @RequestParam(value = "pushTime",required = false) String pushTime, - @RequestParam(value = "pushBy",required = false) Long pushBy); + @RequestParam(value = "pushBy",required = false) Long pushBy, + @RequestParam(value = "pushByName",required = false) String pushByName); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java index cd085eca7..5b0cb292e 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java @@ -82,7 +82,7 @@ public class RemoteWmsFallbackFactory implements FallbackFactory updateMaterialPushStatus(Long materialBaseInfoId, Integer pushStatus, String pushTime, Long pushBy) { + public AjaxResult updateMaterialPushStatus(Long materialBaseInfoId, Integer pushStatus, String pushTime, Long pushBy, String pushByName) { return AjaxResult.error(cause.getMessage()); } }; diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java index e1b766c18..e5b650fd5 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java @@ -69,6 +69,7 @@ public class MaterialInfoApplicationService { LoginUser loginUser = SecurityUtils.getLoginUser(); Long pushBy = loginUser != null ? loginUser.getUserid() : null; + String pushByName = loginUser != null ? loginUser.getUsername() : null; Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; @@ -110,7 +111,7 @@ public class MaterialInfoApplicationService { gwLog.setDelFlag(1); gwLogMapper.insert(gwLog); - updatePushStatus(dto.getMaterialBaseInfoId(), 2, new Date(), pushBy); + updatePushStatus(dto.getMaterialBaseInfoId(), 2, new Date(), pushBy,pushByName); CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); @@ -126,12 +127,12 @@ public class MaterialInfoApplicationService { if (response.getStatusLine().getStatusCode() == 200) { gwLog.setStatus(2); - updatePushStatus(dto.getMaterialBaseInfoId(), 3, new Date(), pushBy); + updatePushStatus(dto.getMaterialBaseInfoId(), 3, new Date(), pushBy, pushByName); successCount++; } else { gwLog.setStatus(3); gwLog.setErrorMsg(responseString); - updatePushStatus(dto.getMaterialBaseInfoId(), 4, new Date(), pushBy); + updatePushStatus(dto.getMaterialBaseInfoId(), 4, new Date(), pushBy, pushByName); failCount++; failMsg.append("materialCode:").append(dto.getMaterialCode()).append("失败;"); } @@ -141,7 +142,7 @@ public class MaterialInfoApplicationService { gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); gwLogMapper.updateById(gwLog); - updatePushStatus(dto.getMaterialBaseInfoId(), 4, new Date(), pushBy); + updatePushStatus(dto.getMaterialBaseInfoId(), 4, new Date(), pushBy, pushByName); failCount++; failMsg.append("materialCode:").append(dto.getMaterialCode()).append("异常:").append(e.getMessage()).append(";"); log.error("物料推送异常: id={}, error={}", dto.getMaterialBaseInfoId(), e.getMessage()); @@ -161,10 +162,10 @@ public class MaterialInfoApplicationService { return AjaxResult.success(resultMsg); } - private void updatePushStatus(Long materialBaseInfoId, Integer pushStatus, Date pushTime, Long pushBy) { + private void updatePushStatus(Long materialBaseInfoId, Integer pushStatus, Date pushTime, Long pushBy, String pushByName) { try { String pushTimeStr = pushTime != null ? DateUtil.format(pushTime, "yyyy-MM-dd HH:mm:ss") : null; - wmsServiceFeign.updateMaterialPushStatus(materialBaseInfoId, pushStatus, pushTimeStr, pushBy); + wmsServiceFeign.updateMaterialPushStatus(materialBaseInfoId, pushStatus, pushTimeStr, pushBy, pushByName); log.info("更新返回结果: materialBaseInfoId={}", materialBaseInfoId); } catch (Exception e) { log.info("更新推送状态失败: materialBaseInfoId={}, error={}", materialBaseInfoId, e.getMessage()); diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java index 77f93cd84..53f5a8de6 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java @@ -1153,12 +1153,13 @@ public class MaterialBaseInfoApplicationService { return orgCandidates; } - public int updatePushStatus(Long materialBaseInfoId, Integer pushStatus, Date pushTimeDate, Long pushBy) { + public int updatePushStatus(Long materialBaseInfoId, Integer pushStatus, Date pushTimeDate, Long pushBy, String pushByName) { MaterialBaseInfo materialBaseInfo = new MaterialBaseInfo(); materialBaseInfo.setMaterialBaseInfoId(materialBaseInfoId); materialBaseInfo.setPushStatus(pushStatus); materialBaseInfo.setPushTime(pushTimeDate); materialBaseInfo.setPushBy(pushBy); + materialBaseInfo.setPushByName(pushByName); return materialBaseInfoMapper.updateById(materialBaseInfo); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java index 0acb506a9..9e470bc5b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java @@ -220,6 +220,9 @@ public class MaterialBaseInfo extends BaseVOEntity { @ApiModelProperty(name = "推送人") private Long pushBy; + @ApiModelProperty(name = "推送人名称") + private String pushByName; + @ApiModelProperty("毛重(kg)") @Excel(name = "毛重(kg)") private BigDecimal grossWeight; diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java index bc6c3adbd..448ea452e 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java @@ -272,4 +272,7 @@ public class MaterialBaseInfoPO extends BaseVOEntity { @ApiModelProperty("推送人") private Long pushBy; + @ApiModelProperty(name = "推送人名称") + private String pushByName; + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java index b5505a50a..8a6fa978d 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java @@ -293,4 +293,7 @@ public class MaterialBaseInfoDTO extends BaseVOEntity { @ApiModelProperty("更新时间止") private String updateTimeEnd; + + @ApiModelProperty(name = "推送人名称") + private String pushByName; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java index 9e9778acf..3cac82a3f 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java @@ -118,12 +118,13 @@ public class MaterialBaseInfoApi extends BaseController { public AjaxResult updateMaterialPushStatus(@RequestParam("materialBaseInfoId") Long materialBaseInfoId, @RequestParam("pushStatus") Integer pushStatus, @RequestParam(value = "pushTime",required = false) String pushTime, - @RequestParam(value = "pushBy",required = false) Long pushBy){ + @RequestParam(value = "pushBy",required = false) Long pushBy, + @RequestParam(value = "pushByName",required = false) String pushByName){ Date pushTimeDate = null; if (StringUtils.isNotBlank(pushTime)) { pushTimeDate = DateUtil.parse(pushTime); } - return toAjax(materialBaseInfoApplicationService.updatePushStatus(materialBaseInfoId, pushStatus, pushTimeDate, pushBy)); + return toAjax(materialBaseInfoApplicationService.updatePushStatus(materialBaseInfoId, pushStatus, pushTimeDate, pushBy, pushByName)); } @ApiOperation("查询物料基础信息列表") From d11bd2226c89747f83509766c499f203d641b98b Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 19:34:05 +0800 Subject: [PATCH 130/418] =?UTF-8?q?sql=E6=8E=A8=E9=80=81=E4=BA=BA=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/oms20260513.sql | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sql/oms20260513.sql b/sql/oms20260513.sql index 56d1315b0..67da4da20 100644 --- a/sql/oms20260513.sql +++ b/sql/oms20260513.sql @@ -44,4 +44,11 @@ alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_CARGO_MULTI add PRODUCT_TYPE BIGINT; comment -on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_CARGO_MULTI.PRODUCT_TYPE is '商品类型/货物类型(0料件,1半成品,2成品)'; \ No newline at end of file +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_CARGO_MULTI.PRODUCT_TYPE is '商品类型/货物类型(0料件,1半成品,2成品)'; + + +alter table NGWL_TEST_WMS.MATERIAL_BASE_INFO + add PUSH_BY_NAME varchar(100); + +comment +on column NGWL_TEST_WMS.MATERIAL_BASE_INFO.PUSH_BY_NAME is '推送人名称'; \ No newline at end of file From 6714278e3f654bcfabc394523f01155be58d5b6c Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 14 May 2026 20:19:54 +0800 Subject: [PATCH 131/418] =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BF=AE=E6=94=B9=20?= =?UTF-8?q?=20=E5=90=88=E4=BD=9C=E4=BC=99=E4=BC=B4=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=A8=E9=80=81=E4=BA=BA=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/UserShipperMapper.xml | 3 ++- .../BusinessDocumentOrderApplicationService.java | 5 ++++- .../businessPartner/BusinessPartnerApplicationService.java | 6 ++++-- .../service/erpCountry/ErpCountryApplicationService.java | 5 ++++- .../ErpEnterpriseUnitApplicationService.java | 5 ++++- .../exchangeRate/ExchangeRateApplicationService.java | 5 ++++- .../materialInfo/MaterialInfoApplicationService.java | 5 ++++- 7 files changed, 26 insertions(+), 8 deletions(-) diff --git a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml index eb19d41c7..d4b0edc7a 100644 --- a/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml +++ b/mhd-user-center/src/main/resources/mapper/UserShipperMapper.xml @@ -164,7 +164,8 @@ b.user_remark as userRemarkShipper, b.push_status, b.push_time, - b.push_by + b.push_by, + b.push_by_name FROM "USER" a LEFT JOIN user_shipper b ON a.user_id = b.user_id left join (select user_id, LISTAGG(DISTINCT r.role_name, '&') WITHIN GROUP(ORDER BY r.role_name) AS roleName diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index bed7494c7..3216a2028 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -44,9 +44,10 @@ import java.util.*; @Slf4j public class BusinessDocumentOrderApplicationService { - private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME_I = "saveBill_i"; private static final String API_NAME_E = "saveBill_e"; + private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; @Autowired private BusinessDocumentOrderDomainService businessDocumentOrderDomainService; @@ -216,6 +217,7 @@ public class BusinessDocumentOrderApplicationService { httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("verify", VERIFY); if(pushData.getIeType().equals("I")) { httpPost.setHeader("apiName", API_NAME_I); @@ -250,6 +252,7 @@ public class BusinessDocumentOrderApplicationService { } catch (IOException e) { gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); + gwLog.setResponseBody("请求异常:" + e.getMessage()); gwLogMapper.updateById(gwLog); if (pushData.getId() != null) { updatePushStatus(pushData.getId(), 4, new Date(), String.valueOf(pushBy), pushByName); diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java index 37f1aefa7..5ce1d0038 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java @@ -33,8 +33,9 @@ import java.util.Map; @Slf4j public class BusinessPartnerApplicationService { - private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveCorporation"; + private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; @Resource @@ -117,7 +118,7 @@ public class BusinessPartnerApplicationService { httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); - + httpPost.setHeader("verify", VERIFY); try{ CloseableHttpResponse response = httpClient.execute(httpPost); String responseString = EntityUtils.toString(response.getEntity()); @@ -142,6 +143,7 @@ public class BusinessPartnerApplicationService { } catch (IOException e) { gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); + gwLog.setResponseBody("请求异常:" + e.getMessage()); gwLogMapper.updateById(gwLog); updatePushStatus(Long.valueOf(businessPartnerDTO.getShipperId()),4, new Date(), pushBy,pushByName); failCount++; diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java index 8ad209ce9..7ab2f9017 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java @@ -34,8 +34,9 @@ import java.util.Map; @Service @Slf4j public class ErpCountryApplicationService{ - private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveCountry"; + private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; @Resource private ErpCountryMapper erpCountryMapper; @@ -139,6 +140,7 @@ public class ErpCountryApplicationService{ httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); + httpPost.setHeader("verify", VERIFY); try { CloseableHttpResponse response = httpClient.execute(httpPost); @@ -161,6 +163,7 @@ public class ErpCountryApplicationService{ } catch (IOException e) { gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); + gwLog.setResponseBody("请求异常:" + e.getMessage()); gwLogMapper.updateById(gwLog); updatePushStatus(dto.getId(), 4, new Date(), pushBy,pushByName); failCount++; diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java index 7fe0ea1a7..8183cab5e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java @@ -36,8 +36,9 @@ import java.util.Map; @Slf4j public class ErpEnterpriseUnitApplicationService { - private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveUnit"; + private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; @Resource private ErpEnterpriseUnitMapper erpEnterpriseUnitMapper; @@ -135,6 +136,7 @@ public class ErpEnterpriseUnitApplicationService { httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); + httpPost.setHeader("verify", VERIFY); try { CloseableHttpResponse response = httpClient.execute(httpPost); @@ -157,6 +159,7 @@ public class ErpEnterpriseUnitApplicationService { } catch (IOException e) { gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); + gwLog.setResponseBody("请求异常:" + e.getMessage()); gwLogMapper.updateById(gwLog); updatePushStatus(dto.getId(), 4, new Date(), pushBy,pushByName); failCount++; diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java index db4498b18..e04ba6238 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java @@ -29,8 +29,9 @@ import java.util.*; @Slf4j public class ExchangeRateApplicationService { - private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveCurr"; + private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; @Resource private WlhyServiceFeign wlhyServiceFeign; @@ -123,6 +124,7 @@ public class ExchangeRateApplicationService { httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); + httpPost.setHeader("verify", VERIFY); try { CloseableHttpResponse response = httpClient.execute(httpPost); @@ -145,6 +147,7 @@ public class ExchangeRateApplicationService { } catch (IOException e) { gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); + gwLog.setResponseBody("请求异常:" + e.getMessage()); gwLogMapper.updateById(gwLog); updateExchangeRatePushStatus(dto.getId(), 4, new Date(), pushBy, pushByName); failCount++; diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java index e5b650fd5..64277b4a4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java @@ -32,8 +32,9 @@ import java.util.Map; @Slf4j public class MaterialInfoApplicationService { - private static final String PUSH_API_URL = "http://10.33.0.100/ktms-erp-api/transfer/pushData"; + private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveOrgGoods"; + private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; @Resource private GwLogMapper gwLogMapper; @@ -119,6 +120,7 @@ public class MaterialInfoApplicationService { httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); + httpPost.setHeader("verify", VERIFY); try { CloseableHttpResponse response = httpClient.execute(httpPost); @@ -141,6 +143,7 @@ public class MaterialInfoApplicationService { } catch (IOException e) { gwLog.setStatus(3); gwLog.setErrorMsg(e.getMessage()); + gwLog.setResponseBody("请求异常:" + e.getMessage()); gwLogMapper.updateById(gwLog); updatePushStatus(dto.getMaterialBaseInfoId(), 4, new Date(), pushBy, pushByName); failCount++; From d0836cb5c60621a4cd6beda45130871503add5b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Fri, 15 May 2026 10:31:06 +0800 Subject: [PATCH 132/418] =?UTF-8?q?BI=E5=A4=A7=E5=B1=8F=E6=96=B0=E5=8A=A0?= =?UTF-8?q?=E4=BB=93=E5=82=A8=E8=BF=90=E8=90=A5=E4=B8=93=E5=8C=BA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BiReportSnapshotMapperSupport.java | 32 ++++ .../mapper/BiSnapshotWriteMapper.java | 2 + .../BiReportSnapshotSyncScheduler.java | 2 +- .../service/BiReportSnapshotSyncService.java | 26 +++- .../BiWarehouseOperationZoneReportMapper.java | 20 +++ ...BiWarehouseOperationZoneReportService.java | 21 +++ .../WarehouseOperationZoneDemoData.java | 139 ++++++++++++++++++ .../facadeApi/biReport/BiReportApi.java | 17 ++- .../WarehouseOperationZoneVO.java | 74 ++++++++++ .../WhAreaDistributionDetailVO.java | 25 ++++ .../warehouseZone/WhAreaDistributionVO.java | 26 ++++ .../warehouseZone/WhBusinessPlanningVO.java | 33 +++++ .../WhCapacityUtilizationTrendVO.java | 26 ++++ .../vo/warehouseZone/WhMapPopupVO.java | 41 ++++++ .../vo/warehouseZone/WhMonthRatePointVO.java | 22 +++ .../vo/warehouseZone/WhOperationStatsVO.java | 33 +++++ .../vo/warehouseZone/WhOrderStatisticsVO.java | 29 ++++ .../warehouseZone/WhRealTimeAnalysisVO.java | 25 ++++ .../vo/warehouseZone/WhRealTimeGaugeVO.java | 25 ++++ .../warehouseZone/WhServiceCapacityRowVO.java | 33 +++++ .../warehouseZone/WhServiceStatisticsVO.java | 31 ++++ .../vo/warehouseZone/WhStorageOverviewVO.java | 30 ++++ .../WhThroughputMonthItemVO.java | 22 +++ .../warehouseZone/WhTurnoverRateTrendVO.java | 29 ++++ .../biSnapshotSync/BiSnapshotWriteMapper.xml | 5 + .../BiWarehouseOperationZoneReportMapper.xml | 13 ++ 26 files changed, 778 insertions(+), 3 deletions(-) create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/repository/mapper/BiWarehouseOperationZoneReportMapper.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/service/BiWarehouseOperationZoneReportService.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhAreaDistributionDetailVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhAreaDistributionVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhBusinessPlanningVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhCapacityUtilizationTrendVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMapPopupVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMonthRatePointVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOperationStatsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderStatisticsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhRealTimeAnalysisVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhRealTimeGaugeVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhServiceCapacityRowVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhServiceStatisticsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhStorageOverviewVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhThroughputMonthItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhTurnoverRateTrendVO.java create mode 100644 mhd-bi/src/main/resources/mapper/biWarehouseOperationZone/BiWarehouseOperationZoneReportMapper.xml diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java index b9d4ad10b..6eab8296d 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java @@ -6,6 +6,7 @@ import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -134,4 +135,35 @@ public final class BiReportSnapshotMapperSupport { .build()) .build(); } + + public static WarehouseOperationZoneVO emptyWarehouseOperationZone() { + return WarehouseOperationZoneVO.builder() + .storageOverview(WhStorageOverviewVO.builder() + .title("").value(0).unit("").subText("").build()) + .operationStats(WhOperationStatsVO.builder() + .title("").value(0).unit("").growthRate("").trend("").build()) + .businessPlanning(WhBusinessPlanningVO.builder() + .generalWarehouse(0).coldStorage(0).foodProcessing(0).automatedStorage(0).build()) + .throughputTrend(Collections.emptyList()) + .areaDistribution(WhAreaDistributionVO.builder() + .utilizationRate("").details(Collections.emptyList()).build()) + .capacityUtilizationTrend(WhCapacityUtilizationTrendVO.builder() + .peakLabel("").data(Collections.emptyList()).build()) + .orderStatistics(WhOrderStatisticsVO.builder() + .annualOrders(0L).quarterlyOrders(0L).monthlyOrders(0L).build()) + .serviceStatistics(WhServiceStatisticsVO.builder() + .clients(0).coverage("").onTimeRate("").rateChange("").build()) + .orderTrend(Collections.emptyList()) + .turnoverRateTrend(WhTurnoverRateTrendVO.builder() + .currentMonth("").annual("").data(Collections.emptyList()).build()) + .serviceCapacity(Collections.emptyList()) + .realTimeAnalysis(WhRealTimeAnalysisVO.builder() + .utilizationRate(WhRealTimeGaugeVO.builder().value("").comparison("").trend("").build()) + .rentalRate(WhRealTimeGaugeVO.builder().value("").comparison("").trend("").build()) + .build()) + .mapPopup(WhMapPopupVO.builder() + .warehouseName("").totalArea("").totalSku(0).todayOrders(0) + .utilizationRate("").rentalRate("").build()) + .build(); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java index 597fe9e07..36113cafc 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java @@ -14,4 +14,6 @@ public interface BiSnapshotWriteMapper { int insertPlatformSurveillanceSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); int insertOverallOperationSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); + + int insertWarehouseOperationZoneSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java index 9a3301c8a..14d018aef 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java @@ -8,7 +8,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** - * 定时将业务快照写入 BI_COMPREHENSIVE_SNAPSHOT / BI_WAREHOUSE_TRANSPORT_SNAPSHOT / BI_PLATFORM_SURVEILLANCE_SNAPSHOT / BI_OVERALL_OPERATION_SNAPSHOT。 + * 定时将业务快照写入 BI_COMPREHENSIVE_SNAPSHOT / BI_WAREHOUSE_TRANSPORT_SNAPSHOT / BI_PLATFORM_SURVEILLANCE_SNAPSHOT / BI_OVERALL_OPERATION_SNAPSHOT / BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT。 *

默认关闭,需在配置中设置 {@code mhd.bi.snapshot-sync.enabled=true}。

*/ @Slf4j diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java index e951bd4c5..52ab52f08 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java @@ -3,10 +3,12 @@ package com.mhd.bi.domain.biSnapshotSync.service; import com.fasterxml.jackson.databind.ObjectMapper; import com.mhd.bi.domain.biSnapshotSync.repository.mapper.BiSnapshotWriteMapper; import com.mhd.bi.domain.biSnapshotSync.support.BiSnapshotWeeklyRandomDataBuilder; +import com.mhd.bi.domain.biWarehouseOperationZone.support.WarehouseOperationZoneDemoData; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -14,7 +16,7 @@ import org.springframework.stereotype.Service; import java.util.Random; /** - * BI 快照表定时同步(综合态势 / 仓储运输 / 月台监测 / 总体运营态势)。 + * BI 快照表定时同步(综合态势 / 仓储运输 / 月台监测 / 总体运营态势 / 仓储运营专区)。 *

当前(临时):{@code build*} 使用 {@link BiSnapshotWeeklyRandomDataBuilder},每次执行使用新的 {@link Random}, * 故同一天多次手动触发、以及每次定时任务执行,生成的模拟数据均不相同(仍在基准 ±20% 内)。

*

后续改造:在各 {@code build*} 中改为查库/Feign 聚合真实业务并组装 VO。

@@ -37,6 +39,7 @@ public class BiReportSnapshotSyncService { syncWarehouseTransportSnapshot(); syncPlatformSurveillanceSnapshot(); syncOverallOperationSnapshot(); + syncWarehouseOperationZoneSnapshot(); } public void syncComprehensiveSnapshot() { @@ -95,6 +98,20 @@ public class BiReportSnapshotSyncService { } } + public void syncWarehouseOperationZoneSnapshot() { + try { + WarehouseOperationZoneVO vo = buildWarehouseOperationZoneSnapshot(); + String json = objectMapper.writeValueAsString(vo); + int rows = biSnapshotWriteMapper.insertWarehouseOperationZoneSnapshot(json, REMARK_SYNC); + if (rows < 1) { + log.warn("BI 仓储运营专区快照 INSERT 影响行数为 {},请确认 NGWL_TEST_BI.BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT", rows); + } + log.info("BI 仓储运营专区快照已写入, affectedRows={}", rows); + } catch (Exception e) { + log.error("BI 仓储运营专区快照同步失败", e); + } + } + /** * TODO 业务落地:改为查询真实数据组装 VO。临时实现见 {@link BiSnapshotWeeklyRandomDataBuilder#overallOperation(Random)}。 */ @@ -118,4 +135,11 @@ public class BiReportSnapshotSyncService { protected PlatformSurveillanceVO buildPlatformSurveillanceSnapshot() { return BiSnapshotWeeklyRandomDataBuilder.platformSurveillance(new Random()); } + + /** + * TODO 业务落地:改为查询真实数据组装 VO。当前为 {@link WarehouseOperationZoneDemoData} 静态示例。 + */ + protected WarehouseOperationZoneVO buildWarehouseOperationZoneSnapshot() { + return WarehouseOperationZoneDemoData.build(); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/repository/mapper/BiWarehouseOperationZoneReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/repository/mapper/BiWarehouseOperationZoneReportMapper.java new file mode 100644 index 000000000..24b8a0f02 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/repository/mapper/BiWarehouseOperationZoneReportMapper.java @@ -0,0 +1,20 @@ +package com.mhd.bi.domain.biWarehouseOperationZone.repository.mapper; + +import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; + +/** + * 仓储运营专区:取 NGWL_TEST_BI.BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT 最新 PAYLOAD_JSON 并解析。 + */ +public interface BiWarehouseOperationZoneReportMapper { + + String selectLatestPayloadJson(); + + default WarehouseOperationZoneVO loadLatestWarehouseOperationZone() { + return BiReportSnapshotMapperSupport.parsePayload( + selectLatestPayloadJson(), + WarehouseOperationZoneVO.class, + BiReportSnapshotMapperSupport::emptyWarehouseOperationZone, + "仓储运营专区"); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/service/BiWarehouseOperationZoneReportService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/service/BiWarehouseOperationZoneReportService.java new file mode 100644 index 000000000..eebed5fd4 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/service/BiWarehouseOperationZoneReportService.java @@ -0,0 +1,21 @@ +package com.mhd.bi.domain.biWarehouseOperationZone.service; + +import com.mhd.bi.domain.biWarehouseOperationZone.repository.mapper.BiWarehouseOperationZoneReportMapper; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 南光物流业务经营分析 · 仓储运营专区 + */ +@Service +public class BiWarehouseOperationZoneReportService { + + @Resource + private BiWarehouseOperationZoneReportMapper biWarehouseOperationZoneReportMapper; + + public WarehouseOperationZoneVO loadLatestWarehouseOperationZone() { + return biWarehouseOperationZoneReportMapper.loadLatestWarehouseOperationZone(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java new file mode 100644 index 000000000..4861cb9b0 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java @@ -0,0 +1,139 @@ +package com.mhd.bi.domain.biWarehouseOperationZone.support; + +import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.*; + +import java.util.Arrays; +import java.util.List; + +/** + * 仓储运营专区快照演示数据(对齐大屏示例 JSON;后续可改为真实聚合)。 + */ +public final class WarehouseOperationZoneDemoData { + + private WarehouseOperationZoneDemoData() { + } + + public static WarehouseOperationZoneVO build() { + List throughputTrend = Arrays.asList( + WhThroughputMonthItemVO.builder().month("11月").value(10).build(), + WhThroughputMonthItemVO.builder().month("12月").value(14).build(), + WhThroughputMonthItemVO.builder().month("1月").value(22).build(), + WhThroughputMonthItemVO.builder().month("2月").value(21).build(), + WhThroughputMonthItemVO.builder().month("3月").value(13).build(), + WhThroughputMonthItemVO.builder().month("4月").value(16).build(), + WhThroughputMonthItemVO.builder().month("5月").value(8).build() + ); + + List areaDetails = Arrays.asList( + WhAreaDistributionDetailVO.builder().name("普通仓出租面积").value(9400).unit("m²").build(), + WhAreaDistributionDetailVO.builder().name("自动化立库出租面积").value(9400).unit("m²").build(), + WhAreaDistributionDetailVO.builder().name("闲置面积").value(9400).unit("m²").build(), + WhAreaDistributionDetailVO.builder().name("冷冻仓出租面积").value(9400).unit("m²").build() + ); + + List capTrendData = Arrays.asList( + WhMonthRatePointVO.builder().month("1月").rate(20).build(), + WhMonthRatePointVO.builder().month("2月").rate(30).build(), + WhMonthRatePointVO.builder().month("3月").rate(55).build(), + WhMonthRatePointVO.builder().month("4月").rate(40).build(), + WhMonthRatePointVO.builder().month("5月").rate(45).build(), + WhMonthRatePointVO.builder().month("6月").rate(60).build(), + WhMonthRatePointVO.builder().month("7月").rate(50).build() + ); + + List orderTrend = Arrays.asList( + WhMonthRatePointVO.builder().month("1月").rate(100).build(), + WhMonthRatePointVO.builder().month("2月").rate(90).build(), + WhMonthRatePointVO.builder().month("3月").rate(75).build(), + WhMonthRatePointVO.builder().month("4月").rate(70).build(), + WhMonthRatePointVO.builder().month("5月").rate(95).build(), + WhMonthRatePointVO.builder().month("6月").rate(85).build() + ); + + List turnoverData = Arrays.asList( + WhMonthRatePointVO.builder().month("11月").rate(10).build(), + WhMonthRatePointVO.builder().month("12月").rate(15).build(), + WhMonthRatePointVO.builder().month("1月").rate(22).build(), + WhMonthRatePointVO.builder().month("2月").rate(20).build(), + WhMonthRatePointVO.builder().month("3月").rate(12).build(), + WhMonthRatePointVO.builder().month("4月").rate(16).build() + ); + + List serviceCapacity = Arrays.asList( + WhServiceCapacityRowVO.builder().rank(1).name("君华仓").totalArea("1.2万m²").processed("2,400单").throughput("2.2万吨").build(), + WhServiceCapacityRowVO.builder().rank(2).name("通宇仓").totalArea("1.2万m²").processed("1,800单").throughput("1.1万吨").build(), + WhServiceCapacityRowVO.builder().rank(3).name("横琴仓").totalArea("1.2万m²").processed("1,200单").throughput("1.5万吨").build(), + WhServiceCapacityRowVO.builder().rank(4).name("新南仓").totalArea("1.2万m²").processed("800单").throughput("2.1万吨").build(), + WhServiceCapacityRowVO.builder().rank(5).name("谷丰仓").totalArea("1.2万m²").processed("567单").throughput("1.8万吨").build() + ); + + return WarehouseOperationZoneVO.builder() + .storageOverview(WhStorageOverviewVO.builder() + .title("仓储面积") + .value(10) + .unit("万m²") + .subText("覆盖仓库数8个") + .build()) + .operationStats(WhOperationStatsVO.builder() + .title("年吞吐量") + .value(26) + .unit("万吨") + .growthRate("8.5%") + .trend("up") + .build()) + .businessPlanning(WhBusinessPlanningVO.builder() + .generalWarehouse(43000) + .coldStorage(15000) + .foodProcessing(11000) + .automatedStorage(5200) + .build()) + .throughputTrend(throughputTrend) + .areaDistribution(WhAreaDistributionVO.builder() + .utilizationRate("85%") + .details(areaDetails) + .build()) + .capacityUtilizationTrend(WhCapacityUtilizationTrendVO.builder() + .peakLabel("60%") + .data(capTrendData) + .build()) + .orderStatistics(WhOrderStatisticsVO.builder() + .annualOrders(525440L) + .quarterlyOrders(225120L) + .monthlyOrders(23560L) + .build()) + .serviceStatistics(WhServiceStatisticsVO.builder() + .clients(582) + .coverage("覆盖港珠澳") + .onTimeRate("98.2%") + .rateChange("0.4%") + .build()) + .orderTrend(orderTrend) + .turnoverRateTrend(WhTurnoverRateTrendVO.builder() + .currentMonth("3次") + .annual("4次") + .data(turnoverData) + .build()) + .serviceCapacity(serviceCapacity) + .realTimeAnalysis(WhRealTimeAnalysisVO.builder() + .utilizationRate(WhRealTimeGaugeVO.builder() + .value("50.8%") + .comparison("3.4%") + .trend("up") + .build()) + .rentalRate(WhRealTimeGaugeVO.builder() + .value("70.8%") + .comparison("3.4%") + .trend("up") + .build()) + .build()) + .mapPopup(WhMapPopupVO.builder() + .warehouseName("通宇保税仓") + .totalArea("2000m2") + .totalSku(668) + .todayOrders(237) + .utilizationRate("85%") + .rentalRate("37.1%") + .build()) + .build(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java index 614feaf2f..5ac025e9c 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java @@ -4,12 +4,14 @@ import com.mhd.bi.domain.biSnapshotSync.service.BiReportSnapshotSyncService; import com.mhd.bi.domain.biComprehensive.service.BiComprehensiveReportService; import com.mhd.bi.domain.biPlatformSurveillance.service.BiPlatformSurveillanceReportService; import com.mhd.bi.domain.biOverallOperation.service.BiOverallOperationReportService; +import com.mhd.bi.domain.biWarehouseOperationZone.service.BiWarehouseOperationZoneReportService; import com.mhd.bi.domain.biWarehouseTransport.service.BiWarehouseTransportReportService; import com.mhd.bi.interfaces.facadeApi.biReport.dto.BiApiResult; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; import com.mhd.common.core.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -43,11 +45,14 @@ public class BiReportApi extends BaseController { @Autowired private BiOverallOperationReportService biOverallOperationReportService; + @Autowired + private BiWarehouseOperationZoneReportService biWarehouseOperationZoneReportService; + @Autowired private BiReportSnapshotSyncService biReportSnapshotSyncService; - @ApiOperation(value = "手动触发快照同步", notes = "立即写入各 BI 快照表(综合、仓储运输、月台监测、总体运营);须带 X-BI-Access-Token") + @ApiOperation(value = "手动触发快照同步", notes = "立即写入各 BI 快照表(综合、仓储运输、月台监测、总体运营、仓储运营专区);须带 X-BI-Access-Token") @PostMapping("/snapshotSync/run") public BiApiResult runSnapshotSyncOnce() { biReportSnapshotSyncService.syncAllSnapshots(); @@ -93,4 +98,14 @@ public class BiReportApi extends BaseController { OverallOperationSituationVO data = biOverallOperationReportService.loadLatestOverallOperation(); return BiApiResult.ok(data); } + + /** + * 仓储运营专区(大屏「仓储运营专区」Tab) + */ + @ApiOperation(value = "仓储运营专区查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条整包 JSON 解析结果") + @GetMapping("/warehouseOperationZone") + public BiApiResult warehouseOperationZone() { + WarehouseOperationZoneVO data = biWarehouseOperationZoneReportService.loadLatestWarehouseOperationZone(); + return BiApiResult.ok(data); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java new file mode 100644 index 000000000..df93d65ed --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java @@ -0,0 +1,74 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 南光物流业务经营分析 · 仓储运营专区(整包 data 与快照 PAYLOAD_JSON 一致) + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区") +public class WarehouseOperationZoneVO { + + @JsonProperty("storage_overview") + @ApiModelProperty("仓储面积") + private WhStorageOverviewVO storageOverview; + + @JsonProperty("operation_stats") + @ApiModelProperty("运营统计") + private WhOperationStatsVO operationStats; + + @JsonProperty("business_planning") + @ApiModelProperty("业务规划") + private WhBusinessPlanningVO businessPlanning; + + @JsonProperty("throughput_trend") + @ApiModelProperty("吞吐量统计(柱状图)") + private List throughputTrend; + + @JsonProperty("area_distribution") + @ApiModelProperty("仓库面积统计(环形图)") + private WhAreaDistributionVO areaDistribution; + + @JsonProperty("capacity_utilization_trend") + @ApiModelProperty("库容利用趋势") + private WhCapacityUtilizationTrendVO capacityUtilizationTrend; + + @JsonProperty("order_statistics") + @ApiModelProperty("仓库订单统计") + private WhOrderStatisticsVO orderStatistics; + + @JsonProperty("service_statistics") + @ApiModelProperty("服务统计") + private WhServiceStatisticsVO serviceStatistics; + + @JsonProperty("order_trend") + @ApiModelProperty("仓库订单趋势") + private List orderTrend; + + @JsonProperty("turnover_rate_trend") + @ApiModelProperty("库存周转率趋势") + private WhTurnoverRateTrendVO turnoverRateTrend; + + @JsonProperty("service_capacity") + @ApiModelProperty("服务能力表格") + private List serviceCapacity; + + @JsonProperty("real_time_analysis") + @ApiModelProperty("实时分析") + private WhRealTimeAnalysisVO realTimeAnalysis; + + @JsonProperty("map_popup") + @ApiModelProperty("地图弹窗示例数据") + private WhMapPopupVO mapPopup; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhAreaDistributionDetailVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhAreaDistributionDetailVO.java new file mode 100644 index 000000000..8fd012305 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhAreaDistributionDetailVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-面积分布明细") +public class WhAreaDistributionDetailVO { + + @ApiModelProperty("分类名称") + private String name; + + @ApiModelProperty("数值") + private Integer value; + + @ApiModelProperty("单位") + private String unit; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhAreaDistributionVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhAreaDistributionVO.java new file mode 100644 index 000000000..6b18f0cc7 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhAreaDistributionVO.java @@ -0,0 +1,26 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-仓库面积统计(环形图)") +public class WhAreaDistributionVO { + + @JsonProperty("utilization_rate") + @ApiModelProperty("总利用率展示") + private String utilizationRate; + + @ApiModelProperty("分项") + private List details; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhBusinessPlanningVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhBusinessPlanningVO.java new file mode 100644 index 000000000..538496b97 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhBusinessPlanningVO.java @@ -0,0 +1,33 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-业务规划(面积 m²)") +public class WhBusinessPlanningVO { + + @JsonProperty("general_warehouse") + @ApiModelProperty("普通仓规划") + private Integer generalWarehouse; + + @JsonProperty("cold_storage") + @ApiModelProperty("冷冻仓规划") + private Integer coldStorage; + + @JsonProperty("food_processing") + @ApiModelProperty("食品加工区规划") + private Integer foodProcessing; + + @JsonProperty("automated_storage") + @ApiModelProperty("自动化立库规划") + private Integer automatedStorage; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhCapacityUtilizationTrendVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhCapacityUtilizationTrendVO.java new file mode 100644 index 000000000..c44b17073 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhCapacityUtilizationTrendVO.java @@ -0,0 +1,26 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-库容利用趋势") +public class WhCapacityUtilizationTrendVO { + + @JsonProperty("peak_label") + @ApiModelProperty("峰值标注") + private String peakLabel; + + @ApiModelProperty("按月序列") + private List data; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMapPopupVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMapPopupVO.java new file mode 100644 index 000000000..7020f43ac --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMapPopupVO.java @@ -0,0 +1,41 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-地图弹窗") +public class WhMapPopupVO { + + @JsonProperty("warehouse_name") + @ApiModelProperty("仓库名称") + private String warehouseName; + + @JsonProperty("total_area") + @ApiModelProperty("总面积") + private String totalArea; + + @JsonProperty("total_sku") + @ApiModelProperty("SKU 数") + private Integer totalSku; + + @JsonProperty("today_orders") + @ApiModelProperty("当日订单") + private Integer todayOrders; + + @JsonProperty("utilization_rate") + @ApiModelProperty("库容利用率") + private String utilizationRate; + + @JsonProperty("rental_rate") + @ApiModelProperty("仓库出租率") + private String rentalRate; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMonthRatePointVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMonthRatePointVO.java new file mode 100644 index 000000000..597715058 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMonthRatePointVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-月份-比率点") +public class WhMonthRatePointVO { + + @ApiModelProperty("月份") + private String month; + + @ApiModelProperty("比率或趋势值") + private Integer rate; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOperationStatsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOperationStatsVO.java new file mode 100644 index 000000000..e40a76c96 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOperationStatsVO.java @@ -0,0 +1,33 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-运营统计") +public class WhOperationStatsVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("数值") + private Integer value; + + @ApiModelProperty("单位") + private String unit; + + @JsonProperty("growth_rate") + @ApiModelProperty("增幅文案") + private String growthRate; + + @ApiModelProperty("趋势:up / down") + private String trend; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderStatisticsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderStatisticsVO.java new file mode 100644 index 000000000..dae5f27ac --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderStatisticsVO.java @@ -0,0 +1,29 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-仓库订单统计") +public class WhOrderStatisticsVO { + + @JsonProperty("annual_orders") + @ApiModelProperty("本年度订单") + private Long annualOrders; + + @JsonProperty("quarterly_orders") + @ApiModelProperty("本季度订单") + private Long quarterlyOrders; + + @JsonProperty("monthly_orders") + @ApiModelProperty("本月度订单") + private Long monthlyOrders; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhRealTimeAnalysisVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhRealTimeAnalysisVO.java new file mode 100644 index 000000000..df7cefde8 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhRealTimeAnalysisVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-实时分析") +public class WhRealTimeAnalysisVO { + + @JsonProperty("utilization_rate") + @ApiModelProperty("库容利用率") + private WhRealTimeGaugeVO utilizationRate; + + @JsonProperty("rental_rate") + @ApiModelProperty("仓库出租率") + private WhRealTimeGaugeVO rentalRate; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhRealTimeGaugeVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhRealTimeGaugeVO.java new file mode 100644 index 000000000..dcd1b3e8c --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhRealTimeGaugeVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-实时分析仪表盘单项") +public class WhRealTimeGaugeVO { + + @ApiModelProperty("当前值") + private String value; + + @ApiModelProperty("同比变化") + private String comparison; + + @ApiModelProperty("趋势:up / down") + private String trend; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhServiceCapacityRowVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhServiceCapacityRowVO.java new file mode 100644 index 000000000..5cdaafb2a --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhServiceCapacityRowVO.java @@ -0,0 +1,33 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-服务能力表格行") +public class WhServiceCapacityRowVO { + + @ApiModelProperty("序号") + private Integer rank; + + @ApiModelProperty("仓库名称") + private String name; + + @JsonProperty("total_area") + @ApiModelProperty("总面积展示") + private String totalArea; + + @ApiModelProperty("仓储单量展示") + private String processed; + + @ApiModelProperty("吞吐量展示") + private String throughput; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhServiceStatisticsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhServiceStatisticsVO.java new file mode 100644 index 000000000..12e4955f9 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhServiceStatisticsVO.java @@ -0,0 +1,31 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-服务统计") +public class WhServiceStatisticsVO { + + @ApiModelProperty("合作客户数") + private Integer clients; + + @ApiModelProperty("覆盖范围文案") + private String coverage; + + @JsonProperty("on_time_rate") + @ApiModelProperty("订单准时率") + private String onTimeRate; + + @JsonProperty("rate_change") + @ApiModelProperty("准时率变化") + private String rateChange; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhStorageOverviewVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhStorageOverviewVO.java new file mode 100644 index 000000000..5e6b79ee7 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhStorageOverviewVO.java @@ -0,0 +1,30 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-仓储面积") +public class WhStorageOverviewVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("数值") + private Integer value; + + @ApiModelProperty("单位") + private String unit; + + @JsonProperty("sub_text") + @ApiModelProperty("副文案") + private String subText; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhThroughputMonthItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhThroughputMonthItemVO.java new file mode 100644 index 000000000..4b9b363bc --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhThroughputMonthItemVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-吞吐量月度点") +public class WhThroughputMonthItemVO { + + @ApiModelProperty("月份标签") + private String month; + + @ApiModelProperty("数值") + private Integer value; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhTurnoverRateTrendVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhTurnoverRateTrendVO.java new file mode 100644 index 000000000..9c2084283 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhTurnoverRateTrendVO.java @@ -0,0 +1,29 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-库存周转率趋势") +public class WhTurnoverRateTrendVO { + + @JsonProperty("current_month") + @ApiModelProperty("本周周转率展示文案") + private String currentMonth; + + @ApiModelProperty("本年度周转率展示文案") + private String annual; + + @ApiModelProperty("按月序列") + private List data; +} diff --git a/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml b/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml index 64d3e7820..c377faa07 100644 --- a/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml +++ b/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml @@ -22,4 +22,9 @@ insert into NGWL_TEST_BI.BI_OVERALL_OPERATION_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK) values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark})
+ + + insert into NGWL_TEST_BI.BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK) + values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark}) + diff --git a/mhd-bi/src/main/resources/mapper/biWarehouseOperationZone/BiWarehouseOperationZoneReportMapper.xml b/mhd-bi/src/main/resources/mapper/biWarehouseOperationZone/BiWarehouseOperationZoneReportMapper.xml new file mode 100644 index 000000000..8e20f8616 --- /dev/null +++ b/mhd-bi/src/main/resources/mapper/biWarehouseOperationZone/BiWarehouseOperationZoneReportMapper.xml @@ -0,0 +1,13 @@ + + + + + + From e5a375f67cc2367d98f8653749660db3691e4167 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 15 May 2026 10:54:41 +0800 Subject: [PATCH 133/418] =?UTF-8?q?oms=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=87=BA?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=98=8E=E7=BB=86=E6=9F=A5=E8=AF=A2;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todo/ReservationInMaterialDetailDTO.java | 4 + .../todo/ReservationOutMaterialDetailDTO.java | 4 + .../facade/IReserveStockInOrderService.java | 2 + .../mapper/ReserveStockInOrderMapper.java | 2 + .../persistence/ReserveStockInOrderImpl.java | 6 + ...ReserveStockInOrderApplicationService.java | 37 ++++++ .../ReserveStockInOrderDomainService.java | 4 + .../facade/IReserveStockOutOrderService.java | 2 + .../mapper/ReserveStockOutOrderMapper.java | 2 + .../persistence/ReserveStockOutOrderImpl.java | 6 + ...eserveStockOutOrderApplicationService.java | 40 +++++++ .../ReserveStockOutOrderDomainService.java | 4 + .../ReserveStockOutOrderApi.java | 11 ++ .../ReserveStockInOrderApi.java | 14 +++ .../ReserveStockInOrderMapper.xml | 104 +++++++++++++++++ .../ReserveStockOutOrderMapper.xml | 107 ++++++++++++++++++ .../StockInOrderApplicationService.java | 2 + .../entity/InMaterialDetail.java | 4 + .../repository/po/InMaterialDetailPO.java | 4 + .../repository/todo/InMaterialDetailDO.java | 4 + .../entity/OutMaterialDetail.java | 4 + .../repository/po/OutMaterialDetailPO.java | 4 + .../repository/todo/OutMaterialDetailDO.java | 4 + .../listener/ExcelParseService.java | 3 + 24 files changed, 378 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java index 7754be37e..a91b07d3b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java @@ -278,6 +278,10 @@ public class ReservationInMaterialDetailDTO extends BaseVOEntity { @Excel(name = "升") private BigDecimal liter; + @ApiModelProperty("单价") + @Excel(name = "单价") + private BigDecimal unitPrice; + @ApiModelProperty("尺寸") @Excel(name = "尺寸") private String dimensions; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/todo/ReservationOutMaterialDetailDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/todo/ReservationOutMaterialDetailDTO.java index b145d102d..9c8ec924d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/todo/ReservationOutMaterialDetailDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/todo/ReservationOutMaterialDetailDTO.java @@ -288,6 +288,10 @@ public class ReservationOutMaterialDetailDTO extends BaseVOEntity { @Excel(name = "升") private String liter; + @ApiModelProperty("单价") + @Excel(name = "单价") + private BigDecimal unitPrice; + /** * 尺寸 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/facade/IReserveStockInOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/facade/IReserveStockInOrderService.java index 6ae8b9381..b5a811fb3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/facade/IReserveStockInOrderService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/facade/IReserveStockInOrderService.java @@ -23,6 +23,8 @@ public interface IReserveStockInOrderService extends IService queryList(ReserveStockInOrderDO stockInOrderDO); + public List detailsList(ReserveStockInOrderDO stockInOrderDO); + public List inAndOutList(ReserveStockInOrderDO stockInOrderDO); /** diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/mapper/ReserveStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/mapper/ReserveStockInOrderMapper.java index f972723f9..956ec1063 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/mapper/ReserveStockInOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/mapper/ReserveStockInOrderMapper.java @@ -27,6 +27,8 @@ public interface ReserveStockInOrderMapper extends BaseMapper queryList(ReserveStockInOrderDO stockInOrderDO); + public List detailsList(ReserveStockInOrderDO stockInOrderDO); + public List inAndOutList(ReserveStockInOrderDO stockInOrderDO); public MaterialBaseInfoPO getinfo(@Param("id") Long id); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/persistence/ReserveStockInOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/persistence/ReserveStockInOrderImpl.java index fe4caddad..06a8a2521 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/persistence/ReserveStockInOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/persistence/ReserveStockInOrderImpl.java @@ -37,6 +37,12 @@ public class ReserveStockInOrderImpl extends ServiceImpl detailsList(ReserveStockInOrderDO stockInOrderDO) + { + return stockInOrderMapper.detailsList(stockInOrderDO); + } + @Override public List inAndOutList(ReserveStockInOrderDO stockInOrderDO) { diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java index 8d55d32af..416b12756 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java @@ -169,6 +169,43 @@ public class ReserveStockInOrderApplicationService { } + public List detailsList(ReserveStockInOrderDO stockInOrderDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null && loginUser.getUserPo() != null){ + Long userOrganizationId = loginUser.getUserPo().getOrganizationId(); + Long frontendOrganizationId = stockInOrderDO.getOrganizationId(); + if (userOrganizationId != null && userOrganizationId == 2827L) { + if (frontendOrganizationId != null) { + stockInOrderDO.setOrganizationId(frontendOrganizationId); + stockInOrderDO.setTopOrganizationId(null); + } else { + stockInOrderDO.setOrganizationId(null); + stockInOrderDO.setTopOrganizationId(null); + } + } else { + if (frontendOrganizationId != null && userOrganizationId != null) { + if (!frontendOrganizationId.equals(userOrganizationId)) { + stockInOrderDO.setOrganizationId(userOrganizationId); + } + } else { + if (userOrganizationId != null) { + stockInOrderDO.setOrganizationId(userOrganizationId); + } + } + if (stockInOrderDO.getOrganizationId() == null) { + Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + if (topOrganizationId != null && topOrganizationId != 1) { + stockInOrderDO.setTopOrganizationId(topOrganizationId); + } + } else { + stockInOrderDO.setTopOrganizationId(2827L); + } + } + } + return stockInOrderDomainService.detailsList(stockInOrderDO); + } + + /** * 分页查询入库单列表 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java index 4ab9ce019..f7eccb6cf 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderDomainService.java @@ -86,6 +86,10 @@ public class ReserveStockInOrderDomainService { return stockInOrderService.queryList(stockInOrderDO); } + public List detailsList(ReserveStockInOrderDO stockInOrderDO) { + return stockInOrderService.detailsList(stockInOrderDO); + } + public List inAndOutList(ReserveStockInOrderDO stockInOrderDO) { return stockInOrderService.inAndOutList(stockInOrderDO); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/facade/IReserveStockOutOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/facade/IReserveStockOutOrderService.java index 2a4633a97..d8bb048bc 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/facade/IReserveStockOutOrderService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/facade/IReserveStockOutOrderService.java @@ -22,6 +22,8 @@ public interface IReserveStockOutOrderService extends IService queryList(ReserveStockOutOrderDO stockOutOrderDO); + public List detailsList(ReserveStockOutOrderDO stockOutOrderDO); + /** * 新增出库单 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/mapper/ReserveStockOutOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/mapper/ReserveStockOutOrderMapper.java index ae4b550bd..e752dc596 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/mapper/ReserveStockOutOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/mapper/ReserveStockOutOrderMapper.java @@ -22,6 +22,8 @@ public interface ReserveStockOutOrderMapper extends BaseMapper queryList(ReserveStockOutOrderDO stockOutOrderDO); + public List detailsList(ReserveStockOutOrderDO stockOutOrderDO); + /** * 出库单提货单打印-表头 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/persistence/ReserveStockOutOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/persistence/ReserveStockOutOrderImpl.java index a5e5fada4..c39bac845 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/persistence/ReserveStockOutOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/persistence/ReserveStockOutOrderImpl.java @@ -35,6 +35,12 @@ public class ReserveStockOutOrderImpl extends ServiceImpl detailsList(ReserveStockOutOrderDO stockOutOrderDO) + { + return reservationStockOutOrderMapper.detailsList(stockOutOrderDO); + } + /** * 新增出库单 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java index 00c53a9fc..0069b5e5a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderApplicationService.java @@ -205,6 +205,46 @@ public class ReserveStockOutOrderApplicationService { return stockOutOrderPOS; } + public List detailsList(ReserveStockOutOrderDO stockOutOrderDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + + if (loginUser != null && loginUser.getUserPo() != null) { + Long userOrganizationId = loginUser.getUserPo().getOrganizationId(); + Long frontendOrganizationId = stockOutOrderDO.getOrganizationId(); + if (userOrganizationId != null && userOrganizationId == 2827L) { + if (frontendOrganizationId != null) { + stockOutOrderDO.setOrganizationId(frontendOrganizationId); + stockOutOrderDO.setTopOrganizationId(null); + } else { + stockOutOrderDO.setOrganizationId(null); + stockOutOrderDO.setTopOrganizationId(null); + } + } else { + if (frontendOrganizationId != null && userOrganizationId != null) { + if (!frontendOrganizationId.equals(userOrganizationId)) { + stockOutOrderDO.setOrganizationId(userOrganizationId); + } + } else { + if (userOrganizationId != null) { + stockOutOrderDO.setOrganizationId(userOrganizationId); + } + } + if (stockOutOrderDO.getOrganizationId() == null) { + Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + if (topOrganizationId != null && topOrganizationId != 1) { + stockOutOrderDO.setTopOrganizationId(topOrganizationId); + } + } else { + stockOutOrderDO.setTopOrganizationId(2827L); + } + } + } + + List stockOutOrderPOS = stockOutOrderDomainService.detailsList(stockOutOrderDO); + + return stockOutOrderPOS; + } + /** * 新增出库单 diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java index dff56eb86..a9e8de8ad 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/service/ReserveStockOutOrderDomainService.java @@ -78,6 +78,10 @@ public class ReserveStockOutOrderDomainService { return stockOutOrderService.queryList(stockOutOrderDO); } + public List detailsList(ReserveStockOutOrderDO stockOutOrderDO) { + return stockOutOrderService.detailsList(stockOutOrderDO); + } + /** * 新增出库单 diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReserveStockOutOrder/ReserveStockOutOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReserveStockOutOrder/ReserveStockOutOrderApi.java index 78cd80d0e..cd07a2766 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReserveStockOutOrder/ReserveStockOutOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReserveStockOutOrder/ReserveStockOutOrderApi.java @@ -67,6 +67,17 @@ public class ReserveStockOutOrderApi extends BaseController { return getDataTable(list); } + @ApiOperation("查询出库单列表") + @GetMapping("/detailsList") + public TableDataInfo detailsList(ReserveStockOutOrderDTO stockOutOrderDTO) + { + //转换实体 + ReserveStockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); + startPage(); + List list = stockOutOrderApplicationService.detailsList(stockOutOrderDO); + return getDataTable(list); + } + /** * 审核入库单 diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reserveStockInOrder/ReserveStockInOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reserveStockInOrder/ReserveStockInOrderApi.java index 0874ec6fe..95219a996 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reserveStockInOrder/ReserveStockInOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reserveStockInOrder/ReserveStockInOrderApi.java @@ -57,6 +57,20 @@ public class ReserveStockInOrderApi extends BaseController { return getDataTable(list); } + /** + * 分页查询入库单列表 + */ + @ApiOperation("查询入库单列表") + @GetMapping("/detailsList") + public TableDataInfo detailsList(ReserveStockInOrderDTO stockInOrderDTO) + { + //转换实体 + ReserveStockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO); + startPage(); + List list = stockInOrderApplicationService.detailsList(stockInOrderDO); + return getDataTable(list); + } + @ApiOperation("查询入库单列表") @GetMapping("/inAndOutList") public TableDataInfo inAndOutList(ReserveStockInOrderDTO stockInOrderDTO) diff --git a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml index d63bb4ddd..22c46f3bb 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml @@ -455,6 +455,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and o.ID = #{id} + + + + + + + + + and ORDER_SOURCE = #{orderSource} + + + AND IN_ORDER_NUMBER LIKE CONCAT('%', #{inOrderNumber}, '%') + + + + and CREATE_COMPANY_ID = #{createCompanyId} + + + and CREATE_TIME >= #{createStartTime} + + + and CREATE_TIME <= #{createEndTime} + 1 - 1/86400 + + + + + + + AND GOODS_NUMBER LIKE CONCAT('%', #{goodsNumber}, '%') + + + and LOADING_AREA_ID = #{loadingAreaId} + + + and LOADING_NAME like concat('%', #{loadingName}, '%') + + + and LOADING_ADDRESS = #{loadingAddress} + + + and LOADING_LONGITUDE = #{loadingLongitude} + + + and LOADING_LATITUDE = #{loadingLatitude} + + + and LOADING_UNIT = #{loadingUnit} + + + and FREIGHTER_NAME like concat('%', #{freighterName}, '%') + + + and LOADING_PHONE = #{loadingPhone} + + + and LOADING_DATE = #{loadingDate} + + + and UNLOAD_AREA_ID = #{unloadAreaId} + + + and UNLOAD_NAME like concat('%', #{unloadName}, '%') + + + and UNLOAD_ADDRESS = #{unloadAddress} + + + and UNLOAD_LONGITUDE = #{unloadLongitude} + + + and UNLOAD_LATITUDE = #{unloadLatitude} + + + and DISCHARGER_NAME like concat('%', #{dischargerName}, '%') + + + and UNLOAD_PHONE = #{unloadPhone} + + + and UNLOADING_DATA = #{unloadingData} + + + and GOODS_TYPE_ID = #{goodsTypeId} + + + and GOODS_TYPE = #{goodsType} + + + and GOODS_NAME_ID = #{goodsNameId} + + + and GOODS_NAME like concat('%', #{goodsName}, '%') + + + and WEIGHT_MIN = #{weightMin} + + + and WEIGHT_MAX = #{weightMax} + + + and GOODS_UNTIS_ID = #{goodsUntisId} + + + and GOODS_UNTIS = #{goodsUntis} + + + and TRANSPORTATION_MODE_ID = #{transportationModeId} + + + and TRANSPORTATION_NAME like concat('%', #{transportationName}, '%') + + + and CAR_TYPE = #{carType} + + + and CAR_TYPE_NAME like concat('%', #{carTypeName}, '%') + + + and SERVICE_REQUIRE_ID = #{serviceRequireId} + + + and SERVICE_REQUIRE = #{serviceRequire} + + + and REMARKS = #{remarks} + + + and WAYBILL_FROM = #{waybillFrom} + + + and IS_SOURCE = #{isSource} + + + and SOURCE_CLOSE_TIME = #{sourceCloseTime} + + + and EXECUTOR_ID = #{executorId} + + + and IS_DELETE = #{isDelete} + + + and LINE_TITLE_LEFT = #{lineTitleLeft} + + + and LINE_TITLE_RIGHT = #{lineTitleRight} + + + and SYS_ORG_CODE = #{sysOrgCode} + + + and IS_COMMON = #{isCommon} + + + and GOODS_TYPE_MAJOR = #{goodsTypeMajor} + + + and AUDIT_STATUS = #{auditStatus} + + + and WAYBILL_MODE = #{waybillMode} + + + and LATEST_BIDDING_TIME = #{latestBiddingTime} + + + and DELIVERY_FREIGHT = #{deliveryFreight} + + + and COLLECTED_FREIGHT = #{collectedFreight} + + + and UNCOLLECTED_FREIGHT = #{uncollectedFreight} + + + and COLLECT_LESS_FREIGHT = #{collectLessFreight} + + + and AUDIT_BY = #{auditBy} + + + and AUDIT_TIME = #{auditTime} + + + and BUSINESS_TYPE = #{businessType} + + + and TRANSPORTATION_UNIT_PRICE = #{transportationUnitPrice} + + + and RADIO_VALUE = #{radioValue} + + + and CREATER_NAME like concat('%', #{createrName}, '%') + + + and CREATER_PHONE = #{createrPhone} + + + and IS_ELECTRIC_FENCE = #{isElectricFence} + + + and WXA_QRCODE = #{wxaQrcode} + + + and APPOINT_SHIPPER_ID = #{appointShipperId} + + + and CREATE_USER_ID = #{createUserId} + + + AND APPOINT_SHIPPER LIKE CONCAT('%', #{appointShipper}, '%') + + + and IS_STATUS = #{isStatus} + + + and SIGNATURE_ADDRESS = #{signatureAddress} + + + and QR_CODE_IMG_URL = #{qrCodeImgUrl} + + + and SHIPPING_NOTE = #{shippingNote} + + + and RECEIVABLE_TYPE = #{receivableType} + + + and THIRD_PARTY_ORDER_NUMBER = #{thirdPartyOrderNumber} + + + and DISPATCH_ORDER_NUMBER = #{dispatchOrderNumber} + + + and APPOINT_DRIVER_ENTERPRISE_ID = #{appointDriverEnterpriseId} + + + and APPOINT_DRIVER_ENTERPRISE = #{appointDriverEnterprise} + + + and CANCEL_ORDER_REMARK = #{cancelOrderRemark} + + + and ORDER_DRIVER_ID = #{orderDriverId} + + + and GOODS_QUANTITY = #{goodsQuantity} + + + and GOODS_QUANTITY_UNIT_ID = #{goodsQuantityUnitId} + + + and GOODS_QUANTITY_UNIT = #{goodsQuantityUnit} + + + and BIDDING_UNIT = #{biddingUnit} + + + and ORDER_STATUS = #{orderStatus} + + + and SPLICING_ORDER_TYPE = #{splicingOrderType} + + + and SPLICING_STATUS = #{splicingStatus} + + + and MAIN_ORDER_ID = #{mainOrderId} + + + and MAIN_ORDER_NUM = #{mainOrderNum} + + + and MERGE_ORDER_ID = #{mergeOrderId} + + + and MERGE_ORDER_NUM = #{mergeOrderNum} + + + and PAYER_TYPE = #{payerType} + + + and MACHINE_NUMBER = #{machineNumber} + + + and STOCK_FLAG = #{stockFlag} + + + and INFO_FEE = #{infoFee} + + + and INFO_FEE_PAYEE_TYPE = #{infoFeePayeeType} + + + and INFO_FEE_PAYEE = #{infoFeePayee} + + + and INFO_FEE_STATUS = #{infoFeeStatus} + + + and INFO_FEE_DOCUMENT_NUMBER = #{infoFeeDocumentNumber} + + + and ORDER_SHIPPING_TYPE = #{orderShippingType} + + + and RECIPIENT_ID = #{recipientId} + + + and RECIPIENT_NAME like concat('%', #{recipientName}, '%') + + + and SETTLEMENT_STATUS = #{settlementStatus} + + + and SETTLEMENT_TIME = #{settlementTime} + + + and PAYMENT_TIME = #{paymentTime} + + + and RECONCILIATION_INNER_NUMBER = #{reconciliationInnerNumber} + + + and RECEIVE_PAYMENT_NUMBER = #{receivePaymentNumber} + + + and INVOICE_ID = #{invoiceId} + + + and IS_INVOICE = #{isInvoice} + + + and VEHICLE_TYPE_ID = #{vehicleTypeId} + + + and VEHICLE_TYPE_NAME like concat('%', #{vehicleTypeName}, '%') + + + and CARRIER = #{carrier} + + + and CARRIER_NAME like concat('%', #{carrierName}, '%') + + + and SZWL_USER_ID = #{szwlUserId} + + + and FREIGHT_UNIT_PRICE = #{freightUnitPrice} + + + and BIDDING_STATUS = #{biddingStatus} + + + and BIDDING_REMARKS = #{biddingRemarks} + + + and CARGO_INSURANCE_AMOUNT = #{cargoInsuranceAmount} + + + and DESTINATION = #{destination} + + + and FREIGHT_CHARGES = #{freightCharges} + + + and PAYER = #{payer} + + + and SALESMAN_ID = #{salesmanId} + + + and IS_DECLARE = #{isDeclare} + + + and ROUTE = #{route} + + + and CONTAINER_TYPE = #{containerType} + + + and CONTAINER_TYPE_NAME like concat('%', #{containerTypeName}, '%') + + + and CARD_TYPE = #{cardType} + + + and CARD_TYPE_NAME like concat('%', #{cardTypeName}, '%') + + + and EXTERNAL_CONTAINER_NO = #{externalContainerNo} + + + and TRANSIT_PLACE = #{transitPlace} + + + and SHIPPER = #{shipper} + + + and CUSTOMS_SHIPPER = #{customsShipper} + + + and CUSTOMS_SHIPPER_TEL = #{customsShipperTel} + + + and UNLOADING_COMPANY = #{unloadingCompany} + + + and CONTRACT_NO = #{contractNo} + + + and FREIGHT_FEE = #{freightFee} + + + and UNLOADING_FEE = #{unloadingFee} + + + and CUSTOMS_FEE = #{customsFee} + + + and SHORTAGE_FEE = #{shortageFee} + + + and MISCELLANEOUS_FEE = #{miscellaneousFee} + + + and OTHER_FEE = #{otherFee} + + + and DETENTION_FEE = #{detentionFee} + + + and TAX_RATE = #{taxRate} + + + and SETTLEMENT_CURRENCY = #{settlementCurrency} + + + and VOLUME = #{volume} + + + and DETAIL_CONTENT = #{detailContent} + + + and CUSTOMS_ROUTE = #{customsRoute} + + + and CUSTOMS_PORT = #{customsPort} + + + and CUSTOMS_CONTACT = #{customsContact} + + + and CUSTOMS_CONTACT_PHONE = #{customsContactPhone} + + + and CUSTOMS_REMARK = #{customsRemark} + + + and ORG_ID = #{orgId} + + + and GOODS_CATEGORY = #{goodsCategory} + + + + + + + + + + + + + + + + + + and ORGANIZATION_ID = #{organizationId} + + + + + + + and DOCUMENT_DATE = #{documentDate} + + + and DOCUMENT_DATE =]]> #{documentDateStart} + + + and DOCUMENT_DATE #{documentDateEnd} + + + and PUSH_TIME =]]> #{pushTimeStart} + + + and PUSH_TIME #{pushTimeEnd} + + + and IE_TYPE = #{ieType} + + + + From 3c9b3c5e6845e0e4ea1323935dd5810f6763d4f8 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 11:40:55 +0800 Subject: [PATCH 137/418] =?UTF-8?q?=E8=BF=9B=E5=87=BA=E5=8F=A3=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../businessDocumentOrder/BusinessDocumentOrderMapper.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index b6b2c848c..d56e74b4c 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -1206,6 +1206,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + and PUSH_STATUS = #{pushStatus} + and DOCUMENT_DATE = #{documentDate} From 226ded3ee974ea16345264f3b1a6a5ae1347e6e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 15 May 2026 13:49:00 +0800 Subject: [PATCH 138/418] =?UTF-8?q?=E5=85=A5=E5=BA=93=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E5=8D=95=E6=8C=89=E6=98=AF=E5=90=A6=E6=8A=A5=E5=85=B3=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rvationStockInOrderApplicationService.java | 52 +++++++++---------- ...vationStockOutOrderApplicationService.java | 52 +++++++++---------- .../ReservationStockOutOrderMapper.xml | 3 ++ 3 files changed, 55 insertions(+), 52 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java index d924032fd..ea1422ddc 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java @@ -123,32 +123,32 @@ public class ReservationStockInOrderApplicationService { // 库管角色过滤:不展示已创建(status=1)的入库单 // 说明:部分场景下角色码可能不在 userPo.roleCode 中,而在 loginUser.roles/roleList 中。 - if (loginUser != null) { - String targetRoleCode = "KGY-001"; - boolean isKuGuan = false; - - String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; - if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { - isKuGuan = true; - } - - if (!isKuGuan && loginUser.getRoleList() != null) { - isKuGuan = loginUser.getRoleList().stream() - .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); - } - - if (!isKuGuan && loginUser.getRoles() != null) { - isKuGuan = loginUser.getRoles().stream() - .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); - } - - if (isKuGuan) { - Integer currentGtStatus = stockInOrderDO.getGtStatus(); - if (currentGtStatus == null || currentGtStatus < 1) { - stockInOrderDO.setGtStatus(1); // status > 1 - } - } - } +// if (loginUser != null) { +// String targetRoleCode = "KGY-001"; +// boolean isKuGuan = false; +// +// String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; +// if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { +// isKuGuan = true; +// } +// +// if (!isKuGuan && loginUser.getRoleList() != null) { +// isKuGuan = loginUser.getRoleList().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (!isKuGuan && loginUser.getRoles() != null) { +// isKuGuan = loginUser.getRoles().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (isKuGuan) { +// Integer currentGtStatus = stockInOrderDO.getGtStatus(); +// if (currentGtStatus == null || currentGtStatus < 1) { +// stockInOrderDO.setGtStatus(1); // status > 1 +// } +// } +// } return stockInOrderDomainService.queryList(stockInOrderDO); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index 32a09aff7..f613a0017 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -138,32 +138,32 @@ public class ReservationStockOutOrderApplicationService { // 库管角色过滤:不展示已创建(status=1)的出库单 // 出库状态: 1-已创建 ... - if (loginUser != null) { - String targetRoleCode = "KGY-001"; - boolean isKuGuan = false; - - String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; - if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { - isKuGuan = true; - } - - if (!isKuGuan && loginUser.getRoleList() != null) { - isKuGuan = loginUser.getRoleList().stream() - .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); - } - - if (!isKuGuan && loginUser.getRoles() != null) { - isKuGuan = loginUser.getRoles().stream() - .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); - } - - if (isKuGuan) { - Integer currentGtStatus = stockOutOrderDO.getGtStatus(); - if (currentGtStatus == null || currentGtStatus < 1) { - stockOutOrderDO.setGtStatus(1); // status > 1 - } - } - } +// if (loginUser != null) { +// String targetRoleCode = "KGY-001"; +// boolean isKuGuan = false; +// +// String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; +// if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { +// isKuGuan = true; +// } +// +// if (!isKuGuan && loginUser.getRoleList() != null) { +// isKuGuan = loginUser.getRoleList().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (!isKuGuan && loginUser.getRoles() != null) { +// isKuGuan = loginUser.getRoles().stream() +// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); +// } +// +// if (isKuGuan) { +// Integer currentGtStatus = stockOutOrderDO.getGtStatus(); +// if (currentGtStatus == null || currentGtStatus < 1) { +// stockOutOrderDO.setGtStatus(1); // status > 1 +// } +// } +// } List stockOutOrderPOS = stockOutOrderDomainService.queryList(stockOutOrderDO); // for (ReservationStockOutOrderPO stockOutOrderPO : stockOutOrderPOS) { diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index d19241f33..6f9ca0010 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -304,6 +304,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and date_format(a.audit_time,'%Y-%m-%d') <= #{auditTimeEnd} + + and a.NEED_DECLARE_FLAG = #{needDeclareFlag} + From 20e47e8cc43e8f2f2ecf5196b0d659eaa9a14a48 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 13:49:25 +0800 Subject: [PATCH 139/418] sql --- sql/oms20260513.sql | 86 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 1 deletion(-) diff --git a/sql/oms20260513.sql b/sql/oms20260513.sql index 67da4da20..b32f8374c 100644 --- a/sql/oms20260513.sql +++ b/sql/oms20260513.sql @@ -51,4 +51,88 @@ alter table NGWL_TEST_WMS.MATERIAL_BASE_INFO add PUSH_BY_NAME varchar(100); comment -on column NGWL_TEST_WMS.MATERIAL_BASE_INFO.PUSH_BY_NAME is '推送人名称'; \ No newline at end of file +on column NGWL_TEST_WMS.MATERIAL_BASE_INFO.PUSH_BY_NAME is '推送人名称'; + + + + +USE NGWL_TEST_OMS; + + +CREATE TABLE GW_LOG ( + LOG_ID BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '日志ID', + TYPE VARCHAR(50) COMMENT '类型', + BUSINESS_ID BIGINT COMMENT '业务ID', + REQUEST_BODY TEXT COMMENT '请求体', + RESPONSE_BODY TEXT COMMENT '响应体', + STATUS INT DEFAULT 1 COMMENT '状态:1-初始,2-成功,3-失败', + ERROR_MSG VARCHAR(500) COMMENT '错误信息', + SEND_TIME DATETIME COMMENT '发送时间', + ORGANIZATION_ID BIGINT COMMENT '组织ID', + TOP_ORGANIZATION_ID BIGINT COMMENT '顶级组织ID', + ORGANIZATION_NAME VARCHAR(200) COMMENT '组织名称', + CREATE_BY BIGINT COMMENT '创建人', + CREATE_TIME DATETIME COMMENT '创建时间', + DEL_FLAG INT DEFAULT 1 COMMENT '删除标记:1-正常,0-删除' +); + +alter table NGWL_TEST_OMS.GW_LOG + add PUSH_BY_NAME varchar(100); + +comment +on column NGWL_TEST_OMS.GW_LOG.PUSH_BY_NAME is '推送人姓名'; + + + + +CREATE TABLE ERP_ENTERPRISE_UNIT ( + ID BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', + ERP_CODE VARCHAR(100) COMMENT 'ERP单位编码', + ERP_NAME VARCHAR(200) COMMENT 'ERP单位名称', + PUSH_STATUS INT DEFAULT 1 COMMENT '推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败', + PUSH_TIME DATETIME COMMENT '推送时间', + PUSH_BY BIGINT COMMENT '推送人', + ORGANIZATION_ID BIGINT COMMENT '所属组织ID', + TOP_ORGANIZATION_ID BIGINT COMMENT '一级组织ID', + ORGANIZATION_NAME VARCHAR(200) COMMENT '所属组织名称', + CREATE_BY BIGINT COMMENT '创建人', + CREATE_BY_NAME VARCHAR(64) COMMENT '创建人姓名', + CREATE_TIME DATETIME COMMENT '创建时间', + UPDATE_BY BIGINT COMMENT '更新人', + UPDATE_TIME DATETIME COMMENT '更新时间', + DEL_FLAG INT DEFAULT 1 COMMENT '删除标记:1-正常,0-删除' +); + +COMMENT ON TABLE ERP_ENTERPRISE_UNIT IS '企业单位表'; + +alter table NGWL_TEST_OMS.ERP_ENTERPRISE_UNIT + add PUSH_BY_NAME VARCHAR(100); + +comment +on column NGWL_TEST_OMS.ERP_ENTERPRISE_UNIT.PUSH_BY_NAME is '推送人姓名'; + + + +CREATE TABLE ERP_COUNTRY ( + ID BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', + ERP_COUNTRY_CODE VARCHAR(100) COMMENT 'ERP国别编码', + ERP_COUNTRY_NAME VARCHAR(200) COMMENT 'ERP国别名称', + PUSH_STATUS INT DEFAULT 1 COMMENT '推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败', + PUSH_TIME DATETIME COMMENT '推送时间', + PUSH_BY BIGINT COMMENT '推送人', + ORGANIZATION_ID BIGINT COMMENT '所属组织ID', + TOP_ORGANIZATION_ID BIGINT COMMENT '一级组织ID', + ORGANIZATION_NAME VARCHAR(100) COMMENT '所属组织名称', + CREATE_BY BIGINT COMMENT '创建人', + CREATE_TIME DATETIME COMMENT '创建时间', + UPDATE_BY BIGINT COMMENT '更新人', + UPDATE_TIME DATETIME COMMENT '更新时间', + DEL_FLAG INT DEFAULT 1 COMMENT '删除标记:1-正常,0-删除' +); +COMMENT ON TABLE ERP_COUNTRY IS '企业国别表'; + +alter table NGWL_TEST_OMS.ERP_COUNTRY + add PUSH_BY_NAME varchar(100); + +comment +on column NGWL_TEST_OMS.ERP_COUNTRY.PUSH_BY_NAME is '托送人姓名'; \ No newline at end of file From 16fd4029758abb79de1e35e0a073cd6a7331deda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Fri, 15 May 2026 14:10:43 +0800 Subject: [PATCH 140/418] =?UTF-8?q?=E5=85=A5=E5=BA=93=E8=B4=B9=E7=94=A8?= =?UTF-8?q?=E7=99=BB=E8=AE=B0=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/BmsServiceFeign.java | 9 ++++- .../RemoteBmsFeignFallbackFactory.java | 5 +++ .../ExpenseAccountApplicationService.java | 35 ++++++++++++++++++- .../repository/todo/ExpenseAccountDO.java | 3 ++ .../dto/expenseAccount/ExpenseAccountDTO.java | 7 ++++ .../expenseAccount/ExpenseAccountApi.java | 4 ++- ...SettlementCustomersApplicationService.java | 35 +++++++++++++++++++ .../facadeApi/SettlementCustomersApi.java | 15 ++++++++ 8 files changed, 110 insertions(+), 3 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 055817bad..1866e2a45 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE,url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://127.0.0.1:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { @@ -35,6 +35,13 @@ public interface BmsServiceFeign { @GetMapping("/settlementCustomersApi/getInfoByCode") public AjaxResult getCustomersInfoByCode(@RequestParam("settlementCustomersCode")String settlementCustomersCode); + /** + * 按结算主体ID(如货主ID,对应 settlement_customers.settlement_entity_id)查询结算对象 + */ + @GetMapping("/settlementCustomersApi/getInfoBySettlementEntityId") + AjaxResult getCustomersInfoBySettlementEntityId(@RequestParam("settlementEntityId") Long settlementEntityId, + @RequestParam(value = "topOrganizationId", required = false) Long topOrganizationId); + /** * 推送同步业务单据 diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteBmsFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteBmsFeignFallbackFactory.java index f2fb2db79..1ff15b40c 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteBmsFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteBmsFeignFallbackFactory.java @@ -42,6 +42,11 @@ public class RemoteBmsFeignFallbackFactory implements FallbackFactory科目范围以合同结算设置为准;若 {@code expenseAccountDO.inOrderDisplay} 或 {@code expenseAccountDO.outOrderDisplay} 非空, * 再按主数据「入库单是否固定显示 / 出库单是否固定显示」(0-否 1-是)与入参相等过滤,二者同时传则同时满足(AND)。

* settlementCustomersCode 不传或为空时使用通用仓储合同。 + *

若 {@code settlementCustomersCode} 为空且 {@code expenseAccountDO.settlementEntityId} 非空,则通过 BMS 按结算主体ID解析结算对象编码后再查合同(编码仍为空则走通用合同)。

*/ public List queryListFromContractWarehouseInOutSettlement(ExpenseAccountDO expenseAccountDO, String settlementCustomersCode) { Long topOrgIdForExpense = expenseAccountDO.getTopOrganizationId(); @@ -66,8 +71,15 @@ public class ExpenseAccountApplicationService { topOrgIdForExpense = lu.getUserPo().getTopOrganizationId(); } } + String effectiveSettlementCode = settlementCustomersCode; + if (StringUtils.isEmpty(effectiveSettlementCode) && expenseAccountDO.getSettlementEntityId() != null) { + effectiveSettlementCode = resolveSettlementCustomersCodeByEntityId( + expenseAccountDO.getSettlementEntityId(), topOrgIdForExpense); + log.info("按结算主体ID解析结算对象编码:settlementEntityId={},解析得到 settlementCustomersCode={}", + expenseAccountDO.getSettlementEntityId(), effectiveSettlementCode); + } List orderedCodes = contractManageApplicationService.listSecondSubjectCodesBySettlementAndDocumentType( - settlementCustomersCode, + effectiveSettlementCode, expenseAccountDO.getOrganizationId(), topOrgIdForExpense, ContractManageApplicationService.DOCUMENT_TYPE_CODE_WAREHOUSE_IN_OUT_ORDER); @@ -92,6 +104,27 @@ public class ExpenseAccountApplicationService { return result; } + /** + * 通过 BMS 按 settlement_entity_id 取结算对象编码,供合同匹配;失败返回 null(走通用合同)。 + */ + private String resolveSettlementCustomersCodeByEntityId(Long settlementEntityId, Long topOrganizationId) { + try { + AjaxResult ajaxResult = bmsServiceFeign.getCustomersInfoBySettlementEntityId(settlementEntityId, topOrganizationId); + if (ajaxResult == null || !"200".equals(String.valueOf(ajaxResult.get("code"))) || ajaxResult.get("data") == null) { + log.warn("按 settlementEntityId 查询结算对象未成功:code={}", ajaxResult != null ? ajaxResult.get("code") : null); + return null; + } + SettlementCustomersPO po = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")), SettlementCustomersPO.class); + if (po == null || StringUtils.isEmpty(po.getSettlementCustomersCode())) { + return null; + } + return po.getSettlementCustomersCode().trim(); + } catch (Exception e) { + log.warn("按 settlementEntityId 解析结算对象编码异常", e); + return null; + } + } + /** * 合同路径下可选:与主数据 in_order_display / out_order_display 一致才保留(入参为 null 的维度不参与过滤)。 */ diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/todo/ExpenseAccountDO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/todo/ExpenseAccountDO.java index 90ab9e727..cb07d9216 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/todo/ExpenseAccountDO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/repository/todo/ExpenseAccountDO.java @@ -181,4 +181,7 @@ public class ExpenseAccountDO extends BaseVOEntity{ /** 查询参数:结算主体编码(货主编码等) */ private String settlementCustomersCode; + + /** 查询参数:结算主体ID(货主ID等,对应 settlement_customers.settlement_entity_id) */ + private Long settlementEntityId; } \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java index 11ba9b86f..d3d6c4b45 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/expenseAccount/ExpenseAccountDTO.java @@ -169,4 +169,11 @@ public class ExpenseAccountDTO extends BaseVOEntity{ @ApiModelProperty("结算主体编码(通常为货主编码);不传则按通用仓储合同的结算设置取科目") private String settlementCustomersCode; + + /** + * 结算主体ID(货主等业务主体ID,与 BMS settlement_customers.settlement_entity_id 一致)。 + * 与 settlementCustomersCode 二选一:编码优先;仅传本字段时在 BMS 解析出结算对象编码后再走合同(有客户合同用客户,无则通用)。 + */ + @ApiModelProperty("结算主体ID(货主ID等,对应 settlement_entity_id);与 settlementCustomersCode 二选一,编码优先") + private Long settlementEntityId; } \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java index dfdec8e29..8810a7c34 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java @@ -53,6 +53,7 @@ public class ExpenseAccountApi extends BaseController{ * *

入库/出库费用登记等场景传 {@code contractSettlementQuery=true}(与单据类型「仓库进出仓单」合同结算行一致), * 科目来源、结算主体为空走通用合同等逻辑入库与出库相同。 + * 可传 {@code settlementCustomersCode},或仅传 {@code settlementEntityId}(货主/结算主体ID,对应 BMS settlement_entity_id)由服务端解析结算编码后再匹配合同(有客户合同用客户,无则通用;编码优先)。 * 先按合同结算行取科目,再关联主数据;若请求中传入 {@code inOrderDisplay} 或 {@code outOrderDisplay}(0-否 1-是), * 则再按主数据「入库单 / 出库单是否固定显示」与入参相等过滤(二者都传则同时满足)。不传则不在此维度过滤。

*/ @@ -70,8 +71,9 @@ public class ExpenseAccountApi extends BaseController{ if (Boolean.TRUE.equals(expenseAccountDTO.getContractSettlementQuery())) { ExpenseAccountDO contractQueryDO = new ExpenseAccountDO(); BeanUtils.copyProperties(expenseAccountDTO, contractQueryDO); - logger.info("按合同结算设置查询费用科目,settlementCustomersCode={},inOrderDisplay={},outOrderDisplay={}", + logger.info("按合同结算设置查询费用科目,settlementCustomersCode={},settlementEntityId={},inOrderDisplay={},outOrderDisplay={}", expenseAccountDTO.getSettlementCustomersCode(), + expenseAccountDTO.getSettlementEntityId(), expenseAccountDTO.getInOrderDisplay(), expenseAccountDTO.getOutOrderDisplay()); List contractList = expenseAccountApplicationService.queryListFromContractWarehouseInOutSettlement( diff --git a/mhd_bms/src/main/java/com/mhd/bms/application/server/settlementCustomers/SettlementCustomersApplicationService.java b/mhd_bms/src/main/java/com/mhd/bms/application/server/settlementCustomers/SettlementCustomersApplicationService.java index 153412f63..1e2608ea1 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/application/server/settlementCustomers/SettlementCustomersApplicationService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/application/server/settlementCustomers/SettlementCustomersApplicationService.java @@ -376,4 +376,39 @@ public class SettlementCustomersApplicationService { } return null; } + + /** + * 按结算主体ID(如货主用户ID,对应 settlement_entity_id)取一条结算对象,用于解析合同上的 settlement_customers_code。 + * 多条时按 settlement_customers_id 升序取第一条。 + * + * @param settlementEntityId 结算主体id,不可为空 + * @param topOrganizationId 一级组织;为空则从当前登录用户取 + */ + public SettlementCustomersPO getFirstBySettlementEntityId(Long settlementEntityId, Long topOrganizationId) { + if (settlementEntityId == null) { + return null; + } + Long topOrg = topOrganizationId; + if (topOrg == null) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null && loginUser.getUserPo() != null) { + topOrg = loginUser.getUserPo().getTopOrganizationId(); + } + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(SettlementCustomers::getSettlementEntityId, settlementEntityId) + .eq(SettlementCustomers::getDelFlag, 1) + .orderByAsc(SettlementCustomers::getSettlementCustomersId) + .last("LIMIT 1"); + if (topOrg != null) { + wrapper.eq(SettlementCustomers::getTopOrganizationId, topOrg); + } + SettlementCustomers entity = settlementCustomersMapper.selectOne(wrapper); + if (entity == null) { + return null; + } + SettlementCustomersPO po = new SettlementCustomersPO(); + BeanUtils.copyProperties(entity, po); + return po; + } } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/interfaces/facadeApi/SettlementCustomersApi.java b/mhd_bms/src/main/java/com/mhd/bms/interfaces/facadeApi/SettlementCustomersApi.java index 5af14ba96..0b0e45aec 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/interfaces/facadeApi/SettlementCustomersApi.java +++ b/mhd_bms/src/main/java/com/mhd/bms/interfaces/facadeApi/SettlementCustomersApi.java @@ -123,6 +123,21 @@ public class SettlementCustomersApi extends BaseController{ return AjaxResult.success(settlementCustomersApplicationService.getInfoByCode(settlementCustomersCode)); } + /** + * 按结算主体ID(货主等业务主体ID,对应 settlement_entity_id)查询一条结算对象 + */ + @ApiOperation("按结算主体ID查询结算对象") + @GetMapping(value = "/getInfoBySettlementEntityId") + public AjaxResult getInfoBySettlementEntityId( + @RequestParam(value = "settlementEntityId", required = false) Long settlementEntityId, + @RequestParam(value = "topOrganizationId", required = false) Long topOrganizationId) { + if (settlementEntityId == null) { + return AjaxResult.error("缺少必传查询参数 settlementEntityId(货主/结算主体ID,对应 settlement_entity_id)。" + + "GET 请求示例:/settlementCustomersApi/getInfoBySettlementEntityId?settlementEntityId=123456&topOrganizationId=你的租户一级组织ID"); + } + return AjaxResult.success(settlementCustomersApplicationService.getFirstBySettlementEntityId(settlementEntityId, topOrganizationId)); + } + From 151aa4f8b444cf1b6fe5fbbd5d5ab0277f041f7a Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 15:20:04 +0800 Subject: [PATCH 141/418] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessDocumentOrderDTO.java | 4 ++-- .../OriginalImportExportDocumentApi.java | 2 -- .../BusinessDocumentOrderMapper.xml | 2 +- .../ErpEnterpriseUnitMapper.xml | 16 ++++++++-------- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java index 798dd487a..7279b8a20 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java @@ -672,8 +672,8 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{ @ApiModelProperty("$column.columnComment") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") +// @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") +// @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date documentDate; diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java index 251d65f39..08e0da384 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java @@ -98,10 +98,8 @@ public class OriginalImportExportDocumentApi extends BaseController { PageHelper.startPage(pageNo, pageSize); List orderList = businessDocumentOrderApplicationService.queryListAndMaterial(businessDocumentOrderDO); - // ✅ 批量查询货物列表并设置到订单 fillCargoInfo(orderList); - // ✅ 获取分页信息 Page page = (Page) orderList; List resultList = convertToOrderWithMaterialList(orderList); diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index d56e74b4c..bfe739722 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -1200,7 +1200,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - and ORGANIZATION_ID = #{organizationId} + and o.ORGANIZATION_ID = #{organizationId} diff --git a/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml index 828884083..c4a91cbd1 100644 --- a/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml +++ b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml @@ -10,28 +10,28 @@ FROM erp_enterprise_unit WHERE del_flag = 1 - AND erp_code LIKE CONCAT('%', #{do.erpCode}, '%') + AND erp_code LIKE CONCAT('%', #{erpCode}, '%') - AND erp_name LIKE CONCAT('%', #{do.erpName}, '%') + AND erp_name LIKE CONCAT('%', #{erpName}, '%') - AND push_status = #{do.pushStatus} + AND push_status = #{pushStatus} - AND DATE_FORMAT(push_time, '%Y-%m-%d') >= #{do.pushTimeFrom} + AND DATE_FORMAT(push_time, '%Y-%m-%d') >= #{pushTimeFrom} - AND DATE_FORMAT(push_time, '%Y-%m-%d') <= #{do.pushTimeTo} + AND DATE_FORMAT(push_time, '%Y-%m-%d') <= #{pushTimeTo} - AND organization_id = #{do.organizationId} + AND organization_id = #{organizationId} - AND DATE_FORMAT(create_time, '%Y-%m-%d') >= #{do.createTimeFrom} + AND DATE_FORMAT(create_time, '%Y-%m-%d') >= #{createTimeFrom} - AND DATE_FORMAT(create_time, '%Y-%m-%d') <= #{do.createTimeTo} + AND DATE_FORMAT(create_time, '%Y-%m-%d') <= #{createTimeTo} ORDER BY create_time DESC From e85cff8a544bc6928c3d5b52ef014ff3ffec401e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Fri, 15 May 2026 15:22:37 +0800 Subject: [PATCH 142/418] =?UTF-8?q?Feign=E8=B0=83=E7=94=A8=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 1866e2a45..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://127.0.0.1:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { From 5e3a7d364a266bab18e3641acad38327b8f2e27b Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 15:27:30 +0800 Subject: [PATCH 143/418] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpEnterpriseUnitMapper.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml index c4a91cbd1..dd1eaf98e 100644 --- a/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml +++ b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml @@ -10,28 +10,28 @@ FROM erp_enterprise_unit WHERE del_flag = 1 - AND erp_code LIKE CONCAT('%', #{erpCode}, '%') + AND erp_code LIKE CONCAT('%', #{erpEnterpriseUnitDO.erpCode}, '%') - AND erp_name LIKE CONCAT('%', #{erpName}, '%') + AND erp_name LIKE CONCAT('%', #{erpEnterpriseUnitDO.erpName}, '%') - AND push_status = #{pushStatus} + AND push_status = #{erpEnterpriseUnitDO.pushStatus} - AND DATE_FORMAT(push_time, '%Y-%m-%d') >= #{pushTimeFrom} + AND DATE_FORMAT(push_time, '%Y-%m-%d') >= #{erpEnterpriseUnitDO.pushTimeFrom} - AND DATE_FORMAT(push_time, '%Y-%m-%d') <= #{pushTimeTo} + AND DATE_FORMAT(push_time, '%Y-%m-%d') <= #{erpEnterpriseUnitDO.pushTimeTo} - AND organization_id = #{organizationId} + AND organization_id = #{erpEnterpriseUnitDO.organizationId} - AND DATE_FORMAT(create_time, '%Y-%m-%d') >= #{createTimeFrom} + AND DATE_FORMAT(create_time, '%Y-%m-%d') >= #{erpEnterpriseUnitDO.createTimeFrom} - AND DATE_FORMAT(create_time, '%Y-%m-%d') <= #{createTimeTo} + AND DATE_FORMAT(create_time, '%Y-%m-%d') <= #{erpEnterpriseUnitDO.createTimeTo} ORDER BY create_time DESC From 8948ffac5890649cebffc2c321360c61fd785f63 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 15:48:07 +0800 Subject: [PATCH 144/418] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/ErpEnterpriseUnitMapper.java | 2 +- .../ErpEnterpriseUnitMapper.xml | 32 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java index 7d70ef7f2..03003005f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/mapper/ErpEnterpriseUnitMapper.java @@ -18,7 +18,7 @@ public interface ErpEnterpriseUnitMapper extends BaseMapper { * @param erpEnterpriseUnitDO * @return */ - List queryList(@Param("erpEnterpriseUnitDO")ErpEnterpriseUnitDO erpEnterpriseUnitDO); + List queryList(ErpEnterpriseUnitDO erpEnterpriseUnitDO); /** * diff --git a/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml index dd1eaf98e..182ccb7c2 100644 --- a/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml +++ b/mhd_oms/src/main/resources/mapper/erpEnterpriseUnit/ErpEnterpriseUnitMapper.xml @@ -9,29 +9,29 @@ SELECT * FROM erp_enterprise_unit WHERE del_flag = 1 - - AND erp_code LIKE CONCAT('%', #{erpEnterpriseUnitDO.erpCode}, '%') + + AND erp_code LIKE CONCAT('%', #{erpCode}, '%') - - AND erp_name LIKE CONCAT('%', #{erpEnterpriseUnitDO.erpName}, '%') + + AND erp_name LIKE CONCAT('%', #{erpName}, '%') - - AND push_status = #{erpEnterpriseUnitDO.pushStatus} + + AND push_status = #{pushStatus} - - AND DATE_FORMAT(push_time, '%Y-%m-%d') >= #{erpEnterpriseUnitDO.pushTimeFrom} + + AND DATE_FORMAT(push_time, '%Y-%m-%d') >= #{pushTimeFrom} - - AND DATE_FORMAT(push_time, '%Y-%m-%d') <= #{erpEnterpriseUnitDO.pushTimeTo} + + AND DATE_FORMAT(push_time, '%Y-%m-%d') <= #{pushTimeTo} - - AND organization_id = #{erpEnterpriseUnitDO.organizationId} + + AND organization_id = #{organizationId} - - AND DATE_FORMAT(create_time, '%Y-%m-%d') >= #{erpEnterpriseUnitDO.createTimeFrom} + + AND DATE_FORMAT(create_time, '%Y-%m-%d') >= #{createTimeFrom} - - AND DATE_FORMAT(create_time, '%Y-%m-%d') <= #{erpEnterpriseUnitDO.createTimeTo} + + AND DATE_FORMAT(create_time, '%Y-%m-%d') <= #{createTimeTo} ORDER BY create_time DESC From 96c138a2a6df24e22767aea7bd63a42c07a108ce Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 16:32:22 +0800 Subject: [PATCH 145/418] =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessPartnerApplicationService.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java index 5ce1d0038..db78414eb 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java @@ -24,10 +24,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service @Slf4j @@ -91,14 +88,19 @@ public class BusinessPartnerApplicationService { for (BusinessPartnerDTO businessPartnerDTO :businessPartnerDTOList){ - Map body = new HashMap<>(); - body.put("copyCode",businessPartnerDTO.getCorpCode()); - body.put("copyName",businessPartnerDTO.getCorpName()); + // 构建单个对象 + Map item = new HashMap<>(); + item.put("corpCode", businessPartnerDTO.getCorpCode()); + item.put("corpName", businessPartnerDTO.getCorpName()); + +// 包装成数组 + List> bodyList = new ArrayList<>(); + bodyList.add(item); GwLog gwLog = new GwLog(); gwLog.setType("商业合作伙伴"); gwLog.setBusinessId(Long.valueOf(businessPartnerDTO.getShipperId())); - gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setRequestBody(JSONObject.toJSONString(bodyList)); gwLog.setResponseBody(""); gwLog.setStatus(1); gwLog.setSendTime(new Date()); @@ -114,7 +116,7 @@ public class BusinessPartnerApplicationService { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); - StringEntity postingString = new StringEntity(JSONObject.toJSONString(body),"UTF-8"); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(bodyList),"UTF-8"); httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); From aa7130ddfed1143fffd5bdcf7849a7d05a5aefb1 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 19:26:56 +0800 Subject: [PATCH 146/418] =?UTF-8?q?=E7=89=A9=E6=96=99=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../materialBaseInfo/MaterialBaseInfoApi.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java index 3cac82a3f..c780d3ea3 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialBaseInfo/MaterialBaseInfoApi.java @@ -2,6 +2,7 @@ package com.mhd.wms.interfaces.facadeApi.materialBaseInfo; import cn.hutool.core.date.DateUtil; import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; import com.mhd.common.core.domain.entity.R; import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.utils.StringUtils; @@ -151,5 +152,16 @@ public class MaterialBaseInfoApi extends BaseController { return materialBaseInfoApplicationService.getBatchByIds(materialBaseInfoIds); } - + @ApiOperation("查询物料基础信息列表") + @GetMapping("/list1") + public TableDataInfo list1(MaterialBaseInfoDTO materialBaseInfoDTO, + @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) + { + //转换实体 + MaterialBaseInfoDO materialBaseInfoDO = materialBaseInfoAssembler.toDO(materialBaseInfoDTO); + PageHelper.startPage(pageNo, pageSize); + List list = materialBaseInfoApplicationService.queryList(materialBaseInfoDO); + return getDataTable(list); + } } From 64f68657e6ddfd3dd8c890491cd3171cf35b8a36 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 19:27:47 +0800 Subject: [PATCH 147/418] =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpEnterpriseUnitApplicationService.java | 40 +++++++++++++------ .../repository/todo/ErpEnterpriseUnitDO.java | 2 +- .../ErpEnterpriseUnitDTO.java | 5 --- .../ErpEnterpriseUnitApi.java | 7 +++- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java index 8183cab5e..1380a69d4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java @@ -27,10 +27,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service @Slf4j @@ -54,13 +51,23 @@ public class ErpEnterpriseUnitApplicationService { erpEnterpriseUnitDO.setTopOrganizationId(topOrganizationId); } } - PageHelper.startPage(erpEnterpriseUnitDO.getPageNum(),erpEnterpriseUnitDO.getPageSize()); + List list = erpEnterpriseUnitMapper.queryList(erpEnterpriseUnitDO); - Page page = (Page) list; + TableDataInfo tableDataInfo = new TableDataInfo(); - tableDataInfo.setData(list); - tableDataInfo.setTotal(page.getTotal()); tableDataInfo.setCode(200); + + // 判断是否是分页对象(PageHelper 返回的是 Page 类型) + if (list instanceof Page) { + Page page = (Page) list; + tableDataInfo.setData(page.getResult()); // 获取实际数据列表 + tableDataInfo.setTotal(page.getTotal()); // 获取总记录数 + } else { + // 如果没有分页,返回全部数据 + tableDataInfo.setData(list); + tableDataInfo.setTotal((long) list.size()); + } + return tableDataInfo; } @@ -109,14 +116,21 @@ public class ErpEnterpriseUnitApplicationService { StringBuilder failMsg = new StringBuilder(); for (ErpEnterpriseUnitDTO dto : dtoList) { - Map body = new HashMap<>(); - body.put("erpUnitCode", dto.getErpCode()); - body.put("erpUnitName", dto.getErpName()); +// Map body = new HashMap<>(); +// body.put("erpUnitCode", dto.getErpCode()); +// body.put("erpUnitName", dto.getErpName()); + + Map item = new HashMap<>(); + item.put("erpUnitCode", dto.getErpCode()); + item.put("erpUnitName", dto.getErpName()); + List> bodyList = new ArrayList<>(); + bodyList.add(item); + GwLog gwLog = new GwLog(); gwLog.setType("企业单位"); gwLog.setBusinessId(Long.valueOf(dto.getId())); - gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setRequestBody(JSONObject.toJSONString(bodyList)); gwLog.setResponseBody(""); gwLog.setStatus(1); gwLog.setSendTime(new Date()); @@ -132,7 +146,7 @@ public class ErpEnterpriseUnitApplicationService { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); - StringEntity postingString = new StringEntity(JSONObject.toJSONString(body), "UTF-8"); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(bodyList), "UTF-8"); httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/todo/ErpEnterpriseUnitDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/todo/ErpEnterpriseUnitDO.java index e587d1c6c..b1526f878 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/todo/ErpEnterpriseUnitDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/erpEnterpriseUnit/repository/todo/ErpEnterpriseUnitDO.java @@ -46,7 +46,7 @@ public class ErpEnterpriseUnitDO extends BaseVOEntity { private String createTimeTo; @ApiModelProperty(value = "页码") - private Integer pageNum = 1; + private Integer pageNo = 1; @ApiModelProperty(value = "每页数量") private Integer pageSize = 10; diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/erpEnterpriseUnit/ErpEnterpriseUnitDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/erpEnterpriseUnit/ErpEnterpriseUnitDTO.java index 412e80c2b..45253a787 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/erpEnterpriseUnit/ErpEnterpriseUnitDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/erpEnterpriseUnit/ErpEnterpriseUnitDTO.java @@ -45,10 +45,5 @@ public class ErpEnterpriseUnitDTO { @ApiModelProperty(value = "创建时间止") private String createTimeTo; - @ApiModelProperty(value = "页码") - private Integer pageNum = 1; - - @ApiModelProperty(value = "每页数量") - private Integer pageSize = 10; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java index 2ff5a1071..e6f87734a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpEnterpriseUnit/ErpEnterpriseUnitApi.java @@ -1,6 +1,7 @@ package com.mhd.oms.interfaces.facade.erpEnterpriseUnit; +import com.github.pagehelper.PageHelper; import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; @@ -35,9 +36,11 @@ public class ErpEnterpriseUnitApi extends BaseController { @ApiOperation("查询企业单位列表") @GetMapping("/list") - public TableDataInfo list(ErpEnterpriseUnitDTO erpEnterpriseUnitDTO){ + public TableDataInfo list(ErpEnterpriseUnitDTO erpEnterpriseUnitDTO, + @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize){ ErpEnterpriseUnitDO erpEnterpriseUnitDO = erpEnterpriseUnitAssembler.toDO(erpEnterpriseUnitDTO); - startPage(); + PageHelper.startPage(pageNo, pageSize); return erpEnterpriseUnitApplicationService.queryList(erpEnterpriseUnitDO); } From f4e1a1b316ac09c8ae494e0152878bcdef6695ba Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 19:29:14 +0800 Subject: [PATCH 148/418] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=9B=BD=E5=88=AB?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpCountryApplicationService.java | 24 +++++++++++-------- .../businessPartner/BusinessPartnerDTO.java | 2 ++ .../facade/erpCountry/ErpCountryApi.java | 7 ++++-- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java index 7ab2f9017..791d30a6c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java @@ -26,10 +26,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service @Slf4j @@ -52,7 +49,7 @@ public class ErpCountryApplicationService{ erpCountryDTO.setTopOrganizationId(topOrganizationId); } } - PageHelper.startPage(erpCountryDTO.getPageNum(),erpCountryDTO.getPageSize()); + List list = erpCountryMapper.queryList(erpCountryDTO); Page page = (Page) list; @@ -113,14 +110,21 @@ public class ErpCountryApplicationService{ StringBuilder failMsg = new StringBuilder(); for (ErpCountryDTO dto : dtoList) { - Map body = new HashMap<>(); - body.put("erpCountryCode", dto.getErpCountryCode()); - body.put("erpCountryName", dto.getErpCountryName()); +// Map body = new HashMap<>(); +// body.put("erpCountryCode", dto.getErpCountryCode()); +// body.put("erpCountryName", dto.getErpCountryName()); + + Map item = new HashMap<>(); + item.put("erpCountryCode", dto.getErpCountryCode()); + item.put("erpCountryName", dto.getErpCountryName()); + List> bodyList = new ArrayList<>(); + bodyList.add(item); + GwLog gwLog = new GwLog(); gwLog.setType("企业国别"); gwLog.setBusinessId(dto.getId()); - gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setRequestBody(JSONObject.toJSONString(bodyList)); gwLog.setResponseBody(""); gwLog.setStatus(1); gwLog.setSendTime(new Date()); @@ -136,7 +140,7 @@ public class ErpCountryApplicationService{ CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); - StringEntity postingString = new StringEntity(JSONObject.toJSONString(body), "UTF-8"); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(bodyList), "UTF-8"); httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java index 46b79aa2a..3888e3b18 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessPartner/BusinessPartnerDTO.java @@ -47,6 +47,8 @@ public class BusinessPartnerDTO { @ApiModelProperty(value = "页码") private Integer pageNum = 1; + @ApiModelProperty(value = "页码") + private Integer pageNo = 1; @ApiModelProperty(value = "每页数量") private Integer pageSize = 10; diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java index dd5e79990..aa8a9449a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java @@ -1,6 +1,7 @@ package com.mhd.oms.interfaces.facade.erpCountry; +import com.github.pagehelper.PageHelper; import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; @@ -25,8 +26,10 @@ public class ErpCountryApi extends BaseController{ @ApiOperation("查询企业国别列表") @GetMapping("/list") - public TableDataInfo list(ErpCountryDTO erpCountryDTO){ - startPage(); + public TableDataInfo list(ErpCountryDTO erpCountryDTO, + @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize){ + PageHelper.startPage(pageNo, pageSize); return erpCountryApplicationService.queryList(erpCountryDTO); } From b883d5ba8f0e8bad677265667a40664c09ccbcd2 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 19:30:53 +0800 Subject: [PATCH 149/418] =?UTF-8?q?=E5=95=86=E4=B8=9A=E5=90=88=E4=BD=9C?= =?UTF-8?q?=E4=BC=99=E4=BC=B4=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mhd/user/interfaces/facade/UserShipperAPI.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java index d354f95aa..0cda4e023 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserShipperAPI.java @@ -1,5 +1,6 @@ package com.mhd.user.interfaces.facade; +import com.github.pagehelper.PageHelper; import com.mhd.common.core.domain.entity.R; import com.mhd.common.core.utils.bean.BeanUtils; import com.mhd.common.log.annotation.Log; @@ -254,4 +255,17 @@ public class UserShipperAPI extends BaseController { } } + @Log(title = "托运人管理-查询", description ="查询托运人列表",businessType = BusinessType.INQUIRE) + @ApiOperation("查询托运人列表") + @GetMapping("/userShipperList1") + public TableDataInfo userShipperList1(UserShipperDTO userShipperDTO, + @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) { + //转换实体 + UserShipperDO userShipperDO = userShipperAssember.toUserShipperDO(userShipperDTO); + PageHelper.startPage(pageNo, pageSize); + List list = userShipperApplicationService.userShipperList(userShipperDO); + return getDataTable(list); + } + } From 9addf7c407dfe3bb8a739385c113076e5df995b3 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Fri, 15 May 2026 20:17:41 +0800 Subject: [PATCH 150/418] =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sinessDocumentOrderApplicationService.java | 2 ++ .../ExchangeRateApplicationService.java | 14 ++++++++----- .../MaterialInfoApplicationService.java | 20 +++++++++---------- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index 3216a2028..e720f506a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -187,6 +187,8 @@ public class BusinessDocumentOrderApplicationService { billList.add(billMap); } body.put("billList",billList); + List> bodyList = new ArrayList<>(); + bodyList.add(body); if (pushData.getId() != null) { updatePushStatus(pushData.getId(), 2, null, String.valueOf(pushBy), pushByName); diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java index e04ba6238..7649e424d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java @@ -96,14 +96,18 @@ public class ExchangeRateApplicationService { StringBuilder failMsg = new StringBuilder(); for (ExchangeRateDTO dto : exchangeRateDTOList) { - Map body = new HashMap<>(); - body.put("erpCurrCode", dto.getErpCurrCode()); - body.put("erpCurrName", dto.getErpCurrName()); + + Map item = new HashMap<>(); + item.put("erpCurrCode", dto.getErpCurrCode()); + item.put("erpCurrName", dto.getErpCurrName()); + List> bodyList = new ArrayList<>(); + bodyList.add(item); + GwLog gwLog = new GwLog(); gwLog.setType("汇率管理"); gwLog.setBusinessId(Long.valueOf(dto.getId())); - gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setRequestBody(JSONObject.toJSONString(bodyList)); gwLog.setResponseBody(""); gwLog.setStatus(1); gwLog.setSendTime(new Date()); @@ -120,7 +124,7 @@ public class ExchangeRateApplicationService { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); - StringEntity postingString = new StringEntity(JSONObject.toJSONString(body), "UTF-8"); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(bodyList), "UTF-8"); httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java index 64277b4a4..46bb9f600 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java @@ -23,10 +23,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service @Slf4j @@ -80,8 +77,8 @@ public class MaterialInfoApplicationService { StringBuilder failMsg = new StringBuilder(); for (MaterialInfoDTO dto : dtoList) { - Map body = new HashMap<>(); - body.put("goodsCode", dto.getMaterialCode()); + Map item = new HashMap<>(); + item.put("goodsCode", dto.getMaterialCode()); String goodsTypeString; if(dto.getGoodsType() == 0){ @@ -93,14 +90,15 @@ public class MaterialInfoApplicationService { }else{ throw new ServiceException("货物类型不存在"); } - body.put("goodsType", goodsTypeString); - body.put("erpName", dto.getMaterialName()); - + item.put("goodsType", goodsTypeString); + item.put("erpName", dto.getMaterialName()); + List> bodyList = new ArrayList<>(); + bodyList.add(item); GwLog gwLog = new GwLog(); gwLog.setType("物料管理"); gwLog.setBusinessId(dto.getMaterialBaseInfoId()); - gwLog.setRequestBody(JSONObject.toJSONString(body)); + gwLog.setRequestBody(JSONObject.toJSONString(bodyList)); gwLog.setResponseBody(""); gwLog.setStatus(1); gwLog.setSendTime(new Date()); @@ -116,7 +114,7 @@ public class MaterialInfoApplicationService { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(PUSH_API_URL); - StringEntity postingString = new StringEntity(JSONObject.toJSONString(body), "UTF-8"); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(bodyList), "UTF-8"); httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); From 6d0211d6868d0dcb548d7294c07b7002e08c252b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 16 May 2026 09:59:11 +0800 Subject: [PATCH 151/418] =?UTF-8?q?=E8=AE=A1=E8=B4=B9=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ContractManageApplicationService.java | 90 ++++++++++--------- 1 file changed, 48 insertions(+), 42 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java index e6cc462bf..8f5866b86 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java @@ -509,52 +509,60 @@ public class ContractManageApplicationService { .eq(ContractManage::getTopOrganizationId, topOrganizationId) .eq(ContractManage::getCommonContractFlag, 2)); if (UserContractManages != null && UserContractManages.size() > 0) { + //用户合同计费策略 + calucateSubjectStrategy(UserContractManages, organizationId, topOrganizationId, sunjectCode, result); }else{ + //通用合同计费策略 List commonContractManages = contractManageMapper.selectList(new LambdaQueryWrapper() .eq(ContractManage::getDelFlag, 1) .eq(ContractManage::getOrganizationId, organizationId) .eq(ContractManage::getTopOrganizationId, topOrganizationId) .eq(ContractManage::getCommonContractFlag, 1)); - if (commonContractManages != null && commonContractManages.size() > 0) { - ContractManage contractManage = commonContractManages.get(0); - Long contractManageId = contractManage.getContractManageId(); - List contractManageDetails = contractManageDetailMapper.selectList(new LambdaQueryWrapper() - .eq(ContractManageDetail::getContractManageId, contractManageId) - .eq(ContractManageDetail::getDelFlag, 1)); - if (contractManageDetails != null && contractManageDetails.size() > 0) { - for (ContractManageDetail contractManageDetail : contractManageDetails) { - String code = contractManageDetail.getFirstSubjectCode(); - if (sunjectCode.equals(code)) { - Long accountingStrategyId = contractManageDetail.getAccountingStrategyId(); - BillingRulesPO billingRule = contractManageDetailMapper.getBillingRules(accountingStrategyId); - if (billingRule != null) { - Long billingRulesId = billingRule.getBillingRulesId(); - List billingParams = contractManageDetailMapper.getBillingParams(billingRulesId); - if (billingParams != null && billingParams.size() > 0) { - BillingParamsPO billingParam = billingParams.get(0); - String billingParamsJson = billingParam.getBillingParamsJson(); - String preSetRules = billingParam.getPreSetRules(); - Long billingParamsId = billingParam.getBillingParamsId(); - List> billingParamsList = JSON.parseObject(billingParamsJson, new TypeReference>>() {}); - for (Map stringObjectMap : billingParamsList) { - String fieldsName = (String) stringObjectMap.get("fieldsName"); - String isShow = (String) stringObjectMap.get("isShow"); - String isFee = (String) stringObjectMap.get("isFee"); - String isPush = (String) stringObjectMap.get("isPush"); - if ("1".equals(isShow)) { - String chargingId = (String) stringObjectMap.get("chargingId"); - String fields = (String) stringObjectMap.get("fields"); - SubjectAndPriceReturn subjectAndPriceReturn = new SubjectAndPriceReturn(); - subjectAndPriceReturn.setName(fieldsName); - subjectAndPriceReturn.setChargingId(chargingId); - subjectAndPriceReturn.setFields(fields); - subjectAndPriceReturn.setBillingRulesId(billingRulesId); - subjectAndPriceReturn.setIsShow(isShow); - subjectAndPriceReturn.setIsFee(isFee); - subjectAndPriceReturn.setIsPush(isPush); - subjectAndPriceReturn.setRulesId(billingParamsId); - result.add(subjectAndPriceReturn); - } + calucateSubjectStrategy(commonContractManages, organizationId, topOrganizationId, sunjectCode, result); + } + return result; + } + + private void calucateSubjectStrategy(List commonContractManages, Long organizationId, Long topOrganizationId, String sunjectCode, List result) { + if (commonContractManages != null && commonContractManages.size() > 0) { + ContractManage contractManage = commonContractManages.get(0); + Long contractManageId = contractManage.getContractManageId(); + List contractManageDetails = contractManageDetailMapper.selectList(new LambdaQueryWrapper() + .eq(ContractManageDetail::getContractManageId, contractManageId) + .eq(ContractManageDetail::getDelFlag, 1)); + if (contractManageDetails != null && contractManageDetails.size() > 0) { + for (ContractManageDetail contractManageDetail : contractManageDetails) { + String code = contractManageDetail.getFirstSubjectCode(); + if (sunjectCode.equals(code)) { + Long accountingStrategyId = contractManageDetail.getAccountingStrategyId(); + BillingRulesPO billingRule = contractManageDetailMapper.getBillingRules(accountingStrategyId); + if (billingRule != null) { + Long billingRulesId = billingRule.getBillingRulesId(); + List billingParams = contractManageDetailMapper.getBillingParams(billingRulesId); + if (billingParams != null && billingParams.size() > 0) { + BillingParamsPO billingParam = billingParams.get(0); + String billingParamsJson = billingParam.getBillingParamsJson(); + String preSetRules = billingParam.getPreSetRules(); + Long billingParamsId = billingParam.getBillingParamsId(); + List> billingParamsList = JSON.parseObject(billingParamsJson, new TypeReference>>() {}); + for (Map stringObjectMap : billingParamsList) { + String fieldsName = (String) stringObjectMap.get("fieldsName"); + String isShow = (String) stringObjectMap.get("isShow"); + String isFee = (String) stringObjectMap.get("isFee"); + String isPush = (String) stringObjectMap.get("isPush"); + if ("1".equals(isShow)) { + String chargingId = (String) stringObjectMap.get("chargingId"); + String fields = (String) stringObjectMap.get("fields"); + SubjectAndPriceReturn subjectAndPriceReturn = new SubjectAndPriceReturn(); + subjectAndPriceReturn.setName(fieldsName); + subjectAndPriceReturn.setChargingId(chargingId); + subjectAndPriceReturn.setFields(fields); + subjectAndPriceReturn.setBillingRulesId(billingRulesId); + subjectAndPriceReturn.setIsShow(isShow); + subjectAndPriceReturn.setIsFee(isFee); + subjectAndPriceReturn.setIsPush(isPush); + subjectAndPriceReturn.setRulesId(billingParamsId); + result.add(subjectAndPriceReturn); } } } @@ -563,10 +571,8 @@ public class ContractManageApplicationService { } } } - return result; } - /** * 新增合同管理 */ From de9962a4de641c327aa334a9b0e939e59d0b0d53 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Sat, 16 May 2026 10:17:31 +0800 Subject: [PATCH 152/418] =?UTF-8?q?=E7=89=A9=E6=96=99=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BA=BA=E5=A7=93=E5=90=8D=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/materialBaseInfo/MaterialBaseInfoMapper.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml b/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml index 20541de70..bbd6659e7 100644 --- a/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml +++ b/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml @@ -63,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -71,7 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" material_classify_name, a.material_type, a.material_type_name, a.pack_id, a.pack_code, a.pack_name, a.unit_code, a.unit_name, a.brand_id, a.brand_code, a.brand_name, a.shelf_life, a.weight_limit, a.volume_limit, a.material_shape, material_shape_name, a.material_size, a.material_length, a.material_width, a.material_height, a.remark, a.nullify, a.create_time, a.create_by, a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.common, sku_code, a.unit_price, a.currency, a.origin_country, a.hs_code, a.declaration_unit, a.statutory_unit, a.statutory_second_unit, a.copy_code, - a.push_status,a.push_time,a.push_by,a.goods_type,a.gross_weight, + a.push_status,a.push_time,a.push_by,a.goods_type,a.gross_weight,a.push_by_name, specification_model as specification_model,nvl(b.stock_qty,0) as stock_quantity from material_base_info a left join ( select material_base_info_id, sum(INVENTORY_QUANTITY) as stock_qty from MATERIAL_INVENTORY group by material_base_info_id ) b on a.material_base_info_id = b.material_base_info_id From 3b5674b10ccc1830b7453acab4993a460e9f13e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 16 May 2026 10:43:09 +0800 Subject: [PATCH 153/418] =?UTF-8?q?=E8=AE=A1=E8=B4=B9=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ContractManageApplicationService.java | 113 ++++++++++-------- 1 file changed, 60 insertions(+), 53 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java index 8f5866b86..0a48641b3 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java @@ -275,64 +275,16 @@ public class ContractManageApplicationService { .eq(ContractManage::getTopOrganizationId, topOrganizationId) .eq(ContractManage::getCommonContractFlag, 2)); if (UserContractManages != null && UserContractManages.size() > 0) { - }else{ + //用户合同计费策略 + calucateSubjectAndPriceStrategy(UserContractManages, organizationId, topOrganizationId, sunjectCode, result); + } else { + //通用合同计费策略 List commonContractManages = contractManageMapper.selectList(new LambdaQueryWrapper() .eq(ContractManage::getDelFlag, 1) .eq(ContractManage::getOrganizationId, organizationId) .eq(ContractManage::getTopOrganizationId, topOrganizationId) .eq(ContractManage::getCommonContractFlag, 1)); - if (commonContractManages != null && commonContractManages.size() > 0) { - ContractManage contractManage = commonContractManages.get(0); - Long contractManageId = contractManage.getContractManageId(); - List contractManageDetails = contractManageDetailMapper.selectList(new LambdaQueryWrapper() - .eq(ContractManageDetail::getContractManageId, contractManageId) - .eq(ContractManageDetail::getDelFlag, 1)); - if (contractManageDetails != null && contractManageDetails.size() > 0) { - for (ContractManageDetail contractManageDetail : contractManageDetails) { - String code = contractManageDetail.getFirstSubjectCode(); - if (sunjectCode.equals(code)) { - Long accountingStrategyId = contractManageDetail.getAccountingStrategyId(); - BillingRulesPO billingRule = contractManageDetailMapper.getBillingRules(accountingStrategyId); - if (billingRule != null) { - Long billingRulesId = billingRule.getBillingRulesId(); - List billingParams = contractManageDetailMapper.getBillingParams(billingRulesId); - if (billingParams != null && billingParams.size() > 0) { - BillingParamsPO billingParam = billingParams.get(0); - String billingParamsJson = billingParam.getBillingParamsJson(); - String preSetRules = billingParam.getPreSetRules(); - Long billingParamsId = billingParam.getBillingParamsId(); - List> preSetRulesList = JSON.parseObject(preSetRules, new TypeReference>>() {}); - List> billingParamsList = JSON.parseObject(billingParamsJson, new TypeReference>>() {}); - Map stringObjectMap1 = preSetRulesList.get(0); - for (Map stringObjectMap : billingParamsList) { - String fieldsName = (String) stringObjectMap.get("fieldsName"); - String isShow = (String) stringObjectMap.get("isShow"); - String isFee = (String) stringObjectMap.get("isFee"); - String isPush = (String) stringObjectMap.get("isPush"); - if ("1".equals(isFee)) { - Integer sort = (Integer) stringObjectMap.get("sort"); - String chargingId = (String) stringObjectMap.get("chargingId"); - String fields = (String) stringObjectMap.get("fields"); - String price = (String) stringObjectMap1.get("fields" + sort); - SubjectAndPriceReturn subjectAndPriceReturn = new SubjectAndPriceReturn(); - subjectAndPriceReturn.setName(fieldsName); - subjectAndPriceReturn.setPrice(new BigDecimal(price)); - subjectAndPriceReturn.setChargingId(chargingId); - subjectAndPriceReturn.setFields(fields); - subjectAndPriceReturn.setBillingRulesId(billingRulesId); - subjectAndPriceReturn.setIsShow(isShow); - subjectAndPriceReturn.setIsFee(isFee); - subjectAndPriceReturn.setIsPush(isPush); - subjectAndPriceReturn.setRulesId(billingParamsId); - result.add(subjectAndPriceReturn); - } - } - } - } - } - } - } - } + calucateSubjectAndPriceStrategy(commonContractManages, organizationId, topOrganizationId, sunjectCode, result); } return result; } @@ -573,6 +525,61 @@ public class ContractManageApplicationService { } } + private void calucateSubjectAndPriceStrategy(List contractManages, Long organizationId, Long topOrganizationId, String sunjectCode, List result) { + if (contractManages != null && contractManages.size() > 0) { + ContractManage contractManage = contractManages.get(0); + Long contractManageId = contractManage.getContractManageId(); + List contractManageDetails = contractManageDetailMapper.selectList(new LambdaQueryWrapper() + .eq(ContractManageDetail::getContractManageId, contractManageId) + .eq(ContractManageDetail::getDelFlag, 1)); + if (contractManageDetails != null && contractManageDetails.size() > 0) { + for (ContractManageDetail contractManageDetail : contractManageDetails) { + String code = contractManageDetail.getFirstSubjectCode(); + if (sunjectCode.equals(code)) { + Long accountingStrategyId = contractManageDetail.getAccountingStrategyId(); + BillingRulesPO billingRule = contractManageDetailMapper.getBillingRules(accountingStrategyId); + if (billingRule != null) { + Long billingRulesId = billingRule.getBillingRulesId(); + List billingParams = contractManageDetailMapper.getBillingParams(billingRulesId); + if (billingParams != null && billingParams.size() > 0) { + BillingParamsPO billingParam = billingParams.get(0); + String billingParamsJson = billingParam.getBillingParamsJson(); + String preSetRules = billingParam.getPreSetRules(); + Long billingParamsId = billingParam.getBillingParamsId(); + List> preSetRulesList = JSON.parseObject(preSetRules, new TypeReference>>() {}); + List> billingParamsList = JSON.parseObject(billingParamsJson, new TypeReference>>() {}); + Map stringObjectMap1 = preSetRulesList.get(0); + for (Map stringObjectMap : billingParamsList) { + String fieldsName = (String) stringObjectMap.get("fieldsName"); + String isShow = (String) stringObjectMap.get("isShow"); + String isFee = (String) stringObjectMap.get("isFee"); + String isPush = (String) stringObjectMap.get("isPush"); + if ("1".equals(isFee)) { + Integer sort = (Integer) stringObjectMap.get("sort"); + String chargingId = (String) stringObjectMap.get("chargingId"); + String fields = (String) stringObjectMap.get("fields"); + String price = (String) stringObjectMap1.get("fields" + sort); + SubjectAndPriceReturn subjectAndPriceReturn = new SubjectAndPriceReturn(); + subjectAndPriceReturn.setName(fieldsName); + subjectAndPriceReturn.setPrice(new BigDecimal(price)); + subjectAndPriceReturn.setChargingId(chargingId); + subjectAndPriceReturn.setFields(fields); + subjectAndPriceReturn.setBillingRulesId(billingRulesId); + subjectAndPriceReturn.setIsShow(isShow); + subjectAndPriceReturn.setIsFee(isFee); + subjectAndPriceReturn.setIsPush(isPush); + subjectAndPriceReturn.setRulesId(billingParamsId); + result.add(subjectAndPriceReturn); + } + } + } + } + } + } + } + } + } + /** * 新增合同管理 */ From 20d67dfad1d9aa283788339fe5aca4e2bb4e3c31 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Sat, 16 May 2026 10:49:25 +0800 Subject: [PATCH 154/418] =?UTF-8?q?=E5=88=A0=E6=94=B9=E5=8D=95=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E6=B7=BB=E5=8A=A0/=E6=9F=A5=E8=AF=A2=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=88=A0=E6=94=B9=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/BusinessDocumentOrder.java | 20 ++++++++++++++++++ .../po/BusinessDocumentOrderPO.java | 20 ++++++++++++++++++ .../todo/BusinessDocumentOrderDO.java | 21 +++++++++++++++++++ .../BusinessDocumentOrderDTO.java | 20 ++++++++++++++++++ .../BusinessDocumentOrderMapper.xml | 9 ++++++++ 5 files changed, 90 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java index 434ec0e1e..c5d38f1dc 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java @@ -773,4 +773,24 @@ public class BusinessDocumentOrder extends BaseVOEntity{ @ApiModelProperty("推送人姓名") private String pushByName; + + @ApiModelProperty("删改单申请类型:0-改单 1-删除 2-作废") + private Integer reviseApplyType; + + @ApiModelProperty("删改单申请状态:0-未申请 1-申请成功 2-申请失败") + private Integer reviseApplyStatus; + + @ApiModelProperty("删改单申请人") + private String reviseApplyBy; + + @ApiModelProperty("删改单申请人姓名") + private String reviseApplyByName; + + @ApiModelProperty("删改单申请原因") + private String reviseApplyReason; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("删改单申请时间") + private Date reviseApplyTime; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java index ccac29933..861817d6f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java @@ -800,4 +800,24 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{ @ApiModelProperty("商品类型") private Integer productType; + @ApiModelProperty("删改单申请类型:0-改单 1-删除 2-作废") + private Integer reviseApplyType; + + @ApiModelProperty("删改单申请状态:0-未申请 1-申请成功 2-申请失败") + private Integer reviseApplyStatus; + + @ApiModelProperty("删改单申请人") + private String reviseApplyBy; + + @ApiModelProperty("删改单申请人姓名") + private String reviseApplyByName; + + @ApiModelProperty("删改单申请原因") + private String reviseApplyReason; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("删改单申请时间") + private Date reviseApplyTime; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java index c27e9f254..ee66a54ea 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java @@ -843,4 +843,25 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date pushTimeEnd; + + @ApiModelProperty("删改单申请类型:0-改单 1-删除 2-作废") + private Integer reviseApplyType; + + @ApiModelProperty("删改单申请状态:0-未申请 1-申请成功 2-申请失败") + private Integer reviseApplyStatus; + + @ApiModelProperty("删改单申请人") + private String reviseApplyBy; + + @ApiModelProperty("删改单申请人姓名") + private String reviseApplyByName; + + @ApiModelProperty("删改单申请原因") + private String reviseApplyReason; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("删改单申请时间") + private Date reviseApplyTime; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java index 7279b8a20..2f3e9cb4a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java @@ -860,4 +860,24 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date pushTimeEnd; + + @ApiModelProperty("删改单申请类型:0-改单 1-删除 2-作废") + private Integer reviseApplyType; + + @ApiModelProperty("删改单申请状态:0-未申请 1-申请成功 2-申请失败") + private Integer reviseApplyStatus; + + @ApiModelProperty("删改单申请人") + private String reviseApplyBy; + + @ApiModelProperty("删改单申请人姓名") + private String reviseApplyByName; + + @ApiModelProperty("删改单申请原因") + private String reviseApplyReason; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("删改单申请时间") + private Date reviseApplyTime; } diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index bfe739722..fcc87175f 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -175,6 +175,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + @@ -1227,6 +1233,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and IE_TYPE = #{ieType} + + and REVISE_APPLY_TYPE = #{reviseApplyType} + From 5aba02d478018b97ddce453d4a53bcc83a39b2bd Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Sat, 16 May 2026 10:50:01 +0800 Subject: [PATCH 155/418] =?UTF-8?q?sql-=E5=A2=9E=E5=88=A0=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/oms20260513.sql | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/sql/oms20260513.sql b/sql/oms20260513.sql index b32f8374c..1251ab9bb 100644 --- a/sql/oms20260513.sql +++ b/sql/oms20260513.sql @@ -135,4 +135,41 @@ alter table NGWL_TEST_OMS.ERP_COUNTRY add PUSH_BY_NAME varchar(100); comment -on column NGWL_TEST_OMS.ERP_COUNTRY.PUSH_BY_NAME is '托送人姓名'; \ No newline at end of file +on column NGWL_TEST_OMS.ERP_COUNTRY.PUSH_BY_NAME is '托送人姓名'; + + +alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER + add REVISE_APPLY_TYPE int; + +comment +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.REVISE_APPLY_TYPE is '删改单申请类型:0-改单 1-删除 2-作废'; + +alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER + add REVISE_APPLY_STATUS int default 0; + +comment +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.REVISE_APPLY_STATUS is '删改单申请状态:0-未申请 1-申请成功 2-申请失败'; + +alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER + add REVISE_APPLY_REASON varchar(255); + +comment +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.REVISE_APPLY_REASON is '删改单申请原因'; + +alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER + add REVISE_APPLY_BY varchar(50); + +comment +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.REVISE_APPLY_BY is '删改单申请人'; + +alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER + add REVISE_APPLY_BY_NAME varchar(100); + +comment +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.REVISE_APPLY_BY_NAME is '删改单申请人姓名'; + +alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER + add REVISE_APPLY_TIME timestamp; + +comment +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.REVISE_APPLY_TIME is '删改单申请时间'; \ No newline at end of file From c539b865355b00e36f2f173e59eec1eac903c27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 16 May 2026 14:23:31 +0800 Subject: [PATCH 156/418] =?UTF-8?q?=E5=85=A5=E5=BA=93=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E5=8D=95=E6=8C=89=E6=98=AF=E5=90=A6=E6=8A=A5=E5=85=B3=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mhd/system/api/domain/StockOutOrder.java | 2 +- .../system/api/domain/StockOutOrderTZPD.java | 2 +- .../repository/vo/GwInDetail.java | 29 +++++++++ .../repository/vo/GwStockInOrder.java | 18 +++++ .../entity/ReservationStockOutOrder.java | 2 +- .../po/ReservationStockOutOrderPO.java | 2 +- .../todo/ReservationStockOutOrderDO.java | 2 +- .../todo/ReservationStockOutOrderDTO.java | 2 +- .../repository/vo/GwOutDetail.java | 41 ++++++++++++ .../repository/vo/GwStockOutOrder.java | 18 +++++ ...ReserveStockInOrderApplicationService.java | 65 ------------------- .../entity/ReserveStockOutOrder.java | 2 +- .../repository/po/ReserveStockOutOrderPO.java | 2 +- .../todo/ReserveStockOutOrderDO.java | 2 +- .../todo/ReserveStockOutOrderDTO.java | 6 +- .../ReserveStockInOrderMapper.xml | 1 + .../stockOutOrder/entity/StockOutOrder.java | 2 +- .../repository/po/StockOutOrderPO.java | 2 +- .../repository/todo/StockOutOrderDO.java | 2 +- .../dto/stockOutOrder/StockOutOrderDTO.java | 2 +- 20 files changed, 123 insertions(+), 81 deletions(-) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwInDetail.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwStockInOrder.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwOutDetail.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwStockOutOrder.java diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrder.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrder.java index f1c0d57ed..1262d9c9b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrder.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrder.java @@ -336,7 +336,7 @@ public class StockOutOrder extends BaseVOEntity { @ApiModelProperty("出仓日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrderTZPD.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrderTZPD.java index 179712da9..4d17f89d2 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrderTZPD.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrderTZPD.java @@ -336,7 +336,7 @@ public class StockOutOrderTZPD extends BaseVOEntity { @ApiModelProperty("出仓日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwInDetail.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwInDetail.java new file mode 100644 index 000000000..29d63b61e --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwInDetail.java @@ -0,0 +1,29 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class GwInDetail { + //订单号 + private String bill_no; + //订单行号 + private Integer line_num; + //物料号 + private String item_no; + //物料名称 + private String item_name; + //物料规格 + private String spec; + //计量单位 + private String unit; + //数量 + private BigDecimal qty; + //企业币制 + private String erp_curr; + //企业单价 + private BigDecimal erp_price; + //申报总价 + private BigDecimal amount; +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwStockInOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwStockInOrder.java new file mode 100644 index 000000000..aa3778065 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwStockInOrder.java @@ -0,0 +1,18 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.vo; + +import lombok.Data; + +import java.util.Date; + +@Data +public class GwStockInOrder { + //订单号 + private String bill_no; + //进出标记 + private String ie_flag; + //下单日期 + private Date bill_date; + //客户代码 + private String corp_code; + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java index 612e30467..fd371f884 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java @@ -336,7 +336,7 @@ public class ReservationStockOutOrder extends BaseVOEntity { @ApiModelProperty("出仓日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java index 45c80a792..0afa844b3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java @@ -340,7 +340,7 @@ public class ReservationStockOutOrderPO extends BaseVOEntity { @ApiModelProperty("出仓日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java index c5cdaeb82..800cc98ec 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java @@ -361,7 +361,7 @@ public class ReservationStockOutOrderDO extends BaseVOEntity { @ApiModelProperty("出仓日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java index 5cd9296a5..81cd059aa 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java @@ -351,7 +351,7 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO @ApiModelProperty("出仓日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwOutDetail.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwOutDetail.java new file mode 100644 index 000000000..dfe01cc5a --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwOutDetail.java @@ -0,0 +1,41 @@ +package com.mhd.oms.domain.reservationStockOutOrder.repository.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class GwOutDetail { + //订单号 + private String bill_no; + //订单行号 + private Integer line_num; + //物料号 + private String item_no; + //物料名称 + private String item_name; + //物料规格 + private String spec; + //计量单位 + private String unit; + //数量 + private BigDecimal qty; + //企业币制 + private String erp_curr; + //企业单价 + private BigDecimal erp_price; + //申报总价 + private BigDecimal amount; + //入仓订单号 + private String order_i_no; + //入仓订单行号 + private Integer order_i_row; + //仓库 + private String warehouse; + //库位 + private String op_wh_loc; + //入库单编号 + private String bill_i; + //入库单行号 + private Integer bill_i_row; +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwStockOutOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwStockOutOrder.java new file mode 100644 index 000000000..bff4dadc7 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwStockOutOrder.java @@ -0,0 +1,18 @@ +package com.mhd.oms.domain.reservationStockOutOrder.repository.vo; + +import lombok.Data; + +import java.util.Date; + +@Data +public class GwStockOutOrder { + //订单号 + private String bill_no; + //进出标记 + private String ie_flag; + //下单日期 + private Date bill_date; + //客户代码 + private String corp_code; + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java index 416b12756..5fbb699b4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/service/ReserveStockInOrderApplicationService.java @@ -212,71 +212,6 @@ public class ReserveStockInOrderApplicationService { public List inAndOutList(ReserveStockInOrderDO stockInOrderDO) { LoginUser loginUser = SecurityUtils.getLoginUser(); -// if (loginUser != null && loginUser.getUserPo() != null){ -// Long userOrganizationId = loginUser.getUserPo().getOrganizationId(); -// Long frontendOrganizationId = stockInOrderDO.getOrganizationId(); -// if (userOrganizationId != null && userOrganizationId == 2827L) { -// if (frontendOrganizationId != null) { -// stockInOrderDO.setOrganizationId(frontendOrganizationId); -// stockInOrderDO.setTopOrganizationId(null); -// } else { -// stockInOrderDO.setOrganizationId(null); -// stockInOrderDO.setTopOrganizationId(null); -// } -// } else { -// if (frontendOrganizationId != null && userOrganizationId != null) { -// if (!frontendOrganizationId.equals(userOrganizationId)) { -// stockInOrderDO.setOrganizationId(userOrganizationId); -// } -// } else { -// if (userOrganizationId != null) { -// stockInOrderDO.setOrganizationId(userOrganizationId); -// } -// } -// if (stockInOrderDO.getOrganizationId() == null) { -// Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); -// if (topOrganizationId != null && topOrganizationId != 1) { -// stockInOrderDO.setTopOrganizationId(topOrganizationId); -// } -// } else { -// stockInOrderDO.setTopOrganizationId(2827L); -// } -// } -// if (stockInOrderDO.getWarehouseId() == null) { -// AssociationWarehouseCacheDO associationWarehouseCacheDO = -// SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); -// if (associationWarehouseCacheDO != null) { -// stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); -// } -// } -// } - -// if (loginUser != null) { -// String targetRoleCode = "KGY-001"; -// boolean isKuGuan = false; -// -// String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null; -// if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) { -// isKuGuan = true; -// } -// -// if (!isKuGuan && loginUser.getRoleList() != null) { -// isKuGuan = loginUser.getRoleList().stream() -// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); -// } -// -// if (!isKuGuan && loginUser.getRoles() != null) { -// isKuGuan = loginUser.getRoles().stream() -// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode)); -// } -// -// if (isKuGuan) { -// Integer currentGtStatus = stockInOrderDO.getGtStatus(); -// if (currentGtStatus == null || currentGtStatus < 1) { -// stockInOrderDO.setGtStatus(1); // status > 1 -// } -// } -// } return stockInOrderDomainService.inAndOutList(stockInOrderDO); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/entity/ReserveStockOutOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/entity/ReserveStockOutOrder.java index 011a034c0..df038d1d2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/entity/ReserveStockOutOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/entity/ReserveStockOutOrder.java @@ -336,7 +336,7 @@ public class ReserveStockOutOrder extends BaseVOEntity { @ApiModelProperty("出仓日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/po/ReserveStockOutOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/po/ReserveStockOutOrderPO.java index b69e63212..ff1b7b4ce 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/po/ReserveStockOutOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/po/ReserveStockOutOrderPO.java @@ -338,7 +338,7 @@ public class ReserveStockOutOrderPO extends BaseVOEntity { @ApiModelProperty("出仓日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDO.java index c21198d0f..764b2a85d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDO.java @@ -361,7 +361,7 @@ public class ReserveStockOutOrderDO extends BaseVOEntity { @ApiModelProperty("出仓日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDTO.java index c237aae51..20936f30d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDTO.java @@ -349,9 +349,9 @@ public class ReserveStockOutOrderDTO extends ReserveStockOutOrderBaseDTO { private String containerNoName; @ApiModelProperty("出仓日期") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml index 22c46f3bb..0c1fdec26 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml @@ -661,6 +661,7 @@ and a.customer_id = #{customerId} + order by a."createTime" desc diff --git a/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml index ecc8d3e57..b4f650624 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml @@ -277,6 +277,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.check_status < #{ltCheckStatus} + + and a.business_order_no = #{businessOrderNo} + + + and a.issue_status = #{issueStatus} + and a.create_by_name like concat('%', #{createByName}, '%') From 9fcacbf9aff1823bb37e162dfbabb960292dd5df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 18 May 2026 11:49:08 +0800 Subject: [PATCH 161/418] =?UTF-8?q?=E5=85=B3=E5=8A=A1=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=B3=E5=8A=A1=E6=8E=A8=E9=80=81=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=AD=97=E6=AE=B5;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ReservationStockInOrder.java | 4 ++++ .../repository/po/ReservationStockInOrderPO.java | 4 ++++ .../repository/todo/ReservationStockInOrderDO.java | 4 ++++ .../repository/todo/ReservationStockInOrderDTO.java | 4 ++++ .../entity/ReservationStockOutOrder.java | 4 ++++ .../repository/po/ReservationStockOutOrderPO.java | 4 ++++ .../repository/todo/ReservationStockOutOrderDO.java | 4 ++++ .../repository/todo/ReservationStockOutOrderDTO.java | 4 ++++ .../ReservationStockInOrderMapper.xml | 3 ++- .../ReservationStockOutOrderMapper.xml | 3 ++- .../mhd/wms/domain/pickingOrder/entity/PickingOrder.java | 6 +++++- .../domain/pickingOrder/repository/po/PickingOrderPO.java | 7 ++++--- .../pickingOrder/repository/todo/PickingOrderDO.java | 6 +++++- .../wms/domain/stockShelfOrder/entity/StockShelfOrder.java | 6 +++++- .../stockShelfOrder/repository/po/StockShelfOrderPO.java | 6 +++++- .../stockShelfOrder/repository/todo/StockShelfOrderDO.java | 6 +++++- .../wms/interfaces/dto/pickingOrder/PickingOrderDTO.java | 6 +++++- .../interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java | 6 +++++- .../resources/mapper/pickingOrder/PickingOrderMapper.xml | 3 ++- .../mapper/stockShelfOrder/StockShelfOrderMapper.xml | 3 ++- 20 files changed, 79 insertions(+), 14 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java index e14ece158..dabc914d4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java @@ -409,4 +409,8 @@ public class ReservationStockInOrder extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date storageTime; + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java index 2cd9e2228..08667f83d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java @@ -432,4 +432,8 @@ public class ReservationStockInOrderPO extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date storageTime; + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java index a54360ff5..a56d88ca0 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java @@ -430,4 +430,8 @@ public class ReservationStockInOrderDO extends BaseVOEntity { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date storageTime; + + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java index dff5e4837..ab0b45370 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java @@ -428,4 +428,8 @@ public class ReservationStockInOrderDTO extends ReservationStockInOrderBaseDTO { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date storageTime; + + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java index fd371f884..15c6deeb7 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java @@ -444,4 +444,8 @@ public class ReservationStockOutOrder extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date outboundTime; + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java index 0afa844b3..c7fb389b9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java @@ -454,4 +454,8 @@ public class ReservationStockOutOrderPO extends BaseVOEntity { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date outboundTime; + + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java index 800cc98ec..c32a6bbad 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java @@ -490,4 +490,8 @@ public class ReservationStockOutOrderDO extends BaseVOEntity { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date outboundTime; + + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java index 81cd059aa..25319a14a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java @@ -479,4 +479,8 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date outboundTime; + + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; } \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 6b4d3243b..5887e0b67 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -93,6 +93,7 @@ + @@ -128,7 +129,7 @@ a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, a.WAREHOUSE_DATE, a.COMPLETION_TIME, a.ORDER_DATE,a.reservation_audit_time,a.reservation_audit_name ,a.reservation_audit_id,a.issue_name,a.issue_id,a.issue_time,a.issue_status,a.RESERVATION_ORDER_SOURCE,a.tms_order_number - ,a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.STORAGE_TIME,a.in_quantity + ,a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.STORAGE_TIME,a.in_quantity,a.gw_push_status diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index ba129dc04..9bef44b18 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -95,6 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -112,7 +113,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME, a.CUSTOMS_INSPECTION_FLAG,a.NEED_DECLARE_FLAG,a.NEED_TRANSPORT_FLAG,a.picture_app,a.reservation_audit_time,a.reservation_audit_name ,a.reservation_audit_id,a.issue_name,a.issue_id,a.issue_time,a.issue_status,a.tms_order_number, - a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.RESERVATION_ORDER_SOURCE,a.OUTBOUND_TIME + a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.RESERVATION_ORDER_SOURCE,a.OUTBOUND_TIME,a.gw_push_status diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/entity/PickingOrder.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/entity/PickingOrder.java index 75edfa675..f1126002b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/entity/PickingOrder.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/entity/PickingOrder.java @@ -118,5 +118,9 @@ public class PickingOrder extends BaseVOEntity { @Excel(name = "备注") private String remark; + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; -} + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java index a6a317102..1b20fe39f 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java @@ -146,6 +146,7 @@ public class PickingOrderPO extends StockOutOrderBasePO { @Excel(name = "优先级别名称") private String priorityLevelName; - - -} + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java index 6d69bc094..2782e9d43 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java @@ -192,4 +192,8 @@ public class PickingOrderDO extends BaseVOEntity { @ApiModelProperty("优先级别名称") @Excel(name = "优先级别名称") private String priorityLevelName; -} + + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/entity/StockShelfOrder.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/entity/StockShelfOrder.java index e4529924a..c024f274c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/entity/StockShelfOrder.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/entity/StockShelfOrder.java @@ -101,5 +101,9 @@ public class StockShelfOrder extends BaseVOEntity { @Excel(name = "备注") private String remark; + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; -} + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java index 4d1b8910c..5fe441ae6 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java @@ -122,4 +122,8 @@ public class StockShelfOrderPO extends StockInOrderBasePO { @Excel(name = "总面积(SQM)") private BigDecimal totalArea; -} + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java index 537016f38..9766a13f0 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java @@ -134,4 +134,8 @@ public class StockShelfOrderDO extends StockInOrderBaseDO { @ApiModelProperty(name = "创建时间查询条件结束日期") private String createTimeEnd; -} + + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java index 243a31a9c..13a4abb9a 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java @@ -160,4 +160,8 @@ public class PickingOrderDTO extends BaseVOEntity { @ApiModelProperty("拣货单id集合") private List pickingOrderIdList; -} + + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java index c86f5821f..ffc5404f4 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java @@ -123,4 +123,8 @@ public class StockShelfOrderDTO extends StockInOrderBaseDTO { @ApiModelProperty(name = "创建时间查询条件结束日期") private String createTimeEnd; -} + + @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") + @Excel(name = "推送关务状态: 1-已推送 0-未推送") + private Integer gwPushStatus; +} \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml index 470bfba95..ef5286648 100644 --- a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml @@ -32,6 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -40,7 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.status, a.type, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_name, a.quantity, a.weight_limit, a.volume_limit, a.material_quantity, IFNULL((SELECT SUM(b.picking_quantity) FROM picking_material_detail b WHERE b.picking_order_number = a.picking_order_number AND b.del_flag = 1), 0) AS picking_quantity, a.picking_material_quantity, a.abnormal, a.task_distribution, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time, - a.update_by, a.update_by_name, a.del_flag,a.out_order_number, a.business_order_no, a.order_type_code, a.order_type_name, a.priority_level_code, a.priority_level_name + a.update_by, a.update_by_name, a.del_flag,a.out_order_number, a.business_order_no, a.order_type_code, a.order_type_name, a.priority_level_code, a.priority_level_name,a.gw_push_status diff --git a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml index 3c57d6b8f..82c558b28 100644 --- a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml @@ -26,6 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -33,7 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.shelf_order_id, a.organization_id, a.organization_name, a.top_organization_id, a.in_order_number, a.receipt_order_number,a.receipt_task_number, a.shelf_order_number,a.status, a.receipt_quantity, a.shelves_quantity, a.material_quantity, a.shelves_material_quantity, a.abnormal,a.task_distribution, a.task_distribution_time, a.operators_by, a.remark, a.create_time, a.create_by, - a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag + a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag,a.gw_push_status From 986808af9a428f2a7027847be8d2c4d38b84508f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 18 May 2026 16:13:04 +0800 Subject: [PATCH 162/418] =?UTF-8?q?BI=E8=BF=90=E8=BE=93=E8=BF=90=E8=90=A5?= =?UTF-8?q?=E4=B8=93=E5=8C=BA=E6=8E=A5=E5=8F=A3=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BiReportSnapshotMapperSupport.java | 46 ++++- .../mapper/BiSnapshotWriteMapper.java | 2 + .../BiReportSnapshotSyncScheduler.java | 2 +- .../service/BiReportSnapshotSyncService.java | 26 ++- .../BiTransportOperationZoneReportMapper.java | 20 +++ ...BiTransportOperationZoneReportService.java | 21 +++ .../TransportOperationZoneDemoData.java | 164 ++++++++++++++++++ .../WarehouseOperationZoneDemoData.java | 39 ++++- .../facadeApi/biReport/BiReportApi.java | 19 +- .../facadeApi/biReport/dto/BiApiResult.java | 2 +- .../vo/transportZone/TrBarChartVO.java | 27 +++ .../vo/transportZone/TrCapacityCountVO.java | 28 +++ .../vo/transportZone/TrCapacityStatusVO.java | 26 +++ .../transportZone/TrCargoCategoryItemVO.java | 25 +++ .../vo/transportZone/TrCargoCategoryVO.java | 29 ++++ .../TrEnterpriseOperationVO.java | 27 +++ .../vo/transportZone/TrEnterpriseRowVO.java | 34 ++++ .../vo/transportZone/TrMapLegendVO.java | 22 +++ .../vo/transportZone/TrMapNodeDetailVO.java | 43 +++++ .../vo/transportZone/TrMapNodeVO.java | 33 ++++ .../vo/transportZone/TrMonthValuePointVO.java | 22 +++ .../vo/transportZone/TrOrderStatisticsVO.java | 25 +++ .../vo/transportZone/TrOrderTypeChartVO.java | 28 +++ .../transportZone/TrOrderTypeMonthItemVO.java | 27 +++ .../vo/transportZone/TrTransportStatsVO.java | 31 ++++ .../transportZone/TrTransportSummaryVO.java | 28 +++ .../vo/transportZone/TrTypedChartVO.java | 30 ++++ .../vo/transportZone/TrVehicleMapVO.java | 27 +++ .../TransportOperationZoneVO.java | 80 +++++++++ .../WarehouseOperationZoneVO.java | 5 +- .../vo/warehouseZone/WhMapNodeVO.java | 30 ++++ .../vo/warehouseZone/WhWarehouseMapVO.java | 24 +++ .../biSnapshotSync/BiSnapshotWriteMapper.xml | 5 + .../BiTransportOperationZoneReportMapper.xml | 13 ++ 34 files changed, 992 insertions(+), 18 deletions(-) create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/repository/mapper/BiTransportOperationZoneReportMapper.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/service/BiTransportOperationZoneReportService.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrBarChartVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityCountVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatusVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoCategoryItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoCategoryVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrEnterpriseOperationVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrEnterpriseRowVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapLegendVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapNodeDetailVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapNodeVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMonthValuePointVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatisticsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderTypeChartVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderTypeMonthItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTransportStatsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTransportSummaryVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTypedChartVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrVehicleMapVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TransportOperationZoneVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMapNodeVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhWarehouseMapVO.java create mode 100644 mhd-bi/src/main/resources/mapper/biTransportOperationZone/BiTransportOperationZoneReportMapper.xml diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java index 6eab8296d..f9bbed264 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java @@ -6,6 +6,7 @@ import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -161,9 +162,48 @@ public final class BiReportSnapshotMapperSupport { .utilizationRate(WhRealTimeGaugeVO.builder().value("").comparison("").trend("").build()) .rentalRate(WhRealTimeGaugeVO.builder().value("").comparison("").trend("").build()) .build()) - .mapPopup(WhMapPopupVO.builder() - .warehouseName("").totalArea("").totalSku(0).todayOrders(0) - .utilizationRate("").rentalRate("").build()) + .map(WhWarehouseMapVO.builder() + .legend("") + .nodes(Collections.emptyList()) + .build()) + .build(); + } + + public static TransportOperationZoneVO emptyTransportOperationZone() { + TrCapacityCountVO emptyCount = TrCapacityCountVO.builder() + .total(0).todayNew(0).yesterdayNew(0).build(); + return TransportOperationZoneVO.builder() + .updateTime("") + .dashboardTitle("") + .activeTab("") + .orderStatistics(TrOrderStatisticsVO.builder().title("").total(0L).trend("").build()) + .transportStats(TrTransportStatsVO.builder() + .title("").tripCount(0).volume(0d).volumeUnit("").build()) + .orderTypeChart(TrOrderTypeChartVO.builder() + .title("").type("").data(Collections.emptyList()).build()) + .tripCountTrend(TrTypedChartVO.builder() + .title("").type("").unit(null).data(Collections.emptyList()).build()) + .orderTrend(TrTypedChartVO.builder() + .title("").type("").unit("").data(Collections.emptyList()).build()) + .volumeTrend(TrTypedChartVO.builder() + .title("").type("").unit("").data(Collections.emptyList()).build()) + .map(TrVehicleMapVO.builder() + .title("") + .legend(TrMapLegendVO.builder().idle(0).working(0).build()) + .nodes(Collections.emptyList()) + .build()) + .enterpriseOperation(TrEnterpriseOperationVO.builder() + .title("").columns(Collections.emptyList()).list(Collections.emptyList()).build()) + .capacityStatus(TrCapacityStatusVO.builder() + .title("").staff(emptyCount).vehicles(emptyCount).build()) + .cargoCategory(TrCargoCategoryVO.builder() + .title("").totalOrders("").data(Collections.emptyList()).build()) + .onTimeRate(TrTypedChartVO.builder() + .title("").type("").unit("").data(Collections.emptyList()).build()) + .vehicleUtilization(TrBarChartVO.builder() + .title("").unit("").data(Collections.emptyList()).build()) + .transportSummary(TrTransportSummaryVO.builder() + .title("").safeMileage("").avgDeliveryTime("").build()) .build(); } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java index 36113cafc..4624dbf5f 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java @@ -16,4 +16,6 @@ public interface BiSnapshotWriteMapper { int insertOverallOperationSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); int insertWarehouseOperationZoneSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); + + int insertTransportOperationZoneSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java index 14d018aef..6c6bbf14d 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/scheduler/BiReportSnapshotSyncScheduler.java @@ -8,7 +8,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** - * 定时将业务快照写入 BI_COMPREHENSIVE_SNAPSHOT / BI_WAREHOUSE_TRANSPORT_SNAPSHOT / BI_PLATFORM_SURVEILLANCE_SNAPSHOT / BI_OVERALL_OPERATION_SNAPSHOT / BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT。 + * 定时将业务快照写入 BI_COMPREHENSIVE_SNAPSHOT / BI_WAREHOUSE_TRANSPORT_SNAPSHOT / BI_PLATFORM_SURVEILLANCE_SNAPSHOT / BI_OVERALL_OPERATION_SNAPSHOT / BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT / BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT。 *

默认关闭,需在配置中设置 {@code mhd.bi.snapshot-sync.enabled=true}。

*/ @Slf4j diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java index 52ab52f08..ad47fc137 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java @@ -3,11 +3,13 @@ package com.mhd.bi.domain.biSnapshotSync.service; import com.fasterxml.jackson.databind.ObjectMapper; import com.mhd.bi.domain.biSnapshotSync.repository.mapper.BiSnapshotWriteMapper; import com.mhd.bi.domain.biSnapshotSync.support.BiSnapshotWeeklyRandomDataBuilder; +import com.mhd.bi.domain.biTransportOperationZone.support.TransportOperationZoneDemoData; import com.mhd.bi.domain.biWarehouseOperationZone.support.WarehouseOperationZoneDemoData; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -16,7 +18,7 @@ import org.springframework.stereotype.Service; import java.util.Random; /** - * BI 快照表定时同步(综合态势 / 仓储运输 / 月台监测 / 总体运营态势 / 仓储运营专区)。 + * BI 快照表定时同步(综合态势 / 仓储运输 / 月台监测 / 总体运营态势 / 仓储运营专区 / 运输运营专区)。 *

当前(临时):{@code build*} 使用 {@link BiSnapshotWeeklyRandomDataBuilder},每次执行使用新的 {@link Random}, * 故同一天多次手动触发、以及每次定时任务执行,生成的模拟数据均不相同(仍在基准 ±20% 内)。

*

后续改造:在各 {@code build*} 中改为查库/Feign 聚合真实业务并组装 VO。

@@ -40,6 +42,7 @@ public class BiReportSnapshotSyncService { syncPlatformSurveillanceSnapshot(); syncOverallOperationSnapshot(); syncWarehouseOperationZoneSnapshot(); + syncTransportOperationZoneSnapshot(); } public void syncComprehensiveSnapshot() { @@ -142,4 +145,25 @@ public class BiReportSnapshotSyncService { protected WarehouseOperationZoneVO buildWarehouseOperationZoneSnapshot() { return WarehouseOperationZoneDemoData.build(); } + + public void syncTransportOperationZoneSnapshot() { + try { + TransportOperationZoneVO vo = buildTransportOperationZoneSnapshot(); + String json = objectMapper.writeValueAsString(vo); + int rows = biSnapshotWriteMapper.insertTransportOperationZoneSnapshot(json, REMARK_SYNC); + if (rows < 1) { + log.warn("BI 运输运营专区快照 INSERT 影响行数为 {},请确认 NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT", rows); + } + log.info("BI 运输运营专区快照已写入, affectedRows={}", rows); + } catch (Exception e) { + log.error("BI 运输运营专区快照同步失败", e); + } + } + + /** + * TODO 业务落地:改为查询真实数据组装 VO。当前为 {@link TransportOperationZoneDemoData} 静态示例。 + */ + protected TransportOperationZoneVO buildTransportOperationZoneSnapshot() { + return TransportOperationZoneDemoData.build(); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/repository/mapper/BiTransportOperationZoneReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/repository/mapper/BiTransportOperationZoneReportMapper.java new file mode 100644 index 000000000..589f54e72 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/repository/mapper/BiTransportOperationZoneReportMapper.java @@ -0,0 +1,20 @@ +package com.mhd.bi.domain.biTransportOperationZone.repository.mapper; + +import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO; + +/** + * 运输运营专区:取 NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT 最新 PAYLOAD_JSON 并解析。 + */ +public interface BiTransportOperationZoneReportMapper { + + String selectLatestPayloadJson(); + + default TransportOperationZoneVO loadLatestTransportOperationZone() { + return BiReportSnapshotMapperSupport.parsePayload( + selectLatestPayloadJson(), + TransportOperationZoneVO.class, + BiReportSnapshotMapperSupport::emptyTransportOperationZone, + "运输运营专区"); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/service/BiTransportOperationZoneReportService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/service/BiTransportOperationZoneReportService.java new file mode 100644 index 000000000..b9a72802b --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/service/BiTransportOperationZoneReportService.java @@ -0,0 +1,21 @@ +package com.mhd.bi.domain.biTransportOperationZone.service; + +import com.mhd.bi.domain.biTransportOperationZone.repository.mapper.BiTransportOperationZoneReportMapper; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 南光物流业务经营分析 · 运输运营专区 + */ +@Service +public class BiTransportOperationZoneReportService { + + @Resource + private BiTransportOperationZoneReportMapper biTransportOperationZoneReportMapper; + + public TransportOperationZoneVO loadLatestTransportOperationZone() { + return biTransportOperationZoneReportMapper.loadLatestTransportOperationZone(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java new file mode 100644 index 000000000..c7f57ba9a --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java @@ -0,0 +1,164 @@ +package com.mhd.bi.domain.biTransportOperationZone.support; + +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.*; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * 运输运营专区快照演示数据(对齐大屏示例 JSON;后续可改为真实聚合)。 + */ +public final class TransportOperationZoneDemoData { + + private static final DateTimeFormatter UPDATE_TIME_FMT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + private TransportOperationZoneDemoData() { + } + + public static TransportOperationZoneVO build() { + List orderTypeData = Arrays.asList( + TrOrderTypeMonthItemVO.builder().month("1月").crossBorder(30).domestic(25).build(), + TrOrderTypeMonthItemVO.builder().month("2月").crossBorder(40).domestic(35).build(), + TrOrderTypeMonthItemVO.builder().month("3月").crossBorder(20).domestic(30).build(), + TrOrderTypeMonthItemVO.builder().month("4月").crossBorder(35).domestic(40).build(), + TrOrderTypeMonthItemVO.builder().month("5月").crossBorder(50).domestic(45).build(), + TrOrderTypeMonthItemVO.builder().month("6月").crossBorder(60).domestic(55).build(), + TrOrderTypeMonthItemVO.builder().month("7月").crossBorder(70).domestic(65).build() + ); + + List tripTrend = Arrays.asList( + point("1月", 120), point("2月", 150), point("3月", 220), + point("4月", 100), point("5月", 140), point("6月", 180) + ); + + List orderTrend = Arrays.asList( + point("1月", 100), point("2月", 140), point("3月", 230), + point("4月", 100), point("5月", 140), point("6月", 190) + ); + + List volumeTrend = Arrays.asList( + point("1月", 95), point("2月", 90), point("3月", 80), + point("4月", 65), point("5月", 92), point("6月", 88) + ); + + List onTimeRate = Arrays.asList( + point("1月", 98), point("2月", 96), point("3月", 85), + point("4月", 70), point("5月", 92), point("6月", 90) + ); + + List vehicleUtil = Arrays.asList( + point("1月", 600), point("2月", 460), point("3月", 390), + point("4月", 470), point("5月", 450), point("6月", 620) + ); + + List enterpriseList = Arrays.asList( + row("NO.1", "供应商A", "268.25万", "2400单", 95), + row("NO.2", "供应商B", "258.15万", "1800单", 98), + row("NO.3", "供应商C", "242.32万", "1200单", 13), + row("NO.4", "供应商D", "231.54万", "800单", 12), + row("NO.5", "供应商E", "220.90万", "567单", 15) + ); + + List cargoItems = Arrays.asList( + TrCargoCategoryItemVO.builder().name("危化").value(25).color("green").build(), + TrCargoCategoryItemVO.builder().name("普货").value(25).color("blue").build(), + TrCargoCategoryItemVO.builder().name("冻品").value(50).color("orange").build() + ); + + TrMapNodeVO mapNode = TrMapNodeVO.builder() + .id(1L) + .name("通宇作业车辆") + .location(Arrays.asList(113.55, 22.25)) + .status("working") + .detail(TrMapNodeDetailVO.builder() + .title("作业详情") + .licensePlate("粤A88888") + .businessUnit("通宇") + .loadingPlace("珠海") + .destination("澳门") + .currentLocation("珠海市") + .updateTime("2026年4月15日 17:52") + .build()) + .build(); + + return TransportOperationZoneVO.builder() + .updateTime(LocalDateTime.now().format(UPDATE_TIME_FMT)) + .dashboardTitle("南光物流业务经营分析") + .activeTab("运输运营专区") + .orderStatistics(TrOrderStatisticsVO.builder() + .title("订单统计") + .total(4361L) + .trend("+12.5%") + .build()) + .transportStats(TrTransportStatsVO.builder() + .title("运输统计") + .tripCount(240) + .volume(2.6) + .volumeUnit("万吨") + .build()) + .orderTypeChart(TrOrderTypeChartVO.builder() + .title("订单类型") + .type("area") + .data(orderTypeData) + .build()) + .tripCountTrend(chart("车次趋势", "line", null, tripTrend)) + .orderTrend(chart("订单趋势", "area", "单", orderTrend)) + .volumeTrend(chart("货量趋势", "area", "%", volumeTrend)) + .map(TrVehicleMapVO.builder() + .title("车辆实时监控") + .legend(TrMapLegendVO.builder().idle(80).working(200).build()) + .nodes(Collections.singletonList(mapNode)) + .build()) + .enterpriseOperation(TrEnterpriseOperationVO.builder() + .title("企业运营") + .columns(Arrays.asList("序号", "企业名称", "货运量", "处理单量", "准时配送率")) + .list(enterpriseList) + .build()) + .capacityStatus(TrCapacityStatusVO.builder() + .title("运力情况") + .staff(capacityCount(718, 0, 0)) + .vehicles(capacityCount(507, 0, 0)) + .build()) + .cargoCategory(TrCargoCategoryVO.builder() + .title("货物品类") + .totalOrders("1000单") + .data(cargoItems) + .build()) + .onTimeRate(chart("准时配送率", "line", "%", onTimeRate)) + .vehicleUtilization(TrBarChartVO.builder() + .title("出车利用率") + .unit("车次/辆") + .data(vehicleUtil) + .build()) + .transportSummary(TrTransportSummaryVO.builder() + .title("运输统计") + .safeMileage("240万公里") + .avgDeliveryTime("平均4小时送达") + .build()) + .build(); + } + + private static TrMonthValuePointVO point(String month, int value) { + return TrMonthValuePointVO.builder().month(month).value(value).build(); + } + + private static TrTypedChartVO chart(String title, String type, String unit, List data) { + return TrTypedChartVO.builder().title(title).type(type).unit(unit).data(data).build(); + } + + private static TrCapacityCountVO capacityCount(int total, int todayNew, int yesterdayNew) { + return TrCapacityCountVO.builder() + .total(total).todayNew(todayNew).yesterdayNew(yesterdayNew).build(); + } + + private static TrEnterpriseRowVO row(String rank, String name, String volume, + String processedOrders, int onTimeRate) { + return TrEnterpriseRowVO.builder() + .rank(rank).name(name).volume(volume) + .processedOrders(processedOrders).onTimeRate(onTimeRate) + .build(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java index 4861cb9b0..4e63389d9 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java @@ -126,13 +126,38 @@ public final class WarehouseOperationZoneDemoData { .trend("up") .build()) .build()) - .mapPopup(WhMapPopupVO.builder() - .warehouseName("通宇保税仓") - .totalArea("2000m2") - .totalSku(668) - .todayOrders(237) - .utilizationRate("85%") - .rentalRate("37.1%") + .map(WhWarehouseMapVO.builder() + .legend("仓库") + .nodes(Arrays.asList( + mapNode(1L, "君华仓", 113.52, 22.30, + "君华保税仓", "12000m²", 520, 2400, "82%", "36.5%"), + mapNode(2L, "通宇仓", 113.55, 22.25, + "通宇保税仓", "2000m²", 668, 237, "85%", "37.1%"), + mapNode(3L, "横琴仓", 113.54, 22.12, + "横琴保税仓", "3500m²", 445, 1200, "78%", "42.0%"), + mapNode(4L, "新南仓", 113.58, 22.20, + "新南保税仓", "2800m²", 390, 800, "80%", "35.8%"), + mapNode(5L, "谷丰仓", 113.48, 22.22, + "谷丰保税仓", "4500m²", 512, 567, "76%", "33.2%") + )) + .build()) + .build(); + } + + private static WhMapNodeVO mapNode(long id, String name, double lng, double lat, + String warehouseName, String totalArea, int totalSku, + int todayOrders, String utilizationRate, String rentalRate) { + return WhMapNodeVO.builder() + .id(id) + .name(name) + .location(Arrays.asList(lng, lat)) + .detail(WhMapPopupVO.builder() + .warehouseName(warehouseName) + .totalArea(totalArea) + .totalSku(totalSku) + .todayOrders(todayOrders) + .utilizationRate(utilizationRate) + .rentalRate(rentalRate) .build()) .build(); } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java index 5ac025e9c..f57922b21 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java @@ -4,6 +4,7 @@ import com.mhd.bi.domain.biSnapshotSync.service.BiReportSnapshotSyncService; import com.mhd.bi.domain.biComprehensive.service.BiComprehensiveReportService; import com.mhd.bi.domain.biPlatformSurveillance.service.BiPlatformSurveillanceReportService; import com.mhd.bi.domain.biOverallOperation.service.BiOverallOperationReportService; +import com.mhd.bi.domain.biTransportOperationZone.service.BiTransportOperationZoneReportService; import com.mhd.bi.domain.biWarehouseOperationZone.service.BiWarehouseOperationZoneReportService; import com.mhd.bi.domain.biWarehouseTransport.service.BiWarehouseTransportReportService; import com.mhd.bi.interfaces.facadeApi.biReport.dto.BiApiResult; @@ -11,6 +12,7 @@ import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; import com.mhd.common.core.web.controller.BaseController; import io.swagger.annotations.Api; @@ -48,11 +50,14 @@ public class BiReportApi extends BaseController { @Autowired private BiWarehouseOperationZoneReportService biWarehouseOperationZoneReportService; + @Autowired + private BiTransportOperationZoneReportService biTransportOperationZoneReportService; + @Autowired private BiReportSnapshotSyncService biReportSnapshotSyncService; - @ApiOperation(value = "手动触发快照同步", notes = "立即写入各 BI 快照表(综合、仓储运输、月台监测、总体运营、仓储运营专区);须带 X-BI-Access-Token") + @ApiOperation(value = "手动触发快照同步", notes = "立即写入各 BI 快照表(综合、仓储运输、月台监测、总体运营、仓储运营专区、运输运营专区);须带 X-BI-Access-Token") @PostMapping("/snapshotSync/run") public BiApiResult runSnapshotSyncOnce() { biReportSnapshotSyncService.syncAllSnapshots(); @@ -88,7 +93,7 @@ public class BiReportApi extends BaseController { PlatformSurveillanceVO data = biPlatformSurveillanceReportService.loadLatestPlatformSurveillance(); return BiApiResult.ok(data); } - +//园区物流大屏接口---------------------------------------------------------------------- /** * 总体运营态势 */ @@ -108,4 +113,14 @@ public class BiReportApi extends BaseController { WarehouseOperationZoneVO data = biWarehouseOperationZoneReportService.loadLatestWarehouseOperationZone(); return BiApiResult.ok(data); } + + /** + * 运输运营专区(大屏「运输运营专区」Tab) + */ + @ApiOperation(value = "运输运营专区查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条整包 JSON 解析结果") + @GetMapping("/transportOperationZone") + public BiApiResult transportOperationZone() { + TransportOperationZoneVO data = biTransportOperationZoneReportService.loadLatestTransportOperationZone(); + return BiApiResult.ok(data); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java index ce816be28..31fcbfd49 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/dto/BiApiResult.java @@ -14,7 +14,7 @@ public class BiApiResult { private int code = 200; - private String msg = "操作成功"; + private String message = "操作成功"; private T data; diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrBarChartVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrBarChartVO.java new file mode 100644 index 000000000..92b9e1e50 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrBarChartVO.java @@ -0,0 +1,27 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-柱状图") +public class TrBarChartVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("单位") + private String unit; + + @ApiModelProperty("数据") + private List data; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityCountVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityCountVO.java new file mode 100644 index 000000000..36ddc94f3 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityCountVO.java @@ -0,0 +1,28 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-运力计数") +public class TrCapacityCountVO { + + @ApiModelProperty("总数") + private Integer total; + + @JsonProperty("today_new") + @ApiModelProperty("今日新增") + private Integer todayNew; + + @JsonProperty("yesterday_new") + @ApiModelProperty("昨日新增") + private Integer yesterdayNew; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatusVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatusVO.java new file mode 100644 index 000000000..6b72c7c13 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatusVO.java @@ -0,0 +1,26 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-运力情况") +public class TrCapacityStatusVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("承运人") + private TrCapacityCountVO staff; + + @ApiModelProperty("车辆") + private TrCapacityCountVO vehicles; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoCategoryItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoCategoryItemVO.java new file mode 100644 index 000000000..524c37b2d --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoCategoryItemVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-货物品类项") +public class TrCargoCategoryItemVO { + + @ApiModelProperty("品类名称") + private String name; + + @ApiModelProperty("占比") + private Integer value; + + @ApiModelProperty("颜色标识") + private String color; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoCategoryVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoCategoryVO.java new file mode 100644 index 000000000..eb227e479 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoCategoryVO.java @@ -0,0 +1,29 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-货物品类") +public class TrCargoCategoryVO { + + @ApiModelProperty("标题") + private String title; + + @JsonProperty("total_orders") + @ApiModelProperty("订单总量展示") + private String totalOrders; + + @ApiModelProperty("品类数据") + private List data; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrEnterpriseOperationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrEnterpriseOperationVO.java new file mode 100644 index 000000000..f40a719cf --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrEnterpriseOperationVO.java @@ -0,0 +1,27 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-企业运营") +public class TrEnterpriseOperationVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("表头") + private List columns; + + @ApiModelProperty("列表") + private List list; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrEnterpriseRowVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrEnterpriseRowVO.java new file mode 100644 index 000000000..b0d660a52 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrEnterpriseRowVO.java @@ -0,0 +1,34 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-企业运营行") +public class TrEnterpriseRowVO { + + @ApiModelProperty("排名") + private String rank; + + @ApiModelProperty("企业名称") + private String name; + + @ApiModelProperty("货运量") + private String volume; + + @JsonProperty("processed_orders") + @ApiModelProperty("处理单量") + private String processedOrders; + + @JsonProperty("on_time_rate") + @ApiModelProperty("准时配送率") + private Integer onTimeRate; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapLegendVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapLegendVO.java new file mode 100644 index 000000000..577f818e5 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapLegendVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-地图图例") +public class TrMapLegendVO { + + @ApiModelProperty("空闲车辆数") + private Integer idle; + + @ApiModelProperty("作业车辆数") + private Integer working; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapNodeDetailVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapNodeDetailVO.java new file mode 100644 index 000000000..3914d1f7f --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapNodeDetailVO.java @@ -0,0 +1,43 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-地图节点详情") +public class TrMapNodeDetailVO { + + @ApiModelProperty("标题") + private String title; + + @JsonProperty("license_plate") + @ApiModelProperty("车牌") + private String licensePlate; + + @JsonProperty("business_unit") + @ApiModelProperty("经营单位") + private String businessUnit; + + @JsonProperty("loading_place") + @ApiModelProperty("装货地") + private String loadingPlace; + + @ApiModelProperty("目的地") + private String destination; + + @JsonProperty("current_location") + @ApiModelProperty("当前位置") + private String currentLocation; + + @JsonProperty("update_time") + @ApiModelProperty("更新时间") + private String updateTime; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapNodeVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapNodeVO.java new file mode 100644 index 000000000..7041d3abc --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMapNodeVO.java @@ -0,0 +1,33 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-地图节点") +public class TrMapNodeVO { + + @ApiModelProperty("节点ID") + private Long id; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("坐标 [经度, 纬度]") + private List location; + + @ApiModelProperty("状态:idle / working") + private String status; + + @ApiModelProperty("详情") + private TrMapNodeDetailVO detail; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMonthValuePointVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMonthValuePointVO.java new file mode 100644 index 000000000..3ae8afe2f --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrMonthValuePointVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-月度数值点") +public class TrMonthValuePointVO { + + @ApiModelProperty("月份") + private String month; + + @ApiModelProperty("数值") + private Integer value; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatisticsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatisticsVO.java new file mode 100644 index 000000000..0eba9a94a --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatisticsVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-订单统计") +public class TrOrderStatisticsVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("订单总数") + private Long total; + + @ApiModelProperty("环比增长率") + private String trend; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderTypeChartVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderTypeChartVO.java new file mode 100644 index 000000000..b6cd8770e --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderTypeChartVO.java @@ -0,0 +1,28 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-订单类型图") +public class TrOrderTypeChartVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("图表类型") + private String type; + + @ApiModelProperty("数据") + private List data; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderTypeMonthItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderTypeMonthItemVO.java new file mode 100644 index 000000000..aa28cd802 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderTypeMonthItemVO.java @@ -0,0 +1,27 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-订单类型月度项") +public class TrOrderTypeMonthItemVO { + + @ApiModelProperty("月份") + private String month; + + @JsonProperty("cross_border") + @ApiModelProperty("跨境") + private Integer crossBorder; + + @ApiModelProperty("国内") + private Integer domestic; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTransportStatsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTransportStatsVO.java new file mode 100644 index 000000000..6271a43ae --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTransportStatsVO.java @@ -0,0 +1,31 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-运输统计") +public class TrTransportStatsVO { + + @ApiModelProperty("标题") + private String title; + + @JsonProperty("trip_count") + @ApiModelProperty("运输车次") + private Integer tripCount; + + @ApiModelProperty("运输货量") + private Double volume; + + @JsonProperty("volume_unit") + @ApiModelProperty("货量单位") + private String volumeUnit; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTransportSummaryVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTransportSummaryVO.java new file mode 100644 index 000000000..d2b3f9489 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTransportSummaryVO.java @@ -0,0 +1,28 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-运输统计总结") +public class TrTransportSummaryVO { + + @ApiModelProperty("标题") + private String title; + + @JsonProperty("safe_mileage") + @ApiModelProperty("安全里程") + private String safeMileage; + + @JsonProperty("avg_delivery_time") + @ApiModelProperty("平均送达时间") + private String avgDeliveryTime; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTypedChartVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTypedChartVO.java new file mode 100644 index 000000000..f39268d00 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrTypedChartVO.java @@ -0,0 +1,30 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-带类型图表") +public class TrTypedChartVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("图表类型") + private String type; + + @ApiModelProperty("单位") + private String unit; + + @ApiModelProperty("数据") + private List data; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrVehicleMapVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrVehicleMapVO.java new file mode 100644 index 000000000..cac546be3 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrVehicleMapVO.java @@ -0,0 +1,27 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-车辆实时监控地图") +public class TrVehicleMapVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("图例") + private TrMapLegendVO legend; + + @ApiModelProperty("节点") + private List nodes; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TransportOperationZoneVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TransportOperationZoneVO.java new file mode 100644 index 000000000..54c6b4a0e --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TransportOperationZoneVO.java @@ -0,0 +1,80 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 南光物流业务经营分析 · 运输运营专区(整包 data 与快照 PAYLOAD_JSON 一致) + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区") +public class TransportOperationZoneVO { + + @ApiModelProperty("数据更新时间") + private String updateTime; + + @ApiModelProperty("大屏标题") + private String dashboardTitle; + + @ApiModelProperty("当前 Tab") + private String activeTab; + + @JsonProperty("order_statistics") + @ApiModelProperty("订单统计") + private TrOrderStatisticsVO orderStatistics; + + @JsonProperty("transport_stats") + @ApiModelProperty("运输统计") + private TrTransportStatsVO transportStats; + + @JsonProperty("order_type_chart") + @ApiModelProperty("订单类型面积图") + private TrOrderTypeChartVO orderTypeChart; + + @JsonProperty("trip_count_trend") + @ApiModelProperty("车次趋势折线图") + private TrTypedChartVO tripCountTrend; + + @JsonProperty("order_trend") + @ApiModelProperty("订单趋势面积图") + private TrTypedChartVO orderTrend; + + @JsonProperty("volume_trend") + @ApiModelProperty("货量趋势面积图") + private TrTypedChartVO volumeTrend; + + @ApiModelProperty("车辆实时监控地图") + private TrVehicleMapVO map; + + @JsonProperty("enterprise_operation") + @ApiModelProperty("企业运营表格") + private TrEnterpriseOperationVO enterpriseOperation; + + @JsonProperty("capacity_status") + @ApiModelProperty("运力情况") + private TrCapacityStatusVO capacityStatus; + + @JsonProperty("cargo_category") + @ApiModelProperty("货物品类环形图") + private TrCargoCategoryVO cargoCategory; + + @JsonProperty("on_time_rate") + @ApiModelProperty("准时配送率折线图") + private TrTypedChartVO onTimeRate; + + @JsonProperty("vehicle_utilization") + @ApiModelProperty("出车利用率柱状图") + private TrBarChartVO vehicleUtilization; + + @JsonProperty("transport_summary") + @ApiModelProperty("运输统计总结") + private TrTransportSummaryVO transportSummary; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java index df93d65ed..01975022a 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java @@ -68,7 +68,6 @@ public class WarehouseOperationZoneVO { @ApiModelProperty("实时分析") private WhRealTimeAnalysisVO realTimeAnalysis; - @JsonProperty("map_popup") - @ApiModelProperty("地图弹窗示例数据") - private WhMapPopupVO mapPopup; + @ApiModelProperty("中间地图仓库点位(nodes 为标注数组)") + private WhWarehouseMapVO map; } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMapNodeVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMapNodeVO.java new file mode 100644 index 000000000..ea0b2565a --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhMapNodeVO.java @@ -0,0 +1,30 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-地图点位") +public class WhMapNodeVO { + + @ApiModelProperty("点位ID") + private Long id; + + @ApiModelProperty("地图标注名称(短名)") + private String name; + + @ApiModelProperty("坐标 [经度, 纬度]") + private List location; + + @ApiModelProperty("弹窗详情") + private WhMapPopupVO detail; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhWarehouseMapVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhWarehouseMapVO.java new file mode 100644 index 000000000..97c021156 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhWarehouseMapVO.java @@ -0,0 +1,24 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-地图") +public class WhWarehouseMapVO { + + @ApiModelProperty("图例说明") + private String legend; + + @ApiModelProperty("仓库点位列表") + private List nodes; +} diff --git a/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml b/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml index c377faa07..9292089ac 100644 --- a/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml +++ b/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml @@ -27,4 +27,9 @@ insert into NGWL_TEST_BI.BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK) values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark}) + + + insert into NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK) + values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark}) + diff --git a/mhd-bi/src/main/resources/mapper/biTransportOperationZone/BiTransportOperationZoneReportMapper.xml b/mhd-bi/src/main/resources/mapper/biTransportOperationZone/BiTransportOperationZoneReportMapper.xml new file mode 100644 index 000000000..9a4dfda4f --- /dev/null +++ b/mhd-bi/src/main/resources/mapper/biTransportOperationZone/BiTransportOperationZoneReportMapper.xml @@ -0,0 +1,13 @@ + + + + + + From ccebac5577cc6add115f87d8e68ecbeea6781caa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Tue, 19 May 2026 09:01:56 +0800 Subject: [PATCH 163/418] =?UTF-8?q?=E6=96=B0=E6=AD=A3=E5=BC=8F=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E9=85=8D=E7=BD=AE;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- mhd-gateway/src/main/resources/bootstrap.yml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index fdee7b2ed..dfb64994b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.5:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-gateway/src/main/resources/bootstrap.yml b/mhd-gateway/src/main/resources/bootstrap.yml index 69dddcf6e..8a3d1e678 100644 --- a/mhd-gateway/src/main/resources/bootstrap.yml +++ b/mhd-gateway/src/main/resources/bootstrap.yml @@ -18,8 +18,8 @@ spring: # server-addr: 10.102.192.5:6848 # server-addr: 10.33.0.129:6010 #线上正式环境 - server-addr: 127.0.0.1:8848 -# server-addr: 10.102.192.5:6848 +# server-addr: 127.0.0.1:8848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: @@ -27,12 +27,12 @@ spring: # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 #线上正式环境 - server-addr: 127.0.0.1:8848 -# server-addr: 10.102.192.5:6848 +# server-addr: 127.0.0.1:8848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 共享配置 shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file From 6b8fe67b7277ba031bf1cc0d8bf4bc3185865a26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 19 May 2026 09:39:45 +0800 Subject: [PATCH 164/418] =?UTF-8?q?BI=E6=B8=AF=E6=BE=B3=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E4=B8=93=E5=8C=BA=E6=8E=A5=E5=8F=A3=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BiHkMacaoServiceZoneReportMapper.java | 20 +++ .../BiHkMacaoServiceZoneReportService.java | 21 +++ .../support/HkMacaoServiceZoneDemoData.java | 150 ++++++++++++++++++ .../BiReportSnapshotMapperSupport.java | 27 ++++ .../mapper/BiSnapshotWriteMapper.java | 2 + .../service/BiReportSnapshotSyncService.java | 26 ++- .../facadeApi/biReport/BiReportApi.java | 17 +- .../hkMacaoZone/HkClientServiceStatsVO.java | 33 ++++ .../hkMacaoZone/HkDoorToDoorEfficiencyVO.java | 29 ++++ .../HkInventoryTurnoverTrendVO.java | 33 ++++ .../vo/hkMacaoZone/HkMacaoServiceZoneVO.java | 74 +++++++++ .../biReport/vo/hkMacaoZone/HkMapDataVO.java | 21 +++ .../vo/hkMacaoZone/HkMapLocationVO.java | 22 +++ .../biReport/vo/hkMacaoZone/HkMapPointVO.java | 37 +++++ .../vo/hkMacaoZone/HkMonthRatePointVO.java | 22 +++ .../vo/hkMacaoZone/HkMonthValuePointVO.java | 22 +++ .../vo/hkMacaoZone/HkOrderStatsVO.java | 31 ++++ .../vo/hkMacaoZone/HkOrderTrendMonthVO.java | 28 ++++ .../vo/hkMacaoZone/HkPercentageDetailVO.java | 22 +++ .../vo/hkMacaoZone/HkRingChartStatsVO.java | 26 +++ .../vo/hkMacaoZone/HkVehicleDetailsVO.java | 41 +++++ .../vo/hkMacaoZone/HkWarehouseMetricsVO.java | 25 +++ .../BiHkMacaoServiceZoneReportMapper.xml | 13 ++ .../biSnapshotSync/BiSnapshotWriteMapper.xml | 5 + 24 files changed, 745 insertions(+), 2 deletions(-) create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/repository/mapper/BiHkMacaoServiceZoneReportMapper.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/service/BiHkMacaoServiceZoneReportService.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/support/HkMacaoServiceZoneDemoData.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkClientServiceStatsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkDoorToDoorEfficiencyVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkInventoryTurnoverTrendVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMacaoServiceZoneVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapDataVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapLocationVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapPointVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMonthRatePointVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMonthValuePointVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkOrderStatsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkOrderTrendMonthVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkPercentageDetailVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkRingChartStatsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkVehicleDetailsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkWarehouseMetricsVO.java create mode 100644 mhd-bi/src/main/resources/mapper/biHkMacaoServiceZone/BiHkMacaoServiceZoneReportMapper.xml diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/repository/mapper/BiHkMacaoServiceZoneReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/repository/mapper/BiHkMacaoServiceZoneReportMapper.java new file mode 100644 index 000000000..4f8f78454 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/repository/mapper/BiHkMacaoServiceZoneReportMapper.java @@ -0,0 +1,20 @@ +package com.mhd.bi.domain.biHkMacaoServiceZone.repository.mapper; + +import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone.HkMacaoServiceZoneVO; + +/** + * 港澳服务专区:取 NGWL_TEST_BI.BI_HK_MACAO_SERVICE_ZONE_SNAPSHOT 最新 PAYLOAD_JSON 并解析。 + */ +public interface BiHkMacaoServiceZoneReportMapper { + + String selectLatestPayloadJson(); + + default HkMacaoServiceZoneVO loadLatestHkMacaoServiceZone() { + return BiReportSnapshotMapperSupport.parsePayload( + selectLatestPayloadJson(), + HkMacaoServiceZoneVO.class, + BiReportSnapshotMapperSupport::emptyHkMacaoServiceZone, + "港澳服务专区"); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/service/BiHkMacaoServiceZoneReportService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/service/BiHkMacaoServiceZoneReportService.java new file mode 100644 index 000000000..4f6f8d215 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/service/BiHkMacaoServiceZoneReportService.java @@ -0,0 +1,21 @@ +package com.mhd.bi.domain.biHkMacaoServiceZone.service; + +import com.mhd.bi.domain.biHkMacaoServiceZone.repository.mapper.BiHkMacaoServiceZoneReportMapper; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone.HkMacaoServiceZoneVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 港澳服务专区 + */ +@Service +public class BiHkMacaoServiceZoneReportService { + + @Resource + private BiHkMacaoServiceZoneReportMapper biHkMacaoServiceZoneReportMapper; + + public HkMacaoServiceZoneVO loadLatestHkMacaoServiceZone() { + return biHkMacaoServiceZoneReportMapper.loadLatestHkMacaoServiceZone(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/support/HkMacaoServiceZoneDemoData.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/support/HkMacaoServiceZoneDemoData.java new file mode 100644 index 000000000..aa1a580f5 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biHkMacaoServiceZone/support/HkMacaoServiceZoneDemoData.java @@ -0,0 +1,150 @@ +package com.mhd.bi.domain.biHkMacaoServiceZone.support; + +import com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone.*; + +import java.util.Arrays; +import java.util.List; + +/** + * 港澳服务专区快照演示数据(对齐大屏示例 JSON;后续可改为真实聚合)。 + */ +public final class HkMacaoServiceZoneDemoData { + + private HkMacaoServiceZoneDemoData() { + } + + public static HkMacaoServiceZoneVO build() { + HkOrderStatsVO orderStats = HkOrderStatsVO.builder() + .totalOrders(4361L) + .unit("单") + .momGrowth("+12.5%") + .trend("up") + .build(); + + List goodsDetails = Arrays.asList( + HkPercentageDetailVO.builder().name("广东").percentage("25%").build(), + HkPercentageDetailVO.builder().name("澳门").percentage("25%").build(), + HkPercentageDetailVO.builder().name("广西").percentage("50%").build() + ); + + List crossBorderDetails = Arrays.asList( + HkPercentageDetailVO.builder().name("出口订单").percentage("25.8%").build(), + HkPercentageDetailVO.builder().name("进口订单").percentage("16.8%").build() + ); + + List warehouseOrderTrend = Arrays.asList( + HkOrderTrendMonthVO.builder().month("1月").orderRatio(150).orderCount(400).build(), + HkOrderTrendMonthVO.builder().month("2月").orderRatio(200).orderCount(250).build(), + HkOrderTrendMonthVO.builder().month("3月").orderRatio(250).orderCount(300).build(), + HkOrderTrendMonthVO.builder().month("4月").orderRatio(200).orderCount(280).build(), + HkOrderTrendMonthVO.builder().month("5月").orderRatio(280).orderCount(320).build(), + HkOrderTrendMonthVO.builder().month("6月").orderRatio(220).orderCount(310).build(), + HkOrderTrendMonthVO.builder().month("7月").orderRatio(260).orderCount(330).build() + ); + + List turnoverData = Arrays.asList( + HkMonthRatePointVO.builder().month("11月").rate(10).build(), + HkMonthRatePointVO.builder().month("12月").rate(15).build(), + HkMonthRatePointVO.builder().month("1月").rate(22).build(), + HkMonthRatePointVO.builder().month("2月").rate(20).build(), + HkMonthRatePointVO.builder().month("3月").rate(12).build(), + HkMonthRatePointVO.builder().month("4月").rate(16).build() + ); + + List cargoVolumeTrend = Arrays.asList( + HkMonthValuePointVO.builder().month("1月").value(80).build(), + HkMonthValuePointVO.builder().month("2月").value(85).build(), + HkMonthValuePointVO.builder().month("3月").value(90).build(), + HkMonthValuePointVO.builder().month("4月").value(70).build(), + HkMonthValuePointVO.builder().month("5月").value(95).build(), + HkMonthValuePointVO.builder().month("6月").value(88).build() + ); + + List transportOrderTrend = Arrays.asList( + HkOrderTrendMonthVO.builder().month("1月").orderRatio(150).orderCount(400).build(), + HkOrderTrendMonthVO.builder().month("2月").orderRatio(200).orderCount(250).build(), + HkOrderTrendMonthVO.builder().month("3月").orderRatio(250).orderCount(300).build(), + HkOrderTrendMonthVO.builder().month("4月").orderRatio(200).orderCount(280).build(), + HkOrderTrendMonthVO.builder().month("5月").orderRatio(280).orderCount(320).build(), + HkOrderTrendMonthVO.builder().month("6月").orderRatio(220).orderCount(310).build(), + HkOrderTrendMonthVO.builder().month("7月").orderRatio(260).orderCount(330).build() + ); + + List onTimeDeliveryRate = Arrays.asList( + HkMonthRatePointVO.builder().month("1月").rate(90).build(), + HkMonthRatePointVO.builder().month("2月").rate(92).build(), + HkMonthRatePointVO.builder().month("3月").rate(88).build(), + HkMonthRatePointVO.builder().month("4月").rate(85).build(), + HkMonthRatePointVO.builder().month("5月").rate(95).build(), + HkMonthRatePointVO.builder().month("6月").rate(93).build() + ); + + List mapPoints = Arrays.asList( + HkMapPointVO.builder() + .id("wh_001") + .type("warehouse") + .name("通宇保税仓") + .status("normal") + .location(HkMapLocationVO.builder().lat(22.2800).lng(113.5600).build()) + .metrics(HkWarehouseMetricsVO.builder() + .inboundOperations(1) + .outboundOperations(1) + .build()) + .build(), + HkMapPointVO.builder() + .id("vehicle_88888") + .type("vehicle") + .name("粤A88888") + .status("in_transit") + .location(HkMapLocationVO.builder().lat(22.2500).lng(113.5500).build()) + .details(HkVehicleDetailsVO.builder() + .warehouseName("通宇") + .licensePlate("粤A88888") + .loadingAddress("珠海") + .destinationAddress("澳门") + .currentLocation("珠海市") + .updateTime("2026年4月15日 17:52") + .build()) + .build() + ); + + return HkMacaoServiceZoneVO.builder() + .warehouseOrderStats(orderStats) + .clientServiceStats(HkClientServiceStatsVO.builder() + .hkMacaoClients(26) + .clientRatio("10.5%") + .warehouseUsageArea("1688m2") + .areaRatio("1.5%") + .build()) + .goodsSourceStats(HkRingChartStatsVO.builder() + .totalOrders(1000) + .details(goodsDetails) + .build()) + .crossBorderOrderStats(HkRingChartStatsVO.builder() + .totalOrders(400) + .details(crossBorderDetails) + .build()) + .warehouseOrderTrend(warehouseOrderTrend) + .inventoryTurnoverTrend(HkInventoryTurnoverTrendVO.builder() + .currentMonthRate("3次") + .annualRate("4次") + .unit("次") + .data(turnoverData) + .build()) + .transportOrderStats(orderStats) + .doorToDoorEfficiency(HkDoorToDoorEfficiencyVO.builder() + .averageTime("28.6分") + .fastestTime("13.2分") + .momGrowth("+30%") + .build()) + .crossBorderTransportStats(HkRingChartStatsVO.builder() + .totalOrders(400) + .details(crossBorderDetails) + .build()) + .cargoVolumeTrend(cargoVolumeTrend) + .transportOrderTrend(transportOrderTrend) + .onTimeDeliveryRate(onTimeDeliveryRate) + .mapData(HkMapDataVO.builder().points(mapPoints).build()) + .build(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java index f9bbed264..abf73d99a 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java @@ -6,6 +6,7 @@ import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.*; import lombok.extern.slf4j.Slf4j; @@ -206,4 +207,30 @@ public final class BiReportSnapshotMapperSupport { .title("").safeMileage("").avgDeliveryTime("").build()) .build(); } + + public static HkMacaoServiceZoneVO emptyHkMacaoServiceZone() { + HkOrderStatsVO emptyOrderStats = HkOrderStatsVO.builder() + .totalOrders(0L).unit("").momGrowth("").trend("").build(); + return HkMacaoServiceZoneVO.builder() + .warehouseOrderStats(emptyOrderStats) + .clientServiceStats(HkClientServiceStatsVO.builder() + .hkMacaoClients(0).clientRatio("").warehouseUsageArea("").areaRatio("").build()) + .goodsSourceStats(HkRingChartStatsVO.builder() + .totalOrders(0).details(Collections.emptyList()).build()) + .crossBorderOrderStats(HkRingChartStatsVO.builder() + .totalOrders(0).details(Collections.emptyList()).build()) + .warehouseOrderTrend(Collections.emptyList()) + .inventoryTurnoverTrend(HkInventoryTurnoverTrendVO.builder() + .currentMonthRate("").annualRate("").unit("").data(Collections.emptyList()).build()) + .transportOrderStats(emptyOrderStats) + .doorToDoorEfficiency(HkDoorToDoorEfficiencyVO.builder() + .averageTime("").fastestTime("").momGrowth("").build()) + .crossBorderTransportStats(HkRingChartStatsVO.builder() + .totalOrders(0).details(Collections.emptyList()).build()) + .cargoVolumeTrend(Collections.emptyList()) + .transportOrderTrend(Collections.emptyList()) + .onTimeDeliveryRate(Collections.emptyList()) + .mapData(HkMapDataVO.builder().points(Collections.emptyList()).build()) + .build(); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java index 4624dbf5f..10d4dfcfa 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/repository/mapper/BiSnapshotWriteMapper.java @@ -18,4 +18,6 @@ public interface BiSnapshotWriteMapper { int insertWarehouseOperationZoneSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); int insertTransportOperationZoneSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); + + int insertHkMacaoServiceZoneSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark); } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java index ad47fc137..2f42acdf8 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/service/BiReportSnapshotSyncService.java @@ -3,12 +3,14 @@ package com.mhd.bi.domain.biSnapshotSync.service; import com.fasterxml.jackson.databind.ObjectMapper; import com.mhd.bi.domain.biSnapshotSync.repository.mapper.BiSnapshotWriteMapper; import com.mhd.bi.domain.biSnapshotSync.support.BiSnapshotWeeklyRandomDataBuilder; +import com.mhd.bi.domain.biHkMacaoServiceZone.support.HkMacaoServiceZoneDemoData; import com.mhd.bi.domain.biTransportOperationZone.support.TransportOperationZoneDemoData; import com.mhd.bi.domain.biWarehouseOperationZone.support.WarehouseOperationZoneDemoData; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone.HkMacaoServiceZoneVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; import lombok.RequiredArgsConstructor; @@ -18,7 +20,7 @@ import org.springframework.stereotype.Service; import java.util.Random; /** - * BI 快照表定时同步(综合态势 / 仓储运输 / 月台监测 / 总体运营态势 / 仓储运营专区 / 运输运营专区)。 + * BI 快照表定时同步(综合态势 / 仓储运输 / 月台监测 / 总体运营态势 / 仓储运营专区 / 运输运营专区 / 港澳服务专区)。 *

当前(临时):{@code build*} 使用 {@link BiSnapshotWeeklyRandomDataBuilder},每次执行使用新的 {@link Random}, * 故同一天多次手动触发、以及每次定时任务执行,生成的模拟数据均不相同(仍在基准 ±20% 内)。

*

后续改造:在各 {@code build*} 中改为查库/Feign 聚合真实业务并组装 VO。

@@ -43,6 +45,7 @@ public class BiReportSnapshotSyncService { syncOverallOperationSnapshot(); syncWarehouseOperationZoneSnapshot(); syncTransportOperationZoneSnapshot(); + syncHkMacaoServiceZoneSnapshot(); } public void syncComprehensiveSnapshot() { @@ -166,4 +169,25 @@ public class BiReportSnapshotSyncService { protected TransportOperationZoneVO buildTransportOperationZoneSnapshot() { return TransportOperationZoneDemoData.build(); } + + public void syncHkMacaoServiceZoneSnapshot() { + try { + HkMacaoServiceZoneVO vo = buildHkMacaoServiceZoneSnapshot(); + String json = objectMapper.writeValueAsString(vo); + int rows = biSnapshotWriteMapper.insertHkMacaoServiceZoneSnapshot(json, REMARK_SYNC); + if (rows < 1) { + log.warn("BI 港澳服务专区快照 INSERT 影响行数为 {},请确认 NGWL_TEST_BI.BI_HK_MACAO_SERVICE_ZONE_SNAPSHOT", rows); + } + log.info("BI 港澳服务专区快照已写入, affectedRows={}", rows); + } catch (Exception e) { + log.error("BI 港澳服务专区快照同步失败", e); + } + } + + /** + * TODO 业务落地:改为查询真实数据组装 VO。当前为 {@link HkMacaoServiceZoneDemoData} 静态示例。 + */ + protected HkMacaoServiceZoneVO buildHkMacaoServiceZoneSnapshot() { + return HkMacaoServiceZoneDemoData.build(); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java index f57922b21..d75f1207c 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java @@ -4,6 +4,7 @@ import com.mhd.bi.domain.biSnapshotSync.service.BiReportSnapshotSyncService; import com.mhd.bi.domain.biComprehensive.service.BiComprehensiveReportService; import com.mhd.bi.domain.biPlatformSurveillance.service.BiPlatformSurveillanceReportService; import com.mhd.bi.domain.biOverallOperation.service.BiOverallOperationReportService; +import com.mhd.bi.domain.biHkMacaoServiceZone.service.BiHkMacaoServiceZoneReportService; import com.mhd.bi.domain.biTransportOperationZone.service.BiTransportOperationZoneReportService; import com.mhd.bi.domain.biWarehouseOperationZone.service.BiWarehouseOperationZoneReportService; import com.mhd.bi.domain.biWarehouseTransport.service.BiWarehouseTransportReportService; @@ -12,6 +13,7 @@ import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone.HkMacaoServiceZoneVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; import com.mhd.common.core.web.controller.BaseController; @@ -53,11 +55,14 @@ public class BiReportApi extends BaseController { @Autowired private BiTransportOperationZoneReportService biTransportOperationZoneReportService; + @Autowired + private BiHkMacaoServiceZoneReportService biHkMacaoServiceZoneReportService; + @Autowired private BiReportSnapshotSyncService biReportSnapshotSyncService; - @ApiOperation(value = "手动触发快照同步", notes = "立即写入各 BI 快照表(综合、仓储运输、月台监测、总体运营、仓储运营专区、运输运营专区);须带 X-BI-Access-Token") + @ApiOperation(value = "手动触发快照同步", notes = "立即写入各 BI 快照表(综合、仓储运输、月台监测、总体运营、仓储运营专区、运输运营专区、港澳服务专区);须带 X-BI-Access-Token") @PostMapping("/snapshotSync/run") public BiApiResult runSnapshotSyncOnce() { biReportSnapshotSyncService.syncAllSnapshots(); @@ -123,4 +128,14 @@ public class BiReportApi extends BaseController { TransportOperationZoneVO data = biTransportOperationZoneReportService.loadLatestTransportOperationZone(); return BiApiResult.ok(data); } + + /** + * 港澳服务专区(大屏「港澳服务专区」) + */ + @ApiOperation(value = "港澳服务专区查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条整包 JSON 解析结果") + @GetMapping("/hkMacaoServiceZone") + public BiApiResult hkMacaoServiceZone() { + HkMacaoServiceZoneVO data = biHkMacaoServiceZoneReportService.loadLatestHkMacaoServiceZone(); + return BiApiResult.ok(data); + } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkClientServiceStatsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkClientServiceStatsVO.java new file mode 100644 index 000000000..c0ec00153 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkClientServiceStatsVO.java @@ -0,0 +1,33 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-服务客户统计") +public class HkClientServiceStatsVO { + + @JsonProperty("hk_macao_clients") + @ApiModelProperty("港澳客户数") + private Integer hkMacaoClients; + + @JsonProperty("client_ratio") + @ApiModelProperty("客户占比") + private String clientRatio; + + @JsonProperty("warehouse_usage_area") + @ApiModelProperty("仓库使用面积") + private String warehouseUsageArea; + + @JsonProperty("area_ratio") + @ApiModelProperty("面积占比") + private String areaRatio; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkDoorToDoorEfficiencyVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkDoorToDoorEfficiencyVO.java new file mode 100644 index 000000000..c91b4fdce --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkDoorToDoorEfficiencyVO.java @@ -0,0 +1,29 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-门到门时效") +public class HkDoorToDoorEfficiencyVO { + + @JsonProperty("average_time") + @ApiModelProperty("平均时效") + private String averageTime; + + @JsonProperty("fastest_time") + @ApiModelProperty("最快时效") + private String fastestTime; + + @JsonProperty("mom_growth") + @ApiModelProperty("环比增幅") + private String momGrowth; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkInventoryTurnoverTrendVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkInventoryTurnoverTrendVO.java new file mode 100644 index 000000000..5583e0d7b --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkInventoryTurnoverTrendVO.java @@ -0,0 +1,33 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-库存周转率趋势") +public class HkInventoryTurnoverTrendVO { + + @JsonProperty("current_month_rate") + @ApiModelProperty("本月周转率") + private String currentMonthRate; + + @JsonProperty("annual_rate") + @ApiModelProperty("年度周转率") + private String annualRate; + + @ApiModelProperty("单位") + private String unit; + + @ApiModelProperty("按月序列") + private List data; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMacaoServiceZoneVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMacaoServiceZoneVO.java new file mode 100644 index 000000000..a599232c9 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMacaoServiceZoneVO.java @@ -0,0 +1,74 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 港澳服务专区(整包 data 与快照 PAYLOAD_JSON 一致) + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区") +public class HkMacaoServiceZoneVO { + + @JsonProperty("warehouse_order_stats") + @ApiModelProperty("仓库订单统计") + private HkOrderStatsVO warehouseOrderStats; + + @JsonProperty("client_service_stats") + @ApiModelProperty("服务客户统计") + private HkClientServiceStatsVO clientServiceStats; + + @JsonProperty("goods_source_stats") + @ApiModelProperty("货物品类来源") + private HkRingChartStatsVO goodsSourceStats; + + @JsonProperty("cross_border_order_stats") + @ApiModelProperty("跨境订单统计") + private HkRingChartStatsVO crossBorderOrderStats; + + @JsonProperty("warehouse_order_trend") + @ApiModelProperty("仓库订单趋势") + private List warehouseOrderTrend; + + @JsonProperty("inventory_turnover_trend") + @ApiModelProperty("库存周转率趋势") + private HkInventoryTurnoverTrendVO inventoryTurnoverTrend; + + @JsonProperty("transport_order_stats") + @ApiModelProperty("运输订单统计") + private HkOrderStatsVO transportOrderStats; + + @JsonProperty("door_to_door_efficiency") + @ApiModelProperty("门到门时效") + private HkDoorToDoorEfficiencyVO doorToDoorEfficiency; + + @JsonProperty("cross_border_transport_stats") + @ApiModelProperty("跨境运输订单") + private HkRingChartStatsVO crossBorderTransportStats; + + @JsonProperty("cargo_volume_trend") + @ApiModelProperty("货量趋势") + private List cargoVolumeTrend; + + @JsonProperty("transport_order_trend") + @ApiModelProperty("运输订单趋势") + private List transportOrderTrend; + + @JsonProperty("on_time_delivery_rate") + @ApiModelProperty("准时交付率") + private List onTimeDeliveryRate; + + @JsonProperty("map_data") + @ApiModelProperty("地图点位") + private HkMapDataVO mapData; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapDataVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapDataVO.java new file mode 100644 index 000000000..ea5fc3f6f --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapDataVO.java @@ -0,0 +1,21 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-地图数据") +public class HkMapDataVO { + + @ApiModelProperty("点位列表") + private List points; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapLocationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapLocationVO.java new file mode 100644 index 000000000..8c5d0bc8b --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapLocationVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-地图坐标") +public class HkMapLocationVO { + + @ApiModelProperty("纬度") + private Double lat; + + @ApiModelProperty("经度") + private Double lng; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapPointVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapPointVO.java new file mode 100644 index 000000000..ea243f5d8 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMapPointVO.java @@ -0,0 +1,37 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-地图点位") +public class HkMapPointVO { + + @ApiModelProperty("点位ID") + private String id; + + @ApiModelProperty("类型 warehouse/vehicle") + private String type; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("状态") + private String status; + + @ApiModelProperty("坐标") + private HkMapLocationVO location; + + @ApiModelProperty("仓库指标(type=warehouse)") + private HkWarehouseMetricsVO metrics; + + @ApiModelProperty("车辆详情(type=vehicle)") + private HkVehicleDetailsVO details; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMonthRatePointVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMonthRatePointVO.java new file mode 100644 index 000000000..b98a35ced --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMonthRatePointVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-月份比率点") +public class HkMonthRatePointVO { + + @ApiModelProperty("月份") + private String month; + + @ApiModelProperty("比率或趋势值") + private Integer rate; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMonthValuePointVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMonthValuePointVO.java new file mode 100644 index 000000000..2f887953e --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkMonthValuePointVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-月度数值点") +public class HkMonthValuePointVO { + + @ApiModelProperty("月份") + private String month; + + @ApiModelProperty("数值") + private Integer value; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkOrderStatsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkOrderStatsVO.java new file mode 100644 index 000000000..87134a9cb --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkOrderStatsVO.java @@ -0,0 +1,31 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-订单统计") +public class HkOrderStatsVO { + + @JsonProperty("total_orders") + @ApiModelProperty("订单总量") + private Long totalOrders; + + @ApiModelProperty("单位") + private String unit; + + @JsonProperty("mom_growth") + @ApiModelProperty("环比增幅") + private String momGrowth; + + @ApiModelProperty("趋势 up/down") + private String trend; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkOrderTrendMonthVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkOrderTrendMonthVO.java new file mode 100644 index 000000000..efefb4e79 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkOrderTrendMonthVO.java @@ -0,0 +1,28 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-订单趋势月度点") +public class HkOrderTrendMonthVO { + + @ApiModelProperty("月份") + private String month; + + @JsonProperty("order_ratio") + @ApiModelProperty("订单比率/柱值") + private Integer orderRatio; + + @JsonProperty("order_count") + @ApiModelProperty("订单数") + private Integer orderCount; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkPercentageDetailVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkPercentageDetailVO.java new file mode 100644 index 000000000..cde6f4e92 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkPercentageDetailVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-占比明细") +public class HkPercentageDetailVO { + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("占比") + private String percentage; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkRingChartStatsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkRingChartStatsVO.java new file mode 100644 index 000000000..c3fa0d488 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkRingChartStatsVO.java @@ -0,0 +1,26 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-环形图统计") +public class HkRingChartStatsVO { + + @JsonProperty("total_orders") + @ApiModelProperty("订单/统计总量") + private Integer totalOrders; + + @ApiModelProperty("明细") + private List details; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkVehicleDetailsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkVehicleDetailsVO.java new file mode 100644 index 000000000..5a289efe3 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkVehicleDetailsVO.java @@ -0,0 +1,41 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-车辆详情") +public class HkVehicleDetailsVO { + + @JsonProperty("warehouse_name") + @ApiModelProperty("关联仓库") + private String warehouseName; + + @JsonProperty("license_plate") + @ApiModelProperty("车牌号") + private String licensePlate; + + @JsonProperty("loading_address") + @ApiModelProperty("装货地址") + private String loadingAddress; + + @JsonProperty("destination_address") + @ApiModelProperty("目的地") + private String destinationAddress; + + @JsonProperty("current_location") + @ApiModelProperty("当前位置") + private String currentLocation; + + @JsonProperty("update_time") + @ApiModelProperty("更新时间") + private String updateTime; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkWarehouseMetricsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkWarehouseMetricsVO.java new file mode 100644 index 000000000..c66eaf29d --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/hkMacaoZone/HkWarehouseMetricsVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-港澳服务专区-仓库运营指标") +public class HkWarehouseMetricsVO { + + @JsonProperty("inbound_operations") + @ApiModelProperty("入库作业数") + private Integer inboundOperations; + + @JsonProperty("outbound_operations") + @ApiModelProperty("出库作业数") + private Integer outboundOperations; +} diff --git a/mhd-bi/src/main/resources/mapper/biHkMacaoServiceZone/BiHkMacaoServiceZoneReportMapper.xml b/mhd-bi/src/main/resources/mapper/biHkMacaoServiceZone/BiHkMacaoServiceZoneReportMapper.xml new file mode 100644 index 000000000..8d7934d03 --- /dev/null +++ b/mhd-bi/src/main/resources/mapper/biHkMacaoServiceZone/BiHkMacaoServiceZoneReportMapper.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml b/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml index 9292089ac..21529801a 100644 --- a/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml +++ b/mhd-bi/src/main/resources/mapper/biSnapshotSync/BiSnapshotWriteMapper.xml @@ -32,4 +32,9 @@ insert into NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK) values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark}) + + + insert into NGWL_TEST_BI.BI_HK_MACAO_SERVICE_ZONE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK) + values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark}) + From e784dd289ce9d7dfa2a94e15705a994a17009613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Tue, 19 May 2026 10:10:16 +0800 Subject: [PATCH 165/418] =?UTF-8?q?=E6=96=B0=E6=AD=A3=E5=BC=8F=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E9=85=8D=E7=BD=AE;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-auth/src/main/resources/bootstrap.yml | 12 ++++++------ mhd-gateway/src/main/resources/bootstrap.yml | 2 +- .../mhd-system/src/main/resources/bootstrap.yml | 4 ++-- mhd-user-center/src/main/resources/bootstrap.yml | 16 ++++++++-------- mhd_bms/src/main/resources/bootstrap.yml | 4 ++-- mhd_finance/src/main/resources/bootstrap.yml | 4 ++-- mhd_oms/src/main/resources/bootstrap.yml | 16 ++++++++-------- mhd_product/src/main/resources/bootstrap.yml | 16 ++++++++-------- mhd_thrid_party/src/main/resources/bootstrap.yml | 4 ++-- mhd_transport/src/main/resources/bootstrap.yml | 12 ++++++------ mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 11 files changed, 47 insertions(+), 47 deletions(-) diff --git a/mhd-auth/src/main/resources/bootstrap.yml b/mhd-auth/src/main/resources/bootstrap.yml index a4dc57b58..d2fa8c283 100644 --- a/mhd-auth/src/main/resources/bootstrap.yml +++ b/mhd-auth/src/main/resources/bootstrap.yml @@ -12,19 +12,19 @@ spring: cloud: nacos: discovery: - server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 -# server-addr: 10.102.192.5:6848 +# server-addr: 10.102.192.30:6848 # username: nacos # password: manhuoda@2023 config: - server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -32,4 +32,4 @@ spring: file-extension: yml #默认properties # 共享配置 shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/mhd-gateway/src/main/resources/bootstrap.yml b/mhd-gateway/src/main/resources/bootstrap.yml index 8a3d1e678..c12e0139b 100644 --- a/mhd-gateway/src/main/resources/bootstrap.yml +++ b/mhd-gateway/src/main/resources/bootstrap.yml @@ -15,7 +15,7 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 +# server-addr: 10.102.192.30:6848 # server-addr: 10.33.0.129:6010 #线上正式环境 # server-addr: 127.0.0.1:8848 diff --git a/mhd-modules/mhd-system/src/main/resources/bootstrap.yml b/mhd-modules/mhd-system/src/main/resources/bootstrap.yml index d2ad81e8f..aa660b126 100644 --- a/mhd-modules/mhd-system/src/main/resources/bootstrap.yml +++ b/mhd-modules/mhd-system/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 diff --git a/mhd-user-center/src/main/resources/bootstrap.yml b/mhd-user-center/src/main/resources/bootstrap.yml index 90cf188c9..10cc73f1a 100644 --- a/mhd-user-center/src/main/resources/bootstrap.yml +++ b/mhd-user-center/src/main/resources/bootstrap.yml @@ -20,17 +20,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 共享配置 diff --git a/mhd_bms/src/main/resources/bootstrap.yml b/mhd_bms/src/main/resources/bootstrap.yml index d00f66d31..d68deb6eb 100644 --- a/mhd_bms/src/main/resources/bootstrap.yml +++ b/mhd_bms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 diff --git a/mhd_finance/src/main/resources/bootstrap.yml b/mhd_finance/src/main/resources/bootstrap.yml index 00fee5904..cf943f83f 100644 --- a/mhd_finance/src/main/resources/bootstrap.yml +++ b/mhd_finance/src/main/resources/bootstrap.yml @@ -21,14 +21,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index d05dfce77..bad97b394 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -18,17 +18,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 # 锁定server端的配置文件(读取它的配置项) diff --git a/mhd_product/src/main/resources/bootstrap.yml b/mhd_product/src/main/resources/bootstrap.yml index a6edc6d14..cc81442e9 100644 --- a/mhd_product/src/main/resources/bootstrap.yml +++ b/mhd_product/src/main/resources/bootstrap.yml @@ -19,20 +19,20 @@ spring: nacos: discovery: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.33.0.129:6010 config: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.33.0.129:6010 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 diff --git a/mhd_thrid_party/src/main/resources/bootstrap.yml b/mhd_thrid_party/src/main/resources/bootstrap.yml index 694e01952..d9e1fbbf9 100644 --- a/mhd_thrid_party/src/main/resources/bootstrap.yml +++ b/mhd_thrid_party/src/main/resources/bootstrap.yml @@ -21,14 +21,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 #server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 #server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 diff --git a/mhd_transport/src/main/resources/bootstrap.yml b/mhd_transport/src/main/resources/bootstrap.yml index a06e7156e..d0a7a36a4 100644 --- a/mhd_transport/src/main/resources/bootstrap.yml +++ b/mhd_transport/src/main/resources/bootstrap.yml @@ -18,26 +18,26 @@ spring: cloud: nacos: discovery: - server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置使用ip+端口号 # server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 - # server-addr: 10.102.192.5:6848 + # server-addr: 10.102.192.30:6848 # username: nacos # password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 config: - server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置使用ip+端口号 -# server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 - # server-addr: 10.102.192.5:6848 + # server-addr: 10.102.192.30:6848 # username: nacos # password: manhuoda@2023 # server-addr: 10.33.0.129:6010 diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index 0f3f546c5..fc7380c20 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.5:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 95af50fe12c5724b24589212560e5cbe65e96bcb Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Tue, 19 May 2026 10:22:42 +0800 Subject: [PATCH 166/418] =?UTF-8?q?=E5=88=A0=E6=94=B9=E5=8D=95=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sinessDocumentOrderApplicationService.java | 126 ++++++++++++++++++ .../OriginalImportExportDocumentApi.java | 13 ++ 2 files changed, 139 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index d7586ef8c..6cf459188 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -1,5 +1,6 @@ package com.mhd.oms.application.service.businessDocumentOrder; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.common.core.web.domain.AjaxResult; @@ -31,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.json.JsonObject; import java.io.IOException; import java.util.*; @@ -48,6 +50,9 @@ public class BusinessDocumentOrderApplicationService { private static final String API_NAME_I = "saveBill_i"; private static final String API_NAME_E = "saveBill_e"; private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; + private static final String API_NAME = "billAppModify"; + + @Autowired private BusinessDocumentOrderDomainService businessDocumentOrderDomainService; @@ -297,4 +302,125 @@ public class BusinessDocumentOrderApplicationService { } + public AjaxResult batchPushForReviseApply(BusinessDocumentOrderDTO businessDocumentOrderDTO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long pushBy = loginUser != null ? loginUser.getUserid() : null; + //String pushByName = loginUser != null ? loginUser.getUsername() : null; + Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; + Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; + String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; + + int successCount = 0; + int failCount = 0; + StringBuilder failMsg = new StringBuilder(); + + // 构建单个对象 + Map item = new HashMap<>(); + item.put("erpBillNo", String.valueOf(businessDocumentOrderDTO.getId())); + item.put("operateType", String.valueOf(businessDocumentOrderDTO.getReviseApplyType())); + item.put("appMan", businessDocumentOrderDTO.getReviseApplyBy()); + item.put("appMess", businessDocumentOrderDTO.getReviseApplyReason()); + + + + // 2. 记录日志 + GwLog gwLog = new GwLog(); + gwLog.setType("删改单申请"); + gwLog.setBusinessId(Long.valueOf(businessDocumentOrderDTO.getId())); + gwLog.setRequestBody(JSONObject.toJSONString(item)); + gwLog.setResponseBody(""); + gwLog.setStatus(1); + gwLog.setSendTime(new Date()); + gwLog.setOrganizationId(organizationId); + gwLog.setTopOrganizationId(topOrganizationId); + gwLog.setOrganizationName(organizationName); + gwLog.setCreateBy(pushBy); + gwLog.setCreateTime(new Date()); + gwLog.setDelFlag(1); + gwLogMapper.insert(gwLog); + + //updateReservationOrder(businessDocumentOrderDTO); + // 3. 调用推送接口 + try { + CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(PUSH_API_URL); + StringEntity postingString = new StringEntity(JSONObject.toJSONString(item), "UTF-8"); + httpPost.setEntity(postingString); + + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("verify", VERIFY); + httpPost.setHeader("apiName", API_NAME); + + CloseableHttpResponse response = httpClient.execute(httpPost); + String responseString = EntityUtils.toString(response.getEntity()); + gwLog.setResponseBody(responseString); + + if (response.getStatusLine().getStatusCode() == 200) { + JSONObject responseJson = JSONObject.parseObject(responseString); + JSONArray dataArray = responseJson.getJSONArray("data"); + if(dataArray != null && dataArray.size()>0){ + JSONObject dataObj = dataArray.getJSONObject(0); + + if("1".equals(String.valueOf(responseJson.get("data.code")))){ + gwLog.setStatus(2); + businessDocumentOrderDTO.setReviseApplyStatus(1); + updateReservationOrder(businessDocumentOrderDTO); + + successCount++; + }else { + gwLog.setStatus(3); + gwLog.setErrorMsg(responseString); + + failCount++; + failMsg.append("原始单证Id:").append(businessDocumentOrderDTO.getId()).append("失败:"); + } + } + + } else { + gwLog.setStatus(3); + gwLog.setErrorMsg(responseString); + + if (businessDocumentOrderDTO.getId() != null) { + businessDocumentOrderDTO.setReviseApplyStatus(2); + updateReservationOrder(businessDocumentOrderDTO); + } + failCount++; + failMsg.append("原始单证id:").append(businessDocumentOrderDTO.getId()).append("失败:"); + } + gwLogMapper.updateById(gwLog); + response.close(); + } catch (IOException e) { + gwLog.setStatus(3); + gwLog.setErrorMsg(e.getMessage()); + gwLog.setResponseBody("请求异常:" + e.getMessage()); + gwLogMapper.updateById(gwLog); + if (businessDocumentOrderDTO.getId() != null) { + businessDocumentOrderDTO.setReviseApplyStatus(2); + updateReservationOrder(businessDocumentOrderDTO); + } + failCount++; + failMsg.append("单证id:").append(businessDocumentOrderDTO.getId()).append("异常:").append(e.getMessage()); + log.error("GW推送异常:单证id={}, error={}", businessDocumentOrderDTO.getId(), e.getMessage()); + } + + + String resultMsg = "推送完成:成功" + successCount + "条,失败" + failCount + "条"; + if (failCount > 0) { + resultMsg += "[" + failMsg.toString() + "]"; + } + return AjaxResult.success(resultMsg); + + } + + private void updateReservationOrder(BusinessDocumentOrderDTO businessDocumentOrderDTO) { + try { + BusinessDocumentOrder businessDocumentOrder = new BusinessDocumentOrder(); + BeanUtils.copyProperties(businessDocumentOrderDTO,businessDocumentOrder); + + + businessDocumentOrderMapper.updateById(businessDocumentOrder); + } catch (Exception e) { + log.error("删改单申请更新状态失败失败: id={}, error={}", businessDocumentOrderDTO.getId(), e.getMessage()); + } + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java index b8f7f6add..800689980 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/originalImportExportDocument/OriginalImportExportDocumentApi.java @@ -171,4 +171,17 @@ public class OriginalImportExportDocumentApi extends BaseController { return resultList; } + + @ApiOperation("批量推送") + @PostMapping("/batchPushForReviseApply") + public AjaxResult batchPushForReviseApply(@RequestBody BusinessDocumentOrderDTO businessDocumentOrderDTO){ + if(businessDocumentOrderDTO == null){ + return AjaxResult.error("没有数据需要推送"); + } + return businessDocumentOrderApplicationService.batchPushForReviseApply(businessDocumentOrderDTO); + + + } + + } From bab277f2444946a00ba1afb9375cb4ee34de7544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 19 May 2026 14:18:20 +0800 Subject: [PATCH 167/418] =?UTF-8?q?BI=E4=BA=8C=E7=BA=A7=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BiReportSnapshotMapperSupport.java | 39 ++++++++++++++++ .../BiTransportOperationZoneReportMapper.java | 7 +-- ...BiTransportOperationZoneReportService.java | 8 +++- .../TransportOperationZoneDemoData.java | 40 ++++++++++++++++ .../BiWarehouseOperationZoneReportMapper.java | 7 +-- ...BiWarehouseOperationZoneReportService.java | 8 +++- .../WarehouseOperationZoneDemoData.java | 46 +++++++++++++++++++ .../facadeApi/biReport/BiReportApi.java | 18 +++++--- .../vo/transportZone/TrBrandOrderStatsVO.java | 41 +++++++++++++++++ .../transportZone/TrCapacityStatItemVO.java | 25 ++++++++++ .../vo/transportZone/TrCapacityStatsVO.java | 25 ++++++++++ .../vo/transportZone/TrCargoTypeDetailVO.java | 30 ++++++++++++ .../TrCargoTypeDistributionVO.java | 33 +++++++++++++ .../vo/transportZone/TrOrderStatMetricVO.java | 25 ++++++++++ .../TrOrderStatRateMetricVO.java | 25 ++++++++++ .../TrOrderStatTextMetricVO.java | 25 ++++++++++ .../TransportOperationZoneVO.java | 16 +++++++ .../WarehouseOperationZoneVO.java | 20 ++++++++ .../warehouseZone/WhColdStorageMetricVO.java | 22 +++++++++ .../warehouseZone/WhColdStorageStatsVO.java | 29 ++++++++++++ .../WhOrderSummaryCountItemVO.java | 22 +++++++++ .../vo/warehouseZone/WhOrderSummaryVO.java | 33 +++++++++++++ .../WhTemperatureExceptionVO.java | 40 ++++++++++++++++ .../BiTransportOperationZoneReportMapper.xml | 9 ++++ .../BiWarehouseOperationZoneReportMapper.xml | 9 ++++ 25 files changed, 586 insertions(+), 16 deletions(-) create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrBrandOrderStatsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoTypeDetailVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoTypeDistributionVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatMetricVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatRateMetricVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatTextMetricVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhColdStorageMetricVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhColdStorageStatsVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderSummaryCountItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderSummaryVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhTemperatureExceptionVO.java diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java index abf73d99a..003f4f802 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java @@ -139,7 +139,22 @@ public final class BiReportSnapshotMapperSupport { } public static WarehouseOperationZoneVO emptyWarehouseOperationZone() { + WhColdStorageMetricVO emptyColdMetric = WhColdStorageMetricVO.builder().value("").trend("").build(); return WarehouseOperationZoneVO.builder() + .warehouseName("") + .updateTime("") + .orderSummary(WhOrderSummaryVO.builder() + .totalCount("") + .inboundOrders(WhOrderSummaryCountItemVO.builder().label("").value(0).build()) + .outboundOrders(WhOrderSummaryCountItemVO.builder().label("").value(0).build()) + .operationOrders(WhOrderSummaryCountItemVO.builder().label("").value(0).build()) + .build()) + .coldStorageStats(WhColdStorageStatsVO.builder() + .revenueShare(emptyColdMetric) + .utilizationRate(emptyColdMetric) + .damageRate(emptyColdMetric) + .build()) + .temperatureExceptions(Collections.emptyList()) .storageOverview(WhStorageOverviewVO.builder() .title("").value(0).unit("").subText("").build()) .operationStats(WhOperationStatsVO.builder() @@ -205,9 +220,33 @@ public final class BiReportSnapshotMapperSupport { .title("").unit("").data(Collections.emptyList()).build()) .transportSummary(TrTransportSummaryVO.builder() .title("").safeMileage("").avgDeliveryTime("").build()) + .capacityStats(TrCapacityStatsVO.builder() + .vehicles(emptyCapacityStatItem()) + .drivers(emptyCapacityStatItem()) + .escorts(emptyCapacityStatItem()) + .build()) + .cargoTypeDistribution(TrCargoTypeDistributionVO.builder() + .title("").totalOrders(0).totalUnit("").details(Collections.emptyList()).build()) + .freshOrderStats(emptyBrandOrderStats()) + .vitasoyOrderStats(emptyBrandOrderStats()) .build(); } + private static TrBrandOrderStatsVO emptyBrandOrderStats() { + return TrBrandOrderStatsVO.builder() + .plannedDelivery(TrOrderStatMetricVO.builder().value(0).unit("").label("").build()) + .orderQuantity(TrOrderStatMetricVO.builder().value(0).unit("").label("").build()) + .vehiclesInTransit(TrOrderStatMetricVO.builder().value(0).unit("").label("").build()) + .completedDelivery(TrOrderStatTextMetricVO.builder().value("").unit("").label("").build()) + .overtimeDelivery(TrOrderStatMetricVO.builder().value(0).unit("").label("").build()) + .onTimeRate(TrOrderStatRateMetricVO.builder().value("").trend("").label("").build()) + .build(); + } + + private static TrCapacityStatItemVO emptyCapacityStatItem() { + return TrCapacityStatItemVO.builder().value(0).unit("").label("").build(); + } + public static HkMacaoServiceZoneVO emptyHkMacaoServiceZone() { HkOrderStatsVO emptyOrderStats = HkOrderStatsVO.builder() .totalOrders(0L).unit("").momGrowth("").trend("").build(); diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/repository/mapper/BiTransportOperationZoneReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/repository/mapper/BiTransportOperationZoneReportMapper.java index 589f54e72..00fc66e2b 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/repository/mapper/BiTransportOperationZoneReportMapper.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/repository/mapper/BiTransportOperationZoneReportMapper.java @@ -2,17 +2,18 @@ package com.mhd.bi.domain.biTransportOperationZone.repository.mapper; import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO; +import org.apache.ibatis.annotations.Param; /** * 运输运营专区:取 NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT 最新 PAYLOAD_JSON 并解析。 */ public interface BiTransportOperationZoneReportMapper { - String selectLatestPayloadJson(); + String selectLatestPayloadJson(@Param("organizationName") String organizationName); - default TransportOperationZoneVO loadLatestTransportOperationZone() { + default TransportOperationZoneVO loadTransportOperationZone(String organizationName) { return BiReportSnapshotMapperSupport.parsePayload( - selectLatestPayloadJson(), + selectLatestPayloadJson(organizationName), TransportOperationZoneVO.class, BiReportSnapshotMapperSupport::emptyTransportOperationZone, "运输运营专区"); diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/service/BiTransportOperationZoneReportService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/service/BiTransportOperationZoneReportService.java index b9a72802b..0eb181a5e 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/service/BiTransportOperationZoneReportService.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/service/BiTransportOperationZoneReportService.java @@ -2,6 +2,7 @@ package com.mhd.bi.domain.biTransportOperationZone.service; import com.mhd.bi.domain.biTransportOperationZone.repository.mapper.BiTransportOperationZoneReportMapper; import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -15,7 +16,10 @@ public class BiTransportOperationZoneReportService { @Resource private BiTransportOperationZoneReportMapper biTransportOperationZoneReportMapper; - public TransportOperationZoneVO loadLatestTransportOperationZone() { - return biTransportOperationZoneReportMapper.loadLatestTransportOperationZone(); + /** + * @param organizationName 企业运营/组织名称(模糊匹配),为空时取全表最新一条 + */ + public TransportOperationZoneVO loadTransportOperationZone(String organizationName) { + return biTransportOperationZoneReportMapper.loadTransportOperationZone(StringUtils.trimToNull(organizationName)); } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java index c7f57ba9a..069576cb9 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java @@ -68,6 +68,12 @@ public final class TransportOperationZoneDemoData { TrCargoCategoryItemVO.builder().name("冻品").value(50).color("orange").build() ); + List cargoTypeDetails = Arrays.asList( + TrCargoTypeDetailVO.builder().typeCode("2").name("第2类 气体").percentage("65%").color("#1890FF").build(), + TrCargoTypeDetailVO.builder().typeCode("3").name("第3类 易燃液体").percentage("25%").color("#52C41A").build(), + TrCargoTypeDetailVO.builder().typeCode("8").name("第8类 腐蚀性物质").percentage("15%").color("#FAAD14").build() + ); + TrMapNodeVO mapNode = TrMapNodeVO.builder() .id(1L) .name("通宇作业车辆") @@ -138,9 +144,43 @@ public final class TransportOperationZoneDemoData { .safeMileage("240万公里") .avgDeliveryTime("平均4小时送达") .build()) + .capacityStats(TrCapacityStatsVO.builder() + .vehicles(capacityStatItem(280, "辆", "车辆")) + .drivers(capacityStatItem(360, "人", "驾驶员")) + .escorts(capacityStatItem(56, "人", "押运员")) + .build()) + .cargoTypeDistribution(TrCargoTypeDistributionVO.builder() + .title("货物类型分布") + .totalOrders(1000) + .totalUnit("单") + .details(cargoTypeDetails) + .build()) + .freshOrderStats(sampleBrandOrderStats()) + .vitasoyOrderStats(sampleBrandOrderStats()) .build(); } + private static TrBrandOrderStatsVO sampleBrandOrderStats() { + return TrBrandOrderStatsVO.builder() + .plannedDelivery(orderStatMetric(2135, "单", "计划配送")) + .orderQuantity(orderStatMetric(228, "万吨", "订单数量")) + .vehiclesInTransit(orderStatMetric(84, "辆", "在途车辆")) + .completedDelivery(TrOrderStatTextMetricVO.builder() + .value("22.8%").unit("").label("完成配送").build()) + .overtimeDelivery(orderStatMetric(228, "单", "超时配送")) + .onTimeRate(TrOrderStatRateMetricVO.builder() + .value("85%").trend("+30%").label("准时配送率").build()) + .build(); + } + + private static TrOrderStatMetricVO orderStatMetric(int value, String unit, String label) { + return TrOrderStatMetricVO.builder().value(value).unit(unit).label(label).build(); + } + + private static TrCapacityStatItemVO capacityStatItem(int value, String unit, String label) { + return TrCapacityStatItemVO.builder().value(value).unit(unit).label(label).build(); + } + private static TrMonthValuePointVO point(String month, int value) { return TrMonthValuePointVO.builder().month(month).value(value).build(); } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/repository/mapper/BiWarehouseOperationZoneReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/repository/mapper/BiWarehouseOperationZoneReportMapper.java index 24b8a0f02..5ba495eae 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/repository/mapper/BiWarehouseOperationZoneReportMapper.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/repository/mapper/BiWarehouseOperationZoneReportMapper.java @@ -2,17 +2,18 @@ package com.mhd.bi.domain.biWarehouseOperationZone.repository.mapper; import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; +import org.apache.ibatis.annotations.Param; /** * 仓储运营专区:取 NGWL_TEST_BI.BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT 最新 PAYLOAD_JSON 并解析。 */ public interface BiWarehouseOperationZoneReportMapper { - String selectLatestPayloadJson(); + String selectLatestPayloadJson(@Param("organizationName") String organizationName); - default WarehouseOperationZoneVO loadLatestWarehouseOperationZone() { + default WarehouseOperationZoneVO loadWarehouseOperationZone(String organizationName) { return BiReportSnapshotMapperSupport.parsePayload( - selectLatestPayloadJson(), + selectLatestPayloadJson(organizationName), WarehouseOperationZoneVO.class, BiReportSnapshotMapperSupport::emptyWarehouseOperationZone, "仓储运营专区"); diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/service/BiWarehouseOperationZoneReportService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/service/BiWarehouseOperationZoneReportService.java index eebed5fd4..1a1d3fcc0 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/service/BiWarehouseOperationZoneReportService.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/service/BiWarehouseOperationZoneReportService.java @@ -2,6 +2,7 @@ package com.mhd.bi.domain.biWarehouseOperationZone.service; import com.mhd.bi.domain.biWarehouseOperationZone.repository.mapper.BiWarehouseOperationZoneReportMapper; import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -15,7 +16,10 @@ public class BiWarehouseOperationZoneReportService { @Resource private BiWarehouseOperationZoneReportMapper biWarehouseOperationZoneReportMapper; - public WarehouseOperationZoneVO loadLatestWarehouseOperationZone() { - return biWarehouseOperationZoneReportMapper.loadLatestWarehouseOperationZone(); + /** + * @param organizationName 企业运营/组织名称(模糊匹配),为空时取全表最新一条 + */ + public WarehouseOperationZoneVO loadWarehouseOperationZone(String organizationName) { + return biWarehouseOperationZoneReportMapper.loadWarehouseOperationZone(StringUtils.trimToNull(organizationName)); } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java index 4e63389d9..b4c4c1b37 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biWarehouseOperationZone/support/WarehouseOperationZoneDemoData.java @@ -68,6 +68,20 @@ public final class WarehouseOperationZoneDemoData { ); return WarehouseOperationZoneVO.builder() + .warehouseName("新南仓") + .updateTime("2026-04-16 18:41:00") + .orderSummary(WhOrderSummaryVO.builder() + .totalCount("03600") + .inboundOrders(orderSummaryItem("入库单", 2298)) + .outboundOrders(orderSummaryItem("出库单", 1129)) + .operationOrders(orderSummaryItem("作业单", 345)) + .build()) + .coldStorageStats(WhColdStorageStatsVO.builder() + .revenueShare(coldMetric("64.8%", "+30%")) + .utilizationRate(coldMetric("28.6%", "+30%")) + .damageRate(coldMetric("1.6%", "+30%")) + .build()) + .temperatureExceptions(sampleTemperatureExceptions()) .storageOverview(WhStorageOverviewVO.builder() .title("仓储面积") .value(10) @@ -144,6 +158,38 @@ public final class WarehouseOperationZoneDemoData { .build(); } + private static WhOrderSummaryCountItemVO orderSummaryItem(String label, int value) { + return WhOrderSummaryCountItemVO.builder().label(label).value(value).build(); + } + + private static WhColdStorageMetricVO coldMetric(String value, String trend) { + return WhColdStorageMetricVO.builder().value(value).trend(trend).build(); + } + + private static List sampleTemperatureExceptions() { + return Arrays.asList( + tempException(1, "I级"), + tempException(2, "II级"), + tempException(3, "II级"), + tempException(4, "II级"), + tempException(5, "IV级"), + tempException(6, "IV级"), + tempException(7, "IV级") + ); + } + + private static WhTemperatureExceptionVO tempException(int rank, String level) { + return WhTemperatureExceptionVO.builder() + .rank(rank) + .level(level) + .area("A1区") + .deviceId("01020304") + .temperature("-4°C") + .duration("持续0小时12分钟") + .occurTime("04-16 18:41") + .build(); + } + private static WhMapNodeVO mapNode(long id, String name, double lng, double lat, String warehouseName, String totalArea, int totalSku, int todayOrders, String utilizationRate, String rentalRate) { diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java index d75f1207c..6d6156940 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/BiReportApi.java @@ -19,12 +19,14 @@ import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperat import com.mhd.common.core.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** @@ -112,20 +114,24 @@ public class BiReportApi extends BaseController { /** * 仓储运营专区(大屏「仓储运营专区」Tab) */ - @ApiOperation(value = "仓储运营专区查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条整包 JSON 解析结果") + @ApiOperation(value = "仓储运营专区查询", notes = "未传 organizationName 时返回全表最新一条;") @GetMapping("/warehouseOperationZone") - public BiApiResult warehouseOperationZone() { - WarehouseOperationZoneVO data = biWarehouseOperationZoneReportService.loadLatestWarehouseOperationZone(); + public BiApiResult warehouseOperationZone( + @ApiParam(value = "企业运营/组织名称") + @RequestParam(value = "organizationName", required = false) String organizationName) { + WarehouseOperationZoneVO data = biWarehouseOperationZoneReportService.loadWarehouseOperationZone(organizationName); return BiApiResult.ok(data); } /** * 运输运营专区(大屏「运输运营专区」Tab) */ - @ApiOperation(value = "运输运营专区查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条整包 JSON 解析结果") + @ApiOperation(value = "运输运营专区查询", notes = "未传 organizationName 时返回全表最新一条;传入时双向模糊匹配 ORGANIZATION_NAME(库名包含关键词,或关键词包含库名)") @GetMapping("/transportOperationZone") - public BiApiResult transportOperationZone() { - TransportOperationZoneVO data = biTransportOperationZoneReportService.loadLatestTransportOperationZone(); + public BiApiResult transportOperationZone( + @ApiParam(value = "企业运营/组织名称,与快照表 ORGANIZATION_NAME 双向模糊匹配") + @RequestParam(value = "organizationName", required = false) String organizationName) { + TransportOperationZoneVO data = biTransportOperationZoneReportService.loadTransportOperationZone(organizationName); return BiApiResult.ok(data); } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrBrandOrderStatsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrBrandOrderStatsVO.java new file mode 100644 index 000000000..828bf0f98 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrBrandOrderStatsVO.java @@ -0,0 +1,41 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-品牌订单统计块") +public class TrBrandOrderStatsVO { + + @JsonProperty("planned_delivery") + @ApiModelProperty("计划配送") + private TrOrderStatMetricVO plannedDelivery; + + @JsonProperty("order_quantity") + @ApiModelProperty("订单数量") + private TrOrderStatMetricVO orderQuantity; + + @JsonProperty("vehicles_in_transit") + @ApiModelProperty("在途车辆") + private TrOrderStatMetricVO vehiclesInTransit; + + @JsonProperty("completed_delivery") + @ApiModelProperty("完成配送") + private TrOrderStatTextMetricVO completedDelivery; + + @JsonProperty("overtime_delivery") + @ApiModelProperty("超时配送") + private TrOrderStatMetricVO overtimeDelivery; + + @JsonProperty("on_time_rate") + @ApiModelProperty("准时配送率") + private TrOrderStatRateMetricVO onTimeRate; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatItemVO.java new file mode 100644 index 000000000..e0aa878ad --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatItemVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-运力统计项") +public class TrCapacityStatItemVO { + + @ApiModelProperty("数值") + private Integer value; + + @ApiModelProperty("单位") + private String unit; + + @ApiModelProperty("标签") + private String label; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatsVO.java new file mode 100644 index 000000000..ecfc77724 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCapacityStatsVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-企业运力统计") +public class TrCapacityStatsVO { + + @ApiModelProperty("车辆") + private TrCapacityStatItemVO vehicles; + + @ApiModelProperty("驾驶员") + private TrCapacityStatItemVO drivers; + + @ApiModelProperty("押运员") + private TrCapacityStatItemVO escorts; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoTypeDetailVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoTypeDetailVO.java new file mode 100644 index 000000000..17b5facfe --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoTypeDetailVO.java @@ -0,0 +1,30 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-货物类型分布明细") +public class TrCargoTypeDetailVO { + + @JsonProperty("type_code") + @ApiModelProperty("类型编码") + private String typeCode; + + @ApiModelProperty("类型名称") + private String name; + + @ApiModelProperty("占比") + private String percentage; + + @ApiModelProperty("图表颜色") + private String color; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoTypeDistributionVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoTypeDistributionVO.java new file mode 100644 index 000000000..66b163319 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrCargoTypeDistributionVO.java @@ -0,0 +1,33 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-货物类型分布") +public class TrCargoTypeDistributionVO { + + @ApiModelProperty("标题") + private String title; + + @JsonProperty("total_orders") + @ApiModelProperty("订单总量") + private Integer totalOrders; + + @JsonProperty("total_unit") + @ApiModelProperty("总量单位") + private String totalUnit; + + @ApiModelProperty("明细") + private List details; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatMetricVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatMetricVO.java new file mode 100644 index 000000000..ba52f297a --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatMetricVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-订单统计数值项") +public class TrOrderStatMetricVO { + + @ApiModelProperty("数值") + private Integer value; + + @ApiModelProperty("单位") + private String unit; + + @ApiModelProperty("标签") + private String label; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatRateMetricVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatRateMetricVO.java new file mode 100644 index 000000000..c3997b794 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatRateMetricVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-订单统计比率项") +public class TrOrderStatRateMetricVO { + + @ApiModelProperty("展示值") + private String value; + + @ApiModelProperty("环比/趋势") + private String trend; + + @ApiModelProperty("标签") + private String label; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatTextMetricVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatTextMetricVO.java new file mode 100644 index 000000000..058514f7d --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TrOrderStatTextMetricVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-运输运营专区-订单统计文本项") +public class TrOrderStatTextMetricVO { + + @ApiModelProperty("展示值") + private String value; + + @ApiModelProperty("单位") + private String unit; + + @ApiModelProperty("标签") + private String label; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TransportOperationZoneVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TransportOperationZoneVO.java index 54c6b4a0e..1cf2247b8 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TransportOperationZoneVO.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/transportZone/TransportOperationZoneVO.java @@ -77,4 +77,20 @@ public class TransportOperationZoneVO { @JsonProperty("transport_summary") @ApiModelProperty("运输统计总结") private TrTransportSummaryVO transportSummary; + + @JsonProperty("capacity_stats") + @ApiModelProperty("企业运力统计") + private TrCapacityStatsVO capacityStats; + + @JsonProperty("cargo_type_distribution") + @ApiModelProperty("货物类型分布") + private TrCargoTypeDistributionVO cargoTypeDistribution; + + @JsonProperty("fresh_order_stats") + @ApiModelProperty("生鲜订单统计") + private TrBrandOrderStatsVO freshOrderStats; + + @JsonProperty("vitasoy_order_stats") + @ApiModelProperty("维他奶订单统计") + private TrBrandOrderStatsVO vitasoyOrderStats; } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java index 01975022a..7eee37645 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WarehouseOperationZoneVO.java @@ -20,6 +20,26 @@ import java.util.List; @ApiModel("BI-仓储运营专区") public class WarehouseOperationZoneVO { + @JsonProperty("warehouse_name") + @ApiModelProperty("仓库名称") + private String warehouseName; + + @JsonProperty("update_time") + @ApiModelProperty("数据更新时间") + private String updateTime; + + @JsonProperty("order_summary") + @ApiModelProperty("仓库订单统计(顶部)") + private WhOrderSummaryVO orderSummary; + + @JsonProperty("cold_storage_stats") + @ApiModelProperty("冻仓数据统计") + private WhColdStorageStatsVO coldStorageStats; + + @JsonProperty("temperature_exceptions") + @ApiModelProperty("温度异常事件列表") + private List temperatureExceptions; + @JsonProperty("storage_overview") @ApiModelProperty("仓储面积") private WhStorageOverviewVO storageOverview; diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhColdStorageMetricVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhColdStorageMetricVO.java new file mode 100644 index 000000000..e1d94ec01 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhColdStorageMetricVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-冻仓指标") +public class WhColdStorageMetricVO { + + @ApiModelProperty("展示值") + private String value; + + @ApiModelProperty("趋势") + private String trend; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhColdStorageStatsVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhColdStorageStatsVO.java new file mode 100644 index 000000000..94d6b1cab --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhColdStorageStatsVO.java @@ -0,0 +1,29 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-冻仓数据统计") +public class WhColdStorageStatsVO { + + @JsonProperty("revenue_share") + @ApiModelProperty("收入占比") + private WhColdStorageMetricVO revenueShare; + + @JsonProperty("utilization_rate") + @ApiModelProperty("利用率") + private WhColdStorageMetricVO utilizationRate; + + @JsonProperty("damage_rate") + @ApiModelProperty("损耗率") + private WhColdStorageMetricVO damageRate; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderSummaryCountItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderSummaryCountItemVO.java new file mode 100644 index 000000000..01c02ebd8 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderSummaryCountItemVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-订单汇总项") +public class WhOrderSummaryCountItemVO { + + @ApiModelProperty("标签") + private String label; + + @ApiModelProperty("数量") + private Integer value; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderSummaryVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderSummaryVO.java new file mode 100644 index 000000000..89d5c392d --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhOrderSummaryVO.java @@ -0,0 +1,33 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-仓库订单汇总") +public class WhOrderSummaryVO { + + @JsonProperty("total_count") + @ApiModelProperty("订单总量(翻牌器)") + private String totalCount; + + @JsonProperty("inbound_orders") + @ApiModelProperty("入库单") + private WhOrderSummaryCountItemVO inboundOrders; + + @JsonProperty("outbound_orders") + @ApiModelProperty("出库单") + private WhOrderSummaryCountItemVO outboundOrders; + + @JsonProperty("operation_orders") + @ApiModelProperty("作业单") + private WhOrderSummaryCountItemVO operationOrders; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhTemperatureExceptionVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhTemperatureExceptionVO.java new file mode 100644 index 000000000..909beaaf6 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/warehouseZone/WhTemperatureExceptionVO.java @@ -0,0 +1,40 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-仓储运营专区-温度异常事件") +public class WhTemperatureExceptionVO { + + @ApiModelProperty("序号") + private Integer rank; + + @ApiModelProperty("等级") + private String level; + + @ApiModelProperty("区域") + private String area; + + @JsonProperty("device_id") + @ApiModelProperty("设备编号") + private String deviceId; + + @ApiModelProperty("温度") + private String temperature; + + @ApiModelProperty("持续时长") + private String duration; + + @JsonProperty("occur_time") + @ApiModelProperty("发生时间") + private String occurTime; +} diff --git a/mhd-bi/src/main/resources/mapper/biTransportOperationZone/BiTransportOperationZoneReportMapper.xml b/mhd-bi/src/main/resources/mapper/biTransportOperationZone/BiTransportOperationZoneReportMapper.xml index 9a4dfda4f..98a24dcf6 100644 --- a/mhd-bi/src/main/resources/mapper/biTransportOperationZone/BiTransportOperationZoneReportMapper.xml +++ b/mhd-bi/src/main/resources/mapper/biTransportOperationZone/BiTransportOperationZoneReportMapper.xml @@ -7,6 +7,15 @@ select PAYLOAD_JSON from NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT where DEL_FLAG = 1 + + and ( + ORGANIZATION_NAME like '%' || #{organizationName} || '%' + or ( + ORGANIZATION_NAME is not null + and INSTR(#{organizationName}, ORGANIZATION_NAME) > 0 + ) + ) + order by CREATE_TIME desc nulls last, ID desc limit 1 diff --git a/mhd-bi/src/main/resources/mapper/biWarehouseOperationZone/BiWarehouseOperationZoneReportMapper.xml b/mhd-bi/src/main/resources/mapper/biWarehouseOperationZone/BiWarehouseOperationZoneReportMapper.xml index 8e20f8616..4bce04b54 100644 --- a/mhd-bi/src/main/resources/mapper/biWarehouseOperationZone/BiWarehouseOperationZoneReportMapper.xml +++ b/mhd-bi/src/main/resources/mapper/biWarehouseOperationZone/BiWarehouseOperationZoneReportMapper.xml @@ -7,6 +7,15 @@ select PAYLOAD_JSON from NGWL_TEST_BI.BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT where DEL_FLAG = 1 + + and ( + ORGANIZATION_NAME like '%' || #{organizationName} || '%' + or ( + ORGANIZATION_NAME is not null + and INSTR(#{organizationName}, ORGANIZATION_NAME) > 0 + ) + ) + order by CREATE_TIME desc nulls last, ID desc limit 1 From 3b12c6fe0ae2c1341f3f2daef977d0837430e5fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 19 May 2026 15:13:09 +0800 Subject: [PATCH 168/418] =?UTF-8?q?BI=E5=A4=A7=E5=B1=8F=E8=BF=90=E8=BE=93?= =?UTF-8?q?=E8=BF=90=E8=90=A5=E4=B8=93=E5=8C=BA=E6=9F=A5=E8=AF=A2=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../support/TransportOperationZoneDemoData.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java index 069576cb9..b1dfb6ad9 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biTransportOperationZone/support/TransportOperationZoneDemoData.java @@ -55,11 +55,11 @@ public final class TransportOperationZoneDemoData { ); List enterpriseList = Arrays.asList( - row("NO.1", "供应商A", "268.25万", "2400单", 95), - row("NO.2", "供应商B", "258.15万", "1800单", 98), - row("NO.3", "供应商C", "242.32万", "1200单", 13), - row("NO.4", "供应商D", "231.54万", "800单", 12), - row("NO.5", "供应商E", "220.90万", "567单", 15) + row("NO.1", "通宇", "268.25万", "2400单", 95), + row("NO.2", "南岐", "258.15万", "1800单", 98), + row("NO.3", "谷丰", "242.32万", "1200单", 13), + row("NO.4", "仓码", "231.54万", "800单", 12), + row("NO.5", "横琴", "220.90万", "567单", 15) ); List cargoItems = Arrays.asList( From cc8051b579734c79529153214d27b71ec7fb136e Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Tue, 19 May 2026 15:45:41 +0800 Subject: [PATCH 169/418] =?UTF-8?q?=E8=B4=B8=E6=98=93=E5=8D=95=E8=AF=81?= =?UTF-8?q?=E8=AF=A6=E6=83=85-=E4=BB=B6=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sDocumentCargoMultiApplicationService.java | 27 +++++++++++++++++++ .../BusinessDocumentCargoMultiMapper.java | 5 ++++ .../po/BusinessDocumentCargoMultiPO.java | 4 +++ .../BusinessDocumentCargoMultiApi.java | 14 +++++----- .../BusinessDocumentCargoMultiMapper.xml | 13 +++++++++ 5 files changed, 55 insertions(+), 8 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentCargoMulti/BusinessDocumentCargoMultiApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentCargoMulti/BusinessDocumentCargoMultiApplicationService.java index 0ba35bd8a..d0046c4bd 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentCargoMulti/BusinessDocumentCargoMultiApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentCargoMulti/BusinessDocumentCargoMultiApplicationService.java @@ -1,13 +1,19 @@ package com.mhd.oms.application.service.businessDocumentCargoMulti; +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.oms.domain.businessDocumentCargoMulti.repository.mapper.BusinessDocumentCargoMultiMapper; import com.mhd.oms.domain.businessDocumentCargoMulti.repository.po.BusinessDocumentCargoMultiPO; import com.mhd.oms.domain.businessDocumentCargoMulti.repository.todo.BusinessDocumentCargoMultiDO; import com.mhd.oms.domain.businessDocumentCargoMulti.service.BusinessDocumentCargoMultiDomainService; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** * 【请填写功能名称】ApplicationService @@ -21,6 +27,9 @@ public class BusinessDocumentCargoMultiApplicationService { @Autowired private BusinessDocumentCargoMultiDomainService businessDocumentCargoMultiDomainService; + @Resource + private BusinessDocumentCargoMultiMapper businessDocumentCargoMultiMapper; + /** * 分页查询【请填写功能名称】列表 @@ -69,4 +78,22 @@ public class BusinessDocumentCargoMultiApplicationService { } + + public TableDataInfo getByOrderId(String orderId) { + if (orderId == null ) { + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setData(new ArrayList<>()); + tableDataInfo.setTotal(0); + tableDataInfo.setCode(200); + return tableDataInfo; + } + + List list = businessDocumentCargoMultiMapper.selectBatchByOrderId(orderId); + + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setData(list); + tableDataInfo.setTotal(list.size()); + tableDataInfo.setCode(200); + return tableDataInfo; + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/repository/mapper/BusinessDocumentCargoMultiMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/repository/mapper/BusinessDocumentCargoMultiMapper.java index 61430fe50..6a2a7886c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/repository/mapper/BusinessDocumentCargoMultiMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/repository/mapper/BusinessDocumentCargoMultiMapper.java @@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti; import com.mhd.oms.domain.businessDocumentCargoMulti.repository.po.BusinessDocumentCargoMultiPO; import com.mhd.oms.domain.businessDocumentCargoMulti.repository.todo.BusinessDocumentCargoMultiDO; +import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + /** * 【请填写功能名称】Mapper接口 * @@ -19,4 +22,6 @@ public interface BusinessDocumentCargoMultiMapper extends BaseMapper queryList(BusinessDocumentCargoMultiDO businessDocumentCargoMultiDO); + + List selectBatchByOrderId(@Param("orderId") String orderId); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/repository/po/BusinessDocumentCargoMultiPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/repository/po/BusinessDocumentCargoMultiPO.java index 8335fac62..c2b01b4b9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/repository/po/BusinessDocumentCargoMultiPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentCargoMulti/repository/po/BusinessDocumentCargoMultiPO.java @@ -67,5 +67,9 @@ public class BusinessDocumentCargoMultiPO extends BaseVOEntity{ @ApiModelProperty("物料id") private Long materialBaseInfoId; + @ApiModelProperty("订单id") + private String OrderId; + @ApiModelProperty("货物信息-件数") + private BigDecimal CargoNum; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentCargoMulti/BusinessDocumentCargoMultiApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentCargoMulti/BusinessDocumentCargoMultiApi.java index d5b43d562..ecc9d396a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentCargoMulti/BusinessDocumentCargoMultiApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentCargoMulti/BusinessDocumentCargoMultiApi.java @@ -4,13 +4,7 @@ import java.util.List; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO; import com.mhd.oms.domain.businessDocumentCargoMulti.repository.todo.BusinessDocumentCargoMultiDO; import com.mhd.oms.domain.businessDocumentCargoMulti.repository.po.BusinessDocumentCargoMultiPO; @@ -89,7 +83,11 @@ public class BusinessDocumentCargoMultiApi extends BaseController{ - + @ApiOperation("根据物料ID列表批量查询物料") + @GetMapping("/getBatchByOrderId") + public TableDataInfo getBatchByIds(@RequestParam("orderId") String orderId) { + return businessDocumentCargoMultiApplicationService.getByOrderId(orderId); + } diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentCargoMulti/BusinessDocumentCargoMultiMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentCargoMulti/BusinessDocumentCargoMultiMapper.xml index 56b88b1b0..dee932f53 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentCargoMulti/BusinessDocumentCargoMultiMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentCargoMulti/BusinessDocumentCargoMultiMapper.xml @@ -22,6 +22,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -89,4 +92,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + \ No newline at end of file From 5d81c89de7a828cf5239e30eed19843f93b7cb57 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Tue, 19 May 2026 16:01:40 +0800 Subject: [PATCH 170/418] =?UTF-8?q?=E5=88=A0=E6=94=B9=E5=8D=95=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessDocumentOrderApplicationService.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index 6cf459188..182e05e6d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -321,8 +321,6 @@ public class BusinessDocumentOrderApplicationService { item.put("appMan", businessDocumentOrderDTO.getReviseApplyBy()); item.put("appMess", businessDocumentOrderDTO.getReviseApplyReason()); - - // 2. 记录日志 GwLog gwLog = new GwLog(); gwLog.setType("删改单申请"); @@ -361,7 +359,7 @@ public class BusinessDocumentOrderApplicationService { if(dataArray != null && dataArray.size()>0){ JSONObject dataObj = dataArray.getJSONObject(0); - if("1".equals(String.valueOf(responseJson.get("data.code")))){ + if("1".equals(String.valueOf(dataObj.get("code")))){ gwLog.setStatus(2); businessDocumentOrderDTO.setReviseApplyStatus(1); updateReservationOrder(businessDocumentOrderDTO); From 1f08d86746348903c8820c125224f05cadcf8c9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 19 May 2026 17:02:51 +0800 Subject: [PATCH 171/418] =?UTF-8?q?BI=E5=A4=A7=E5=B1=8F=E6=80=BB=E4=BD=93?= =?UTF-8?q?=E8=BF=90=E8=90=A5=E6=80=81=E5=8A=BF=E6=9F=A5=E8=AF=A2=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BiOverallOperationReportMapper.java | 7 +++-- .../BiReportSnapshotMapperSupport.java | 5 +-- .../BiSnapshotWeeklyRandomDataBuilder.java | 21 +++---------- .../OverallTransportEnterpriseRankVO.java | 31 ------------------- .../overall/OverallTransportOperationVO.java | 9 ++++-- .../OverallWarehouseCapabilityRankVO.java | 10 +++--- .../overall/OverallWarehouseOperationVO.java | 4 ++- 7 files changed, 28 insertions(+), 59 deletions(-) delete mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportEnterpriseRankVO.java diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/repository/mapper/BiOverallOperationReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/repository/mapper/BiOverallOperationReportMapper.java index 219e77540..0487d3e99 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/repository/mapper/BiOverallOperationReportMapper.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/repository/mapper/BiOverallOperationReportMapper.java @@ -1,5 +1,6 @@ package com.mhd.bi.domain.biOverallOperation.repository.mapper; +import com.mhd.bi.domain.biOverallOperation.support.OverallOperationPayloadNormalizer; import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; @@ -11,10 +12,12 @@ public interface BiOverallOperationReportMapper { String selectLatestPayloadJson(); default OverallOperationSituationVO loadLatestOverallOperation() { - return BiReportSnapshotMapperSupport.parsePayload( - selectLatestPayloadJson(), + String json = OverallOperationPayloadNormalizer.normalizeJson(selectLatestPayloadJson()); + OverallOperationSituationVO vo = BiReportSnapshotMapperSupport.parsePayload( + json, OverallOperationSituationVO.class, BiReportSnapshotMapperSupport::emptyOverallOperationSituation, "总体运营态势"); + return OverallOperationPayloadNormalizer.ensureDefaults(vo); } } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java index 003f4f802..3bef7d528 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java @@ -5,6 +5,7 @@ import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.*; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TrTypedChartVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.hkMacaoZone.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.*; @@ -117,7 +118,7 @@ public final class BiReportSnapshotMapperSupport { .customerCount(0L).coverageArea("") .annualThroughput(0).throughputUnit("").throughputGrowth(0d) .build()) - .capabilityRanking(Collections.emptyList()) + .capabilityRanking(BiWarehouseCapabilityRankingSupport.defaultRanking()) .build()) .map(OverallMapSectionVO.builder().nodes(Collections.emptyList()).build()) .transport(OverallTransportOperationVO.builder() @@ -133,7 +134,7 @@ public final class BiReportSnapshotMapperSupport { .freightTrendByMonth(Collections.emptyList()) .orderDistribution(OverallTransportModeDistributionVO.builder() .crossBorder(0L).domestic(0L).build()) - .enterpriseRanking(Collections.emptyList()) + .onTimeRate(BiOnTimeDeliveryRateChartSupport.emptyChartShell()) .build()) .build(); } diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java index 28e341915..9b2ad91b2 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java @@ -1,11 +1,12 @@ package com.mhd.bi.domain.biSnapshotSync.support; +import com.mhd.bi.domain.biReport.support.BiOnTimeDeliveryRateChartSupport; +import com.mhd.bi.domain.biReport.support.BiWarehouseCapabilityRankingSupport; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.*; import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*; - import java.time.LocalDate; import java.util.ArrayList; import java.util.Arrays; @@ -242,7 +243,7 @@ public final class BiSnapshotWeeklyRandomDataBuilder { /** * 与产品约定返回值示例一致,供快照同步与联调。 - * {@code warehouse.capabilityRanking}、{@code transport.enterpriseRanking} 的 {@code name} 为固定展示名,不参与随机抖动。 + * 左侧 {@code warehouse.capabilityRanking} 仓储运营能力表;右下角 {@code transport.on_time_rate} 准时配送率。 */ public static OverallOperationSituationVO overallReferenceDashboard() { return OverallOperationSituationVO.builder() @@ -284,13 +285,7 @@ public final class BiSnapshotWeeklyRandomDataBuilder { .throughputUnit("万吨") .throughputGrowth(8.5) .build()) - .capabilityRanking(Arrays.asList( - OverallWarehouseCapabilityRankVO.builder().rank(1).name("君华仓").processedVolume("2,400单").throughput("5.2万吨").utilizationRate("85%").build(), - OverallWarehouseCapabilityRankVO.builder().rank(2).name("通宇仓").processedVolume("1,800单").throughput("4.1万吨").utilizationRate("78%").build(), - OverallWarehouseCapabilityRankVO.builder().rank(3).name("横琴仓").processedVolume("1,200单").throughput("3.5万吨").utilizationRate("92%").build(), - OverallWarehouseCapabilityRankVO.builder().rank(4).name("新南仓").processedVolume("800单").throughput("2.2万吨").utilizationRate("65%").build(), - OverallWarehouseCapabilityRankVO.builder().rank(5).name("谷丰仓").processedVolume("567单").throughput("1.8万吨").utilizationRate("45%").build() - )) + .capabilityRanking(BiWarehouseCapabilityRankingSupport.defaultRanking()) .build()) .map(OverallMapSectionVO.builder() .nodes(Arrays.asList( @@ -361,13 +356,7 @@ public final class BiSnapshotWeeklyRandomDataBuilder { .crossBorder(2400L) .domestic(2300L) .build()) - .enterpriseRanking(Arrays.asList( - OverallTransportEnterpriseRankVO.builder().rank(1).name("通宇").processedVolume("2,400单").freight("5.2万吨").onTimeRate("85%").build(), - OverallTransportEnterpriseRankVO.builder().rank(2).name("南岐").processedVolume("1,800单").freight("4.1万吨").onTimeRate("78%").build(), - OverallTransportEnterpriseRankVO.builder().rank(3).name("谷丰").processedVolume("1,200单").freight("3.5万吨").onTimeRate("92%").build(), - OverallTransportEnterpriseRankVO.builder().rank(4).name("仓码").processedVolume("800单").freight("2.2万吨").onTimeRate("65%").build(), - OverallTransportEnterpriseRankVO.builder().rank(5).name("横琴").processedVolume("567单").freight("1.8万吨").onTimeRate("45%").build() - )) + .onTimeRate(BiOnTimeDeliveryRateChartSupport.defaultChart()) .build()) .build(); } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportEnterpriseRankVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportEnterpriseRankVO.java deleted file mode 100644 index 5936ee887..000000000 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportEnterpriseRankVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel("运输-企业排行榜行") -public class OverallTransportEnterpriseRankVO { - - @ApiModelProperty("排名") - private Integer rank; - - @ApiModelProperty("企业名称") - private String name; - - @ApiModelProperty("处理量文案") - private String processedVolume; - - @ApiModelProperty("货运量文案") - private String freight; - - @ApiModelProperty("准时率文案") - private String onTimeRate; -} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOperationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOperationVO.java index 08308c6d9..a0aeb2948 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOperationVO.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOperationVO.java @@ -1,5 +1,8 @@ package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TrTypedChartVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -14,6 +17,7 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @ApiModel("总体运营态势-运输运营") +@JsonIgnoreProperties(ignoreUnknown = true) public class OverallTransportOperationVO { @ApiModelProperty("运输订单摘要") @@ -31,6 +35,7 @@ public class OverallTransportOperationVO { @ApiModelProperty("运输订单分布") private OverallTransportModeDistributionVO orderDistribution; - @ApiModelProperty("企业运营能力排名") - private List enterpriseRanking; + @JsonProperty("on_time_rate") + @ApiModelProperty("准时配送率(右下角,与运输运营专区 on_time_rate 结构一致)") + private TrTypedChartVO onTimeRate; } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java index 080e932a5..ee8193835 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java @@ -11,21 +11,21 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor -@ApiModel("仓储-运营能力排行行") +@ApiModel("总体运营态势-左侧仓储运营能力排行行") public class OverallWarehouseCapabilityRankVO { @ApiModelProperty("排名") private Integer rank; - @ApiModelProperty("仓库名称") + @ApiModelProperty("仓库/业务名称") private String name; - @ApiModelProperty("处理量展示文案,如 2,400单") + @ApiModelProperty("处理单量展示,如 2,400单") private String processedVolume; - @ApiModelProperty("吞吐量展示文案,如 5.2万吨") + @ApiModelProperty("吞吐量展示,如 5.2万吨") private String throughput; - @ApiModelProperty("利用率/周转等展示文案,如 85%") + @ApiModelProperty("周转率/利用率展示,如 85%") private String utilizationRate; } diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java index eeb427d81..9946378a6 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java @@ -1,5 +1,6 @@ package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -14,6 +15,7 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @ApiModel("总体运营态势-仓储运营") +@JsonIgnoreProperties(ignoreUnknown = true) public class OverallWarehouseOperationVO { @ApiModelProperty("仓库订单统计") @@ -31,6 +33,6 @@ public class OverallWarehouseOperationVO { @ApiModelProperty("仓库运营统计") private OverallWarehouseBizStatisticVO bizStatistics; - @ApiModelProperty("仓库运营能力排名") + @ApiModelProperty("左侧仓储运营能力排名表") private List capabilityRanking; } From cd42d6be05b7e8067eedc0c540a93a6d2fae07f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 19 May 2026 17:06:58 +0800 Subject: [PATCH 172/418] =?UTF-8?q?BI=E5=A4=A7=E5=B1=8F=E6=80=BB=E4=BD=93?= =?UTF-8?q?=E8=BF=90=E8=90=A5=E6=80=81=E5=8A=BF=E6=9F=A5=E8=AF=A2=E4=BF=AE?= =?UTF-8?q?=E6=94=B91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OverallOperationPayloadNormalizer.java | 78 +++++++++++++++++++ .../BiOnTimeDeliveryRateChartSupport.java | 50 ++++++++++++ .../BiWarehouseCapabilityRankingSupport.java | 28 +++++++ 3 files changed, 156 insertions(+) create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/support/OverallOperationPayloadNormalizer.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiOnTimeDeliveryRateChartSupport.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiWarehouseCapabilityRankingSupport.java diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/support/OverallOperationPayloadNormalizer.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/support/OverallOperationPayloadNormalizer.java new file mode 100644 index 000000000..542bdd75b --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/support/OverallOperationPayloadNormalizer.java @@ -0,0 +1,78 @@ +package com.mhd.bi.domain.biOverallOperation.support; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.mhd.bi.domain.biReport.support.BiOnTimeDeliveryRateChartSupport; +import com.mhd.bi.domain.biReport.support.BiWarehouseCapabilityRankingSupport; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallTransportOperationVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallWarehouseOperationVO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +/** + * 总体运营态势:左侧保留 warehouse.capabilityRanking;右下角 transport.on_time_rate 替代 enterpriseRanking。 + */ +@Slf4j +public final class OverallOperationPayloadNormalizer { + + private static final ObjectMapper MAPPER = new ObjectMapper(); + + private OverallOperationPayloadNormalizer() { + } + + public static String normalizeJson(String json) { + if (StringUtils.isBlank(json)) { + return json; + } + try { + JsonNode root = MAPPER.readTree(json.trim()); + boolean changed = false; + + JsonNode warehouse = root.path("warehouse"); + if (warehouse.isObject()) { + ObjectNode warehouseObj = (ObjectNode) warehouse; + if (warehouseObj.has("on_time_rate")) { + warehouseObj.remove("on_time_rate"); + changed = true; + } + } + + JsonNode transport = root.path("transport"); + if (transport.isObject()) { + ObjectNode transportObj = (ObjectNode) transport; + if (transportObj.has("enterpriseRanking")) { + transportObj.remove("enterpriseRanking"); + changed = true; + } + if (!transportObj.has("on_time_rate")) { + transportObj.set("on_time_rate", + MAPPER.valueToTree(BiOnTimeDeliveryRateChartSupport.defaultChart())); + changed = true; + } + } + + return changed ? MAPPER.writeValueAsString(root) : json; + } catch (Exception e) { + log.warn("总体运营态势 PAYLOAD_JSON 规范化失败,按原 JSON 解析", e); + return json; + } + } + + public static OverallOperationSituationVO ensureDefaults(OverallOperationSituationVO vo) { + if (vo == null) { + return null; + } + OverallWarehouseOperationVO warehouse = vo.getWarehouse(); + if (warehouse != null + && (warehouse.getCapabilityRanking() == null || warehouse.getCapabilityRanking().isEmpty())) { + warehouse.setCapabilityRanking(BiWarehouseCapabilityRankingSupport.defaultRanking()); + } + OverallTransportOperationVO transport = vo.getTransport(); + if (transport != null && BiOnTimeDeliveryRateChartSupport.isChartEmpty(transport.getOnTimeRate())) { + transport.setOnTimeRate(BiOnTimeDeliveryRateChartSupport.defaultChart()); + } + return vo; + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiOnTimeDeliveryRateChartSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiOnTimeDeliveryRateChartSupport.java new file mode 100644 index 000000000..ef83b438c --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiOnTimeDeliveryRateChartSupport.java @@ -0,0 +1,50 @@ +package com.mhd.bi.domain.biReport.support; + +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TrMonthValuePointVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TrTypedChartVO; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * 准时配送率折线图(总体运营 transport.on_time_rate、运输运营专区 on_time_rate 共用) + */ +public final class BiOnTimeDeliveryRateChartSupport { + + private BiOnTimeDeliveryRateChartSupport() { + } + + public static TrTypedChartVO defaultChart() { + return TrTypedChartVO.builder() + .title("准时配送率") + .type("line") + .unit("%") + .data(defaultMonthPoints()) + .build(); + } + + public static List defaultMonthPoints() { + return Arrays.asList( + TrMonthValuePointVO.builder().month("1月").value(98).build(), + TrMonthValuePointVO.builder().month("2月").value(96).build(), + TrMonthValuePointVO.builder().month("3月").value(85).build(), + TrMonthValuePointVO.builder().month("4月").value(70).build(), + TrMonthValuePointVO.builder().month("5月").value(92).build(), + TrMonthValuePointVO.builder().month("6月").value(90).build() + ); + } + + public static boolean isChartEmpty(TrTypedChartVO chart) { + return chart == null || chart.getData() == null || chart.getData().isEmpty(); + } + + public static TrTypedChartVO emptyChartShell() { + return TrTypedChartVO.builder() + .title("") + .type("") + .unit("") + .data(Collections.emptyList()) + .build(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiWarehouseCapabilityRankingSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiWarehouseCapabilityRankingSupport.java new file mode 100644 index 000000000..ed7ef2a13 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiWarehouseCapabilityRankingSupport.java @@ -0,0 +1,28 @@ +package com.mhd.bi.domain.biReport.support; + +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallWarehouseCapabilityRankVO; + +import java.util.Arrays; +import java.util.List; + +/** + * 总体运营态势左侧「仓储运营能力」表格默认数据 + */ +public final class BiWarehouseCapabilityRankingSupport { + + private BiWarehouseCapabilityRankingSupport() { + } + + public static List defaultRanking() { + return Arrays.asList( + OverallWarehouseCapabilityRankVO.builder().rank(1).name("横琴仓") + .processedVolume("2,400单").throughput("5.2万吨").utilizationRate("85%").build(), + OverallWarehouseCapabilityRankVO.builder().rank(2).name("陆路仓") + .processedVolume("1,800单").throughput("4.1万吨").utilizationRate("78%").build(), + OverallWarehouseCapabilityRankVO.builder().rank(3).name("联丰仓") + .processedVolume("1,200单").throughput("3.5万吨").utilizationRate("92%").build(), + OverallWarehouseCapabilityRankVO.builder().rank(4).name("香港仓") + .processedVolume("800单").throughput("2.2万吨").utilizationRate("65%").build() + ); + } +} From b01e66c4a4646e434d0f02dbca351763e7c6ae01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 19 May 2026 18:58:37 +0800 Subject: [PATCH 173/418] =?UTF-8?q?BI=E5=A4=A7=E5=B1=8F=E6=80=BB=E4=BD=93?= =?UTF-8?q?=E8=BF=90=E8=90=A5=E6=80=81=E5=8A=BF=E6=9F=A5=E8=AF=A2=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OverallOperationPayloadNormalizer.java | 27 +++++++++--- .../BiInventoryTurnoverTrendSupport.java | 42 +++++++++++++++++++ .../BiReportSnapshotMapperSupport.java | 2 +- .../BiWarehouseCapabilityRankingSupport.java | 28 ------------- .../BiSnapshotWeeklyRandomDataBuilder.java | 6 +-- .../OverallWarehouseCapabilityRankVO.java | 31 -------------- .../overall/OverallWarehouseOperationVO.java | 7 +++- 7 files changed, 73 insertions(+), 70 deletions(-) create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiInventoryTurnoverTrendSupport.java delete mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiWarehouseCapabilityRankingSupport.java delete mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/support/OverallOperationPayloadNormalizer.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/support/OverallOperationPayloadNormalizer.java index 542bdd75b..f8862e8e2 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/support/OverallOperationPayloadNormalizer.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/support/OverallOperationPayloadNormalizer.java @@ -3,8 +3,8 @@ package com.mhd.bi.domain.biOverallOperation.support; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; +import com.mhd.bi.domain.biReport.support.BiInventoryTurnoverTrendSupport; import com.mhd.bi.domain.biReport.support.BiOnTimeDeliveryRateChartSupport; -import com.mhd.bi.domain.biReport.support.BiWarehouseCapabilityRankingSupport; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallTransportOperationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallWarehouseOperationVO; @@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; /** - * 总体运营态势:左侧保留 warehouse.capabilityRanking;右下角 transport.on_time_rate 替代 enterpriseRanking。 + * 总体运营态势:左侧 warehouse.turnover_rate_trend;右下角 transport.on_time_rate。 */ @Slf4j public final class OverallOperationPayloadNormalizer { @@ -30,13 +30,31 @@ public final class OverallOperationPayloadNormalizer { JsonNode root = MAPPER.readTree(json.trim()); boolean changed = false; + ObjectNode rootObj = (ObjectNode) root; JsonNode warehouse = root.path("warehouse"); if (warehouse.isObject()) { ObjectNode warehouseObj = (ObjectNode) warehouse; + if (warehouseObj.has("map") && !rootObj.has("map")) { + rootObj.set("map", warehouseObj.remove("map")); + changed = true; + } + if (warehouseObj.has("transport") && !rootObj.has("transport")) { + rootObj.set("transport", warehouseObj.remove("transport")); + changed = true; + } + if (warehouseObj.has("capabilityRanking")) { + warehouseObj.remove("capabilityRanking"); + changed = true; + } if (warehouseObj.has("on_time_rate")) { warehouseObj.remove("on_time_rate"); changed = true; } + if (!warehouseObj.has("turnover_rate_trend")) { + warehouseObj.set("turnover_rate_trend", + MAPPER.valueToTree(BiInventoryTurnoverTrendSupport.defaultTrend())); + changed = true; + } } JsonNode transport = root.path("transport"); @@ -65,9 +83,8 @@ public final class OverallOperationPayloadNormalizer { return null; } OverallWarehouseOperationVO warehouse = vo.getWarehouse(); - if (warehouse != null - && (warehouse.getCapabilityRanking() == null || warehouse.getCapabilityRanking().isEmpty())) { - warehouse.setCapabilityRanking(BiWarehouseCapabilityRankingSupport.defaultRanking()); + if (warehouse != null && BiInventoryTurnoverTrendSupport.isEmpty(warehouse.getTurnoverRateTrend())) { + warehouse.setTurnoverRateTrend(BiInventoryTurnoverTrendSupport.defaultTrend()); } OverallTransportOperationVO transport = vo.getTransport(); if (transport != null && BiOnTimeDeliveryRateChartSupport.isChartEmpty(transport.getOnTimeRate())) { diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiInventoryTurnoverTrendSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiInventoryTurnoverTrendSupport.java new file mode 100644 index 000000000..a938d1a49 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiInventoryTurnoverTrendSupport.java @@ -0,0 +1,42 @@ +package com.mhd.bi.domain.biReport.support; + +import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WhMonthRatePointVO; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WhTurnoverRateTrendVO; + +import java.util.Arrays; + +/** + * 总体运营态势左侧「库存周转率趋势」默认数据(与仓储运营专区 turnover_rate_trend 结构一致) + */ +public final class BiInventoryTurnoverTrendSupport { + + private BiInventoryTurnoverTrendSupport() { + } + + public static WhTurnoverRateTrendVO defaultTrend() { + return WhTurnoverRateTrendVO.builder() + .currentMonth("3次") + .annual("4次") + .data(Arrays.asList( + WhMonthRatePointVO.builder().month("11月").rate(10).build(), + WhMonthRatePointVO.builder().month("12月").rate(15).build(), + WhMonthRatePointVO.builder().month("1月").rate(22).build(), + WhMonthRatePointVO.builder().month("2月").rate(20).build(), + WhMonthRatePointVO.builder().month("3月").rate(12).build(), + WhMonthRatePointVO.builder().month("4月").rate(16).build() + )) + .build(); + } + + public static boolean isEmpty(WhTurnoverRateTrendVO trend) { + return trend == null || trend.getData() == null || trend.getData().isEmpty(); + } + + public static WhTurnoverRateTrendVO emptyShell() { + return WhTurnoverRateTrendVO.builder() + .currentMonth("") + .annual("") + .data(java.util.Collections.emptyList()) + .build(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java index 3bef7d528..435c6108f 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiReportSnapshotMapperSupport.java @@ -118,7 +118,7 @@ public final class BiReportSnapshotMapperSupport { .customerCount(0L).coverageArea("") .annualThroughput(0).throughputUnit("").throughputGrowth(0d) .build()) - .capabilityRanking(BiWarehouseCapabilityRankingSupport.defaultRanking()) + .turnoverRateTrend(BiInventoryTurnoverTrendSupport.defaultTrend()) .build()) .map(OverallMapSectionVO.builder().nodes(Collections.emptyList()).build()) .transport(OverallTransportOperationVO.builder() diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiWarehouseCapabilityRankingSupport.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiWarehouseCapabilityRankingSupport.java deleted file mode 100644 index ed7ef2a13..000000000 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biReport/support/BiWarehouseCapabilityRankingSupport.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.mhd.bi.domain.biReport.support; - -import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallWarehouseCapabilityRankVO; - -import java.util.Arrays; -import java.util.List; - -/** - * 总体运营态势左侧「仓储运营能力」表格默认数据 - */ -public final class BiWarehouseCapabilityRankingSupport { - - private BiWarehouseCapabilityRankingSupport() { - } - - public static List defaultRanking() { - return Arrays.asList( - OverallWarehouseCapabilityRankVO.builder().rank(1).name("横琴仓") - .processedVolume("2,400单").throughput("5.2万吨").utilizationRate("85%").build(), - OverallWarehouseCapabilityRankVO.builder().rank(2).name("陆路仓") - .processedVolume("1,800单").throughput("4.1万吨").utilizationRate("78%").build(), - OverallWarehouseCapabilityRankVO.builder().rank(3).name("联丰仓") - .processedVolume("1,200单").throughput("3.5万吨").utilizationRate("92%").build(), - OverallWarehouseCapabilityRankVO.builder().rank(4).name("香港仓") - .processedVolume("800单").throughput("2.2万吨").utilizationRate("65%").build() - ); - } -} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java index 9b2ad91b2..87fa51ff1 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java @@ -1,7 +1,7 @@ package com.mhd.bi.domain.biSnapshotSync.support; import com.mhd.bi.domain.biReport.support.BiOnTimeDeliveryRateChartSupport; -import com.mhd.bi.domain.biReport.support.BiWarehouseCapabilityRankingSupport; +import com.mhd.bi.domain.biReport.support.BiInventoryTurnoverTrendSupport; import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO; import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO; @@ -243,7 +243,7 @@ public final class BiSnapshotWeeklyRandomDataBuilder { /** * 与产品约定返回值示例一致,供快照同步与联调。 - * 左侧 {@code warehouse.capabilityRanking} 仓储运营能力表;右下角 {@code transport.on_time_rate} 准时配送率。 + * 左侧 {@code warehouse.turnover_rate_trend} 库存周转率趋势;右下角 {@code transport.on_time_rate} 准时配送率。 */ public static OverallOperationSituationVO overallReferenceDashboard() { return OverallOperationSituationVO.builder() @@ -285,7 +285,7 @@ public final class BiSnapshotWeeklyRandomDataBuilder { .throughputUnit("万吨") .throughputGrowth(8.5) .build()) - .capabilityRanking(BiWarehouseCapabilityRankingSupport.defaultRanking()) + .turnoverRateTrend(BiInventoryTurnoverTrendSupport.defaultTrend()) .build()) .map(OverallMapSectionVO.builder() .nodes(Arrays.asList( diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java deleted file mode 100644 index ee8193835..000000000 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel("总体运营态势-左侧仓储运营能力排行行") -public class OverallWarehouseCapabilityRankVO { - - @ApiModelProperty("排名") - private Integer rank; - - @ApiModelProperty("仓库/业务名称") - private String name; - - @ApiModelProperty("处理单量展示,如 2,400单") - private String processedVolume; - - @ApiModelProperty("吞吐量展示,如 5.2万吨") - private String throughput; - - @ApiModelProperty("周转率/利用率展示,如 85%") - private String utilizationRate; -} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java index 9946378a6..304842626 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java @@ -1,6 +1,8 @@ package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WhTurnoverRateTrendVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -33,6 +35,7 @@ public class OverallWarehouseOperationVO { @ApiModelProperty("仓库运营统计") private OverallWarehouseBizStatisticVO bizStatistics; - @ApiModelProperty("左侧仓储运营能力排名表") - private List capabilityRanking; + @JsonProperty("turnover_rate_trend") + @ApiModelProperty("库存周转率趋势(替代原 capabilityRanking)") + private WhTurnoverRateTrendVO turnoverRateTrend; } From c8f527c9a66aefb7d260015fdcdd68da8e3b539d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 19 May 2026 19:07:13 +0800 Subject: [PATCH 174/418] =?UTF-8?q?BI=E5=A4=A7=E5=B1=8F=E6=80=BB=E4=BD=93?= =?UTF-8?q?=E8=BF=90=E8=90=A5=E6=80=81=E5=8A=BF=E7=BB=8F=E7=BA=AC=E5=BA=A6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../support/BiSnapshotWeeklyRandomDataBuilder.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java index 87fa51ff1..cb72d7b6a 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java @@ -292,12 +292,12 @@ public final class BiSnapshotWeeklyRandomDataBuilder { OverallMapNodeVO.builder() .type("headquarters") .name("总部") - .location(Arrays.asList(113.3, 22.5)) + .location(Arrays.asList(113.55, 22.25, 0.0)) .build(), OverallMapNodeVO.builder() .type("businessUnit") .name("业务单元") - .location(Arrays.asList(113.6, 22.8)) + .location(Arrays.asList(113.55, 22.20, 0.0)) .tooltip(OverallMapTooltipVO.builder() .title("通宇业务情况分析") .data(Arrays.asList( @@ -309,7 +309,7 @@ public final class BiSnapshotWeeklyRandomDataBuilder { OverallMapNodeVO.builder() .type("warehouse") .name("通宇保税仓") - .location(Arrays.asList(113.4, 22.3)) + .location(Arrays.asList(114.16, 22.28, 0.0)) .tooltip(OverallMapTooltipVO.builder() .title("通宇保税仓情况分析") .data(Arrays.asList( From 65f8e6119b75ba8f2858588931908003c16cce92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 19 May 2026 20:27:45 +0800 Subject: [PATCH 175/418] =?UTF-8?q?BI=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-bi/src/main/resources/bootstrap.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mhd-bi/src/main/resources/bootstrap.yml b/mhd-bi/src/main/resources/bootstrap.yml index 83148b69b..2572662c1 100644 --- a/mhd-bi/src/main/resources/bootstrap.yml +++ b/mhd-bi/src/main/resources/bootstrap.yml @@ -14,21 +14,21 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # server-addr: 10.102.192.5:6848 # username: nacos # password: manhuoda@2023 #线上正式环境 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties From 23e57976f3e12767b02f6aa47f86770a76951937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 20 May 2026 16:56:40 +0800 Subject: [PATCH 176/418] =?UTF-8?q?=E5=85=B3=E5=8A=A1=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9;omsbug=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationOutMaterialDetailMapper.java | 9 + .../entity/ReservationStockInOrder.java | 16 +- .../mapper/ReservationStockInOrderMapper.java | 2 + .../po/ReservationStockInOrderPO.java | 16 +- .../todo/ReservationStockInOrderDO.java | 16 +- .../todo/ReservationStockInOrderDTO.java | 16 +- .../repository/vo/GwStockInOrder.java | 3 + ...rvationStockInOrderApplicationService.java | 221 +++++++++++++++--- .../entity/ReservationStockOutOrder.java | 16 +- .../po/ReservationStockOutOrderPO.java | 16 +- .../todo/ReservationStockOutOrderDO.java | 16 +- .../todo/ReservationStockOutOrderDTO.java | 16 +- .../repository/vo/GwStockOutOrder.java | 3 + ...vationStockOutOrderApplicationService.java | 194 ++++++++++++++- .../entity/ReserveStockInOrder.java | 6 +- .../repository/po/ReserveStockInOrderPO.java | 6 +- .../todo/ReserveStockInOrderDO.java | 6 +- .../todo/ReserveStockInOrderDTO.java | 6 +- .../repository/vo/InAndOutListVo.java | 2 + .../entity/ReserveStockOutOrder.java | 4 +- .../repository/po/ReserveStockOutOrderPO.java | 4 +- .../todo/ReserveStockOutOrderDO.java | 4 +- .../ReservationOutMaterialDetailMapper.xml | 19 ++ .../ReservationStockInOrderMapper.xml | 4 +- .../ReserveStockInOrderMapper.xml | 6 +- .../pickingOrder/entity/PickingOrder.java | 16 +- .../repository/po/PickingOrderPO.java | 16 +- .../repository/todo/PickingOrderDO.java | 16 +- .../entity/StockShelfOrder.java | 16 +- .../repository/po/StockShelfOrderPO.java | 16 +- .../repository/todo/StockShelfOrderDO.java | 16 +- .../dto/pickingOrder/PickingOrderDTO.java | 16 +- .../stockShelfOrder/StockShelfOrderDTO.java | 16 +- 33 files changed, 656 insertions(+), 99 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/mapper/ReservationOutMaterialDetailMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/mapper/ReservationOutMaterialDetailMapper.java index e5b96faa6..33d72e1f0 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/mapper/ReservationOutMaterialDetailMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/mapper/ReservationOutMaterialDetailMapper.java @@ -5,6 +5,7 @@ import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrder import com.mhd.oms.domain.reservationOutMaterialDetail.entity.ReservationOutMaterialDetail; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.po.ReservationOutMaterialDetailPO; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.todo.ReservationOutMaterialDetailDO; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -53,4 +54,12 @@ public interface ReservationOutMaterialDetailMapper extends BaseMapper queryNoticePrint(ReservationStockInOrderDO stockInOrderDO); List queryNoticePrintDetail(ReservationStockInOrderDO stockInOrderDO);} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java index 08667f83d..f34692a71 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java @@ -432,8 +432,18 @@ public class ReservationStockInOrderPO extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date storageTime; - @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") - @Excel(name = "推送关务状态: 1-已推送 0-未推送") - private Integer gwPushStatus; + @ApiModelProperty("推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("推送时间") + private Date pushTime; + + @ApiModelProperty("推送人") + private Long pushBy; + + @ApiModelProperty("推送人姓名") + private String pushByName; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java index a56d88ca0..5af9f6672 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java @@ -431,7 +431,17 @@ public class ReservationStockInOrderDO extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date storageTime; - @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") - @Excel(name = "推送关务状态: 1-已推送 0-未推送") - private Integer gwPushStatus; + @ApiModelProperty("推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("推送时间") + private Date pushTime; + + @ApiModelProperty("推送人") + private Long pushBy; + + @ApiModelProperty("推送人姓名") + private String pushByName; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java index ab0b45370..ccf463949 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java @@ -429,7 +429,17 @@ public class ReservationStockInOrderDTO extends ReservationStockInOrderBaseDTO { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date storageTime; - @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") - @Excel(name = "推送关务状态: 1-已推送 0-未推送") - private Integer gwPushStatus; + @ApiModelProperty("推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("推送时间") + private Date pushTime; + + @ApiModelProperty("推送人") + private Long pushBy; + + @ApiModelProperty("推送人姓名") + private String pushByName; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwStockInOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwStockInOrder.java index aa3778065..ce7a43a58 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwStockInOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/GwStockInOrder.java @@ -3,6 +3,7 @@ package com.mhd.oms.domain.reservationStockInOrder.repository.vo; import lombok.Data; import java.util.Date; +import java.util.List; @Data public class GwStockInOrder { @@ -15,4 +16,6 @@ public class GwStockInOrder { //客户代码 private String corp_code; + private List orderList; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java index ea1422ddc..22e790b04 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java @@ -4,16 +4,29 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mhd.common.core.domain.po.UserPo; import com.mhd.common.core.enums.DictCode; import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.utils.StringUtils; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.erpCountry.entity.ErpCountry; +import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; +import com.mhd.oms.domain.reservationInMaterialDetail.entity.ReservationInMaterialDetail; +import com.mhd.oms.domain.reservationInMaterialDetail.repository.mapper.ReservationInMaterialDetailMapper; import com.mhd.oms.domain.reservationInMaterialDetail.repository.po.ReservationInMaterialDetailPO; +import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder; +import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper; +import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO; import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDTO; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.GwInDetail; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.GwStockInOrder; +import com.mhd.oms.interfaces.dto.erpCountry.ErpCountryDTO; import com.mhd.system.api.SystemServiceFeign; import com.mhd.system.api.UserServiceFeign; import com.mhd.system.api.domain.InMaterialDetailTZPD; @@ -24,20 +37,25 @@ import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; import com.mhd.system.api.domain.cache.SystemServiceCacheUtil; import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.apache.poi.ss.usermodel.*; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestParam; +import javax.annotation.Resource; +import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 入库单ApplicationService @@ -54,9 +72,17 @@ public class ReservationStockInOrderApplicationService { private UserServiceFeign userServiceFeign; @Autowired private SystemServiceFeign systemServiceFeign; + @Resource + private GwLogMapper gwLogMapper; + @Autowired + private ReservationStockInOrderMapper reservationStockInOrderMapper; + @Autowired + private ReservationInMaterialDetailMapper reservationInMaterialDetailMapper; // @Autowired // private IMaterialBaseInfoService materialBaseInfoService; - + private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; + private static final String API_NAME = "save_order_i"; + private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; /** * 分页查询入库单列表 @@ -67,7 +93,7 @@ public class ReservationStockInOrderApplicationService { if (loginUser != null && loginUser.getUserPo() != null){ Long userOrganizationId = loginUser.getUserPo().getOrganizationId(); Long frontendOrganizationId = stockInOrderDO.getOrganizationId(); // 前端传递的 organizationId - + // 数据权限:根据 organizationId 来设置查询权限 // 当前登录用户的 organizationId 为 2827 时,可查全部组织数据;其他组织只能查自己 if (userOrganizationId != null && userOrganizationId == 2827L) { @@ -203,7 +229,7 @@ public class ReservationStockInOrderApplicationService { if (inOrderIds == null || inOrderIds.length == 0) { throw new ServiceException("删除的入库单ID不能为空"); } - + // 查询入库单信息,检查状态 for (Long inOrderId : inOrderIds) { ReservationStockInOrderPO stockInOrderPO = stockInOrderDomainService.getInfo(inOrderId); @@ -215,10 +241,10 @@ public class ReservationStockInOrderApplicationService { throw new ServiceException("只有已创建状态的入库单可以删除,入库单号:" + stockInOrderPO.getInOrderNumber() + ",当前状态:" + getStatusName(stockInOrderPO.getStatus())); } } - + return stockInOrderDomainService.delete(inOrderIds); } - + /** * 获取入库状态名称 */ @@ -1539,7 +1565,7 @@ public class ReservationStockInOrderApplicationService { if (StringUtils.isBlank(dateStr)) { return null; } - + // 如果已经是Date.toString()格式(如 "Sun Feb 01 00:00:00 CST 2026"),尝试直接解析 if (dateStr.contains("CST") || dateStr.contains("GMT") || dateStr.contains("UTC")) { try { @@ -1550,7 +1576,7 @@ public class ReservationStockInOrderApplicationService { log.warn("无法解析日期格式: {}", dateStr); } } - + // 尝试多种日期格式 String[] datePatterns = { "yyyy-MM-dd", @@ -1562,7 +1588,7 @@ public class ReservationStockInOrderApplicationService { "yyyy-MM-dd HH:mm", "yyyy/MM/dd HH:mm" }; - + for (String pattern : datePatterns) { try { SimpleDateFormat sdf = new SimpleDateFormat(pattern); @@ -1572,7 +1598,7 @@ public class ReservationStockInOrderApplicationService { // 继续尝试下一个格式 } } - + // 如果所有格式都失败,记录警告 log.warn("无法解析日期字符串: {},尝试使用DateUtils.parseDate", dateStr); try { @@ -1664,9 +1690,9 @@ public class ReservationStockInOrderApplicationService { if (StringUtils.isBlank(shipperName) && StringUtils.isBlank(shipperCode)) { return null; } - + Long shipperId = null; - + // 优先尝试:如果名称是纯数字,可能是误传的ID,直接按ID查询 if (StringUtils.isNotEmpty(shipperName) && shipperName.matches("\\d+")) { try { @@ -1684,7 +1710,7 @@ public class ReservationStockInOrderApplicationService { log.debug("尝试将货主名称作为ID查询失败,货主名称:{},错误:{}", shipperName, e.getMessage()); } } - + // 如果仍未找到,尝试根据名称查询 if (shipperId == null && StringUtils.isNotEmpty(shipperName) && !shipperName.matches("\\d+")) { try { @@ -1702,7 +1728,7 @@ public class ReservationStockInOrderApplicationService { log.debug("根据货主名称查询失败,货主名称:{},错误:{}", shipperName, e.getMessage()); } } - + // 如果仍未找到,尝试从货主列表中根据编号或名称查找 if (shipperId == null && (StringUtils.isNotEmpty(shipperName) || StringUtils.isNotEmpty(shipperCode))) { try { @@ -1728,30 +1754,30 @@ public class ReservationStockInOrderApplicationService { String jsonStr = JSONObject.toJSONString(data); shipperList = JSON.parseObject(jsonStr, new com.alibaba.fastjson.TypeReference>>(){}); } - + if (shipperList != null && !shipperList.isEmpty()) { String normalizedShipperName = shipperName != null ? shipperName.trim() : ""; String normalizedShipperCode = shipperCode != null ? shipperCode.trim() : ""; - + for (Map shipper : shipperList) { Object userId = shipper.get("userId"); Object userName = shipper.get("userName"); Object userCode = shipper.get("userCode"); Object userMemberCode = shipper.get("userMemberCode"); - + if (userName == null) { userName = shipper.get("name"); } if (userName == null) { userName = shipper.get("shipperName"); } - + boolean matched = false; // 优先根据编号匹配 if (StringUtils.isNotEmpty(normalizedShipperCode)) { String normalizedUserCode = userCode != null ? String.valueOf(userCode).trim() : ""; String normalizedUserMemberCode = userMemberCode != null ? String.valueOf(userMemberCode).trim() : ""; - if (normalizedShipperCode.equals(normalizedUserCode) || + if (normalizedShipperCode.equals(normalizedUserCode) || normalizedShipperCode.equals(normalizedUserMemberCode)) { matched = true; } @@ -1759,15 +1785,15 @@ public class ReservationStockInOrderApplicationService { // 如果编号不匹配,再根据名称匹配 if (!matched && StringUtils.isNotEmpty(normalizedShipperName) && userName != null) { String normalizedUserName = String.valueOf(userName).trim(); - if (normalizedShipperName.equals(normalizedUserName) || + if (normalizedShipperName.equals(normalizedUserName) || normalizedUserName.contains(normalizedShipperName)) { matched = true; } } - + if (matched && userId != null) { shipperId = Long.valueOf(String.valueOf(userId)); - log.info("从货主列表中找到货主ID,货主名称:{},货主编号:{},货主ID:{}", + log.info("从货主列表中找到货主ID,货主名称:{},货主编号:{},货主ID:{}", shipperName, shipperCode, shipperId); return shipperId; } @@ -1775,15 +1801,15 @@ public class ReservationStockInOrderApplicationService { } } } catch (Exception e) { - log.debug("从货主列表中查找货主ID失败,货主名称:{},货主编号:{},错误:{}", + log.debug("从货主列表中查找货主ID失败,货主名称:{},货主编号:{},错误:{}", shipperName, shipperCode, e.getMessage()); } } - + if (shipperId == null) { log.warn("未找到货主ID,货主名称:{},货主编号:{}", shipperName, shipperCode); } - + return shipperId; } @@ -1904,4 +1930,143 @@ public class ReservationStockInOrderApplicationService { BeanUtils.copyProperties(stockInOrderDTO, stockInOrderDO); return stockInOrderDomainService.queryNoticePrintDetail(stockInOrderDO); } + + + public AjaxResult batchPush(List idList) { + if (idList == null || idList.isEmpty()) { + return AjaxResult.error("没有数据需要推送"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long pushBy = loginUser != null ? loginUser.getUserid() : null; + String pushByName = loginUser != null ? loginUser.getUsername() : null; + Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; + Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; + String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; + + int successCount = 0; + int failCount = 0; + StringBuilder failMsg = new StringBuilder(); + + for (Long id : idList) { + GwStockInOrder gwStockInOrder = new GwStockInOrder(); + ReservationStockInOrder reservationStockInOrder = reservationStockInOrderMapper.selectById(id); + Long shipperId = reservationStockInOrder.getShipperId(); + String userNcCode = reservationStockInOrderMapper.getUserNcCode(shipperId); + gwStockInOrder.setBill_no(reservationStockInOrder.getInOrderNumber()); + gwStockInOrder.setBill_date(reservationStockInOrder.getDocumentDate()); + gwStockInOrder.setIe_flag("I"); + gwStockInOrder.setCorp_code(userNcCode); + + + List reservationInMaterialDetails = reservationInMaterialDetailMapper.selectList(new LambdaQueryWrapper().eq(ReservationInMaterialDetail::getInOrderNumber, reservationStockInOrder.getInOrderNumber())); + Integer lineNum = 1; + List orderList = new LinkedList<>(); + for (ReservationInMaterialDetail reservationInMaterialDetail : reservationInMaterialDetails) { + GwInDetail gwInDetail = new GwInDetail(); + Long materialBaseInfoId = reservationInMaterialDetail.getMaterialBaseInfoId(); + gwInDetail.setBill_no(gwStockInOrder.getBill_no()); + gwInDetail.setLine_num(lineNum); + lineNum++; + gwInDetail.setItem_no(materialBaseInfoId.toString()); + gwInDetail.setItem_name(reservationInMaterialDetail.getMaterialName()); + MaterialBaseInfoPO materialBaseInfoPO = reservationStockInOrderMapper.getinfo(materialBaseInfoId); + gwInDetail.setSpec(materialBaseInfoPO.getSpecificationModel()); + gwInDetail.setUnit(materialBaseInfoPO.getDeclarationUnit()); + gwInDetail.setQty(reservationInMaterialDetail.getQuantity()); + gwInDetail.setErp_curr(materialBaseInfoPO.getCurrency()); + gwInDetail.setErp_price(materialBaseInfoPO.getUnitPrice()); + BigDecimal unitPrice = materialBaseInfoPO.getUnitPrice(); + BigDecimal quantity = reservationInMaterialDetail.getQuantity(); + if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0&&quantity.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal Amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP); + gwInDetail.setAmount(Amount); + } + orderList.add(gwInDetail); + } + gwStockInOrder.setOrderList(orderList); + + GwLog gwLog = new GwLog(); + gwLog.setType("企业国别"); + gwLog.setBusinessId(id); + gwLog.setRequestBody(com.alibaba.fastjson.JSONObject.toJSONString(gwStockInOrder)); + gwLog.setResponseBody(""); + gwLog.setStatus(1); + gwLog.setSendTime(new Date()); + gwLog.setOrganizationId(organizationId); + gwLog.setTopOrganizationId(topOrganizationId); + gwLog.setOrganizationName(organizationName); + gwLog.setCreateBy(pushBy); + gwLog.setCreateTime(new Date()); + gwLog.setDelFlag(1); + gwLogMapper.insert(gwLog); + + updatePushStatus(id, 2, new Date(), pushBy,pushByName); + + CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(PUSH_API_URL); + StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(gwStockInOrder), "UTF-8"); + httpPost.setEntity(postingString); + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("apiName", API_NAME); + httpPost.setHeader("verify", VERIFY); + + try { + CloseableHttpResponse response = httpClient.execute(httpPost); + String responseString = EntityUtils.toString(response.getEntity()); + gwLog.setResponseBody(responseString); + + if (response.getStatusLine().getStatusCode() == 200) { + gwLog.setStatus(2); + updatePushStatus(id, 3, new Date(), pushBy,pushByName); + successCount++; + } else { + gwLog.setStatus(3); + gwLog.setErrorMsg(responseString); + updatePushStatus(id, 4, new Date(), pushBy,pushByName); + failCount++; + failMsg.append("erpCountryCode:").append(id).append("失败;"); + } + gwLogMapper.updateById(gwLog); + response.close(); + } catch (IOException e) { + gwLog.setStatus(3); + gwLog.setErrorMsg(e.getMessage()); + gwLog.setResponseBody("请求异常:" + e.getMessage()); + gwLogMapper.updateById(gwLog); + updatePushStatus(id, 4, new Date(), pushBy,pushByName); + failCount++; + failMsg.append("erpCountryCode:").append(id).append("异常:").append(e.getMessage()).append(";"); + log.error("企业国别推送异常: id={}, error={}", id, e.getMessage()); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + log.error("关闭httpClient异常: {}", e.getMessage()); + } + } + } + + String resultMsg = "推送完成: 成功" + successCount + "条, 失败" + failCount + "条"; + if (failCount > 0) { + resultMsg += "[" + failMsg.toString() + "]"; + } + return AjaxResult.success(resultMsg); + } + + private void updatePushStatus(Long id, Integer pushStatus, Date pushTime, Long pushBy,String pushByName) { + ReservationStockInOrder entity = new ReservationStockInOrder(); + entity.setInOrderId(id); + entity.setPushStatus(pushStatus); + if (pushTime != null) { + entity.setPushTime(pushTime); + } + if (pushBy != null) { + entity.setPushBy(pushBy); + } + if (pushByName != null) { + entity.setPushByName(pushByName); + } + reservationStockInOrderMapper.updateById(entity); + } } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java index 15c6deeb7..0f77c6e7b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java @@ -444,8 +444,18 @@ public class ReservationStockOutOrder extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date outboundTime; - @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") - @Excel(name = "推送关务状态: 1-已推送 0-未推送") - private Integer gwPushStatus; + @ApiModelProperty("推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("推送时间") + private Date pushTime; + + @ApiModelProperty("推送人") + private Long pushBy; + + @ApiModelProperty("推送人姓名") + private String pushByName; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java index c7fb389b9..f811ec524 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java @@ -455,7 +455,17 @@ public class ReservationStockOutOrderPO extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date outboundTime; - @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") - @Excel(name = "推送关务状态: 1-已推送 0-未推送") - private Integer gwPushStatus; + @ApiModelProperty("推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("推送时间") + private Date pushTime; + + @ApiModelProperty("推送人") + private Long pushBy; + + @ApiModelProperty("推送人姓名") + private String pushByName; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java index c32a6bbad..4f4aab15f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java @@ -491,7 +491,17 @@ public class ReservationStockOutOrderDO extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date outboundTime; - @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") - @Excel(name = "推送关务状态: 1-已推送 0-未推送") - private Integer gwPushStatus; + @ApiModelProperty("推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("推送时间") + private Date pushTime; + + @ApiModelProperty("推送人") + private Long pushBy; + + @ApiModelProperty("推送人姓名") + private String pushByName; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java index 25319a14a..6ee5a323d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java @@ -480,7 +480,17 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date outboundTime; - @ApiModelProperty("推送关务状态: 1-已推送 0-未推送") - @Excel(name = "推送关务状态: 1-已推送 0-未推送") - private Integer gwPushStatus; + @ApiModelProperty("推送状态:1-未推送,2-推送中,3-推送成功,4-推送失败") + private Integer pushStatus; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("推送时间") + private Date pushTime; + + @ApiModelProperty("推送人") + private Long pushBy; + + @ApiModelProperty("推送人姓名") + private String pushByName; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwStockOutOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwStockOutOrder.java index bff4dadc7..9341c2f8b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwStockOutOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/vo/GwStockOutOrder.java @@ -3,6 +3,7 @@ package com.mhd.oms.domain.reservationStockOutOrder.repository.vo; import lombok.Data; import java.util.Date; +import java.util.List; @Data public class GwStockOutOrder { @@ -15,4 +16,6 @@ public class GwStockOutOrder { //客户代码 private String corp_code; + private List orderList; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index f613a0017..6941fed64 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -16,30 +16,51 @@ import com.mhd.common.core.utils.bean.BeanUtils; import com.mhd.common.core.utils.uuid.IdGenerator; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.gwLog.entity.GwLog; +import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; +import com.mhd.oms.domain.reservationInMaterialDetail.entity.ReservationInMaterialDetail; import com.mhd.oms.domain.reservationInMaterialDetail.repository.facade.IReservationInMaterialDetailService; +import com.mhd.oms.domain.reservationInMaterialDetail.repository.mapper.ReservationInMaterialDetailMapper; import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.InventoryAdjustmentRecordPO; import com.mhd.oms.domain.reservationOutMaterialDetail.entity.ReservationOutMaterialDetail; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.facade.IReservationOutMaterialDetailService; +import com.mhd.oms.domain.reservationOutMaterialDetail.repository.mapper.ReservationOutMaterialDetailMapper; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.po.ReservationOutMaterialDetailPO; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.todo.ReservationOutMaterialDetailDO; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.po.OutMaterialCheckPO; import com.mhd.oms.domain.reservationOutMaterialDetail.service.ReservationOutMaterialDetailDomainService; +import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder; import com.mhd.oms.domain.reservationStockInOrder.repository.facade.IReservationStockInOrderService; +import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper; +import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; +//import com.mhd.oms.domain.reservationStockInOrder.repository.vo.GwOutDetail; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.GwStockInOrder; import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder; import com.mhd.oms.domain.reservationStockOutOrder.repository.facade.IReservationStockOutOrderService; +import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper; import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderPO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDTO; +import com.mhd.oms.domain.reservationStockOutOrder.repository.vo.GwOutDetail; +import com.mhd.oms.domain.reservationStockOutOrder.repository.vo.GwStockOutOrder; import com.mhd.system.api.SystemServiceFeign; import com.mhd.system.api.UserServiceFeign; import com.mhd.system.api.domain.*; import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; +import java.io.IOException; import java.lang.reflect.Field; import java.math.BigDecimal; import java.text.SimpleDateFormat; @@ -78,6 +99,18 @@ public class ReservationStockOutOrderApplicationService { private IReservationOutMaterialDetailService outMaterialDetailService; // @Autowired // private IPickingMaterialDetailService pickingMaterialDetailService; + @Resource + private GwLogMapper gwLogMapper; + @Autowired + private ReservationStockOutOrderMapper reservationStockOutOrderMapper; + @Autowired + private ReservationOutMaterialDetailMapper reservationOutMaterialDetailMapper; + + @Autowired + private ReservationStockInOrderMapper reservationStockInOrderMapper; + private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; + private static final String API_NAME = "save_order_i"; + private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; /** @@ -782,7 +815,7 @@ public class ReservationStockOutOrderApplicationService { * @description 审核入库单 * @author ZhouGY * @date 2024/5/21 13:53 - * @param stockInOrderDO + * @param * @return Boolean */ public Boolean auditState(ReservationStockOutOrderDO stockOutOrderDO){ @@ -793,7 +826,7 @@ public class ReservationStockOutOrderApplicationService { * @description 下发入库单 * @author ZhouGY * @date 2024/5/21 13:53 - * @param stockInOrderDO + * @param * @return Boolean */ public Boolean issueOrder(ReservationStockOutOrderDO stockOutOrderDO){ @@ -1032,4 +1065,161 @@ public class ReservationStockOutOrderApplicationService { BeanUtils.copyProperties(stockOutOrderDTO, stockOutOrderDO); return stockOutOrderDomainService.queryOutStockNoticePrintDetail(stockOutOrderDO); } + + public AjaxResult batchPush(List idList) { + if (idList == null || idList.isEmpty()) { + return AjaxResult.error("没有数据需要推送"); + } + + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long pushBy = loginUser != null ? loginUser.getUserid() : null; + String pushByName = loginUser != null ? loginUser.getUsername() : null; + Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; + Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; + String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; + + int successCount = 0; + int failCount = 0; + StringBuilder failMsg = new StringBuilder(); + + for (Long id : idList) { + GwStockOutOrder gwStockOutOrder = new GwStockOutOrder(); + ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectById(id); + Long shipperId = reservationStockOutOrder.getShipperId(); + String userNcCode = reservationStockInOrderMapper.getUserNcCode(shipperId); + gwStockOutOrder.setBill_no(reservationStockOutOrder.getOutOrderNumber()); + gwStockOutOrder.setBill_date(reservationStockOutOrder.getDocumentDate()); + gwStockOutOrder.setIe_flag("E"); + gwStockOutOrder.setCorp_code(userNcCode); + + + List reservationOutMaterialDetails = reservationOutMaterialDetailMapper.selectList(new LambdaQueryWrapper().eq(ReservationOutMaterialDetail::getOutOrderNumber, reservationStockOutOrder.getOutOrderNumber())); + Integer lineNum = 1; + List orderList = new LinkedList<>(); + for (ReservationOutMaterialDetail reservationOutMaterialDetail : reservationOutMaterialDetails) { + GwOutDetail gwOutDetail = new GwOutDetail(); + Long materialBaseInfoId = reservationOutMaterialDetail.getMaterialBaseInfoId(); + gwOutDetail.setBill_no(gwStockOutOrder.getBill_no()); + gwOutDetail.setLine_num(lineNum); + lineNum++; + gwOutDetail.setItem_no(materialBaseInfoId.toString()); + gwOutDetail.setItem_name(reservationOutMaterialDetail.getMaterialName()); + MaterialBaseInfoPO materialBaseInfoPO = reservationStockInOrderMapper.getinfo(materialBaseInfoId); + gwOutDetail.setSpec(materialBaseInfoPO.getSpecificationModel()); + gwOutDetail.setUnit(materialBaseInfoPO.getDeclarationUnit()); + gwOutDetail.setQty(reservationOutMaterialDetail.getQuantity()); + gwOutDetail.setErp_curr(materialBaseInfoPO.getCurrency()); + gwOutDetail.setErp_price(materialBaseInfoPO.getUnitPrice()); + BigDecimal unitPrice = materialBaseInfoPO.getUnitPrice(); + BigDecimal quantity = reservationOutMaterialDetail.getQuantity(); + if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0&&quantity.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal Amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP); + gwOutDetail.setAmount(Amount); + } + orderList.add(gwOutDetail); + + Long kcId = reservationOutMaterialDetailMapper.getKcId(reservationOutMaterialDetail.getLotNo()); + String inOrderNumber = reservationOutMaterialDetailMapper.getInOrderNumber(kcId); + String inLotNo = reservationOutMaterialDetailMapper.getInLotNo(inOrderNumber,materialBaseInfoId); + String warehouse = reservationOutMaterialDetailMapper.getWarehouse(kcId); + String opWhLoc = reservationOutMaterialDetailMapper.getOpWhLoc(kcId); + Integer result = null; + if (inLotNo != null && inLotNo.contains("-")) { + // 截取最后一个 "-" 后面的内容(兼容多 "-" 场景) + String numStr = inLotNo.substring(inLotNo.lastIndexOf("-") + 1); + // 转成 Integer + result = Integer.valueOf(numStr); + } + gwOutDetail.setOrder_i_no(inOrderNumber); + gwOutDetail.setBill_i(inLotNo); + gwOutDetail.setOrder_i_row(result); + gwOutDetail.setBill_i_row(result); + gwOutDetail.setWarehouse(warehouse); + gwOutDetail.setOp_wh_loc(opWhLoc); + } + gwStockOutOrder.setOrderList(orderList); + + GwLog gwLog = new GwLog(); + gwLog.setType("企业国别"); + gwLog.setBusinessId(id); + gwLog.setRequestBody(com.alibaba.fastjson.JSONObject.toJSONString(gwStockOutOrder)); + gwLog.setResponseBody(""); + gwLog.setStatus(1); + gwLog.setSendTime(new Date()); + gwLog.setOrganizationId(organizationId); + gwLog.setTopOrganizationId(topOrganizationId); + gwLog.setOrganizationName(organizationName); + gwLog.setCreateBy(pushBy); + gwLog.setCreateTime(new Date()); + gwLog.setDelFlag(1); + gwLogMapper.insert(gwLog); + + updatePushStatus(id, 2, new Date(), pushBy,pushByName); + + CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(PUSH_API_URL); + StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(gwStockOutOrder), "UTF-8"); + httpPost.setEntity(postingString); + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("apiName", API_NAME); + httpPost.setHeader("verify", VERIFY); + + try { + CloseableHttpResponse response = httpClient.execute(httpPost); + String responseString = EntityUtils.toString(response.getEntity()); + gwLog.setResponseBody(responseString); + + if (response.getStatusLine().getStatusCode() == 200) { + gwLog.setStatus(2); + updatePushStatus(id, 3, new Date(), pushBy,pushByName); + successCount++; + } else { + gwLog.setStatus(3); + gwLog.setErrorMsg(responseString); + updatePushStatus(id, 4, new Date(), pushBy,pushByName); + failCount++; + failMsg.append("erpCountryCode:").append(id).append("失败;"); + } + gwLogMapper.updateById(gwLog); + response.close(); + } catch (IOException e) { + gwLog.setStatus(3); + gwLog.setErrorMsg(e.getMessage()); + gwLog.setResponseBody("请求异常:" + e.getMessage()); + gwLogMapper.updateById(gwLog); + updatePushStatus(id, 4, new Date(), pushBy,pushByName); + failCount++; + failMsg.append("erpCountryCode:").append(id).append("异常:").append(e.getMessage()).append(";"); + log.error("企业国别推送异常: id={}, error={}", id, e.getMessage()); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + log.error("关闭httpClient异常: {}", e.getMessage()); + } + } + } + + String resultMsg = "推送完成: 成功" + successCount + "条, 失败" + failCount + "条"; + if (failCount > 0) { + resultMsg += "[" + failMsg.toString() + "]"; + } + return AjaxResult.success(resultMsg); + } + + private void updatePushStatus(Long id, Integer pushStatus, Date pushTime, Long pushBy,String pushByName) { + ReservationStockOutOrder entity = new ReservationStockOutOrder(); + entity.setOutOrderId(id); + entity.setPushStatus(pushStatus); + if (pushTime != null) { + entity.setPushTime(pushTime); + } + if (pushBy != null) { + entity.setPushBy(pushBy); + } + if (pushByName != null) { + entity.setPushByName(pushByName); + } + reservationStockOutOrderMapper.updateById(entity); + } } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/entity/ReserveStockInOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/entity/ReserveStockInOrder.java index 9730920d7..7d02bbc4e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/entity/ReserveStockInOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/entity/ReserveStockInOrder.java @@ -120,9 +120,9 @@ public class ReserveStockInOrder extends BaseVOEntity { private String supplierName; @ApiModelProperty("预计到货时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "预计到货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "预计到货时间", width = 30, dateFormat = "yyyy-MM-dd") private Date expectTime; @ApiModelProperty("供应链订单号") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/po/ReserveStockInOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/po/ReserveStockInOrderPO.java index c8db2d5f3..c742e4208 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/po/ReserveStockInOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/po/ReserveStockInOrderPO.java @@ -122,9 +122,9 @@ public class ReserveStockInOrderPO extends BaseVOEntity { private String supplierName; @ApiModelProperty("预计到货时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "预计到货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "预计到货时间", width = 30, dateFormat = "yyyy-MM-dd") private Date expectTime; @ApiModelProperty("供应链订单号") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/todo/ReserveStockInOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/todo/ReserveStockInOrderDO.java index 9696400df..658573e06 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/todo/ReserveStockInOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/todo/ReserveStockInOrderDO.java @@ -119,9 +119,9 @@ public class ReserveStockInOrderDO extends BaseVOEntity { private String supplierName; @ApiModelProperty("预计到货时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "预计到货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "预计到货时间", width = 30, dateFormat = "yyyy-MM-dd") private Date expectTime; @ApiModelProperty("供应链订单号") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/todo/ReserveStockInOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/todo/ReserveStockInOrderDTO.java index e00e2d35a..1de6c28b2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/todo/ReserveStockInOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/todo/ReserveStockInOrderDTO.java @@ -117,9 +117,9 @@ public class ReserveStockInOrderDTO extends ReserveStockInOrderBaseDTO { private String supplierName; @ApiModelProperty("预计到货时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "预计到货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "预计到货时间", width = 30, dateFormat = "yyyy-MM-dd") private Date expectTime; @ApiModelProperty("供应链订单号") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/vo/InAndOutListVo.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/vo/InAndOutListVo.java index 89473df7c..4d677eb4a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/vo/InAndOutListVo.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockInOrder/repository/vo/InAndOutListVo.java @@ -150,4 +150,6 @@ public class InAndOutListVo extends BaseVOEntity { private String businessOrderNo; @ApiModelProperty("入或出 in/out") private String inOrOut; + @ApiModelProperty("是否需要运输(默认:否)") + private Integer needTransport; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/entity/ReserveStockOutOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/entity/ReserveStockOutOrder.java index df038d1d2..a4f468e7f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/entity/ReserveStockOutOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/entity/ReserveStockOutOrder.java @@ -334,8 +334,8 @@ public class ReserveStockOutOrder extends BaseVOEntity { private String containerNoName; @ApiModelProperty("出仓日期") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/po/ReserveStockOutOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/po/ReserveStockOutOrderPO.java index ff1b7b4ce..d408ae853 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/po/ReserveStockOutOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/po/ReserveStockOutOrderPO.java @@ -336,8 +336,8 @@ public class ReserveStockOutOrderPO extends BaseVOEntity { private String containerNoName; @ApiModelProperty("出仓日期") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDO.java index 764b2a85d..65cfb51d8 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reserveStockOutOrder/repository/todo/ReserveStockOutOrderDO.java @@ -359,8 +359,8 @@ public class ReserveStockOutOrderDO extends BaseVOEntity { private String containerNoName; @ApiModelProperty("出仓日期") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date outboundDate; @ApiModelProperty("完成时间") diff --git a/mhd_oms/src/main/resources/mapper/reservationOutMaterialDetail/ReservationOutMaterialDetailMapper.xml b/mhd_oms/src/main/resources/mapper/reservationOutMaterialDetail/ReservationOutMaterialDetailMapper.xml index 99b3b9a1d..00153637b 100644 --- a/mhd_oms/src/main/resources/mapper/reservationOutMaterialDetail/ReservationOutMaterialDetailMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationOutMaterialDetail/ReservationOutMaterialDetailMapper.xml @@ -405,4 +405,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{item.uniqueId}
+ + + + + + + \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 5887e0b67..e95b956e9 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -467,7 +467,9 @@ select * from "NGWL_TEST_WMS".MATERIAL_GOODS_RULE where MATERIAL_BASE_INFO_ID = #{id} - + + + + \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java index 94a8f67f2..33c0aa0cd 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java @@ -386,7 +386,7 @@ public class BusinessDocumentOrderDomainService { businessDocumentOrderDO.setOrgName(String.valueOf(u.getUserPo().getOrganizationName())); } businessDocumentOrderDO.setTopOrganizationId(u.getUserPo().getTopOrganizationId()); - BigDecimal deliveryFreight=tmsOrder.getDeliveryFreight(); + BigDecimal deliveryFreight=businessDocumentOrderDO.getDeliveryFreight(); /** * 生成货源单信息 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/service/OmsAddressMultiService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/service/OmsAddressMultiService.java index c3c4a6025..3ddce8ecd 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/service/OmsAddressMultiService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOrder/service/OmsAddressMultiService.java @@ -992,6 +992,9 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { BeanUtils.copyProperties(tmsOrderAddDTO, resevationOrder); String id = tmsOrderAddDTO.getId(); resevationOrder.setId(Long.valueOf(id)); + if (tmsOrderAddDTO.getOrderType()==2){ + resevationOrder.setOrderType(0); + } // 设置更新时间戳和用户信息 resevationOrder.setUpdateTime(new Date()); @@ -1417,12 +1420,15 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { cargoDTO.setCargoName(reservationCargo.getCargoName()); cargoDTO.setCargoNum(reservationCargo.getCargoNum() != null ? reservationCargo.getCargoNum() : BigDecimal.ZERO); cargoDTO.setCargoWeight(reservationCargo.getCargoWeight() != null ? reservationCargo.getCargoWeight() : BigDecimal.ZERO); + cargoDTO.setWeight(reservationCargo.getCargoWeight() != null ? reservationCargo.getCargoWeight() : BigDecimal.ZERO); + cargoDTO.setMaterialVolume(reservationCargo.getCargoVolume() != null ? reservationCargo.getCargoVolume() : BigDecimal.ZERO); cargoDTO.setCargoUnitName(reservationCargo.getCargoUnitName()); cargoDTO.setWeightUnit(reservationCargo.getCargoUnitName()); cargoDTO.setGoodsTypeId(reservationCargo.getGoodsTypeId()); cargoDTO.setGoodsType(reservationCargo.getGoodsType()); cargoDTO.setGoodsNameId(reservationCargo.getGoodsNameId()); cargoDTO.setGoodsName(reservationCargo.getGoodsName()); + cargoDTO.setCargoName(reservationCargo.getGoodsName()); cargoDTO.setMaterialContent(reservationCargo.getCargoContent()); cargoDTO.setMachineCode(reservationCargo.getMachineCode()); businessDocumentCargoMultiList.add(cargoDTO); @@ -1522,8 +1528,8 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { tmsCargoInfo.setCreateTime(new Date()); tmsCargoInfo.setUpdateTime(new Date()); tmsCargoInfo.setOrderId(id); - tmsCargoInfo.setCargoWeight(tmsCargoInfoDTO.getWeight()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getWeight()); - tmsCargoInfo.setCargoVolume(tmsCargoInfoDTO.getMaterialVolume()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getMaterialVolume()); + tmsCargoInfo.setCargoWeight(tmsCargoInfoDTO.getCargoWeight()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getCargoWeight()); + tmsCargoInfo.setCargoVolume(tmsCargoInfoDTO.getCargoVolume()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getCargoVolume()); tmsCargoInfo.setCargoContent(tmsCargoInfoDTO.getCargoContent()); tmsCargoInfo.setCargoNum(tmsCargoInfoDTO.getCargoNum()==null ? BigDecimal.ZERO: tmsCargoInfoDTO.getCargoNum()); tmsCargoInfo.setGoodsName(tmsCargoInfoDTO.getGoodsName()); @@ -1682,6 +1688,10 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { @Override public Map countByOrderType() { + //获取当前登录用户 + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long userId = loginUser.getUserPo().getUserId(); + // 使用MyBatis Plus的LambdaQueryWrapper进行分组统计 Map countMap = new HashMap<>(); @@ -1689,7 +1699,8 @@ public class OmsAddressMultiService implements IOmsAddressMultiService { for (int i = 0; i <= 5; i++) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ReservationOrder::getIsDelete, 0) - .eq(ReservationOrder::getOrderType, i); + .eq(ReservationOrder::getOrderType, i) + .eq(ReservationOrder::getRealCreateBy, userId); long count = resevationOrderMapper.selectCount(queryWrapper); countMap.put(i, count); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsCargoInfoDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsCargoInfoDTO.java index 0e561729b..6eb232ea0 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsCargoInfoDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsCargoInfoDTO.java @@ -62,6 +62,9 @@ public class OmsCargoInfoDTO implements Serializable { @ApiModelProperty("体积") private BigDecimal materialVolume; + @ApiModelProperty("货物体积") + private BigDecimal cargoVolume; + @ApiModelProperty("内容") private String cargoContent; diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsOrderAddDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsOrderAddDTO.java index 819e0fde1..a2c4746c8 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsOrderAddDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/resevationOrder/OmsOrderAddDTO.java @@ -480,6 +480,9 @@ public class OmsOrderAddDTO implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private java.util.Date documentDate; + @ApiModelProperty(value = "预约单类型") + private Integer orderType; + @ApiModelProperty("费用科目明细") private List tmsOrderAccountList; diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/resevationOrder/ResevationOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/resevationOrder/ResevationOrderApi.java index cc4aee747..e2b549876 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/resevationOrder/ResevationOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/resevationOrder/ResevationOrderApi.java @@ -236,7 +236,12 @@ public class ResevationOrderApi extends BaseController{ } catch (Exception e) { e.printStackTrace(); - return Result.error("取消预约失败:" + e.getMessage()); + String errorMsg = e.getMessage(); + // 移除错误消息中的换行符及后面的无用信息 + if (errorMsg != null && errorMsg.contains("\n[ErrorCode]:")) { + errorMsg = errorMsg.substring(0, errorMsg.indexOf("\n[ErrorCode]:")); + } + return Result.error("取消预约失败:" + errorMsg); } } diff --git a/mhd_product/src/main/java/com/linke/product/domain/organization/entity/Organization.java b/mhd_product/src/main/java/com/linke/product/domain/organization/entity/Organization.java index eddf6c184..668673a56 100644 --- a/mhd_product/src/main/java/com/linke/product/domain/organization/entity/Organization.java +++ b/mhd_product/src/main/java/com/linke/product/domain/organization/entity/Organization.java @@ -114,6 +114,8 @@ public class Organization extends BaseVOEntity implements Serializable { private String contactPhone; @ApiModelProperty("nc编码") private String ncCode; + @ApiModelProperty("是否排队:0-否,1-是") + private Integer isQueue; } \ No newline at end of file diff --git a/mhd_product/src/main/java/com/linke/product/domain/organization/repository/po/OrganizationPo.java b/mhd_product/src/main/java/com/linke/product/domain/organization/repository/po/OrganizationPo.java index 0b66b6a7c..121d7fa00 100644 --- a/mhd_product/src/main/java/com/linke/product/domain/organization/repository/po/OrganizationPo.java +++ b/mhd_product/src/main/java/com/linke/product/domain/organization/repository/po/OrganizationPo.java @@ -129,4 +129,6 @@ public class OrganizationPo extends BaseVOEntity implements Serializable { private String contactPhone; @ApiModelProperty("nc编码") private String ncCode; + @ApiModelProperty("是否排队:0-否,1-是") + private Integer isQueue; } \ No newline at end of file diff --git a/mhd_product/src/main/java/com/linke/product/domain/organization/repository/todo/OrganizationCorrelationDO.java b/mhd_product/src/main/java/com/linke/product/domain/organization/repository/todo/OrganizationCorrelationDO.java index b49a20345..f9fca3e43 100644 --- a/mhd_product/src/main/java/com/linke/product/domain/organization/repository/todo/OrganizationCorrelationDO.java +++ b/mhd_product/src/main/java/com/linke/product/domain/organization/repository/todo/OrganizationCorrelationDO.java @@ -64,4 +64,6 @@ public class OrganizationCorrelationDO extends BaseVOEntity{ private String contact; @ApiModelProperty("联系人电话") private String contactPhone; + @ApiModelProperty("是否排队:0-否,1-是") + private Integer isQueue; } diff --git a/mhd_product/src/main/java/com/linke/product/interfaces/dto/organization/OrganizationDto.java b/mhd_product/src/main/java/com/linke/product/interfaces/dto/organization/OrganizationDto.java index 3ce72d4e0..fa7b8a5b9 100644 --- a/mhd_product/src/main/java/com/linke/product/interfaces/dto/organization/OrganizationDto.java +++ b/mhd_product/src/main/java/com/linke/product/interfaces/dto/organization/OrganizationDto.java @@ -123,6 +123,8 @@ public class OrganizationDto extends BaseVOEntity implements Serializable { private String contactPhone; @ApiModelProperty("nc编码") private String ncCode; + @ApiModelProperty("是否排队:0-否,1-是") + private Integer isQueue; @ApiModelProperty(name = "唯一key集合(操作菜单使用)") private List idKeyList; diff --git a/mhd_product/src/main/resources/mapper/organization/OrganizationMapper.xml b/mhd_product/src/main/resources/mapper/organization/OrganizationMapper.xml index 92a234b12..9abb4423b 100644 --- a/mhd_product/src/main/resources/mapper/organization/OrganizationMapper.xml +++ b/mhd_product/src/main/resources/mapper/organization/OrganizationMapper.xml @@ -102,7 +102,8 @@ o1.company_name_en, o1.contact, o1.nc_code, - o1.contact_phone + o1.contact_phone, + o1.is_queue FROM sys_organization o1 LEFT JOIN From 8fcf0ece6fdcce2f4f5f21df82d8dcb7940ca3b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Thu, 21 May 2026 15:38:32 +0800 Subject: [PATCH 181/418] =?UTF-8?q?=E6=B7=BB=E5=8A=A0ymsfeign?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/YmsServiceFeign.java | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java new file mode 100644 index 000000000..c74725731 --- /dev/null +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -0,0 +1,55 @@ +package com.mhd.system.api; + +import com.mhd.common.core.constant.ServiceNameConstants; +import com.mhd.common.core.domain.entity.R; +import com.mhd.common.core.domain.dto.YmsSysUserDTO; +import com.mhd.system.api.domain.YmsLoginUser; +import com.mhd.system.api.factory.RemoteBmsFeignFallbackFactory; +import com.mhd.system.api.feign.FeignAutoConfiguration; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +public interface YmsServiceFeign { + + /** + * 获取YMS用户基本信息 + * @param szwlUserId 数字物流用户ID + * @return YMS登录用户基本信息 + */ + @GetMapping("/system/user/inner/getYmsUserInfo/{szwlUserId}") + R getYmsUserInfo(@PathVariable("szwlUserId") Long szwlUserId); + + /** + * 获取用户详细信息 + * @param userId 用户ID + * @return 用户信息 + */ + @GetMapping("/system/user/inner/info/{userId}") + R innerGetInfo(@PathVariable("userId") Long userId); + + /** + * 新增用户 + * @param ymsSysUserDTO 用户信息 + * @return 新增结果 + */ + @PostMapping("/system/user/inner/add") + R innerAdd(@RequestBody YmsSysUserDTO ymsSysUserDTO); + + /** + * 修改用户 + * @param ymsSysUserDTO 用户信息 + * @return 修改结果 + */ + @PutMapping("/system/user/inner/edit") + R innerEdit(@RequestBody YmsSysUserDTO ymsSysUserDTO); + + /** + * 删除用户 + * @param userIds 用户ID数组 + * @return 删除结果 + */ + @DeleteMapping("/system/user/inner/remove/{userIds}") + R innerRemove(@PathVariable("userIds") Long[] userIds); + +} From 57d5043ac2f89e839cf59427e60b68993b00569c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 21 May 2026 16:09:50 +0800 Subject: [PATCH 182/418] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index ddf30122a..1b5b207be 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.321:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** From 8a4d72e4fb4bffd8590f55a3a78b45c7620d4ea9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 21 May 2026 16:22:32 +0800 Subject: [PATCH 183/418] =?UTF-8?q?=E5=8F=91=E5=B8=83=E6=B5=8B=E8=AF=95;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/BmsServiceFeign.java | 2 +- .../com/mhd/system/api/OmsServiceFeign.java | 2 +- .../com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../com/mhd/system/api/WmsServiceFeign.java | 2 +- mhd-auth/src/main/resources/bootstrap.yml | 23 ++++++++++--------- .../src/main/resources/bootstrap.yml | 16 ++++++------- .../src/main/resources/bootstrap.yml | 16 ++++++------- mhd_bms/src/main/resources/bootstrap.yml | 16 ++++++------- mhd_oms/src/main/resources/bootstrap.yml | 16 ++++++------- mhd_product/src/main/resources/bootstrap.yml | 18 +++++++-------- mhd_wms/src/main/resources/bootstrap.yml | 18 +++++++-------- 11 files changed, 64 insertions(+), 67 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..91f2f8a11 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 7df4baafc..7969bce5f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..7b29982a5 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 0ae254cec..381d85c29 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-auth/src/main/resources/bootstrap.yml b/mhd-auth/src/main/resources/bootstrap.yml index c6a31ffe5..faaa08145 100644 --- a/mhd-auth/src/main/resources/bootstrap.yml +++ b/mhd-auth/src/main/resources/bootstrap.yml @@ -12,22 +12,23 @@ spring: cloud: nacos: discovery: -# server-addr: 127.0.0.1:8848 + # server-addr: 127.0.0.1:8848 + server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + # server-addr: 10.102.192.31:6848 + # username: nacos + # password: manhuoda@2023 #线上正式环境 -# server-addr: 10.102.192.31:6848 -# username: nacos -# password: manhuoda@2023 + # server-addr: 10.102.192.105:6848 config: -# server-addr: 127.0.0.1:8848 + # server-addr: 127.0.0.1:8848 + server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + # server-addr: 10.102.192.31:6848 + # username: nacos + # password: manhuoda@2023 #线上正式环境 + # server-addr: 10.102.192.105:6848 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 共享配置 diff --git a/mhd-modules/mhd-system/src/main/resources/bootstrap.yml b/mhd-modules/mhd-system/src/main/resources/bootstrap.yml index 79f1a3df7..3ef3b88eb 100644 --- a/mhd-modules/mhd-system/src/main/resources/bootstrap.yml +++ b/mhd-modules/mhd-system/src/main/resources/bootstrap.yml @@ -14,20 +14,20 @@ spring: nacos: discovery: # server-addr: 127.0.0.1:8848 -# server-addr: 10.33.0.129:6010 + server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 config: # server-addr: 127.0.0.1:8848 -# server-addr: 10.33.0.129:6010 + server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 diff --git a/mhd-user-center/src/main/resources/bootstrap.yml b/mhd-user-center/src/main/resources/bootstrap.yml index c17c2833e..59db9fcf4 100644 --- a/mhd-user-center/src/main/resources/bootstrap.yml +++ b/mhd-user-center/src/main/resources/bootstrap.yml @@ -20,17 +20,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 共享配置 diff --git a/mhd_bms/src/main/resources/bootstrap.yml b/mhd_bms/src/main/resources/bootstrap.yml index 1b1edd68f..b820966d6 100644 --- a/mhd_bms/src/main/resources/bootstrap.yml +++ b/mhd_bms/src/main/resources/bootstrap.yml @@ -18,17 +18,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 开启nacos自动刷新,如果这个配置没有或者为false会导致配置不能自动刷新 diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 4035a9721..52012861d 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -18,17 +18,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 # 锁定server端的配置文件(读取它的配置项) diff --git a/mhd_product/src/main/resources/bootstrap.yml b/mhd_product/src/main/resources/bootstrap.yml index 312bb95d2..fc4d89736 100644 --- a/mhd_product/src/main/resources/bootstrap.yml +++ b/mhd_product/src/main/resources/bootstrap.yml @@ -19,20 +19,18 @@ spring: nacos: discovery: # server-addr: 127.0.0.1:8848 -# server-addr: 10.33.0.129:6010 - # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.33.0.129:6010 config: # server-addr: 127.0.0.1:8848 -# server-addr: 10.33.0.129:6010 - # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.33.0.129:6010 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index e8f169bf2..1d9c68dae 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -14,20 +14,18 @@ spring: nacos: discovery: # server-addr: 127.0.0.1:8848 -# server-addr: 10.33.0.129:6010 - # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 config: # server-addr: 127.0.0.1:8848 -# server-addr: 10.33.0.129:6010 - # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 # 配置文件格式 From e76976622f8475676f21b9fb90b05ba0980c42f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Thu, 21 May 2026 16:31:50 +0800 Subject: [PATCH 184/418] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index c74725731..66460a702 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.33.0.99:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** From 3ec47385beabf448b59876b4118e736e915fdc3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 21 May 2026 17:03:45 +0800 Subject: [PATCH 185/418] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-auth/src/main/resources/bootstrap.yml | 25 ++++++++++--------- mhd-bi/src/main/resources/bootstrap.yml | 16 ++++++------ .../src/main/resources/bootstrap.yml | 4 +-- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/mhd-auth/src/main/resources/bootstrap.yml b/mhd-auth/src/main/resources/bootstrap.yml index faaa08145..ceda44d1d 100644 --- a/mhd-auth/src/main/resources/bootstrap.yml +++ b/mhd-auth/src/main/resources/bootstrap.yml @@ -12,25 +12,26 @@ spring: cloud: nacos: discovery: - # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - # server-addr: 10.102.192.31:6848 - # username: nacos - # password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# username: nacos +# password: manhuoda@2023 #线上正式环境 - # server-addr: 10.102.192.105:6848 +# server-addr: 10.102.192.5:6848 +# username: nacos +# password: manhuoda@2023 config: - # server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 + # 测试环境配置 容器名+端口号 server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - # server-addr: 10.102.192.31:6848 - # username: nacos - # password: manhuoda@2023 +# server-addr: 10.102.192.5:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 - # server-addr: 10.102.192.105:6848 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 共享配置 shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/mhd-bi/src/main/resources/bootstrap.yml b/mhd-bi/src/main/resources/bootstrap.yml index 2572662c1..1c5c1f1b7 100644 --- a/mhd-bi/src/main/resources/bootstrap.yml +++ b/mhd-bi/src/main/resources/bootstrap.yml @@ -14,21 +14,21 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 + server-addr: 10.33.0.129:6010 # server-addr: 10.102.192.5:6848 # username: nacos # password: manhuoda@2023 #线上正式环境 - server-addr: 10.102.192.30:6848 - username: nacos - password: manhuoda@2023 +# server-addr: 10.102.192.30:6848 +# username: nacos +# password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.30:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties diff --git a/mhd-modules/mhd-system/src/main/resources/bootstrap.yml b/mhd-modules/mhd-system/src/main/resources/bootstrap.yml index 3ef3b88eb..2afad33b3 100644 --- a/mhd-modules/mhd-system/src/main/resources/bootstrap.yml +++ b/mhd-modules/mhd-system/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.31:6848 +# server-addr: 10.102.192.5:6848 # username: nacos # password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.31:6848 +# server-addr: 10.102.192.5:6848 # username: nacos # password: manhuoda@2023 #线上正式环境 From 447e26999bfdd1e1cd095b48b45b4dbd3f98842b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 21 May 2026 17:45:05 +0800 Subject: [PATCH 186/418] =?UTF-8?q?=E5=8F=91=E5=B8=8331;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- mhd-gateway/src/main/resources/bootstrap.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 4a79cdac0..f6477f04b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-gateway/src/main/resources/bootstrap.yml b/mhd-gateway/src/main/resources/bootstrap.yml index 57f832f9f..d57c0431b 100644 --- a/mhd-gateway/src/main/resources/bootstrap.yml +++ b/mhd-gateway/src/main/resources/bootstrap.yml @@ -9,7 +9,7 @@ spring: name: mhd-gateway profiles: # 环境配置 - active: dev + active: dev31 cloud: nacos: discovery: From 591cfa57d1e7be6f501bd6ded778f73daaf808ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Fri, 22 May 2026 09:43:18 +0800 Subject: [PATCH 187/418] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=89=BF=E8=BF=90?= =?UTF-8?q?=E4=BA=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/userAggregate/repository/todo/UserShipperDO.java | 3 +++ .../com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java index d779cab3e..2d6d96d4c 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java @@ -309,4 +309,7 @@ public class UserShipperDO extends UserDO { @ApiModelProperty("推送时间止") private String pushTimeTo; + @ApiModelProperty(name = "登录账号(2-20位)") + private String userAccount; + } diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java index f79f793d0..098ed69a3 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java @@ -250,4 +250,7 @@ public class UserShipperDTO extends UserDTO { @ApiModelProperty(value = "推送状态") private Integer pushStatus; + + @ApiModelProperty(name = "登录账号(2-20位)") + private String userAccount; } From dbb1cace5bafadbd408dbdc5a256a242be0a5c0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Fri, 22 May 2026 11:02:18 +0800 Subject: [PATCH 188/418] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A7=94=E6=89=98?= =?UTF-8?q?=E6=96=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/application/service/UserApplicationService.java | 9 ++++++--- .../userAggregate/repository/todo/UserShipperDO.java | 3 +++ .../mhd/user/interfaces/dto/addDTO/UserShipperDTO.java | 3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java index 7be3f36a4..fd56818d8 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java @@ -2114,9 +2114,12 @@ public class UserApplicationService { UserEntity userEntity = userDomainService.updateUser(userDO); //同步网货平台员工信息 wlhyDomainService.addOrEditPlatformUser(userEntity); - //同步yms员工信息 - ymsDomainService.addOrEditYmsUser(userEntity); - BeanUtils.copyProperties(userPo, userEntity); + if (userEntity.getUserAccount()!=null){ + //同步yms员工信息 + ymsDomainService.addOrEditYmsUser(userEntity); + BeanUtils.copyProperties(userPo, userEntity); + } + return userPo; diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java index 2d6d96d4c..ea12a7413 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserShipperDO.java @@ -312,4 +312,7 @@ public class UserShipperDO extends UserDO { @ApiModelProperty(name = "登录账号(2-20位)") private String userAccount; + @ApiModelProperty(name = "登录密码(6-20位)") + private String userPassword; + } diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java index 098ed69a3..a4e9c212e 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserShipperDTO.java @@ -253,4 +253,7 @@ public class UserShipperDTO extends UserDTO { @ApiModelProperty(name = "登录账号(2-20位)") private String userAccount; + + @ApiModelProperty(name = "登录密码(6-20位)") + private String userPassword; } From 540b805546984685931900283a7b495695a0532f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Fri, 22 May 2026 11:06:25 +0800 Subject: [PATCH 189/418] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A7=94=E6=89=98?= =?UTF-8?q?=E6=96=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/application/service/UserApplicationService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java index fd56818d8..9d5f042a6 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java @@ -2114,13 +2114,14 @@ public class UserApplicationService { UserEntity userEntity = userDomainService.updateUser(userDO); //同步网货平台员工信息 wlhyDomainService.addOrEditPlatformUser(userEntity); - if (userEntity.getUserAccount()!=null){ + Long organizationId = loginUser.getUserPo().getOrganizationId(); + Integer ordIsQueue = userMapper.getOrdIsQueue(organizationId); + if (userEntity.getUserAccount()!=null&&ordIsQueue==1){ //同步yms员工信息 ymsDomainService.addOrEditYmsUser(userEntity); - BeanUtils.copyProperties(userPo, userEntity); } - + BeanUtils.copyProperties(userPo, userEntity); return userPo; } From 6d4d3c83596c677867bca8c7e0a05d72186ea73c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 22 May 2026 11:15:36 +0800 Subject: [PATCH 190/418] =?UTF-8?q?=E5=8F=91=E5=B8=8331;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-gateway/src/main/resources/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd-gateway/src/main/resources/bootstrap.yml b/mhd-gateway/src/main/resources/bootstrap.yml index d57c0431b..57f832f9f 100644 --- a/mhd-gateway/src/main/resources/bootstrap.yml +++ b/mhd-gateway/src/main/resources/bootstrap.yml @@ -9,7 +9,7 @@ spring: name: mhd-gateway profiles: # 环境配置 - active: dev31 + active: dev cloud: nacos: discovery: From dc65b1ae1219615f39e8caa456c7021b395b2824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Fri, 22 May 2026 14:22:12 +0800 Subject: [PATCH 191/418] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A7=94=E6=89=98?= =?UTF-8?q?=E6=96=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/application/service/UserApplicationService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java index 32642d0ee..ed69773e1 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java @@ -2115,7 +2115,12 @@ public class UserApplicationService { //同步网货平台员工信息 wlhyDomainService.addOrEditPlatformUser(userEntity); //同步yms员工信息 - ymsDomainService.addOrEditYmsUser(userEntity); + Long organizationId = loginUser.getUserPo().getOrganizationId(); + Integer ordIsQueue = userMapper.getOrdIsQueue(organizationId); + if (userEntity.getUserAccount()!=null&&ordIsQueue==1){ + //同步yms员工信息 + ymsDomainService.addOrEditYmsUser(userEntity); + } BeanUtils.copyProperties(userPo, userEntity); From 4d563c1394e412b6a17cf392ae7fd808edf4dea6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 22 May 2026 15:00:26 +0800 Subject: [PATCH 192/418] =?UTF-8?q?=E5=8E=BB=E9=99=A4a.gw=5Fpush=5Fstatus;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 3 +-- .../ReservationStockOutOrderMapper.xml | 3 +-- .../main/resources/mapper/pickingOrder/PickingOrderMapper.xml | 3 +-- .../resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index e95b956e9..c3d30b24d 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -93,7 +93,6 @@ - @@ -129,7 +128,7 @@ a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, a.WAREHOUSE_DATE, a.COMPLETION_TIME, a.ORDER_DATE,a.reservation_audit_time,a.reservation_audit_name ,a.reservation_audit_id,a.issue_name,a.issue_id,a.issue_time,a.issue_status,a.RESERVATION_ORDER_SOURCE,a.tms_order_number - ,a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.STORAGE_TIME,a.in_quantity,a.gw_push_status + ,a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.STORAGE_TIME,a.in_quantity diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index 9bef44b18..ba129dc04 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -95,7 +95,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -113,7 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME, a.CUSTOMS_INSPECTION_FLAG,a.NEED_DECLARE_FLAG,a.NEED_TRANSPORT_FLAG,a.picture_app,a.reservation_audit_time,a.reservation_audit_name ,a.reservation_audit_id,a.issue_name,a.issue_id,a.issue_time,a.issue_status,a.tms_order_number, - a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.RESERVATION_ORDER_SOURCE,a.OUTBOUND_TIME,a.gw_push_status + a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.RESERVATION_ORDER_SOURCE,a.OUTBOUND_TIME diff --git a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml index ef5286648..470bfba95 100644 --- a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml @@ -32,7 +32,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -41,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.status, a.type, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_name, a.quantity, a.weight_limit, a.volume_limit, a.material_quantity, IFNULL((SELECT SUM(b.picking_quantity) FROM picking_material_detail b WHERE b.picking_order_number = a.picking_order_number AND b.del_flag = 1), 0) AS picking_quantity, a.picking_material_quantity, a.abnormal, a.task_distribution, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time, - a.update_by, a.update_by_name, a.del_flag,a.out_order_number, a.business_order_no, a.order_type_code, a.order_type_name, a.priority_level_code, a.priority_level_name,a.gw_push_status + a.update_by, a.update_by_name, a.del_flag,a.out_order_number, a.business_order_no, a.order_type_code, a.order_type_name, a.priority_level_code, a.priority_level_name diff --git a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml index 82c558b28..3c57d6b8f 100644 --- a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml @@ -26,7 +26,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -34,7 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.shelf_order_id, a.organization_id, a.organization_name, a.top_organization_id, a.in_order_number, a.receipt_order_number,a.receipt_task_number, a.shelf_order_number,a.status, a.receipt_quantity, a.shelves_quantity, a.material_quantity, a.shelves_material_quantity, a.abnormal,a.task_distribution, a.task_distribution_time, a.operators_by, a.remark, a.create_time, a.create_by, - a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag,a.gw_push_status + a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag From b7335b33fb04c3924a543ade86ada679e60aeafd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 25 May 2026 20:04:29 +0800 Subject: [PATCH 193/418] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2=E6=8A=A5=E9=94=99;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todo/ReservationMaterialInventoryDO.java | 8 + .../todo/ReservationMaterialInventoryDTO.java | 8 + .../IReservationStockInOrderService.java | 11 + .../listener/DeliveryExcelListener.java | 210 ++++++++++++++++++ .../ReservationStockInOrderImpl.java | 36 +++ .../repository/vo/CustomerDeliveryDetail.java | 26 +++ .../repository/vo/DeliveryDataDTO.java | 18 ++ .../repository/vo/DeliveryHeader.java | 33 +++ .../repository/vo/ProductDetail.java | 19 ++ .../ReservationStockInOrderApi.java | 27 +++ 10 files changed, 396 insertions(+) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/DeliveryExcelListener.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/CustomerDeliveryDetail.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/DeliveryDataDTO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/DeliveryHeader.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/ProductDetail.java diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/ReservationMaterialInventoryDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/ReservationMaterialInventoryDO.java index fcd0afe63..8903744e3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/ReservationMaterialInventoryDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/ReservationMaterialInventoryDO.java @@ -243,4 +243,12 @@ public class ReservationMaterialInventoryDO extends MaterialBaseDO { @ApiModelProperty("LOT编号") @Excel(name = "LOT编号") private String lotNumber; + + @ApiModelProperty("入库时间 ") + @Excel(name = "入库时间 ") + private String createTimeStart; + + @ApiModelProperty("入库时间 ") + @Excel(name = "入库时间 ") + private String createTimeEnd; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/ReservationMaterialInventoryDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/ReservationMaterialInventoryDTO.java index 1a5521eaa..7f152c98b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/ReservationMaterialInventoryDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/ReservationMaterialInventoryDTO.java @@ -184,4 +184,12 @@ public class ReservationMaterialInventoryDTO extends MaterialBaseDTO { @Excel(name = "冻结数量大于0条件") private String greaterThanFreezeQuantity; + @ApiModelProperty("入库时间 ") + @Excel(name = "入库时间 ") + private String createTimeStart; + + @ApiModelProperty("入库时间 ") + @Excel(name = "入库时间 ") + private String createTimeEnd; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java index 1f19dc33e..eca6f3453 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java @@ -5,6 +5,8 @@ import com.mhd.oms.domain.reservationInMaterialDetail.repository.po.ReservationI import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder; import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryDataDTO; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -45,4 +47,13 @@ public interface IReservationStockInOrderService extends IService queryNoticePrint(ReservationStockInOrderDO stockInOrderDO); List queryNoticePrintDetail(ReservationStockInOrderDO stockInOrderDTO); + + /** + * 解析Excel文件并获取出库数据 + * @param file Excel文件 + * @param sheetName 工作表名称(出库导入/参考数据) + * @return 出库数据DTO + * @throws Exception 解析异常 + */ + DeliveryDataDTO parseExcelFile(MultipartFile file, String sheetName) throws Exception; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/DeliveryExcelListener.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/DeliveryExcelListener.java new file mode 100644 index 000000000..cd905cc84 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/DeliveryExcelListener.java @@ -0,0 +1,210 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.listener; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.excel.exception.ExcelDataConvertException; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.CustomerDeliveryDetail; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryHeader; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.ProductDetail; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Excel解析监听器 + */ +public class DeliveryExcelListener extends AnalysisEventListener { + private static final Logger LOGGER = LoggerFactory.getLogger(DeliveryExcelListener.class); + + // 数据存储 + private DeliveryHeader deliveryHeader = new DeliveryHeader(); + private List productDetailList = new ArrayList<>(); + private List customerDeliveryDetailList = new ArrayList<>(); + + // 解析状态标记 + private boolean isProductDetail = false; // 是否在解析货品明细 + private boolean isCustomerDetail = false; // 是否在解析客户配送明细 + + @Override + public void invoke(Object data, AnalysisContext context) { + try { + // 将数据转为数组(Excel行数据) + Object[] rowData = (Object[]) data; + + // 1. 解析表头信息(第1行) + if (context.readRowHolder().getRowIndex() == 0) { + parseHeaderInfo(rowData); + } + // 2. 识别数据区域(根据关键字判断) + else if (context.readRowHolder().getRowIndex() == 1) { + if (rowData[0] != null && "货品明细".equals(rowData[0].toString().trim())) { + isProductDetail = true; + isCustomerDetail = false; + } + } + else if (context.readRowHolder().getRowIndex() == 7) { + // 解析纪录合共(第8行,索引为7) + parseTotalRecord(rowData); + } + else if (context.readRowHolder().getRowIndex() == 8) { + if (rowData[0] != null && "客户配送明细".equals(rowData[0].toString().trim())) { + isProductDetail = false; + isCustomerDetail = true; + } + } + else if (context.readRowHolder().getRowIndex() == 30) { + // 解析发票张数(第31行,索引为30) + parseInvoiceCount(rowData); + } + // 3. 解析货品明细(第4-7行,索引3-6) + else if (isProductDetail && context.readRowHolder().getRowIndex() >= 3 && context.readRowHolder().getRowIndex() <= 6) { + parseProductDetail(rowData); + } + // 4. 解析客户配送明细(第11-30行,索引10-29) + else if (isCustomerDetail && context.readRowHolder().getRowIndex() >= 10 && context.readRowHolder().getRowIndex() <= 29) { + parseCustomerDeliveryDetail(rowData); + } + + } catch (ExcelDataConvertException e) { + LOGGER.error("Excel数据转换异常,行号:{},列号:{}", + context.readRowHolder().getRowIndex() + 1, + e.getColumnIndex() + 1); + } catch (Exception e) { + LOGGER.error("Excel解析异常,行号:{}", + context.readRowHolder().getRowIndex() + 1, e); + } + } + + /** + * 解析表头信息(第1行) + */ + private void parseHeaderInfo(Object[] rowData) { + // 送货日期(第2列,索引1) + if (rowData[1] != null) { + deliveryHeader.setDeliveryDate((Date) rowData[1]); + } + // 送货线号(第4列,索引3) + if (rowData[3] != null) { + deliveryHeader.setDeliveryLineNo(Integer.parseInt(rowData[3].toString())); + } + // 车次(第6列,索引5) + if (rowData[5] != null) { + deliveryHeader.setTrainNumber(Integer.parseInt(rowData[5].toString())); + } + } + + /** + * 解析纪录合共(第8行) + */ + private void parseTotalRecord(Object[] rowData) { + // 纪录合共-货品总数量(第2列,索引1) + if (rowData[1] != null) { + deliveryHeader.setTotalRecordCount(Integer.parseInt(rowData[1].toString())); + } + // 总箱数(第5列,索引4) + if (rowData[4] != null) { + deliveryHeader.setTotalBoxCount(Integer.parseInt(rowData[4].toString())); + } + // 总支数(第6列,索引5) + if (rowData[5] != null) { + deliveryHeader.setTotalPieceCount(Integer.parseInt(rowData[5].toString())); + } + } + + /** + * 解析发票张数(第31行) + */ + private void parseInvoiceCount(Object[] rowData) { + // 发票张数(第2列,索引1) + if (rowData[1] != null) { + deliveryHeader.setInvoiceCount(Integer.parseInt(rowData[1].toString())); + } + // 小计-总箱数(第5列,索引4) + if (rowData[4] != null) { + deliveryHeader.setSubtotalBoxCount(Integer.parseInt(rowData[4].toString())); + } + // 小计-总支数(第6列,索引5) + if (rowData[5] != null) { + deliveryHeader.setSubtotalPieceCount(Integer.parseInt(rowData[5].toString())); + } + // 小计-总金额(第7列,索引6) + if (rowData[6] != null) { + deliveryHeader.setSubtotalAmount(new BigDecimal(rowData[6].toString())); + } + } + + /** + * 解析货品明细 + */ + private void parseProductDetail(Object[] rowData) { + ProductDetail productDetail = new ProductDetail(); + // 货品编号(第1列,索引0) + if (rowData[0] != null) { + productDetail.setProductCode(rowData[0].toString().trim()); + } + // 货品简称(第2列,索引1) + if (rowData[1] != null) { + productDetail.setProductName(rowData[1].toString().trim()); + } + // 箱数(第5列,索引4) + if (rowData[4] != null) { + productDetail.setBoxCount(Integer.parseInt(rowData[4].toString())); + } + // 支数(第6列,索引5) + if (rowData[5] != null) { + productDetail.setPieceCount(Integer.parseInt(rowData[5].toString())); + } + productDetailList.add(productDetail); + } + + /** + * 解析客户配送明细 + */ + private void parseCustomerDeliveryDetail(Object[] rowData) { + CustomerDeliveryDetail customerDetail = new CustomerDeliveryDetail(); + // 类别(第1列,索引0) + if (rowData[0] != null) { + customerDetail.setCategory(rowData[0].toString().trim()); + } + // 发票编号(第2列,索引1) + if (rowData[1] != null) { + customerDetail.setInvoiceNo(rowData[1].toString().trim()); + } + // 客户编号(第3列,索引2) + if (rowData[2] != null) { + customerDetail.setCustomerCode(rowData[2].toString().trim()); + } + // 客户名称(第4列,索引3) + if (rowData[3] != null) { + customerDetail.setCustomerName(rowData[3].toString().trim()); + } + // 箱数(第5列,索引4) + if (rowData[4] != null) { + customerDetail.setBoxCount(Integer.parseInt(rowData[4].toString())); + } + // 包数(第6列,索引5) + if (rowData[5] != null) { + customerDetail.setPackageCount(Integer.parseInt(rowData[5].toString())); + } + // 金额(第7列,索引6) + if (rowData[6] != null) { + customerDetail.setAmount(new BigDecimal(rowData[6].toString())); + } + customerDeliveryDetailList.add(customerDetail); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + LOGGER.info("Excel解析完成,共解析货品明细:{}条,客户配送明细:{}条", + productDetailList.size(), customerDeliveryDetailList.size()); + } + + // Getter方法(供Service层获取解析后的数据) + public DeliveryHeader getDeliveryHeader() { return deliveryHeader; } + public List getProductDetailList() { return productDetailList; } + public List getCustomerDeliveryDetailList() { return customerDeliveryDetailList; } +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java index 12698bdcc..c84825059 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java @@ -1,17 +1,22 @@ package com.mhd.oms.domain.reservationStockInOrder.repository.persistence; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mhd.oms.domain.reservationInMaterialDetail.repository.po.ReservationInMaterialDetailPO; import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder; import com.mhd.oms.domain.reservationStockInOrder.repository.facade.IReservationStockInOrderService; +import com.mhd.oms.domain.reservationStockInOrder.repository.listener.DeliveryExcelListener; import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper; import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryDataDTO; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import java.io.InputStream; import java.util.ArrayList; import java.util.List; @@ -93,4 +98,35 @@ public class ReservationStockInOrderImpl extends ServiceImpl productDetailList; + // 客户配送明细列表 + private List customerDeliveryDetailList; + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/DeliveryHeader.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/DeliveryHeader.java new file mode 100644 index 000000000..40a12dcfc --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/DeliveryHeader.java @@ -0,0 +1,33 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.vo; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 出库表头信息(包含送货日期、纪录合共、发票张数等) + */ +@Data +public class DeliveryHeader { + // 送货日期 + private Date deliveryDate; + // 送货线号 + private Integer deliveryLineNo; + // 车次 + private Integer trainNumber; + // 纪录合共-货品总数量 + private Integer totalRecordCount; + // 纪录合共-总箱数 + private Integer totalBoxCount; + // 纪录合共-总支数 + private Integer totalPieceCount; + // 发票张数 + private Integer invoiceCount; + // 小计-总箱数 + private Integer subtotalBoxCount; + // 小计-总支数 + private Integer subtotalPieceCount; + // 小计-总金额 + private BigDecimal subtotalAmount; + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/ProductDetail.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/ProductDetail.java new file mode 100644 index 000000000..7fa7d8937 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/ProductDetail.java @@ -0,0 +1,19 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.vo; + +import lombok.Data; + +/** + * 货品明细实体类 + */ +@Data +public class ProductDetail { + // 货品编号 + private String productCode; + // 货品简称 + private String productName; + // 箱数 + private Integer boxCount; + // 支数 + private Integer pieceCount; + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java index a77bf2ea1..7030310d2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java @@ -4,9 +4,11 @@ import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.domain.reservationInMaterialDetail.repository.po.ReservationInMaterialDetailPO; +import com.mhd.oms.domain.reservationStockInOrder.repository.facade.IReservationStockInOrderService; import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDTO; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryDataDTO; import com.mhd.oms.domain.reservationStockInOrder.service.ReservationStockInOrderApplicationService; import com.mhd.oms.domain.reservationStockInOrder.service.ReservationStockInOrderAssembler; import com.mhd.system.api.domain.InMaterialDetail; @@ -15,6 +17,8 @@ import com.mhd.system.api.domain.StockInOrder; import com.mhd.system.api.domain.StockInOrderTZPD; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -37,6 +41,8 @@ public class ReservationStockInOrderApi extends BaseController { @Resource private ReservationStockInOrderAssembler stockInOrderAssembler; + @Autowired + private IReservationStockInOrderService reservationStockInOrderService; /** * 分页查询入库单列表 @@ -183,4 +189,25 @@ public class ReservationStockInOrderApi extends BaseController { return AjaxResult.success(result); } + + /** + * 上传并解析Excel文件 + * @param file Excel文件 + * @param sheetName 工作表名称(出库导入/参考数据) + * @return 解析后的出库数据 + */ + @PostMapping("/parseExcel") + public ResponseEntity parseExcel( + @RequestParam("file") MultipartFile file, + @RequestParam("sheetName") String sheetName) { + try { + DeliveryDataDTO deliveryDataDTO = reservationStockInOrderService.parseExcelFile(file, sheetName); + return new ResponseEntity<>(deliveryDataDTO, HttpStatus.OK); + } catch (IllegalArgumentException e) { + return new ResponseEntity<>(HttpStatus.BAD_REQUEST); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + } \ No newline at end of file From 5f6cc41e6b717d3dea4449632bf885ae6f4aaba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 25 May 2026 20:22:56 +0800 Subject: [PATCH 194/418] =?UTF-8?q?.31=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-bi/src/main/resources/bootstrap.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd-bi/src/main/resources/bootstrap.yml b/mhd-bi/src/main/resources/bootstrap.yml index 1c5c1f1b7..cdf638e45 100644 --- a/mhd-bi/src/main/resources/bootstrap.yml +++ b/mhd-bi/src/main/resources/bootstrap.yml @@ -14,19 +14,19 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # server-addr: 10.102.192.5:6848 # username: nacos # password: manhuoda@2023 #线上正式环境 -# server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 # username: nacos # password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.30:6848 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.31:6848 # username: nacos # password: manhuoda@2023 #线上正式环境 From 4b22e56b543995f389893f262040a9b570c5f6fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 25 May 2026 20:57:25 +0800 Subject: [PATCH 195/418] =?UTF-8?q?31=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-bi/src/main/resources/bootstrap.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd-bi/src/main/resources/bootstrap.yml b/mhd-bi/src/main/resources/bootstrap.yml index cdf638e45..fa1d95e1a 100644 --- a/mhd-bi/src/main/resources/bootstrap.yml +++ b/mhd-bi/src/main/resources/bootstrap.yml @@ -20,15 +20,15 @@ spring: # password: manhuoda@2023 #线上正式环境 server-addr: 10.102.192.31:6848 -# username: nacos -# password: manhuoda@2023 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 server-addr: 10.102.192.31:6848 -# username: nacos -# password: manhuoda@2023 + username: nacos + password: manhuoda@2023 #线上正式环境 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties From d46c8e7439f8f2446d48741b1942dd8581c6f7b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 26 May 2026 14:48:24 +0800 Subject: [PATCH 196/418] =?UTF-8?q?=E8=B7=AF=E7=BA=BF=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../facadeApi/lineManagement/LineManagementApi.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/lineManagement/LineManagementApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/lineManagement/LineManagementApi.java index ce852b3c5..f4fb13d45 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/lineManagement/LineManagementApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/lineManagement/LineManagementApi.java @@ -75,10 +75,10 @@ public class LineManagementApi extends BaseController{ * 批量删除路线管理 */ @ApiOperation("批量删除路线管理") - @DeleteMapping("/deleteByIds/{leaseIds}") - public AjaxResult delete(@PathVariable Long[] leaseIds) + @DeleteMapping("/deleteByIds/{ids}") + public AjaxResult delete(@PathVariable Long[] ids) { - return toAjax(lineManagementService.delete(leaseIds)); + return toAjax(lineManagementService.delete(ids)); } /** From 77c57dcfc60138f134555dfb4ef8284c06e024c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 26 May 2026 16:10:15 +0800 Subject: [PATCH 197/418] =?UTF-8?q?OMS=E4=B8=8B=E5=8F=91=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/StockInOrderDomainService.java | 76 +++++++++++++++++++ .../service/StockOutOrderDomainService.java | 71 +++++++++++++++++ 2 files changed, 147 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java index 0ba442b6d..001b832b4 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java @@ -359,12 +359,88 @@ public class StockInOrderDomainService { } } + private static final int AUDIT_STATUS_PASS = 3; + private static final int ORDER_STATUS_AUDITED = 2; + private static final String OMS_AUTO_AUDIT_REMARK = "OMS下发自动审核"; + public void omsOrderAdd(StockInOrder stockInOrder) { stockInOrderService.save(stockInOrder); } + @Transactional(rollbackFor = Exception.class) public void omsOrderAddDetail(List inMaterialDetails) { + if (CollectionUtils.isEmpty(inMaterialDetails)) { + return; + } materialDetailService.saveBatch(inMaterialDetails); + autoAuditOmsInOrder(inMaterialDetails.get(0).getInOrderNumber()); + } + + /** + * OMS下发入库单明细保存后自动审核通过(生成收货单并更新审核状态) + */ + private void autoAuditOmsInOrder(String inOrderNumber) { + if (StringUtils.isEmpty(inOrderNumber)) { + return; + } + StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper().lambda() + .eq(StockInOrder::getInOrderNumber, inOrderNumber) + .eq(StockInOrder::getDelFlag, 1) + .last("LIMIT 1")); + if (stockInOrder == null || AUDIT_STATUS_PASS == stockInOrder.getAuditStatus()) { + return; + } + StockInOrderDO auditDO = new StockInOrderDO(); + auditDO.setInOrderIds(Collections.singletonList(stockInOrder.getInOrderId())); + auditDO.setAuditStatus(AUDIT_STATUS_PASS); + auditDO.setAuditRemark(OMS_AUTO_AUDIT_REMARK); + auditApprove(auditDO); + Long auditBy = resolveAuditUserId(stockInOrder.getCreateBy()); + String auditByName = resolveAuditUserName(stockInOrder.getCreateByName()); + Date now = new Date(); + stockInOrderService.update(null, new UpdateWrapper().lambda() + .set(StockInOrder::getStatus, ORDER_STATUS_AUDITED) + .set(StockInOrder::getAuditStatus, AUDIT_STATUS_PASS) + .set(StockInOrder::getAuditRemark, OMS_AUTO_AUDIT_REMARK) + .set(StockInOrder::getAuditBy, auditBy) + .set(StockInOrder::getAuditByName, auditByName) + .set(StockInOrder::getAuditTime, now) + .set(StockInOrder::getUpdateBy, auditBy) + .set(StockInOrder::getUpdateByName, auditByName) + .set(StockInOrder::getUpdateTime, now) + .eq(StockInOrder::getInOrderId, stockInOrder.getInOrderId())); + } + + private Long resolveAuditUserId(Long orderCreateBy) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null && loginUser.getUserid() != null) { + return loginUser.getUserid(); + } + } catch (Exception e) { + log.debug("OMS自动审核未获取到登录用户,使用单据创建人: {}", e.getMessage()); + } + return orderCreateBy != null ? orderCreateBy : 0L; + } + + private String resolveAuditUserName(String orderCreateByName) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null) { + if (loginUser.getUserPo() != null && StringUtils.isNotEmpty(loginUser.getUserPo().getUserName())) { + return loginUser.getUserPo().getUserName(); + } + if (StringUtils.isNotEmpty(loginUser.getRealname())) { + return loginUser.getRealname(); + } + if (StringUtils.isNotEmpty(loginUser.getUsername())) { + return loginUser.getUsername(); + } + } + } catch (Exception e) { + log.debug("OMS自动审核未获取到登录用户姓名,使用单据创建人: {}", e.getMessage()); + } + return StringUtils.isNotEmpty(orderCreateByName) ? orderCreateByName : "OMS系统自动审核"; } /** diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java index 9ca8f0c1b..5f0b02e04 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java @@ -1704,12 +1704,83 @@ public class StockOutOrderDomainService { } + private static final int AUDIT_STATUS_PASS = 3; + private static final int ORDER_STATUS_AUDITED = 2; + private static final String OMS_AUTO_AUDIT_REMARK = "OMS下发自动审核"; + public void omsOrderAdd(StockOutOrder stockOutOrder) { stockOutOrderService.save(stockOutOrder); } + @Transactional(rollbackFor = Exception.class) public void omsOrderAddDetail(List outMaterialDetails) { + if (CollectionUtils.isEmpty(outMaterialDetails)) { + return; + } outMaterialDetailService.saveBatch(outMaterialDetails); + autoAuditOmsOutOrder(outMaterialDetails.get(0).getOutOrderNumber()); + } + + /** + * OMS下发出库单明细保存后自动审核通过 + */ + private void autoAuditOmsOutOrder(String outOrderNumber) { + if (StringUtils.isEmpty(outOrderNumber)) { + return; + } + StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper().lambda() + .eq(StockOutOrder::getOutOrderNumber, outOrderNumber) + .eq(StockOutOrder::getDelFlag, 1) + .last("LIMIT 1")); + if (stockOutOrder == null || AUDIT_STATUS_PASS == stockOutOrder.getAuditStatus()) { + return; + } + Long auditBy = resolveAuditUserId(stockOutOrder.getCreateBy()); + String auditByName = resolveAuditUserName(stockOutOrder.getCreateByName()); + Date now = new Date(); + stockOutOrderService.update(null, new UpdateWrapper().lambda() + .set(StockOutOrder::getStatus, ORDER_STATUS_AUDITED) + .set(StockOutOrder::getAuditStatus, AUDIT_STATUS_PASS) + .set(StockOutOrder::getAuditRemark, OMS_AUTO_AUDIT_REMARK) + .set(StockOutOrder::getAuditBy, auditBy) + .set(StockOutOrder::getAuditByName, auditByName) + .set(StockOutOrder::getAuditTime, now) + .set(StockOutOrder::getUpdateBy, auditBy) + .set(StockOutOrder::getUpdateByName, auditByName) + .set(StockOutOrder::getUpdateTime, now) + .eq(StockOutOrder::getOutOrderId, stockOutOrder.getOutOrderId())); + } + + private Long resolveAuditUserId(Long orderCreateBy) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null && loginUser.getUserid() != null) { + return loginUser.getUserid(); + } + } catch (Exception e) { + log.debug("OMS自动审核未获取到登录用户,使用单据创建人: {}", e.getMessage()); + } + return orderCreateBy != null ? orderCreateBy : 0L; + } + + private String resolveAuditUserName(String orderCreateByName) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null) { + if (loginUser.getUserPo() != null && StringUtils.isNotEmpty(loginUser.getUserPo().getUserName())) { + return loginUser.getUserPo().getUserName(); + } + if (StringUtils.isNotEmpty(loginUser.getRealname())) { + return loginUser.getRealname(); + } + if (StringUtils.isNotEmpty(loginUser.getUsername())) { + return loginUser.getUsername(); + } + } + } catch (Exception e) { + log.debug("OMS自动审核未获取到登录用户姓名,使用单据创建人: {}", e.getMessage()); + } + return StringUtils.isNotEmpty(orderCreateByName) ? orderCreateByName : "OMS系统自动审核"; } public List queryOutStockNoticePrint(StockOutOrderDTO stockOutOrderDTO) { From fc87d5cefbbb16b2a3c08c082363dae6633a651f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 26 May 2026 17:18:55 +0800 Subject: [PATCH 198/418] =?UTF-8?q?=E6=8B=A3=E8=B4=A7=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E4=B8=8B=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/factory/RemoteOmsFeignFallbackFactory.java | 8 ++++---- .../service/StockInOrderDomainService.java | 3 ++- .../service/StockOutOrderDomainService.java | 8 +++++++- .../waveOrder/service/WaveOrderDomainService.java | 10 +++++++++- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteOmsFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteOmsFeignFallbackFactory.java index c53068c61..86cf16e0c 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteOmsFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteOmsFeignFallbackFactory.java @@ -54,10 +54,10 @@ public class RemoteOmsFeignFallbackFactory implements FallbackFactory pickingOrderNumbers = pickingOrderDOList.stream() + .map(PickingOrderDO::getPickingOrderNumber) + .filter(StringUtils::isNotBlank) + .collect(Collectors.toList()); + pickingOrderDomainService.autoTaskDistributionAfterGenPickingOrders(pickingOrderNumbers); + } return inserted; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/waveOrder/service/WaveOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/waveOrder/service/WaveOrderDomainService.java index d68e6eaf3..ab5ebd551 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/waveOrder/service/WaveOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/waveOrder/service/WaveOrderDomainService.java @@ -244,7 +244,15 @@ public class WaveOrderDomainService { pickingOrderDO.setMaterialDetailList(pickingMaterialDetailList); pickingOrderDOList.add(pickingOrderDO); }); - return pickingOrderDomainService.batchInsert(pickingOrderDOList); + Boolean inserted = pickingOrderDomainService.batchInsert(pickingOrderDOList); + if (Boolean.TRUE.equals(inserted)) { + List pickingOrderNumbers = pickingOrderDOList.stream() + .map(PickingOrderDO::getPickingOrderNumber) + .filter(com.mhd.common.core.utils.StringUtils::isNotBlank) + .collect(Collectors.toList()); + pickingOrderDomainService.autoTaskDistributionAfterGenPickingOrders(pickingOrderNumbers); + } + return inserted; } /** From 531901f0ff03e8baf8ff314de621cfbb4bc25470 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Tue, 26 May 2026 17:55:14 +0800 Subject: [PATCH 199/418] =?UTF-8?q?=E6=8E=A8=E9=80=81=E8=BF=9B=E5=8F=A3?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mhd/oms/domain/gwLog/entity/GwLog.java | 3 +++ .../ReservationStockInOrderApplicationService.java | 9 +++++---- .../ReservationStockInOrderApi.java | 11 +++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java index e44550fe3..490aad17b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/gwLog/entity/GwLog.java @@ -61,4 +61,7 @@ public class GwLog implements Serializable { @ApiModelProperty("删除标记:1-正常,0-删除") private Integer delFlag; + +// @ApiModelProperty("推送人姓名") +// private String pushByName; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java index 22e790b04..c1b9671c9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java @@ -1987,7 +1987,7 @@ public class ReservationStockInOrderApplicationService { gwStockInOrder.setOrderList(orderList); GwLog gwLog = new GwLog(); - gwLog.setType("企业国别"); + gwLog.setType("保税仓-进口订单"); gwLog.setBusinessId(id); gwLog.setRequestBody(com.alibaba.fastjson.JSONObject.toJSONString(gwStockInOrder)); gwLog.setResponseBody(""); @@ -1997,6 +1997,7 @@ public class ReservationStockInOrderApplicationService { gwLog.setTopOrganizationId(topOrganizationId); gwLog.setOrganizationName(organizationName); gwLog.setCreateBy(pushBy); +// gwLog.setPushByName(pushByName); gwLog.setCreateTime(new Date()); gwLog.setDelFlag(1); gwLogMapper.insert(gwLog); @@ -2025,7 +2026,7 @@ public class ReservationStockInOrderApplicationService { gwLog.setErrorMsg(responseString); updatePushStatus(id, 4, new Date(), pushBy,pushByName); failCount++; - failMsg.append("erpCountryCode:").append(id).append("失败;"); + failMsg.append("入库单id:").append(id).append("失败;"); } gwLogMapper.updateById(gwLog); response.close(); @@ -2036,8 +2037,8 @@ public class ReservationStockInOrderApplicationService { gwLogMapper.updateById(gwLog); updatePushStatus(id, 4, new Date(), pushBy,pushByName); failCount++; - failMsg.append("erpCountryCode:").append(id).append("异常:").append(e.getMessage()).append(";"); - log.error("企业国别推送异常: id={}, error={}", id, e.getMessage()); + failMsg.append("id:").append(id).append("异常:").append(e.getMessage()).append(";"); + log.error("进口订单推送异常: id={}, error={}", id, e.getMessage()); } finally { try { httpClient.close(); diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java index 7030310d2..907f6e3c2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java @@ -210,4 +210,15 @@ public class ReservationStockInOrderApi extends BaseController { } } + + @ApiOperation("批量推送") + @PostMapping("/batchPush") + public AjaxResult batchPush(@RequestBody List idList){ + if(idList == null || idList.isEmpty()){ + return AjaxResult.error("没有数据需要推送"); + } + return stockInOrderApplicationService.batchPush(idList); + + } + } \ No newline at end of file From 591763f99f21b4502191ad42db5a5496d1f9fdb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Wed, 27 May 2026 13:48:52 +0800 Subject: [PATCH 200/418] =?UTF-8?q?=E8=B0=B7=E4=B8=B0=E7=BB=B4=E4=BB=96?= =?UTF-8?q?=E5=A5=B6oms=E6=B5=81=E7=A8=8B=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mhd/system/api/domain/TmsOrderAddDTO.java | 5 + ...sinessDocumentOrderApplicationService.java | 55 ++++ .../entity/BusinessDeliveryDetailsLink.java | 65 +++++ .../dto/BusinessDeliveryDetailsLinkDTO.java | 72 +++++ .../IBusinessDeliveryDetailsLinkService.java | 62 +++++ .../BusinessDeliveryDetailsLinkMapper.java | 22 ++ .../BusinessDeliveryDetailsLinkImpl.java | 143 ++++++++++ .../po/BusinessDeliveryDetailsLinkPO.java | 71 +++++ .../todo/BusinessDeliveryDetailsLinkDO.java | 76 ++++++ ...inessDeliveryDetailsLinkDomainService.java | 80 ++++++ .../entity/BusinessDocumentOrder.java | 11 + .../mapper/BusinessDocumentOrderMapper.java | 9 + .../BusinessDocumentOrderImpl.java | 250 +++++++++++++++--- .../po/BusinessDocumentOrderPO.java | 3 + .../todo/BusinessDocumentOrderDO.java | 7 + .../BusinessDocumentOrderDomainService.java | 55 ++++ .../executeOrder/entity/ExecuteOrder.java | 7 + .../repository/po/ExecuteOrderPO.java | 10 + .../repository/todo/ExecuteOrderDO.java | 7 + .../BusinessDocumentOrderDTO.java | 7 + .../BusinessDocumentOrderApi.java | 7 + .../BusinessDeliveryDetailsLinkMapper.xml | 101 +++++++ .../BusinessDocumentOrderMapper.xml | 12 +- 23 files changed, 1105 insertions(+), 32 deletions(-) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/entity/BusinessDeliveryDetailsLink.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/dto/BusinessDeliveryDetailsLinkDTO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/facade/IBusinessDeliveryDetailsLinkService.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/mapper/BusinessDeliveryDetailsLinkMapper.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/persistence/BusinessDeliveryDetailsLinkImpl.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/po/BusinessDeliveryDetailsLinkPO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/todo/BusinessDeliveryDetailsLinkDO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/service/BusinessDeliveryDetailsLinkDomainService.java create mode 100644 mhd_oms/src/main/resources/mapper/businessDeliveryDetailsLink/BusinessDeliveryDetailsLinkMapper.xml diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/TmsOrderAddDTO.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/TmsOrderAddDTO.java index f528bbbe3..9a6e121ba 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/TmsOrderAddDTO.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/TmsOrderAddDTO.java @@ -494,4 +494,9 @@ TmsOrderAddDTO implements Serializable { @ApiModelProperty("当前登录用户") private LoginUser loginUser; + + + @ApiModelProperty("发票编号") + @Excel(name = "发票编号") + private String invoiceNumber; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index 182e05e6d..5a0bccfcb 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -4,6 +4,9 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.common.core.web.domain.AjaxResult; +import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper; import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti; import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder; import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper; @@ -13,6 +16,8 @@ import com.mhd.oms.domain.businessDocumentOrder.service.BusinessDocumentOrderDom import com.mhd.common.security.utils.SecurityUtils; import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount; import com.mhd.oms.domain.businessOrderAccount.repository.mapper.BusinessOrderAccountMapper; +import com.mhd.oms.domain.executeOrder.entity.ExecuteOrder; +import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper; import com.mhd.oms.domain.gwLog.entity.GwLog; import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO; @@ -66,6 +71,9 @@ public class BusinessDocumentOrderApplicationService { @Resource private GwLogMapper gwLogMapper; + @Autowired + private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper; + private ExecuteOrderMapper executeOrderMapper; /** * 分页查询【请填写功能名称】列表 @@ -421,4 +429,51 @@ public class BusinessDocumentOrderApplicationService { log.error("删改单申请更新状态失败失败: id={}, error={}", businessDocumentOrderDTO.getId(), e.getMessage()); } } + + public List getDeliveryDetail(Long id) { + // 查询配送明细列表 + List businessDeliveryDetailsLinks = businessDeliveryDetailsLinkMapper.selectList( + new LambdaQueryWrapper() + .eq(BusinessDeliveryDetailsLink::getOrderId, id) + .eq(BusinessDeliveryDetailsLink::getDelFlag, 1) + ); + + // 转换为DTO列表 + List businessDeliveryDetailsLinkDTOS = new ArrayList<>(); + + for (BusinessDeliveryDetailsLink businessDeliveryDetailsLink : businessDeliveryDetailsLinks) { + // 将Entity转换为DTO + BusinessDeliveryDetailsLinkDTO dto = new BusinessDeliveryDetailsLinkDTO(); + BeanUtils.copyProperties(businessDeliveryDetailsLink, dto); + + // 获取子单信息 + if (businessDeliveryDetailsLink.getSubOrderId() != null) { + BusinessDocumentOrder businessDocumentOrder = businessDocumentOrderMapper.selectById(businessDeliveryDetailsLink.getSubOrderId()); + if (businessDocumentOrder != null) { + String goodsNumber = businessDocumentOrder.getGoodsNumber(); + ExecuteOrder executeOrder = executeOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(ExecuteOrder::getBusinessDocumentNumber, goodsNumber) + .eq(ExecuteOrder::getDelFlag, 1) + ); + if (executeOrder != null) { + String goodsNumber1 = executeOrder.getGoodsNumber(); + + // 获取TMS订单ID + String tmsOrderId = businessDocumentOrderMapper.getTmsOrderInfo(goodsNumber1); + if (tmsOrderId != null) { + // 获取运单详情 + com.mhd.system.api.domain.TmsTransportNote tmsTransportNote = businessDocumentOrderMapper.getTmsTransportNote(tmsOrderId); + if (tmsTransportNote != null) { + dto.setTmsTransportNote(tmsTransportNote); + } + } + } + } + } + + businessDeliveryDetailsLinkDTOS.add(dto); + } + + return businessDeliveryDetailsLinkDTOS; + } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/entity/BusinessDeliveryDetailsLink.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/entity/BusinessDeliveryDetailsLink.java new file mode 100644 index 000000000..aa4930124 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/entity/BusinessDeliveryDetailsLink.java @@ -0,0 +1,65 @@ +package com.mhd.oms.domain.businessDeliveryDetailsLink.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mhd.common.core.web.domain.BaseEntity; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author: brb + * @description: + * @create: 2026-05-26 10:50 + */ +@Data +@TableName("business_delivery_details_link") +public class BusinessDeliveryDetailsLink extends BaseVOEntity { + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "更新时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @ApiModelProperty(value = "业务单id") + private Long orderId; + + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + + @ApiModelProperty(value = "子单id") + private String subOrderId; + + @ApiModelProperty(value = "删除标志") + private Integer delFlag; + +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/dto/BusinessDeliveryDetailsLinkDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/dto/BusinessDeliveryDetailsLinkDTO.java new file mode 100644 index 000000000..041cadbb2 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/dto/BusinessDeliveryDetailsLinkDTO.java @@ -0,0 +1,72 @@ +package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto; + +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import com.mhd.system.api.domain.TmsTransportNote; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 业务配送明细关联DTO对象 + * + * @author gen + * @date 2026-05-26 + */ +@Data +public class BusinessDeliveryDetailsLinkDTO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("创建时间") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty("更新时间") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @ApiModelProperty("业务单id") + @Excel(name = "业务单id") + private Long orderId; + + @ApiModelProperty("类别") + @Excel(name = "类别") + private String category; + + @ApiModelProperty("发票编号") + @Excel(name = "发票编号") + private String invoiceNumber; + + @ApiModelProperty("客户编号") + @Excel(name = "客户编号") + private String customerNumber; + + @ApiModelProperty("配送名称") + @Excel(name = "配送名称") + private String deliveryName; + + @ApiModelProperty("箱") + @Excel(name = "箱") + private Integer box; + + @ApiModelProperty("包") + @Excel(name = "包") + private Integer bag; + + @ApiModelProperty("金额") + @Excel(name = "金额") + private BigDecimal amount; + + @ApiModelProperty(value = "子单id") + private Long subOrderId; + + @ApiModelProperty("删除标志") + private Integer delFlag; + @ApiModelProperty("运输单信息") + private TmsTransportNote tmsTransportNote; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/facade/IBusinessDeliveryDetailsLinkService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/facade/IBusinessDeliveryDetailsLinkService.java new file mode 100644 index 000000000..a4c93182a --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/facade/IBusinessDeliveryDetailsLinkService.java @@ -0,0 +1,62 @@ +package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.facade; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po.BusinessDeliveryDetailsLinkPO; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo.BusinessDeliveryDetailsLinkDO; + +import java.util.List; + +/** + * 业务配送明细关联Service接口 + * + * @author gen + * @date 2026-05-26 + */ +public interface IBusinessDeliveryDetailsLinkService extends IService { + + /** + * 分页查询业务配送明细关联列表 + */ + List queryList(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO); + + /** + * 新增业务配送明细关联 + */ + Boolean insert(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO); + + /** + * 新增业务配送明细关联并返回实体 + */ + BusinessDeliveryDetailsLink insertReturnEntity(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO); + + /** + * 新增业务配送明细关联并返回主键ID + */ + Long insertReturnId(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO); + + /** + * 修改业务配送明细关联 + */ + Boolean update(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO); + + /** + * 批量删除业务配送明细关联 + */ + Boolean delete(Long[] ids); + + /** + * 查询业务配送明细关联详细信息 + */ + BusinessDeliveryDetailsLinkPO getInfo(Long id); + + /** + * 批量查询业务配送明细关联 + */ + List getInfo(List ids); + + /** + * 批量修改业务配送明细关联 + */ + Boolean batchUpdate(List businessDeliveryDetailsLinkDOS); +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/mapper/BusinessDeliveryDetailsLinkMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/mapper/BusinessDeliveryDetailsLinkMapper.java new file mode 100644 index 000000000..80d3e1341 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/mapper/BusinessDeliveryDetailsLinkMapper.java @@ -0,0 +1,22 @@ +package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po.BusinessDeliveryDetailsLinkPO; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo.BusinessDeliveryDetailsLinkDO; + +import java.util.List; + +/** + * 业务配送明细关联Mapper接口 + * + * @author gen + * @date 2026-05-26 + */ +public interface BusinessDeliveryDetailsLinkMapper extends BaseMapper { + + /** + * 查询业务配送明细关联列表 + */ + List queryList(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO); +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/persistence/BusinessDeliveryDetailsLinkImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/persistence/BusinessDeliveryDetailsLinkImpl.java new file mode 100644 index 000000000..efc1e4efa --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/persistence/BusinessDeliveryDetailsLinkImpl.java @@ -0,0 +1,143 @@ +package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.persistence; + +import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.common.core.exception.ServiceException; +import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.facade.IBusinessDeliveryDetailsLinkService; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po.BusinessDeliveryDetailsLinkPO; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo.BusinessDeliveryDetailsLinkDO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * 业务配送明细关联Service业务层处理 + * + * @author gen + * @date 2026-05-26 + */ +@Service +public class BusinessDeliveryDetailsLinkImpl extends ServiceImpl implements IBusinessDeliveryDetailsLinkService { + + @Autowired + private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper; + + /** + * 查询业务配送明细关联列表 + */ + @Override + public List queryList(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) { + return businessDeliveryDetailsLinkMapper.queryList(businessDeliveryDetailsLinkDO); + } + + /** + * 新增业务配送明细关联 + */ + @Override + public Boolean insert(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) { + BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink(); + BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink); + return this.save(businessDeliveryDetailsLink); + } + + /** + * 新增业务配送明细关联并返回实体 + */ + @Override + public BusinessDeliveryDetailsLink insertReturnEntity(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) { + BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink(); + BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink); + this.save(businessDeliveryDetailsLink); + return businessDeliveryDetailsLink; + } + + /** + * 新增业务配送明细关联并返回主键ID + */ + @Override + public Long insertReturnId(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) { + BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink(); + BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink); + this.save(businessDeliveryDetailsLink); + return businessDeliveryDetailsLink.getId(); + } + + /** + * 修改业务配送明细关联 + */ + @Override + public Boolean update(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) { + BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink(); + BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink); + return this.updateById(businessDeliveryDetailsLink); + } + + /** + * 批量删除业务配送明细关联 + */ + @Override + public Boolean delete(Long[] ids) { + if (ArrayUtil.isEmpty(ids)) { + throw new ServiceException("删除ID不能为空"); + } + List list = new ArrayList<>(); + for (Long id : ids) { + BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink(); + businessDeliveryDetailsLink.setId(id); + businessDeliveryDetailsLink.setDelFlag(2); + list.add(businessDeliveryDetailsLink); + } + return this.updateBatchById(list); + } + + /** + * 查询业务配送明细关联详细信息 + */ + @Override + public BusinessDeliveryDetailsLinkPO getInfo(Long id) { + BusinessDeliveryDetailsLink businessDeliveryDetailsLink = this.getById(id); + if (ObjectUtil.isNull(businessDeliveryDetailsLink)) { + throw new ServiceException("未查询到对应的业务配送明细关联信息"); + } + BusinessDeliveryDetailsLinkPO businessDeliveryDetailsLinkPO = new BusinessDeliveryDetailsLinkPO(); + BeanUtils.copyProperties(businessDeliveryDetailsLink, businessDeliveryDetailsLinkPO); + return businessDeliveryDetailsLinkPO; + } + + /** + * 批量查询业务配送明细关联 + */ + @Override + public List getInfo(List ids) { + List list = this.listByIds(ids); + List poList = new ArrayList<>(); + for (BusinessDeliveryDetailsLink businessDeliveryDetailsLink : list) { + BusinessDeliveryDetailsLinkPO businessDeliveryDetailsLinkPO = new BusinessDeliveryDetailsLinkPO(); + BeanUtils.copyProperties(businessDeliveryDetailsLink, businessDeliveryDetailsLinkPO); + poList.add(businessDeliveryDetailsLinkPO); + } + return poList; + } + + /** + * 批量修改业务配送明细关联 + */ + @Override + public Boolean batchUpdate(List businessDeliveryDetailsLinkDOS) { + List list = new ArrayList<>(); + for (BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO : businessDeliveryDetailsLinkDOS) { + BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink(); + BeanUtils.copyProperties(businessDeliveryDetailsLinkDO, businessDeliveryDetailsLink); + list.add(businessDeliveryDetailsLink); + } + return this.updateBatchById(list); + } +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/po/BusinessDeliveryDetailsLinkPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/po/BusinessDeliveryDetailsLinkPO.java new file mode 100644 index 000000000..8f28877e8 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/po/BusinessDeliveryDetailsLinkPO.java @@ -0,0 +1,71 @@ +package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po; + +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 业务配送明细关联PO对象(响应输出) + * + * @author gen + * @date 2026-05-26 + */ +@Data +@ApiModel(value = "业务配送明细关联对象", description = "业务配送明细关联响应对象") +public class BusinessDeliveryDetailsLinkPO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("创建时间") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty("更新时间") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @ApiModelProperty("业务单id") + @Excel(name = "业务单id") + private Long orderId; + + @ApiModelProperty("类别") + @Excel(name = "类别") + private String category; + + @ApiModelProperty("发票编号") + @Excel(name = "发票编号") + private String invoiceNumber; + + @ApiModelProperty("客户编号") + @Excel(name = "客户编号") + private String customerNumber; + + @ApiModelProperty("配送名称") + @Excel(name = "配送名称") + private String deliveryName; + + @ApiModelProperty("箱") + @Excel(name = "箱") + private Integer box; + + @ApiModelProperty("包") + @Excel(name = "包") + private Integer bag; + + @ApiModelProperty("金额") + @Excel(name = "金额") + private BigDecimal amount; + + @ApiModelProperty(value = "子单id") + private String subOrderId; + + @ApiModelProperty("删除标志") + private Integer delFlag; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/todo/BusinessDeliveryDetailsLinkDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/todo/BusinessDeliveryDetailsLinkDO.java new file mode 100644 index 000000000..211a51553 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/repository/todo/BusinessDeliveryDetailsLinkDO.java @@ -0,0 +1,76 @@ +package com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo; + +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 业务配送明细关联DO对象(查询条件输入) + * + * @author gen + * @date 2026-05-26 + */ +@Data +public class BusinessDeliveryDetailsLinkDO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("主键集合") + private List idList; + + @ApiModelProperty("创建时间") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty("更新时间") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @ApiModelProperty("业务单id") + @Excel(name = "业务单id") + private Long orderId; + + @ApiModelProperty("业务单id集合") + private List orderIdList; + + @ApiModelProperty("类别") + @Excel(name = "类别") + private String category; + + @ApiModelProperty("发票编号") + @Excel(name = "发票编号") + private String invoiceNumber; + + @ApiModelProperty("客户编号") + @Excel(name = "客户编号") + private String customerNumber; + + @ApiModelProperty("配送名称") + @Excel(name = "配送名称") + private String deliveryName; + + @ApiModelProperty("箱") + @Excel(name = "箱") + private Integer box; + + @ApiModelProperty("包") + @Excel(name = "包") + private Integer bag; + + @ApiModelProperty("金额") + @Excel(name = "金额") + private BigDecimal amount; + + @ApiModelProperty(value = "子单id") + private String subOrderId; + + @ApiModelProperty("删除标志") + private Integer delFlag; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/service/BusinessDeliveryDetailsLinkDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/service/BusinessDeliveryDetailsLinkDomainService.java new file mode 100644 index 000000000..8d40cfaf7 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDeliveryDetailsLink/service/BusinessDeliveryDetailsLinkDomainService.java @@ -0,0 +1,80 @@ +package com.mhd.oms.domain.businessDeliveryDetailsLink.service; + +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.facade.IBusinessDeliveryDetailsLinkService; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.po.BusinessDeliveryDetailsLinkPO; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.todo.BusinessDeliveryDetailsLinkDO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 业务配送明细关联领域服务 + * + * @author gen + * @date 2026-05-26 + */ +@Service +@Slf4j +public class BusinessDeliveryDetailsLinkDomainService { + + @Autowired + private IBusinessDeliveryDetailsLinkService businessDeliveryDetailsLinkService; + + /** + * 分页查询业务配送明细关联列表 + */ + public List queryList(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) { + return businessDeliveryDetailsLinkService.queryList(businessDeliveryDetailsLinkDO); + } + + /** + * 新增业务配送明细关联 + */ + public Boolean insert(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) { + return businessDeliveryDetailsLinkService.insert(businessDeliveryDetailsLinkDO); + } + + /** + * 新增业务配送明细关联并且返回主键ID + */ + public Long insertReturnId(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) { + return businessDeliveryDetailsLinkService.insertReturnId(businessDeliveryDetailsLinkDO); + } + + /** + * 修改业务配送明细关联 + */ + public Boolean update(BusinessDeliveryDetailsLinkDO businessDeliveryDetailsLinkDO) { + return businessDeliveryDetailsLinkService.update(businessDeliveryDetailsLinkDO); + } + + /** + * 批量删除业务配送明细关联 + */ + public Boolean delete(Long[] ids) { + return businessDeliveryDetailsLinkService.delete(ids); + } + + /** + * 获取业务配送明细关联详细信息 + */ + public BusinessDeliveryDetailsLinkPO getInfo(Long id) { + return businessDeliveryDetailsLinkService.getInfo(id); + } + + /** + * 批量获取业务配送明细关联详细信息 + */ + public List getInfo(List ids) { + return businessDeliveryDetailsLinkService.getInfo(ids); + } + + /** + * 批量修改业务配送明细关联 + */ + public Boolean batchUpdate(List businessDeliveryDetailsLinkDOS) { + return businessDeliveryDetailsLinkService.batchUpdate(businessDeliveryDetailsLinkDOS); + } +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java index c5d38f1dc..d1a90eac0 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/entity/BusinessDocumentOrder.java @@ -793,4 +793,15 @@ public class BusinessDocumentOrder extends BaseVOEntity{ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("删改单申请时间") private Date reviseApplyTime; + + @ApiModelProperty("发票编号") + @Excel(name = "发票编号") + private String invoiceNumber; + + @ApiModelProperty("客户编号") + @Excel(name = "客户编号") + private String customerNumber; + + @ApiModelProperty("配送进度") + private String deliveryProgress; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/mapper/BusinessDocumentOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/mapper/BusinessDocumentOrderMapper.java index 3d0b8c67c..2f73bbaba 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/mapper/BusinessDocumentOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/mapper/BusinessDocumentOrderMapper.java @@ -2,9 +2,12 @@ package com.mhd.oms.domain.businessDocumentOrder.repository.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.common.core.domain.po.UserPo; import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder; import com.mhd.oms.domain.businessDocumentOrder.repository.po.BusinessDocumentOrderPO; import com.mhd.oms.domain.businessDocumentOrder.repository.todo.BusinessDocumentOrderDO; +import com.mhd.system.api.domain.TmsTransportNote; +import org.apache.catalina.User; import org.apache.ibatis.annotations.Param; /** * 【请填写功能名称】Mapper接口 @@ -24,4 +27,10 @@ public interface BusinessDocumentOrderMapper extends BaseMapper queryListAndMaterial(BusinessDocumentOrderDO businessDocumentOrderDO); + + UserPo getAddressByUserAccount(@Param("customerNumber") String customerNumber); + + String getTmsOrderInfo(@Param("goodsNumber") String goodsNumber); + + TmsTransportNote getTmsTransportNote(@Param("tmsOrderId") String tmsOrderId); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java index e45c25531..174899e17 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java @@ -4,7 +4,12 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.common.core.domain.po.UserPo; +import com.mhd.common.core.utils.OrderSequence; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper; import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti; import com.mhd.oms.domain.businessDocumentCargoMulti.repository.mapper.BusinessDocumentCargoMultiMapper; import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder; @@ -30,8 +35,10 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationS import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder; import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper; import com.mhd.system.api.WlhyServiceFeign; +import com.mhd.system.api.domain.SysUser; import com.mhd.system.api.domain.TmsOrderAddDTO; import com.mhd.system.api.model.LoginUser; +import org.apache.catalina.User; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -72,6 +79,9 @@ public class BusinessDocumentOrderImpl extends ServiceImpl allExecuteOrderList = new ArrayList<>(); + + List businessDocumentOrderList = businessDocumentOrderMapper.selectList(new LambdaQueryWrapper().eq(BusinessDocumentOrder::getMainOrderId, id).eq(BusinessDocumentOrder::getDelFlag,1)); + if (businessDocumentOrderList.size()>0){ + for (BusinessDocumentOrder businessDocumentOrder1 : businessDocumentOrderList){ + ExecuteOrder executeOrder= executeOrderMapper.selectOne(new LambdaQueryWrapper().eq(ExecuteOrder::getGoodsNumber, businessDocumentOrder1.getExecuteOrderNumber()).eq(ExecuteOrder::getDelFlag, 1)); + if (ObjectUtil.isNotNull(executeOrder)) { + allExecuteOrderList.add(executeOrder); + } + } + } + if (!allExecuteOrderList.isEmpty()) { + businessDocumentOrderPO.setExecuteOrderList(allExecuteOrderList); + } + } //获取货物信息 List businessDocumentCargoMultiList = businessDocumentCargoMultiMapper.selectList(new LambdaQueryWrapper().eq(BusinessDocumentCargoMulti::getOrderId, id).eq(BusinessDocumentCargoMulti::getDelFlag,1)); if (businessDocumentCargoMultiList.size()>0){ @@ -159,6 +185,98 @@ public class BusinessDocumentOrderImpl extends ServiceImpl businessDeliveryDetailsLinkDTOList = businessDocumentOrderDO.getBusinessDeliveryDetailsLinkDTOList(); + List businessDeliveryDetailsLinkDTOList = businessDeliveryDetailsLinkMapper.selectList(new LambdaQueryWrapper().eq(BusinessDeliveryDetailsLink::getOrderId, id).eq(BusinessDeliveryDetailsLink::getDelFlag, 1)); + + boolean hasDetails = businessDeliveryDetailsLinkDTOList != null && businessDeliveryDetailsLinkDTOList.size() > 0; + + // 如果有明细,为每个明细生成一个子单 + if (hasDetails) { + int subOrderCount = 0; // 子单计数 + for (BusinessDeliveryDetailsLink businessDeliveryDetailsLinkDTO : businessDeliveryDetailsLinkDTOList) { + BusinessDocumentOrder subOrder = new BusinessDocumentOrder(); + BeanUtils.copyProperties(businessDocumentOrder, subOrder); + + subOrder.setId(null); + subOrder.setGoodsNumber(OrderSequence.getOrderCode()); // 生成新的子单号 + + // 设置子单的拼单类型和主单关系 + subOrder.setSplicingOrderType(3L); // 合单-子单 + subOrder.setMainOrderId(String.valueOf(businessDocumentOrder.getId())); // 主单ID + subOrder.setMainOrderNum(businessDocumentOrder.getGoodsNumber()); // 主单号 + + if (businessDocumentOrder.getOrganizationId() != null) { + subOrder.setOrganizationId(businessDocumentOrder.getOrganizationId()); + } + if (businessDocumentOrder.getOrganizationName() != null) { + subOrder.setOrganizationName(businessDocumentOrder.getOrganizationName()); + } + if (businessDocumentOrder.getTopOrganizationId() != null) { + subOrder.setTopOrganizationId(businessDocumentOrder.getTopOrganizationId()); + } + //卸货地与卸货详情 + String customerNumber = businessDeliveryDetailsLinkDTO.getCustomerNumber(); + UserPo user = businessDocumentOrderMapper.getAddressByUserAccount(customerNumber); + String userAreaName = user.getUserAreaName(); + String userAreaAddress = user.getUserAreaAddress(); + subOrder.setUnloadAddress(userAreaAddress); + subOrder.setUnloadName(userAreaName); + subOrder.setDischargerName(user.getUserName()); + subOrder.setUnloadPhone(user.getUserPhone()); + subOrder.setInvoiceNumber(businessDeliveryDetailsLinkDTO.getInvoiceNumber()); + subOrder.setCustomerNumber(businessDeliveryDetailsLinkDTO.getCustomerNumber()); + + + businessDocumentOrderMapper.insert(subOrder); + subOrderCount++; // 增加子单计数 + + // 保存子单的地址信息到BUSINESS_DOCUMENT_ADDRESS_MULTI表 + List loadingAddressList = businessDocumentAddressMultiMapper.selectList( + new LambdaQueryWrapper() + .eq(BusinessDocumentAddressMulti::getOrderId, String.valueOf(businessDocumentOrder.getId())) + .eq(BusinessDocumentAddressMulti::getLayType, 1L) + .eq(BusinessDocumentAddressMulti::getDelFlag, 1) + ); + if (loadingAddressList != null && !loadingAddressList.isEmpty()) { + for (BusinessDocumentAddressMulti loadingAddress : loadingAddressList) { + BusinessDocumentAddressMulti subLoadingAddress = new BusinessDocumentAddressMulti(); + BeanUtils.copyProperties(loadingAddress, subLoadingAddress, "id"); + subLoadingAddress.setOrderId(String.valueOf(subOrder.getId())); + subLoadingAddress.setCreateTime(new Date()); + subLoadingAddress.setUpdateTime(new Date()); + businessDocumentAddressMultiMapper.insert(subLoadingAddress); + } + } + + BusinessDocumentAddressMulti unloadAddress = new BusinessDocumentAddressMulti(); + unloadAddress.setOrganizationId(subOrder.getOrganizationId()); + unloadAddress.setOrganizationName(subOrder.getOrganizationName()); + unloadAddress.setTopOrganizationId(subOrder.getTopOrganizationId()); + unloadAddress.setOrderId(String.valueOf(subOrder.getId())); + unloadAddress.setAreaCode(userAreaAddress); + unloadAddress.setAreaName(userAreaName); + unloadAddress.setAddress(userAreaAddress); + unloadAddress.setContactName(user.getUserName()); + unloadAddress.setContactPhone(user.getUserPhone()); + unloadAddress.setLayType(2L); + unloadAddress.setSort(1L); + unloadAddress.setShortName(userAreaName); + unloadAddress.setCreateTime(new Date()); + unloadAddress.setUpdateTime(new Date()); + unloadAddress.setDelFlag(1); + businessDocumentAddressMultiMapper.insert(unloadAddress); + + BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink(); + BeanUtils.copyProperties(businessDeliveryDetailsLinkDTO, businessDeliveryDetailsLink); + businessDeliveryDetailsLink.setOrderId(businessDocumentOrder.getId()); + businessDeliveryDetailsLink.setSubOrderId(String.valueOf(subOrder.getId())); + businessDeliveryDetailsLinkMapper.updateById(businessDeliveryDetailsLink); + + } + //配送进度:0/子单数量 + businessDocumentOrder.setDeliveryProgress("0/" + subOrderCount); + } }else{ businessDocumentOrder.setOrderStatus(0L); } @@ -186,36 +304,108 @@ public class BusinessDocumentOrderImpl extends ServiceImpl subOrders = businessDocumentOrderMapper.selectList( + new LambdaQueryWrapper() + .eq(BusinessDocumentOrder::getMainOrderId, String.valueOf(id)) + .eq(BusinessDocumentOrder::getDelFlag, 1) + ); + + if (subOrders != null && !subOrders.isEmpty()) { + // 执行所有子单 + for (BusinessDocumentOrder subOrder : subOrders) { + // 检查子单是否已生成执行单 + ExecuteOrder subExecuteOrder = executeOrderMapper.selectOne( + new LambdaQueryWrapper() + .eq(ExecuteOrder::getBusinessDocumentId, subOrder.getId()) + .eq(ExecuteOrder::getDelFlag, 1) + .last("LIMIT 1") + ); + + if (ObjectUtil.isNotNull(subExecuteOrder)) { + continue; // 子单已执行,跳过 + } + + // 创建子单的执行单 + ExecuteOrderDO subExecuteOrderDO = new ExecuteOrderDO(); + BeanUtils.copyProperties(subOrder, subExecuteOrderDO); + subExecuteOrderDO.setDocumentDate(subOrder.getDocumentDate()); + subExecuteOrderDO.setLayDate(subOrder.getLayDate()); + subExecuteOrderDO.setBusinessDocumentId(subOrder.getId()); + subExecuteOrderDO.setBusinessDocumentNumber(subOrder.getGoodsNumber()); + subExecuteOrderDO.setGoodsNumber(subOrder.getGoodsNumber()); + subExecuteOrderDO.setCreateBy(loginUser.getUserid()); + subExecuteOrderDO.setCreateTime(new Date()); + subExecuteOrderDO.setCreateByName(loginUser.getWlhyLoginUser().getRealname()); + subExecuteOrderDO.setUpdateByName(loginUser.getWlhyLoginUser().getRealname()); + subExecuteOrderDO.setDelFlag(1); + subExecuteOrderDO.setOrganizationId(subOrder.getOrganizationId()); + subExecuteOrderDO.setOrgName(subOrder.getOrgName()); + subExecuteOrderDO.setTopOrganizationId(subOrder.getTopOrganizationId()); + subExecuteOrderDO.setReservationOrderNumber(subOrder.getReservationOrderNumber()); + subExecuteOrderDO.setRoute(subOrder.getRoute()); + subExecuteOrderDO.setInvoiceNumber(subOrder.getInvoiceNumber()); + + Long subExecuteOrderId = executeOrderDomainService.insert(subExecuteOrderDO); + + // 更新子单状态 + subOrder.setExecuteId(loginUser.getUserid()); + subOrder.setExecuteStatus(2L); + subOrder.setExecuteTime(new Date()); + subOrder.setExecutor(loginUser.getUsername()); + subOrder.setOrderStatus(2L); + subOrder.setExecuteOrderId(String.valueOf(subExecuteOrderId)); + subOrder.setExecuteOrderNumber(subOrder.getGoodsNumber()); + businessDocumentOrderMapper.updateById(subOrder); + } + + // 更新主单状态 + businessDocumentOrder.setExecuteId(loginUser.getUserid()); + businessDocumentOrder.setExecuteStatus(2L); + businessDocumentOrder.setExecuteTime(new Date()); + businessDocumentOrder.setExecutor(loginUser.getUsername()); + businessDocumentOrder.setOrderStatus(2L); + businessDocumentOrderMapper.updateById(businessDocumentOrder); + } else { + throw new ServerException("拆单主单未找到子单,无法执行"); + } + } else { + // 不为4时,保留原来逻辑 + // 先创建执行单 + ExecuteOrderDO executeOrderDO=new ExecuteOrderDO(); + BeanUtils.copyProperties(businessDocumentOrder,executeOrderDO); + executeOrderDO.setDocumentDate(businessDocumentOrder.getDocumentDate()); + executeOrderDO.setLayDate(businessDocumentOrder.getLayDate()); + executeOrderDO.setBusinessDocumentId(id); + executeOrderDO.setBusinessDocumentNumber(businessDocumentOrder.getGoodsNumber()); + executeOrderDO.setGoodsNumber(businessDocumentOrder.getGoodsNumber()); + executeOrderDO.setCreateBy(loginUser.getUserid()); + executeOrderDO.setCreateTime(new Date()); + executeOrderDO.setCreateByName(loginUser.getWlhyLoginUser().getRealname()); + executeOrderDO.setUpdateByName(loginUser.getWlhyLoginUser().getRealname()); + executeOrderDO.setDelFlag(1); + executeOrderDO.setOrganizationId(businessDocumentOrder.getOrganizationId()); + executeOrderDO.setOrgName(businessDocumentOrder.getOrgName()); + executeOrderDO.setTopOrganizationId(businessDocumentOrder.getTopOrganizationId()); + executeOrderDO.setReservationOrderNumber(businessDocumentOrder.getReservationOrderNumber()); + executeOrderDO.setRoute(businessDocumentOrder.getRoute()); + executeOrderDO.setInvoiceNumber(businessDocumentOrder.getInvoiceNumber()); + + Long executeOrderId = executeOrderDomainService.insert(executeOrderDO); + + // 更新业务单状态和执行单信息 + businessDocumentOrder.setExecuteId(loginUser.getUserid()); + businessDocumentOrder.setExecuteStatus(2L); + businessDocumentOrder.setExecuteTime(new Date()); + businessDocumentOrder.setExecutor(loginUser.getUsername()); + businessDocumentOrder.setOrderStatus(2L); + businessDocumentOrder.setExecuteOrderId(String.valueOf(executeOrderId)); + businessDocumentOrder.setExecuteOrderNumber(businessDocumentOrder.getGoodsNumber()); + businessDocumentOrderMapper.updateById(businessDocumentOrder); + } } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java index 20581a015..8c0d40c17 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/po/BusinessDocumentOrderPO.java @@ -823,4 +823,7 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{ @ApiModelProperty("删改单申请时间") private Date reviseApplyTime; + @ApiModelProperty("配送进度") + private String deliveryProgress; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java index ee66a54ea..0924ec96f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/todo/BusinessDocumentOrderDO.java @@ -1,6 +1,7 @@ package com.mhd.oms.domain.businessDocumentOrder.repository.todo; import com.mhd.common.core.annotation.Excel; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO; import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti; import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount; import com.mhd.oms.interfaces.assembler.businessDocumentCargoInfo.BusinessDocumentCargoInfo; @@ -864,4 +865,10 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{ @ApiModelProperty("删改单申请时间") private Date reviseApplyTime; + @ApiModelProperty("出库单运输明细") + private List businessDeliveryDetailsLinkDTOList; + + @ApiModelProperty("配送进度") + private String deliveryProgress; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java index 33c0aa0cd..c506dfd5d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java @@ -8,6 +8,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.common.core.domain.po.UserShipperPo; import com.mhd.common.core.utils.OrderSequence; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper; import com.mhd.oms.domain.businessDocumentAddressMulti.entity.BusinessDocumentAddressMulti; import com.mhd.oms.domain.businessDocumentAddressMulti.repository.mapper.BusinessDocumentAddressMultiMapper; import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti; @@ -69,6 +72,9 @@ public class BusinessDocumentOrderDomainService { @Resource private ReservationOrderMapper reservationOrderMapper; + + @Resource + private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper; /** * 分页查询【请填写功能名称】列表 */ @@ -322,7 +328,56 @@ public class BusinessDocumentOrderDomainService { tmsOrder.setTopOrganizationId(businessDocumentOrderDO.getTopOrganizationId()); } // boolean istrue=businessDocumentOrderService.insert(businessDocumentOrderDO); + + // 判断是否有配送明细 + List businessDeliveryDetailsLinkDTOList = businessDocumentOrderDO.getBusinessDeliveryDetailsLinkDTOList(); + boolean hasDetails = businessDeliveryDetailsLinkDTOList != null && businessDeliveryDetailsLinkDTOList.size() > 0; + + + if (hasDetails) { + tmsOrder.setSplicingOrderType(4L); // 拆单-主单 + } else { + tmsOrder.setSplicingOrderType(0L); // 普通单 + } + boolean istrue = businessDocumentOrderMapper.insert(tmsOrder) > 0; + + // 如果有明细,为每个明细生成一个子单 + if (hasDetails) { + for (BusinessDeliveryDetailsLinkDTO businessDeliveryDetailsLinkDTO : businessDeliveryDetailsLinkDTOList) { +// BusinessDocumentOrder subOrder = new BusinessDocumentOrder(); +// BeanUtils.copyProperties(tmsOrder, subOrder); +// +// // 重置子单的ID和单号 +// subOrder.setId(null); +// subOrder.setGoodsNumber(OrderSequence.getOrderCode()); // 生成新的子单号 +// +// // 设置子单的拼单类型和主单关系 +// subOrder.setSplicingOrderType(3L); // 合单-子单 +// subOrder.setMainOrderId(String.valueOf(tmsOrder.getId())); // 主单ID +// subOrder.setMainOrderNum(tmsOrder.getGoodsNumber()); // 主单号 +// +// // 设置子单的组织信息 +// if (businessDocumentOrderDO.getOrganizationId() != null) { +// subOrder.setOrganizationId(businessDocumentOrderDO.getOrganizationId()); +// } +// if (businessDocumentOrderDO.getOrganizationName() != null) { +// subOrder.setOrganizationName(businessDocumentOrderDO.getOrganizationName()); +// } +// if (businessDocumentOrderDO.getTopOrganizationId() != null) { +// subOrder.setTopOrganizationId(businessDocumentOrderDO.getTopOrganizationId()); +// } +// +// // 保存子单 +// businessDocumentOrderMapper.insert(subOrder); + + BusinessDeliveryDetailsLink businessDeliveryDetailsLink = new BusinessDeliveryDetailsLink(); + BeanUtils.copyProperties(businessDeliveryDetailsLinkDTO, businessDeliveryDetailsLink); + businessDeliveryDetailsLink.setOrderId(tmsOrder.getId()); +// businessDeliveryDetailsLink.setSubOrderId(subOrder.getId()); + businessDeliveryDetailsLinkMapper.insert(businessDeliveryDetailsLink); + } + } //保存货物信息及地址信息 saveAddress2CargoInfo(tmsOrder.getId(), allCargoList, loadingAddressList, unloadAddressList); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java index 09e03e73f..4cae51e37 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java @@ -143,5 +143,12 @@ public class ExecuteOrder extends BaseVOEntity{ @ApiModelProperty("业务单元") private String businessUnit; + @ApiModelProperty("运输线路") + private String route; + + @ApiModelProperty("发票编号") + @Excel(name = "发票编号") + private String invoiceNumber; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java index f22a4284e..a0ff2f1e2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java @@ -203,4 +203,14 @@ public class ExecuteOrderPO extends BaseVOEntity{ @ApiModelProperty("业务单货物集合") private List businessDocumentCargoMultiList; + @ApiModelProperty("运输线路") + private String route; + + @ApiModelProperty("发票编号") + @Excel(name = "发票编号") + private String invoiceNumber; + + @ApiModelProperty("客户编号") + @Excel(name = "客户编号") + private String customerNumber; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/todo/ExecuteOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/todo/ExecuteOrderDO.java index f4c0ace26..a51756b92 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/todo/ExecuteOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/todo/ExecuteOrderDO.java @@ -144,4 +144,11 @@ public class ExecuteOrderDO extends BaseVOEntity{ @ApiModelProperty("业务单元") private String businessUnit; + + @ApiModelProperty("运输线路") + private String route; + + @ApiModelProperty("发票编号") + @Excel(name = "发票编号") + private String invoiceNumber; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java index 2f3e9cb4a..3b4f52781 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/businessDocumentOrder/BusinessDocumentOrderDTO.java @@ -1,6 +1,7 @@ package com.mhd.oms.interfaces.dto.businessDocumentOrder; import com.mhd.common.core.annotation.Excel; +import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.dto.BusinessDeliveryDetailsLinkDTO; import com.mhd.oms.domain.businessDocumentAddressMulti.entity.BusinessDocumentAddressMulti; import com.mhd.oms.domain.businessDocumentAddressMulti.repository.todo.BusinessDocumentAddressMultiDO; import com.mhd.oms.domain.businessDocumentCargoMulti.entity.BusinessDocumentCargoMulti; @@ -880,4 +881,10 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("删改单申请时间") private Date reviseApplyTime; + + @ApiModelProperty("出库单运输明细") + private List businessDeliveryDetailsLinkDTOList; + + @ApiModelProperty("配送进度") + private String deliveryProgress; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentOrder/BusinessDocumentOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentOrder/BusinessDocumentOrderApi.java index 12c54c608..eb5c6df23 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentOrder/BusinessDocumentOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/businessDocumentOrder/BusinessDocumentOrderApi.java @@ -4,6 +4,7 @@ import java.util.List; import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO; import io.swagger.annotations.ApiOperation; +import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.mhd.oms.interfaces.dto.businessDocumentOrder.BusinessDocumentOrderDTO; @@ -71,6 +72,12 @@ public class BusinessDocumentOrderApi extends BaseController{ return AjaxResult.success(businessDocumentOrderApplicationService.getFeeDetail(id)); } + @ApiOperation("根据业务单id查询客户配送明细") + @GetMapping("/getDeliveryDetail/{id}") + public AjaxResult getDeliveryDetail(@PathVariable("id") Long id){ + return AjaxResult.success(businessDocumentOrderApplicationService.getDeliveryDetail(id)); + } + /** * 批量删除【业务单】 */ diff --git a/mhd_oms/src/main/resources/mapper/businessDeliveryDetailsLink/BusinessDeliveryDetailsLinkMapper.xml b/mhd_oms/src/main/resources/mapper/businessDeliveryDetailsLink/BusinessDeliveryDetailsLinkMapper.xml new file mode 100644 index 000000000..e327550b7 --- /dev/null +++ b/mhd_oms/src/main/resources/mapper/businessDeliveryDetailsLink/BusinessDeliveryDetailsLinkMapper.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + SELECT + id, + create_by, + create_by_name, + create_time, + update_by, + update_by_name, + update_time, + del_flag, + order_id, + category, + invoice_number, + customer_number, + delivery_name, + box, + bag, + amount + FROM + business_delivery_details_link + WHERE + del_flag = 1 + + + + + and id = #{id} + + + and id in + + #{id} + + + + and order_id = #{orderId} + + + and order_id in + + #{orderId} + + + + and category = #{category} + + + and invoice_number = #{invoiceNumber} + + + and customer_number = #{customerNumber} + + + and delivery_name like concat('%', #{deliveryName}, '%') + + + and box = #{box} + + + and bag = #{bag} + + + and amount = #{amount} + + + and top_organization_id = #{topOrganizationId} + + + and organization_id = #{organizationId} + + + + + diff --git a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml index c56207614..f5bc9ba68 100644 --- a/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/businessDocumentOrder/BusinessDocumentOrderMapper.xml @@ -191,6 +191,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + AND SPLICING_ORDER_TYPE in (0, 2, 4) and ID = #{id} @@ -718,8 +719,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by create_time desc - - + + + From 1cca869a30788a08387fd8969b0652114f41954c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 27 May 2026 14:05:07 +0800 Subject: [PATCH 201/418] =?UTF-8?q?=E7=BB=B4=E4=BB=96=E5=A5=B6=E5=87=BA?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E4=B8=9A=E5=8A=A1=E5=8D=95=E4=BF=AE=E6=94=B9?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/domain/InMaterialDetail.java | 8 + .../ReservationDeliveryDetailsLink.java | 47 ++ ...ReservationDeliveryDetailsLinkService.java | 48 ++ .../ReservationDeliveryDetailsLinkMapper.java | 23 + .../ReservationDeliveryDetailsLinkImpl.java | 95 ++++ .../po/ReservationDeliveryDetailsLinkPO.java | 58 ++ .../ReservationDeliveryDetailsLinkDO.java | 62 +++ ...ationDeliveryDetailsLinkDomainService.java | 70 +++ .../entity/ReservationInMaterialDetail.java | 7 + .../po/ReservationInMaterialDetailPO.java | 6 +- .../todo/ReservationInMaterialDetailDO.java | 8 + .../todo/ReservationInMaterialDetailDTO.java | 8 + .../IReservationStockInOrderService.java | 10 + .../listener/DeliveryExcelListener.java | 210 ------- .../DynamicDeliveryExcelListener.java | 518 ++++++++++++++++++ .../listener/StockInExcelListener.java | 259 +++++++++ .../mapper/ReservationStockInOrderMapper.java | 2 + .../ReservationStockInOrderImpl.java | 451 ++++++++++++++- .../repository/vo/DeliveryHeader.java | 2 +- .../repository/vo/StockInDataDTO.java | 33 ++ .../repository/vo/StockInHeader.java | 34 ++ .../repository/vo/StockInProductDetail.java | 73 +++ .../entity/ReservationStockOutOrder.java | 5 + .../po/ReservationStockOutOrderPO.java | 8 + .../todo/ReservationStockOutOrderDO.java | 6 + .../todo/ReservationStockOutOrderDTO.java | 5 + ...vationStockOutOrderApplicationService.java | 9 +- .../sysTableConfig/entity/SysTableConfig.java | 4 + .../repository/po/SysTableConfigPO.java | 4 + .../repository/todo/SysTableConfigDTO.java | 4 + .../repository/vo/SysTableConfigVO.java | 4 + .../ReservationStockInOrderApi.java | 38 +- .../ReservationDeliveryDetailsLinkMapper.xml | 62 +++ .../ReservationStockInOrderMapper.xml | 4 + .../entity/InMaterialDetail.java | 9 + .../repository/po/InMaterialDetailPO.java | 6 + .../repository/todo/InMaterialDetailDO.java | 9 + .../entity/ReceiptMaterialDetail.java | 7 + .../po/ReceiptMaterialDetailPO.java | 9 +- .../todo/ReceiptMaterialDetailDO.java | 8 +- .../service/StockInOrderDomainService.java | 1 + .../inMaterialDetail/InMaterialDetailDTO.java | 7 + .../ReceiptMaterialDetailDTO.java | 9 + 43 files changed, 2017 insertions(+), 233 deletions(-) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/entity/ReservationDeliveryDetailsLink.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/facade/IReservationDeliveryDetailsLinkService.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/mapper/ReservationDeliveryDetailsLinkMapper.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/persistence/ReservationDeliveryDetailsLinkImpl.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/po/ReservationDeliveryDetailsLinkPO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/todo/ReservationDeliveryDetailsLinkDO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/service/ReservationDeliveryDetailsLinkDomainService.java delete mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/DeliveryExcelListener.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/DynamicDeliveryExcelListener.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/StockInExcelListener.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInDataDTO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInHeader.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInProductDetail.java create mode 100644 mhd_oms/src/main/resources/mapper/reservationDeliveryDetailsLink/ReservationDeliveryDetailsLinkMapper.xml diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java index 4861cef26..9327fea0e 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java @@ -3,14 +3,17 @@ package com.mhd.system.api.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.web.domain.BaseVOEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; /** @@ -368,4 +371,9 @@ public class InMaterialDetail extends BaseVOEntity { @ApiModelProperty("oms入库单详情id") @Excel(name = "oms入库单详情id") private String omsInMaterialDetail; + + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/entity/ReservationDeliveryDetailsLink.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/entity/ReservationDeliveryDetailsLink.java new file mode 100644 index 000000000..fca897dbc --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/entity/ReservationDeliveryDetailsLink.java @@ -0,0 +1,47 @@ +package com.mhd.oms.domain.reservationDeliveryDetailsLink.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@TableName(value = "reservation_delivery_details_link") +public class ReservationDeliveryDetailsLink extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/facade/IReservationDeliveryDetailsLinkService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/facade/IReservationDeliveryDetailsLinkService.java new file mode 100644 index 000000000..e86e34ca0 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/facade/IReservationDeliveryDetailsLinkService.java @@ -0,0 +1,48 @@ +package com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.facade; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.entity.ReservationDeliveryDetailsLink; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.po.ReservationDeliveryDetailsLinkPO; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.todo.ReservationDeliveryDetailsLinkDO; + +import java.util.List; + +/** + * 预约配送明细关联Service接口 + * + * @author gen + * @date 2026-05-26 + */ +public interface IReservationDeliveryDetailsLinkService extends IService +{ + /** + * 分页查询预约配送明细关联列表 + */ + public List queryList(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO); + + /** + * 新增预约配送明细关联 + */ + public Boolean insert(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO); + + /** + * 修改预约配送明细关联 + */ + public Boolean update(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO); + + /** + * 批量删除预约配送明细关联 + */ + public Boolean delete(Long[] ids); + + + /** + * 查询预约配送明细关联 + */ + public ReservationDeliveryDetailsLinkPO getInfo(Long id); + + /** + * 批量新增 + */ + Boolean batchInsert(List reservationDeliveryDetailsLinkDOList); +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/mapper/ReservationDeliveryDetailsLinkMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/mapper/ReservationDeliveryDetailsLinkMapper.java new file mode 100644 index 000000000..b7162796a --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/mapper/ReservationDeliveryDetailsLinkMapper.java @@ -0,0 +1,23 @@ +package com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.entity.ReservationDeliveryDetailsLink; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.po.ReservationDeliveryDetailsLinkPO; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.todo.ReservationDeliveryDetailsLinkDO; + +import java.util.List; + +/** + * 预约配送明细关联Mapper接口 + * + * @author gen + * @date 2026-05-26 + */ +public interface ReservationDeliveryDetailsLinkMapper extends BaseMapper +{ + /** + * 查询预约配送明细关联列表 + */ + public List queryList(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO); + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/persistence/ReservationDeliveryDetailsLinkImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/persistence/ReservationDeliveryDetailsLinkImpl.java new file mode 100644 index 000000000..2e42f2a18 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/persistence/ReservationDeliveryDetailsLinkImpl.java @@ -0,0 +1,95 @@ +package com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.persistence; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.entity.ReservationDeliveryDetailsLink; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.facade.IReservationDeliveryDetailsLinkService; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.mapper.ReservationDeliveryDetailsLinkMapper; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.po.ReservationDeliveryDetailsLinkPO; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.todo.ReservationDeliveryDetailsLinkDO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 预约配送明细关联Service业务层处理 + * + * @author gen + * @date 2026-05-26 + */ +@Service +public class ReservationDeliveryDetailsLinkImpl extends ServiceImpl implements IReservationDeliveryDetailsLinkService { + @Autowired + private ReservationDeliveryDetailsLinkMapper reservationDeliveryDetailsLinkMapper; + + /** + * 查询预约配送明细关联列表 + */ + @Override + public List queryList(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) + { + return reservationDeliveryDetailsLinkMapper.queryList(reservationDeliveryDetailsLinkDO); + } + + /** + * 新增预约配送明细关联 + */ + @Override + public Boolean insert(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = new ReservationDeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLinkDO, reservationDeliveryDetailsLink); + return this.save(reservationDeliveryDetailsLink); + } + + /** + * 修改预约配送明细关联 + */ + @Override + public Boolean update(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = new ReservationDeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLinkDO, reservationDeliveryDetailsLink); + return this.updateById(reservationDeliveryDetailsLink); + } + + /** + * 批量删除预约配送明细关联 + */ + @Override + public Boolean delete(Long[] ids ) { + List list = new ArrayList<>(); + for (Long id : ids) { + ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = new ReservationDeliveryDetailsLink(); + reservationDeliveryDetailsLink.setId(id); + reservationDeliveryDetailsLink.setDelFlag(2); + list.add(reservationDeliveryDetailsLink); + } + return this.updateBatchById(list); + } + + /** + * 查询预约配送明细关联 + */ + @Override + public ReservationDeliveryDetailsLinkPO getInfo(Long id) { + ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = this.getById(id); + ReservationDeliveryDetailsLinkPO reservationDeliveryDetailsLinkPO = new ReservationDeliveryDetailsLinkPO(); + BeanUtils.copyProperties(reservationDeliveryDetailsLink, reservationDeliveryDetailsLinkPO); + return reservationDeliveryDetailsLinkPO; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean batchInsert(List reservationDeliveryDetailsLinkDOList) { + List reservationDeliveryDetailsLinkList = reservationDeliveryDetailsLinkDOList.stream().map(reservationDeliveryDetailsLinkDO -> { + ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = new ReservationDeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLinkDO, reservationDeliveryDetailsLink); + return reservationDeliveryDetailsLink; + }).collect(Collectors.toList()); + + return this.saveBatch(reservationDeliveryDetailsLinkList); + } +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/po/ReservationDeliveryDetailsLinkPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/po/ReservationDeliveryDetailsLinkPO.java new file mode 100644 index 000000000..498df9728 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/po/ReservationDeliveryDetailsLinkPO.java @@ -0,0 +1,58 @@ +package com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 预约配送明细关联对象 oms_receipt_info + * + * @author gen + * @date 2026-05-26 + */ + +@Data +@ApiModel(value = "预约配送明细关联对象", description = "预约配送明细关联响应对象") +public class ReservationDeliveryDetailsLinkPO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/todo/ReservationDeliveryDetailsLinkDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/todo/ReservationDeliveryDetailsLinkDO.java new file mode 100644 index 000000000..ebd583b46 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/todo/ReservationDeliveryDetailsLinkDO.java @@ -0,0 +1,62 @@ +package com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.todo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + + +/** + * 预约配送明细关联对象 oms_receipt_info + * + * @author gen + * @date 2026-05-26 + */ + +@Data +public class ReservationDeliveryDetailsLinkDO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + + @ApiModelProperty(name = "组织ID集合") + private List organizationIdList; + + @ApiModelProperty(name = "权限菜单ID") + private Long permissionMenuId; +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/service/ReservationDeliveryDetailsLinkDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/service/ReservationDeliveryDetailsLinkDomainService.java new file mode 100644 index 000000000..1afed21f3 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/service/ReservationDeliveryDetailsLinkDomainService.java @@ -0,0 +1,70 @@ +package com.mhd.oms.domain.reservationDeliveryDetailsLink.service; + +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.facade.IReservationDeliveryDetailsLinkService; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.po.ReservationDeliveryDetailsLinkPO; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.todo.ReservationDeliveryDetailsLinkDO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 预约配送明细关联 + * + * @author gen + * @date 2026-05-26 + */ +@Service +@Slf4j +public class ReservationDeliveryDetailsLinkDomainService { + + @Autowired + private IReservationDeliveryDetailsLinkService reservationDeliveryDetailsLinkService; + + + /** + * 分页查询预约配送明细关联列表 + */ + public List queryList(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + return reservationDeliveryDetailsLinkService.queryList(reservationDeliveryDetailsLinkDO); + } + + + /** + * 新增预约配送明细关联 + */ + public Boolean insert(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + + return reservationDeliveryDetailsLinkService.insert(reservationDeliveryDetailsLinkDO); + } + + /** + * 修改预约配送明细关联 + */ + public Boolean update(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + return reservationDeliveryDetailsLinkService.update(reservationDeliveryDetailsLinkDO); + } + + /** + * 批量删除预约配送明细关联 + */ + public Boolean delete(Long[] ids) { + return reservationDeliveryDetailsLinkService.delete(ids); + } + + /** + * 获取预约配送明细关联详细信息 + */ + public ReservationDeliveryDetailsLinkPO getInfo(Long id) + { + return reservationDeliveryDetailsLinkService.getInfo(id); + } + + /** + * 批量新增 + */ + public Boolean batchInsert(List reservationDeliveryDetailsLinkDOList) { + return reservationDeliveryDetailsLinkService.batchInsert(reservationDeliveryDetailsLinkDOList); + } +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/entity/ReservationInMaterialDetail.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/entity/ReservationInMaterialDetail.java index d7b68027e..826d02746 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/entity/ReservationInMaterialDetail.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/entity/ReservationInMaterialDetail.java @@ -3,14 +3,17 @@ package com.mhd.oms.domain.reservationInMaterialDetail.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.web.domain.BaseVOEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; /** @@ -364,4 +367,8 @@ public class ReservationInMaterialDetail extends BaseVOEntity { @ApiModelProperty("lot编号") @Excel(name = "lot编号") private String lotNo; + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/po/ReservationInMaterialDetailPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/po/ReservationInMaterialDetailPO.java index 5be3a31e6..6c4bfc308 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/po/ReservationInMaterialDetailPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/po/ReservationInMaterialDetailPO.java @@ -8,6 +8,7 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStock import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; @@ -467,5 +468,8 @@ public class ReservationInMaterialDetailPO extends ReservationStockInOrderBasePO @ApiModelProperty("调整后面积") @Excel(name = "调整后面积") private BigDecimal adjustedArea; - + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDO.java index 9e15c3e0f..1fcab5a19 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDO.java @@ -1,13 +1,16 @@ package com.mhd.oms.domain.reservationInMaterialDetail.repository.todo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderBaseDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; import java.util.List; @@ -429,4 +432,9 @@ public class ReservationInMaterialDetailDO extends ReservationStockInOrderBaseDO @Excel(name = "调整后面积") private BigDecimal adjustedArea; + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java index a91b07d3b..dc5e9d503 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java @@ -1,13 +1,16 @@ package com.mhd.oms.domain.reservationInMaterialDetail.repository.todo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.web.domain.BaseVOEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -439,4 +442,9 @@ public class ReservationInMaterialDetailDTO extends BaseVOEntity { @ApiModelProperty("调整后面积") @Excel(name = "调整后面积") private BigDecimal adjustedArea; + + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java index eca6f3453..5e62c95f9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java @@ -6,6 +6,7 @@ import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryDataDTO; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.StockInDataDTO; import org.springframework.web.multipart.MultipartFile; @@ -56,4 +57,13 @@ public interface IReservationStockInOrderService extends IService { - private static final Logger LOGGER = LoggerFactory.getLogger(DeliveryExcelListener.class); - - // 数据存储 - private DeliveryHeader deliveryHeader = new DeliveryHeader(); - private List productDetailList = new ArrayList<>(); - private List customerDeliveryDetailList = new ArrayList<>(); - - // 解析状态标记 - private boolean isProductDetail = false; // 是否在解析货品明细 - private boolean isCustomerDetail = false; // 是否在解析客户配送明细 - - @Override - public void invoke(Object data, AnalysisContext context) { - try { - // 将数据转为数组(Excel行数据) - Object[] rowData = (Object[]) data; - - // 1. 解析表头信息(第1行) - if (context.readRowHolder().getRowIndex() == 0) { - parseHeaderInfo(rowData); - } - // 2. 识别数据区域(根据关键字判断) - else if (context.readRowHolder().getRowIndex() == 1) { - if (rowData[0] != null && "货品明细".equals(rowData[0].toString().trim())) { - isProductDetail = true; - isCustomerDetail = false; - } - } - else if (context.readRowHolder().getRowIndex() == 7) { - // 解析纪录合共(第8行,索引为7) - parseTotalRecord(rowData); - } - else if (context.readRowHolder().getRowIndex() == 8) { - if (rowData[0] != null && "客户配送明细".equals(rowData[0].toString().trim())) { - isProductDetail = false; - isCustomerDetail = true; - } - } - else if (context.readRowHolder().getRowIndex() == 30) { - // 解析发票张数(第31行,索引为30) - parseInvoiceCount(rowData); - } - // 3. 解析货品明细(第4-7行,索引3-6) - else if (isProductDetail && context.readRowHolder().getRowIndex() >= 3 && context.readRowHolder().getRowIndex() <= 6) { - parseProductDetail(rowData); - } - // 4. 解析客户配送明细(第11-30行,索引10-29) - else if (isCustomerDetail && context.readRowHolder().getRowIndex() >= 10 && context.readRowHolder().getRowIndex() <= 29) { - parseCustomerDeliveryDetail(rowData); - } - - } catch (ExcelDataConvertException e) { - LOGGER.error("Excel数据转换异常,行号:{},列号:{}", - context.readRowHolder().getRowIndex() + 1, - e.getColumnIndex() + 1); - } catch (Exception e) { - LOGGER.error("Excel解析异常,行号:{}", - context.readRowHolder().getRowIndex() + 1, e); - } - } - - /** - * 解析表头信息(第1行) - */ - private void parseHeaderInfo(Object[] rowData) { - // 送货日期(第2列,索引1) - if (rowData[1] != null) { - deliveryHeader.setDeliveryDate((Date) rowData[1]); - } - // 送货线号(第4列,索引3) - if (rowData[3] != null) { - deliveryHeader.setDeliveryLineNo(Integer.parseInt(rowData[3].toString())); - } - // 车次(第6列,索引5) - if (rowData[5] != null) { - deliveryHeader.setTrainNumber(Integer.parseInt(rowData[5].toString())); - } - } - - /** - * 解析纪录合共(第8行) - */ - private void parseTotalRecord(Object[] rowData) { - // 纪录合共-货品总数量(第2列,索引1) - if (rowData[1] != null) { - deliveryHeader.setTotalRecordCount(Integer.parseInt(rowData[1].toString())); - } - // 总箱数(第5列,索引4) - if (rowData[4] != null) { - deliveryHeader.setTotalBoxCount(Integer.parseInt(rowData[4].toString())); - } - // 总支数(第6列,索引5) - if (rowData[5] != null) { - deliveryHeader.setTotalPieceCount(Integer.parseInt(rowData[5].toString())); - } - } - - /** - * 解析发票张数(第31行) - */ - private void parseInvoiceCount(Object[] rowData) { - // 发票张数(第2列,索引1) - if (rowData[1] != null) { - deliveryHeader.setInvoiceCount(Integer.parseInt(rowData[1].toString())); - } - // 小计-总箱数(第5列,索引4) - if (rowData[4] != null) { - deliveryHeader.setSubtotalBoxCount(Integer.parseInt(rowData[4].toString())); - } - // 小计-总支数(第6列,索引5) - if (rowData[5] != null) { - deliveryHeader.setSubtotalPieceCount(Integer.parseInt(rowData[5].toString())); - } - // 小计-总金额(第7列,索引6) - if (rowData[6] != null) { - deliveryHeader.setSubtotalAmount(new BigDecimal(rowData[6].toString())); - } - } - - /** - * 解析货品明细 - */ - private void parseProductDetail(Object[] rowData) { - ProductDetail productDetail = new ProductDetail(); - // 货品编号(第1列,索引0) - if (rowData[0] != null) { - productDetail.setProductCode(rowData[0].toString().trim()); - } - // 货品简称(第2列,索引1) - if (rowData[1] != null) { - productDetail.setProductName(rowData[1].toString().trim()); - } - // 箱数(第5列,索引4) - if (rowData[4] != null) { - productDetail.setBoxCount(Integer.parseInt(rowData[4].toString())); - } - // 支数(第6列,索引5) - if (rowData[5] != null) { - productDetail.setPieceCount(Integer.parseInt(rowData[5].toString())); - } - productDetailList.add(productDetail); - } - - /** - * 解析客户配送明细 - */ - private void parseCustomerDeliveryDetail(Object[] rowData) { - CustomerDeliveryDetail customerDetail = new CustomerDeliveryDetail(); - // 类别(第1列,索引0) - if (rowData[0] != null) { - customerDetail.setCategory(rowData[0].toString().trim()); - } - // 发票编号(第2列,索引1) - if (rowData[1] != null) { - customerDetail.setInvoiceNo(rowData[1].toString().trim()); - } - // 客户编号(第3列,索引2) - if (rowData[2] != null) { - customerDetail.setCustomerCode(rowData[2].toString().trim()); - } - // 客户名称(第4列,索引3) - if (rowData[3] != null) { - customerDetail.setCustomerName(rowData[3].toString().trim()); - } - // 箱数(第5列,索引4) - if (rowData[4] != null) { - customerDetail.setBoxCount(Integer.parseInt(rowData[4].toString())); - } - // 包数(第6列,索引5) - if (rowData[5] != null) { - customerDetail.setPackageCount(Integer.parseInt(rowData[5].toString())); - } - // 金额(第7列,索引6) - if (rowData[6] != null) { - customerDetail.setAmount(new BigDecimal(rowData[6].toString())); - } - customerDeliveryDetailList.add(customerDetail); - } - - @Override - public void doAfterAllAnalysed(AnalysisContext context) { - LOGGER.info("Excel解析完成,共解析货品明细:{}条,客户配送明细:{}条", - productDetailList.size(), customerDeliveryDetailList.size()); - } - - // Getter方法(供Service层获取解析后的数据) - public DeliveryHeader getDeliveryHeader() { return deliveryHeader; } - public List getProductDetailList() { return productDetailList; } - public List getCustomerDeliveryDetailList() { return customerDeliveryDetailList; } -} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/DynamicDeliveryExcelListener.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/DynamicDeliveryExcelListener.java new file mode 100644 index 000000000..72337c91f --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/DynamicDeliveryExcelListener.java @@ -0,0 +1,518 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.listener; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.excel.exception.ExcelDataConvertException; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.CustomerDeliveryDetail; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryHeader; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.ProductDetail; +import org.apache.commons.lang3.time.DateUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.text.ParseException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 维他奶出库Excel解析监听器(最终完整版) + * 核心功能: + * 1. 正确解析多单元格数据(解决发票张数/纪录合共读取错误) + * 2. 支持动态行数的货品明细/客户配送明细解析 + * 3. 自动处理文本型数字转换(String→Integer/BigDecimal) + * 4. 完整的异常处理和日志记录 + */ +public class DynamicDeliveryExcelListener extends AnalysisEventListener> { + // 日志实例 + private static final Logger LOGGER = LoggerFactory.getLogger(DynamicDeliveryExcelListener.class); + + // ---------------------- 常量定义(便于维护) ---------------------- + // 正则表达式:匹配整数(支持正负数) + private static final Pattern INTEGER_PATTERN = Pattern.compile("-?\\d+"); + // 正则表达式:匹配小数(支持正负数和整数形式) + private static final Pattern DECIMAL_PATTERN = Pattern.compile("-?\\d+(\\.\\d+)?"); + // 关键字定义(Excel标签匹配) + private static final String KEYWORD_DELIVERY_DATE = "送貨日期"; + private static final String KEYWORD_PRODUCT_DETAIL = "货品明细"; + private static final String KEYWORD_TOTAL_RECORD = "紀錄合共"; + private static final String KEYWORD_CUSTOMER_DETAIL = "客户配送明细"; + private static final String KEYWORD_INVOICE_COUNT = "發票張數"; + private static final String KEYWORD_TOTAL_COUNT = "總計"; + private static final String KEYWORD_SUBTOTAL = "小計"; + // 支持的日期格式(String转Date) + private static final String[] SUPPORTED_DATE_FORMATS = {"yyyy-MM-dd", "yyyy/MM/dd", "yyyyMMdd", "yyyy-MM-dd HH:mm:ss"}; + + // ---------------------- 数据存储(解析结果) ---------------------- + private DeliveryHeader deliveryHeader = new DeliveryHeader(); + private List productDetailList = new ArrayList<>(); + private List customerDeliveryDetailList = new ArrayList<>(); + + // ---------------------- 解析状态管理(动态切换) ---------------------- + public enum ParseStatus { + IDLE, // 空闲状态(未进入任何表格) + PRODUCT_DETAIL,// 货品明细解析状态 + CUSTOMER_DETAIL// 客户配送明细解析状态 + } + private ParseStatus currentStatus = ParseStatus.IDLE; + + // ---------------------- 核心解析方法(EasyExcel回调) ---------------------- + @Override + public void invoke(Map data, AnalysisContext context) { + try { + int rowNum = context.readRowHolder().getRowIndex() + 1; + LOGGER.debug("第{}行:开始解析,所有单元格数据:{}", rowNum, data); + + // 1. 获取第一列数据(用于状态判断,标签通常在第一列) + String firstCellValue = getFirstCellValue(data); + LOGGER.debug("第{}行:第一列数据(状态判断依据):{}", rowNum, firstCellValue); + + // 2. 状态切换判断(传递完整data,支持多单元格解析) + if (isStatusSwitchTrigger(firstCellValue)) { + switchStatus(firstCellValue, rowNum, data); + return; + } + + // 3. 根据当前状态解析对应表格数据 + switch (currentStatus) { + case PRODUCT_DETAIL: + if (isValidProductDetailRow(data, firstCellValue)) { + parseProductDetail(data, rowNum); + } + break; + case CUSTOMER_DETAIL: + if (isValidCustomerDetailRow(data, firstCellValue)) { + parseCustomerDeliveryDetail(data, rowNum); + } + break; + case IDLE: + // 空闲状态:解析表头信息(送货日期行,多单元格数据) + if (firstCellValue.contains(KEYWORD_DELIVERY_DATE)) { + parseHeaderInfo(data, rowNum); + } + break; + } + + } catch (ExcelDataConvertException e) { + // Excel内置转换异常(如日期格式错误) + int rowNum = context.readRowHolder().getRowIndex() + 1; + LOGGER.error("第{}行:Excel数据转换异常,列号:{},列名:{}", + rowNum, e.getColumnIndex() + 1, getColumnNameByIndex(data, e.getColumnIndex()), e); + throw new RuntimeException("Excel数据转换异常(行:" + rowNum + ",列:" + (e.getColumnIndex() + 1) + ")", e); + } catch (Exception e) { + // 其他解析异常 + int rowNum = context.readRowHolder().getRowIndex() + 1; + LOGGER.error("第{}行:Excel解析异常,所有单元格数据:{}", rowNum, data, e); + throw new RuntimeException("Excel解析异常(行:" + rowNum + ")", e); + } + } + + // ---------------------- 解析完成回调 ---------------------- + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + LOGGER.info("Excel解析全部完成!最终统计结果:"); + LOGGER.info("1. 表头信息:送货日期={},发票张数={},总记录数={},小计金额={}", + deliveryHeader.getDeliveryDate(), + deliveryHeader.getInvoiceCount(), + deliveryHeader.getTotalRecordCount(), + deliveryHeader.getSubtotalAmount()); + LOGGER.info("2. 货品明细:共{}条记录", productDetailList.size()); + LOGGER.info("3. 客户配送明细:共{}条记录", customerDeliveryDetailList.size()); + } + + // ---------------------- 状态管理方法(传递完整data) ---------------------- + /** + * 判断是否触发状态切换(根据第一列标签关键字) + */ + private boolean isStatusSwitchTrigger(String firstCellValue) { + return firstCellValue.contains(KEYWORD_PRODUCT_DETAIL) + || firstCellValue.contains(KEYWORD_TOTAL_RECORD) + || firstCellValue.contains(KEYWORD_CUSTOMER_DETAIL) + || firstCellValue.contains(KEYWORD_INVOICE_COUNT); + } + + /** + * 切换解析状态(核心:传递完整data,支持多单元格解析) + */ + private void switchStatus(String firstCellValue, int rowNum, Map data) { + if (firstCellValue.contains(KEYWORD_PRODUCT_DETAIL)) { + currentStatus = ParseStatus.PRODUCT_DETAIL; + LOGGER.info("第{}行:检测到【{}】标签,切换到【货品明细】解析状态", rowNum, KEYWORD_PRODUCT_DETAIL); + } else if (firstCellValue.contains(KEYWORD_TOTAL_RECORD)) { + currentStatus = ParseStatus.IDLE; + parseTotalRecord(data, rowNum); // 解析纪录合共(多单元格) + LOGGER.info("第{}行:检测到【{}】标签,切换到【空闲】状态,已解析货品明细{}条", + rowNum, KEYWORD_TOTAL_RECORD, productDetailList.size()); + } else if (firstCellValue.contains(KEYWORD_CUSTOMER_DETAIL)) { + currentStatus = ParseStatus.CUSTOMER_DETAIL; + LOGGER.info("第{}行:检测到【{}】标签,切换到【客户配送明细】解析状态", rowNum, KEYWORD_CUSTOMER_DETAIL); + } else if (firstCellValue.contains(KEYWORD_INVOICE_COUNT)) { + currentStatus = ParseStatus.IDLE; + parseInvoiceCount(data, rowNum); // 解析发票张数(多单元格,核心修复) + LOGGER.info("第{}行:检测到【{}】标签,切换到【空闲】状态,已解析客户配送明细{}条", + rowNum, KEYWORD_INVOICE_COUNT, customerDeliveryDetailList.size()); + } + } + + // ---------------------- 数据有效性校验方法 ---------------------- + /** + * 校验货品明细行是否有效(排除表头和空行) + */ + private boolean isValidProductDetailRow(Map data, String firstCellValue) { + // 有效条件:1.货品编号(第一列)不为空 2.不是表头行(表头第一列是"貨品編號") + Object productCode = getValueSafely(data, 0); + return productCode != null + && !"貨品編號".equals(productCode.toString().trim()) + && !productCode.toString().trim().isEmpty(); + } + + /** + * 校验客户配送明细行是否有效(排除表头和空行) + */ + private boolean isValidCustomerDetailRow(Map data, String firstCellValue) { + // 有效条件:1.类别(第一列)不为空 2.不是表头行(表头第一列是"類别") + Object category = getValueSafely(data, 0); + return category != null + && !"類别".equals(category.toString().trim()) + && !category.toString().trim().isEmpty(); + } + + // ---------------------- 具体数据解析方法(全部支持多单元格) ---------------------- + /** + * 解析表头信息(送货日期、送货线号、车次) + * 列对应关系:0=送貨日期标签,1=送貨日期值,2=送貨線號标签,3=送貨線號值,4=車次标签,5=車次值 + */ + private void parseHeaderInfo(Map data, int rowNum) { + try { + // 读取多单元格数据(标签在左,数值在右) + Date deliveryDate = getValueSafely(data, 1, Date.class); // 第2列:送货日期值 + String deliveryLineNo = getValueSafely(data, 3, String.class); // 第4列:送货线号值 + Integer trainNumber = getValueSafely(data, 5, Integer.class); // 第6列:车次值 + + // 赋值(空值处理) + if (deliveryDate != null) { + deliveryHeader.setDeliveryDate(deliveryDate); + } + deliveryHeader.setDeliveryLineNo(deliveryLineNo); + deliveryHeader.setTrainNumber(getDefaultValue(trainNumber, 0)); + + LOGGER.debug("第{}行:解析表头信息完成,送货日期={},送货线号={},车次={}", + rowNum, deliveryHeader.getDeliveryDate(), + deliveryHeader.getDeliveryLineNo(), deliveryHeader.getTrainNumber()); + } catch (Exception e) { + LOGGER.error("第{}行:解析表头信息失败,所有单元格数据:{}", rowNum, data, e); + throw new RuntimeException("解析表头信息失败(行:" + rowNum + ")", e); + } + } + + /** + * 解析纪录合共(多单元格版) + * 列对应关系:0=紀錄合共标签,1=总记录数值,4=總計标签,5=总箱数值,6=总支数值 + */ + private void parseTotalRecord(Map data, int rowNum) { + try { + // 1. 验证是否为纪录合共行(第一列包含标签) + Object totalRecordLabel = getValueSafely(data, 0, String.class); + if (totalRecordLabel == null || !totalRecordLabel.toString().trim().contains(KEYWORD_TOTAL_RECORD)) { + LOGGER.warn("第{}行:不是纪录合共行,跳过解析,第一列内容:{}", rowNum, totalRecordLabel); + return; + } + + // 2. 读取多单元格数值(标签右侧对应列) + Integer totalRecordCount = getValueSafely(data, 1, Integer.class); // 第2列:总记录数 + Integer totalBoxCount = getValueSafely(data, 5, Integer.class); // 第6列:总箱数 + Integer totalPieceCount = getValueSafely(data, 6, Integer.class); // 第7列:总支数 + + // 3. 赋值与日志 + deliveryHeader.setTotalRecordCount(getDefaultValue(totalRecordCount, 0)); + deliveryHeader.setTotalBoxCount(getDefaultValue(totalBoxCount, 0)); + deliveryHeader.setTotalPieceCount(getDefaultValue(totalPieceCount, 0)); + + LOGGER.debug("第{}行:解析纪录合共完成,总记录数={},总箱数={},总支数={}", + rowNum, deliveryHeader.getTotalRecordCount(), + deliveryHeader.getTotalBoxCount(), deliveryHeader.getTotalPieceCount()); + } catch (Exception e) { + LOGGER.error("第{}行:解析纪录合共失败,所有单元格数据:{}", rowNum, data, e); + throw new RuntimeException("解析纪录合共失败(行:" + rowNum + ")", e); + } + } + + /** + * 核心修复:解析发票张数(多单元格版,正确读取右侧单元格) + * 列对应关系: + * - 0=發票張數标签列(A列),1=发票张数数值列(B列) + * - 4=小計标签列(E列),5=小计箱数列(F列),6=小计支数列(G列),7=小计金额列(H列) + */ + private void parseInvoiceCount(Map data, int rowNum) { + try { + // 1. 验证是否为发票张数行(第一列包含标签) + Object invoiceLabel = getValueSafely(data, 0, String.class); + if (invoiceLabel == null || !invoiceLabel.toString().trim().contains(KEYWORD_INVOICE_COUNT)) { + LOGGER.warn("第{}行:不是发票张数行,跳过解析,第一列内容:{}", rowNum, invoiceLabel); + return; + } + + // 2. 解析发票张数(标签右侧第1列:B列,索引1) + Integer invoiceCount = getValueSafely(data, 1, Integer.class); + deliveryHeader.setInvoiceCount(getDefaultValue(invoiceCount, 0)); + LOGGER.debug("第{}行:解析发票张数,标签列(A列):{},数值列(B列):{}", + rowNum, invoiceLabel, deliveryHeader.getInvoiceCount()); + + // 3. 解析小计信息(标签在E列,数值在F/G/H列) + Object subtotalLabel = getValueSafely(data, 3, String.class); // E列:小計标签 + if (subtotalLabel != null && subtotalLabel.toString().trim().contains(KEYWORD_SUBTOTAL)) { + Integer subtotalBoxCount = getValueSafely(data, 4, Integer.class); // F列:小计箱数 + Integer subtotalPieceCount = getValueSafely(data, 5, Integer.class); // G列:小计支数 + BigDecimal subtotalAmount = getValueSafely(data, 6, BigDecimal.class); // H列:小计金额 + + // 赋值(空值处理) + deliveryHeader.setSubtotalBoxCount(getDefaultValue(subtotalBoxCount, 0)); + deliveryHeader.setSubtotalPieceCount(getDefaultValue(subtotalPieceCount, 0)); + deliveryHeader.setSubtotalAmount(getDefaultValue(subtotalAmount, BigDecimal.ZERO)); + + LOGGER.debug("第{}行:解析小计信息,标签列(E列):{},箱数列(F列):{},支数列(G列):{},金额列(H列):{}", + rowNum, subtotalLabel, + deliveryHeader.getSubtotalBoxCount(), + deliveryHeader.getSubtotalPieceCount(), + deliveryHeader.getSubtotalAmount()); + } else { + LOGGER.warn("第{}行:未找到小计标签(E列),或标签内容不匹配,跳过小计解析", rowNum); + deliveryHeader.setSubtotalBoxCount(0); + deliveryHeader.setSubtotalPieceCount(0); + deliveryHeader.setSubtotalAmount(BigDecimal.ZERO); + } + + // 4. 解析完成日志 + LOGGER.debug("第{}行:解析发票张数行完成,最终结果:发票张数={},小计金额={}", + rowNum, deliveryHeader.getInvoiceCount(), deliveryHeader.getSubtotalAmount()); + } catch (Exception e) { + LOGGER.error("第{}行:解析发票张数失败,所有单元格数据:{}", rowNum, data, e); + throw new RuntimeException("解析发票张数失败(行:" + rowNum + "),请检查Excel列对应关系", e); + } + } + + /** + * 解析货品明细(多单元格,动态行数适配) + * 列对应关系:0=貨品編號,1=簡稱,4=箱,5=支 + */ + private void parseProductDetail(Map data, int rowNum) { + try { + ProductDetail productDetail = new ProductDetail(); + // 读取对应列的多单元格数据 + String productCode = getValueSafely(data, 0, String.class); // 第1列:货品编号 + String productName = getValueSafely(data, 1, String.class); // 第2列:货品简称 + Integer boxCount = getValueSafely(data, 4, Integer.class); // 第5列:箱数 + Integer pieceCount = getValueSafely(data, 5, Integer.class); // 第6列:支数 + + // 赋值(空值处理+去空格) + productDetail.setProductCode(getDefaultValue(productCode, "").trim()); + productDetail.setProductName(getDefaultValue(productName, "").trim()); + productDetail.setBoxCount(getDefaultValue(boxCount, 0)); + productDetail.setPieceCount(getDefaultValue(pieceCount, 0)); + + // 添加到列表 + productDetailList.add(productDetail); + LOGGER.debug("第{}行:解析货品明细完成,货品编号={},名称={},箱数={},支数={}", + rowNum, productDetail.getProductCode(), productDetail.getProductName(), + productDetail.getBoxCount(), productDetail.getPieceCount()); + } catch (Exception e) { + LOGGER.error("第{}行:解析货品明细失败,所有单元格数据:{}", rowNum, data, e); + throw new RuntimeException("解析货品明细失败(行:" + rowNum + ")", e); + } + } + + /** + * 解析客户配送明细(多单元格,动态行数适配) + * 列对应关系:0=類别,1=發票編號,2=客户編號,3=名稱,4=箱,5=包,6=金額 + */ + private void parseCustomerDeliveryDetail(Map data, int rowNum) { + try { + CustomerDeliveryDetail customerDetail = new CustomerDeliveryDetail(); + // 读取对应列的多单元格数据 + String category = getValueSafely(data, 0, String.class); // 第1列:类别 + String invoiceNo = getValueSafely(data, 1, String.class); // 第2列:发票编号 + String customerCode = getValueSafely(data, 2, String.class); // 第3列:客户编号 + String customerName = getValueSafely(data, 3, String.class); // 第4列:客户名称 + Integer boxCount = getValueSafely(data, 4, Integer.class); // 第5列:箱数 + Integer packageCount = getValueSafely(data, 5, Integer.class); // 第6列:包数 + BigDecimal amount = getValueSafely(data, 6, BigDecimal.class); // 第7列:金额 + + // 赋值(空值处理+去空格) + customerDetail.setCategory(getDefaultValue(category, "").trim()); + customerDetail.setInvoiceNo(getDefaultValue(invoiceNo, "").trim()); + customerDetail.setCustomerCode(getDefaultValue(customerCode, "").trim()); + customerDetail.setCustomerName(getDefaultValue(customerName, "").trim()); + customerDetail.setBoxCount(getDefaultValue(boxCount, 0)); + customerDetail.setPackageCount(getDefaultValue(packageCount, 0)); + customerDetail.setAmount(getDefaultValue(amount, BigDecimal.ZERO)); + + // 添加到列表 + customerDeliveryDetailList.add(customerDetail); + LOGGER.debug("第{}行:解析客户配送明细完成,客户编号={},名称={},金额={}", + rowNum, customerDetail.getCustomerCode(), customerDetail.getCustomerName(), + customerDetail.getAmount()); + } catch (Exception e) { + LOGGER.error("第{}行:解析客户配送明细失败,所有单元格数据:{}", rowNum, data, e); + throw new RuntimeException("解析客户配送明细失败(行:" + rowNum + ")", e); + } + } + + // ---------------------- 核心工具方法(支持多单元格+类型转换) ---------------------- + /** + * 获取第一列数据(用于状态判断) + */ + private String getFirstCellValue(Map data) { + if (data == null || data.isEmpty()) { + return ""; + } + Object firstValue = data.values().iterator().next(); + return firstValue != null ? firstValue.toString().trim() : ""; + } + + /** + * 根据列索引获取列名(用于异常定位) + */ + private String getColumnNameByIndex(Map data, int columnIndex) { + if (data == null || data.isEmpty()) { + return "未知列"; + } + int index = 0; + for (String key : data.keySet()) { + if (index == columnIndex) { + return key; + } + index++; + } + return "第" + (columnIndex + 1) + "列"; + } + + /** + * 按列索引安全获取原始值(不做类型转换) + */ + private Object getValueSafely(Map data, int columnIndex) { + if (data == null || data.isEmpty()) { + return null; + } + int index = 0; + for (Object value : data.values()) { + if (index == columnIndex) { + return value; + } + index++; + } + LOGGER.warn("列索引{}超出当前行单元格数量({}列),返回null", columnIndex, data.size()); + return null; + } + + /** + * 按列索引安全获取值(支持多类型转换,核心工具) + * 功能:1. 直接类型匹配 2. String转数字/日期 3. 数字类型间转换 + */ + private T getValueSafely(Map data, int columnIndex, Class expectedType) { + Object value = getValueSafely(data, columnIndex); + if (value == null) { + LOGGER.debug("列索引{}:单元格值为null,返回null", columnIndex); + return null; + } + + // 1. 直接类型匹配 + if (expectedType.isInstance(value)) { + return expectedType.cast(value); + } + + // 2. String类型转目标类型(核心:处理文本型数字) + if (value instanceof String) { + String strValue = ((String) value).trim(); + if (strValue.isEmpty()) { + LOGGER.debug("列索引{}:单元格值为空字符串,返回null", columnIndex); + return null; + } + + // String → Integer + if (expectedType == Integer.class) { + try { + return expectedType.cast(Integer.parseInt(strValue)); + } catch (NumberFormatException e) { + LOGGER.warn("列索引{}:String转Integer失败,原始值:{}", columnIndex, strValue, e); + return null; + } + } + + // String → Long + if (expectedType == Long.class) { + try { + return expectedType.cast(Long.parseLong(strValue)); + } catch (NumberFormatException e) { + LOGGER.warn("列索引{}:String转Long失败,原始值:{}", columnIndex, strValue, e); + return null; + } + } + + // String → BigDecimal(支持千分位符号,如"1,234.56") + if (expectedType == BigDecimal.class) { + try { + String cleanValue = strValue.replace(",", ""); // 去除千分位逗号 + return expectedType.cast(new BigDecimal(cleanValue)); + } catch (NumberFormatException e) { + LOGGER.warn("列索引{}:String转BigDecimal失败,原始值:{}", columnIndex, strValue, e); + return null; + } + } + + // String → Date(支持多种日期格式) + if (expectedType == Date.class) { + try { + return expectedType.cast(DateUtils.parseDate(strValue, SUPPORTED_DATE_FORMATS)); + } catch (ParseException e) { + LOGGER.warn("列索引{}:String转Date失败,原始值:{},支持格式:{}", + columnIndex, strValue, Arrays.toString(SUPPORTED_DATE_FORMATS), e); + return null; + } + } + } + + // 3. 数字类型间转换(如Double→Integer,Long→BigDecimal) + if (value instanceof Number) { + Number numValue = (Number) value; + if (expectedType == Integer.class) { + return expectedType.cast(numValue.intValue()); + } + if (expectedType == Long.class) { + return expectedType.cast(numValue.longValue()); + } + if (expectedType == BigDecimal.class) { + return expectedType.cast(new BigDecimal(numValue.toString())); + } + } + + // 4. 不支持的转换 + LOGGER.warn("列索引{}:不支持的类型转换,期望类型:{},实际类型:{},原始值:{}", + columnIndex, expectedType.getSimpleName(), value.getClass().getSimpleName(), value); + return null; + } + + /** + * 空值处理:返回默认值 + */ + private T getDefaultValue(T value, T defaultValue) { + return value != null ? value : defaultValue; + } + + // ---------------------- Getter方法(供Service层获取解析结果) ---------------------- + public DeliveryHeader getDeliveryHeader() { + return deliveryHeader; + } + + public List getProductDetailList() { + return productDetailList; + } + + public List getCustomerDeliveryDetailList() { + return customerDeliveryDetailList; + } +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/StockInExcelListener.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/StockInExcelListener.java new file mode 100644 index 000000000..cadd3f6f5 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/StockInExcelListener.java @@ -0,0 +1,259 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.listener; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.excel.exception.ExcelDataConvertException; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.StockInHeader; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.StockInProductDetail; +import org.apache.commons.lang3.time.DateUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.ParseException; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 入库单Excel解析监听器 + * 功能:1. 解析第一行表头数据 2. 解析第二行开始的产品明细 3. 支持文本型数字转换 + */ +public class StockInExcelListener extends AnalysisEventListener> { + private static final Logger LOGGER = LoggerFactory.getLogger(StockInExcelListener.class); + + // 存储解析结果 + private final StockInHeader stockInHeader = new StockInHeader(); + private final List productDetailList = new ArrayList<>(); + + // 支持的日期格式(用于String转Date) + private static final String[] SUPPORTED_DATE_FORMATS = { + "yyyy-MM-dd", "yyyy/MM/dd", "yyyyMMdd", "yyyy-MM-dd HH:mm:ss" + }; + + // 行号标记(用于区分第一行和表格行) + private int currentRowNum = 0; + + @Override + public void invoke(Map data, AnalysisContext context) { + currentRowNum = context.readRowHolder().getRowIndex() + 1; // 行号从1开始 + try { + LOGGER.debug("第{}行解析开始,数据:{}", currentRowNum, data); + + // 1. 解析第一行:表头数据(入库日期、OrderNO) + if (currentRowNum == 1) { + parseHeaderData(data); + } + // 2. 解析第二行及以后:产品明细(跳过表头行:第2行是表格列名) + else if (currentRowNum >= 3) { + if (isValidProductRow(data)) { + StockInProductDetail detail = parseProductDetail(data); + productDetailList.add(detail); + } + } + + } catch (ExcelDataConvertException e) { + // Excel内置转换异常(如日期格式错误) + LOGGER.error("第{}行数据转换异常,列号:{},列名:{}", + currentRowNum, e.getColumnIndex() + 1, getColumnNameByIndex(data, e.getColumnIndex()), e); + throw new RuntimeException("第" + currentRowNum + "行列" + (e.getColumnIndex() + 1) + "数据格式错误", e); + } catch (Exception e) { + // 其他解析异常 + LOGGER.error("第{}行解析异常,数据:{}", currentRowNum, data, e); + throw new RuntimeException("第" + currentRowNum + "行数据解析失败", e); + } + } + + /** + * 解析第一行表头数据 + * 列对应关系:0=入库日期标签,1=入库日期值,2=OrderNO标签,3=OrderNO值 + */ + private void parseHeaderData(Map data) { + // 入库日期(第2列,索引1) + Object stockInDateObj = getValueSafely(data, 1); + if (stockInDateObj != null) { + Date stockInDate = convertToDate(stockInDateObj); + stockInHeader.setStockInDate(stockInDate); + LOGGER.debug("第1行:入库日期解析完成,值:{}", stockInDate); + } + + // OrderNO(第4列,索引3) + Object orderNoObj = getValueSafely(data, 3); + if (orderNoObj != null) { + String orderNo = orderNoObj.toString().trim(); + stockInHeader.setOrderNo(orderNo); + LOGGER.debug("第1行:OrderNO解析完成,值:{}", orderNo); + } + + // 校验表头数据完整性 + if (stockInHeader.getStockInDate() == null || stockInHeader.getOrderNo().isEmpty()) { + LOGGER.warn("第1行表头数据不完整,入库日期:{},OrderNO:{}", + stockInHeader.getStockInDate(), stockInHeader.getOrderNo()); + } + } + + /** + * 解析产品明细数据(一行对应一个产品) + */ + private StockInProductDetail parseProductDetail(Map data) { + StockInProductDetail detail = new StockInProductDetail(); + + // 产品编号(第1列,索引0)- 支持文本型数字转换 + detail.setProductCode(convertToInteger(getValueSafely(data, 0))); + // 产品名称(第2列,索引1) + detail.setProductName(convertToString(getValueSafely(data, 1))); + // 箱含量(第5列,索引4) + detail.setBoxCapacity(convertToInteger(getValueSafely(data, 4))); + // 件数(第6列,索引5) + detail.setPieceCount(convertToInteger(getValueSafely(data, 5))); + // 箱数(第7列,索引6) + detail.setBoxCount(convertToInteger(getValueSafely(data, 6))); + // 饮用日期(第8列,索引7) + detail.setDrinkDate(convertToDate(getValueSafely(data, 7))); + + LOGGER.debug("第{}行产品明细解析完成,产品编号:{},产品名称:{}", + currentRowNum, detail.getProductCode(), detail.getProductName()); + return detail; + } + + /** + * 校验产品行是否有效(排除空行和合计行) + */ + private boolean isValidProductRow(Map data) { + // 有效条件:产品编号不为空 + 不是合计行(合计行产品编号为null,且包含"Total") + Object productCodeObj = getValueSafely(data, 0); + Object productNameObj = getValueSafely(data, 1); + + // 排除合计行(如第7行:Total:68) + if (productNameObj != null && productNameObj.toString().contains("Total")) { + LOGGER.debug("第{}行是合计行,跳过解析", currentRowNum); + return false; + } + + // 排除空行(产品编号为空) + return productCodeObj != null && !productCodeObj.toString().trim().isEmpty(); + } + + /** + * 解析完成回调 + */ + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + LOGGER.info("Excel解析全部完成!解析结果:"); + LOGGER.info("1. 表头信息:入库日期={},OrderNO={}", + stockInHeader.getStockInDate(), stockInHeader.getOrderNo()); + LOGGER.info("2. 产品明细:共{}条记录", productDetailList.size()); + } + + // ---------------------- 工具方法(类型转换+安全取值) ---------------------- + /** + * 按列索引安全获取值(支持列索引越界处理) + */ + private Object getValueSafely(Map data, int columnIndex) { + if (data == null || data.isEmpty()) { + return null; + } + + int index = 0; + for (Object value : data.values()) { + if (index == columnIndex) { + return value; + } + index++; + } + + LOGGER.warn("第{}行列索引{}超出范围(当前行共{}列),返回null", + currentRowNum, columnIndex, data.size()); + return null; + } + + /** + * 根据列索引获取列名(用于异常定位) + */ + private String getColumnNameByIndex(Map data, int columnIndex) { + if (data == null || data.isEmpty()) { + return "未知列"; + } + + int index = 0; + for (String key : data.keySet()) { + if (index == columnIndex) { + return key; + } + index++; + } + + return "第" + (columnIndex + 1) + "列"; + } + + /** + * 通用转换:Object转String + */ + private String convertToString(Object value) { + if (value == null) { + return ""; + } + return value.toString().trim(); + } + + /** + * 通用转换:Object转Integer(支持文本型数字、Number类型) + */ + private Integer convertToInteger(Object value) { + if (value == null) { + return 0; + } + + try { + // 文本型数字(如String"1741") + if (value instanceof String) { + String strValue = ((String) value).trim(); + return strValue.isEmpty() ? 0 : Integer.parseInt(strValue); + } + // Number类型(如Double、Long) + if (value instanceof Number) { + return ((Number) value).intValue(); + } + } catch (NumberFormatException e) { + LOGGER.warn("值转换为Integer失败,值:{},返回0", value, e); + } + + return 0; + } + + /** + * 通用转换:Object转Date(支持Date类型、String类型) + */ + private Date convertToDate(Object value) { + if (value == null) { + return null; + } + + // 直接是Date类型 + if (value instanceof Date) { + return (Date) value; + } + + // String类型转Date(支持多种格式) + if (value instanceof String) { + String strValue = ((String) value).trim(); + try { + return DateUtils.parseDate(strValue, SUPPORTED_DATE_FORMATS); + } catch (ParseException e) { + LOGGER.warn("值转换为Date失败,值:{},支持格式:{}", + strValue, String.join(",", SUPPORTED_DATE_FORMATS), e); + } + } + + return null; + } + + // ---------------------- Getter方法(供Service层获取解析结果) ---------------------- + public StockInHeader getStockInHeader() { + return stockInHeader; + } + + public List getProductDetailList() { + return productDetailList; + } +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java index b81c7111a..f8efe17ac 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java @@ -27,6 +27,8 @@ public interface ReservationStockInOrderMapper extends BaseMapper getMaterialBaseInfoList(@Param("id") String id); public MaterialWarehouseControlPO getInfoByMaterialBaseInfoIds(@Param("id") Long id); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java index c84825059..c24309161 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java @@ -1,15 +1,51 @@ package com.mhd.oms.domain.reservationStockInOrder.repository.persistence; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.excel.EasyExcel; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.common.core.domain.po.UserPo; +import com.mhd.common.core.enums.DictCode; +import com.mhd.common.core.exception.ServiceException; +import com.mhd.common.core.utils.OrderSequence; +import com.mhd.common.core.utils.StringUtils; +import com.mhd.common.core.web.domain.AjaxResult; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.entity.ReservationDeliveryDetailsLink; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.facade.IReservationDeliveryDetailsLinkService; +import com.mhd.oms.domain.reservationInMaterialDetail.repository.facade.IReservationInMaterialDetailService; import com.mhd.oms.domain.reservationInMaterialDetail.repository.po.ReservationInMaterialDetailPO; +import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.ReservationInMaterialDetailDO; +import com.mhd.oms.domain.reservationOutMaterialDetail.repository.facade.IReservationOutMaterialDetailService; +import com.mhd.oms.domain.reservationOutMaterialDetail.repository.todo.ReservationOutMaterialDetailDO; import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder; import com.mhd.oms.domain.reservationStockInOrder.repository.facade.IReservationStockInOrderService; -import com.mhd.oms.domain.reservationStockInOrder.repository.listener.DeliveryExcelListener; +//import com.mhd.oms.domain.reservationStockInOrder.repository.listener.DeliveryExcelListener; +import com.mhd.oms.domain.reservationStockInOrder.repository.listener.DynamicDeliveryExcelListener; +import com.mhd.oms.domain.reservationStockInOrder.repository.listener.StockInExcelListener; import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper; +import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO; import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; -import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryDataDTO; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.*; +import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder; +import com.mhd.oms.domain.reservationStockOutOrder.repository.facade.IReservationStockOutOrderService; +import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper; +import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO; +import com.mhd.oms.domain.reservationStockOutOrder.service.ReservationStockOutOrderApplicationService; +import com.mhd.system.api.SystemServiceFeign; +import com.mhd.system.api.UserServiceFeign; +import com.mhd.system.api.domain.SysDictData; +import com.mhd.system.api.domain.WarehouseFeignPO; +import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; +import com.mhd.system.api.domain.cache.SystemServiceCacheUtil; +import com.mhd.system.api.model.LoginUser; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -17,8 +53,9 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; /** * 入库单Service业务层处理 @@ -30,6 +67,22 @@ import java.util.List; public class ReservationStockInOrderImpl extends ServiceImpl implements IReservationStockInOrderService { @Autowired private ReservationStockInOrderMapper stockInOrderMapper; + @Autowired + private ReservationStockOutOrderMapper stockOutOrderMapper; + @Autowired + private IReservationDeliveryDetailsLinkService reservationDeliveryDetailsLinkService; + @Autowired + private IReservationStockOutOrderService reservationStockOutOrderService; + @Autowired + private IReservationOutMaterialDetailService reservationOutMaterialDetailService; + @Autowired + private ReservationStockOutOrderApplicationService reservationStockOutOrderApplicationService; + @Autowired + private UserServiceFeign userServiceFeign; + @Autowired + private SystemServiceFeign systemServiceFeign; + @Autowired + private IReservationInMaterialDetailService materialDetailService; /** * 查询入库单列表 @@ -100,33 +153,405 @@ public class ReservationStockInOrderImpl extends ServiceImpl productDetailList = deliveryDataDTO.getProductDetailList(); + List> shipperIds = new ArrayList<>(); + Set processedShipperIds = new HashSet<>(); + for (ProductDetail productDetail : productDetailList) { + MaterialBaseInfoPO materialBaseInfoPO = stockInOrderMapper.getByName(productDetail.getProductName()); + if (materialBaseInfoPO != null && materialBaseInfoPO.getShipperId() != null) { + Long shipperId = materialBaseInfoPO.getShipperId(); + if (processedShipperIds.add(shipperId)) { + Map shipper = new HashMap<>(); + shipper.put("shipperId", shipperId); + shipper.put("shipperName", materialBaseInfoPO.getShipperName()); + shipper.put("shipperCode", materialBaseInfoPO.getShipperCode()); + shipperIds.add(shipper); + } + } + } + + if (shipperIds.isEmpty()) { + throw new Exception("出库物料货主不存在!"); + } + if (shipperIds.size() > 1) { + throw new Exception("出库物料不是同一个货主!"); + } + + ReservationStockOutOrderDO reservationStockOutOrderDO = new ReservationStockOutOrderDO(); + reservationStockOutOrderDO.setOutOrderNumber(OrderSequence.getOrderCode("CK")); + reservationStockOutOrderDO.setShipperId((Long) shipperIds.get(0).get("shipperId")); + reservationStockOutOrderDO.setShipperName((String) shipperIds.get(0).get("shipperName")); + reservationStockOutOrderDO.setShipperCode((String) shipperIds.get(0).get("shipperCode")); + reservationStockOutOrderDO.setNeedTransportFlag("1"); + reservationStockOutOrderDO.setNeedDeclareFlag("1"); + reservationStockOutOrderDO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + reservationStockOutOrderDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + reservationStockOutOrderDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + reservationStockOutOrderDO.setIssueStatus(0); + reservationStockOutOrderDO.setSalesmanId(loginUser.getUserPo().getUserId().toString()); + reservationStockOutOrderDO.setSalesmanName(loginUser.getUserPo().getUserName()); + reservationStockOutOrderDO.setCreateTime(new Date()); + reservationStockOutOrderDO.setCreateBy(loginUser.getUserPo().getUserId()); + reservationStockOutOrderDO.setCreateByName(loginUser.getUserPo().getUserName()); + reservationStockOutOrderDO.setDelFlag(1); + reservationStockOutOrderDO.setDocumentCreator(loginUser.getUserPo().getUserId().toString()); + reservationStockOutOrderDO.setDocumentCreatorName(loginUser.getUserPo().getUserName()); + reservationStockOutOrderDO.setOrderTypeCode("pu_tong_chu_ku"); + reservationStockOutOrderDO.setOrderTypeName("普通出库"); + DeliveryHeader deliveryHeader = deliveryDataDTO.getDeliveryHeader(); + reservationStockOutOrderDO.setTotalAmount(deliveryHeader.getSubtotalAmount()); + reservationStockOutOrderDO.setRoute(deliveryHeader.getDeliveryLineNo()); + reservationStockOutOrderDO.setOutboundDate(deliveryHeader.getDeliveryDate()); + int index = 1; + List reservationOutMaterialDetailDOList = new ArrayList<>(); + for (ProductDetail productDetail : productDetailList) { + ReservationOutMaterialDetailDO reservationOutMaterialDetailDO = new ReservationOutMaterialDetailDO(); + reservationOutMaterialDetailDO.setOutOrderNumber(reservationStockOutOrderDO.getOutOrderNumber()); + MaterialBaseInfoPO materialBaseInfoPO = stockInOrderMapper.getByName(productDetail.getProductName()); + reservationOutMaterialDetailDO.setMaterialBaseInfoId(materialBaseInfoPO.getMaterialBaseInfoId()); + reservationOutMaterialDetailDO.setQuantity(new BigDecimal(productDetail.getPieceCount()).setScale(2, BigDecimal.ROUND_HALF_UP).add(new BigDecimal(productDetail.getBoxCount()).setScale(2, BigDecimal.ROUND_HALF_UP))); + reservationOutMaterialDetailDO.setMaterialCode(materialBaseInfoPO.getMaterialCode()); + reservationOutMaterialDetailDO.setMaterialName(materialBaseInfoPO.getMaterialName()); + reservationOutMaterialDetailDO.setBarCode(materialBaseInfoPO.getBarCode()); + reservationOutMaterialDetailDO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + reservationOutMaterialDetailDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + reservationOutMaterialDetailDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + reservationOutMaterialDetailDO.setCreateBy(loginUser.getUserPo().getUserId()); + reservationOutMaterialDetailDO.setCreateByName(loginUser.getUserPo().getUserName()); + String lot = generateDateSerialNumber(); + lot = lot+"-"+index; + index++; + reservationOutMaterialDetailDO.setLotNo(lot); + reservationOutMaterialDetailDOList.add(reservationOutMaterialDetailDO); + } + reservationStockOutOrderDO.setMaterialDetailList(reservationOutMaterialDetailDOList); + reservationStockOutOrderApplicationService.insert(reservationStockOutOrderDO); + + List customerDeliveryDetailList = deliveryDataDTO.getCustomerDeliveryDetailList(); + for (CustomerDeliveryDetail customerDeliveryDetail : customerDeliveryDetailList) { + ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = new ReservationDeliveryDetailsLink(); + reservationDeliveryDetailsLink.setInvoiceNumber(customerDeliveryDetail.getInvoiceNo()); + reservationDeliveryDetailsLink.setAmount(customerDeliveryDetail.getAmount()); + reservationDeliveryDetailsLink.setCustomerNumber(customerDeliveryDetail.getCustomerCode()); + reservationDeliveryDetailsLink.setDeliveryName(customerDeliveryDetail.getCustomerName()); + reservationDeliveryDetailsLink.setBox(customerDeliveryDetail.getBoxCount()); + reservationDeliveryDetailsLink.setBag(customerDeliveryDetail.getPackageCount()); + reservationDeliveryDetailsLink.setCategory(customerDeliveryDetail.getCategory()); + reservationDeliveryDetailsLink.setOrderNumber(reservationStockOutOrderDO.getOutOrderNumber()); + List reservationStockOutOrderDOList = stockOutOrderMapper.selectList(new LambdaQueryWrapper().eq(ReservationStockOutOrder::getOutOrderNumber, reservationStockOutOrderDO.getOutOrderNumber())); + if (reservationStockOutOrderDOList != null && !reservationStockOutOrderDOList.isEmpty() && reservationStockOutOrderDOList.get(0) != null) { + reservationDeliveryDetailsLink.setOrderId(reservationStockOutOrderDOList.get(0).getOutOrderId()); + } + reservationDeliveryDetailsLinkService.save(reservationDeliveryDetailsLink); + } return deliveryDataDTO; } + public String generateDateSerialNumber() { + // 1. 获取当前时间,格式化为:yyMMdd (2位年+2位月+2位日) + SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); + String datePart = sdf.format(new Date()); + + // 2. 生成 000~999 的 3 位随机数(不足补零) + Random random = new Random(); + int randomNum = random.nextInt(1000); // 0~999 + String randomPart = String.format("%03d", randomNum); // 自动补前导零 + + // 3. 拼接结果 + return datePart + randomPart; + } + + private static final Logger LOGGER = LoggerFactory.getLogger(ReservationStockInOrderImpl.class); + // 默认工作表名称(与Excel一致) + private static final String DEFAULT_SHEET_NAME = "入库模版"; + + @Override + public StockInDataDTO parseStockInExcel(MultipartFile file, String sheetName) throws Exception { + LoginUser loginUser = SecurityUtils.getLoginUser(); + // 1. 校验文件 + if (file.isEmpty()) { + LOGGER.error("上传的Excel文件为空"); + throw new IllegalArgumentException("Excel文件不能为空"); + } + + // 2. 校验工作表名称(默认使用"入库模版") + String targetSheetName = (sheetName == null || sheetName.trim().isEmpty()) + ? DEFAULT_SHEET_NAME : sheetName.trim(); + + // 3. 使用EasyExcel解析(指定监听器) + StockInExcelListener listener = new StockInExcelListener(); + try (InputStream inputStream = file.getInputStream()) { + EasyExcel.read(inputStream, listener) + .sheet(targetSheetName) // 指定工作表 + .headRowNumber(0) // 从第1行开始解析(不跳过任何行) + .doRead(); + } + + // 4. 封装DTO返回 + StockInDataDTO resultDTO = new StockInDataDTO(); + resultDTO.setStockInHeader(listener.getStockInHeader()); + resultDTO.setProductDetailList(listener.getProductDetailList()); + + LOGGER.info("Excel解析成功,工作表:{},产品明细数:{}", + targetSheetName, resultDTO.getProductDetailList().size()); + List productDetailList = resultDTO.getProductDetailList(); + List> shipperIds = new ArrayList<>(); + Set processedShipperIds = new HashSet<>(); + for (StockInProductDetail productDetail : productDetailList) { + MaterialBaseInfoPO materialBaseInfoPO = stockInOrderMapper.getByName(productDetail.getProductName()); + if (materialBaseInfoPO != null && materialBaseInfoPO.getShipperId() != null) { + Long shipperId = materialBaseInfoPO.getShipperId(); + if (processedShipperIds.add(shipperId)) { + Map shipper = new HashMap<>(); + shipper.put("shipperId", shipperId); + shipper.put("shipperName", materialBaseInfoPO.getShipperName()); + shipper.put("shipperCode", materialBaseInfoPO.getShipperCode()); + shipperIds.add(shipper); + } + } + } + ReservationStockInOrderDO reservationStockInOrderDO = new ReservationStockInOrderDO(); + reservationStockInOrderDO.setInOrderNumber(OrderSequence.getOrderCode("RK")); + reservationStockInOrderDO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + reservationStockInOrderDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + reservationStockInOrderDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + reservationStockInOrderDO.setCreateBy(loginUser.getUserPo().getUserId()); + reservationStockInOrderDO.setCreateByName(loginUser.getUserPo().getUserName()); + reservationStockInOrderDO.setCreateTime(new Date()); + reservationStockInOrderDO.setDelFlag(1); + reservationStockInOrderDO.setDocumentCreator(loginUser.getUserPo().getUserId().toString()); + reservationStockInOrderDO.setDocumentCreatorName(loginUser.getUserPo().getUserName()); + reservationStockInOrderDO.setOrderTypeCode("pu_tong_ru_ku"); + reservationStockInOrderDO.setOrderTypeName("普通入库"); + reservationStockInOrderDO.setIssueStatus(0); + reservationStockInOrderDO.setSalesmanId(loginUser.getUserPo().getUserId().toString()); + reservationStockInOrderDO.setSalesmanName(loginUser.getUserPo().getUserName()); + reservationStockInOrderDO.setShipperId((Long) shipperIds.get(0).get("shipperId")); + reservationStockInOrderDO.setShipperName((String) shipperIds.get(0).get("shipperName")); + reservationStockInOrderDO.setShipperCode((String) shipperIds.get(0).get("shipperCode")); + StockInHeader stockInHeader = resultDTO.getStockInHeader(); + reservationStockInOrderDO.setWarehouseDate(stockInHeader.getStockInDate()); + reservationStockInOrderDO.setBusinessOrderNo(stockInHeader.getOrderNo()); + List reservationInMaterialDetailDOList = new ArrayList<>(); + int index = 1; + for (StockInProductDetail stockInProductDetail : productDetailList) { + ReservationInMaterialDetailDO reservationInMaterialDetailDO = new ReservationInMaterialDetailDO(); + reservationInMaterialDetailDO.setInOrderNumber(reservationStockInOrderDO.getInOrderNumber()); + reservationInMaterialDetailDO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + reservationInMaterialDetailDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + reservationInMaterialDetailDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + reservationInMaterialDetailDO.setCreateBy(loginUser.getUserPo().getUserId()); + reservationInMaterialDetailDO.setCreateByName(loginUser.getUserPo().getUserName()); + reservationInMaterialDetailDO.setCreateTime(new Date()); + MaterialBaseInfoPO materialBaseInfoPO = stockInOrderMapper.getByName(stockInProductDetail.getProductName()); + if (materialBaseInfoPO != null) { + reservationInMaterialDetailDO.setMaterialBaseInfoId(materialBaseInfoPO.getMaterialBaseInfoId()); + reservationInMaterialDetailDO.setMaterialName(materialBaseInfoPO.getMaterialName()); + reservationInMaterialDetailDO.setMaterialCode(materialBaseInfoPO.getMaterialCode()); + } + reservationInMaterialDetailDO.setQuantity(new BigDecimal(stockInProductDetail.getPieceCount()).setScale(2, BigDecimal.ROUND_HALF_UP)); + String lot = generateDateSerialNumber(); + lot = lot+"-"+index; + index++; + reservationInMaterialDetailDO.setLotNo(lot); + reservationInMaterialDetailDO.setDrinkDate(stockInProductDetail.getDrinkDate()); + reservationInMaterialDetailDOList.add(reservationInMaterialDetailDO); + } + reservationStockInOrderDO.setMaterialDetailList(reservationInMaterialDetailDOList); + insertApplication(reservationStockInOrderDO); + return resultDTO; + } + + public Boolean insertApplication(ReservationStockInOrderDO stockInOrderDO) { +// 如果仓库ID为空,从当前登录用户的关联仓库中获取 + if (stockInOrderDO.getWarehouseId() == null) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null) { + throw new ServiceException("登录已失效,请重新登录"); + } + AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); + if (associationWarehouseCacheDO == null || associationWarehouseCacheDO.getWarehouseId() == null) { + throw new ServiceException("当前用户未配置关联仓库,请先配置仓库"); + } + stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); + } + //设置仓库 + setWarehouseInfo(stockInOrderDO); +// 设置货主信息 + shipperParam(stockInOrderDO); +// 设置供应商信息 + supplierParam(stockInOrderDO); +// 设置数据字典键值 + setDataDict(stockInOrderDO); + return insertDomain(stockInOrderDO); + } + + @Transactional(rollbackFor = Exception.class) + public Boolean insertDomain(ReservationStockInOrderDO stockInOrderDO) { + if (stockInOrderDO.getInOrderNumber() == null) { + stockInOrderDO.setInOrderNumber(OrderSequence.getOrderCode("RK")); + } +// //统计总计划数 + BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(ReservationInMaterialDetailDO::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); + stockInOrderDO.setQuantity(quantity); + this.insert(stockInOrderDO); + return materialDetailService.batchInsert(stockInOrderDO.getInOrderNumber(), stockInOrderDO.getMaterialDetailList()); + } + + private void setWarehouseInfo(ReservationStockInOrderDO stockInOrderDO) { + if (stockInOrderDO.getWarehouseId() == null) { + throw new ServiceException("仓库ID不能为空"); + } + AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(stockInOrderDO.getWarehouseId()); + if (ajaxResult == null) { + throw new ServiceException("获取仓库信息失败:返回结果为空,仓库ID:" + stockInOrderDO.getWarehouseId()); + } + Object codeObj = ajaxResult.get("code"); + if (codeObj == null || !"200".equals(String.valueOf(codeObj))) { + String errorMsg = ajaxResult.get("msg") != null ? String.valueOf(ajaxResult.get("msg")) : "未知错误"; + throw new ServiceException("获取仓库信息失败,仓库ID:" + stockInOrderDO.getWarehouseId() + ",错误信息:" + errorMsg); + } + Object dataObj = ajaxResult.get("data"); + if (dataObj == null) { + throw new ServiceException("获取仓库信息失败:返回数据为空,仓库ID:" + stockInOrderDO.getWarehouseId()); + } + WarehouseFeignPO warehouseFeignPO = JSON.parseObject(JSONObject.toJSONString(dataObj), WarehouseFeignPO.class); + if (warehouseFeignPO == null) { + throw new ServiceException("获取仓库信息失败:数据解析失败,仓库ID:" + stockInOrderDO.getWarehouseId()); + } + stockInOrderDO.setWarehouseCode(warehouseFeignPO.getWarehouseCode()); + stockInOrderDO.setWarehouseName(warehouseFeignPO.getWarehouseName()); + } + + /** + * @description 封装货主信息(改为与出库单相同的简洁逻辑,使用入库单的字段shipperName) + * @author ZhouGY + * @date 2024/5/9 20:43 + * @param stockInOrderDO + */ + private void shipperParam(ReservationStockInOrderDO stockInOrderDO){ + // 新增/编辑时前端可能只传 shipperId(下拉选中值),shipperName 为空。 + // 这里优先按 shipperId 回填货主编码/名称;其次再按 shipperName(名称或数字ID字符串)回填。 + + // 1) 优先按 shipperId 查询 + if (ObjectUtil.isNotNull(stockInOrderDO.getShipperId())) { + AjaxResult ajaxResult = userServiceFeign.getInfo(stockInOrderDO.getShipperId()); + if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ + throw new ServiceException("获取货主信息失败"); + } + UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class); + stockInOrderDO.setShipperId(userPo.getUserId()); + stockInOrderDO.setShipperCode(userPo.getUserMemberCode()); + stockInOrderDO.setShipperName(userPo.getUserName()); + return; + } + + // 2) shipperId 为空时,按 shipperName 兜底 + String shipperName = stockInOrderDO.getShipperName(); + if (StringUtils.isEmpty(shipperName)) { + return; + } + if (!shipperName.matches("\\d+")) { + // 按名称查询 + AjaxResult ajaxResult = userServiceFeign.getInfoByName(shipperName); + if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ + throw new ServiceException("获取货主信息失败"); + } + UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class); + stockInOrderDO.setShipperId(userPo.getUserId()); + stockInOrderDO.setShipperCode(userPo.getUserMemberCode()); + stockInOrderDO.setShipperName(userPo.getUserName()); + } else { + // shipperName 是数字:按ID查询 + AjaxResult ajaxResult = userServiceFeign.getInfo(Long.valueOf(shipperName)); + if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ + throw new ServiceException("获取货主信息失败"); + } + UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class); + stockInOrderDO.setShipperId(userPo.getUserId()); + stockInOrderDO.setShipperCode(userPo.getUserMemberCode()); + stockInOrderDO.setShipperName(userPo.getUserName()); + } + } + + /** + * @description 封装供应商信息 + * @author ZhouGY + * @date 2024/5/9 20:43 + * @param stockInOrderDO + */ + private void supplierParam(ReservationStockInOrderDO stockInOrderDO){ + if (ObjectUtil.isNotNull(stockInOrderDO.getSupplierId())){ + AjaxResult ajaxResult = userServiceFeign.getInfo(stockInOrderDO.getSupplierId()); + if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ + throw new ServiceException("获取供应商信息失败"); + } + UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class); + stockInOrderDO.setSupplierName(userPo.getUserName()); + } + } + + /** + * @description 设置数据字典键值 + * @author ZhouGY + * @date 2024/4/7 14:33 + * @param stockInOrderDO + */ + private void setDataDict(ReservationStockInOrderDO stockInOrderDO){ + //翻译单据类型 + if (StringUtils.isNotBlank(stockInOrderDO.getOrderTypeCode())){ + AjaxResult documentTypeResult = systemServiceFeign.selectListByDictType(DictCode.DOCUMENT_TYPE.getCode()); + if (!"200".equals(String.valueOf(documentTypeResult.get("code")))) { + throw new ServiceException("单据类型数据字典不存在"); + } + List documentTypeDataList = JSON.parseArray(JSONUtil.toJsonStr(documentTypeResult.get("data")), SysDictData.class); + + SysDictData documentTypeData = documentTypeDataList.stream().filter(info -> ObjectUtil.equal(info.getDictValue(), stockInOrderDO.getOrderTypeCode())).findAny().orElse(null); + if (null == documentTypeData) { + throw new ServiceException("单据类型【" + stockInOrderDO.getOrderTypeCode() + "】数据字典不存在 请联系管理员"); + } + stockInOrderDO.setOrderTypeName(documentTypeData.getDictLabel()); + } + + //翻译优先级别类型 + if (StringUtils.isNotBlank(stockInOrderDO.getPriorityLevelCode())){ + AjaxResult priorityLevelResult = systemServiceFeign.selectListByDictType(DictCode.PRIORITY_LEVEL.getCode()); + if (!"200".equals(String.valueOf(priorityLevelResult.get("code")))) { + throw new ServiceException("优先级别类型数据字典不存在"); + } + List priorityLevelDataList = JSON.parseArray(JSONUtil.toJsonStr(priorityLevelResult.get("data")), SysDictData.class); + + SysDictData priorityLevelData = priorityLevelDataList.stream().filter(info -> ObjectUtil.equal(info.getDictValue(), stockInOrderDO.getPriorityLevelCode())).findAny().orElse(null); + if (null == priorityLevelData) { + throw new ServiceException("优先级别类型【" + stockInOrderDO.getPriorityLevelCode() + "】数据字典不存在 请联系管理员"); + } + stockInOrderDO.setPriorityLevelName(priorityLevelData.getDictLabel()); + } + } + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/DeliveryHeader.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/DeliveryHeader.java index 40a12dcfc..311f557dd 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/DeliveryHeader.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/DeliveryHeader.java @@ -12,7 +12,7 @@ public class DeliveryHeader { // 送货日期 private Date deliveryDate; // 送货线号 - private Integer deliveryLineNo; + private String deliveryLineNo; // 车次 private Integer trainNumber; // 纪录合共-货品总数量 diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInDataDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInDataDTO.java new file mode 100644 index 000000000..3e4be7779 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInDataDTO.java @@ -0,0 +1,33 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.vo; + +import lombok.Data; + +import java.util.List; + +/** + * 入库单数据DTO(封装表头信息和产品明细列表,用于Controller层传输) + */ +@Data +public class StockInDataDTO { + // 入库表头信息 + private StockInHeader stockInHeader; + // 入库产品明细列表 + private List productDetailList; + + // Getter和Setter方法 + public StockInHeader getStockInHeader() { + return stockInHeader; + } + + public void setStockInHeader(StockInHeader stockInHeader) { + this.stockInHeader = stockInHeader; + } + + public List getProductDetailList() { + return productDetailList; + } + + public void setProductDetailList(List productDetailList) { + this.productDetailList = productDetailList; + } +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInHeader.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInHeader.java new file mode 100644 index 000000000..717aea42a --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInHeader.java @@ -0,0 +1,34 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.vo; + +import lombok.Data; + +import java.util.Date; + +/** + * 入库单表头实体类(对应Excel第一行数据) + * 存储:入库日期、OrderNO + */ +@Data +public class StockInHeader { + // 入库日期(Excel第一行第2列) + private Date stockInDate; + // 订单编号(Excel第一行第4列) + private String orderNo; + + // Getter和Setter方法 + public Date getStockInDate() { + return stockInDate; + } + + public void setStockInDate(Date stockInDate) { + this.stockInDate = stockInDate; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInProductDetail.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInProductDetail.java new file mode 100644 index 000000000..df3efbc4c --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/vo/StockInProductDetail.java @@ -0,0 +1,73 @@ +package com.mhd.oms.domain.reservationStockInOrder.repository.vo; + +import lombok.Data; + +import java.util.Date; + +/** + * 入库产品明细实体类(对应Excel第二行开始的表格数据) + */ +@Data +public class StockInProductDetail { + // 产品编号(Excel第1列) + private Integer productCode; + // 产品名称(Excel第2列) + private String productName; + // 箱含量(Excel第5列) + private Integer boxCapacity; + // 件数(Excel第6列) + private Integer pieceCount; + // 箱数(Excel第7列:Qty(cases)) + private Integer boxCount; + // 饮用日期(Excel第8列) + private Date drinkDate; + + // Getter和Setter方法 + public Integer getProductCode() { + return productCode; + } + + public void setProductCode(Integer productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public Integer getBoxCapacity() { + return boxCapacity; + } + + public void setBoxCapacity(Integer boxCapacity) { + this.boxCapacity = boxCapacity; + } + + public Integer getPieceCount() { + return pieceCount; + } + + public void setPieceCount(Integer pieceCount) { + this.pieceCount = pieceCount; + } + + public Integer getBoxCount() { + return boxCount; + } + + public void setBoxCount(Integer boxCount) { + this.boxCount = boxCount; + } + + public Date getDrinkDate() { + return drinkDate; + } + + public void setDrinkDate(Date drinkDate) { + this.drinkDate = drinkDate; + } +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java index 0f77c6e7b..5108cb606 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java @@ -457,5 +457,10 @@ public class ReservationStockOutOrder extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + @ApiModelProperty("总金额") + @Excel(name = "总金额") + private BigDecimal totalAmount; + @ApiModelProperty("路线") + private String route; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java index f811ec524..4099c5ba4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java @@ -3,6 +3,8 @@ package com.mhd.oms.domain.reservationStockOutOrder.repository.po; import com.fasterxml.jackson.annotation.JsonFormat; import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.web.domain.BaseVOEntity; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.entity.ReservationDeliveryDetailsLink; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.po.ReservationDeliveryDetailsLinkPO; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.po.ReservationOutMaterialDetailPO; //import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialCheckPO; //import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO; @@ -468,4 +470,10 @@ public class ReservationStockOutOrderPO extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + @ApiModelProperty("总金额") + @Excel(name = "总金额") + private BigDecimal totalAmount; + @ApiModelProperty("路线") + private String route; + private List reservationDeliveryDetailsLinkList; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java index 4f4aab15f..f9581b624 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java @@ -504,4 +504,10 @@ public class ReservationStockOutOrderDO extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + + @ApiModelProperty("总金额") + @Excel(name = "总金额") + private BigDecimal totalAmount; + @ApiModelProperty("路线") + private String route; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java index 6ee5a323d..cc6227fc8 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java @@ -493,4 +493,9 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO @ApiModelProperty("推送人姓名") private String pushByName; + @ApiModelProperty("总金额") + @Excel(name = "总金额") + private BigDecimal totalAmount; + @ApiModelProperty("路线") + private String route; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index 6941fed64..35a90d262 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -18,6 +18,9 @@ import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.oms.domain.gwLog.entity.GwLog; import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.entity.ReservationDeliveryDetailsLink; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.mapper.ReservationDeliveryDetailsLinkMapper; +import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.po.ReservationDeliveryDetailsLinkPO; import com.mhd.oms.domain.reservationInMaterialDetail.entity.ReservationInMaterialDetail; import com.mhd.oms.domain.reservationInMaterialDetail.repository.facade.IReservationInMaterialDetailService; import com.mhd.oms.domain.reservationInMaterialDetail.repository.mapper.ReservationInMaterialDetailMapper; @@ -105,6 +108,8 @@ public class ReservationStockOutOrderApplicationService { private ReservationStockOutOrderMapper reservationStockOutOrderMapper; @Autowired private ReservationOutMaterialDetailMapper reservationOutMaterialDetailMapper; + @Autowired + private ReservationDeliveryDetailsLinkMapper reservationDeliveryDetailsLinkMapper; @Autowired private ReservationStockInOrderMapper reservationStockInOrderMapper; @@ -355,7 +360,9 @@ public class ReservationStockOutOrderApplicationService { // if (stockOutOrderPO.getStatus() != null && (stockOutOrderPO.getStatus() == 9 || stockOutOrderPO.getStatus() == 12)) { // filterMaterialDetailByPickingQuantity(detailList, stockOutOrderPO.getReview(), stockOutOrderPO.getOutOrderNumber()); // } - + List reservationDeliveryDetailsLinks = reservationDeliveryDetailsLinkMapper.selectList(new LambdaQueryWrapper() + .eq(ReservationDeliveryDetailsLink::getOrderNumber, stockOutOrderPO.getOutOrderNumber())); + stockOutOrderPO.setReservationDeliveryDetailsLinkList(reservationDeliveryDetailsLinks); return stockOutOrderPO; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/entity/SysTableConfig.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/entity/SysTableConfig.java index 35cfd93b2..57e390483 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/entity/SysTableConfig.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/entity/SysTableConfig.java @@ -66,4 +66,8 @@ public class SysTableConfig extends BaseVOEntity { @ApiModelProperty(value = "物料添加方式") @Excel(name = "物料添加方式", width = 15) private String materialAddType; + /**配送明细*/ + @ApiModelProperty(value = "配送明细") + @Excel(name = "配送明细", width = 15) + private String deliveryDetail; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/po/SysTableConfigPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/po/SysTableConfigPO.java index c903ae2df..81da0aa91 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/po/SysTableConfigPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/po/SysTableConfigPO.java @@ -64,4 +64,8 @@ public class SysTableConfigPO extends BaseVOEntity { @ApiModelProperty(value = "组织名称") @Excel(name = "组织名称", width = 15) private String organizationName; + /**配送明细*/ + @ApiModelProperty(value = "配送明细") + @Excel(name = "配送明细", width = 15) + private String deliveryDetail; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java index 65d41ccfd..15c8a806b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java @@ -57,6 +57,10 @@ public class SysTableConfigDTO extends BaseVOEntity { @ApiModelProperty(value = "物料添加方式") @Excel(name = "物料添加方式", width = 15) private String materialAddType; + /**配送明细*/ + @ApiModelProperty(value = "配送明细") + @Excel(name = "配送明细", width = 15) + private String deliveryDetail; /**一级组织ID*/ @ApiModelProperty(value = "一级组织ID") @Excel(name = "一级组织ID", width = 15) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java index 960428eae..c002d4a13 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java @@ -65,4 +65,8 @@ public class SysTableConfigVO extends BaseVOEntity { @ApiModelProperty(value = "组织名称") @Excel(name = "组织名称", width = 15) private String organizationName; + /**配送明细*/ + @ApiModelProperty(value = "配送明细") + @Excel(name = "配送明细", width = 15) + private String deliveryDetail; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java index 907f6e3c2..698de9227 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java @@ -9,6 +9,7 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStock import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDTO; import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryDataDTO; +import com.mhd.oms.domain.reservationStockInOrder.repository.vo.StockInDataDTO; import com.mhd.oms.domain.reservationStockInOrder.service.ReservationStockInOrderApplicationService; import com.mhd.oms.domain.reservationStockInOrder.service.ReservationStockInOrderAssembler; import com.mhd.system.api.domain.InMaterialDetail; @@ -197,12 +198,14 @@ public class ReservationStockInOrderApi extends BaseController { * @return 解析后的出库数据 */ @PostMapping("/parseExcel") - public ResponseEntity parseExcel( - @RequestParam("file") MultipartFile file, - @RequestParam("sheetName") String sheetName) { + public ResponseEntity> parseExcel( + @RequestParam("file") MultipartFile file) { try { - DeliveryDataDTO deliveryDataDTO = reservationStockInOrderService.parseExcelFile(file, sheetName); - return new ResponseEntity<>(deliveryDataDTO, HttpStatus.OK); + DeliveryDataDTO deliveryDataDTO = reservationStockInOrderService.parseExcelFile(file, ""); + Map result = new HashMap<>(); + result.put("result", deliveryDataDTO); + result.put("code",200); + return new ResponseEntity<>(result, HttpStatus.OK); } catch (IllegalArgumentException e) { return new ResponseEntity<>(HttpStatus.BAD_REQUEST); } catch (Exception e) { @@ -210,6 +213,31 @@ public class ReservationStockInOrderApi extends BaseController { } } + /** + * 接口1:仅解析Excel文件(返回解析结果,不保存) + * 用途:预览Excel解析数据 + */ + @PostMapping("/parse-excel") + public ResponseEntity> parseStockInExcel( + @RequestParam("file") MultipartFile file, + @RequestParam(value = "sheetName", required = false) String sheetName) { + try { + StockInDataDTO resultDTO = reservationStockInOrderService.parseStockInExcel(file, sheetName); + Map result = new HashMap<>(); + result.put("result", resultDTO); + result.put("code",200); + return new ResponseEntity<>(result, HttpStatus.OK); + } catch (IllegalArgumentException e) { + // 参数错误(如文件为空) +// LOGGER.error("Excel解析参数错误:{}", e.getMessage()); + return new ResponseEntity<>(HttpStatus.BAD_REQUEST); + } catch (Exception e) { + // 其他解析异常 +// LOGGER.error("Excel解析失败:{}", e.getMessage(), e); + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + @ApiOperation("批量推送") @PostMapping("/batchPush") diff --git a/mhd_oms/src/main/resources/mapper/reservationDeliveryDetailsLink/ReservationDeliveryDetailsLinkMapper.xml b/mhd_oms/src/main/resources/mapper/reservationDeliveryDetailsLink/ReservationDeliveryDetailsLinkMapper.xml new file mode 100644 index 000000000..9a1fb4ca9 --- /dev/null +++ b/mhd_oms/src/main/resources/mapper/reservationDeliveryDetailsLink/ReservationDeliveryDetailsLinkMapper.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + select id, create_by, create_time, update_by, update_time, del_flag, order_id, category, invoice_number, customer_number, delivery_name, box, bag, amount from RESERVATION_DELIVERY_DETAILS_LINK + + + + + + and order_id = #{orderId} + + + and category = #{category} + + + and invoice_number = #{invoiceNumber} + + + and customer_number = #{customerNumber} + + + and delivery_name like concat('%', #{deliveryName}, '%') + + + and box = #{box} + + + and bag = #{bag} + + + and amount = #{amount} + + + + + + \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index c3d30b24d..2fcf06202 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -454,6 +454,10 @@ + + diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java index 8d319e59b..415c0bee9 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java @@ -3,14 +3,17 @@ package com.mhd.wms.domain.inMaterialDetail.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.web.domain.BaseVOEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; /** @@ -372,4 +375,10 @@ public class InMaterialDetail extends BaseVOEntity { @ApiModelProperty("oms入库单详情id") @Excel(name = "oms入库单详情id") private String omsInMaterialDetail; + + + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java index 6917e59b4..6d0015b47 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java @@ -12,6 +12,7 @@ import java.math.BigDecimal; import java.util.List; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; /** @@ -417,4 +418,9 @@ public class InMaterialDetailPO extends StockInOrderBasePO { @ApiModelProperty("oms入库单详情id") @Excel(name = "oms入库单详情id") private String omsInMaterialDetail; + + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java index a125b01d9..e20dff8c2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java @@ -1,5 +1,6 @@ package com.mhd.wms.domain.inMaterialDetail.repository.todo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; @@ -8,8 +9,10 @@ import com.mhd.wms.domain.materialMoreDetail.repository.todo.MaterialMoreDetailD import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderBaseDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; import java.util.List; @@ -380,4 +383,10 @@ public class InMaterialDetailDO extends StockInOrderBaseDO { @ApiModelProperty("oms入库单详情id") @Excel(name = "oms入库单详情id") private String omsInMaterialDetail; + + + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/entity/ReceiptMaterialDetail.java b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/entity/ReceiptMaterialDetail.java index c702c4493..f0177b035 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/entity/ReceiptMaterialDetail.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/entity/ReceiptMaterialDetail.java @@ -10,6 +10,7 @@ import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.web.domain.BaseVOEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; @@ -366,4 +367,10 @@ public class ReceiptMaterialDetail extends BaseVOEntity { @Excel(name = "抄码数量克重详情") private String copyDetails; + + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/po/ReceiptMaterialDetailPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/po/ReceiptMaterialDetailPO.java index d0404036c..a12a57139 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/po/ReceiptMaterialDetailPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/po/ReceiptMaterialDetailPO.java @@ -14,6 +14,7 @@ import java.math.BigDecimal; import java.util.List; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; /** @@ -363,4 +364,10 @@ public class ReceiptMaterialDetailPO extends BaseVOEntity { @ApiModelProperty("oms入库单详情id") @Excel(name = "oms入库单详情id") private String omsInMaterialDetail; -} + + + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/todo/ReceiptMaterialDetailDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/todo/ReceiptMaterialDetailDO.java index 9ed048d74..8ab0089ce 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/todo/ReceiptMaterialDetailDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/todo/ReceiptMaterialDetailDO.java @@ -13,6 +13,7 @@ import java.math.BigDecimal; import java.util.List; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; /** @@ -358,4 +359,9 @@ public class ReceiptMaterialDetailDO extends BaseVOEntity { @ApiModelProperty("oms入库单详情id") @Excel(name = "oms入库单详情id") private String omsInMaterialDetail; -} + + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java index 197d36720..d767bae4e 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java @@ -570,6 +570,7 @@ public class StockInOrderDomainService { planQty = inMaterialDetailPO.getInboundQuantity(); } receiptMaterialDetailDO.setQuantity(planQty); + receiptMaterialDetailDO.setDrinkDate(inMaterialDetailPO.getDrinkDate()); receiptMaterialDetailDOList.add(receiptMaterialDetailDO); }); stockReceiptOrderDO.setMaterialDetailList(receiptMaterialDetailDOList); diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java index 6c717aa86..927d78d5d 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java @@ -1,5 +1,6 @@ package com.mhd.wms.interfaces.dto.inMaterialDetail; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; @@ -8,8 +9,10 @@ import com.mhd.wms.interfaces.dto.inMaterialDetailSerialNumber.InMaterialDetailS import com.mhd.wms.interfaces.dto.materialMoreDetail.MaterialMoreDetailDTO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -380,4 +383,8 @@ public class InMaterialDetailDTO extends BaseVOEntity { @Excel(name = "lot编号") private String lotNo; + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/receiptMaterialDetail/ReceiptMaterialDetailDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/receiptMaterialDetail/ReceiptMaterialDetailDTO.java index 4b2648e4d..9118d27a0 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/receiptMaterialDetail/ReceiptMaterialDetailDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/receiptMaterialDetail/ReceiptMaterialDetailDTO.java @@ -1,5 +1,6 @@ package com.mhd.wms.interfaces.dto.receiptMaterialDetail; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -9,8 +10,10 @@ import com.mhd.wms.domain.inMaterialDetailSerialNumber.repository.todo.InMateria import com.mhd.wms.interfaces.dto.materialMoreDetail.MaterialMoreDetailDTO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -307,4 +310,10 @@ public class ReceiptMaterialDetailDTO extends BaseVOEntity { @ApiModelProperty("oms入库单详情id") @Excel(name = "oms入库单详情id") private String omsInMaterialDetail; + + + @ApiModelProperty(value = "饮用时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date drinkDate; } \ No newline at end of file From 1679403f56275f581a43a568677c30c6f95443ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Wed, 27 May 2026 14:08:36 +0800 Subject: [PATCH 202/418] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=92=8C=E5=88=A0=E9=99=A4BUG=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/UserApplicationService.java | 59 +++++++++++++++---- .../service/UserWlhyDomainService.java | 44 +++++++++----- .../src/main/resources/mapper/UserMapper.xml | 2 + 3 files changed, 79 insertions(+), 26 deletions(-) diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java index e91521a16..098cd4250 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java @@ -2112,13 +2112,22 @@ public class UserApplicationService { } } UserEntity userEntity = userDomainService.updateUser(userDO); - //同步网货平台员工信息 - wlhyDomainService.addOrEditPlatformUser(userEntity); - Long organizationId = loginUser.getUserPo().getOrganizationId(); - Integer ordIsQueue = userMapper.getOrdIsQueue(organizationId); - if (userEntity.getUserAccount()!=null&&ordIsQueue==1){ - //同步yms员工信息 - ymsDomainService.addOrEditYmsUser(userEntity); + // 客户/供应商为 WMS 客户管理用户,不同步网货/YMS 平台员工 + if (!isCustomerManagementPresetRole(userEntity.getRoleCode())) { + try { + wlhyDomainService.addOrEditPlatformUser(userEntity); + } catch (Exception e) { + log.warn("同步网货平台员工信息失败,但不影响用户保存: {}", e.getMessage()); + } + Long organizationId = loginUser.getUserPo().getOrganizationId(); + Integer ordIsQueue = userMapper.getOrdIsQueue(organizationId); + if (userEntity.getUserAccount() != null && ordIsQueue == 1) { + try { + ymsDomainService.addOrEditYmsUser(userEntity); + } catch (Exception e) { + log.warn("同步YMS平台员工信息失败,但不影响用户保存: {}", e.getMessage()); + } + } } BeanUtils.copyProperties(userPo, userEntity); @@ -2275,6 +2284,7 @@ public class UserApplicationService { if (ObjectUtil.isNull(loginUser)) { throw new DigitalLogisticsException(UserError.TIMEOUT); } + List wlhySyncIds = new ArrayList<>(); for (Long userId : ids) { UserPo userPo = userDomainService.selectByUserId(userId); UserDO userDO = new UserDO(); @@ -2288,11 +2298,17 @@ public class UserApplicationService { userDO.setDelFlag(2); userDO.setUpdateTime(new Date()); userDomainService.updateUser(userDO); + if (!isCustomerManagementPresetRole(userPo.getRoleCode())) { + wlhySyncIds.add(userId); + } } } - //同步删除网货的员工信息(只有当ids不为空时才调用) - if (!ids.isEmpty()) { - wlhyDomainService.deleteBatchPlatformUser(ids); + if (!wlhySyncIds.isEmpty()) { + try { + wlhyDomainService.deleteBatchPlatformUser(wlhySyncIds); + } catch (Exception e) { + log.warn("同步删除网货用户失败,但不影响本地删除: {}", e.getMessage()); + } } return ids.size(); } @@ -5089,10 +5105,33 @@ public class UserApplicationService { if (customerDO.getUserId() == null){ throw new ServiceException("用户id不能为空"); } + UserPo userPo = userDomainService.selectByUserId(customerDO.getUserId()); + if (ObjectUtil.isNull(userPo)) { + throw new ServiceException("用户不存在"); + } UserDO userDO = new UserDO(); BeanUtils.copyProperties(customerDO, userDO); userDO.setUserPhone(customerDO.getEmergencyContactPhone()); userDO.setBusinessType(1); + // CustomerDTO 修改场景通常不传 roleCode/组织/账号,须沿用库中值,避免同步 YMS/网货时角色为空触发 selectOne 返回多条 + if (StringUtils.isEmpty(userDO.getRoleCode())) { + userDO.setRoleCode(userPo.getRoleCode()); + userDO.setRoleName(userPo.getRoleName()); + userDO.setRoleId(userPo.getRoleId()); + } + if (userDO.getOrganizationId() == null) { + userDO.setOrganizationId(userPo.getOrganizationId()); + userDO.setOrganizationName(userPo.getOrganizationName()); + } + if (userDO.getTopOrganizationId() == null) { + userDO.setTopOrganizationId(userPo.getTopOrganizationId()); + } + if (StringUtils.isEmpty(userDO.getUserAccount())) { + userDO.setUserAccount(userPo.getUserAccount()); + } + if (StringUtils.isEmpty(userDO.getUserMemberCode())) { + userDO.setUserMemberCode(userPo.getUserMemberCode()); + } updateUser(userDO); if (isWT()){ //开启仓配一体 同步托运人信息 diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/service/UserWlhyDomainService.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/service/UserWlhyDomainService.java index dff71b160..86feccef0 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/service/UserWlhyDomainService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/service/UserWlhyDomainService.java @@ -539,17 +539,17 @@ public class UserWlhyDomainService { roleDo.setOrganizationId(userEntity.getOrganizationId()); RoleEntity roleEntity = roleDomainService.selectByOrganizationIdAndRoleCode(roleDo); if (roleEntity != null) { - UserRoleDo userRoleDo = new UserRoleDo(); - userRoleDo.setUserId(userEntity.getUserId()); - userRoleDo.setRoleId(roleEntity.getRoleId()); userRoleIds.add(String.valueOf(roleEntity.getRoleId())); - userRoleNames.add(userEntity.getRoleName()); - userRoleCodes.add(userEntity.getRoleCode()); + userRoleNames.add(roleEntity.getRoleName()); + userRoleCodes.add(roleEntity.getRoleCode()); } } - platformUserDTO.setRoleIds(userRoleIds); - platformUserDTO.setRoleNames(userRoleNames); - platformUserDTO.setRoleCodes(userRoleCodes); + // 本组织无 must 角色时勿用空列表覆盖 addPlatformUser 已设置的角色,否则网货侧 selectOne 会命中全表 + if (!userRoleIds.isEmpty()) { + platformUserDTO.setRoleIds(userRoleIds); + platformUserDTO.setRoleNames(userRoleNames); + platformUserDTO.setRoleCodes(userRoleCodes); + } } /** @@ -609,17 +609,29 @@ public class UserWlhyDomainService { * @return boolean */ public boolean deleteBatchPlatformUser(List szwlUserIds){ - // 检查ids是否为空 if (szwlUserIds == null || szwlUserIds.isEmpty()) { - return true; // 如果列表为空,直接返回成功,避免SQL语法错误 - } - //检查是否开启网货 - boolean flag = checkSwitch(); - if(!flag){ - //如果配置网货产品,返回跳过 return true; } - R result = wlhyServiceFeign.deleteBatchPlatformUser(szwlUserIds); + boolean flag = checkSwitch(); + if (!flag) { + return true; + } + // 仅删除网货中已存在的用户,避免远程生成 WHERE id IN () 导致语法错误 + List existInWlhyIds = new ArrayList<>(); + for (Long szwlUserId : szwlUserIds) { + R wlhyUser = wlhyServiceFeign.getUserInfoBySzwlUserId(szwlUserId); + if (R.FAIL == wlhyUser.getCode()) { + log.warn("查询网货用户失败,跳过同步删除 szwlUserId={}: {}", szwlUserId, wlhyUser.getMsg()); + continue; + } + if (wlhyUser.getData() != null) { + existInWlhyIds.add(szwlUserId); + } + } + if (existInWlhyIds.isEmpty()) { + return true; + } + R result = wlhyServiceFeign.deleteBatchPlatformUser(existInWlhyIds); if (R.FAIL == result.getCode()) { throw new ServiceException(result.getMsg()); } diff --git a/mhd-user-center/src/main/resources/mapper/UserMapper.xml b/mhd-user-center/src/main/resources/mapper/UserMapper.xml index 655b3cfa2..55971cc24 100644 --- a/mhd-user-center/src/main/resources/mapper/UserMapper.xml +++ b/mhd-user-center/src/main/resources/mapper/UserMapper.xml @@ -793,6 +793,8 @@ + + \ No newline at end of file From b98dcee35252cb105df1077fad1a521ee3b077b3 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 28 May 2026 15:43:00 +0800 Subject: [PATCH 215/418] =?UTF-8?q?=E8=BF=9B=E5=8F=A3=E4=BB=93=E5=8D=95?= =?UTF-8?q?=E6=8E=A8=E9=80=81-Log=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/OmsServiceFeign.java | 8 +++++ .../com/mhd/system/api/domain/GwLogDTO.java | 2 -- .../RemoteOmsFeignFallbackFactory.java | 10 +++++++ .../oms/interfaces/dto/gwLog/GwLogDTO.java | 27 +++++++++++++++++ .../oms/interfaces/facade/gwLog/GwLogApi.java | 8 ++--- .../StockShelfOrderApplicationService.java | 30 ++++++++++++++++++- 6 files changed, 78 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index bff924986..d8064498d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -45,4 +45,12 @@ public interface OmsServiceFeign { @ApiOperation("查询企业国别列表-新增物料时显示下拉框数据") @GetMapping("/erpCountryApi/countryList") public AjaxResult getCountryList(ErpCountryDTO erpCountryDTO); + + @ApiOperation("保存gwlog") + @PostMapping("/gwLogApi/saveGwLog") + AjaxResult insertGwLog(@RequestBody GwLogDTO gwLogDTO); + + @ApiOperation("修改gwlog") + @PostMapping("/gwLogApi/updateGwLog") + AjaxResult updateGwLog(@RequestBody GwLogDTO gwLogDTO); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/GwLogDTO.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/GwLogDTO.java index 893a222ca..d036a0669 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/GwLogDTO.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/GwLogDTO.java @@ -51,6 +51,4 @@ public class GwLogDTO { @ApiModelProperty("创建时间") private Date createTime; - @ApiModelProperty("删除标记:1-正常,0-删除") - private Integer delFlag; } diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteOmsFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteOmsFeignFallbackFactory.java index 86cf16e0c..96a00e504 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteOmsFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteOmsFeignFallbackFactory.java @@ -68,6 +68,16 @@ public class RemoteOmsFeignFallbackFactory implements FallbackFactorydata = (Map)insertResult.get("data"); + gwLogId = ((Number)data.get("id")).longValue(); + } + + }catch(Exception e){ + log.error("保存Gwlog失败:{}",e.getMessage()); + } updatePushStatus(id, 2, new Date(), pushBy,pushByName); @@ -2710,13 +2720,31 @@ public class StockShelfOrderApplicationService { failCount++; failMsg.append("id:").append(id).append("失败;"); } + if (gwLogId != null){ + gwLogDTO.setLogId(gwLogId); + try{ + AjaxResult updateResult = omsServiceFeign.updateGwLog(gwLogDTO); + }catch (Exception e){ + log.error("更新GwLog失败:{}",e.getMessage()); + } + } // gwLogMapper.updateById(gwLog); + response.close(); } catch (IOException e) { gwLogDTO.setStatus(3); gwLogDTO.setErrorMsg(e.getMessage()); gwLogDTO.setResponseBody("请求异常:" + e.getMessage()); // gwLogMapper.updateById(gwLog); + if (gwLogId != null){ + gwLogDTO.setLogId(gwLogId); + try{ + AjaxResult updateResult = omsServiceFeign.updateGwLog(gwLogDTO); + }catch (Exception ex){ + log.error("更新GwLog失败:{}",ex.getMessage()); + } + } + updatePushStatus(id, 4, new Date(), pushBy,pushByName); failCount++; failMsg.append("id:").append(id).append("异常:").append(e.getMessage()).append(";"); From 88832114fa9b3577adddc724a4de61c8c7c60e37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 28 May 2026 15:49:33 +0800 Subject: [PATCH 216/418] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5=20?= =?UTF-8?q?userAreaName?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/UserApplicationService.java | 11 ++++++-- .../mhd/user/interfaces/facade/UserAPI.java | 28 +++++++++++++++++-- .../src/main/resources/mapper/UserMapper.xml | 8 +++--- 3 files changed, 39 insertions(+), 8 deletions(-) diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java index 098cd4250..c14e7f0dc 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java @@ -5057,7 +5057,7 @@ public class UserApplicationService { * @date 2024/4/2 10:09 */ @Transactional(rollbackFor = Exception.class) - public void addCustomer(CustomerDO customerDO){ + public UserPo addCustomer(CustomerDO customerDO){ UserDO userDO = new UserDO(); BeanUtils.copyProperties(customerDO, userDO); userDO.setUserAccount(customerDO.getUserMemberCode()); @@ -5077,7 +5077,10 @@ public class UserApplicationService { userDO.setRoleCode(roleEntity.getRoleCode()); userDO.setRoleName(roleEntity.getRoleName()); userDO.setUserAuthStatus(1); - addUser(userDO); + UserPo userPo = addUser(userDO); + if (userPo != null && userPo.getUserId() != null) { + userDO.setUserId(userPo.getUserId()); + } if (isWT()) { //开启仓配一体 同步托运人信息 UserShipperDO userShipperDO = new UserShipperDO(); @@ -5093,6 +5096,10 @@ public class UserApplicationService { //保存托运人信息 userShipperDomainService.saveUserShipper(userShipperDO); } + if (userPo == null || userPo.getUserId() == null) { + return userPo; + } + return userDomainService.selectByUserId(userPo.getUserId()); } /** diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java index 9fc58871b..ca42936d6 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java @@ -912,8 +912,9 @@ public class UserAPI extends BaseController { try { CustomerDO customerDO = new CustomerDO(); BeanUtils.copyProperties(customerDTO,customerDO); - userApplicationService.addCustomer(customerDO); - return AjaxResult.success(); + UserPo userPo = userApplicationService.addCustomer(customerDO); + CustomerDTO result = toCustomerDTO(userPo); + return AjaxResult.success(result); } catch (com.mhd.common.core.exception.ServiceException e) { e.printStackTrace(); return AjaxResult.error(500, e.getMessage()); @@ -923,6 +924,29 @@ public class UserAPI extends BaseController { } } + @Log(title = "用户中台管理-查询", description = "根据用户ID查询货主/供应商/客户详情", businessType = BusinessType.INQUIRE) + @ApiOperation("根据用户ID查询货主、供应商、客户详情") + @GetMapping("/getCustomerInfo/{userId}") + public AjaxResult getCustomerInfo(@PathVariable("userId") Long userId) { + UserPo userPo = userApplicationService.selectByUserId(userId); + return AjaxResult.success(toCustomerDTO(userPo)); + } + + private CustomerDTO toCustomerDTO(UserPo userPo) { + if (userPo == null) { + return null; + } + CustomerDTO customerDTO = new CustomerDTO(); + BeanUtils.copyProperties(userPo, customerDTO); + customerDTO.setUserMemberCode(userPo.getUserMemberCode()); + customerDTO.setEmergencyContactPhone(userPo.getUserPhone()); + customerDTO.setEmergencyContactName(userPo.getEmergencyContactName()); + customerDTO.setUserAreaName(userPo.getUserAreaName()); + customerDTO.setUserAreaCountyId(userPo.getUserAreaCountyId()); + customerDTO.setUserAreaAddress(userPo.getUserAreaAddress()); + return customerDTO; + } + @Log(title = "修改货主、供应商、客户", description ="修改货主、供应商、客户",businessType = BusinessType.UPDATE) @ApiOperation("修改货主、供应商、客户") @PostMapping("/updateCustomer") diff --git a/mhd-user-center/src/main/resources/mapper/UserMapper.xml b/mhd-user-center/src/main/resources/mapper/UserMapper.xml index 55971cc24..945639967 100644 --- a/mhd-user-center/src/main/resources/mapper/UserMapper.xml +++ b/mhd-user-center/src/main/resources/mapper/UserMapper.xml @@ -31,9 +31,9 @@ a.avatar, a.user_status, a.user_email, - a.user_area_county_id, - a.user_area_name, - a.user_area_address, + a.user_area_county_id AS userAreaCountyId, + a.user_area_name AS userAreaName, + a.user_area_address AS userAreaAddress, a.user_wechat_account, a.user_wechat_openid, a.user_wechat_session_key, @@ -755,7 +755,7 @@ diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index 57b897f91..bb4365550 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -112,7 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.priority_level_name, a.direct_warehouse, a.review, a.annex_url, a.material_quantity, a.quantity, a.weight_limit, a.volume_limit, a.check_quantity, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status,a.BUSINESS_ORDER_NO, a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code, - a.remark, a.create_time, a.create_by, a.create_by_name, + a.remark, a.create_time, a.create_by, a.create_by_name,a.business_number, a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type,a."TO", a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER, a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, From df1d16a7abe238a916e9bcd2046ffdeb563fc25d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 29 May 2026 23:02:34 +0800 Subject: [PATCH 282/418] feignurl --- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 5c75d2a54..edb0ab4fa 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE, fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { From aef39a9555091d24b6c0a174cd4862a84325522d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 29 May 2026 23:40:25 +0800 Subject: [PATCH 283/418] =?UTF-8?q?=E9=80=80=E8=B4=A7=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=BF=90=E5=88=B0=E5=92=8C=E8=AE=A2=E5=8D=95;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/mapper/ReservationStockInOrderMapper.java | 7 ++++++- .../ReservationStockOutOrderApplicationService.java | 5 +++-- .../service/ReservationStockOutOrderDomainService.java | 4 +++- .../ReservationStockOutOrderApi.java | 4 ++-- .../ReservationStockInOrderMapper.xml | 9 +++++++++ 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java index f8efe17ac..c401cfe84 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java @@ -39,4 +39,9 @@ public interface ReservationStockInOrderMapper extends BaseMapper queryNoticePrint(ReservationStockInOrderDO stockInOrderDO); - List queryNoticePrintDetail(ReservationStockInOrderDO stockInOrderDO);} \ No newline at end of file + List queryNoticePrintDetail(ReservationStockInOrderDO stockInOrderDO); + public void updateByTransportationNumber(@Param("transportationNumber") String transportationNumber); + + public void updateByOrderId(@Param("orderId") String orderId); + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index f3db21216..5503d5be8 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -61,6 +61,7 @@ import org.apache.http.util.EntityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.RequestParam; import javax.annotation.Resource; import java.io.IOException; @@ -1293,7 +1294,7 @@ public class ReservationStockOutOrderApplicationService { reservationStockOutOrderMapper.updateById(entity); } - public void returnGoods(String invoiceNumber) { - stockOutOrderDomainService.returnGoods(invoiceNumber); + public void returnGoods(String invoiceNumber, String transportationNumber, String orderId) { + stockOutOrderDomainService.returnGoods(invoiceNumber, transportationNumber, orderId); } } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java index 225ac2a45..2f7e1d81a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java @@ -727,7 +727,9 @@ public class ReservationStockOutOrderDomainService { return stockOutOrderService.queryOutStockNoticePrintDetail(stockOutOrderDO); } - public void returnGoods(String invoiceNumber) { + public void returnGoods(String invoiceNumber, String transportationNumber, String orderId) { + reservationStockInOrderMapper.updateByOrderId(orderId); + reservationStockInOrderMapper.updateByTransportationNumber(transportationNumber); LoginUser loginUser = SecurityUtils.getLoginUser(); BusinessDeliveryDetailsLink businessDeliveryDetailsLink = businessDeliveryDetailsLinkService.getOne(new QueryWrapper().lambda().eq(BusinessDeliveryDetailsLink::getInvoiceNumber, invoiceNumber), false); if (businessDeliveryDetailsLink != null) { diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java index bf455ac25..549a5fcf1 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java @@ -202,11 +202,11 @@ public class ReservationStockOutOrderApi extends BaseController { @ApiOperation("退货") @GetMapping("/returnGoods") - public AjaxResult returnGoods(@RequestParam("invoiceNumber") String invoiceNumber) { + public AjaxResult returnGoods(@RequestParam("invoiceNumber") String invoiceNumber, @RequestParam("transportationNumber") String transportationNumber, @RequestParam("orderId") String orderId) { if (invoiceNumber == null || invoiceNumber.trim().isEmpty()) { return AjaxResult.error("发票编号不能为空"); } - stockOutOrderApplicationService.returnGoods(invoiceNumber); + stockOutOrderApplicationService.returnGoods(invoiceNumber, transportationNumber, orderId); return AjaxResult.success(); } diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 2fcf06202..7d37ff8b5 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -534,4 +534,13 @@ + + + update "NGWL_TEST_WLHY".tms_order set ORDER_STATUS = 9 where ID = #{orderId} + + + + update "NGWL_TEST_WLHY".TMS_TRANSPORT_NOTE set WAYBILL_STATUS =11 where TRANSPORTATION_NUMBER = #{transportationNumber} + + \ No newline at end of file From bb5b0e1746dabd1ee94cc09a18a846807bd2f0b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 00:22:11 +0800 Subject: [PATCH 284/418] =?UTF-8?q?31=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../java/com/mhd/system/api/YmsServiceFeign.java | 4 ++-- mhd_oms/src/main/resources/bootstrap.yml | 16 ++++++++-------- mhd_wms/src/main/resources/bootstrap.yml | 16 ++++++++-------- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 91f2f8a11..8cc8bfd57 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index edb0ab4fa..211715894 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 7b29982a5..1b5b207be 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 381d85c29..0ae254cec 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 66460a702..238ec5f81 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.33.0.99:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** @@ -52,4 +52,4 @@ public interface YmsServiceFeign { @DeleteMapping("/system/user/inner/remove/{userIds}") R innerRemove(@PathVariable("userIds") Long[] userIds); -} +} \ No newline at end of file diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 52012861d..4035a9721 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -18,17 +18,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.31:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.31:6848 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.31:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.31:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 # 锁定server端的配置文件(读取它的配置项) diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index 51545071f..e8f169bf2 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -14,20 +14,20 @@ spring: nacos: discovery: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.31:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 config: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.31:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 # 配置文件格式 From 44e407875345659f4b5f5b75a4ce21a7d3eefed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 00:27:35 +0800 Subject: [PATCH 285/418] =?UTF-8?q?30=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 211715894..3466fdf14 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..fdee7b2ed 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.5:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 0ae254cec..48fa38331 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 238ec5f81..dfac7337f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 4035a9721..bad97b394 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index e8f169bf2..fc7380c20 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From cc77f0b5f8c5ee66415f13bce35859773f2f37d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 30 May 2026 00:33:32 +0800 Subject: [PATCH 286/418] =?UTF-8?q?=E5=AD=97=E5=85=B8=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E6=A0=A1=E9=AA=8C=E5=8E=BB=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/controller/SysDictTypeController.java | 8 ++++++-- .../mhd/system/service/impl/SysDictTypeServiceImpl.java | 2 +- .../main/resources/mapper/system/SysDictTypeMapper.xml | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java index e9d4c29c6..6cf686ee9 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java @@ -79,7 +79,7 @@ public class SysDictTypeController extends BaseController fillDictTypeOrganization(dict); if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict))) { - return AjaxResult.error("新增字典'" + dict.getDictName() + "'失败,字典类型编码「" + dict.getDictType() + "」已存在(全局不可重复)"); + return AjaxResult.error("新增字典'" + dict.getDictName() + "'失败,字典类型编码「" + dict.getDictType() + "」在当前组织下已存在"); } dict.setCreateBy(SecurityUtils.getUsername()); return toAjax(dictTypeService.insertDictType(dict)); @@ -124,6 +124,10 @@ public class SysDictTypeController extends BaseController dict.setOrganizationName(userPo.getOrganizationName()); } } + if (dict.getOrganizationId() == null) + { + dict.setOrganizationId(0L); + } } /** @@ -137,7 +141,7 @@ public class SysDictTypeController extends BaseController fillDictTypeOrganization(dict); if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict))) { - return AjaxResult.error("修改字典'" + dict.getDictName() + "'失败,字典类型编码「" + dict.getDictType() + "」已存在(全局不可重复)"); + return AjaxResult.error("修改字典'" + dict.getDictName() + "'失败,字典类型编码「" + dict.getDictType() + "」在当前组织下已存在"); } dict.setUpdateBy(SecurityUtils.getUsername()); return toAjax(dictTypeService.updateDictType(dict)); diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java index f9f6f237c..690d4b71c 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictTypeServiceImpl.java @@ -230,7 +230,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService } /** - * 校验字典类型称是否唯一 + * 校验字典类型在同一组织下是否唯一 * * @param dict 字典类型 * @return 结果 diff --git a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml index bee4a97d0..f4a0834e5 100644 --- a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml +++ b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml @@ -69,6 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" From ea15246ced406a2ff4560a5ec7c134ccb72a24ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 00:37:40 +0800 Subject: [PATCH 287/418] =?UTF-8?q?=E8=BF=90=E5=8D=95=E5=AD=90=E5=BC=B9?= =?UTF-8?q?=E5=B7=B2=E5=85=B3=E9=97=AD;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 7d37ff8b5..39021d39c 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -540,7 +540,7 @@ - update "NGWL_TEST_WLHY".TMS_TRANSPORT_NOTE set WAYBILL_STATUS =11 where TRANSPORTATION_NUMBER = #{transportationNumber} + update "NGWL_TEST_WLHY".TMS_TRANSPORT_NOTE set WAYBILL_STATUS =12 where TRANSPORTATION_NUMBER = #{transportationNumber} \ No newline at end of file From d6b1fa49a2a1c99ed03fc3b5ea6d75285dafc4cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 30 May 2026 00:46:01 +0800 Subject: [PATCH 288/418] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83fei?= =?UTF-8?q?gn=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index e18484e8d..91f2f8a11 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 3466fdf14..edb0ab4fa 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index fdee7b2ed..7b29982a5 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.5:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48fa38331..381d85c29 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index dfac7337f..48d76d01e 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.33.0.99:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** From 8e1746f6ea057d853ef10809b75ea08cc553af4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Sat, 30 May 2026 00:47:49 +0800 Subject: [PATCH 289/418] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=8D=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/persistence/BusinessDocumentOrderImpl.java | 2 +- .../repository/persistence/ExecuteOrderImpl.java | 2 +- .../service/ReservationStockOutOrderDomainService.java | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java index 157768725..07f2e62e5 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java @@ -548,7 +548,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl().eq(BusinessDocumentOrder::getId, subOrderId)); + businessDocumentOrder.setOrderStatus(3L); + businessDocumentOrderMapper.updateById(businessDocumentOrder); } } } From 712cf4ad05dee1a1ed940356d3d818430de32f94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 00:57:43 +0800 Subject: [PATCH 290/418] =?UTF-8?q?o=E5=8F=9131?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 91f2f8a11..8cc8bfd57 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index edb0ab4fa..211715894 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 7b29982a5..1b5b207be 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 381d85c29..0ae254cec 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 48d76d01e..238ec5f81 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.33.0.99:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index bad97b394..4035a9721 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 855a9643367ca5c27368903b61a4839b80bb58db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 01:04:49 +0800 Subject: [PATCH 291/418] =?UTF-8?q?o=E5=8F=9130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 211715894..3466fdf14 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..dfb64994b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 0ae254cec..48fa38331 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 238ec5f81..dfac7337f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 4035a9721..bad97b394 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 298da1dbeb6b3d2e488b20a1408653730aea658d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 01:16:58 +0800 Subject: [PATCH 292/418] =?UTF-8?q?o=E5=8F=9131?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- .../InventoryAdjustmentRecordMapper.xml | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index e18484e8d..8cc8bfd57 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 3466fdf14..211715894 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index dfb64994b..ddf30122a 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.321:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48fa38331..0ae254cec 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index dfac7337f..238ec5f81 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index fc7380c20..e8f169bf2 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 diff --git a/mhd_wms/src/main/resources/mapper/inventoryAdjustmentRecord/InventoryAdjustmentRecordMapper.xml b/mhd_wms/src/main/resources/mapper/inventoryAdjustmentRecord/InventoryAdjustmentRecordMapper.xml index 5bd09d7e7..0c9a73edf 100644 --- a/mhd_wms/src/main/resources/mapper/inventoryAdjustmentRecord/InventoryAdjustmentRecordMapper.xml +++ b/mhd_wms/src/main/resources/mapper/inventoryAdjustmentRecord/InventoryAdjustmentRecordMapper.xml @@ -120,8 +120,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and b.batch_number = #{batchNumber} - - and b.lot_number = #{lotCode} + + and b.lot_number = #{lotNumber} AND DATE(b.expiry_date) = #{expiryDate} From cd1c3cbf82c91438583ff7e6e080b5cd24e0929f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 01:42:03 +0800 Subject: [PATCH 293/418] =?UTF-8?q?w=E5=8F=9131?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/ReservationInMaterialDetailDO.java | 3 ++- .../repository/todo/ReservationInMaterialDetailDTO.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDO.java index 12030f44d..848f0a3f1 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDO.java @@ -436,5 +436,6 @@ public class ReservationInMaterialDetailDO extends ReservationStockInOrderBaseDO @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date drinkDate; - + private String expiryDate; + private String productionDate; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java index 4c058b8de..fee306be2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/todo/ReservationInMaterialDetailDTO.java @@ -447,4 +447,6 @@ public class ReservationInMaterialDetailDTO extends BaseVOEntity { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date drinkDate; + private String expiryDate; + private String productionDate; } \ No newline at end of file From c2bcbc99618aca1b5918c76bdc49c949e3b18c21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 01:44:22 +0800 Subject: [PATCH 294/418] =?UTF-8?q?w=E5=8F=9131?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index ddf30122a..1b5b207be 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.321:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** From b56cf5bc244a98026b08d92bf665fbabf2833984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 01:50:43 +0800 Subject: [PATCH 295/418] =?UTF-8?q?w=E5=8F=9130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..830019319 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.4:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 211715894..3f8b6e768 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.3:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..dfb64994b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 0ae254cec..6f1951c26 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.4:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 238ec5f81..2a65f6c21 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.3:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index e8f169bf2..fc7380c20 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 51576d5eba28f86b27f951f37c7d55e1f83d051d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 11:08:04 +0800 Subject: [PATCH 296/418] =?UTF-8?q?=E5=BA=93=E5=AD=98=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=9F=A5=E8=AF=A2=E6=8A=A5=E9=94=99=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/InventoryAdjustmentRecordDO.java | 2 ++ .../inventoryAdjustmentRecord/InventoryAdjustmentRecordDTO.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inventoryAdjustmentRecord/repository/todo/InventoryAdjustmentRecordDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inventoryAdjustmentRecord/repository/todo/InventoryAdjustmentRecordDO.java index 784787475..3bd82354a 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inventoryAdjustmentRecord/repository/todo/InventoryAdjustmentRecordDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inventoryAdjustmentRecord/repository/todo/InventoryAdjustmentRecordDO.java @@ -211,4 +211,6 @@ public class InventoryAdjustmentRecordDO extends BaseVOEntity { @ApiModelProperty("LOT编号") @Excel(name = "LOT编号") private String lotNumber; + private String expiryDate; + private String productionDate; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inventoryAdjustmentRecord/InventoryAdjustmentRecordDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inventoryAdjustmentRecord/InventoryAdjustmentRecordDTO.java index ff5d686db..49baa55d7 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inventoryAdjustmentRecord/InventoryAdjustmentRecordDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inventoryAdjustmentRecord/InventoryAdjustmentRecordDTO.java @@ -169,4 +169,6 @@ public class InventoryAdjustmentRecordDTO extends BaseVOEntity { @ApiModelProperty(name = "权限菜单ID") private Long permissionMenuId; + private String expiryDate; + private String productionDate; } \ No newline at end of file From 8a67f256732b8ffa77554bac7698052f481f53cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 11:11:11 +0800 Subject: [PATCH 297/418] =?UTF-8?q?=E5=8F=9130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 830019319..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.4:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 3f8b6e768..3466fdf14 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.3:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 6f1951c26..48fa38331 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.4:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 2a65f6c21..dfac7337f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.3:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** From d199f91e94f3aded840fe7c147304a5d20546baf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 11:22:05 +0800 Subject: [PATCH 298/418] =?UTF-8?q?=E5=8F=9131?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index e18484e8d..8cc8bfd57 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 3466fdf14..211715894 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index dfb64994b..1b5b207be 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48fa38331..0ae254cec 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index dfac7337f..238ec5f81 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index bad97b394..4035a9721 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index fc7380c20..e8f169bf2 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 4a531b536dd29dfe1aab149364e7dba232c5d050 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Sat, 30 May 2026 15:43:39 +0800 Subject: [PATCH 299/418] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessDocumentOrderApplicationService.java | 2 +- .../ReservationStockInOrderMapper.xml | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index de8c1d13c..b4285606d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -187,7 +187,7 @@ public class BusinessDocumentOrderApplicationService { body.put("erpBillNo", String.valueOf(pushData.getId())); body.put("billDate", pushData.getDocumentDate()); body.put("goodsType", pushData.getGoodsType()); - body.put("ieFlag", pushData.getIeType() != null ? String.valueOf(pushData.getIeType()) : null); + body.put("ieFlag", pushData.getIeType() != null ? pushData.getIeType() : null); body.put("corpCode", pushData.getAppointShipperId() != null ? pushData.getAppointShipperId().toString() : null); List> billList = new ArrayList<>(); diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 39021d39c..80a8f4398 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -93,6 +93,10 @@ + + + + @@ -128,7 +132,8 @@ a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, a.WAREHOUSE_DATE, a.COMPLETION_TIME, a.ORDER_DATE,a.reservation_audit_time,a.reservation_audit_name ,a.reservation_audit_id,a.issue_name,a.issue_id,a.issue_time,a.issue_status,a.RESERVATION_ORDER_SOURCE,a.tms_order_number - ,a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.STORAGE_TIME,a.in_quantity + ,a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.STORAGE_TIME,a.in_quantity, + a.PUSH_TIME,a.PUSH_STATUS,a.PUSH_BY,a.PUSH_BY_NAME From 1bb94015460af0ca2470800330b6b9c952979e6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 16:17:53 +0800 Subject: [PATCH 300/418] =?UTF-8?q?=E5=8F=9131?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReceiptMaterialDetailImpl.java | 94 ++++++++++--------- 1 file changed, 48 insertions(+), 46 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java index 795912381..c9c533d42 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java @@ -519,34 +519,35 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl Date: Sat, 30 May 2026 16:26:08 +0800 Subject: [PATCH 301/418] =?UTF-8?q?=E5=8F=9130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 211715894..3466fdf14 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..dfb64994b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 0ae254cec..48fa38331 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 238ec5f81..dfac7337f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index e8f169bf2..fc7380c20 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 217cba876e165c69a6ea24dbbacaf23867977f46 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Sat, 30 May 2026 16:53:45 +0800 Subject: [PATCH 302/418] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=89=A9=E6=96=99=E6=9F=A5=E8=AF=A2oms=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpCountryApplicationService.java | 22 +++++++++++++++++++ .../facade/erpCountry/ErpCountryApi.java | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java index 04cbd0e98..247b4d0e0 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java @@ -61,6 +61,28 @@ public class ErpCountryApplicationService{ + } + + + public TableDataInfo queryList1(ErpCountryDTO erpCountryDTO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null) { + Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + if (topOrganizationId != null && topOrganizationId != 1) { + erpCountryDTO.setTopOrganizationId(topOrganizationId); + } + } + + List list = erpCountryMapper.queryList(erpCountryDTO); + + + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setData(list); + tableDataInfo.setCode(200); + return tableDataInfo; + + + } public int insert(ErpCountryDTO erpCountryDTO) { diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java index aa8a9449a..e5c9504f1 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/erpCountry/ErpCountryApi.java @@ -76,7 +76,7 @@ public class ErpCountryApi extends BaseController{ @ApiOperation("查询企业国别列表-下拉框用") @GetMapping("/countryList") public AjaxResult countryList(ErpCountryDTO erpCountryDTO){ - TableDataInfo tableDataInfo = erpCountryApplicationService.queryList(erpCountryDTO); + TableDataInfo tableDataInfo = erpCountryApplicationService.queryList1(erpCountryDTO); return AjaxResult.success(tableDataInfo.getData()); } From adbcb4ef1893043deb7eb803a30927ac9c37aac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 30 May 2026 17:55:17 +0800 Subject: [PATCH 303/418] =?UTF-8?q?=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E7=8E=AF=E5=A2=83feign=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index e18484e8d..8cc8bfd57 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 3466fdf14..211715894 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index dfb64994b..1b5b207be 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48fa38331..0ae254cec 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index dfac7337f..238ec5f81 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** From 2e3e6a14eaa52a77178ff15955f2f5aaa82c68c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 30 May 2026 17:55:41 +0800 Subject: [PATCH 304/418] =?UTF-8?q?=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-user-center/src/main/resources/bootstrap.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mhd-user-center/src/main/resources/bootstrap.yml b/mhd-user-center/src/main/resources/bootstrap.yml index 8e9ffd00d..c17c2833e 100644 --- a/mhd-user-center/src/main/resources/bootstrap.yml +++ b/mhd-user-center/src/main/resources/bootstrap.yml @@ -20,17 +20,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.30:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.31:6848 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.30:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.31:6848 + username: nacos + password: manhuoda@2023 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 共享配置 From 1a694575395759bf8cb41800777546c73a2568e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 30 May 2026 18:07:31 +0800 Subject: [PATCH 305/418] =?UTF-8?q?=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 4035a9721..58660919a 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -16,14 +16,14 @@ spring: cloud: nacos: discovery: - # server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 config: - # server-addr: 127.0.0.1:8848 +# server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 server-addr: 10.102.192.31:6848 From 4c43f2b6dcfd1f3cdf8c24ea105f98fef75b53a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Sat, 30 May 2026 18:22:11 +0800 Subject: [PATCH 306/418] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=8D=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mhd/system/api/domain/TmsOrderAddDTO.java | 8 ++++++++ .../repository/persistence/BusinessDocumentOrderImpl.java | 7 +++++++ .../repository/persistence/ExecuteOrderImpl.java | 7 +++++++ .../domain/executeOrder/repository/po/ExecuteOrderPO.java | 1 + .../resources/mapper/executeOrder/ExecuteOrderMapper.xml | 3 ++- 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/TmsOrderAddDTO.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/TmsOrderAddDTO.java index 9a6e121ba..82564882a 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/TmsOrderAddDTO.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/TmsOrderAddDTO.java @@ -499,4 +499,12 @@ TmsOrderAddDTO implements Serializable { @ApiModelProperty("发票编号") @Excel(name = "发票编号") private String invoiceNumber; + + @ApiModelProperty("订单号") + @Excel(name = "订单号") + private String goodsNumber; + + @ApiModelProperty("业务主单") + @Excel(name = "业务主单") + private String businessMainOrder; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java index 07f2e62e5..6af28eb52 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/repository/persistence/BusinessDocumentOrderImpl.java @@ -550,6 +550,13 @@ public class BusinessDocumentOrderImpl extends ServiceImpl businessDocumentCargoMultiList=businessDocumentCargoMultiMapper.selectList(new QueryWrapper().lambda() diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/persistence/ExecuteOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/persistence/ExecuteOrderImpl.java index 8938d49e8..c012a6475 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/persistence/ExecuteOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/persistence/ExecuteOrderImpl.java @@ -211,6 +211,13 @@ public class ExecuteOrderImpl extends ServiceImpl().eq(BusinessDeliveryDetailsLink::getSubOrderId, businessDocumentOrder.getId())); if (ObjectUtil.isNotNull(businessDeliveryDetailsLink)) { Integer bag = businessDeliveryDetailsLink.getBag(); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java index e4a592e75..0421d99ed 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java @@ -221,4 +221,5 @@ public class ExecuteOrderPO extends BaseVOEntity{ @ApiModelProperty("卸货联系人") @Excel(name = "卸货联系人") private String dischargerName; + } diff --git a/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml b/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml index d38c9d68e..d04f84d3d 100644 --- a/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml @@ -27,7 +27,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT eo.*, - bdo.main_order_num + bdo.main_order_num, + bdo.RECIPIENT_NAME FROM execute_order eo LEFT JOIN From dce11ef539646bbb48c54afcd8ee3d17dd73e268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 30 May 2026 18:24:44 +0800 Subject: [PATCH 307/418] =?UTF-8?q?=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 211715894..3466fdf14 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..dfb64994b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 0ae254cec..48fa38331 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 238ec5f81..dfac7337f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 58660919a..618fcd71c 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From ca848be0c8fbae4dcb723ccf4390435432ca956e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 18:26:38 +0800 Subject: [PATCH 308/418] =?UTF-8?q?=E5=8F=9130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index e18484e8d..8cc8bfd57 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 3466fdf14..211715894 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index dfb64994b..1b5b207be 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48fa38331..0ae254cec 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index dfac7337f..238ec5f81 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 618fcd71c..58660919a 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 3971da36e6e7b977978a5ae8e3e4ca27ac90c761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 30 May 2026 18:34:41 +0800 Subject: [PATCH 309/418] =?UTF-8?q?=E5=8F=9130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 211715894..3466fdf14 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..dfb64994b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 0ae254cec..48fa38331 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 238ec5f81..dfac7337f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 58660919a..618fcd71c 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 40862795b7569338d7d71e88a0445ecb90c19263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 30 May 2026 21:56:54 +0800 Subject: [PATCH 310/418] =?UTF-8?q?PDA=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/MaterialInventoryQueryListDO.java | 3 +++ .../dto/materialInventory/MaterialInventoryQueryListDTO.java | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryQueryListDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryQueryListDO.java index 27f598b4b..b1213a20f 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryQueryListDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryQueryListDO.java @@ -253,4 +253,7 @@ public class MaterialInventoryQueryListDO extends MaterialBaseDO { @ApiModelProperty("订单物料明细id") private Long materialDetailId; + /** 为 true 时 SQL 排除库存数量为 0(含 null 视为 0) */ + private Boolean excludeZeroInventoryQuantity; + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryQueryListDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryQueryListDTO.java index 13b8e8f85..8fd25d9b4 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryQueryListDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryQueryListDTO.java @@ -184,4 +184,8 @@ public class MaterialInventoryQueryListDTO extends MaterialBaseDTO { @ApiModelProperty("箱号/卡板号") @Excel(name = "箱号/卡板号") private String boxPalletNo; + + /** 为 true 时排除库存数量为 0 的行;库存查询页不传或 false */ + @ApiModelProperty(value = "是否排除库存数量为0", example = "false") + private Boolean excludeZeroInventoryQuantity; } From 894c6f2f87f30391278a99db7f4ca9a3f9084de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 30 May 2026 22:13:45 +0800 Subject: [PATCH 311/418] =?UTF-8?q?=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index e18484e8d..8cc8bfd57 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 3466fdf14..211715894 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index dfb64994b..1b5b207be 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48fa38331..0ae254cec 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index dfac7337f..238ec5f81 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index fc7380c20..e8f169bf2 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 394f392c6747a60b70581f92b0396fdc3f7d5928 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 13:47:00 +0800 Subject: [PATCH 312/418] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=80=E8=B4=A7?= =?UTF-8?q?=E5=9B=BE=E7=89=87;=E5=87=BA=E5=BA=93=E5=8D=95=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=8A=A5=E9=94=99;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ReservationStockInOrder.java | 4 + .../po/ReservationStockInOrderPO.java | 3 + .../todo/ReservationStockInOrderDO.java | 3 + .../todo/ReservationStockInOrderDTO.java | 3 + .../ReservationStockInOrderMapper.xml | 16 +-- .../ReserveStockInOrderMapper.xml | 10 +- .../mapper/MaterialInventoryMapper.java | 3 + .../service/ShiftManageDomainService.java | 23 +++- .../stockInOrder/entity/StockInOrder.java | 3 + .../repository/po/StockInOrderPO.java | 3 + .../repository/todo/StockInOrderDO.java | 3 + .../dto/stockInOrder/StockInOrderDTO.java | 3 + .../MaterialInventoryMapper.xml | 111 ++++++++++++++++++ .../stockInOrder/StockInOrderMapper.xml | 3 +- 14 files changed, 177 insertions(+), 14 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java index a322551bf..8d443c0c4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java @@ -145,6 +145,10 @@ public class ReservationStockInOrder extends BaseVOEntity { @Excel(name = "附件url") private String annexUrl; + @ApiModelProperty("附件url") + @Excel(name = "附件url") + private String pictureUrl; + @ApiModelProperty("物料种数") @Excel(name = "物料种数") private Integer materialQuantity; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java index f34692a71..9dc9998e7 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java @@ -445,5 +445,8 @@ public class ReservationStockInOrderPO extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + @ApiModelProperty("附件url") + @Excel(name = "附件url") + private String pictureUrl; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java index 7dfe0afcb..55678eb48 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java @@ -444,4 +444,7 @@ public class ReservationStockInOrderDO extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + @ApiModelProperty("附件url") + @Excel(name = "附件url") + private String pictureUrl; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java index ccf463949..e2173dc74 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java @@ -442,4 +442,7 @@ public class ReservationStockInOrderDTO extends ReservationStockInOrderBaseDTO { @ApiModelProperty("推送人姓名") private String pushByName; + @ApiModelProperty("附件url") + @Excel(name = "附件url") + private String pictureUrl; } \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 80a8f4398..47a25b4ac 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -97,6 +97,8 @@ + + @@ -124,7 +126,7 @@ - a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by, + a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by,a.PICTURE_URL, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type, a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER, @@ -457,26 +459,26 @@ diff --git a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml index 4df467410..21b1504a4 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml @@ -689,22 +689,22 @@ diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/mapper/MaterialInventoryMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/mapper/MaterialInventoryMapper.java index 5a42b31a8..013aca6f3 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/mapper/MaterialInventoryMapper.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/mapper/MaterialInventoryMapper.java @@ -1,6 +1,7 @@ package com.mhd.wms.domain.materialInventory.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord; import com.mhd.wms.domain.materialInventory.entity.MaterialInventory; import com.mhd.wms.domain.materialInventory.repository.po.MaterialInventoryPO; import com.mhd.wms.domain.materialInventory.repository.po.MaterialInventoryQueryListPO; @@ -103,4 +104,6 @@ public interface MaterialInventoryMapper extends BaseMapper * @return 库存信息 */ MaterialInventoryPO selectByIdWithBatchAttributes(@Param("materialInventoryId") Long materialInventoryId); + + public void insertReservationInventoryAdjustmentRecord(com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord inventoryAdjustmentRecord); } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/service/ShiftManageDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/service/ShiftManageDomainService.java index c9bb54635..86aa5996c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/service/ShiftManageDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/service/ShiftManageDomainService.java @@ -9,6 +9,8 @@ import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.utils.OrderSequence; import com.mhd.common.core.utils.bean.BeanUtils; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.OmsServiceFeign; +import com.mhd.system.api.domain.MaterialInventoryOmsParamDO; import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; import com.mhd.system.api.domain.cache.SystemServiceCacheUtil; import com.mhd.system.api.model.LoginUser; @@ -77,6 +79,8 @@ public class ShiftManageDomainService { private IDeliveTaskService deliveTaskService; @Autowired private SystemServiceFeign systemServiceFeign; + @Autowired + private OmsServiceFeign omsServiceFeign; /** @@ -787,6 +791,23 @@ public class ShiftManageDomainService { materialInventoryDOOld.setVolume(shiftMaterialDetailPO.getVolume()); materialInventoryDOOld.setArea(shiftMaterialDetailPO.getArea()); materialInventoryOldList.add(materialInventoryDOOld); + + //同步oms +// MaterialInventoryOmsParamDO materialInventoryOmsParamDO = new MaterialInventoryOmsParamDO(); +// materialInventoryOmsParamDO.setLotNumber(materialInventoryOldDb.getLotNumber()); +// materialInventoryOmsParamDO.setWarehouseId(materialInventoryOldDb.getWarehouseId()); +// materialInventoryOmsParamDO.setMaterialBaseInfoId(materialInventoryOldDb.getMaterialBaseInfoId()); +// materialInventoryOmsParamDO.setBatchNumber(materialInventoryOldDb.getBatchNumber()); +// materialInventoryOmsParamDO.setInOrderNumber(materialInventoryOldDb.getInOrderNumber()); +// materialInventoryOmsParamDO.setType("6"); +// +// materialInventoryOmsParamDO.setQuantity(shiftQuantity); +// materialInventoryOmsParamDO.setNetWeight(shiftMaterialDetailPO.getNetWeight()); +// materialInventoryOmsParamDO.setGrossWeight(shiftMaterialDetailPO.getGrossWeight()); +// materialInventoryOmsParamDO.setVolume(shiftMaterialDetailPO.getVolume()); +// materialInventoryOmsParamDO.setArea(shiftMaterialDetailPO.getArea()); +// +// omsServiceFeign.omsEdit(materialInventoryOmsParamDO); } //目标库位 需要增加的库存 @@ -1052,4 +1073,4 @@ public class ShiftManageDomainService { } return d; } -} +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java index b6b086a4f..c7a528686 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java @@ -365,4 +365,7 @@ public class StockInOrder extends BaseVOEntity { @ApiModelProperty("oms入库单id") @Excel(name = "oms入库单id") private String omsStockInOrderId; + @ApiModelProperty("附件url") + @Excel(name = "附件url") + private String pictureUrl; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java index c8e6957c4..a65f25e26 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java @@ -425,5 +425,8 @@ public class StockInOrderPO extends BaseVOEntity { @ApiModelProperty("oms入库单id") @Excel(name = "oms入库单id") private String omsStockInOrderId; + @ApiModelProperty("附件url") + @Excel(name = "附件url") + private String pictureUrl; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java index 0b3b6a4fa..f7dff7243 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java @@ -394,4 +394,7 @@ public class StockInOrderDO extends BaseVOEntity { @ApiModelProperty("oms入库单id") @Excel(name = "oms入库单id") private String omsStockInOrderId; + @ApiModelProperty("附件url") + @Excel(name = "附件url") + private String pictureUrl; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java index bd07f9946..000367b55 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java @@ -392,4 +392,7 @@ public class StockInOrderDTO extends StockInOrderBaseDTO { @ApiModelProperty("oms入库单id") @Excel(name = "oms入库单id") private String omsStockInOrderId; + @ApiModelProperty("附件url") + @Excel(name = "附件url") + private String pictureUrl; } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml index 64b1b5548..0cf5d975e 100644 --- a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml +++ b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml @@ -1367,4 +1367,115 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM material_inventory WHERE material_inventory_id = #{materialInventoryId} AND del_flag = 1 + + + + INSERT INTO "NGWL_TEST_OMS"."RESERVATION_INVENTORY_ADJUSTMENT_RECORD" + + ORGANIZATION_ID, + ORGANIZATION_NAME, + TOP_ORGANIZATION_ID, + MATERIAL_INVENTORY_ID, + MATERIAL_BASE_INFO_ID, + MATERIAL_CODE, + MATERIAL_NAME, + BAR_CODE, + SHIPPER_ID, + SHIPPER_NAME, + WAREHOUSE_ID, + WAREHOUSE_CODE, + WAREHOUSE_NAME, + STORAGE_SECTION_ID, + STORAGE_CODE, + STORAGE_NAME, + STORAGE_LOCATION_ID, + STORAGE_LOCATION_CODE, + STORAGE_LOCATION_NAME, + ADJUST_TYPE, + ADJUST_DIRECTION, + ADJUST_BEFORE_STATUS_CODE, + ADJUST_BEFORE_STATUS_NAME, + ADJUST_AFTER_STATUS_CODE, + ADJUST_AFTER_STATUS_NAME, + INVENTORY_BEFORE_QUANTITY, + ALLOCATION_BEFORE_QUANTITY, + FREEZE_BEFORE_QUANTITY, + INVENTORY_AFTER_QUANTITY, + ALLOCATION_AFTER_QUANTITY, + FREEZE_AFTER_QUANTITY, + CREATE_TIME, + CREATE_BY, + CREATE_BY_NAME, + UPDATE_TIME, + UPDATE_BY, + UPDATE_BY_NAME, + DEL_FLAG, + ADJUST_ACTION, + RELATE_NO, + NET_WEIGHT, + GROSS_WEIGHT, + VOLUME, + AREA, + ADJUSTED_NET_WEIGHT, + ADJUSTED_GROSS_WEIGHT, + ADJUSTED_VOLUME, + ADJUSTED_AREA, + IN_ORDER_NUMBER, + LOT_NUMBER, + BATCH_NUMBER, + + + #{organizationId}, + #{organizationName}, + #{topOrganizationId}, + #{materialInventoryId}, + #{materialBaseInfoId}, + #{materialCode}, + #{materialName}, + #{barCode}, + #{shipperId}, + #{shipperName}, + #{warehouseId}, + #{warehouseCode}, + #{warehouseName}, + #{storageSectionId}, + #{storageCode}, + #{storageName}, + #{storageLocationId}, + #{storageLocationCode}, + #{storageLocationName}, + #{adjustType}, + #{adjustDirection}, + #{adjustBeforeStatusCode}, + #{adjustBeforeStatusName}, + #{adjustAfterStatusCode}, + #{adjustAfterStatusName}, + #{inventoryBeforeQuantity}, + #{allocationBeforeQuantity}, + #{freezeBeforeQuantity}, + #{inventoryAfterQuantity}, + #{allocationAfterQuantity}, + #{freezeAfterQuantity}, + #{createTime}, + #{createBy}, + #{createByName}, + #{updateTime}, + #{updateBy}, + #{updateByName}, + #{delFlag}, + #{adjustAction}, + #{relateNo}, + #{netWeight}, + #{grossWeight}, + #{volume}, + #{area}, + #{adjustedNetWeight}, + #{adjustedGrossWeight}, + #{adjustedVolume}, + #{adjustedArea}, + #{inOrderNumber}, + #{lotNumber}, + #{batchNumber}, + + \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml index 234081d08..3c3e82f8e 100644 --- a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml @@ -86,6 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -103,7 +104,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.audit_status, a.audit_remark, a.audit_by, a.audit_by_name, a.audit_time, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_code, a.shipper_name, a.order_type_code, a.order_type_name, a.supplier_id, a.supplier_code, a.supplier_name, a.expect_time, a.supply_chain_number, a.priority_level_code, a.priority_level_name, a.direct_warehouse, a.annex_url, a.material_quantity, a.quantity,a.billing_json,a.SETTLEMENT_CURRENCY, - a.SALESMAN_ID,a.SALESMAN_NAME, + a.SALESMAN_ID,a.SALESMAN_NAME,a.PICTURE_URL, -- 计划入库数量:入库明细表 in_material_detail 的 quantity 汇总 (select ifnull(sum(imd.quantity), 0) from in_material_detail imd From 1366f9c4618b53cde157f575c60fbd840e94ffd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 14:24:25 +0800 Subject: [PATCH 313/418] =?UTF-8?q?=E7=9B=98=E7=82=B9oms=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=90=8C=E6=AD=A5;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationMaterialInventoryImpl.java | 142 ++++++++++++++++++ .../persistence/DifferentManageImpl.java | 30 ++++ 2 files changed, 172 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/persistence/ReservationMaterialInventoryImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/persistence/ReservationMaterialInventoryImpl.java index 8d0680a2b..0b5ca9081 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/persistence/ReservationMaterialInventoryImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/persistence/ReservationMaterialInventoryImpl.java @@ -222,6 +222,14 @@ public class ReservationMaterialInventoryImpl extends ServiceImpl Date: Mon, 1 Jun 2026 14:43:20 +0800 Subject: [PATCH 314/418] =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=8A=A0=E5=9B=BE?= =?UTF-8?q?=E7=89=87;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ReservationStockOutOrderApplicationService.java | 4 ++-- .../service/ReservationStockOutOrderDomainService.java | 3 ++- .../ReservationStockOutOrder/ReservationStockOutOrderApi.java | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index 5503d5be8..f96c5e981 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -1294,7 +1294,7 @@ public class ReservationStockOutOrderApplicationService { reservationStockOutOrderMapper.updateById(entity); } - public void returnGoods(String invoiceNumber, String transportationNumber, String orderId) { - stockOutOrderDomainService.returnGoods(invoiceNumber, transportationNumber, orderId); + public void returnGoods(String invoiceNumber, String transportationNumber, String orderId,String pictureUrl) { + stockOutOrderDomainService.returnGoods(invoiceNumber, transportationNumber, orderId, pictureUrl); } } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java index 16fe40cbb..357771299 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java @@ -730,7 +730,7 @@ public class ReservationStockOutOrderDomainService { return stockOutOrderService.queryOutStockNoticePrintDetail(stockOutOrderDO); } - public void returnGoods(String invoiceNumber, String transportationNumber, String orderId) { + public void returnGoods(String invoiceNumber, String transportationNumber, String orderId,String pictureUrl) { reservationStockInOrderMapper.updateByOrderId(orderId); reservationStockInOrderMapper.updateByTransportationNumber(transportationNumber); LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -750,6 +750,7 @@ public class ReservationStockOutOrderDomainService { ReservationStockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper().lambda().eq(ReservationStockOutOrder::getOutOrderNumber, orderNumber), false); if (stockOutOrder != null) { ReservationStockInOrder reservationStockInOrder = new ReservationStockInOrder(); + reservationStockInOrder.setPictureUrl(pictureUrl); reservationStockInOrder.setOrganizationId(stockOutOrder.getOrganizationId()); reservationStockInOrder.setOrganizationName(stockOutOrder.getOrganizationName()); reservationStockInOrder.setTopOrganizationId(stockOutOrder.getTopOrganizationId()); diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java index 549a5fcf1..f20f82bad 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java @@ -202,11 +202,11 @@ public class ReservationStockOutOrderApi extends BaseController { @ApiOperation("退货") @GetMapping("/returnGoods") - public AjaxResult returnGoods(@RequestParam("invoiceNumber") String invoiceNumber, @RequestParam("transportationNumber") String transportationNumber, @RequestParam("orderId") String orderId) { + public AjaxResult returnGoods(@RequestParam("invoiceNumber") String invoiceNumber, @RequestParam("transportationNumber") String transportationNumber, @RequestParam("orderId") String orderId, @RequestParam("pictureUrl") String pictureUrl) { if (invoiceNumber == null || invoiceNumber.trim().isEmpty()) { return AjaxResult.error("发票编号不能为空"); } - stockOutOrderApplicationService.returnGoods(invoiceNumber, transportationNumber, orderId); + stockOutOrderApplicationService.returnGoods(invoiceNumber, transportationNumber, orderId, pictureUrl); return AjaxResult.success(); } From c2171dd8cd65ea07ef82d67e9ff02e89b8d366a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 15:29:05 +0800 Subject: [PATCH 315/418] =?UTF-8?q?oms=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E4=B8=BA0;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationMaterialInventory/MaterialInventoryMapper.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationMaterialInventory/MaterialInventoryMapper.xml b/mhd_oms/src/main/resources/mapper/reservationMaterialInventory/MaterialInventoryMapper.xml index ce0ef0797..562e9462a 100644 --- a/mhd_oms/src/main/resources/mapper/reservationMaterialInventory/MaterialInventoryMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationMaterialInventory/MaterialInventoryMapper.xml @@ -240,10 +240,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.container_type_name like concat('%', #{containerTypeName}, '%') - - and a.inventory_quantity = #{inventoryQuantity} - and a.inventory_quantity != 0 - + and a.allocation_quantity = #{allocationQuantity} From e151c3cad0afe52858151cc09d5667dd9df3bbaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 15:42:58 +0800 Subject: [PATCH 316/418] =?UTF-8?q?=E5=8F=9131?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 618fcd71c..58660919a 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 From dc3eaa63b34c1c899cb0b6d9a9c7a7185b1c8878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 16:06:29 +0800 Subject: [PATCH 317/418] =?UTF-8?q?=E5=8F=9130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 211715894..3466fdf14 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..dfb64994b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 0ae254cec..48fa38331 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 238ec5f81..dfac7337f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 58660919a..618fcd71c 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index e8f169bf2..fc7380c20 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From c298f1feb1ae4592c7347d5dae37d799eb153793 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Mon, 1 Jun 2026 16:26:18 +0800 Subject: [PATCH 318/418] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E7=AD=BE=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sinessDocumentOrderApplicationService.java | 4 +- .../BusinessPartnerApplicationService.java | 4 +- .../PickingOrderApplicationService.java | 51 +++++++++++++++++-- 3 files changed, 52 insertions(+), 7 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index b4285606d..184b32b5c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -56,6 +56,8 @@ public class BusinessDocumentOrderApplicationService { private static final String API_NAME_E = "saveBill_e"; private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; private static final String API_NAME = "billAppModify"; + private static final String VERIFY1 = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; + @@ -235,7 +237,7 @@ public class BusinessDocumentOrderApplicationService { httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); - httpPost.setHeader("verify", VERIFY); + httpPost.setHeader("verify", VERIFY1); if(pushData.getIeType().equals("I")) { httpPost.setHeader("apiName", API_NAME_I); diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java index 7a20ec981..4bd0d26e2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessPartner/BusinessPartnerApplicationService.java @@ -33,7 +33,7 @@ public class BusinessPartnerApplicationService { private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveCorporation"; private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; - + private static final String VERIFY1 = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; @Resource private UserServiceFeign userServiceFeign; @@ -120,7 +120,7 @@ public class BusinessPartnerApplicationService { httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); - httpPost.setHeader("verify", VERIFY); + httpPost.setHeader("verify", VERIFY1); try{ CloseableHttpResponse response = httpClient.execute(httpPost); String responseString = EntityUtils.toString(response.getEntity()); diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java index 941ee8626..c6cb4620c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java @@ -3,6 +3,7 @@ package com.mhd.wms.application.service.pickingOrder; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.common.core.domain.po.UserPo; @@ -93,7 +94,7 @@ public class PickingOrderApplicationService { private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "save_qnBill_i"; private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; - + private static final String VERIFY1 = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; /** * 分页查询拣货单列表 @@ -754,6 +755,48 @@ public class PickingOrderApplicationService { failMsg.append("id:").append(id).append("无物料明细;"); continue; } + // 调用报关回写接口获取核注清单号和行号 + String bondInvtNo = ""; + Integer invtRow = null; + try { + Map customsParam = new HashMap<>(); + customsParam.put("beginDate", "2020-01-01"); + customsParam.put("endDate", new SimpleDateFormat("yyyy-MM-dd").format(new Date())); + customsParam.put("erpBillNo", pickingOrder.getPickingOrderNumber()); + customsParam.put("pageIndex", 1); + customsParam.put("pageSize", 100); + + List> customsBodyList = new ArrayList<>(); + customsBodyList.add(customsParam); + + CloseableHttpClient customsHttpClient = HttpClients.createDefault(); + HttpPost customsHttpPost = new HttpPost(PUSH_API_URL); + StringEntity customsPostingString = new StringEntity(JSONObject.toJSONString(customsBodyList), "UTF-8"); + customsHttpPost.setEntity(customsPostingString); + customsHttpPost.setHeader("Content-type", "application/json"); + customsHttpPost.setHeader("apiName", "sendDec"); + customsHttpPost.setHeader("verify", VERIFY); + + CloseableHttpResponse customsResponse = customsHttpClient.execute(customsHttpPost); + String customsResponseString = EntityUtils.toString(customsResponse.getEntity()); + + if (customsResponse.getStatusLine().getStatusCode() == 200) { + JSONObject customsJson = JSONObject.parseObject(customsResponseString); + JSONArray customsData = customsJson.getJSONArray("data"); + if (customsData != null && customsData.size() > 0) { + JSONObject customsItem = customsData.getJSONObject(0); + bondInvtNo = customsItem.getString("entry_id"); + Object erpGNoObj = customsItem.get("erp_g_no"); + if (erpGNoObj != null) { + invtRow = (erpGNoObj instanceof Number) ? ((Number) erpGNoObj).intValue() : Integer.parseInt(erpGNoObj.toString()); + } + } + } + customsResponse.close(); + customsHttpClient.close(); + } catch (Exception e) { + log.error("调用报关回写接口失败: pickingOrderNumber={}", pickingOrder.getPickingOrderNumber(), e); + } // 3. 构建主单 Map order = new HashMap<>(); @@ -792,8 +835,8 @@ public class PickingOrderApplicationService { item.put("dclQty", detail.getPickingQuantity() != null ? detail.getPickingQuantity() : detail.getQuantity()); // 申报数量 item.put("orderNo", pickingOrder.getPickingOrderNumber()); // 出仓订单号 item.put("orderRow", gNo - 1); // 出仓订单行号 - item.put("bondInvtNo", ""); // 原进口核注清单号(暂无) - item.put("invtRow", ""); // 原进口核注清单行号(暂无) + item.put("bondInvtNo", bondInvtNo); // 原进口核注清单号 + item.put("invtRow", invtRow); // 原进口核注清单行号 item.put("whNo", detail.getWarehouseCode() != null ? detail.getWarehouseCode() : ""); // 仓库 item.put("seatNo", detail.getStorageLocationCode() != null ? detail.getStorageLocationCode() : ""); // 库位 item.put("whNoIn", detail.getWarehouseCode() != null ? detail.getWarehouseCode() : ""); @@ -843,7 +886,7 @@ public class PickingOrderApplicationService { httpPost.setEntity(postingString); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("apiName", API_NAME); - httpPost.setHeader("verify", VERIFY); + httpPost.setHeader("verify", VERIFY1); try { CloseableHttpResponse response = httpClient.execute(httpPost); From c72df0103790a93e98e17dde0324e135872c9aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 16:38:24 +0800 Subject: [PATCH 319/418] =?UTF-8?q?=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=90=8C=E6=AD=A5wms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/WmsServiceFeign.java | 7 ++ .../api/domain/DeliveryDetailsLink.java | 50 ++++++++++ .../mapper/ReservationStockInOrderMapper.java | 3 + ...ReservationStockOutOrderDomainService.java | 17 ++++ .../ReservationStockInOrderMapper.xml | 4 + .../StockOutOrderApplicationService.java | 12 +++ .../entity/DeliveryDetailsLink.java | 50 ++++++++++ .../facade/IDeliveryDetailsLinkService.java | 48 ++++++++++ .../mapper/DeliveryDetailsLinkMapper.java | 23 +++++ .../persistence/DeliveryDetailsLinkImpl.java | 95 +++++++++++++++++++ .../repository/po/DeliveryDetailsLinkPO.java | 55 +++++++++++ .../todo/DeliveryDetailsLinkDO.java | 59 ++++++++++++ .../DeliveryDetailsLinkDomainService.java | 70 ++++++++++++++ .../repository/po/StockOutOrderPO.java | 3 + .../service/StockOutOrderDomainService.java | 16 ++++ .../stockOutOrder/StockOutOrderApi.java | 10 ++ 16 files changed, 522 insertions(+) create mode 100644 mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/DeliveryDetailsLink.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/facade/IDeliveryDetailsLinkService.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/mapper/DeliveryDetailsLinkMapper.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/persistence/DeliveryDetailsLinkImpl.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/service/DeliveryDetailsLinkDomainService.java diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48fa38331..687c0e1ae 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -82,6 +82,13 @@ public interface WmsServiceFeign { @PostMapping(value = "/stockOutOrderApi/omsOutOrderAddDetail") public void omsOutOrderAddDetail(@RequestBody List outMaterialDetails); + /** + * oms下发单明细保存 + */ + @ApiOperation("oms下发单明细保存") + @PostMapping(value = "/stockOutOrderApi/omsOutOrderAddDeliveryDetailsLink") + public void omsOutOrderAddDeliveryDetailsLink(@RequestBody List deliveryDetailsLinks); + /** * oms下发单保存 diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/DeliveryDetailsLink.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/DeliveryDetailsLink.java new file mode 100644 index 000000000..0038cd817 --- /dev/null +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/DeliveryDetailsLink.java @@ -0,0 +1,50 @@ +package com.mhd.system.api.domain; +//package com.mhd.wms.domain.deliveryDetailsLink.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class DeliveryDetailsLink extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + @ApiModelProperty("oms编号") + private Long omsId; + + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "退货入库单号") + private String returnOrderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java index c401cfe84..4021063d3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java @@ -10,6 +10,7 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStock import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; /** @@ -44,4 +45,6 @@ public interface ReservationStockInOrderMapper extends BaseMapper list = deliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber())); + List deliveryDetailsLinkList = new ArrayList<>(); + for (ReservationDeliveryDetailsLink reservationDeliveryDetailsLink : list) { + DeliveryDetailsLink deliveryDetailsLink = new DeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLink, deliveryDetailsLink,"id"); + deliveryDetailsLink.setOmsId(reservationDeliveryDetailsLink.getId()); + deliveryDetailsLinkList.add(deliveryDetailsLink); + } + wmsServiceFeign.omsOutOrderAddDeliveryDetailsLink(deliveryDetailsLinkList); + + String inOrderNumber = stockOutOrder.getOutOrderNumber(); List materialDetailList = outMaterialDetailService.list(new QueryWrapper().lambda().eq(ReservationOutMaterialDetail::getOutOrderNumber, inOrderNumber)); List outMaterialDetailList = new ArrayList<>(); @@ -818,6 +832,9 @@ public class ReservationStockOutOrderDomainService { stockOutOrder.setReturnQuantity(returnQuantity.add(new BigDecimal(bag))); } stockOutOrderService.updateById(stockOutOrder); + //退货数量同步w + reservationStockInOrderMapper.updateWmsOut(stockOutOrder.getOutOrderNumber(),stockOutOrder.getReturnQuantity()); + String subOrderId = businessDeliveryDetailsLink.getSubOrderId(); BusinessDocumentOrder businessDocumentOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper().eq(BusinessDocumentOrder::getId, subOrderId)); businessDocumentOrder.setOrderStatus(3L); diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 47a25b4ac..90005ccd1 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -550,4 +550,8 @@ update "NGWL_TEST_WLHY".TMS_TRANSPORT_NOTE set WAYBILL_STATUS =12 where TRANSPORTATION_NUMBER = #{transportationNumber} + + update "NGWL_TEST_WMS".stock_in_order set return_quantity = #{quantity} where in_order_number = #{orderNumber} + + \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java index 92da35fea..88cbbca89 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java @@ -28,6 +28,8 @@ import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; import com.mhd.system.api.domain.cache.SystemServiceCacheUtil; import com.mhd.system.api.model.LoginUser; import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService; import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail; import com.mhd.wms.domain.materialInventory.entity.MaterialInventory; import com.mhd.wms.domain.materialInventory.repository.mapper.MaterialInventoryMapper; @@ -96,6 +98,8 @@ public class StockOutOrderApplicationService { private IPickingMaterialDetailService pickingMaterialDetailService; @Autowired private IReceiptOrderAccountService receiptOrderAccountService; + @Autowired + private IDeliveryDetailsLinkService deliveryDetailsLinkService; /** @@ -218,6 +222,10 @@ public class StockOutOrderApplicationService { for (StockOutOrderPO stockOutOrderPO : stockOutOrderPOS) { String outOrderNumber = stockOutOrderPO.getOutOrderNumber(); + + List list = deliveryDetailsLinkService.list(new LambdaQueryWrapper().eq(DeliveryDetailsLink::getOrderNumber, outOrderNumber)); + stockOutOrderPO.setDeliveryDetailsLinkList(list); + OutStockListMaterialAgg mag = materialAggByNum.get(outOrderNumber); BigDecimal reduce = (mag != null && mag.getTotalOutboundQuantity() != null) ? mag.getTotalOutboundQuantity() : BigDecimal.ZERO; @@ -1431,6 +1439,10 @@ public class StockOutOrderApplicationService { stockOutOrderDomainService.omsOrderAddDetail(outMaterialDetails); } + public void omsOrderAddDeliveryDetailsLink(List deliveryDetailsLinks){ + stockOutOrderDomainService.omsOrderAddDeliveryDetailsLink(deliveryDetailsLinks); + } + public List queryOutStockNoticePrint(StockOutOrderDTO stockOutOrderDTO) { return stockOutOrderDomainService.queryOutStockNoticePrint(stockOutOrderDTO); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java new file mode 100644 index 000000000..eba5f078f --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java @@ -0,0 +1,50 @@ +package com.mhd.wms.domain.deliveryDetailsLink.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@TableName(value = "delivery_details_link") +public class DeliveryDetailsLink extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + @ApiModelProperty("oms编号") + private Long omsId; + + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "退货入库单号") + private String returnOrderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/facade/IDeliveryDetailsLinkService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/facade/IDeliveryDetailsLinkService.java new file mode 100644 index 000000000..af2de38dd --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/facade/IDeliveryDetailsLinkService.java @@ -0,0 +1,48 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.facade; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.po.DeliveryDetailsLinkPO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; + +import java.util.List; + +/** + * 预约配送明细关联Service接口 + * + * @author gen + * @date 2026-05-26 + */ +public interface IDeliveryDetailsLinkService extends IService +{ + /** + * 分页查询预约配送明细关联列表 + */ + public List queryList(DeliveryDetailsLinkDO deliveryDetailsLinkDO); + + /** + * 新增预约配送明细关联 + */ + public Boolean insert(DeliveryDetailsLinkDO deliveryDetailsLinkDO); + + /** + * 修改预约配送明细关联 + */ + public Boolean update(DeliveryDetailsLinkDO deliveryDetailsLinkDO); + + /** + * 批量删除预约配送明细关联 + */ + public Boolean delete(Long[] ids); + + + /** + * 查询预约配送明细关联 + */ + public DeliveryDetailsLinkPO getInfo(Long id); + + /** + * 批量新增 + */ + Boolean batchInsert(List deliveryDetailsLinkDOList); +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/mapper/DeliveryDetailsLinkMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/mapper/DeliveryDetailsLinkMapper.java new file mode 100644 index 000000000..67a741485 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/mapper/DeliveryDetailsLinkMapper.java @@ -0,0 +1,23 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.po.DeliveryDetailsLinkPO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; + +import java.util.List; + +/** + * 预约配送明细关联Mapper接口 + * + * @author gen + * @date 2026-05-26 + */ +public interface DeliveryDetailsLinkMapper extends BaseMapper +{ + /** + * 查询预约配送明细关联列表 + */ + public List queryList(DeliveryDetailsLinkDO deliveryDetailsLinkDO); + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/persistence/DeliveryDetailsLinkImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/persistence/DeliveryDetailsLinkImpl.java new file mode 100644 index 000000000..df45d2525 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/persistence/DeliveryDetailsLinkImpl.java @@ -0,0 +1,95 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.persistence; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService; +import com.mhd.wms.domain.deliveryDetailsLink.repository.mapper.DeliveryDetailsLinkMapper; +import com.mhd.wms.domain.deliveryDetailsLink.repository.po.DeliveryDetailsLinkPO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 预约配送明细关联Service业务层处理 + * + * @author gen + * @date 2026-05-26 + */ +@Service +public class DeliveryDetailsLinkImpl extends ServiceImpl implements IDeliveryDetailsLinkService { + @Autowired + private DeliveryDetailsLinkMapper reservationDeliveryDetailsLinkMapper; + + /** + * 查询预约配送明细关联列表 + */ + @Override + public List queryList(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) + { + return reservationDeliveryDetailsLinkMapper.queryList(reservationDeliveryDetailsLinkDO); + } + + /** + * 新增预约配送明细关联 + */ + @Override + public Boolean insert(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + DeliveryDetailsLink reservationDeliveryDetailsLink = new DeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLinkDO, reservationDeliveryDetailsLink); + return this.save(reservationDeliveryDetailsLink); + } + + /** + * 修改预约配送明细关联 + */ + @Override + public Boolean update(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + DeliveryDetailsLink reservationDeliveryDetailsLink = new DeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLinkDO, reservationDeliveryDetailsLink); + return this.updateById(reservationDeliveryDetailsLink); + } + + /** + * 批量删除预约配送明细关联 + */ + @Override + public Boolean delete(Long[] ids ) { + List list = new ArrayList<>(); + for (Long id : ids) { + DeliveryDetailsLink reservationDeliveryDetailsLink = new DeliveryDetailsLink(); + reservationDeliveryDetailsLink.setId(id); + reservationDeliveryDetailsLink.setDelFlag(2); + list.add(reservationDeliveryDetailsLink); + } + return this.updateBatchById(list); + } + + /** + * 查询预约配送明细关联 + */ + @Override + public DeliveryDetailsLinkPO getInfo(Long id) { + DeliveryDetailsLink reservationDeliveryDetailsLink = this.getById(id); + DeliveryDetailsLinkPO reservationDeliveryDetailsLinkPO = new DeliveryDetailsLinkPO(); + BeanUtils.copyProperties(reservationDeliveryDetailsLink, reservationDeliveryDetailsLinkPO); + return reservationDeliveryDetailsLinkPO; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean batchInsert(List reservationDeliveryDetailsLinkDOList) { + List reservationDeliveryDetailsLinkList = reservationDeliveryDetailsLinkDOList.stream().map(reservationDeliveryDetailsLinkDO -> { + DeliveryDetailsLink reservationDeliveryDetailsLink = new DeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLinkDO, reservationDeliveryDetailsLink); + return reservationDeliveryDetailsLink; + }).collect(Collectors.toList()); + + return this.saveBatch(reservationDeliveryDetailsLinkList); + } +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java new file mode 100644 index 000000000..db1cee929 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java @@ -0,0 +1,55 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + + +/** + * 预约配送明细关联对象 oms_receipt_info + * + * @author gen + * @date 2026-05-26 + */ + +@Data +@ApiModel(value = "预约配送明细关联对象", description = "预约配送明细关联响应对象") +public class DeliveryDetailsLinkPO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + @ApiModelProperty("oms编号") + private Long omsId; + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java new file mode 100644 index 000000000..639439dcc --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java @@ -0,0 +1,59 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.todo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + + +/** + * 预约配送明细关联对象 oms_receipt_info + * + * @author gen + * @date 2026-05-26 + */ + +@Data +public class DeliveryDetailsLinkDO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + @ApiModelProperty("oms编号") + private Long omsId; + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + + @ApiModelProperty(name = "组织ID集合") + private List organizationIdList; + + @ApiModelProperty(name = "权限菜单ID") + private Long permissionMenuId; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/service/DeliveryDetailsLinkDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/service/DeliveryDetailsLinkDomainService.java new file mode 100644 index 000000000..78cca3417 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/service/DeliveryDetailsLinkDomainService.java @@ -0,0 +1,70 @@ +package com.mhd.wms.domain.deliveryDetailsLink.service; + +import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService; +import com.mhd.wms.domain.deliveryDetailsLink.repository.po.DeliveryDetailsLinkPO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 预约配送明细关联 + * + * @author gen + * @date 2026-05-26 + */ +@Service +@Slf4j +public class DeliveryDetailsLinkDomainService { + + @Autowired + private IDeliveryDetailsLinkService reservationDeliveryDetailsLinkService; + + + /** + * 分页查询预约配送明细关联列表 + */ + public List queryList(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + return reservationDeliveryDetailsLinkService.queryList(reservationDeliveryDetailsLinkDO); + } + + + /** + * 新增预约配送明细关联 + */ + public Boolean insert(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + + return reservationDeliveryDetailsLinkService.insert(reservationDeliveryDetailsLinkDO); + } + + /** + * 修改预约配送明细关联 + */ + public Boolean update(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + return reservationDeliveryDetailsLinkService.update(reservationDeliveryDetailsLinkDO); + } + + /** + * 批量删除预约配送明细关联 + */ + public Boolean delete(Long[] ids) { + return reservationDeliveryDetailsLinkService.delete(ids); + } + + /** + * 获取预约配送明细关联详细信息 + */ + public DeliveryDetailsLinkPO getInfo(Long id) + { + return reservationDeliveryDetailsLinkService.getInfo(id); + } + + /** + * 批量新增 + */ + public Boolean batchInsert(List reservationDeliveryDetailsLinkDOList) { + return reservationDeliveryDetailsLinkService.batchInsert(reservationDeliveryDetailsLinkDOList); + } +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java index b554c4647..67351bb86 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java @@ -3,6 +3,7 @@ package com.mhd.wms.domain.stockOutOrder.repository.po; import com.fasterxml.jackson.annotation.JsonFormat; import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.web.domain.BaseVOEntity; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialCheckPO; import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO; import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount; @@ -429,4 +430,6 @@ public class StockOutOrderPO extends BaseVOEntity { @ApiModelProperty("配送顺序") private String deliveryOrder; + + private List deliveryDetailsLinkList; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java index c679eb382..2186d7e09 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java @@ -15,11 +15,13 @@ import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.SystemServiceFeign; import com.mhd.system.api.domain.BatchDetailFeignPO; +import com.mhd.system.api.domain.DeliveryDetailsLink; import com.mhd.system.api.domain.PackDetailFeignPO; import com.mhd.system.api.model.LoginUser; import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO; import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService; import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService; import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService; import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO; import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail; @@ -99,6 +101,8 @@ public class StockOutOrderDomainService { @Autowired private IOutMaterialDetailService outMaterialDetailService; @Autowired + private IDeliveryDetailsLinkService deliveryDetailsLinkService; + @Autowired private IHandoverTaskOrderService handoverTaskOrderService; @Autowired private IOutOrderAbnormalService outOrderAbnormalService; @@ -1732,6 +1736,18 @@ public class StockOutOrderDomainService { autoAuditOmsOutOrder(outMaterialDetails.get(0).getOutOrderNumber()); } + @Transactional(rollbackFor = Exception.class) + public void omsOrderAddDeliveryDetailsLink(List deliveryDetailsLinks) { + if (CollectionUtils.isEmpty(deliveryDetailsLinks)) { + return; + } + for (DeliveryDetailsLink deliveryDetailsLink : deliveryDetailsLinks) { + com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink deliveryDetailsLinkEntity = new com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink(); + BeanUtils.copyProperties(deliveryDetailsLink, deliveryDetailsLinkEntity); + deliveryDetailsLinkService.save(deliveryDetailsLinkEntity); + } + } + /** * OMS下发出库单明细保存后自动审核通过 */ diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java index bf161ccfa..c1cf07475 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.system.api.domain.DeliveryDetailsLink; import com.mhd.wms.application.service.handoverTaskOrder.HandoverTaskOrderApplicationService; import com.mhd.wms.application.service.stockOutOrder.StockOutOrderApplicationService; import com.mhd.wms.domain.copyCodeReference.entity.CopyCodeReference; @@ -421,6 +422,15 @@ public class StockOutOrderApi extends BaseController { stockOutOrderApplicationService.omsOrderAddDetail(outMaterialDetails); } + /** + * oms下发单配送明细保存 + */ + @ApiOperation("oms下发单配送明细保存") + @PostMapping(value = "/omsOutOrderAddDeliveryDetailsLink") + public void omsOutOrderAddDeliveryDetailsLink(@RequestBody List deliveryDetailLinks) { + stockOutOrderApplicationService.omsOrderAddDeliveryDetailsLink(deliveryDetailLinks); + } + @ApiOperation("出库单提货单打印") @PostMapping("/queryOutStockNoticePrint") public AjaxResult queryOutStockNoticePrint(@RequestBody StockOutOrderDTO stockOutOrderDTO) { From 12452e2eb09f5e235e3e2a0c1a0a139f87ab5aaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 16:42:34 +0800 Subject: [PATCH 320/418] =?UTF-8?q?=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=90=8C=E6=AD=A5wms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/domain/StockInOrder.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockInOrder.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockInOrder.java index 062b19092..8ee2dbeb4 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockInOrder.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockInOrder.java @@ -362,4 +362,6 @@ public class StockInOrder extends BaseVOEntity { private String salesmanId; @ApiModelProperty("业务员名称") private String salesmanName; + @Excel(name = "附件url") + private String pictureUrl; } \ No newline at end of file From 0c7a87ad108b6d6eae550c98a3696b9f21d16f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 16:44:17 +0800 Subject: [PATCH 321/418] =?UTF-8?q?=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=90=8C=E6=AD=A5wms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/factory/RemoteWmsFallbackFactory.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java index 5b0cb292e..a62144e1f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteWmsFallbackFactory.java @@ -64,6 +64,11 @@ public class RemoteWmsFallbackFactory implements FallbackFactory outMaterialDetails) { } + @Override + public void omsOutOrderAddDeliveryDetailsLink(List deliveryDetailsLinks) { + + } + @Override public void omsInOrderAdd(StockInOrder stockInOrder) { } From 9bbe1c2b4108e9e900c107d701a1ac0236c74b0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 16:54:41 +0800 Subject: [PATCH 322/418] =?UTF-8?q?=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=90=8C=E6=AD=A5wms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java | 3 +++ .../domain/stockOutOrder/repository/po/StockOutOrderPO.java | 4 +++- .../domain/stockOutOrder/repository/todo/StockOutOrderDO.java | 3 +++ .../wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java | 4 +++- .../resources/mapper/stockOutOrder/StockOutOrderMapper.xml | 3 ++- 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java index b4d45da1c..ea005d3ed 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java @@ -404,5 +404,8 @@ public class StockOutOrder extends BaseVOEntity { private String salesmanId; @ApiModelProperty("业务员名称") private String salesmanName; + @ApiModelProperty("退货数量") + @Excel(name = "退货数量") + private BigDecimal returnQuantity; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java index 67351bb86..a7e071fa9 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java @@ -430,6 +430,8 @@ public class StockOutOrderPO extends BaseVOEntity { @ApiModelProperty("配送顺序") private String deliveryOrder; - + @ApiModelProperty("退货数量") + @Excel(name = "退货数量") + private BigDecimal returnQuantity; private List deliveryDetailsLinkList; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java index 9eb483106..e7d4e4d5e 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java @@ -452,4 +452,7 @@ public class StockOutOrderDO extends BaseVOEntity { private String salesmanName; @ApiModelProperty("费用") List receiptOrderAccountList; + @ApiModelProperty("退货数量") + @Excel(name = "退货数量") + private BigDecimal returnQuantity; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java index 5152bf8f6..c9111a31b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java @@ -441,7 +441,9 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO { private String salesmanName; @ApiModelProperty("费用") List receiptOrderAccountList; - + @ApiModelProperty("退货数量") + @Excel(name = "退货数量") + private BigDecimal returnQuantity; /** * 提货单打印所选模版(与图5单选项文案一致即可)。可传副标题如「谷丰--营销部」,或整段「提货单--谷丰--营销部」;不传则标题为「提货单」 */ diff --git a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml index d88802295..dfe527faa 100644 --- a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml @@ -94,6 +94,7 @@ + @@ -114,7 +115,7 @@ a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME, a.CUSTOMS_INSPECTION_FLAG,a.NEED_DECLARE_FLAG,a.NEED_TRANSPORT_FLAG,a.picture_app,a.billing_json,a.SETTLEMENT_CURRENCY, - a.SALESMAN_ID,a.SALESMAN_NAME,a.business_order_no + a.SALESMAN_ID,a.SALESMAN_NAME,a.business_order_no,a.RETURN_QUANTITY From a372daee17dd227ab86bbfd3ceec67839f1ccb58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 16:56:16 +0800 Subject: [PATCH 323/418] =?UTF-8?q?=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=90=8C=E6=AD=A5wms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 90005ccd1..0e4bea733 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -551,7 +551,7 @@ - update "NGWL_TEST_WMS".stock_in_order set return_quantity = #{quantity} where in_order_number = #{orderNumber} + update "NGWL_TEST_WMS".stock_out_order set return_quantity = #{quantity} where in_order_number = #{orderNumber} \ No newline at end of file From c79fd1ea39694241a069e027a9e1569ace46b058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 16:56:59 +0800 Subject: [PATCH 324/418] =?UTF-8?q?=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=90=8C=E6=AD=A5wms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 0e4bea733..a44d108fb 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -551,7 +551,7 @@ - update "NGWL_TEST_WMS".stock_out_order set return_quantity = #{quantity} where in_order_number = #{orderNumber} + update "NGWL_TEST_WMS".stock_out_order set return_quantity = #{quantity} where out_order_number = #{orderNumber} \ No newline at end of file From 07b18636801998c51e011a5169cb428710049b10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 17:04:43 +0800 Subject: [PATCH 325/418] =?UTF-8?q?=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=90=8C=E6=AD=A5wms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/wms/domain/sysTableConfig/entity/SysTableConfig.java | 1 + .../domain/sysTableConfig/repository/po/SysTableConfigPO.java | 1 + .../domain/sysTableConfig/repository/todo/SysTableConfigDTO.java | 1 + .../domain/sysTableConfig/repository/vo/SysTableConfigVO.java | 1 + .../resources/mapper/sysTableConfig/SysTableConfigMapper.xml | 1 + 5 files changed, 5 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/entity/SysTableConfig.java b/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/entity/SysTableConfig.java index be61deaa1..cd162176a 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/entity/SysTableConfig.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/entity/SysTableConfig.java @@ -60,4 +60,5 @@ public class SysTableConfig extends BaseVOEntity { @ApiModelProperty(value = "物料添加方式") @Excel(name = "物料添加方式", width = 15) private String materialAddType; + private String deliveryDetail; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/po/SysTableConfigPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/po/SysTableConfigPO.java index 8e5c2f797..17f79ea23 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/po/SysTableConfigPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/po/SysTableConfigPO.java @@ -58,4 +58,5 @@ public class SysTableConfigPO extends BaseVOEntity { @ApiModelProperty(value = "组织名称") @Excel(name = "组织名称", width = 15) private String organizationName; + private String deliveryDetail; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java index 9f3367ba7..f9c29b303 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/todo/SysTableConfigDTO.java @@ -59,4 +59,5 @@ public class SysTableConfigDTO extends BaseVOEntity { @ApiModelProperty(value = "组织名称") @Excel(name = "组织名称", width = 15) private String organizationName; + private String deliveryDetail; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java index 42802dafb..fd068b50f 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/sysTableConfig/repository/vo/SysTableConfigVO.java @@ -59,4 +59,5 @@ public class SysTableConfigVO extends BaseVOEntity { @ApiModelProperty(value = "组织名称") @Excel(name = "组织名称", width = 15) private String organizationName; + private String deliveryDetail; } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml b/mhd_wms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml index e61bb75a2..35770e277 100644 --- a/mhd_wms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml +++ b/mhd_wms/src/main/resources/mapper/sysTableConfig/SysTableConfigMapper.xml @@ -13,6 +13,7 @@ a.organization_id AS organizationId, a.key AS key, a.value AS value, + a.delivery_detail AS deliveryDetail, a.remark AS remark FROM sys_table_config a WHERE 1=1 From b6fd5fb08d84c6cdb936c7b05d6aafc659d663b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 17:15:40 +0800 Subject: [PATCH 326/418] =?UTF-8?q?=E6=A0=B9=E6=8D=AEcode=E6=9F=A5?= =?UTF-8?q?=E7=89=A9=E6=96=99;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/mapper/ReservationStockInOrderMapper.java | 2 ++ .../persistence/ReservationStockInOrderImpl.java | 8 ++++---- .../repository/vo/StockInProductDetail.java | 6 +++--- .../ReservationStockInOrderMapper.xml | 3 +++ 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java index 4021063d3..c01e3ec65 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java @@ -30,6 +30,8 @@ public interface ReservationStockInOrderMapper extends BaseMapper getMaterialBaseInfoList(@Param("id") String id); public MaterialWarehouseControlPO getInfoByMaterialBaseInfoIds(@Param("id") Long id); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java index 5c24b7e36..ea6bf402e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java @@ -180,7 +180,7 @@ public class ReservationStockInOrderImpl extends ServiceImpl> shipperIds = new ArrayList<>(); Set processedShipperIds = new HashSet<>(); for (ProductDetail productDetail : productDetailList) { - MaterialBaseInfoPO materialBaseInfoPO = stockInOrderMapper.getByName(productDetail.getProductName()); + MaterialBaseInfoPO materialBaseInfoPO = stockInOrderMapper.getByCode(productDetail.getProductCode()); if (materialBaseInfoPO != null && materialBaseInfoPO.getShipperId() != null) { Long shipperId = materialBaseInfoPO.getShipperId(); if (processedShipperIds.add(shipperId)) { @@ -234,7 +234,7 @@ public class ReservationStockInOrderImpl extends ServiceImpl> shipperIds = new ArrayList<>(); Set processedShipperIds = new HashSet<>(); for (StockInProductDetail productDetail : productDetailList) { - MaterialBaseInfoPO materialBaseInfoPO = stockInOrderMapper.getByName(productDetail.getProductName()); + MaterialBaseInfoPO materialBaseInfoPO = stockInOrderMapper.getByCode(productDetail.getProductCode()); if (materialBaseInfoPO != null && materialBaseInfoPO.getShipperId() != null) { Long shipperId = materialBaseInfoPO.getShipperId(); if (processedShipperIds.add(shipperId)) { @@ -374,7 +374,7 @@ public class ReservationStockInOrderImpl extends ServiceImpl select * from "NGWL_TEST_WMS".MATERIAL_BASE_INFO where 1 = 1 and DEL_FLAG = 1 and MATERIAL_NAME = #{name} + From 488289f4d0fff2af3e0c74221e0be2791502d8e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 17:17:17 +0800 Subject: [PATCH 327/418] =?UTF-8?q?=E6=A0=B9=E6=8D=AEcode=E6=9F=A5?= =?UTF-8?q?=E7=89=A9=E6=96=99;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/listener/StockInExcelListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/StockInExcelListener.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/StockInExcelListener.java index cadd3f6f5..1d9300a52 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/StockInExcelListener.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/listener/StockInExcelListener.java @@ -99,7 +99,7 @@ public class StockInExcelListener extends AnalysisEventListener Date: Mon, 1 Jun 2026 17:46:43 +0800 Subject: [PATCH 328/418] =?UTF-8?q?=E5=8F=91=E5=B8=83=E7=94=9F=E4=BA=A7;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationStockOutOrderDomainService.java | 18 +++++++++--------- .../StockOutOrderApplicationService.java | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java index 44980264c..2f2ea9591 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java @@ -328,15 +328,15 @@ public class ReservationStockOutOrderDomainService { BeanUtils.copyProperties(byId, stockOutOrder,"outOrderId"); wmsServiceFeign.omsOutOrderAdd(stockOutOrder); - List list = deliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber())); - List deliveryDetailsLinkList = new ArrayList<>(); - for (ReservationDeliveryDetailsLink reservationDeliveryDetailsLink : list) { - DeliveryDetailsLink deliveryDetailsLink = new DeliveryDetailsLink(); - BeanUtils.copyProperties(reservationDeliveryDetailsLink, deliveryDetailsLink,"id"); - deliveryDetailsLink.setOmsId(reservationDeliveryDetailsLink.getId()); - deliveryDetailsLinkList.add(deliveryDetailsLink); - } - wmsServiceFeign.omsOutOrderAddDeliveryDetailsLink(deliveryDetailsLinkList); +// List list = deliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber())); +// List deliveryDetailsLinkList = new ArrayList<>(); +// for (ReservationDeliveryDetailsLink reservationDeliveryDetailsLink : list) { +// DeliveryDetailsLink deliveryDetailsLink = new DeliveryDetailsLink(); +// BeanUtils.copyProperties(reservationDeliveryDetailsLink, deliveryDetailsLink,"id"); +// deliveryDetailsLink.setOmsId(reservationDeliveryDetailsLink.getId()); +// deliveryDetailsLinkList.add(deliveryDetailsLink); +// } +// wmsServiceFeign.omsOutOrderAddDeliveryDetailsLink(deliveryDetailsLinkList); String inOrderNumber = stockOutOrder.getOutOrderNumber(); diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java index 88cbbca89..fe1c5eb33 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java @@ -223,8 +223,8 @@ public class StockOutOrderApplicationService { for (StockOutOrderPO stockOutOrderPO : stockOutOrderPOS) { String outOrderNumber = stockOutOrderPO.getOutOrderNumber(); - List list = deliveryDetailsLinkService.list(new LambdaQueryWrapper().eq(DeliveryDetailsLink::getOrderNumber, outOrderNumber)); - stockOutOrderPO.setDeliveryDetailsLinkList(list); +// List list = deliveryDetailsLinkService.list(new LambdaQueryWrapper().eq(DeliveryDetailsLink::getOrderNumber, outOrderNumber)); +// stockOutOrderPO.setDeliveryDetailsLinkList(list); OutStockListMaterialAgg mag = materialAggByNum.get(outOrderNumber); BigDecimal reduce = (mag != null && mag.getTotalOutboundQuantity() != null) From 1301e35ffa527e7e9826924c012206a83eb962a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 17:52:53 +0800 Subject: [PATCH 329/418] =?UTF-8?q?=E5=8F=9131?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index e18484e8d..8cc8bfd57 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 3466fdf14..211715894 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index dfb64994b..1b5b207be 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 687c0e1ae..c9b0e4852 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index dfac7337f..238ec5f81 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 618fcd71c..58660919a 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index fc7380c20..e8f169bf2 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 9db78617fecc5c00daa6c2af348fc52bb21f517c Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Mon, 1 Jun 2026 18:36:56 +0800 Subject: [PATCH 330/418] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8A=A5=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stockShelfOrder/repository/po/StockShelfOrderPO.java | 3 +++ .../stockShelfOrder/repository/todo/StockShelfOrderDO.java | 4 ++++ .../interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java | 3 +++ .../resources/mapper/stockInOrder/StockInOrderMapper.xml | 5 +++++ .../mapper/stockShelfOrder/StockShelfOrderMapper.xml | 1 + 5 files changed, 16 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java index 434ad9dd0..8e4fa9f9c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java @@ -139,4 +139,7 @@ public class StockShelfOrderPO extends StockInOrderBasePO { @Excel(name = "批次号") private String batchNo; + + @ApiModelProperty("是否报关") + private Long needCustomsDeclaration; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java index 7c43fdc51..a5922b243 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java @@ -151,4 +151,8 @@ public class StockShelfOrderDO extends StockInOrderBaseDO { @ApiModelProperty("批次号") @Excel(name = "批次号") private String batchNo; + + @ApiModelProperty("是否报关") + private Long needCustomsDeclaration; + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java index bece64af4..7f434bd31 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java @@ -140,4 +140,7 @@ public class StockShelfOrderDTO extends StockInOrderBaseDTO { @ApiModelProperty("批次号") @Excel(name = "批次号") private String batchNo; + + @ApiModelProperty("是否报关") + private Long needCustomsDeclaration; } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml index 3c3e82f8e..b899afa65 100644 --- a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml @@ -137,6 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ,b.notice_number, b.warehouse_id, b.warehouse_code, b.warehouse_name, b.shipper_id, b.shipper_code, b.shipper_name, b.order_type_code, b.order_type_name, b.supplier_id, b.supplier_code, b.supplier_name, b.expect_time, b.supply_chain_number, b.priority_level_code, b.priority_level_name, b.direct_warehouse, b.annex_url, b.material_quantity as in_order_material_quantity, b.quantity as in_order_quantity + ,b.NEED_CUSTOMS_DECLARATION @@ -195,6 +196,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and b.quantity = #{quantity} + + and b.need_customs_declaration = #{needCustomsDeclaration} + + diff --git a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml index 3c57d6b8f..793f86d71 100644 --- a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml @@ -104,6 +104,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.del_flag = #{delFlag} and a.del_flag = 1 + From 6254b61739d2ccca76d6f014976af2a993c0452c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 1 Jun 2026 18:50:31 +0800 Subject: [PATCH 331/418] =?UTF-8?q?PDA=E6=8B=A3=E8=B4=A7=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeliveTaskApplicationService.java | 72 +++++++++++++++++-- 1 file changed, 67 insertions(+), 5 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveTask/DeliveTaskApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveTask/DeliveTaskApplicationService.java index ac93f0151..9d8f116e5 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveTask/DeliveTaskApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveTask/DeliveTaskApplicationService.java @@ -1,5 +1,6 @@ package com.mhd.wms.application.service.deliveTask; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.common.core.utils.StringUtils; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; @@ -9,11 +10,17 @@ import com.mhd.wms.domain.deliveTask.repository.po.DeliveTaskPO; import com.mhd.wms.domain.deliveTask.repository.po.DeliveTaskSumPO; import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO; import com.mhd.wms.domain.deliveTask.service.DeliveTaskDomainService; +import com.mhd.wms.domain.stockOutTaskOrder.entity.StockOutTaskOrder; +import com.mhd.wms.domain.stockOutTaskOrder.repository.facade.IStockOutTaskOrderService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 下发任务ApplicationService @@ -27,6 +34,9 @@ public class DeliveTaskApplicationService { @Autowired private DeliveTaskDomainService deliveTaskDomainService; + @Autowired + private IStockOutTaskOrderService stockOutTaskOrderService; + /** * 分页查询下发任务列表 @@ -62,13 +72,65 @@ public class DeliveTaskApplicationService { } // 不按 task_status 默认过滤;若请求传入 taskStatus 则仍可按状态筛选 List list = deliveTaskDomainService.queryListApp(deliveTaskDO); - // PDA 列表展示业务单号:task_number 存 RW* 任务流水,tracking_number 为收货/上架/拣货等来源单号 - list.forEach(po -> { - if (po != null && StringUtils.isNotBlank(po.getTrackingNumber())) { + applyPdaListDisplayTaskNumber(list); + return list; + } + + /** + * PDA 列表展示业务单号:库表 task_number 为 RW* 下发流水;tracking_number 为关联业务单号。 + * 拣货(taskType=3) tracking 存 JHZY* 作业单号(接收任务用),展示时反查 JH* 拣货单号,与收货/上架/复核口径一致。 + */ + private void applyPdaListDisplayTaskNumber(List list) { + if (CollectionUtils.isEmpty(list)) { + return; + } + List pickingTaskNumbers = list.stream() + .filter(po -> po != null && Integer.valueOf(3).equals(po.getTaskType())) + .map(DeliveTaskPO::getTrackingNumber) + .filter(StringUtils::isNotBlank) + .distinct() + .collect(Collectors.toList()); + Map pickingOrderNumberByTaskNumber = resolvePickingOrderNumberByTaskNumber(pickingTaskNumbers); + for (DeliveTaskPO po : list) { + if (po == null || StringUtils.isBlank(po.getTrackingNumber())) { + continue; + } + if (Integer.valueOf(3).equals(po.getTaskType())) { + String pickingOrderNumber = pickingOrderNumberByTaskNumber.get(po.getTrackingNumber()); + po.setTaskNumber(StringUtils.isNotBlank(pickingOrderNumber) + ? pickingOrderNumber + : po.getTrackingNumber()); + } else { po.setTaskNumber(po.getTrackingNumber()); } - }); - return list; + } + } + + /** 按 JHZY* 作业单号批量解析 JH* 拣货单号 */ + private Map resolvePickingOrderNumberByTaskNumber(List taskNumbers) { + if (CollectionUtils.isEmpty(taskNumbers)) { + return Collections.emptyMap(); + } + List rows = stockOutTaskOrderService.list(new LambdaQueryWrapper() + .in(StockOutTaskOrder::getTaskNumber, taskNumbers) + .eq(StockOutTaskOrder::getDelFlag, 1)); + if (CollectionUtils.isEmpty(rows)) { + return Collections.emptyMap(); + } + return rows.stream() + .filter(row -> StringUtils.isNotBlank(row.getTaskNumber())) + .collect(Collectors.toMap( + StockOutTaskOrder::getTaskNumber, + row -> normalizePickingOrderNumber(row), + (a, b) -> a)); + } + + private static String normalizePickingOrderNumber(StockOutTaskOrder row) { + String pickingOrderNumber = row.getPickingOrderNumber(); + if (StringUtils.isNotBlank(pickingOrderNumber) && pickingOrderNumber.startsWith("JH")) { + return pickingOrderNumber; + } + return row.getTaskNumber(); } /** From 7d4b3852ea8a170421c2ccb022ebaa4da2d7787b Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Mon, 1 Jun 2026 19:11:24 +0800 Subject: [PATCH 332/418] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8A=A5=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/pickingOrder/repository/po/PickingOrderPO.java | 3 +++ .../domain/pickingOrder/repository/todo/PickingOrderDO.java | 3 +++ .../wms/interfaces/dto/pickingOrder/PickingOrderDTO.java | 3 +++ .../resources/mapper/pickingOrder/PickingOrderMapper.xml | 6 ++++++ 4 files changed, 15 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java index d97950c84..6721e7bb2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java @@ -159,4 +159,7 @@ public class PickingOrderPO extends StockOutOrderBasePO { @ApiModelProperty("推送人姓名") private String pushByName; + + @ApiModelProperty("是否报关") + private String needDeclareFlag; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java index 858f13adc..15c9d1428 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java @@ -206,4 +206,7 @@ public class PickingOrderDO extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + + @ApiModelProperty("是否报关") + private String needDeclareFlag; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java index 5c20ebf3e..5294c2bee 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java @@ -174,4 +174,7 @@ public class PickingOrderDTO extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + + @ApiModelProperty("是否报关") + private String needDeclareFlag; } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml index 470bfba95..c162f8537 100644 --- a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml @@ -32,6 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -108,12 +109,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.del_flag = #{delFlag} and a.del_flag = 1 + + and b.need_declare_flag = #{needDeclareFlag} + From 08ac9b2eba77fc9e6a032a5193cc1813e0097cdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 09:42:27 +0800 Subject: [PATCH 341/418] =?UTF-8?q?=E6=8C=89=E6=97=A5=E6=9C=9F=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8A=A5=E9=94=99;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MaterialInventoryMapper.xml | 8 ++++---- .../repository/todo/MaterialInventoryDO.java | 2 ++ .../dto/materialInventory/MaterialInventoryDTO.java | 2 ++ .../facadeApi/materialInventory/MaterialInventoryApi.java | 4 +++- .../mapper/materialInventory/MaterialInventoryMapper.xml | 6 ++++++ 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationMaterialInventory/MaterialInventoryMapper.xml b/mhd_oms/src/main/resources/mapper/reservationMaterialInventory/MaterialInventoryMapper.xml index 15765223e..62803f7e7 100644 --- a/mhd_oms/src/main/resources/mapper/reservationMaterialInventory/MaterialInventoryMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationMaterialInventory/MaterialInventoryMapper.xml @@ -270,11 +270,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.BOX_PALLET_NO like concat('%', #{boxPalletNo}, '%') - - AND TO_CHAR(a.expiry_date, 'yyyy-MM-dd') = #{expiryDate} + + AND TO_CHAR(a.expiry_date, 'yyyy-MM-dd') = #{expiryDateStr} - - AND TO_CHAR(a.production_date, 'yyyy-MM-dd') = #{productionDate} + + AND TO_CHAR(a.production_date, 'yyyy-MM-dd') = #{productionDateStr} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java index 835bda0ab..3b8432240 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java @@ -247,4 +247,6 @@ public class MaterialInventoryDO extends MaterialBaseDO { /** 为 true 时 SQL 排除库存数量为 0(含 null 视为 0) */ private Boolean excludeZeroInventoryQuantity; + private String expiryDateStr; + private String productionDateStr; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java index 28b534be9..ef6240425 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java @@ -188,5 +188,7 @@ public class MaterialInventoryDTO extends MaterialBaseDTO { /** 为 true 时排除库存数量为 0 的行(出库分配选库存用);库存查询页不传或 false */ @ApiModelProperty(value = "是否排除库存数量为0", example = "false") private Boolean excludeZeroInventoryQuantity; + private String expiryDate; + private String productionDate; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java index 94370ff6e..8d1c18a11 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java @@ -81,6 +81,8 @@ public class MaterialInventoryApi extends BaseController { //转换实体 MaterialInventoryDO materialInventoryDO = materialInventoryAssembler.toDO(materialInventoryDTO); + materialInventoryDO.setExpiryDateStr(materialInventoryDTO.getExpiryDate()); + materialInventoryDO.setProductionDateStr(materialInventoryDTO.getProductionDate()); startPage(); // 使用带批次属性的查询方法,批次属性值从库存表中获取 List list = materialInventoryApplicationService.queryListWithBatchAttributes(materialInventoryDO); @@ -220,4 +222,4 @@ public class MaterialInventoryApi extends BaseController { return AjaxResult.success(materialInventoryApplicationService.sumInventoryQuantity(materialInventoryDO)); } -} +} \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml index 0cf5d975e..a6ec0dc36 100644 --- a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml +++ b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml @@ -232,6 +232,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.BOX_PALLET_NO like concat('%', #{boxPalletNo}, '%') + + AND TO_CHAR(b.expiry_date, 'yyyy-MM-dd') = #{expiryDateStr} + + + AND TO_CHAR(b.production_date, 'yyyy-MM-dd') = #{productionDateStr} + From 68406e31e8403706ae436165d9248e81d6c1162b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 09:47:32 +0800 Subject: [PATCH 342/418] =?UTF-8?q?=E6=8C=89=E6=97=A5=E6=9C=9F=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8A=A5=E9=94=99;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/materialInventory/MaterialInventoryMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml index a6ec0dc36..7ad812b53 100644 --- a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml +++ b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml @@ -233,10 +233,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.BOX_PALLET_NO like concat('%', #{boxPalletNo}, '%') - AND TO_CHAR(b.expiry_date, 'yyyy-MM-dd') = #{expiryDateStr} + AND TO_CHAR(a.expiry_date, 'yyyy-MM-dd') = #{expiryDateStr} - AND TO_CHAR(b.production_date, 'yyyy-MM-dd') = #{productionDateStr} + AND TO_CHAR(a.production_date, 'yyyy-MM-dd') = #{productionDateStr} From 9ec31a6727e7f100f55511a9c45a65b5531a679b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 09:49:23 +0800 Subject: [PATCH 343/418] =?UTF-8?q?=E5=8F=91=E5=B8=83=E7=94=9F=E4=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationStockOutOrderDomainService.java | 18 +++++++++--------- .../StockOutOrderApplicationService.java | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java index 44980264c..2f2ea9591 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java @@ -328,15 +328,15 @@ public class ReservationStockOutOrderDomainService { BeanUtils.copyProperties(byId, stockOutOrder,"outOrderId"); wmsServiceFeign.omsOutOrderAdd(stockOutOrder); - List list = deliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber())); - List deliveryDetailsLinkList = new ArrayList<>(); - for (ReservationDeliveryDetailsLink reservationDeliveryDetailsLink : list) { - DeliveryDetailsLink deliveryDetailsLink = new DeliveryDetailsLink(); - BeanUtils.copyProperties(reservationDeliveryDetailsLink, deliveryDetailsLink,"id"); - deliveryDetailsLink.setOmsId(reservationDeliveryDetailsLink.getId()); - deliveryDetailsLinkList.add(deliveryDetailsLink); - } - wmsServiceFeign.omsOutOrderAddDeliveryDetailsLink(deliveryDetailsLinkList); +// List list = deliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber())); +// List deliveryDetailsLinkList = new ArrayList<>(); +// for (ReservationDeliveryDetailsLink reservationDeliveryDetailsLink : list) { +// DeliveryDetailsLink deliveryDetailsLink = new DeliveryDetailsLink(); +// BeanUtils.copyProperties(reservationDeliveryDetailsLink, deliveryDetailsLink,"id"); +// deliveryDetailsLink.setOmsId(reservationDeliveryDetailsLink.getId()); +// deliveryDetailsLinkList.add(deliveryDetailsLink); +// } +// wmsServiceFeign.omsOutOrderAddDeliveryDetailsLink(deliveryDetailsLinkList); String inOrderNumber = stockOutOrder.getOutOrderNumber(); diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java index 88cbbca89..fe1c5eb33 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java @@ -223,8 +223,8 @@ public class StockOutOrderApplicationService { for (StockOutOrderPO stockOutOrderPO : stockOutOrderPOS) { String outOrderNumber = stockOutOrderPO.getOutOrderNumber(); - List list = deliveryDetailsLinkService.list(new LambdaQueryWrapper().eq(DeliveryDetailsLink::getOrderNumber, outOrderNumber)); - stockOutOrderPO.setDeliveryDetailsLinkList(list); +// List list = deliveryDetailsLinkService.list(new LambdaQueryWrapper().eq(DeliveryDetailsLink::getOrderNumber, outOrderNumber)); +// stockOutOrderPO.setDeliveryDetailsLinkList(list); OutStockListMaterialAgg mag = materialAggByNum.get(outOrderNumber); BigDecimal reduce = (mag != null && mag.getTotalOutboundQuantity() != null) From 2c287e1bd1d0748074b554b7ea128d3a9167e6e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 10:05:09 +0800 Subject: [PATCH 344/418] =?UTF-8?q?=E5=8F=9130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_oms/src/main/resources/bootstrap.yml | 4 ++-- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 211715894..3466fdf14 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..dfb64994b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index c9b0e4852..687c0e1ae 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 238ec5f81..dfac7337f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 58660919a..618fcd71c 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -19,14 +19,14 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index e8f169bf2..fc7380c20 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From 1c56b7bc49499dcdabfa29561bde6cb9a021af18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 10:25:41 +0800 Subject: [PATCH 345/418] =?UTF-8?q?w=E6=9F=A5=E8=AF=A2=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=8D=95=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stockOutOrder/StockOutOrderApplicationService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java index fe1c5eb33..26ef33438 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java @@ -358,7 +358,9 @@ public class StockOutOrderApplicationService { if (stockOutOrderPO.getStatus() != null && (stockOutOrderPO.getStatus() == 9 || stockOutOrderPO.getStatus() == 12)) { filterMaterialDetailByPickingQuantity(detailList, stockOutOrderPO.getReview(), stockOutOrderPO.getOutOrderNumber()); } - + List list = deliveryDetailsLinkService.list(new LambdaQueryWrapper().eq(DeliveryDetailsLink::getOrderNumber, stockOutOrderPO.getOutOrderNumber())); + stockOutOrderPO.setDeliveryDetailsLinkList(list); + return stockOutOrderPO; } From db9eaeef15e4e371a878028f47b683b10c25ae0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 10:33:32 +0800 Subject: [PATCH 346/418] =?UTF-8?q?=E6=81=A2=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationStockOutOrderDomainService.java | 18 +++++++++--------- .../StockOutOrderApplicationService.java | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java index 2f2ea9591..44980264c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java @@ -328,15 +328,15 @@ public class ReservationStockOutOrderDomainService { BeanUtils.copyProperties(byId, stockOutOrder,"outOrderId"); wmsServiceFeign.omsOutOrderAdd(stockOutOrder); -// List list = deliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber())); -// List deliveryDetailsLinkList = new ArrayList<>(); -// for (ReservationDeliveryDetailsLink reservationDeliveryDetailsLink : list) { -// DeliveryDetailsLink deliveryDetailsLink = new DeliveryDetailsLink(); -// BeanUtils.copyProperties(reservationDeliveryDetailsLink, deliveryDetailsLink,"id"); -// deliveryDetailsLink.setOmsId(reservationDeliveryDetailsLink.getId()); -// deliveryDetailsLinkList.add(deliveryDetailsLink); -// } -// wmsServiceFeign.omsOutOrderAddDeliveryDetailsLink(deliveryDetailsLinkList); + List list = deliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber())); + List deliveryDetailsLinkList = new ArrayList<>(); + for (ReservationDeliveryDetailsLink reservationDeliveryDetailsLink : list) { + DeliveryDetailsLink deliveryDetailsLink = new DeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLink, deliveryDetailsLink,"id"); + deliveryDetailsLink.setOmsId(reservationDeliveryDetailsLink.getId()); + deliveryDetailsLinkList.add(deliveryDetailsLink); + } + wmsServiceFeign.omsOutOrderAddDeliveryDetailsLink(deliveryDetailsLinkList); String inOrderNumber = stockOutOrder.getOutOrderNumber(); diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java index 26ef33438..af5555e23 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java @@ -223,8 +223,8 @@ public class StockOutOrderApplicationService { for (StockOutOrderPO stockOutOrderPO : stockOutOrderPOS) { String outOrderNumber = stockOutOrderPO.getOutOrderNumber(); -// List list = deliveryDetailsLinkService.list(new LambdaQueryWrapper().eq(DeliveryDetailsLink::getOrderNumber, outOrderNumber)); -// stockOutOrderPO.setDeliveryDetailsLinkList(list); + List list = deliveryDetailsLinkService.list(new LambdaQueryWrapper().eq(DeliveryDetailsLink::getOrderNumber, outOrderNumber)); + stockOutOrderPO.setDeliveryDetailsLinkList(list); OutStockListMaterialAgg mag = materialAggByNum.get(outOrderNumber); BigDecimal reduce = (mag != null && mag.getTotalOutboundQuantity() != null) From 1bec4678da03a9d0ae616beb357af1b397283fdb Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 3 Jun 2026 10:41:20 +0800 Subject: [PATCH 347/418] =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...vationStockOutOrderApplicationService.java | 51 +++++++------------ 1 file changed, 19 insertions(+), 32 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index 6e5125d98..3b0c5fb6a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -1165,41 +1165,28 @@ public class ReservationStockOutOrderApplicationService { String warehouse = reservationOutMaterialDetailMapper.getWarehouse(kcId); String opWhLoc = reservationOutMaterialDetailMapper.getOpWhLoc(kcId); - item.put("orderINo", inOrderNumber != null ? inOrderNumber : ""); - item.put("warehouse", warehouse != null ? warehouse : ""); - item.put("opWhLoc", opWhLoc != null ? opWhLoc : ""); - item.put("billI", inLotNo != null ? inLotNo : ""); - - // 处理批次号中的数字 - if (inLotNo != null && inLotNo.contains("-")) { - String numStr = inLotNo.substring(inLotNo.lastIndexOf("-") + 1); - try { - Integer result = Integer.valueOf(numStr); - item.put("orderIRow", result); - item.put("billIRow", result); - } catch (NumberFormatException e) { - item.put("orderIRow", null); - item.put("billIRow", null); + if (inOrderNumber != null) { + item.put("orderINo", inOrderNumber); + } + if (warehouse != null) { + item.put("warehouse", warehouse); + } + if (opWhLoc != null) { + item.put("opWhLoc", opWhLoc); + } + if (inLotNo != null) { + item.put("billI", inLotNo); + if (inLotNo.contains("-")) { + String numStr = inLotNo.substring(inLotNo.lastIndexOf("-") + 1); + try { + Integer result = Integer.valueOf(numStr); + item.put("orderIRow", result); + item.put("billIRow", result); + } catch (NumberFormatException e) { + } } - } else { - item.put("orderIRow", null); - item.put("billIRow", null); } - } else { - item.put("orderINo", ""); - item.put("orderIRow", null); - item.put("warehouse", ""); - item.put("opWhLoc", ""); - item.put("billI", ""); - item.put("billIRow", null); } - } else { - item.put("orderINo", ""); - item.put("orderIRow", null); - item.put("warehouse", ""); - item.put("opWhLoc", ""); - item.put("billI", ""); - item.put("billIRow", null); } orderList.add(item); From d9fe7d96bcf07ad12aa19ad05fb7bc84fc04700a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 10:47:18 +0800 Subject: [PATCH 348/418] =?UTF-8?q?=E9=80=80=E8=B4=A7=E4=BF=AE=E6=94=B9w?= =?UTF-8?q?=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86=E9=80=80=E8=B4=A7=E5=8D=95?= =?UTF-8?q?=E5=8F=B7;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../facade/IReservationDeliveryDetailsLinkService.java | 2 ++ .../mapper/ReservationDeliveryDetailsLinkMapper.java | 2 ++ .../persistence/ReservationDeliveryDetailsLinkImpl.java | 5 +++++ .../service/ReservationStockOutOrderDomainService.java | 1 + .../ReservationDeliveryDetailsLinkMapper.xml | 4 ++++ 5 files changed, 14 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/facade/IReservationDeliveryDetailsLinkService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/facade/IReservationDeliveryDetailsLinkService.java index e86e34ca0..be26fc873 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/facade/IReservationDeliveryDetailsLinkService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/facade/IReservationDeliveryDetailsLinkService.java @@ -30,6 +30,8 @@ public interface IReservationDeliveryDetailsLinkService extends IService queryList(ReservationDeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO); + public Boolean updateW(@Param("returnOrderNumber") String returnOrderNumber, @Param("orderNumber") String orderNumber); } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/persistence/ReservationDeliveryDetailsLinkImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/persistence/ReservationDeliveryDetailsLinkImpl.java index 2e42f2a18..3de23a1db 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/persistence/ReservationDeliveryDetailsLinkImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationDeliveryDetailsLink/repository/persistence/ReservationDeliveryDetailsLinkImpl.java @@ -55,6 +55,11 @@ public class ReservationDeliveryDetailsLinkImpl extends ServiceImpl + + + update NGWL_TEST_WMS.DELIVERY_DETAILS_LINK set RETURN_ORDER_NUMBER = #{returnOrderNumber} where ORDER_NUMBER = #{ordernumber} + \ No newline at end of file From edbc2c089dec1cdb75e38ebe02a08eb7298f97df Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 3 Jun 2026 11:08:22 +0800 Subject: [PATCH 349/418] =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ReservationStockOutOrderApplicationService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index 3b0c5fb6a..6cfcfde97 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -1171,9 +1171,9 @@ public class ReservationStockOutOrderApplicationService { if (warehouse != null) { item.put("warehouse", warehouse); } - if (opWhLoc != null) { - item.put("opWhLoc", opWhLoc); - } + + item.put("opWhLoc", opWhLoc != null ? opWhLoc : ""); + if (inLotNo != null) { item.put("billI", inLotNo); if (inLotNo.contains("-")) { From e0f2e78d6dbff8be1a26d1f72faf0131a10aa37f Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 3 Jun 2026 11:14:07 +0800 Subject: [PATCH 350/418] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2nc?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E4=BB=A3=E7=A0=81=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 1180b0a0b..5b0deac85 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -481,7 +481,7 @@ From 1730e6827519bc24c31fd4a65eb2546e2a1c997d Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 3 Jun 2026 11:38:00 +0800 Subject: [PATCH 351/418] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A8=E9=80=81hea?= =?UTF-8?q?der?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/pickingOrder/PickingOrderApplicationService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java index c6cb4620c..c57edb1bb 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java @@ -92,7 +92,7 @@ public class PickingOrderApplicationService { private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; - private static final String API_NAME = "save_qnBill_i"; + private static final String API_NAME = "save_qnBill_e"; private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; private static final String VERIFY1 = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; From 47afe0e0f746052ad91ca828deabc8fe87e4d072 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 3 Jun 2026 14:14:26 +0800 Subject: [PATCH 352/418] =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockShelfOrderApplicationService.java | 43 ++++++++++++------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java index ccb23bc30..0bff21b1b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java @@ -41,6 +41,7 @@ import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO; import com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO; import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO; import com.mhd.wms.domain.inMaterialDetail.service.InMaterialDetailDomainService; +import com.mhd.wms.domain.shelfMaterialDetail.entity.ShelfMaterialDetail; import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO; import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO; import com.mhd.wms.domain.shelfMaterialDetail.service.ShelfMaterialDetailDomainService; @@ -2642,33 +2643,45 @@ public class StockShelfOrderApplicationService { for(Long id : idList){ StockShelfOrder stockShelfOrder = stockShelfOrderMapper.selectById(id); -// StockInOrderPO stockInOrderPO = stockInOrderMapper.selectByInOrderNumber(stockShelfOrder.getInOrderNumber()); -// if(stockInOrderPO == null){ -// throw new ServiceException("该订单还未入库"); -// } - System.out.println(stockShelfOrder); - String etpsPreentNo = stockShelfOrder.getInOrderNumber();//入库单号 - //如果是上架的时候推送,name就是现在的时间 ,没有找到上架完成时间 - Date inputTime = new Date();//录入时间-现在时间 +// 通过上架单号查询上架物料明细 + ShelfMaterialDetailDO shelfDetailDO = new ShelfMaterialDetailDO(); + shelfDetailDO.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber()); + List shelfMaterialDetails = shelfMaterialDetailDomainService.queryList(shelfDetailDO); - //Date inputTime = stockInOrderPO.getWarehouseDate();//录入时间-入仓时间 - char mtpckEndprdTypecd = 'E'; + Long materialBaseInfoId = null; + if (shelfMaterialDetails != null && !shelfMaterialDetails.isEmpty()) { + materialBaseInfoId = shelfMaterialDetails.get(0).getMaterialBaseInfoId(); + } + + String mtpckEndprdTypecd = "E"; + if (materialBaseInfoId != null) { + MaterialBaseInfo materialBaseIn = materialBaseInfoMapper.selectById(materialBaseInfoId); + if (materialBaseIn != null) { + Integer goodsType = materialBaseIn.getGoodsType(); + if (goodsType == 0) { + mtpckEndprdTypecd = "M"; + } else if (goodsType == 2) { + mtpckEndprdTypecd = "E"; + } else if (goodsType == 1) { + mtpckEndprdTypecd = "E"; + } + } + } + + String etpsPreentNo = stockShelfOrder.getInOrderNumber(); + Date inputTime = new Date(); Map item = new HashMap<>(); item.put("etpsPreentNo", stockShelfOrder.getInOrderNumber()); item.put("inputTime", new Date());//或者是前段传时间 或者是加时间字段然后查询拿到这里 - item.put("mtpckEndprdTypecd", 'E'); + item.put("mtpckEndprdTypecd", mtpckEndprdTypecd); List> bodyList = new ArrayList<>(); bodyList.add(item); //构建推送数据 - - - - GwLogDTO gwLogDTO = new GwLogDTO(); gwLogDTO.setType("保税仓-进口仓单"); gwLogDTO.setBusinessId(id); From ec600036e1ebef43ee58c988bed6efd86d323191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 15:09:14 +0800 Subject: [PATCH 353/418] =?UTF-8?q?=E5=BD=95=E5=85=A5=E9=85=8D=E9=80=81?= =?UTF-8?q?=E5=8D=95;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eryDetailsLinkItemsApplicationService.java | 85 +++++++++++++ .../entity/DeliveryDetailsLink.java | 4 + .../repository/po/DeliveryDetailsLinkPO.java | 2 + .../todo/DeliveryDetailsLinkDO.java | 5 + .../entity/DeliveryDetailsLinkItems.java | 49 ++++++++ .../IDeliveryDetailsLinkItemsService.java | 51 ++++++++ .../DeliveryDetailsLinkItemsMapper.java | 23 ++++ .../DeliveryDetailsLinkItemsImpl.java | 116 ++++++++++++++++++ .../po/DeliveryDetailsLinkItemsPO.java | 56 +++++++++ .../todo/DeliveryDetailsLinkItemsDO.java | 73 +++++++++++ ...DeliveryDetailsLinkItemsDomainService.java | 75 +++++++++++ .../DeliveryDetailsLinkItemsAssembler.java | 66 ++++++++++ .../DeliveryDetailsLinkItemsDTO.java | 59 +++++++++ .../DeliveryDetailsLinkItemsApi.java | 109 ++++++++++++++++ .../DeliveryDetailsLinkItemsMapper.xml | 72 +++++++++++ 15 files changed, 845 insertions(+) create mode 100644 mhd_wms/src/main/java/com/mhd/wms/application/service/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApplicationService.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/entity/DeliveryDetailsLinkItems.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/facade/IDeliveryDetailsLinkItemsService.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/mapper/DeliveryDetailsLinkItemsMapper.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/po/DeliveryDetailsLinkItemsPO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/service/DeliveryDetailsLinkItemsDomainService.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsAssembler.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApi.java create mode 100644 mhd_wms/src/main/resources/mapper/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsMapper.xml diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApplicationService.java new file mode 100644 index 000000000..3efabcd23 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApplicationService.java @@ -0,0 +1,85 @@ +package com.mhd.wms.application.service.deliveryDetailsLinkItems; + +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.model.LoginUser; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.po.DeliveryDetailsLinkItemsPO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo.DeliveryDetailsLinkItemsDO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.service.DeliveryDetailsLinkItemsDomainService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 配送明细关联子项ApplicationService + * + * @author gen + * @date 2026-06-03 + */ +@Service +@Slf4j +public class DeliveryDetailsLinkItemsApplicationService { + @Autowired + private DeliveryDetailsLinkItemsDomainService deliveryDetailsLinkItemsDomainService; + + + /** + * 分页查询配送明细关联子项列表 + */ + + public List queryList(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null){ + Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + if (topOrganizationId != null && topOrganizationId != 1){ + deliveryDetailsLinkItemsDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + } + } + return deliveryDetailsLinkItemsDomainService.queryList(deliveryDetailsLinkItemsDO); + } + + + /** + * 新增配送明细关联子项 + */ + public Boolean insert(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) { + + return deliveryDetailsLinkItemsDomainService.insert(deliveryDetailsLinkItemsDO); + } + + /** + * 修改配送明细关联子项 + */ + public Boolean update(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) { + return deliveryDetailsLinkItemsDomainService.update(deliveryDetailsLinkItemsDO); + } + + /** + * 批量删除配送明细关联子项 + */ + public boolean delete(Long[] ids) { + return deliveryDetailsLinkItemsDomainService.delete(ids); + } + + /** + * 获取配送明细关联子项详细信息 + */ + public DeliveryDetailsLinkItemsPO getInfo(Long id) + { + return deliveryDetailsLinkItemsDomainService.getInfo(id); + } + + /** + * 批量新增 + */ + public Boolean batchInsert(List deliveryDetailsLinkItemsDOList) { + return deliveryDetailsLinkItemsDomainService.batchInsert(deliveryDetailsLinkItemsDOList); + } + + public Boolean lrpsd(DeliveryDetailsLinkDO deliveryDetailsLinkDO) { + return deliveryDetailsLinkItemsDomainService.lrpsd(deliveryDetailsLinkDO); + } + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java index eba5f078f..a42053a9c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java @@ -1,5 +1,6 @@ package com.mhd.wms.domain.deliveryDetailsLink.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -47,4 +48,7 @@ public class DeliveryDetailsLink extends BaseVOEntity { @ApiModelProperty(value = "金额") private BigDecimal amount; + @ApiModelProperty("附件(地址)") + private String fileUrl; + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java index db1cee929..f3f52855a 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java @@ -51,5 +51,7 @@ public class DeliveryDetailsLinkPO extends BaseVOEntity { @ApiModelProperty(value = "金额") private BigDecimal amount; + @ApiModelProperty("附件(地址)") + private String fileUrl; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java index 639439dcc..906ed9964 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java @@ -3,6 +3,7 @@ package com.mhd.wms.domain.deliveryDetailsLink.repository.todo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.mhd.common.core.web.domain.BaseVOEntity; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo.DeliveryDetailsLinkItemsDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -56,4 +57,8 @@ public class DeliveryDetailsLinkDO extends BaseVOEntity { @ApiModelProperty(name = "权限菜单ID") private Long permissionMenuId; + + private List deliveryDetailsLinkItemsDOList; + @ApiModelProperty("附件(地址)") + private String fileUrl; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/entity/DeliveryDetailsLinkItems.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/entity/DeliveryDetailsLinkItems.java new file mode 100644 index 000000000..900a43594 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/entity/DeliveryDetailsLinkItems.java @@ -0,0 +1,49 @@ +package com.mhd.wms.domain.deliveryDetailsLinkItems.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@TableName(value = "delivery_details_link") +public class DeliveryDetailsLinkItems extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + + @ApiModelProperty("物料编码") + private String materialCode; + + @ApiModelProperty("物料名称") + private String materialName; + + @ApiModelProperty("物料基础信息id") + private Long materialBaseInfoId; + + @ApiModelProperty("配送id") + private Long deliveryId; + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/facade/IDeliveryDetailsLinkItemsService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/facade/IDeliveryDetailsLinkItemsService.java new file mode 100644 index 000000000..053fc1fc2 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/facade/IDeliveryDetailsLinkItemsService.java @@ -0,0 +1,51 @@ +package com.mhd.wms.domain.deliveryDetailsLinkItems.repository.facade; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.entity.DeliveryDetailsLinkItems; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.po.DeliveryDetailsLinkItemsPO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo.DeliveryDetailsLinkItemsDO; + +import java.util.List; + +/** + * 配送明细关联子项Service接口 + * + * @author gen + * @date 2026-06-03 + */ +public interface IDeliveryDetailsLinkItemsService extends IService +{ + /** + * 分页查询配送明细关联子项列表 + */ + public List queryList(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO); + + /** + * 新增配送明细关联子项 + */ + public Boolean insert(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO); + + /** + * 修改配送明细关联子项 + */ + public Boolean update(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO); + + /** + * 批量删除配送明细关联子项 + */ + public Boolean delete(Long[] ids); + + + /** + * 查询配送明细关联子项 + */ + public DeliveryDetailsLinkItemsPO getInfo(Long id); + + /** + * 批量新增 + */ + Boolean batchInsert(List deliveryDetailsLinkItemsDOList); + + Boolean lrpsd(DeliveryDetailsLinkDO deliveryDetailsLinkItemsDO); +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/mapper/DeliveryDetailsLinkItemsMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/mapper/DeliveryDetailsLinkItemsMapper.java new file mode 100644 index 000000000..b9b2aa2ef --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/mapper/DeliveryDetailsLinkItemsMapper.java @@ -0,0 +1,23 @@ +package com.mhd.wms.domain.deliveryDetailsLinkItems.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.wms.domain.deliveryDetailsLinkItems.entity.DeliveryDetailsLinkItems; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.po.DeliveryDetailsLinkItemsPO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo.DeliveryDetailsLinkItemsDO; + +import java.util.List; + +/** + * 配送明细关联子项Mapper接口 + * + * @author gen + * @date 2026-06-03 + */ +public interface DeliveryDetailsLinkItemsMapper extends BaseMapper +{ + /** + * 查询配送明细关联子项列表 + */ + public List queryList(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO); + +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java new file mode 100644 index 000000000..ad0035637 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java @@ -0,0 +1,116 @@ +package com.mhd.wms.domain.deliveryDetailsLinkItems.repository.persistence; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.mapper.DeliveryDetailsLinkMapper; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.entity.DeliveryDetailsLinkItems; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.facade.IDeliveryDetailsLinkItemsService; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.mapper.DeliveryDetailsLinkItemsMapper; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.po.DeliveryDetailsLinkItemsPO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo.DeliveryDetailsLinkItemsDO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 配送明细关联子项Service业务层处理 + * + * @author gen + * @date 2026-06-03 + */ +@Service +public class DeliveryDetailsLinkItemsImpl extends ServiceImpl implements IDeliveryDetailsLinkItemsService { + @Autowired + private DeliveryDetailsLinkItemsMapper deliveryDetailsLinkItemsMapper; + @Autowired + private DeliveryDetailsLinkMapper deliveryDetailsLinkMapper; + + /** + * 查询配送明细关联子项列表 + */ + @Override + public List queryList(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) + { + return deliveryDetailsLinkItemsMapper.queryList(deliveryDetailsLinkItemsDO); + } + + /** + * 新增配送明细关联子项 + */ + @Override + public Boolean insert(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) { + DeliveryDetailsLinkItems deliveryDetailsLinkItems = new DeliveryDetailsLinkItems(); + BeanUtils.copyProperties(deliveryDetailsLinkItemsDO, deliveryDetailsLinkItems); + return this.save(deliveryDetailsLinkItems); + } + + /** + * 修改配送明细关联子项 + */ + @Override + public Boolean update(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) { + DeliveryDetailsLinkItems deliveryDetailsLinkItems = new DeliveryDetailsLinkItems(); + BeanUtils.copyProperties(deliveryDetailsLinkItemsDO, deliveryDetailsLinkItems); + return this.updateById(deliveryDetailsLinkItems); + } + + /** + * 批量删除配送明细关联子项 + */ + @Override + public Boolean delete(Long[] ids ) { + List list = new ArrayList<>(); + for (Long id : ids) { + DeliveryDetailsLinkItems deliveryDetailsLinkItems = new DeliveryDetailsLinkItems(); + deliveryDetailsLinkItems.setId(id); + deliveryDetailsLinkItems.setDelFlag(2); + list.add(deliveryDetailsLinkItems); + } + return this.updateBatchById(list); + } + + /** + * 查询配送明细关联子项 + */ + @Override + public DeliveryDetailsLinkItemsPO getInfo(Long id) { + DeliveryDetailsLinkItems deliveryDetailsLinkItems = this.getById(id); + DeliveryDetailsLinkItemsPO deliveryDetailsLinkItemsPO = new DeliveryDetailsLinkItemsPO(); + BeanUtils.copyProperties(deliveryDetailsLinkItems, deliveryDetailsLinkItemsPO); + return deliveryDetailsLinkItemsPO; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean batchInsert(List deliveryDetailsLinkItemsDOList) { + List deliveryDetailsLinkItemsList = deliveryDetailsLinkItemsDOList.stream().map(deliveryDetailsLinkItemsDO -> { + DeliveryDetailsLinkItems deliveryDetailsLinkItems = new DeliveryDetailsLinkItems(); + BeanUtils.copyProperties(deliveryDetailsLinkItemsDO, deliveryDetailsLinkItems); + return deliveryDetailsLinkItems; + }).collect(Collectors.toList()); + + return this.saveBatch(deliveryDetailsLinkItemsList); + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean lrpsd(DeliveryDetailsLinkDO deliveryDetailsLinkDO) { + List deliveryDetailsLinkItemsDOList = deliveryDetailsLinkDO.getDeliveryDetailsLinkItemsDOList(); + List deliveryDetailsLinkItemsList = deliveryDetailsLinkItemsDOList.stream().map(deliveryDetailsLinkItemsDO -> { + DeliveryDetailsLinkItems deliveryDetailsLinkItems = new DeliveryDetailsLinkItems(); + BeanUtils.copyProperties(deliveryDetailsLinkItemsDO, deliveryDetailsLinkItems); + deliveryDetailsLinkItems.setDeliveryId(deliveryDetailsLinkDO.getId()); + return deliveryDetailsLinkItems; + }).collect(Collectors.toList()); + deliveryDetailsLinkMapper.update(null,new LambdaUpdateWrapper().set(DeliveryDetailsLink::getFileUrl, deliveryDetailsLinkDO.getFileUrl()).eq(DeliveryDetailsLink::getId, deliveryDetailsLinkDO.getId())); + return this.saveBatch(deliveryDetailsLinkItemsList); + } +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/po/DeliveryDetailsLinkItemsPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/po/DeliveryDetailsLinkItemsPO.java new file mode 100644 index 000000000..5d7cb04a9 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/po/DeliveryDetailsLinkItemsPO.java @@ -0,0 +1,56 @@ +package com.mhd.wms.domain.deliveryDetailsLinkItems.repository.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + + +/** + * 配送明细关联子项对象 delivery_details_link + * + * @author gen + * @date 2026-06-03 + */ + +@Data +@ApiModel(value = "配送明细关联子项对象", description = "配送明细关联子项响应对象") +public class DeliveryDetailsLinkItemsPO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + + @ApiModelProperty("物料编码") + private String materialCode; + + @ApiModelProperty("物料名称") + private String materialName; + + @ApiModelProperty("物料基础信息id") + private Long materialBaseInfoId; + + @ApiModelProperty("配送id") + private Long deliveryId; + +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java new file mode 100644 index 000000000..7ad127aa2 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java @@ -0,0 +1,73 @@ +package com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + + +/** + * 配送明细关联子项对象 delivery_details_link + * + * @author gen + * @date 2026-06-03 + */ + +@Data +public class DeliveryDetailsLinkItemsDO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + + @ApiModelProperty("物料编码") + private String materialCode; + + @ApiModelProperty("物料名称") + private String materialName; + + @ApiModelProperty("物料基础信息id") + private Long materialBaseInfoId; + + @ApiModelProperty("配送id") + private Long deliveryId; + + @ApiModelProperty("组织表ID") + @Excel(name = "组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + @Excel(name = "组织名称") + private String organizationName; + + @ApiModelProperty("一级组织表ID") + @Excel(name = "一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty(name = "组织ID集合") + private List organizationIdList; + + @ApiModelProperty(name = "权限菜单ID") + private Long permissionMenuId; +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/service/DeliveryDetailsLinkItemsDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/service/DeliveryDetailsLinkItemsDomainService.java new file mode 100644 index 000000000..62276235a --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/service/DeliveryDetailsLinkItemsDomainService.java @@ -0,0 +1,75 @@ +package com.mhd.wms.domain.deliveryDetailsLinkItems.service; + +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.facade.IDeliveryDetailsLinkItemsService; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.po.DeliveryDetailsLinkItemsPO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo.DeliveryDetailsLinkItemsDO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 配送明细关联子项 + * + * @author gen + * @date 2026-06-03 + */ +@Service +@Slf4j +public class DeliveryDetailsLinkItemsDomainService { + + @Autowired + private IDeliveryDetailsLinkItemsService deliveryDetailsLinkItemsService; + + + /** + * 分页查询配送明细关联子项列表 + */ + public List queryList(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) { + return deliveryDetailsLinkItemsService.queryList(deliveryDetailsLinkItemsDO); + } + + + /** + * 新增配送明细关联子项 + */ + public Boolean insert(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) { + + return deliveryDetailsLinkItemsService.insert(deliveryDetailsLinkItemsDO); + } + + /** + * 修改配送明细关联子项 + */ + public Boolean update(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) { + return deliveryDetailsLinkItemsService.update(deliveryDetailsLinkItemsDO); + } + + /** + * 批量删除配送明细关联子项 + */ + public Boolean delete(Long[] ids) { + return deliveryDetailsLinkItemsService.delete(ids); + } + + /** + * 获取配送明细关联子项详细信息 + */ + public DeliveryDetailsLinkItemsPO getInfo(Long id) + { + return deliveryDetailsLinkItemsService.getInfo(id); + } + + /** + * 批量新增 + */ + public Boolean batchInsert(List deliveryDetailsLinkItemsDOList) { + return deliveryDetailsLinkItemsService.batchInsert(deliveryDetailsLinkItemsDOList); + } + + public Boolean lrpsd(DeliveryDetailsLinkDO deliveryDetailsLinkItemsDO) { + return deliveryDetailsLinkItemsService.lrpsd(deliveryDetailsLinkItemsDO); + } +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsAssembler.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsAssembler.java new file mode 100644 index 000000000..92feb3b77 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsAssembler.java @@ -0,0 +1,66 @@ +package com.mhd.wms.interfaces.assember.deliveryDetailsLinkItems; + +import cn.hutool.core.util.ObjectUtil; +import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException; +import com.mhd.common.core.exception.digitalLogisticsException.UserError; +import com.mhd.common.core.utils.IgnoreNullUtil; +import com.mhd.common.core.utils.bean.BeanUtils; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.model.LoginUser; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo.DeliveryDetailsLinkItemsDO; +import com.mhd.wms.interfaces.dto.deliveryDetailsLinkItems.DeliveryDetailsLinkItemsDTO; +import org.springframework.stereotype.Component; + +import java.util.Date; + +/** + * 配送明细关联子项Assembler + * + * @author gen + * @date 2026-06-03 + */ +@Component +public class DeliveryDetailsLinkItemsAssembler { + + /** + * 转换实体 + */ + public DeliveryDetailsLinkItemsDO toDO(DeliveryDetailsLinkItemsDTO deliveryDetailsLinkItemsDTO) { + DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO = new DeliveryDetailsLinkItemsDO(); + // 拷贝 + BeanUtils.copyProperties(deliveryDetailsLinkItemsDTO, deliveryDetailsLinkItemsDO, IgnoreNullUtil.getNullPropertyNames(deliveryDetailsLinkItemsDTO)); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (ObjectUtil.isNull(loginUser)) { + throw new DigitalLogisticsException(UserError.TIMEOUT); + } + return deliveryDetailsLinkItemsDO; + } + + /** + * 转换实体 + */ + public DeliveryDetailsLinkItemsDO toDOByEdit(DeliveryDetailsLinkItemsDTO deliveryDetailsLinkItemsDTO) { + DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO = new DeliveryDetailsLinkItemsDO(); + // 拷贝 + BeanUtils.copyProperties(deliveryDetailsLinkItemsDTO, deliveryDetailsLinkItemsDO, IgnoreNullUtil.getNullPropertyNames(deliveryDetailsLinkItemsDTO)); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (ObjectUtil.isNull(loginUser)) { + throw new DigitalLogisticsException(UserError.TIMEOUT); + } + if(deliveryDetailsLinkItemsDTO.getId() != null){ + deliveryDetailsLinkItemsDO.setUpdateBy(loginUser.getUserid()); + deliveryDetailsLinkItemsDO.setUpdateByName(loginUser.getUsername()); + deliveryDetailsLinkItemsDO.setUpdateTime(new Date()); + + }else { + deliveryDetailsLinkItemsDO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + deliveryDetailsLinkItemsDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + deliveryDetailsLinkItemsDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + deliveryDetailsLinkItemsDO.setCreateBy(loginUser.getUserid()); + deliveryDetailsLinkItemsDO.setCreateByName(loginUser.getUsername()); + deliveryDetailsLinkItemsDO.setCreateTime(new Date()); + } + return deliveryDetailsLinkItemsDO; + } + +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java new file mode 100644 index 000000000..35a17a105 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java @@ -0,0 +1,59 @@ +package com.mhd.wms.interfaces.dto.deliveryDetailsLinkItems; + +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 配送明细关联子项对象 delivery_details_link + * + * @author gen + * @date 2026-06-03 + */ + +@Data +public class DeliveryDetailsLinkItemsDTO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + private Long id; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + + @ApiModelProperty("物料编码") + private String materialCode; + + @ApiModelProperty("物料名称") + private String materialName; + + @ApiModelProperty("物料基础信息id") + private Long materialBaseInfoId; + + @ApiModelProperty("配送id") + private Long deliveryId; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty(name = "组织ID集合") + private List organizationIdList; + + @ApiModelProperty(name = "权限菜单ID") + private Long permissionMenuId; +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApi.java new file mode 100644 index 000000000..5f2757583 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApi.java @@ -0,0 +1,109 @@ +package com.mhd.wms.interfaces.facadeApi.deliveryDetailsLinkItems; + +import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.domain.AjaxResult; +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.wms.application.service.deliveryDetailsLinkItems.DeliveryDetailsLinkItemsApplicationService; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.po.DeliveryDetailsLinkItemsPO; +import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo.DeliveryDetailsLinkItemsDO; +import com.mhd.wms.interfaces.assember.deliveryDetailsLinkItems.DeliveryDetailsLinkItemsAssembler; +import com.mhd.wms.interfaces.dto.deliveryDetailsLinkItems.DeliveryDetailsLinkItemsDTO; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * 配送明细关联子项Api + * + * @author gen + * @date 2026-06-03 + */ +@RestController +@RequestMapping("/deliveryDetailsLinkItemsApi") +public class DeliveryDetailsLinkItemsApi extends BaseController { + @Autowired + private DeliveryDetailsLinkItemsApplicationService deliveryDetailsLinkItemsApplicationService; + + @Resource + private DeliveryDetailsLinkItemsAssembler deliveryDetailsLinkItemsAssembler; + + /** + * 分页查询配送明细关联子项列表 + */ + @ApiOperation("查询配送明细关联子项列表") + @GetMapping("/list") + public TableDataInfo list(DeliveryDetailsLinkItemsDTO deliveryDetailsLinkItemsDTO) + { + //转换实体 + DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO = deliveryDetailsLinkItemsAssembler.toDO(deliveryDetailsLinkItemsDTO); + startPage(); + List list = deliveryDetailsLinkItemsApplicationService.queryList(deliveryDetailsLinkItemsDO); + return getDataTable(list); + } + + /** + * 编辑配送明细关联子项 + */ + @ApiOperation("编辑配送明细关联子项") + @PostMapping("/edit") + public AjaxResult edit(@RequestBody DeliveryDetailsLinkItemsDTO deliveryDetailsLinkItemsDTO) + { + //转换实体 + DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO = deliveryDetailsLinkItemsAssembler.toDOByEdit(deliveryDetailsLinkItemsDTO); + if(deliveryDetailsLinkItemsDTO.getId() != null){ + return toAjax(deliveryDetailsLinkItemsApplicationService.update(deliveryDetailsLinkItemsDO)); + }else { + return toAjax(deliveryDetailsLinkItemsApplicationService.insert(deliveryDetailsLinkItemsDO)); + } + } + + /** + * 批量删除配送明细关联子项 + */ + @ApiOperation("批量删除配送明细关联子项") + @DeleteMapping("/deleteByIds/{ids}") + public AjaxResult delete(@PathVariable Long[] ids) + { + return toAjax(deliveryDetailsLinkItemsApplicationService.delete(ids)); + } + + /** + * 获取配送明细关联子项详细信息 + */ + @ApiOperation("获取配送明细关联子项") + @GetMapping(value = "/getInfo/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return AjaxResult.success(deliveryDetailsLinkItemsApplicationService.getInfo(id)); + } + + /** + * 批量新增配送明细关联子项 + */ + @ApiOperation("批量新增配送明细关联子项") + @PostMapping("/batchInsert") + public AjaxResult batchInsert(@RequestBody List deliveryDetailsLinkItemsDTOList) + { + List deliveryDetailsLinkItemsDOList = new ArrayList<>(); + for (DeliveryDetailsLinkItemsDTO dto : deliveryDetailsLinkItemsDTOList) { + deliveryDetailsLinkItemsDOList.add(deliveryDetailsLinkItemsAssembler.toDOByEdit(dto)); + } + return toAjax(deliveryDetailsLinkItemsApplicationService.batchInsert(deliveryDetailsLinkItemsDOList)); + } + + /** + * 批量新增配送明细关联子项 + */ + @ApiOperation("录入配送单") + @PostMapping("/lrpsd") + public AjaxResult lrpsd(@RequestBody DeliveryDetailsLinkDO deliveryDetailsLinkDO) + { + return toAjax(deliveryDetailsLinkItemsApplicationService.lrpsd(deliveryDetailsLinkDO)); + } + +} \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsMapper.xml b/mhd_wms/src/main/resources/mapper/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsMapper.xml new file mode 100644 index 000000000..8a228e3e3 --- /dev/null +++ b/mhd_wms/src/main/resources/mapper/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsMapper.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, create_by, create_by_name, create_time, update_by, update_by_name, update_time, del_flag, customer_number, delivery_name, box, bag, amount, material_code, material_name, material_base_info_id, delivery_id from delivery_details_link + + + + + + and customer_number = #{customerNumber} + + + and delivery_name like concat('%', #{deliveryName}, '%') + + + and box = #{box} + + + and bag = #{bag} + + + and amount = #{amount} + + + and material_code = #{materialCode} + + + and material_name like concat('%', #{materialName}, '%') + + + and material_base_info_id = #{materialBaseInfoId} + + + and delivery_id = #{deliveryId} + + + and del_flag = #{delFlag} + and del_flag = 1 + + + + + + From 0dd6615af798f800431986a1b4e95f0cc90dbc56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 15:09:48 +0800 Subject: [PATCH 354/418] =?UTF-8?q?=E5=BD=95=E5=85=A5=E9=85=8D=E9=80=81?= =?UTF-8?q?=E5=8D=95;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/persistence/DeliveryDetailsLinkItemsImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java index ad0035637..1a3dca376 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java @@ -111,6 +111,7 @@ public class DeliveryDetailsLinkItemsImpl extends ServiceImpl().set(DeliveryDetailsLink::getFileUrl, deliveryDetailsLinkDO.getFileUrl()).eq(DeliveryDetailsLink::getId, deliveryDetailsLinkDO.getId())); + this.remove(new LambdaUpdateWrapper().eq(DeliveryDetailsLinkItems::getDeliveryId, deliveryDetailsLinkDO.getId())); return this.saveBatch(deliveryDetailsLinkItemsList); } } \ No newline at end of file From dc14e04d9d5ab1cdfcebf59eeaa97e38001a6411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 15:30:19 +0800 Subject: [PATCH 355/418] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=BD=A6=E6=AC=A1=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mhd/system/api/domain/StockOutOrder.java | 3 +++ .../ReservationStockInOrderImpl.java | 1 + .../entity/ReservationStockOutOrder.java | 4 ++++ .../po/ReservationStockOutOrderPO.java | 3 +++ .../todo/ReservationStockOutOrderDO.java | 3 +++ .../todo/ReservationStockOutOrderDTO.java | 3 +++ .../todo/DeliveryDetailsLinkItemsDO.java | 19 +------------------ .../stockOutOrder/entity/StockOutOrder.java | 4 +++- .../repository/po/StockOutOrderPO.java | 3 +++ .../repository/todo/StockOutOrderDO.java | 3 +++ .../DeliveryDetailsLinkItemsDTO.java | 10 +--------- .../dto/stockOutOrder/StockOutOrderDTO.java | 3 +++ 12 files changed, 31 insertions(+), 28 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrder.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrder.java index 413411bda..f94c49b5d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrder.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/StockOutOrder.java @@ -401,5 +401,8 @@ public class StockOutOrder extends BaseVOEntity { private String salesmanId; @ApiModelProperty("业务员名称") private String salesmanName; + @ApiModelProperty("车次") + @Excel(name = "车次") + private Integer trainNo; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java index ea6bf402e..b8ec9b043 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java @@ -229,6 +229,7 @@ public class ReservationStockInOrderImpl extends ServiceImpl reservationOutMaterialDetailDOList = new ArrayList<>(); for (ProductDetail productDetail : productDetailList) { diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java index 11eac890c..b5fdd26c5 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/entity/ReservationStockOutOrder.java @@ -482,4 +482,8 @@ public class ReservationStockOutOrder extends BaseVOEntity { @Excel(name = "运输业务单号") private String businessNumber; + @ApiModelProperty("车次") + @Excel(name = "车次") + private Integer trainNo; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java index 3895c12b6..3bf84b9e3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderPO.java @@ -499,4 +499,7 @@ public class ReservationStockOutOrderPO extends BaseVOEntity { @ApiModelProperty("NC客户编码") private String customerNcCode; + @ApiModelProperty("车次") + @Excel(name = "车次") + private Integer trainNo; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java index e2b4511e9..ca827ab81 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java @@ -534,4 +534,7 @@ public class ReservationStockOutOrderDO extends BaseVOEntity { @ApiModelProperty("NC客户编码") private String customerNcCode; + @ApiModelProperty("车次") + @Excel(name = "车次") + private Integer trainNo; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java index 1ddd81c7d..237e9554c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java @@ -523,4 +523,7 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO @ApiModelProperty("NC客户编码") private String customerNcCode; + @ApiModelProperty("车次") + @Excel(name = "车次") + private Integer trainNo; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java index 7ad127aa2..ba64b9a91 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java @@ -53,21 +53,4 @@ public class DeliveryDetailsLinkItemsDO extends BaseVOEntity { @ApiModelProperty("配送id") private Long deliveryId; - @ApiModelProperty("组织表ID") - @Excel(name = "组织表ID") - private Long organizationId; - - @ApiModelProperty("组织名称") - @Excel(name = "组织名称") - private String organizationName; - - @ApiModelProperty("一级组织表ID") - @Excel(name = "一级组织表ID") - private Long topOrganizationId; - - @ApiModelProperty(name = "组织ID集合") - private List organizationIdList; - - @ApiModelProperty(name = "权限菜单ID") - private Long permissionMenuId; -} +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java index ea005d3ed..b90313ac0 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java @@ -407,5 +407,7 @@ public class StockOutOrder extends BaseVOEntity { @ApiModelProperty("退货数量") @Excel(name = "退货数量") private BigDecimal returnQuantity; - + @ApiModelProperty("车次") + @Excel(name = "车次") + private Integer trainNo; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java index a7e071fa9..3836b6f03 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java @@ -434,4 +434,7 @@ public class StockOutOrderPO extends BaseVOEntity { @Excel(name = "退货数量") private BigDecimal returnQuantity; private List deliveryDetailsLinkList; + @ApiModelProperty("车次") + @Excel(name = "车次") + private Integer trainNo; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java index e7d4e4d5e..c56e1a891 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java @@ -455,4 +455,7 @@ public class StockOutOrderDO extends BaseVOEntity { @ApiModelProperty("退货数量") @Excel(name = "退货数量") private BigDecimal returnQuantity; + @ApiModelProperty("车次") + @Excel(name = "车次") + private Integer trainNo; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java index 35a17a105..890205711 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java @@ -48,12 +48,4 @@ public class DeliveryDetailsLinkItemsDTO extends BaseVOEntity { @ApiModelProperty("配送id") private Long deliveryId; - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty(name = "组织ID集合") - private List organizationIdList; - - @ApiModelProperty(name = "权限菜单ID") - private Long permissionMenuId; -} +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java index c9111a31b..ea8fa9522 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java @@ -449,4 +449,7 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO { */ @ApiModelProperty("提货单打印模版名/弹窗选项全文;后端生成 printTitle(-- 会规范为 ——)") private String noticePrintTemplateName; + @ApiModelProperty("车次") + @Excel(name = "车次") + private Integer trainNo; } \ No newline at end of file From 0bfee37f112f31353b816a2b721d7461cd6ffc2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 15:31:05 +0800 Subject: [PATCH 356/418] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=97=A0=E6=95=88?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/DeliveryDetailsLinkDO.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java index 906ed9964..6916f3325 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java @@ -52,12 +52,6 @@ public class DeliveryDetailsLinkDO extends BaseVOEntity { @ApiModelProperty(value = "金额") private BigDecimal amount; - @ApiModelProperty(name = "组织ID集合") - private List organizationIdList; - - @ApiModelProperty(name = "权限菜单ID") - private Long permissionMenuId; - private List deliveryDetailsLinkItemsDOList; @ApiModelProperty("附件(地址)") private String fileUrl; From 5d9796cd5584cd68ce61e52899bd19e74b1d5730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 15:32:00 +0800 Subject: [PATCH 357/418] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=97=A0=E6=95=88?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeliveryDetailsLinkItemsApplicationService.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApplicationService.java index 3efabcd23..bb2b3d603 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApplicationService.java @@ -31,12 +31,6 @@ public class DeliveryDetailsLinkItemsApplicationService { public List queryList(DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO) { LoginUser loginUser = SecurityUtils.getLoginUser(); - if (loginUser != null){ - Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); - if (topOrganizationId != null && topOrganizationId != 1){ - deliveryDetailsLinkItemsDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); - } - } return deliveryDetailsLinkItemsDomainService.queryList(deliveryDetailsLinkItemsDO); } From 94b3c8b2fcdeecf0aa76ca06bd3cf86e5292bf43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 15:36:22 +0800 Subject: [PATCH 358/418] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=97=A0=E6=95=88?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeliveryDetailsLinkItemsAssembler.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsAssembler.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsAssembler.java index 92feb3b77..35346a36a 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsAssembler.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsAssembler.java @@ -53,9 +53,6 @@ public class DeliveryDetailsLinkItemsAssembler { deliveryDetailsLinkItemsDO.setUpdateTime(new Date()); }else { - deliveryDetailsLinkItemsDO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); - deliveryDetailsLinkItemsDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); - deliveryDetailsLinkItemsDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); deliveryDetailsLinkItemsDO.setCreateBy(loginUser.getUserid()); deliveryDetailsLinkItemsDO.setCreateByName(loginUser.getUsername()); deliveryDetailsLinkItemsDO.setCreateTime(new Date()); @@ -63,4 +60,4 @@ public class DeliveryDetailsLinkItemsAssembler { return deliveryDetailsLinkItemsDO; } -} +} \ No newline at end of file From 5d48d26d47e52b59fc944d31a304f828af2e7f24 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 3 Jun 2026 15:44:49 +0800 Subject: [PATCH 359/418] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/ReservationStockInOrderDO.java | 10 ++++++++++ .../repository/todo/ReservationStockInOrderDTO.java | 9 +++++++++ .../repository/todo/ReservationStockOutOrderDO.java | 10 ++++++++++ .../repository/todo/ReservationStockOutOrderDTO.java | 10 ++++++++++ .../ReservationStockInOrderMapper.xml | 9 +++++++++ .../ReservationStockOutOrderMapper.xml | 9 +++++++++ .../pickingOrder/repository/todo/PickingOrderDO.java | 10 ++++++++++ .../repository/todo/StockShelfOrderDO.java | 9 +++++++++ .../interfaces/dto/pickingOrder/PickingOrderDTO.java | 10 ++++++++++ .../dto/stockShelfOrder/StockShelfOrderDTO.java | 10 ++++++++++ .../mapper/pickingOrder/PickingOrderMapper.xml | 9 +++++++++ .../mapper/stockShelfOrder/StockShelfOrderMapper.xml | 9 +++++++++ 12 files changed, 114 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java index 74b1a2d09..1ed02e523 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java @@ -450,4 +450,14 @@ public class ReservationStockInOrderDO extends BaseVOEntity { @ApiModelProperty("NC客户编码") private String customerNcCode; + + @ApiModelProperty(value = "推送时间起") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeStart; + + @ApiModelProperty(value = "推送时间止") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeEnd; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java index ced473732..805cf43be 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java @@ -449,4 +449,13 @@ public class ReservationStockInOrderDTO extends ReservationStockInOrderBaseDTO { @ApiModelProperty("NC客户编码") private String customerNcCode; + @ApiModelProperty(value = "推送时间起") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeStart; + + @ApiModelProperty(value = "推送时间止") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeEnd; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java index ca827ab81..33b99b7a4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java @@ -537,4 +537,14 @@ public class ReservationStockOutOrderDO extends BaseVOEntity { @ApiModelProperty("车次") @Excel(name = "车次") private Integer trainNo; + + @ApiModelProperty(value = "推送时间起") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeStart; + + @ApiModelProperty(value = "推送时间止") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeEnd; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java index 237e9554c..fe9bfa965 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java @@ -526,4 +526,14 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO @ApiModelProperty("车次") @Excel(name = "车次") private Integer trainNo; + + @ApiModelProperty(value = "推送时间起") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeStart; + + @ApiModelProperty(value = "推送时间止") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeEnd; } \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 5b0deac85..6f1389301 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -420,6 +420,15 @@ and date_format(a.create_time,'%Y-%m-%d') <= #{createTimeEnd} + + and PUSH_TIME =]]> #{pushTimeStart} + + + and PUSH_TIME #{pushTimeEnd} + + + and a.PUSH_STATUS = #{pushStatus} + and exists ( diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index d0b5f5918..3a3218fc5 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -322,6 +322,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.NEED_DECLARE_FLAG = #{needDeclareFlag} + + and PUSH_TIME =]]> #{pushTimeStart} + + + and PUSH_TIME #{pushTimeEnd} + + + and a.PUSH_STATUS = #{pushStatus} + diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java index 15c9d1428..a778a9989 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java @@ -209,4 +209,14 @@ public class PickingOrderDO extends BaseVOEntity { @ApiModelProperty("是否报关") private String needDeclareFlag; + + @ApiModelProperty(value = "推送时间起") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeStart; + + @ApiModelProperty(value = "推送时间止") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeEnd; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java index a5922b243..74c0dece2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java @@ -155,4 +155,13 @@ public class StockShelfOrderDO extends StockInOrderBaseDO { @ApiModelProperty("是否报关") private Long needCustomsDeclaration; + @ApiModelProperty(value = "推送时间起") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeStart; + + @ApiModelProperty(value = "推送时间止") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeEnd; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java index 5294c2bee..c56c2d5c1 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java @@ -177,4 +177,14 @@ public class PickingOrderDTO extends BaseVOEntity { @ApiModelProperty("是否报关") private String needDeclareFlag; + + @ApiModelProperty(value = "推送时间起") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeStart; + + @ApiModelProperty(value = "推送时间止") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeEnd; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java index 7f434bd31..945b8c37f 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java @@ -143,4 +143,14 @@ public class StockShelfOrderDTO extends StockInOrderBaseDTO { @ApiModelProperty("是否报关") private Long needCustomsDeclaration; + + @ApiModelProperty(value = "推送时间起") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeStart; + + @ApiModelProperty(value = "推送时间止") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date pushTimeEnd; } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml index a691b1159..bda2d57ca 100644 --- a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml @@ -117,6 +117,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and b.need_declare_flag = #{needDeclareFlag} + + and PUSH_TIME =]]> #{pushTimeStart} + + + and PUSH_TIME #{pushTimeEnd} + + + and a.PUSH_STATUS = #{pushStatus} + - + \ No newline at end of file From b2c118af1e9b8456739cc65c08a88cbedbbbee4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 17:04:34 +0800 Subject: [PATCH 361/418] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=96=E5=8F=B7;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/DeliveryDetailsLinkItems.java | 3 +++ .../repository/po/DeliveryDetailsLinkItemsPO.java | 5 +++-- .../repository/todo/DeliveryDetailsLinkItemsDO.java | 3 ++- .../DeliveryDetailsLinkItemsDTO.java | 3 ++- .../DeliveryDetailsLinkItemsMapper.xml | 3 ++- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/entity/DeliveryDetailsLinkItems.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/entity/DeliveryDetailsLinkItems.java index 0c9a0f2f9..913b50d9a 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/entity/DeliveryDetailsLinkItems.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/entity/DeliveryDetailsLinkItems.java @@ -46,4 +46,7 @@ public class DeliveryDetailsLinkItems extends BaseVOEntity { @ApiModelProperty("配送id") private Long deliveryId; + @ApiModelProperty("编号") + private Long serialNo; + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/po/DeliveryDetailsLinkItemsPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/po/DeliveryDetailsLinkItemsPO.java index 5d7cb04a9..6aa23fcd3 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/po/DeliveryDetailsLinkItemsPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/po/DeliveryDetailsLinkItemsPO.java @@ -52,5 +52,6 @@ public class DeliveryDetailsLinkItemsPO extends BaseVOEntity { @ApiModelProperty("配送id") private Long deliveryId; - -} + @ApiModelProperty("编号") + private Long serialNo; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java index ba64b9a91..11a20b113 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/todo/DeliveryDetailsLinkItemsDO.java @@ -52,5 +52,6 @@ public class DeliveryDetailsLinkItemsDO extends BaseVOEntity { @ApiModelProperty("配送id") private Long deliveryId; - + @ApiModelProperty("编号") + private Long serialNo; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java index 890205711..355a16ac3 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsDTO.java @@ -47,5 +47,6 @@ public class DeliveryDetailsLinkItemsDTO extends BaseVOEntity { @ApiModelProperty("配送id") private Long deliveryId; - + @ApiModelProperty("编号") + private Long serialNo; } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsMapper.xml b/mhd_wms/src/main/resources/mapper/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsMapper.xml index 450e6b906..02d5dc659 100644 --- a/mhd_wms/src/main/resources/mapper/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsMapper.xml +++ b/mhd_wms/src/main/resources/mapper/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsMapper.xml @@ -22,11 +22,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, create_by, create_by_name, create_time, update_by, update_by_name, update_time, del_flag, customer_number, delivery_name, box, bag, amount, material_code, material_name, material_base_info_id, delivery_id from delivery_details_link_items + select id, create_by, create_by_name, create_time, update_by, update_by_name, update_time, del_flag, customer_number, delivery_name, box, bag, amount, material_code, material_name, material_base_info_id, delivery_id, SERIAL_NO from delivery_details_link_items From 78c7fab57e0b579a75816e8f9a734a4b42f10140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 17:37:09 +0800 Subject: [PATCH 362/418] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=96=E5=8F=B7;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeliveryDetailsLinkItemsApi.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApi.java index 5f2757583..10bdd9f26 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/deliveryDetailsLinkItems/DeliveryDetailsLinkItemsApi.java @@ -4,6 +4,8 @@ import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.wms.application.service.deliveryDetailsLinkItems.DeliveryDetailsLinkItemsApplicationService; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.mapper.DeliveryDetailsLinkMapper; import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.po.DeliveryDetailsLinkItemsPO; import com.mhd.wms.domain.deliveryDetailsLinkItems.repository.todo.DeliveryDetailsLinkItemsDO; @@ -15,7 +17,9 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 配送明细关联子项Api @@ -31,19 +35,28 @@ public class DeliveryDetailsLinkItemsApi extends BaseController { @Resource private DeliveryDetailsLinkItemsAssembler deliveryDetailsLinkItemsAssembler; + @Autowired + private DeliveryDetailsLinkMapper deliveryDetailsLinkMapper; /** * 分页查询配送明细关联子项列表 */ @ApiOperation("查询配送明细关联子项列表") @GetMapping("/list") - public TableDataInfo list(DeliveryDetailsLinkItemsDTO deliveryDetailsLinkItemsDTO) + public AjaxResult list(DeliveryDetailsLinkItemsDTO deliveryDetailsLinkItemsDTO) { + Map map=new HashMap(); //转换实体 DeliveryDetailsLinkItemsDO deliveryDetailsLinkItemsDO = deliveryDetailsLinkItemsAssembler.toDO(deliveryDetailsLinkItemsDTO); startPage(); List list = deliveryDetailsLinkItemsApplicationService.queryList(deliveryDetailsLinkItemsDO); - return getDataTable(list); + Long deliveryId = deliveryDetailsLinkItemsDTO.getDeliveryId(); + DeliveryDetailsLink deliveryDetailsLink = deliveryDetailsLinkMapper.selectById(deliveryId); + if (deliveryDetailsLink != null) { + map.put("deliveryDetailsLink", deliveryDetailsLink); + } + map.put("list",getDataTable(list)); + return AjaxResult.success(map); } /** From 5fee80e8278d6474ab1d97932d22887974fe4806 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 3 Jun 2026 17:48:56 +0800 Subject: [PATCH 363/418] =?UTF-8?q?=E8=B4=A7=E7=89=A9=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stockShelfOrder/StockShelfOrderApplicationService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java index 0bff21b1b..9256eee40 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java @@ -2657,7 +2657,7 @@ public class StockShelfOrderApplicationService { String mtpckEndprdTypecd = "E"; if (materialBaseInfoId != null) { MaterialBaseInfo materialBaseIn = materialBaseInfoMapper.selectById(materialBaseInfoId); - if (materialBaseIn != null) { + if (materialBaseIn.getGoodsType() != null) { Integer goodsType = materialBaseIn.getGoodsType(); if (goodsType == 0) { mtpckEndprdTypecd = "M"; @@ -2665,6 +2665,8 @@ public class StockShelfOrderApplicationService { mtpckEndprdTypecd = "E"; } else if (goodsType == 1) { mtpckEndprdTypecd = "E"; + }else{ + throw new ServiceException("货物类型不存在"); } } } From 1109320018fe02e1e3e1d0b50d0c5764ac9d456c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 17:50:31 +0800 Subject: [PATCH 364/418] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=96=E5=8F=B7;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java | 3 +++ .../repository/po/DeliveryDetailsLinkPO.java | 3 ++- .../repository/todo/DeliveryDetailsLinkDO.java | 2 ++ .../repository/persistence/DeliveryDetailsLinkItemsImpl.java | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java index a42053a9c..1383d3e44 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java @@ -51,4 +51,7 @@ public class DeliveryDetailsLink extends BaseVOEntity { @ApiModelProperty("附件(地址)") private String fileUrl; + @ApiModelProperty("状态") + private String status; + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java index f3f52855a..dd21fc89e 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java @@ -53,5 +53,6 @@ public class DeliveryDetailsLinkPO extends BaseVOEntity { private BigDecimal amount; @ApiModelProperty("附件(地址)") private String fileUrl; - + @ApiModelProperty("状态") + private String status; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java index 6916f3325..9b0dc71af 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java @@ -55,4 +55,6 @@ public class DeliveryDetailsLinkDO extends BaseVOEntity { private List deliveryDetailsLinkItemsDOList; @ApiModelProperty("附件(地址)") private String fileUrl; + @ApiModelProperty("状态") + private String status; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java index 1a3dca376..0389bce50 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLinkItems/repository/persistence/DeliveryDetailsLinkItemsImpl.java @@ -110,7 +110,7 @@ public class DeliveryDetailsLinkItemsImpl extends ServiceImpl().set(DeliveryDetailsLink::getFileUrl, deliveryDetailsLinkDO.getFileUrl()).eq(DeliveryDetailsLink::getId, deliveryDetailsLinkDO.getId())); + deliveryDetailsLinkMapper.update(null,new LambdaUpdateWrapper().set(DeliveryDetailsLink::getFileUrl, deliveryDetailsLinkDO.getFileUrl()).set(DeliveryDetailsLink::getStatus, "1").eq(DeliveryDetailsLink::getId, deliveryDetailsLinkDO.getId())); this.remove(new LambdaUpdateWrapper().eq(DeliveryDetailsLinkItems::getDeliveryId, deliveryDetailsLinkDO.getId())); return this.saveBatch(deliveryDetailsLinkItemsList); } From 10e149cf9d1991f02249a816b5f88dafc5f1801e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 18:10:03 +0800 Subject: [PATCH 365/418] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=96=E5=8F=B7;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inOrderAbnormal/repository/todo/InOrderAbnormalDO.java | 5 ++++- .../repository/todo/StockReceiptOrderDO.java | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/todo/InOrderAbnormalDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/todo/InOrderAbnormalDO.java index 5ff5222fb..bdadcd34d 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/todo/InOrderAbnormalDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/todo/InOrderAbnormalDO.java @@ -88,4 +88,7 @@ public class InOrderAbnormalDO extends StockInOrderBaseDO { @ApiModelProperty(name = "权限菜单ID") private Long permissionMenuId; -} + @ApiModelProperty("是否需要报关") + @Excel(name = "是否需要报关") + private Integer needCustomsDeclaration; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/todo/StockReceiptOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/todo/StockReceiptOrderDO.java index 33f849bba..ed83f5dcf 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/todo/StockReceiptOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/todo/StockReceiptOrderDO.java @@ -200,4 +200,7 @@ public class StockReceiptOrderDO extends StockInOrderBaseDO { @ApiModelProperty("业务单号") @Excel(name = "业务单号") private String batchNo; + @ApiModelProperty("是否需要报关") + @Excel(name = "是否需要报关") + private Integer needCustomsDeclaration; } \ No newline at end of file From ebcae62b5ff07531158db2bf3ebfcfa5eab26b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Wed, 3 Jun 2026 18:18:03 +0800 Subject: [PATCH 366/418] =?UTF-8?q?=E5=8F=9130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/OmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/YmsServiceFeign.java | 2 +- mhd_wms/src/main/resources/bootstrap.yml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index 8cc8bfd57..e18484e8d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java index 211715894..3466fdf14 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/OmsServiceFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.concurrent.CompletableFuture; -@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.33:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface OmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index 1b5b207be..dfb64994b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index c9b0e4852..687c0e1ae 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index 238ec5f81..dfac7337f 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index e8f169bf2..fc7380c20 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -25,7 +25,7 @@ spring: # server-addr: 127.0.0.1:8848 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 - server-addr: 10.102.192.31:6848 + server-addr: 10.102.192.30:6848 username: nacos password: manhuoda@2023 #线上正式环境 From c467931fd66661a29ed261b4d03c5a2b33a896c2 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 3 Jun 2026 18:42:55 +0800 Subject: [PATCH 367/418] =?UTF-8?q?=E8=B4=A7=E7=89=A9=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9=20=20=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=B8=81=E5=80=BC=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockShelfOrderApplicationService.java | 68 +++++++++++++++++++ .../repository/po/ShelfMaterialDetailPO.java | 4 ++ .../repository/po/StockShelfOrderPO.java | 5 ++ .../stockShelfOrder/StockShelfOrderMapper.xml | 7 +- 4 files changed, 83 insertions(+), 1 deletion(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java index 9256eee40..b1b362a66 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java @@ -280,9 +280,11 @@ public class StockShelfOrderApplicationService { for (ShelfMaterialDetailPO shelfMaterialDetailPO : shelfMaterialDetailPOList) { MaterialBaseInfoPO materialBaseInfoPO = materialBaseInfoMap.get(shelfMaterialDetailPO.getMaterialBaseInfoId()); shelfMaterialDetailPO.setCopyCode(materialBaseInfoPO != null ? materialBaseInfoPO.getCopyCode() : null); + shelfMaterialDetailPO.setCurrency(materialBaseInfoPO != null ? materialBaseInfoPO.getCurrency() : null); for (ShelfMaterialDetailPO child : shelfMaterialDetailPO.getChildren()) { MaterialBaseInfoPO materialBaseInfoPOChild = materialBaseInfoMap.get(child.getMaterialBaseInfoId()); child.setCopyCode(materialBaseInfoPOChild != null ? materialBaseInfoPOChild.getCopyCode() : null); + child.setCurrency(materialBaseInfoPOChild != null ? materialBaseInfoPOChild.getCurrency() : null); } } @@ -2796,4 +2798,70 @@ public class StockShelfOrderApplicationService { stockShelfOrderMapper.updateById(entity); } + public List queryList1(StockShelfOrderDO stockShelfOrderDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null && loginUser.getUserPo() != null){ + Long userOrganizationId = loginUser.getUserPo().getOrganizationId(); + Long frontendOrganizationId = stockShelfOrderDO.getOrganizationId(); // 前端传递的 organizationId + + // 数据权限:根据 organizationId 来设置查询权限 + // 当前登录用户的 organizationId 为 2827 时,可查全部组织数据;其他组织只能查自己 + if (userOrganizationId != null && userOrganizationId == 2827L) { + // 南光组织(organizationId=2827):可以查询所有组织的数据 + // 如果前端传递了 organizationId(包括2827或其他组织),使用前端传递的值进行过滤 + // 如果前端没有传递 organizationId,清空组织过滤条件,查询所有组织的数据 + if (frontendOrganizationId != null) { + // 前端传递了 organizationId(包括2827或其他组织),使用前端传递的值进行过滤 + stockShelfOrderDO.setOrganizationId(frontendOrganizationId); + stockShelfOrderDO.setTopOrganizationId(null); // 明确设置为 null,避免使用 topOrganizationId 条件 + } else { + // 前端没有传递 organizationId,清空组织过滤条件,查询所有组织的数据 + stockShelfOrderDO.setOrganizationId(null); + stockShelfOrderDO.setTopOrganizationId(null); + } + } else { + // 其他组织:设置organizationId,只查询当前组织的数据 + // 如果前端传递了 organizationId,验证是否与当前登录用户的组织ID一致 + if (frontendOrganizationId != null && userOrganizationId != null) { + // 前端传递了 organizationId,验证是否与当前登录用户的组织ID一致 + if (!frontendOrganizationId.equals(userOrganizationId)) { + // 前端传递了其他组织的 organizationId,强制使用当前登录用户的组织ID,防止越权查询 + stockShelfOrderDO.setOrganizationId(userOrganizationId); + } + // 如果前端传递的 organizationId 与当前登录用户的组织ID一致,使用前端传递的值 + } else { + // 前端没有传递 organizationId,使用当前登录用户的组织ID + if (userOrganizationId != null) { + stockShelfOrderDO.setOrganizationId(userOrganizationId); + } + } + // 只有当 organizationId 为 null 时,才使用 topOrganizationId 作为查询条件 + // 如果 organizationId 不为 null,则优先使用 organizationId,不使用 topOrganizationId + if (stockShelfOrderDO.getOrganizationId() == null) { + Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + if (topOrganizationId != null && topOrganizationId != 1) { + stockShelfOrderDO.setTopOrganizationId(topOrganizationId); + } + } else { + // 对于非2827组织,必须设置 topOrganizationId=2827 + stockShelfOrderDO.setTopOrganizationId(2827L); + } + } + try { + AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); + if (associationWarehouseCacheDO != null) { + // 如果前端没有传仓库ID,则使用关联仓库ID;前端传了则以前端为准 + if (stockShelfOrderDO.getWarehouseId() == null && associationWarehouseCacheDO.getWarehouseId() != null) { + stockShelfOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); + } + } + } catch (Exception e) { + // 如果获取仓库信息失败,记录日志但不影响查询(允许查询所有仓库) + log.warn("获取用户关联仓库信息失败,将查询所有仓库数据,用户ID:{},错误:{}", loginUser.getUserid(), e.getMessage()); + } + } + return stockShelfOrderDomainService.queryList(stockShelfOrderDO); + } + + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/shelfMaterialDetail/repository/po/ShelfMaterialDetailPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/shelfMaterialDetail/repository/po/ShelfMaterialDetailPO.java index 7e5e8abd3..6fa213b59 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/shelfMaterialDetail/repository/po/ShelfMaterialDetailPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/shelfMaterialDetail/repository/po/ShelfMaterialDetailPO.java @@ -383,4 +383,8 @@ public class ShelfMaterialDetailPO extends BaseVOEntity { @ApiModelProperty("批次号") @Excel(name = "批次号") private String batchNo; + + @ApiModelProperty("币制") + @Excel(name = "币制") + private String currency; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java index 4ccbfec06..4598df5fc 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java @@ -135,6 +135,11 @@ public class StockShelfOrderPO extends StockInOrderBasePO { @ApiModelProperty("推送人姓名") private String pushByName; + + @ApiModelProperty("货物类型 0-物料 1-半成品 2-成品") + private Integer goodsType; + + @ApiModelProperty("批次号") @Excel(name = "批次号") private String batchNo; diff --git a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml index a4bc08035..4c76fa732 100644 --- a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml @@ -30,6 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -38,7 +39,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.in_order_number, a.receipt_order_number,a.receipt_task_number, a.shelf_order_number,a.status, a.receipt_quantity, a.shelves_quantity, a.material_quantity, a.shelves_material_quantity, a.abnormal,a.task_distribution, a.task_distribution_time, a.operators_by, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag - ,a.push_status,a.push_time,a.push_by,a.push_by_name + ,a.push_status,a.push_time,a.push_by,a.push_by_name, + (SELECT m.goods_type FROM shelf_material_detail d + JOIN material_base_info m ON d.material_base_info_id = m.material_base_info_id + WHERE d.shelf_order_number = a.shelf_order_number AND d.level = 1 + LIMIT 1) AS goods_type From 711c177041af1bf511226b94a1991f87adde2240 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Wed, 3 Jun 2026 18:43:45 +0800 Subject: [PATCH 368/418] =?UTF-8?q?=E8=B4=A7=E7=89=A9=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9=20=20=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=B8=81=E5=80=BC=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../facadeApi/stockShelfOrder/StockShelfOrderApi.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockShelfOrder/StockShelfOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockShelfOrder/StockShelfOrderApi.java index 100d97050..2930c47d2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockShelfOrder/StockShelfOrderApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockShelfOrder/StockShelfOrderApi.java @@ -97,5 +97,15 @@ public class StockShelfOrderApi extends BaseController { return stockShelfOrderApplicationService.batchPush(idList); } + @ApiOperation("查询上架单列表") + @GetMapping("/list1") + public TableDataInfo list1(StockShelfOrderDTO stockShelfOrderDTO) + { + //转换实体 + StockShelfOrderDO stockShelfOrderDO = stockShelfOrderAssembler.toDO(stockShelfOrderDTO); + startPage(); + List list = stockShelfOrderApplicationService.queryList1(stockShelfOrderDO); + return getDataTable(list); + } } From aa5c19a16d7eda6b92f135245eff2514f098c27f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 09:40:07 +0800 Subject: [PATCH 369/418] =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E6=9F=A5=E8=AF=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/MaterialInventoryDO.java | 1 + .../materialInventory/MaterialInventoryApi.java | 8 ++++++++ .../materialInventory/MaterialInventoryMapper.xml | 13 ++++++++----- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java index 3b8432240..4b2f8097f 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java @@ -249,4 +249,5 @@ public class MaterialInventoryDO extends MaterialBaseDO { private Boolean excludeZeroInventoryQuantity; private String expiryDateStr; private String productionDateStr; + private String updateTimeStr; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java index 8d1c18a11..b9d3b57b3 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java @@ -23,6 +23,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.Date; import java.util.List; @@ -83,6 +86,11 @@ public class MaterialInventoryApi extends BaseController { MaterialInventoryDO materialInventoryDO = materialInventoryAssembler.toDO(materialInventoryDTO); materialInventoryDO.setExpiryDateStr(materialInventoryDTO.getExpiryDate()); materialInventoryDO.setProductionDateStr(materialInventoryDTO.getProductionDate()); + Date updateTime = materialInventoryDTO.getUpdateTime(); + LocalDateTime localDateTime = updateTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateStr = localDateTime.format(formatter); + materialInventoryDO.setUpdateTimeStr(dateStr); startPage(); // 使用带批次属性的查询方法,批次属性值从库存表中获取 List list = materialInventoryApplicationService.queryListWithBatchAttributes(materialInventoryDO); diff --git a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml index 7ad812b53..9fcd08bcf 100644 --- a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml +++ b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml @@ -238,6 +238,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND TO_CHAR(a.production_date, 'yyyy-MM-dd') = #{productionDateStr} + + AND TO_CHAR(a.update_time, 'yyyy-MM-dd') = #{updateTimeStr} + @@ -381,7 +384,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - GROUP BY a.MATERIAL_BASE_INFO_ID,a.WAREHOUSE_ID,a.STORAGE_SECTION_ID,a.STORAGE_LOCATION_ID + GROUP BY a.MATERIAL_BASE_INFO_ID,a.WAREHOUSE_ID,a.STORAGE_SECTION_ID,a.STORAGE_LOCATION_ID order by a.update_time desc @@ -461,7 +464,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY a.SHIPPER_ID, a.MATERIAL_BASE_INFO_ID, loc.warehouse_id, loc.warehouse_code, loc.warehouse_name, loc.storage_section_id, loc.storage_code, loc.storage_name, - loc.storage_location_id, loc.storage_location_code, loc.storage_location_name + loc.storage_location_id, loc.storage_location_code, loc.storage_location_name order by a.update_time desc From 4ab7c8b8b725d0280711045c56a477405e246695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 10:17:07 +0800 Subject: [PATCH 370/418] =?UTF-8?q?=E5=87=BA=E5=BA=93=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationStockOutOrderMapper.xml | 51 +++++++++++++------ 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index 3a3218fc5..6fa6c9a17 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -144,9 +144,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.out_order_id = #{outOrderId} - - and a.organization_id = #{organizationId} - and a.tms_order_number like concat('%', #{tmsOrderNumber}, '%') @@ -220,9 +217,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.order_type_code = #{orderTypeCode} - - and a.order_type_name like concat('%', #{orderTypeName}, '%') - and a.customer_id = #{customerId} @@ -292,9 +286,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.check_status < #{ltCheckStatus} - - and a.create_by_name like concat('%', #{createByName}, '%') - and a.update_by_name like concat('%', #{updateByName}, '%') @@ -307,12 +298,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{item} - - and date_format(a.create_time,'%Y-%m-%d') >= #{createTimeStart} - - - and date_format(a.create_time,'%Y-%m-%d') <= #{createTimeEnd} - and date_format(a.audit_time,'%Y-%m-%d') >= #{auditTimeStart} @@ -331,6 +316,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.PUSH_STATUS = #{pushStatus} + + and a.BUSINESS_NUMBER = #{businessNumber} + + + and a.BUSINESS_TYPE = #{businessType} + + + and a.ISSUE_STATUS = #{issueStatus} + + + and a.RESERVATION_ORDER_SOURCE = #{reservationOrderSource} + + + and a.NEED_TRANSPORT_FLAG = #{needTransportFlag} + + + and a.create_by_name like concat('%', #{createByName}, '%') + + + and date_format(a.create_time,'%Y-%m-%d') >= #{createTimeStart} + + + and date_format(a.create_time,'%Y-%m-%d') <= #{createTimeEnd} + + + and a.organization_id = #{organizationId} + + + and date_format(a.outbound_date,'%Y-%m-%d') >= #{outboundDateStart} + + + and date_format(a.outbound_date,'%Y-%m-%d') <= #{outboundDateEnd} + + + and a.order_type_name like concat('%', #{orderTypeName}, '%') + From bf075c57e7ffb50a091f985a5bc0fc562a31217d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 10:23:27 +0800 Subject: [PATCH 371/418] =?UTF-8?q?=E5=85=A5=E5=BA=93=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todo/ReservationStockInOrderDO.java | 6 ++++++ .../todo/ReservationStockOutOrderDO.java | 6 ++++++ .../ReservationStockInOrderMapper.xml | 15 +++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java index 1ed02e523..59d5dbf0c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java @@ -378,6 +378,12 @@ public class ReservationStockInOrderDO extends BaseVOEntity { @ApiModelProperty(name = "创建时间查询条件结束日期") private String createTimeEnd; + @ApiModelProperty(name = "入库时间查询条件开始日期") + private String storageTimeStart; + + @ApiModelProperty(name = "入库时间查询条件结束日期") + private String storageTimeEnd; + @ApiModelProperty("入库明细-物料名称(商品名称),模糊匹配") private String materialName; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java index 33b99b7a4..ad15a33aa 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java @@ -363,6 +363,12 @@ public class ReservationStockOutOrderDO extends BaseVOEntity { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date outboundDate; + + @ApiModelProperty(name = "出库时间查询条件开始日期") + private String outboundDateStart; + + @ApiModelProperty(name = "出库时间查询条件结束日期") + private String outboundDateEnd; @ApiModelProperty("完成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 6f1389301..77893449b 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -429,6 +429,21 @@ and a.PUSH_STATUS = #{pushStatus} + + and a.BUSINESS_TYPE = #{businessType} + + + and a.RESERVATION_ORDER_SOURCE = #{reservationOrderSource} + + + and a.create_by_name like concat('%', #{createByName}, '%') + + + and date_format(a.storage_time,'%Y-%m-%d') >= #{storageTimeStart} + + + and date_format(a.storage_time,'%Y-%m-%d') <= #{storageTimeEnd} + and exists ( From eceb00891242e7f032b46042493d864b082cdadd Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 4 Jun 2026 10:33:04 +0800 Subject: [PATCH 372/418] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AD=BE=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/erpCountry/ErpCountryApplicationService.java | 2 +- .../erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java | 2 +- .../service/exchangeRate/ExchangeRateApplicationService.java | 2 +- .../service/materialInfo/MaterialInfoApplicationService.java | 2 +- .../service/ReservationStockOutOrderApplicationService.java | 2 +- .../stockShelfOrder/StockShelfOrderApplicationService.java | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java index 247b4d0e0..6ad9e23e9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpCountry/ErpCountryApplicationService.java @@ -33,7 +33,7 @@ import java.util.*; public class ErpCountryApplicationService{ private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveCountry"; - private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; + private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; @Resource private ErpCountryMapper erpCountryMapper; diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java index 9d2964bd6..ea35644d4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/erpEnterpriseUnit/ErpEnterpriseUnitApplicationService.java @@ -35,7 +35,7 @@ public class ErpEnterpriseUnitApplicationService { private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveUnit"; - private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; + private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; @Resource private ErpEnterpriseUnitMapper erpEnterpriseUnitMapper; diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java index 9e66acf70..b194654b1 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/exchangeRate/ExchangeRateApplicationService.java @@ -31,7 +31,7 @@ public class ExchangeRateApplicationService { private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveCurr"; - private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; + private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; @Resource private WlhyServiceFeign wlhyServiceFeign; diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java index 2e669264d..9e93f8610 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/materialInfo/MaterialInfoApplicationService.java @@ -31,7 +31,7 @@ public class MaterialInfoApplicationService { private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "saveOrgGoods"; - private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; + private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; @Resource private GwLogMapper gwLogMapper; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index 6cfcfde97..95919978a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -116,7 +116,7 @@ public class ReservationStockOutOrderApplicationService { private ReservationStockInOrderMapper reservationStockInOrderMapper; private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "save_order_i"; - private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; + private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; /** diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java index b1b362a66..954c26d68 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java @@ -114,7 +114,7 @@ public class StockShelfOrderApplicationService { private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String API_NAME = "save_qnBill_i"; - private static final String VERIFY = "tjPZMT9fwhZRnv+eTXKF75QXmXzCn7phPagmoUQsvsh2ZTWDjuRxHAgcP0GZENHP"; + private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; @Autowired private StockInOrderMapper stockInOrderMapper; From 08bd6ca59c24e2bbe92143a6ae480c9346ded1a2 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 4 Jun 2026 10:50:34 +0800 Subject: [PATCH 373/418] =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8D=95=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/po/ReservationOutMaterialDetailPO.java | 5 +++++ .../service/ReservationStockOutOrderApplicationService.java | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/po/ReservationOutMaterialDetailPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/po/ReservationOutMaterialDetailPO.java index 6f20119cb..180a5db57 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/po/ReservationOutMaterialDetailPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationOutMaterialDetail/repository/po/ReservationOutMaterialDetailPO.java @@ -583,4 +583,9 @@ public class ReservationOutMaterialDetailPO extends ReservationStockOutOrderBase @ApiModelProperty("调整后面积") @Excel(name = "调整后面积") private BigDecimal adjustedArea; + + @ApiModelProperty("单价") + @Excel(name = "单价") + private BigDecimal unitPrice; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index 95919978a..575cde450 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -321,6 +321,12 @@ public class ReservationStockOutOrderApplicationService { reservationOutMaterialDetailPO.setAdjustedVolume(inventoryAdjustmentRecordPO.getAdjustedVolume()); reservationOutMaterialDetailPO.setAdjustedArea(inventoryAdjustmentRecordPO.getAdjustedArea()); } + if(materialBaseInfoId != null){ + MaterialBaseInfoPO materialBaseInfoPO = reservationStockInOrderMapper.getinfo(materialBaseInfoId); + if(materialBaseInfoPO != null && materialBaseInfoPO.getUnitPrice() != null){ + reservationOutMaterialDetailPO.setUnitPrice(materialBaseInfoPO.getUnitPrice()); + } + } } // // // 性能优化:批量获取批次属性,避免N+1查询问题 From 28b1e0d497d419569c81ca39fdb27690087db4e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 10:59:57 +0800 Subject: [PATCH 374/418] =?UTF-8?q?=E5=85=A5=E5=BA=93=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/ReservationStockInOrderDO.java | 6 ++++++ .../ReservationStockInOrderMapper.xml | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java index 59d5dbf0c..90f6645e9 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java @@ -384,6 +384,12 @@ public class ReservationStockInOrderDO extends BaseVOEntity { @ApiModelProperty(name = "入库时间查询条件结束日期") private String storageTimeEnd; + @ApiModelProperty(name = "入库时间查询条件开始日期") + private String expectTimeStart; + + @ApiModelProperty(name = "入库时间查询条件结束日期") + private String expectTimeEnd; + @ApiModelProperty("入库明细-物料名称(商品名称),模糊匹配") private String materialName; diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 77893449b..4b7876504 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -444,6 +444,12 @@ and date_format(a.storage_time,'%Y-%m-%d') <= #{storageTimeEnd} + + and date_format(a.expect_time,'%Y-%m-%d') >= #{expectTimeStart} + + + and date_format(a.expect_time,'%Y-%m-%d') <= #{expectTimeEnd} + and exists ( From 03ca6a421262ec8cd325e66dd3cc50e296113785 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 4 Jun 2026 11:16:05 +0800 Subject: [PATCH 375/418] =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8D=95=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/po/ReservationInMaterialDetailPO.java | 4 ++++ .../service/ReservationStockInOrderDomainService.java | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/po/ReservationInMaterialDetailPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/po/ReservationInMaterialDetailPO.java index 576f58c05..faaf21c46 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/po/ReservationInMaterialDetailPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationInMaterialDetail/repository/po/ReservationInMaterialDetailPO.java @@ -411,6 +411,10 @@ public class ReservationInMaterialDetailPO extends ReservationStockInOrderBasePO @Excel(name = "lot编号") private String lotNo; + @ApiModelProperty("单价") + @Excel(name = "单价") + private BigDecimal unitPrice; + @ApiModelProperty("调整前库存数量") @Excel(name = "调整前库存数量") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java index de8416772..423fe967a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java @@ -303,6 +303,12 @@ public class ReservationStockInOrderDomainService { inMaterialDetail.setAdjustedVolume(inventoryAdjustmentRecordPO.getAdjustedVolume()); inMaterialDetail.setAdjustedArea(inventoryAdjustmentRecordPO.getAdjustedArea()); } + if(materialBaseInfoId != null){ + MaterialBaseInfoPO materialBaseInfoPO = reservationStockInOrderMapper.getinfo(materialBaseInfoId); + if (materialBaseInfoPO != null &&materialBaseInfoPO.getUnitPrice() != null){ + inMaterialDetail.setUnitPrice(materialBaseInfoPO.getUnitPrice()); + } + } // 填充收货数量(入库单对应的收货单实际收货数量) //ReceiptMaterialDetailPO receiptDetail = receiptDetailMap.get(materialDetailId); // if (receiptDetail != null) { From 8964f5c08768433c44b213d306c9d4215f23293c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 11:17:02 +0800 Subject: [PATCH 376/418] =?UTF-8?q?=E5=85=A5=E5=BA=93=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/ReservationStockInOrderDO.java | 2 ++ .../repository/todo/ReservationStockOutOrderDO.java | 2 ++ .../ReservationStockInOrderMapper.xml | 8 +++++++- .../ReservationStockOutOrderMapper.xml | 8 +++++++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java index 90f6645e9..81823383c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java @@ -472,4 +472,6 @@ public class ReservationStockInOrderDO extends BaseVOEntity { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date pushTimeEnd; + + private String xfStatus; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java index ad15a33aa..54bffb07f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDO.java @@ -553,4 +553,6 @@ public class ReservationStockOutOrderDO extends BaseVOEntity { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date pushTimeEnd; + + private String xfStatus; } \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 4b7876504..41c4eeef8 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -450,6 +450,12 @@ and date_format(a.expect_time,'%Y-%m-%d') <= #{expectTimeEnd} + + and b.in_order_number is not null + + + and b.in_order_number is null + and exists ( @@ -481,7 +487,7 @@ select - from reservation_stock_out_order a + from reservation_stock_out_order a left join NGWL_TEST_WMS.stock_out_order b on a.out_order_number = b.out_order_number From 95cdf38ab0aea2d623f30a811a53e7168661c0be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 11:26:57 +0800 Subject: [PATCH 377/418] =?UTF-8?q?=E5=85=A5=E5=BA=93=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/todo/ReservationStockInOrderDTO.java | 13 +++++++++++++ .../todo/ReservationStockOutOrderDTO.java | 8 ++++++++ 2 files changed, 21 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java index 805cf43be..8b51c7abd 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java @@ -458,4 +458,17 @@ public class ReservationStockInOrderDTO extends ReservationStockInOrderBaseDTO { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date pushTimeEnd; + + private String xfStatus; + @ApiModelProperty(name = "入库时间查询条件开始日期") + private String storageTimeStart; + + @ApiModelProperty(name = "入库时间查询条件结束日期") + private String storageTimeEnd; + + @ApiModelProperty(name = "入库时间查询条件开始日期") + private String expectTimeStart; + + @ApiModelProperty(name = "入库时间查询条件结束日期") + private String expectTimeEnd; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java index fe9bfa965..6e379099f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/todo/ReservationStockOutOrderDTO.java @@ -536,4 +536,12 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date pushTimeEnd; + + @ApiModelProperty(name = "出库时间查询条件开始日期") + private String outboundDateStart; + + @ApiModelProperty(name = "出库时间查询条件结束日期") + private String outboundDateEnd; + + private String xfStatus; } \ No newline at end of file From 3aebb272587a1803fd394bf1a9c73af7524d8a9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 11:30:53 +0800 Subject: [PATCH 378/418] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=AB=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 2 +- .../reservationStockOutOrder/ReservationStockOutOrderMapper.xml | 2 +- .../mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml | 2 +- .../mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml | 2 +- .../main/resources/mapper/stockInOrder/StockInOrderMapper.xml | 2 +- .../main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 41c4eeef8..f03aab812 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -128,7 +128,7 @@ a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by,a.PICTURE_URL, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.remark, a.create_time, a.create_by, - a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type, + a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type, a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER, a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO, a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index d2e5ad6a5..29cb5cb94 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -117,7 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status,a.BUSINESS_ORDER_NO, a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code, a.remark, a.create_time, a.create_by, a.create_by_name,a.business_number, - a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type,a."TO", + a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type,a."TO", a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER, a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME, diff --git a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml index 21b1504a4..6ff9742e7 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml @@ -126,7 +126,7 @@ a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.remark, a.create_time, a.create_by, - a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type, + a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type, a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER, a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO, a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, diff --git a/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml index b4f650624..0a83a3964 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml @@ -106,7 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status,a.BUSINESS_ORDER_NO, a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code, a.remark, a.create_time, a.create_by, a.create_by_name, - a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type,a."TO", + a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type,a."TO", a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER, a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME, diff --git a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml index d3a04b279..77968b674 100644 --- a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml @@ -126,7 +126,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) as shelves_quantity, a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.remark, a.create_time, a.create_by, - a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type, + a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type, a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER, a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO, a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, diff --git a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml index dfe527faa..fc9ff7eee 100644 --- a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml @@ -110,7 +110,7 @@ a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status, a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code, a.remark, a.create_time, a.create_by, a.create_by_name, - a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type,a."TO", + a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type,a."TO", a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER, a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME, From fb4da5206906a8e58267711ee8c2a3aca5cae859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 11:37:34 +0800 Subject: [PATCH 379/418] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=AB=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 2 +- .../reservationStockOutOrder/ReservationStockOutOrderMapper.xml | 2 +- .../mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml | 2 +- .../mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml | 2 +- .../main/resources/mapper/stockInOrder/StockInOrderMapper.xml | 2 +- .../main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index f03aab812..3e5794e2b 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -128,7 +128,7 @@ a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by,a.PICTURE_URL, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.remark, a.create_time, a.create_by, - a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type, + a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type, a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER, a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO, a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index 29cb5cb94..1143c110d 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -117,7 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status,a.BUSINESS_ORDER_NO, a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code, a.remark, a.create_time, a.create_by, a.create_by_name,a.business_number, - a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type,a."TO", + a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type,a."TO", a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER, a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME, diff --git a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml index 6ff9742e7..5f1ec24c9 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockInOrder/ReserveStockInOrderMapper.xml @@ -126,7 +126,7 @@ a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.remark, a.create_time, a.create_by, - a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type, + a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type, a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER, a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO, a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, diff --git a/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml index 0a83a3964..4068c0eba 100644 --- a/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reserveStockOutOrder/ReserveStockOutOrderMapper.xml @@ -106,7 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status,a.BUSINESS_ORDER_NO, a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code, a.remark, a.create_time, a.create_by, a.create_by_name, - a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type,a."TO", + a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type,a."TO", a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER, a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME, diff --git a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml index 77968b674..e6ea0a0b3 100644 --- a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml @@ -126,7 +126,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) as shelves_quantity, a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.remark, a.create_time, a.create_by, - a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type, + a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type, a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER, a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO, a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, diff --git a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml index fc9ff7eee..369580923 100644 --- a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml @@ -110,7 +110,7 @@ a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status, a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code, a.remark, a.create_time, a.create_by, a.create_by_name, - a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, over_stock_status, over_stock_type,a."TO", + a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type,a."TO", a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER, a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME, From d7b2c73a570f4a79144fbf9b555f3e6a98b5adf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 14:14:02 +0800 Subject: [PATCH 380/418] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=9F=A5=E8=AF=A2;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 2 +- .../reservationStockOutOrder/ReservationStockOutOrderMapper.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 3e5794e2b..168b0d090 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -273,7 +273,7 @@ and a.order_type_code = #{orderTypeCode} - and a.order_type_name like concat('%', #{orderTypeName}, '%') + and (a.BUSINESS_TYPE like concat('%', #{orderTypeName}, '%') or a.ORDER_TYPE_CODE like concat('%', #{orderTypeName}, '%')) and a.supplier_id = #{supplierId} diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index 1143c110d..26c5e8dce 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -350,7 +350,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and date_format(a.outbound_date,'%Y-%m-%d') <= #{outboundDateEnd} - and a.order_type_name like concat('%', #{orderTypeName}, '%') + and (a.BUSINESS_TYPE like concat('%', #{orderTypeName}, '%') or a.ORDER_TYPE_CODE like concat('%', #{orderTypeName}, '%')) and b.out_order_number is not null From 0d7d52ef60900f43f41c108ab9e897e1883d69d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 14:17:04 +0800 Subject: [PATCH 381/418] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=9F=A5=E8=AF=A2;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 2 +- .../ReservationStockOutOrderMapper.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 168b0d090..0cac472fe 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -432,7 +432,7 @@ and a.BUSINESS_TYPE = #{businessType} - + and a.RESERVATION_ORDER_SOURCE = #{reservationOrderSource} diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index 26c5e8dce..e0d7fdaa3 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -325,10 +325,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.ISSUE_STATUS = #{issueStatus} - + and a.RESERVATION_ORDER_SOURCE = #{reservationOrderSource} - + and a.NEED_TRANSPORT_FLAG = #{needTransportFlag} From a299bacda97e9c225f24892ebfb94b720ff75223 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 4 Jun 2026 14:23:51 +0800 Subject: [PATCH 382/418] =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8D=95=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stockShelfOrder/StockShelfOrderApplicationService.java | 2 ++ .../repository/po/ShelfMaterialDetailPO.java | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java index 954c26d68..66437b9c0 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java @@ -281,10 +281,12 @@ public class StockShelfOrderApplicationService { MaterialBaseInfoPO materialBaseInfoPO = materialBaseInfoMap.get(shelfMaterialDetailPO.getMaterialBaseInfoId()); shelfMaterialDetailPO.setCopyCode(materialBaseInfoPO != null ? materialBaseInfoPO.getCopyCode() : null); shelfMaterialDetailPO.setCurrency(materialBaseInfoPO != null ? materialBaseInfoPO.getCurrency() : null); + shelfMaterialDetailPO.setUnitPrice(materialBaseInfoPO != null ? materialBaseInfoPO.getUnitPrice() : null); for (ShelfMaterialDetailPO child : shelfMaterialDetailPO.getChildren()) { MaterialBaseInfoPO materialBaseInfoPOChild = materialBaseInfoMap.get(child.getMaterialBaseInfoId()); child.setCopyCode(materialBaseInfoPOChild != null ? materialBaseInfoPOChild.getCopyCode() : null); child.setCurrency(materialBaseInfoPOChild != null ? materialBaseInfoPOChild.getCurrency() : null); + child.setUnitPrice(materialBaseInfoPOChild != null ? materialBaseInfoPOChild.getUnitPrice() : null); } } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/shelfMaterialDetail/repository/po/ShelfMaterialDetailPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/shelfMaterialDetail/repository/po/ShelfMaterialDetailPO.java index 6fa213b59..981ecdeac 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/shelfMaterialDetail/repository/po/ShelfMaterialDetailPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/shelfMaterialDetail/repository/po/ShelfMaterialDetailPO.java @@ -387,4 +387,8 @@ public class ShelfMaterialDetailPO extends BaseVOEntity { @ApiModelProperty("币制") @Excel(name = "币制") private String currency; + + @ApiModelProperty("单价") + @Excel(name = "单价") + private BigDecimal unitPrice; } \ No newline at end of file From 5a0906f189b661f5588a302daf4ea56b45b48d93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 14:35:45 +0800 Subject: [PATCH 383/418] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=9F=A5=E8=AF=A2;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationStockOutOrderMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index e0d7fdaa3..774916ac0 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -325,10 +325,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.ISSUE_STATUS = #{issueStatus} - + and a.RESERVATION_ORDER_SOURCE = #{reservationOrderSource} - + and a.NEED_TRANSPORT_FLAG = #{needTransportFlag} From 88e6993dd6922990c8a9c144087e9b76c6435a16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 14:57:29 +0800 Subject: [PATCH 384/418] =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8A=A5=E9=94=99;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationStockOutOrderMapper.xml | 2 +- .../materialInventory/MaterialInventoryApi.java | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index 774916ac0..7aee07ef8 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -304,7 +304,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and date_format(a.audit_time,'%Y-%m-%d') <= #{auditTimeEnd} - + and a.NEED_DECLARE_FLAG = #{needDeclareFlag} diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java index b9d3b57b3..031f83fce 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java @@ -87,10 +87,12 @@ public class MaterialInventoryApi extends BaseController { materialInventoryDO.setExpiryDateStr(materialInventoryDTO.getExpiryDate()); materialInventoryDO.setProductionDateStr(materialInventoryDTO.getProductionDate()); Date updateTime = materialInventoryDTO.getUpdateTime(); - LocalDateTime localDateTime = updateTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - String dateStr = localDateTime.format(formatter); - materialInventoryDO.setUpdateTimeStr(dateStr); + if (updateTime != null) { + LocalDateTime localDateTime = updateTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateStr = localDateTime.format(formatter); + materialInventoryDO.setUpdateTimeStr(dateStr); + } startPage(); // 使用带批次属性的查询方法,批次属性值从库存表中获取 List list = materialInventoryApplicationService.queryListWithBatchAttributes(materialInventoryDO); From 1b1a026adc2e255ade35b2b6154fb4fa63970f1c Mon Sep 17 00:00:00 2001 From: zhaoqing <3160641494@qq.com> Date: Thu, 4 Jun 2026 15:48:09 +0800 Subject: [PATCH 385/418] =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=97=B6=E6=8A=A5?= =?UTF-8?q?=E5=85=B3=E5=9B=9E=E5=86=99=E5=88=B0=E6=8A=A5=E5=85=B3=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E8=A1=A8=20=E6=8E=A8=E9=80=81=E6=97=B6=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=AF=A5=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockShelfOrderApplicationService.java | 62 ++++++++++++++ .../entity/CustomsDeclarationDetail.java | 63 +++++++++++++++ .../ICustomsDeclarationDetailService.java | 43 ++++++++++ .../CustomsDeclarationDetailMapper.java | 23 ++++++ .../CustomsDeclarationDetailImpl.java | 81 +++++++++++++++++++ .../po/CustomsDeclarationDetailPO.java | 62 ++++++++++++++ .../todo/CustomsDeclarationDetailDO.java | 66 +++++++++++++++ .../CustomsDeclarationDetailMapper.xml | 72 +++++++++++++++++ 8 files changed, 472 insertions(+) create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/entity/CustomsDeclarationDetail.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/facade/ICustomsDeclarationDetailService.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/mapper/CustomsDeclarationDetailMapper.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/persistence/CustomsDeclarationDetailImpl.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/po/CustomsDeclarationDetailPO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/todo/CustomsDeclarationDetailDO.java create mode 100644 mhd_wms/src/main/resources/mapper/customsDeclarationDetail/CustomsDeclarationDetailMapper.xml diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java index 66437b9c0..a21c83b10 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java @@ -9,6 +9,7 @@ import com.mhd.common.core.domain.po.UserPo; import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.utils.IgnoreNullUtil; import com.mhd.common.core.utils.StringUtils; +import java.text.SimpleDateFormat; import com.mhd.common.core.utils.bean.BeanUtils; import com.mhd.common.core.utils.uuid.IdGenerator; import com.mhd.common.core.web.domain.AjaxResult; @@ -53,6 +54,8 @@ import com.mhd.wms.domain.stockShelfOrder.repository.mapper.StockShelfOrderMappe import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO; import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO; import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService; +import com.mhd.wms.domain.customsDeclarationDetail.repository.facade.ICustomsDeclarationDetailService; +import com.mhd.wms.domain.customsDeclarationDetail.repository.todo.CustomsDeclarationDetailDO; import com.mhd.wms.util.ReceiptBatchDetailFilter; import lombok.extern.slf4j.Slf4j; import org.apache.http.client.methods.CloseableHttpResponse; @@ -97,6 +100,8 @@ public class StockShelfOrderApplicationService { @Autowired private OmsServiceFeign omsServiceFeign; @Autowired + private ICustomsDeclarationDetailService customsDeclarationDetailService; + @Autowired private IdGenerator idGenerator; @Autowired private MaterialBaseInfoMapper materialBaseInfoMapper; @@ -2675,6 +2680,61 @@ public class StockShelfOrderApplicationService { } } + // ========== 调用报关回写接口获取核注清单号和行号 ========== + String bondInvtNo = ""; + Integer invtRow = null; + try { + Map customsParam = new HashMap<>(); + customsParam.put("beginDate", "2020-01-01"); + customsParam.put("endDate", new SimpleDateFormat("yyyy-MM-dd").format(new Date())); + customsParam.put("erpBillNo", stockShelfOrder.getShelfOrderNumber()); + customsParam.put("pageIndex", 1); + customsParam.put("pageSize", 100); + + List> customsBodyList = new ArrayList<>(); + customsBodyList.add(customsParam); + + CloseableHttpClient customsHttpClient = HttpClients.createDefault(); + HttpPost customsHttpPost = new HttpPost(PUSH_API_URL); + StringEntity customsPostingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(customsBodyList), "UTF-8"); + customsHttpPost.setEntity(customsPostingString); + customsHttpPost.setHeader("Content-type", "application/json"); + customsHttpPost.setHeader("apiName", "sendDec"); + customsHttpPost.setHeader("verify", VERIFY); + + CloseableHttpResponse customsResponse = customsHttpClient.execute(customsHttpPost); + String customsResponseString = EntityUtils.toString(customsResponse.getEntity()); + + if (customsResponse.getStatusLine().getStatusCode() == 200) { + com.alibaba.fastjson.JSONObject customsJson = com.alibaba.fastjson.JSONObject.parseObject(customsResponseString); + com.alibaba.fastjson.JSONArray customsData = customsJson.getJSONArray("data"); + if (customsData != null && customsData.size() > 0) { + com.alibaba.fastjson.JSONObject customsItem = customsData.getJSONObject(0); + bondInvtNo = customsItem.getString("entry_id"); + Object erpGNoObj = customsItem.get("erp_g_no"); + if (erpGNoObj != null) { + invtRow = (erpGNoObj instanceof Number) ? ((Number) erpGNoObj).intValue() : Integer.parseInt(erpGNoObj.toString()); + } + } + } + customsResponse.close(); + customsHttpClient.close(); + } catch (Exception e) { + log.error("调用报关回写接口失败: shelfOrderNumber={}", stockShelfOrder.getShelfOrderNumber(), e); + } + + // ========== 写入报关明细表 ========== + if (StringUtils.isNotBlank(bondInvtNo)) { + CustomsDeclarationDetailDO detailDO = new CustomsDeclarationDetailDO(); + detailDO.setDocumentNumber(stockShelfOrder.getShelfOrderNumber()); + detailDO.setBondInvtNo(bondInvtNo); + detailDO.setInvtRow(invtRow); + detailDO.setOrganizationId(stockShelfOrder.getOrganizationId()); + detailDO.setOrganizationName(stockShelfOrder.getOrganizationName()); + detailDO.setTopOrganizationId(stockShelfOrder.getTopOrganizationId()); + customsDeclarationDetailService.insert(detailDO); + } + String etpsPreentNo = stockShelfOrder.getInOrderNumber(); Date inputTime = new Date(); @@ -2682,6 +2742,8 @@ public class StockShelfOrderApplicationService { item.put("etpsPreentNo", stockShelfOrder.getInOrderNumber()); item.put("inputTime", new Date());//或者是前段传时间 或者是加时间字段然后查询拿到这里 item.put("mtpckEndprdTypecd", mtpckEndprdTypecd); + item.put("bondInvtNo", bondInvtNo); + item.put("invtRow", invtRow); List> bodyList = new ArrayList<>(); bodyList.add(item); diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/entity/CustomsDeclarationDetail.java b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/entity/CustomsDeclarationDetail.java new file mode 100644 index 000000000..88eb27579 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/entity/CustomsDeclarationDetail.java @@ -0,0 +1,63 @@ +package com.mhd.wms.domain.customsDeclarationDetail.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 报关明细对象 customs_declaration_detail + * + * @author gen + * @date 2024-06-04 + */ + +@Data +public class CustomsDeclarationDetail extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty("组织表ID") + @Excel(name = "组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + @Excel(name = "组织名称") + private String organizationName; + + @ApiModelProperty("一级组织表ID") + @Excel(name = "一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty("单据编号") + @Excel(name = "单据编号") + private String documentNumber; + + @ApiModelProperty("物料基础信息id") + @Excel(name = "物料基础信息id") + private Long materialBaseInfoId; + + @ApiModelProperty("物料编码") + @Excel(name = "物料编码") + private String materialCode; + + @ApiModelProperty("物料名称") + @Excel(name = "物料名称") + private String materialName; + + @ApiModelProperty("进口核注清单号") + @Excel(name = "进口核注清单号") + private String bondInvtNo; + + @ApiModelProperty("行号") + @Excel(name = "行号") + private Integer invtRow; + + +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/facade/ICustomsDeclarationDetailService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/facade/ICustomsDeclarationDetailService.java new file mode 100644 index 000000000..3a27aeaed --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/facade/ICustomsDeclarationDetailService.java @@ -0,0 +1,43 @@ +package com.mhd.wms.domain.customsDeclarationDetail.repository.facade; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.mhd.wms.domain.customsDeclarationDetail.entity.CustomsDeclarationDetail; +import com.mhd.wms.domain.customsDeclarationDetail.repository.po.CustomsDeclarationDetailPO; +import com.mhd.wms.domain.customsDeclarationDetail.repository.todo.CustomsDeclarationDetailDO; + +import java.util.List; + +/** + * 报关明细Service接口 + * + * @author gen + * @date 2024-06-04 + */ +public interface ICustomsDeclarationDetailService extends IService +{ + /** + * 分页查询报关明细列表 + */ + public List queryList(CustomsDeclarationDetailDO customsDeclarationDetailDO); + + /** + * 新增报关明细 + */ + public Boolean insert(CustomsDeclarationDetailDO customsDeclarationDetailDO); + + /** + * 修改报关明细 + */ + public Boolean update(CustomsDeclarationDetailDO customsDeclarationDetailDO); + + /** + * 批量删除报关明细 + */ + public Boolean delete(Long[] ids); + + + /** + * 查询报关明细 + */ + public CustomsDeclarationDetailPO getInfo(Long id); +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/mapper/CustomsDeclarationDetailMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/mapper/CustomsDeclarationDetailMapper.java new file mode 100644 index 000000000..5a85db498 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/mapper/CustomsDeclarationDetailMapper.java @@ -0,0 +1,23 @@ +package com.mhd.wms.domain.customsDeclarationDetail.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.wms.domain.customsDeclarationDetail.entity.CustomsDeclarationDetail; +import com.mhd.wms.domain.customsDeclarationDetail.repository.po.CustomsDeclarationDetailPO; +import com.mhd.wms.domain.customsDeclarationDetail.repository.todo.CustomsDeclarationDetailDO; + +import java.util.List; + +/** + * 报关明细Mapper接口 + * + * @author gen + * @date 2024-06-04 + */ +public interface CustomsDeclarationDetailMapper extends BaseMapper +{ + /** + * 查询报关明细列表 + */ + public List queryList(CustomsDeclarationDetailDO customsDeclarationDetailDO); + +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/persistence/CustomsDeclarationDetailImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/persistence/CustomsDeclarationDetailImpl.java new file mode 100644 index 000000000..eb08af245 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/persistence/CustomsDeclarationDetailImpl.java @@ -0,0 +1,81 @@ +package com.mhd.wms.domain.customsDeclarationDetail.repository.persistence; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.wms.domain.customsDeclarationDetail.entity.CustomsDeclarationDetail; +import com.mhd.wms.domain.customsDeclarationDetail.repository.facade.ICustomsDeclarationDetailService; +import com.mhd.wms.domain.customsDeclarationDetail.repository.mapper.CustomsDeclarationDetailMapper; +import com.mhd.wms.domain.customsDeclarationDetail.repository.po.CustomsDeclarationDetailPO; +import com.mhd.wms.domain.customsDeclarationDetail.repository.todo.CustomsDeclarationDetailDO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 报关明细Service业务层处理 + * + * @author gen + * @date 2024-06-04 + */ +@Service +public class CustomsDeclarationDetailImpl extends ServiceImpl implements ICustomsDeclarationDetailService { + @Autowired + private CustomsDeclarationDetailMapper customsDeclarationDetailMapper; + + /** + * 查询报关明细列表 + */ + @Override + public List queryList(CustomsDeclarationDetailDO customsDeclarationDetailDO) + { + return customsDeclarationDetailMapper.queryList(customsDeclarationDetailDO); + } + + /** + * 新增报关明细 + */ + @Override + public Boolean insert(CustomsDeclarationDetailDO customsDeclarationDetailDO) { + CustomsDeclarationDetail customsDeclarationDetail = new CustomsDeclarationDetail(); + BeanUtils.copyProperties(customsDeclarationDetailDO,customsDeclarationDetail); + return this.save(customsDeclarationDetail); + } + + /** + * 修改报关明细 + */ + @Override + public Boolean update(CustomsDeclarationDetailDO customsDeclarationDetailDO) { + CustomsDeclarationDetail customsDeclarationDetail = new CustomsDeclarationDetail(); + BeanUtils.copyProperties(customsDeclarationDetailDO,customsDeclarationDetail); + return this.updateById(customsDeclarationDetail); + } + + /** + * 批量删除报关明细 + */ + @Override + public Boolean delete(Long[] ids ) { + List list = new ArrayList<>(); + for (Long id : ids) { + CustomsDeclarationDetail customsDeclarationDetail = new CustomsDeclarationDetail(); + customsDeclarationDetail.setId(id); + customsDeclarationDetail.setDelFlag(2); + list.add(customsDeclarationDetail); + } + return this.updateBatchById(list); + } + + /** + * 获取报关明细详细信息 + */ + @Override + public CustomsDeclarationDetailPO getInfo(Long id) { + CustomsDeclarationDetail customsDeclarationDetail = this.getById(id); + CustomsDeclarationDetailPO customsDeclarationDetailPO = new CustomsDeclarationDetailPO(); + BeanUtils.copyProperties(customsDeclarationDetail,customsDeclarationDetailPO); + return customsDeclarationDetailPO; + } +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/po/CustomsDeclarationDetailPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/po/CustomsDeclarationDetailPO.java new file mode 100644 index 000000000..3a9dd17f6 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/po/CustomsDeclarationDetailPO.java @@ -0,0 +1,62 @@ +package com.mhd.wms.domain.customsDeclarationDetail.repository.po; + +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 报关明细对象 customs_declaration_detail + * + * @author gen + * @date 2024-06-04 + */ + +@Data +@ApiModel(value = "报关明细对象", description = "报关明细响应对象") +public class CustomsDeclarationDetailPO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("组织表ID") + @Excel(name = "组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + @Excel(name = "组织名称") + private String organizationName; + + @ApiModelProperty("一级组织表ID") + @Excel(name = "一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty("单据编号") + @Excel(name = "单据编号") + private String documentNumber; + + @ApiModelProperty("物料基础信息id") + @Excel(name = "物料基础信息id") + private Long materialBaseInfoId; + + @ApiModelProperty("物料编码") + @Excel(name = "物料编码") + private String materialCode; + + @ApiModelProperty("物料名称") + @Excel(name = "物料名称") + private String materialName; + + @ApiModelProperty("进口核注清单号") + @Excel(name = "进口核注清单号") + private String bondInvtNo; + + @ApiModelProperty("行号") + @Excel(name = "行号") + private Integer invtRow; + + +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/todo/CustomsDeclarationDetailDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/todo/CustomsDeclarationDetailDO.java new file mode 100644 index 000000000..8c0565b42 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/customsDeclarationDetail/repository/todo/CustomsDeclarationDetailDO.java @@ -0,0 +1,66 @@ +package com.mhd.wms.domain.customsDeclarationDetail.repository.todo; + +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +/** + * 报关明细对象 customs_declaration_detail + * + * @author gen + * @date 2024-06-04 + */ + +@Data +public class CustomsDeclarationDetailDO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("组织表ID") + @Excel(name = "组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + @Excel(name = "组织名称") + private String organizationName; + + @ApiModelProperty("一级组织表ID") + @Excel(name = "一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty("单据编号") + @Excel(name = "单据编号") + private String documentNumber; + + @ApiModelProperty("物料基础信息id") + @Excel(name = "物料基础信息id") + private Long materialBaseInfoId; + + @ApiModelProperty("物料编码") + @Excel(name = "物料编码") + private String materialCode; + + @ApiModelProperty("物料名称") + @Excel(name = "物料名称") + private String materialName; + + @ApiModelProperty("进口核注清单号") + @Excel(name = "进口核注清单号") + private String bondInvtNo; + + @ApiModelProperty("行号") + @Excel(name = "行号") + private Integer invtRow; + + @ApiModelProperty(name = "组织ID集合") + private List organizationIdList; + + @ApiModelProperty(name = "单据编号集合") + private List documentNumberList; +} diff --git a/mhd_wms/src/main/resources/mapper/customsDeclarationDetail/CustomsDeclarationDetailMapper.xml b/mhd_wms/src/main/resources/mapper/customsDeclarationDetail/CustomsDeclarationDetailMapper.xml new file mode 100644 index 000000000..eab67f23e --- /dev/null +++ b/mhd_wms/src/main/resources/mapper/customsDeclarationDetail/CustomsDeclarationDetailMapper.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, organization_id, organization_name, top_organization_id, document_number, material_base_info_id, material_code, material_name, bond_invt_no, invt_row, create_time, create_by, create_by_name, update_time, update_by, update_by_name, del_flag from customs_declaration_detail + + + + + + and document_number = #{documentNumber} + + + and organization_id = #{organizationId} + + + and organization_name like concat('%', #{organizationName}, '%') + + + and top_organization_id = #{topOrganizationId} + + + and material_base_info_id = #{materialBaseInfoId} + + + and material_code = #{materialCode} + + + and material_name like concat('%', #{materialName}, '%') + + + and document_number in + + #{item} + + + + and del_flag = #{delFlag} + and del_flag = 1 + + + + + + From 3626af0c05f65897c664c9fb844e038d7fceba0f Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 4 Jun 2026 16:00:50 +0800 Subject: [PATCH 386/418] sql --- sql/oms20260513.sql | 51 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/sql/oms20260513.sql b/sql/oms20260513.sql index 1251ab9bb..92498b757 100644 --- a/sql/oms20260513.sql +++ b/sql/oms20260513.sql @@ -172,4 +172,53 @@ alter table NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER add REVISE_APPLY_TIME timestamp; comment -on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.REVISE_APPLY_TIME is '删改单申请时间'; \ No newline at end of file +on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.REVISE_APPLY_TIME is '删改单申请时间'; + + + + + +USE NGWL_TEST_WMS; + + +CREATE TABLE customs_declaration_detail ( + id BIGINT IDENTITY(1,1) PRIMARY KEY, + organization_id BIGINT, + organization_name VARCHAR(64), + top_organization_id BIGINT, + document_number VARCHAR(64), + material_base_info_id BIGINT, + material_code VARCHAR(64), + material_name VARCHAR(255), + bond_invt_no VARCHAR(64), + invt_row INT, + create_time DATETIME, + create_by BIGINT, + create_by_name VARCHAR(64), + update_time DATETIME, + update_by BIGINT, + update_by_name VARCHAR(64), + del_flag INT DEFAULT 1 +); + +COMMENT ON TABLE customs_declaration_detail IS '报关明细表'; + COMMENT ON COLUMN customs_declaration_detail.id IS '主键'; + COMMENT ON COLUMN customs_declaration_detail.organization_id IS '组织表ID'; + COMMENT ON COLUMN customs_declaration_detail.organization_name IS '组织名称'; + COMMENT ON COLUMN customs_declaration_detail.top_organization_id IS '一级组织表ID'; + COMMENT ON COLUMN customs_declaration_detail.document_number IS '单据编号'; + COMMENT ON COLUMN customs_declaration_detail.material_base_info_id IS '物料基础信息ID'; + COMMENT ON COLUMN customs_declaration_detail.material_code IS '物料编码'; + COMMENT ON COLUMN customs_declaration_detail.material_name IS '物料名称'; + COMMENT ON COLUMN customs_declaration_detail.bond_invt_no IS '进口核注清单号'; + COMMENT ON COLUMN customs_declaration_detail.invt_row IS '行号'; + COMMENT ON COLUMN customs_declaration_detail.create_time IS '创建时间'; + COMMENT ON COLUMN customs_declaration_detail.create_by IS '创建人'; + COMMENT ON COLUMN customs_declaration_detail.create_by_name IS '创建人姓名'; + COMMENT ON COLUMN customs_declaration_detail.update_time IS '修改时间'; + COMMENT ON COLUMN customs_declaration_detail.update_by IS '修改人'; + COMMENT ON COLUMN customs_declaration_detail.update_by_name IS '修改人姓名'; + COMMENT ON COLUMN customs_declaration_detail.del_flag IS '删除标志 1-正常 2-删除'; + +CREATE INDEX idx_cdd_document_number ON customs_declaration_detail(document_number); +CREATE INDEX idx_cdd_bond_invt_no ON customs_declaration_detail(bond_invt_no); \ No newline at end of file From 4b64a184ab3b22a23ec3abdccd066fd5dd8451a8 Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 4 Jun 2026 16:01:52 +0800 Subject: [PATCH 387/418] sql --- sql/oms20260513.sql | 44 -------------------------------------------- 1 file changed, 44 deletions(-) diff --git a/sql/oms20260513.sql b/sql/oms20260513.sql index 92498b757..8f4716f3a 100644 --- a/sql/oms20260513.sql +++ b/sql/oms20260513.sql @@ -178,47 +178,3 @@ on column NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER.REVISE_APPLY_TIME is '删改单 -USE NGWL_TEST_WMS; - - -CREATE TABLE customs_declaration_detail ( - id BIGINT IDENTITY(1,1) PRIMARY KEY, - organization_id BIGINT, - organization_name VARCHAR(64), - top_organization_id BIGINT, - document_number VARCHAR(64), - material_base_info_id BIGINT, - material_code VARCHAR(64), - material_name VARCHAR(255), - bond_invt_no VARCHAR(64), - invt_row INT, - create_time DATETIME, - create_by BIGINT, - create_by_name VARCHAR(64), - update_time DATETIME, - update_by BIGINT, - update_by_name VARCHAR(64), - del_flag INT DEFAULT 1 -); - -COMMENT ON TABLE customs_declaration_detail IS '报关明细表'; - COMMENT ON COLUMN customs_declaration_detail.id IS '主键'; - COMMENT ON COLUMN customs_declaration_detail.organization_id IS '组织表ID'; - COMMENT ON COLUMN customs_declaration_detail.organization_name IS '组织名称'; - COMMENT ON COLUMN customs_declaration_detail.top_organization_id IS '一级组织表ID'; - COMMENT ON COLUMN customs_declaration_detail.document_number IS '单据编号'; - COMMENT ON COLUMN customs_declaration_detail.material_base_info_id IS '物料基础信息ID'; - COMMENT ON COLUMN customs_declaration_detail.material_code IS '物料编码'; - COMMENT ON COLUMN customs_declaration_detail.material_name IS '物料名称'; - COMMENT ON COLUMN customs_declaration_detail.bond_invt_no IS '进口核注清单号'; - COMMENT ON COLUMN customs_declaration_detail.invt_row IS '行号'; - COMMENT ON COLUMN customs_declaration_detail.create_time IS '创建时间'; - COMMENT ON COLUMN customs_declaration_detail.create_by IS '创建人'; - COMMENT ON COLUMN customs_declaration_detail.create_by_name IS '创建人姓名'; - COMMENT ON COLUMN customs_declaration_detail.update_time IS '修改时间'; - COMMENT ON COLUMN customs_declaration_detail.update_by IS '修改人'; - COMMENT ON COLUMN customs_declaration_detail.update_by_name IS '修改人姓名'; - COMMENT ON COLUMN customs_declaration_detail.del_flag IS '删除标志 1-正常 2-删除'; - -CREATE INDEX idx_cdd_document_number ON customs_declaration_detail(document_number); -CREATE INDEX idx_cdd_bond_invt_no ON customs_declaration_detail(bond_invt_no); \ No newline at end of file From c7e4ced035ea4750b0f02bc87ef975514b0eecab Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Thu, 4 Jun 2026 16:03:31 +0800 Subject: [PATCH 388/418] sql --- sql/wms_update_20260414_zq.sql | 46 ++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/sql/wms_update_20260414_zq.sql b/sql/wms_update_20260414_zq.sql index ca1d80779..92144719f 100644 --- a/sql/wms_update_20260414_zq.sql +++ b/sql/wms_update_20260414_zq.sql @@ -55,3 +55,49 @@ alter table NGWL_TEST_WMS.MATERIAL_BASE_INFO comment on column NGWL_TEST_WMS.MATERIAL_BASE_INFO.COPY_CODE is '是否抄码: 1-是 2-否'; + + +USE NGWL_TEST_WMS; + + +CREATE TABLE customs_declaration_detail ( + id BIGINT IDENTITY(1,1) PRIMARY KEY, + organization_id BIGINT, + organization_name VARCHAR(64), + top_organization_id BIGINT, + document_number VARCHAR(64), + material_base_info_id BIGINT, + material_code VARCHAR(64), + material_name VARCHAR(255), + bond_invt_no VARCHAR(64), + invt_row INT, + create_time DATETIME, + create_by BIGINT, + create_by_name VARCHAR(64), + update_time DATETIME, + update_by BIGINT, + update_by_name VARCHAR(64), + del_flag INT DEFAULT 1 +); + +COMMENT ON TABLE customs_declaration_detail IS '报关明细表'; + COMMENT ON COLUMN customs_declaration_detail.id IS '主键'; + COMMENT ON COLUMN customs_declaration_detail.organization_id IS '组织表ID'; + COMMENT ON COLUMN customs_declaration_detail.organization_name IS '组织名称'; + COMMENT ON COLUMN customs_declaration_detail.top_organization_id IS '一级组织表ID'; + COMMENT ON COLUMN customs_declaration_detail.document_number IS '单据编号'; + COMMENT ON COLUMN customs_declaration_detail.material_base_info_id IS '物料基础信息ID'; + COMMENT ON COLUMN customs_declaration_detail.material_code IS '物料编码'; + COMMENT ON COLUMN customs_declaration_detail.material_name IS '物料名称'; + COMMENT ON COLUMN customs_declaration_detail.bond_invt_no IS '进口核注清单号'; + COMMENT ON COLUMN customs_declaration_detail.invt_row IS '行号'; + COMMENT ON COLUMN customs_declaration_detail.create_time IS '创建时间'; + COMMENT ON COLUMN customs_declaration_detail.create_by IS '创建人'; + COMMENT ON COLUMN customs_declaration_detail.create_by_name IS '创建人姓名'; + COMMENT ON COLUMN customs_declaration_detail.update_time IS '修改时间'; + COMMENT ON COLUMN customs_declaration_detail.update_by IS '修改人'; + COMMENT ON COLUMN customs_declaration_detail.update_by_name IS '修改人姓名'; + COMMENT ON COLUMN customs_declaration_detail.del_flag IS '删除标志 1-正常 2-删除'; + +CREATE INDEX idx_cdd_document_number ON customs_declaration_detail(document_number); +CREATE INDEX idx_cdd_bond_invt_no ON customs_declaration_detail(bond_invt_no); \ No newline at end of file From 3a004607b207424a278971d3d25c4e424c7850b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Thu, 4 Jun 2026 16:28:08 +0800 Subject: [PATCH 389/418] =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=8D=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8F=91=E7=89=8C=E7=8A=B6=E6=80=81=E4=B8=8E=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=EF=BC=8C=E5=85=A5=E5=BA=93=E5=8D=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=BF=90=E8=BE=93=E4=B8=9A=E5=8A=A1=E5=8D=95=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/UserApplicationService.java | 12 ++++++------ .../BusinessDocumentOrderDomainService.java | 11 +++++++++++ .../executeOrder/entity/ExecuteOrder.java | 7 +++++++ .../repository/po/ExecuteOrderPO.java | 9 +++++++++ .../repository/todo/ExecuteOrderDO.java | 18 ++++++++++++++++++ .../entity/ReservationStockInOrder.java | 3 +++ .../dto/executeOrder/ExecuteOrderDTO.java | 19 +++++++++++++++++++ .../executeOrder/ExecuteOrderMapper.xml | 6 ++++++ 8 files changed, 79 insertions(+), 6 deletions(-) diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java index eff58c760..01ee8e0b5 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java @@ -2331,12 +2331,12 @@ public class UserApplicationService { } } //用户账号传值 - if (StringUtils.isNotEmpty(checkDO.getUserAccount())) { - //调用工具类校验,用户账号格式错误 - if (!RegexUtil.isAccountLegal(checkDO.getUserAccount())) { - throw new DigitalLogisticsException(UserError.USER_ACCOUNT_REG_ERROR); - } - } +// if (StringUtils.isNotEmpty(checkDO.getUserAccount())) { +// //调用工具类校验,用户账号格式错误 +// if (!RegexUtil.isAccountLegal(checkDO.getUserAccount())) { +// throw new DigitalLogisticsException(UserError.USER_ACCOUNT_REG_ERROR); +// } +// } //用户手机号传值 // if (StringUtils.isNotEmpty(checkDO.getUserPhone()) && checkDO.getDataSources() != null && checkDO.getDataSources()!=2) { // //调用工具类校验,手机号格式错误 diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java index c320e8891..1b584443d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/businessDocumentOrder/service/BusinessDocumentOrderDomainService.java @@ -25,6 +25,8 @@ import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount; import com.mhd.oms.domain.businessOrderAccount.repository.mapper.BusinessOrderAccountMapper; import com.mhd.oms.domain.reservationOrder.entity.ReservationOrder; import com.mhd.oms.domain.reservationOrder.repository.mapper.ReservationOrderMapper; +import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder; +import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper; import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder; import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper; import com.mhd.oms.domain.reserveStockOutOrder.entity.ReserveStockOutOrder; @@ -83,6 +85,9 @@ public class BusinessDocumentOrderDomainService { @Resource private ReservationStockOutOrderMapper reservationStockOutOrderMapper; + @Autowired + private ReservationStockInOrderMapper reservationStockInOrderMapper; + /** * 分页查询【请填写功能名称】列表 */ @@ -233,6 +238,12 @@ public class BusinessDocumentOrderDomainService { reservationStockOutOrder.setBusinessNumber(tmsOrder.getGoodsNumber()); reservationStockOutOrderMapper.updateById(reservationStockOutOrder); } + ReservationStockInOrder reservationStockInOrder = reservationStockInOrderMapper.selectOne(new LambdaQueryWrapper().eq(ReservationStockInOrder::getInOrderNumber, tmsOrder.getInOrderNumber())); + if (reservationStockInOrder != null){ + reservationStockInOrder.setBusinessNumber(tmsOrder.getGoodsNumber()); + reservationStockInOrderMapper.updateById(reservationStockInOrder); + } + List loadingAddressList = businessDocumentOrderDO.getLoadingAddressList();//装货地信息集合 List unloadAddressList = businessDocumentOrderDO.getUnloadAddressList();//卸货地信息集合 String loadCityCounty="",unloadCityCounty=""; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java index 4cae51e37..b46112e77 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/entity/ExecuteOrder.java @@ -150,5 +150,12 @@ public class ExecuteOrder extends BaseVOEntity{ @Excel(name = "发票编号") private String invoiceNumber; + @ApiModelProperty("发票上传状态(0.未上传,1.已上传)") + private Integer invoiceStatus; + + @ApiModelProperty("发票上传时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date invoiceDate; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java index 0421d99ed..4cdc4e139 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/po/ExecuteOrderPO.java @@ -12,6 +12,7 @@ import java.math.BigDecimal; import java.util.List; import com.mhd.common.core.web.domain.BaseVOEntity; +import org.springframework.format.annotation.DateTimeFormat; /** @@ -222,4 +223,12 @@ public class ExecuteOrderPO extends BaseVOEntity{ @Excel(name = "卸货联系人") private String dischargerName; + @ApiModelProperty("发票上传状态(0.未上传,1.已上传)") + private Integer invoiceStatus; + + @ApiModelProperty("发票上传时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date invoiceDate; + } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/todo/ExecuteOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/todo/ExecuteOrderDO.java index a51756b92..358f10713 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/todo/ExecuteOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/todo/ExecuteOrderDO.java @@ -151,4 +151,22 @@ public class ExecuteOrderDO extends BaseVOEntity{ @ApiModelProperty("发票编号") @Excel(name = "发票编号") private String invoiceNumber; + + @ApiModelProperty("发票上传状态(0.未上传,1.已上传)") + private Integer invoiceStatus; + + @ApiModelProperty("发票上传时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date invoiceDate; + + @ApiModelProperty("发票上传开始时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date invoiceStartTime; + + @ApiModelProperty("发票上传结束时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date invoiceEndTime; } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java index 8d443c0c4..56c81e9a3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/entity/ReservationStockInOrder.java @@ -427,4 +427,7 @@ public class ReservationStockInOrder extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + @ApiModelProperty("运输业务单号") + private String businessNumber; + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java index d7577a2c4..f3d86b6a6 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java @@ -137,4 +137,23 @@ public class ExecuteOrderDTO extends BaseVOEntity{ @ApiModelProperty("业务单元") private String businessUnit; + + @ApiModelProperty("发票上传状态(0.未上传,1.已上传)") + private Integer invoiceStatus; + + @ApiModelProperty("发票上传时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date invoiceDate; + + @ApiModelProperty("发票上传开始时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date invoiceStartTime; + + @ApiModelProperty("发票上传结束时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date invoiceEndTime; + } diff --git a/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml b/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml index d04f84d3d..a4928ac07 100644 --- a/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml @@ -54,6 +54,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and eo.GOODS_NUMBER like concat('%', #{goodsNumber}, '%') + + and eo.INVOICE_DATE >= #{invoiceStartTime} + + + and eo.INVOICE_DATE <= #{invoiceEndTime} + and eo.BUSINESS_UNIT like concat('%', #{businessUnit}, '%') From b18c8566e82670d4b42a1a910cf56859777436f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 16:30:41 +0800 Subject: [PATCH 390/418] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=BF=90=E8=BE=93=E4=B8=9A=E5=8A=A1=E5=8D=95=E5=8F=B7?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/po/ReservationStockInOrderPO.java | 2 ++ .../repository/todo/ReservationStockInOrderDO.java | 2 ++ .../repository/todo/ReservationStockInOrderDTO.java | 2 ++ .../reservationStockInOrder/ReservationStockInOrderMapper.xml | 3 +++ 4 files changed, 9 insertions(+) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java index dc2148f9b..29434ca4e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/po/ReservationStockInOrderPO.java @@ -451,4 +451,6 @@ public class ReservationStockInOrderPO extends BaseVOEntity { @ApiModelProperty("NC客户编码") private String customerNcCode; + @ApiModelProperty("运输业务单号") + private String businessNumber; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java index 81823383c..0ce32544b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDO.java @@ -474,4 +474,6 @@ public class ReservationStockInOrderDO extends BaseVOEntity { private Date pushTimeEnd; private String xfStatus; + @ApiModelProperty("运输业务单号") + private String businessNumber; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java index 8b51c7abd..b7c47a5a4 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/todo/ReservationStockInOrderDTO.java @@ -471,4 +471,6 @@ public class ReservationStockInOrderDTO extends ReservationStockInOrderBaseDTO { @ApiModelProperty(name = "入库时间查询条件结束日期") private String expectTimeEnd; + @ApiModelProperty("运输业务单号") + private String businessNumber; } \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 0cac472fe..31b8058d7 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -435,6 +435,9 @@ and a.RESERVATION_ORDER_SOURCE = #{reservationOrderSource} + + and a.BUSINESS_NUMBER = #{businessNumber} + and a.create_by_name like concat('%', #{createByName}, '%') From 299a9fb91e7867022b20454102f0e7c7e3d2904a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Thu, 4 Jun 2026 16:48:14 +0800 Subject: [PATCH 391/418] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=BD=A6=E6=AC=A1;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationStockOutOrderMapper.xml | 3 ++- .../resources/mapper/stockOutOrder/StockOutOrderMapper.xml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index 7aee07ef8..41d4b3dec 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -106,6 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -116,7 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.priority_level_name, a.direct_warehouse, a.review, a.annex_url, a.material_quantity, a.quantity, a.weight_limit, a.volume_limit, a.check_quantity, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status,a.BUSINESS_ORDER_NO, a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code, - a.remark, a.create_time, a.create_by, a.create_by_name,a.business_number, + a.remark, a.create_time, a.create_by, a.create_by_name,a.business_number,a.train_no, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type,a."TO", a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER, a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, diff --git a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml index 369580923..36c73c293 100644 --- a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml @@ -95,6 +95,7 @@ + @@ -109,7 +110,7 @@ a.allocation_quantity, a.already_allocation_quantity, a.picking_quantity, a.check_quantity, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status, a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code, - a.remark, a.create_time, a.create_by, a.create_by_name, + a.remark, a.create_time, a.create_by, a.create_by_name,a.train_no, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type,a."TO", a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER, a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE, From 1c72ce2ba5580bd4c2c9ccee8c6aa2732683122c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 4 Jun 2026 16:59:16 +0800 Subject: [PATCH 392/418] =?UTF-8?q?PDA=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=20B2=E5=AD=97=E6=AE=B5=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/po/SettlementCustomersPO.java | 31 ++++ .../todo/SettlementCustomersDO.java | 24 +++ .../SettlementCustomersDTO.java | 24 +++ .../facadeApi/SettlementCustomersApi.java | 3 +- .../mapper/BillingStatementMapper.xml | 18 +- .../mapper/BusinessDocumentMapper.xml | 12 ++ .../mapper/SettlementCustomersMapper.xml | 161 +++++++++++------- .../DeliveTaskApplicationService.java | 2 +- .../persistence/DeliveTaskImpl.java | 2 +- .../deliveTask/DeliveTaskAppApi.java | 2 +- .../mapper/deliveTask/DeliveTaskMapper.xml | 47 ++++- 11 files changed, 255 insertions(+), 71 deletions(-) diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/settlementCustomers/repository/po/SettlementCustomersPO.java b/mhd_bms/src/main/java/com/mhd/bms/domain/settlementCustomers/repository/po/SettlementCustomersPO.java index 4950e5455..2d497c5cc 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/settlementCustomers/repository/po/SettlementCustomersPO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/settlementCustomers/repository/po/SettlementCustomersPO.java @@ -96,4 +96,35 @@ public class SettlementCustomersPO extends BaseVOEntity{ @ApiModelProperty(name = "结算币种") private String settlementCurrency; + @ApiModelProperty("业务单据id") + private Long businessDocumentId; + + @ApiModelProperty("业务流水号") + private String businessFlow; + + @ApiModelProperty("业务单号") + private String originalBusinessNum; + + @ApiModelProperty("费用类别") + private String serviceItemsName; + + @ApiModelProperty("一级费用科目") + private String firstSubjectName; + + @ApiModelProperty("二级费用科目") + private String secondSubjectName; + + @ApiModelProperty("业务状态(1-未生效,2-已生效,3-已计费,4-已驳回,5-已作废)") + private Integer businessState; + + @ApiModelProperty("单据类型") + private String documentType; + + @ApiModelProperty("单据类型编码") + private String documentTypeCode; + + @ApiModelProperty("业务单据创建时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date businessCreateTime; + } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/settlementCustomers/repository/todo/SettlementCustomersDO.java b/mhd_bms/src/main/java/com/mhd/bms/domain/settlementCustomers/repository/todo/SettlementCustomersDO.java index fa4454ba9..2546f6c99 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/settlementCustomers/repository/todo/SettlementCustomersDO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/settlementCustomers/repository/todo/SettlementCustomersDO.java @@ -105,4 +105,28 @@ public class SettlementCustomersDO extends BaseVOEntity{ @ApiModelProperty(name = "nc编码") private String ncCode; + @ApiModelProperty("业务流水号") + private String businessFlow; + + @ApiModelProperty("业务单号") + private String originalBusinessNum; + + @ApiModelProperty("费用类别") + private String serviceItemsName; + + @ApiModelProperty("一级费用科目") + private String firstSubjectName; + + @ApiModelProperty("二级费用科目") + private String secondSubjectName; + + @ApiModelProperty("业务状态(1-未生效,2-已生效,3-已计费,4-已驳回,5-已作废)") + private Integer businessState; + + @ApiModelProperty("单据类型") + private String documentType; + + @ApiModelProperty("单据类型编码") + private String documentTypeCode; + } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/settlementCustomers/SettlementCustomersDTO.java b/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/settlementCustomers/SettlementCustomersDTO.java index 4094cc9fe..f347cd0a4 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/settlementCustomers/SettlementCustomersDTO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/settlementCustomers/SettlementCustomersDTO.java @@ -103,4 +103,28 @@ public class SettlementCustomersDTO extends BaseVOEntity{ private String projectName; @ApiModelProperty(name = "nc编码") private String ncCode; + + @ApiModelProperty("业务流水号") + private String businessFlow; + + @ApiModelProperty("业务单号") + private String originalBusinessNum; + + @ApiModelProperty("费用类别") + private String serviceItemsName; + + @ApiModelProperty("一级费用科目") + private String firstSubjectName; + + @ApiModelProperty("二级费用科目") + private String secondSubjectName; + + @ApiModelProperty("业务状态(1-未生效,2-已生效,3-已计费,4-已驳回,5-已作废)") + private Integer businessState; + + @ApiModelProperty("单据类型") + private String documentType; + + @ApiModelProperty("单据类型编码") + private String documentTypeCode; } \ No newline at end of file diff --git a/mhd_bms/src/main/java/com/mhd/bms/interfaces/facadeApi/SettlementCustomersApi.java b/mhd_bms/src/main/java/com/mhd/bms/interfaces/facadeApi/SettlementCustomersApi.java index 0b0e45aec..ed2fa4bbf 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/interfaces/facadeApi/SettlementCustomersApi.java +++ b/mhd_bms/src/main/java/com/mhd/bms/interfaces/facadeApi/SettlementCustomersApi.java @@ -41,9 +41,8 @@ public class SettlementCustomersApi extends BaseController{ @GetMapping("/list") public TableDataInfo list(SettlementCustomersDTO settlementCustomersDTO) { - //转换实体 SettlementCustomersDO settlementCustomersDO = new SettlementCustomersDO(); - BeanUtils.copyProperties(settlementCustomersDTO,settlementCustomersDO); + BeanUtils.copyProperties(settlementCustomersDTO, settlementCustomersDO); startPage(); List list = settlementCustomersApplicationService.queryList(settlementCustomersDO); return getDataTable(list); diff --git a/mhd_bms/src/main/resources/mapper/BillingStatementMapper.xml b/mhd_bms/src/main/resources/mapper/BillingStatementMapper.xml index a476f318f..a7a274c01 100644 --- a/mhd_bms/src/main/resources/mapper/BillingStatementMapper.xml +++ b/mhd_bms/src/main/resources/mapper/BillingStatementMapper.xml @@ -116,9 +116,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND billing_flow like concat('%', #{billingStatementDO.billingFlow}, '%') + + AND business_flow like concat('%', #{billingStatementDO.businessFlow}, '%') + AND settlement_entity like concat('%', #{billingStatementDO.settlementEntity}, '%') + + AND settlement_customers_code like concat('%', #{billingStatementDO.settlementCustomersCode}, '%') + + + AND first_subject_name like concat('%', #{billingStatementDO.firstSubjectName}, '%') + AND( first_subject_name like concat('%', #{billingStatementDO.secondSubjectName}, '%') OR second_subject_name like concat('%', #{billingStatementDO.secondSubjectName}, '%') ) @@ -129,9 +138,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND account_expense_type = #{billingStatementDO.accountExpenseType} - - AND settlement_customers_code = #{billingStatementDO.settlementCustomersCode} - AND belong_module_code = #{billingStatementDO.belongModuleCode} @@ -151,6 +157,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND document_type like concat('%', #{billingStatementDO.documentType}, '%') + + AND document_type_code = #{billingStatementDO.documentTypeCode} + + + AND service_items_code = #{billingStatementDO.serviceItemsCode} + AND original_business_num like concat('%', #{billingStatementDO.originalBusinessNum}, '%') diff --git a/mhd_bms/src/main/resources/mapper/BusinessDocumentMapper.xml b/mhd_bms/src/main/resources/mapper/BusinessDocumentMapper.xml index e38a07668..9c6f2ffcc 100644 --- a/mhd_bms/src/main/resources/mapper/BusinessDocumentMapper.xml +++ b/mhd_bms/src/main/resources/mapper/BusinessDocumentMapper.xml @@ -181,6 +181,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND settlement_entity like concat('%', #{businessDocumentDO.settlementEntity}, '%') + + AND settlement_customers_code like concat('%', #{businessDocumentDO.settlementCustomersCode}, '%') + + + AND service_items_name like concat('%', #{businessDocumentDO.serviceItemsName}, '%') + + + AND service_items_code = #{businessDocumentDO.serviceItemsCode} + + + AND document_type_code = #{businessDocumentDO.documentTypeCode} + and business_document_id in diff --git a/mhd_bms/src/main/resources/mapper/SettlementCustomersMapper.xml b/mhd_bms/src/main/resources/mapper/SettlementCustomersMapper.xml index 01a8a0035..750523150 100644 --- a/mhd_bms/src/main/resources/mapper/SettlementCustomersMapper.xml +++ b/mhd_bms/src/main/resources/mapper/SettlementCustomersMapper.xml @@ -32,71 +32,85 @@ + + + + + + + + + + - - select * from settlement_customers - - - - - - and create_by_name like concat('%', #{createByName}, '%') - - - and update_by_name like concat('%', #{updateByName}, '%') - - - and top_organization_id = #{topOrganizationId} - - - and organization_id = #{organizationId} - - - and organization_name like concat('%', #{organizationName}, '%') - - - and settlement_customers_code = #{settlementCustomersCode} - - - and settlement_entity_id = #{settlementEntityId} - - - and settlement_entity = #{settlementEntity} - - - and settlement_method = #{settlementMethod} - - - and settlement_method_code = #{settlementMethodCode} - - - and settlement_direction = #{settlementDirection} - - - and settlement_direction_code = #{settlementDirectionCode} - - - and bank_name like concat('%', #{bankName}, '%') - - - and bank_card_number = #{bankCardNumber} - - - and bank_binding_name like concat('%', #{bankBindingName}, '%') - - + + + and bd.business_flow like concat('%', #{settlementCustomersDO.businessFlow}, '%') + + + and bd.original_business_num like concat('%', #{settlementCustomersDO.originalBusinessNum}, '%') + + + and bd.service_items_name like concat('%', #{settlementCustomersDO.serviceItemsName}, '%') + + + and bd.first_subject_name like concat('%', #{settlementCustomersDO.firstSubjectName}, '%') + + + and bd.second_subject_name like concat('%', #{settlementCustomersDO.secondSubjectName}, '%') + + + and bd.business_state = #{settlementCustomersDO.businessState} + + + and bd.document_type like concat('%', #{settlementCustomersDO.documentType}, '%') + + + and bd.document_type_code = #{settlementCustomersDO.documentTypeCode} + + select - from reservation_stock_in_order a left join NGWL_TEST_WMS.stock_in_order b on a.in_order_number = b.in_order_number + from reservation_stock_in_order a diff --git a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml index e40c36700..870077d54 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml @@ -355,10 +355,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and (a.BUSINESS_TYPE like concat('%', #{orderTypeName}, '%') or a.ORDER_TYPE_CODE like concat('%', #{orderTypeName}, '%')) - and b.out_order_number is not null + and a.issue_time is not null - and b.out_order_number is null + and a.issue_time is null @@ -391,7 +391,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"