From 17d620923981f8f5e4e07110d9763e71c23277d1 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, 27 Feb 2026 14:08:40 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=BC=80=E5=8F=91=E7=A5=A8=E7=BB=99?= =?UTF-8?q?=E5=AF=B9=E8=B4=A6=E5=8D=95=E8=B5=8B=E5=80=BC=E5=8F=91=E7=A5=A8?= =?UTF-8?q?id=E5=8F=8A=E7=BC=96=E5=8F=B7;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/persistence/BmsInvoiceListServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/bmsInvoiceList/repository/persistence/BmsInvoiceListServiceImpl.java b/mhd_bms/src/main/java/com/mhd/bms/domain/bmsInvoiceList/repository/persistence/BmsInvoiceListServiceImpl.java index 71282f12d..1f88bd48c 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/bmsInvoiceList/repository/persistence/BmsInvoiceListServiceImpl.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/bmsInvoiceList/repository/persistence/BmsInvoiceListServiceImpl.java @@ -162,6 +162,7 @@ public class BmsInvoiceListServiceImpl extends ServiceImpl 0) { for (BillManage billManage : billManages) { billManage.setIsInvoice(2); + billManage.setInvoiceId(bmsInvoiceList.getId().toString()); + billManage.setApplyNumber(bmsInvoiceList.getApplyNumber()); billManageMapper.updateById(billManage); } } From 1738f12bdd3f0c4b76a71b86ae78721e0c0be74a 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, 27 Feb 2026 14:23:59 +0800 Subject: [PATCH 2/5] =?UTF-8?q?jeecg=E5=88=A4=E7=A9=BA=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E5=8E=BB=E9=99=A4;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/BmsInvoiceInfoMapper.xml | 6 +++--- .../src/main/resources/mapper/BmsInvoiceListMapper.xml | 10 +++++----- .../resources/mapper/inventory/InventoryMapper.xml | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/mhd_bms/src/main/resources/mapper/BmsInvoiceInfoMapper.xml b/mhd_bms/src/main/resources/mapper/BmsInvoiceInfoMapper.xml index 1e12d8390..1811f8b19 100644 --- a/mhd_bms/src/main/resources/mapper/BmsInvoiceInfoMapper.xml +++ b/mhd_bms/src/main/resources/mapper/BmsInvoiceInfoMapper.xml @@ -14,13 +14,13 @@ and a.id = #{tmsInvoiceInfoDTO.id} and instr(a.id ,#{tmsInvoiceInfoDTO.id}) > 0 and a.create_by = #{tmsInvoiceInfoDTO.createBy} - + and a.invoice_title LIKE CONCAT('%',#{tmsInvoiceInfoDTO.invoiceTitle},'%') - + and a.tax_reg_account LIKE CONCAT('%',#{tmsInvoiceInfoDTO.taxRegAccount},'%') - + and a.create_by_name LIKE CONCAT('%',#{tmsInvoiceInfoDTO.createByName},'%') diff --git a/mhd_bms/src/main/resources/mapper/BmsInvoiceListMapper.xml b/mhd_bms/src/main/resources/mapper/BmsInvoiceListMapper.xml index 97c87bbd0..7e97e7332 100644 --- a/mhd_bms/src/main/resources/mapper/BmsInvoiceListMapper.xml +++ b/mhd_bms/src/main/resources/mapper/BmsInvoiceListMapper.xml @@ -48,19 +48,19 @@ and a.sys_org_code = #{bmsInvoiceListQueryDTO.sysOrgCode} - + and a.apply_number LIKE CONCAT('%',#{bmsInvoiceListQueryDTO.applyNumber},'%') - + and a.shipper_name LIKE CONCAT('%',#{bmsInvoiceListQueryDTO.shipperName},'%') - + and a.shipper_id = #{bmsInvoiceListQueryDTO.shipperId} - + and a.company_name LIKE CONCAT('%',#{bmsInvoiceListQueryDTO.companyName},'%') - + and a.invoice_title LIKE CONCAT('%',#{bmsInvoiceListQueryDTO.invoiceTitle},'%') diff --git a/mhd_transport/src/main/resources/mapper/inventory/InventoryMapper.xml b/mhd_transport/src/main/resources/mapper/inventory/InventoryMapper.xml index f2073d406..9b199f4f8 100644 --- a/mhd_transport/src/main/resources/mapper/inventory/InventoryMapper.xml +++ b/mhd_transport/src/main/resources/mapper/inventory/InventoryMapper.xml @@ -80,7 +80,7 @@ AND m.code_managed = #{query.codeManaged} - + and DATE_FORMAT(i.created_at,'%Y-%m-%d') =]]> DATE_FORMAT(#{query.createdAtStart},'%Y-%m-%d') and DATE_FORMAT(i.created_at,'%Y-%m-%d') DATE_FORMAT(#{query.createdAtEnd},'%Y-%m-%d') @@ -118,4 +118,4 @@ ORDER BY i.updated_at DESC - + \ No newline at end of file From 16b0eaf50a8425a7df17608cc89c4f932e66a5f2 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, 27 Feb 2026 14:27:02 +0800 Subject: [PATCH 3/5] =?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 --- mhd_bms/src/main/resources/mapper/BmsInvoiceListMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_bms/src/main/resources/mapper/BmsInvoiceListMapper.xml b/mhd_bms/src/main/resources/mapper/BmsInvoiceListMapper.xml index 7e97e7332..8dfe34756 100644 --- a/mhd_bms/src/main/resources/mapper/BmsInvoiceListMapper.xml +++ b/mhd_bms/src/main/resources/mapper/BmsInvoiceListMapper.xml @@ -6,7 +6,7 @@ FROM bms_invoice_list a - LEFT JOIN bms_waybill_invoiced b ON a.id = b.invoice_list_id + where a.is_delete = 0 group by a.id From 1e8b71fbea8e82d63162fe04098d38ed866003ba 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, 27 Feb 2026 14:50:13 +0800 Subject: [PATCH 4/5] =?UTF-8?q?BMS=E5=90=88=E5=90=8C=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=94=9F=E6=95=88=E7=8A=B6=E6=80=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ContractManageApplicationService.java | 32 ++++++++++++++++--- .../mapper/basic/ContractManageMapper.xml | 6 ++-- 2 files changed, 31 insertions(+), 7 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 a855cffd9..091a772e5 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 @@ -164,11 +164,25 @@ public class ContractManageApplicationService { * 处理数据 */ private void handleData(ContractManageDO contractManageDO) { - //根据合同生效时间判断合同是否生效 - if (DateUtil.compare(contractManageDO.getEffectiveDate(), new Date()) > 0) { - contractManageDO.setContractState(2); - } else { - contractManageDO.setContractState(1); + // 如果前端未传合同状态,则根据生效/到期时间自动计算; + // 如果前端已经传了 contractState,则尊重前端值 + if (contractManageDO.getContractState() == null) { + // 合同状态(1-未生效,2-使用中,3-已过期,4-已作废) + Date now = DateUtil.beginOfDay(new Date()); + Date effectiveDate = contractManageDO.getEffectiveDate(); + Date expirationDate = contractManageDO.getExpirationDate(); + if (effectiveDate != null && expirationDate != null) { + if (DateUtil.compare(now, effectiveDate) < 0) { + // 当前时间早于生效日期:未生效 + contractManageDO.setContractState(1); + } else if (DateUtil.compare(now, expirationDate) > 0) { + // 当前时间晚于到期日期:已过期 + contractManageDO.setContractState(3); + } else { + // 生效日期 <= 当前时间 <= 到期日期:使用中 + contractManageDO.setContractState(2); + } + } } if(StringUtils.isNotEmpty(contractManageDO.getSettlementCustomersCode())){ AjaxResult ajaxResult = bmsServiceFeign.getCustomersInfoByCode(contractManageDO.getSettlementCustomersCode()); @@ -190,11 +204,19 @@ public class ContractManageApplicationService { * @param contractManageDO */ private void checkContract(ContractManageDO contractManageDO) { + // 通用/特殊合同的唯一性应在“同一组织”内生效,不同组织之间互不影响 + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (ObjectUtil.isNull(loginUser) || loginUser.getUserPo() == null) { + throw new DigitalLogisticsException(UserError.TIMEOUT); + } ContractManageDO commonQueryParam = new ContractManageDO(); commonQueryParam.setContractType(contractManageDO.getContractType()); commonQueryParam.setSettlementCustomersCode(contractManageDO.getSettlementCustomersCode()); commonQueryParam.setEffectiveDateString(DateUtil.format(contractManageDO.getEffectiveDate(),"yyyy-MM-dd")); commonQueryParam.setExpirationDateString(DateUtil.format(contractManageDO.getExpirationDate(),"yyyy-MM-dd")); + // 按当前登录人的组织维度进行唯一性校验:不同组织下的通用/特殊合同互不影响 + commonQueryParam.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + commonQueryParam.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); //通用合同 if(contractManageDO.getCommonContractFlag()==1){ commonQueryParam.setCommonContractFlag(1); diff --git a/mhd-modules/mhd-system/src/main/resources/mapper/basic/ContractManageMapper.xml b/mhd-modules/mhd-system/src/main/resources/mapper/basic/ContractManageMapper.xml index 14d09a526..76d2a0d1d 100644 --- a/mhd-modules/mhd-system/src/main/resources/mapper/basic/ContractManageMapper.xml +++ b/mhd-modules/mhd-system/src/main/resources/mapper/basic/ContractManageMapper.xml @@ -178,11 +178,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND date_format(expiration_date,'%Y-%m-%d') #{contractManageDO.expirationDateEnd} + AND ( - date_format(effective_date,'%Y-%m-%d') =]]> #{contractManageDO.effectiveDateString} - OR date_format(expiration_date,'%Y-%m-%d') #{contractManageDO.expirationDateString} + date_format(effective_date,'%Y-%m-%d') #{contractManageDO.expirationDateString} + AND date_format(expiration_date,'%Y-%m-%d') =]]> #{contractManageDO.effectiveDateString} ) From 7d9f215d4e3f04fc664579d495a8982bf84623d1 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, 27 Feb 2026 15:21:29 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=88=86=E9=85=8D=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=9C=AC=E6=AC=A1=E5=88=86=E9=85=8D=E6=95=B0=E9=87=8F;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockOutOrderApplicationService.java | 4 ++++ .../outMaterialDetail/entity/OutMaterialDetail.java | 5 +++++ .../repository/persistence/OutMaterialDetailImpl.java | 11 +++++------ .../repository/po/OutMaterialDetailPO.java | 5 +++++ .../repository/todo/OutMaterialDetailDO.java | 7 +++++++ 5 files changed, 26 insertions(+), 6 deletions(-) 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 7144d5d33..7b14e15b6 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 @@ -815,6 +815,10 @@ public class StockOutOrderApplicationService { //未进行分配直接跳过 continue; } + BigDecimal alreadyAllocationQuantity = outMaterialDetailDO.getAlreadyAllocationQuantity(); + BigDecimal allocationQuantity = outMaterialDetailDO.getAllocationQuantity(); + BigDecimal nowAllocationQuantity = allocationQuantity.subtract(alreadyAllocationQuantity); + outMaterialDetailDO.setNowAllocationQuantity(nowAllocationQuantity); BigDecimal totalAllocationQuantity = BigDecimal.ZERO;//当前作业分配数量 //判断收否分配 第一次分配 修改分配数量 // if (outMaterialDetailPO.getAllocationQuantity().compareTo(BigDecimal.ZERO) == 0){ diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/entity/OutMaterialDetail.java b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/entity/OutMaterialDetail.java index 2e62c68fa..e3b250160 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/entity/OutMaterialDetail.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/entity/OutMaterialDetail.java @@ -73,6 +73,11 @@ public class OutMaterialDetail extends BaseVOEntity { @Excel(name = "已分配数量") private BigDecimal alreadyAllocationQuantity; + @ApiModelProperty("本次分配数量") + @Excel(name = "本次分配数量") + @TableField(exist = false) + private BigDecimal nowAllocationQuantity; + @ApiModelProperty("分配数量") @Excel(name = "分配数量") private BigDecimal allocationQuantity; 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 c04941607..705b85016 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 @@ -418,15 +418,14 @@ public class OutMaterialDetailImpl extends ServiceImpl outMaterialDetailList,String outOrderNumber,LoginUser loginUser) { StockOutOrder stockOutOrder = stockOutOrderMapper.selectOne(new QueryWrapper().lambda().eq(StockOutOrder::getOutOrderNumber, outOrderNumber)); for (OutMaterialDetail outMaterialDetail : outMaterialDetailList) { - Long materialDetailId = outMaterialDetail.getMaterialDetailId(); - OutMaterialDetail isAllocatedDetail = outMaterialDetailMapper.selectById(materialDetailId); - String isAllocated = isAllocatedDetail.getIsAllocated(); - // 如果已经分配过,则跳过本次循环(该明细已分配过,不再重复处理) - if (isAllocated != null && "1".equals(isAllocated)) { + BigDecimal nowAllocationQuantity = outMaterialDetail.getNowAllocationQuantity(); + if (nowAllocationQuantity == null && nowAllocationQuantity.compareTo(BigDecimal.ZERO) <= 0) { continue; } Long materialInventoryId = outMaterialDetail.getMaterialInventoryId(); - BigDecimal allocationQuantity = outMaterialDetail.getAllocationQuantity(); + + //分配数量为本次分配数量 + BigDecimal allocationQuantity = outMaterialDetail.getNowAllocationQuantity(); if (ObjectUtils.isEmpty(allocationQuantity)) { allocationQuantity = BigDecimal.ZERO; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailPO.java index 932903cf6..dae5b327e 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailPO.java @@ -80,6 +80,11 @@ public class OutMaterialDetailPO extends StockOutOrderBaseDO { @Excel(name = "分配数量") private BigDecimal allocationQuantity; + @ApiModelProperty("本次分配数量") + @Excel(name = "本次分配数量") + @TableField(exist = false) + private BigDecimal nowAllocationQuantity; + @ApiModelProperty("拣货数量") @Excel(name = "拣货数量") private BigDecimal pickingQuantity; diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/todo/OutMaterialDetailDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/todo/OutMaterialDetailDO.java index 2b17ee536..a4d1eaee0 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/todo/OutMaterialDetailDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/todo/OutMaterialDetailDO.java @@ -1,5 +1,6 @@ package com.mhd.wms.domain.outMaterialDetail.repository.todo; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; @@ -70,6 +71,12 @@ public class OutMaterialDetailDO extends BaseVOEntity { @Excel(name = "已分配数量") private BigDecimal alreadyAllocationQuantity; + + @ApiModelProperty("本次分配数量") + @Excel(name = "本次分配数量") + @TableField(exist = false) + private BigDecimal nowAllocationQuantity; + @ApiModelProperty("分配数量") @Excel(name = "分配数量") private BigDecimal allocationQuantity;