From 8c5606eac11924438008673f50802f2709d4b340 Mon Sep 17 00:00:00 2001 From: Yangk Date: Tue, 17 Mar 2026 15:04:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(oa/erp):=20=E4=BF=AE=E5=A4=8D=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=8F=B0=E8=B4=A6=E6=8A=A5=E8=A1=A8=E5=90=88=E5=90=8C?= =?UTF-8?q?=E5=85=B3=E8=81=94=E6=9F=A5=E8=AF=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/oa/crm/domain/CrmShippingTariff.java | 2 +- .../impl/CrmShippingTariffServiceImpl.java | 16 +++++++++------- .../mapper/oa/erp/ProjectLedgerReportMapper.xml | 10 +++++++--- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/domain/CrmShippingTariff.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/domain/CrmShippingTariff.java index 994066ae..2e798677 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/domain/CrmShippingTariff.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/domain/CrmShippingTariff.java @@ -14,7 +14,7 @@ import java.math.BigDecimal; /** * 邮寄资费最优方案对象 crm_shipping_tariff * - * @author hm + * @author yangk * @date 2026-03-16 */ @Data diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmShippingTariffServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmShippingTariffServiceImpl.java index 879479b1..028327bf 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmShippingTariffServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmShippingTariffServiceImpl.java @@ -27,7 +27,7 @@ import java.util.List; /** * 邮寄资费最优方案Service业务层处理 * - * @author hm + * @author yangk * @date 2026-03-16 */ @RequiredArgsConstructor @@ -58,7 +58,8 @@ public class CrmShippingTariffServiceImpl implements ICrmShippingTariffService { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.like(StringUtils.isNotBlank(bo.getProvince()), CrmShippingTariff::getProvince, bo.getProvince()); lqw.eq(bo.getWeightKg() != null, CrmShippingTariff::getWeightKg, bo.getWeightKg()); - lqw.like(StringUtils.isNotBlank(bo.getSolutionName()), CrmShippingTariff::getSolutionName, bo.getSolutionName()); + lqw.like(StringUtils.isNotBlank(bo.getSolutionName()), CrmShippingTariff::getSolutionName, + bo.getSolutionName()); lqw.orderByAsc(CrmShippingTariff::getProvince).orderByAsc(CrmShippingTariff::getWeightKg); return lqw; } @@ -99,7 +100,7 @@ public class CrmShippingTariffServiceImpl implements ICrmShippingTariffService { // 判断是否存在同省份同公斤级的数据 LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.eq(CrmShippingTariff::getProvince, bo.getProvince()) - .eq(CrmShippingTariff::getWeightKg, bo.getWeightKg()); + .eq(CrmShippingTariff::getWeightKg, bo.getWeightKg()); CrmShippingTariff exist = baseMapper.selectOne(lqw); if (ObjectUtil.isNull(exist)) { @@ -111,7 +112,8 @@ public class CrmShippingTariffServiceImpl implements ICrmShippingTariffService { successNum++; } else { failureNum++; - failureMsg.append("
").append(failureNum).append("、记录 ").append(bo.getProvince()).append("-").append(bo.getWeightKg()).append(" 已存在"); + failureMsg.append("
").append(failureNum).append("、记录 ").append(bo.getProvince()).append("-") + .append(bo.getWeightKg()).append(" 已存在"); } } catch (Exception e) { failureNum++; @@ -138,10 +140,10 @@ public class CrmShippingTariffServiceImpl implements ICrmShippingTariffService { int targetWeightKg = weight.setScale(0, RoundingMode.UP).intValue(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - // 精确匹配省份,如果有需要也可以做前缀匹配(如"北京" -> "北京市"),为了严谨最好先用 like 进行容错 + // 精确匹配省份,如果有需要也可以做前缀匹配(如"北京" -> "北京市") lqw.like(CrmShippingTariff::getProvince, province) - .eq(CrmShippingTariff::getWeightKg, targetWeightKg) - .last("LIMIT 1"); + .eq(CrmShippingTariff::getWeightKg, targetWeightKg) + .last("LIMIT 1"); return baseMapper.selectVoOne(lqw); } diff --git a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ProjectLedgerReportMapper.xml b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ProjectLedgerReportMapper.xml index eb43a59d..1db3dd5d 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ProjectLedgerReportMapper.xml +++ b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ProjectLedgerReportMapper.xml @@ -12,7 +12,7 @@ p.project_category, p.project_status, p.payment_method, - p.contract_id, + c.contract_id, u1.nick_name AS manager_name, d.dept_name, CONCAT(t2.type_name, '/', t1.type_name) AS type_name, @@ -86,7 +86,11 @@ LEFT JOIN sys_dept d ON d.dept_id = p.dept_id LEFT JOIN sys_user u1 ON u1.user_id = p.manager_id - LEFT JOIN erp_contract_info c ON p.contract_id = c.contract_id AND c.del_flag = '0' + LEFT JOIN erp_contract_info c ON c.contract_id = ( + SELECT contract_id FROM erp_project_contracts + WHERE project_id = p.project_id AND del_flag = '0' + ORDER BY sort_order ASC LIMIT 1 + ) AND c.del_flag = '0' LEFT JOIN crm_customer_info cust ON c.one_customer_id = cust.customer_id AND cust.del_flag = '0' LEFT JOIN sys_user u2 ON c.contract_manager_id = u2.user_id @@ -112,7 +116,7 @@ FROM erp_contract_material WHERE del_flag = '0' GROUP BY contract_id - ) mat_sub ON p.contract_id = mat_sub.contract_id + ) mat_sub ON c.contract_id = mat_sub.contract_id LEFT JOIN ( SELECT