From 08fffb5592ed0c1440ee9d6a8569b62d7612ec41 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 8 Jul 2025 16:36:52 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=E6=9F=A5=E8=AF=A2=E6=BC=8F?= =?UTF-8?q?=E7=BB=84=E6=89=B9=E6=AC=A1=E6=9F=A5=E8=AF=A2=E7=BB=84=E6=89=B9?= =?UTF-8?q?=E6=AC=A1=E5=AE=8C=E6=88=90=E6=97=B6=E5=90=84=E7=BD=91=E7=82=B9?= =?UTF-8?q?=E5=8F=AA=E8=83=BD=E6=9F=A5=E8=AF=A2=E8=87=AA=E5=B7=B1=E7=BD=91?= =?UTF-8?q?=E7=82=B9=E7=9A=84=E8=BF=90=E5=8D=95=20=20=20=20=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E5=95=86=E7=BA=BF=E8=B7=AF=E8=A7=84=E5=88=92=E6=96=B0?= =?UTF-8?q?=E5=A2=9E/=E4=BF=AE=E6=94=B9/=E6=89=B9=E9=87=8F=E6=96=B0?= =?UTF-8?q?=E5=A2=9E/=E6=89=B9=E9=87=8F=E4=BF=AE=E6=94=B9=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E6=AD=BB=E5=BE=AA=E7=8E=AF=E7=9B=B8=E5=85=B3=E7=9A=84?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisQuotePriceServiceImpl.java | 22 ++++- .../impl/EmisTransPlanRuleServiceImpl.java | 86 +++++++++---------- .../mapper/EmisTmsSiteBatchMissMapper.xml | 3 + 3 files changed, 66 insertions(+), 45 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisQuotePriceServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisQuotePriceServiceImpl.java index fbf461894..c5bcfa842 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisQuotePriceServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisQuotePriceServiceImpl.java @@ -12,6 +12,7 @@ package com.xdadan.erp.emis.service.impl; import java.util.Date; import java.util.List; +import java.util.Objects; import cn.hutool.core.collection.CollectionUtil; import com.xdadan.erp.common.utils.DictUtils; @@ -19,6 +20,8 @@ import com.xdadan.erp.emis.domain.*; import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.mapper.*; +import com.xdadan.erp.emis.service.EmisBaseService; +import jodd.util.StringUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -34,7 +37,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; * @date 2024-01-12 08:40:05 */ @Service -public class EmisQuotePriceServiceImpl implements IEmisQuotePriceService +public class EmisQuotePriceServiceImpl extends EmisBaseService implements IEmisQuotePriceService { @Autowired private EmisQuotePriceMapper emisQuotePriceMapper; @@ -414,7 +417,17 @@ public class EmisQuotePriceServiceImpl implements IEmisQuotePriceService emisQuotePrice.setDispAreaSiteCode(dispArea.getAreaSiteCode()); emisQuotePrice.setDispAreaSite(dispArea.getAreaSite()); } -// emisQuotePrice.setQuoteType("1"); + + if ("3".equals(emisQuotePrice.getQuoteType())) { + EmisCustomerUser monthCustomerByName = getMonthCustomerByName(emisQuotePrice.getCustName()); + if (Objects.isNull(monthCustomerByName)) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "未找到对应的客户名称: " + emisQuotePrice.getCustName()); + } + if (StringUtil.isBlank(monthCustomerByName.getCustNo())) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "未找到对应的客户名称: " + emisQuotePrice.getCustName()); + } + emisQuotePrice.setCustNo(monthCustomerByName.getCustNo()); + } } private static void checkDate(EmisQuotePrice emisQuotePrice) throws EmisBizError { @@ -468,5 +481,10 @@ public class EmisQuotePriceServiceImpl implements IEmisQuotePriceService if (emisQuotePrice.getDispAreaName() == null || emisQuotePrice.getDispAreaName().trim().isEmpty()) { throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "派件区域不能为空"); } + if("3".equals(emisQuotePrice.getQuoteType())){ + if (emisQuotePrice.getCustName() == null || emisQuotePrice.getCustName().trim().isEmpty()) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "客户名称不能为空"); + } + } } } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransPlanRuleServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransPlanRuleServiceImpl.java index 47293286f..375b965ed 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransPlanRuleServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransPlanRuleServiceImpl.java @@ -82,12 +82,12 @@ public class EmisTransPlanRuleServiceImpl extends EmisBaseService implements IEm checkDate(emisTransPlanRule); // 检查重复 checkDuplicate(emisTransPlanRule); - // 校验循环引用 - EmisTransPlanRule checkRule = new EmisTransPlanRule(); - checkRule.setProductType(emisTransPlanRule.getProductType()); - List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleListWithoutName(checkRule); - allRules.add(emisTransPlanRule); - buildTree(allRules, emisTransPlanRule); +// // 校验循环引用 +// EmisTransPlanRule checkRule = new EmisTransPlanRule(); +// checkRule.setProductType(emisTransPlanRule.getProductType()); +// List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleListWithoutName(checkRule); +// allRules.add(emisTransPlanRule); +// buildTree(allRules, emisTransPlanRule); return emisTransPlanRuleMapper.insertEmisTransPlanRule(emisTransPlanRule); } @@ -106,14 +106,14 @@ public class EmisTransPlanRuleServiceImpl extends EmisBaseService implements IEm // 检查重复(排除自身) checkDuplicateForUpdate(emisTransPlanRule); - // 校验循环引用 - EmisTransPlanRule checkRule = new EmisTransPlanRule(); - checkRule.setProductType(emisTransPlanRule.getProductType()); - List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleListWithoutName(checkRule); - // 移除当前要修改的规则,避免自己与自己比较 - allRules.removeIf(rule -> rule.getId().equals(emisTransPlanRule.getId())); - allRules.add(emisTransPlanRule); - buildTree(allRules, emisTransPlanRule); +// // 校验循环引用 +// EmisTransPlanRule checkRule = new EmisTransPlanRule(); +// checkRule.setProductType(emisTransPlanRule.getProductType()); +// List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleListWithoutName(checkRule); +// // 移除当前要修改的规则,避免自己与自己比较 +// allRules.removeIf(rule -> rule.getId().equals(emisTransPlanRule.getId())); +// allRules.add(emisTransPlanRule); +// buildTree(allRules, emisTransPlanRule); return emisTransPlanRuleMapper.updateEmisTransPlanRule(emisTransPlanRule); } @@ -179,12 +179,12 @@ public class EmisTransPlanRuleServiceImpl extends EmisBaseService implements IEm // 检查重复 checkDuplicate(emisTransPlanRule); - // 校验循环引用 - EmisTransPlanRule checkRule = new EmisTransPlanRule(); - checkRule.setProductType(emisTransPlanRule.getProductType()); - List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleListWithoutName(checkRule); - allRules.add(emisTransPlanRule); - buildTree(allRules, emisTransPlanRule); +// // 校验循环引用 +// EmisTransPlanRule checkRule = new EmisTransPlanRule(); +// checkRule.setProductType(emisTransPlanRule.getProductType()); +// List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleListWithoutName(checkRule); +// allRules.add(emisTransPlanRule); +// buildTree(allRules, emisTransPlanRule); return emisTransPlanRuleMapper.insertEmisTransPlanRule(emisTransPlanRule); } @@ -253,12 +253,12 @@ public class EmisTransPlanRuleServiceImpl extends EmisBaseService implements IEm throw new EmisBizError(EmisBizErrorType.EXISTS, "已存在相同的规则配置"); } - // 检查反向规则(下一网点到起始网点) - List existingRules1 = checkDuplicateDirection(emisTransPlanRule, - emisTransPlanRule.getNextSiteCode(), emisTransPlanRule.getStartSiteCode()); - if (existingRules1 != null && !existingRules1.isEmpty()) { - throw new EmisBizError(EmisBizErrorType.EXISTS, "已存在相同的规则配置"); - } +// // 检查反向规则(下一网点到起始网点) +// List existingRules1 = checkDuplicateDirection(emisTransPlanRule, +// emisTransPlanRule.getNextSiteCode(), emisTransPlanRule.getStartSiteCode()); +// if (existingRules1 != null && !existingRules1.isEmpty()) { +// throw new EmisBizError(EmisBizErrorType.EXISTS, "已存在相同的规则配置"); +// } } private List checkDuplicateDirection(EmisTransPlanRule emisTransPlanRule, @@ -431,13 +431,13 @@ public class EmisTransPlanRuleServiceImpl extends EmisBaseService implements IEm checkCode(mergedRule); checkDate(mergedRule); checkDuplicateForUpdate(mergedRule); - EmisTransPlanRule checkRule = new EmisTransPlanRule(); - checkRule.setProductType(mergedRule.getProductType()); - List allRules = emisTransPlanRuleMapper - .selectEmisTransPlanRuleListWithoutName(checkRule); - allRules.removeIf(rule -> rule.getId().equals(mergedRule.getId())); - allRules.add(mergedRule); - buildTree(allRules, mergedRule); +// EmisTransPlanRule checkRule = new EmisTransPlanRule(); +// checkRule.setProductType(mergedRule.getProductType()); +// List allRules = emisTransPlanRuleMapper +// .selectEmisTransPlanRuleListWithoutName(checkRule); +// allRules.removeIf(rule -> rule.getId().equals(mergedRule.getId())); +// allRules.add(mergedRule); +// buildTree(allRules, mergedRule); // 4. 只更新前端传递的字段 int result = emisTransPlanRuleMapper.updateEmisTransPlanRule(inputRule); if (result > 0) { @@ -467,16 +467,16 @@ public class EmisTransPlanRuleServiceImpl extends EmisBaseService implements IEm throw new EmisBizError(EmisBizErrorType.EXISTS, msg); } - // 检查反向规则(下一网点到起始网点) - List existingRules1 = checkDuplicateDirectionForUpdate(emisTransPlanRule, - emisTransPlanRule.getNextSiteCode(), emisTransPlanRule.getStartSiteCode()); - if (existingRules1 != null && !existingRules1.isEmpty()) { - EmisTransPlanRule rule = existingRules1.get(0); - String msg = String.format("已存在相同的规则配置,重复规则信息:线路名称[%s],产品类型[%s],起始网点[%s],下一网点[%s],供应商[%s]", - rule.getLineName(), rule.getProductTypeName(), rule.getStartSiteName(), rule.getNextSiteName(), - rule.getSupplierName()); - throw new EmisBizError(EmisBizErrorType.EXISTS, msg); - } +// // 检查反向规则(下一网点到起始网点) +// List existingRules1 = checkDuplicateDirectionForUpdate(emisTransPlanRule, +// emisTransPlanRule.getNextSiteCode(), emisTransPlanRule.getStartSiteCode()); +// if (existingRules1 != null && !existingRules1.isEmpty()) { +// EmisTransPlanRule rule = existingRules1.get(0); +// String msg = String.format("已存在相同的规则配置,重复规则信息:线路名称[%s],产品类型[%s],起始网点[%s],下一网点[%s],供应商[%s]", +// rule.getLineName(), rule.getProductTypeName(), rule.getStartSiteName(), rule.getNextSiteName(), +// rule.getSupplierName()); +// throw new EmisBizError(EmisBizErrorType.EXISTS, msg); +// } } /** diff --git a/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml index 563332b62..9ed1ec085 100644 --- a/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml @@ -201,6 +201,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and w.send_date #{params.endSendDate} + + and w.send_site_code=#{params.privSiteCode} + order by w.bill_code desc