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