Commit 9559ed67932bdd13a1dc83a64c2df6eb7c9f3952

Authored by yeqianyong
1 parent 7ae6449a

楚江ERP-客户开发-新增/修改时防止客户名称重复

... ... @@ -4,13 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
5 5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
6 6 import com.github.pagehelper.PageInfo;
7   -import com.lframework.starter.bpm.dto.FlowTaskDto;
8   -import com.lframework.starter.bpm.mappers.FlowTaskWrapperMapper;
9 7 import com.lframework.starter.bpm.service.FlowInstanceWrapperService;
10 8 import com.lframework.starter.bpm.service.FlowTaskWrapperService;
11   -import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo;
12 9 import com.lframework.starter.web.core.components.security.SecurityUtil;
13 10 import com.lframework.starter.web.core.utils.*;
  11 +import com.lframework.xingyun.basedata.service.customer.CustomerService;
14 12 import com.lframework.xingyun.sc.bo.customer.develop.CustomerDevelopPlanStatisticsBo;
15 13 import com.lframework.xingyun.sc.entity.CustomerDevelopPlan;
16 14 import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
... ... @@ -37,7 +35,6 @@ import org.springframework.stereotype.Service;
37 35 import javax.annotation.Resource;
38 36 import java.util.ArrayList;
39 37 import java.util.List;
40   -import java.util.stream.Collectors;
41 38
42 39
43 40 @Service
... ... @@ -49,8 +46,6 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe
49 46
50 47
51 48 @Resource
52   - private FlowTaskWrapperMapper flowTaskWrapperMapper;
53   - @Resource
54 49 private FlowInstanceWrapperService flowInstanceWrapperService;
55 50 @Resource
56 51 private FlowTaskWrapperService flowTaskWrapperService;
... ... @@ -140,7 +135,13 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe
140 135 data.setId(id);
141 136 // 审核中
142 137 data.setStatus(CustomerDevelopStatus.AUDIT);
143   - data.setCustomerId(vo.getCustomerId());
  138 + String customerId = vo.getCustomerId();
  139 + // 检查客户是否已存在
  140 + List<CustomerDevelopPlan> planList = listByCustomerId(customerId);
  141 + if (CollectionUtils.isNotEmpty(planList)) {
  142 + throw new DefaultClientException("当前客户名称已存在,请勿重复添加!");
  143 + }
  144 + data.setCustomerId(customerId);
144 145 if (!StringUtil.isBlank(vo.getCustomerType())) {
145 146 data.setCustomerType(vo.getCustomerType());
146 147 }
... ... @@ -210,6 +211,15 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe
210 211 if (!CustomerDevelopStatus.REFUSE.equals(status)) {
211 212 throw new DefaultClientException("仅驳回状态下可编辑!");
212 213 }
  214 + // 检查客户名称是否重复
  215 + List<CustomerDevelopPlan> planList = listByCustomerId(vo.getCustomerId());
  216 + if (CollectionUtils.isNotEmpty(planList)) {
  217 + for (CustomerDevelopPlan plan : planList) {
  218 + if (!vo.getId().equals(plan.getId())) {
  219 + throw new DefaultClientException("当前客户名称已存在,请勿重复添加!");
  220 + }
  221 + }
  222 + }
213 223 // 重新发起流程
214 224 Instance instance = flowInstanceWrapperService.startInstance("CUSTOMER_DEVELOP", vo.getId(), BPM_FLAG, data);
215 225
... ... @@ -298,4 +308,22 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe
298 308
299 309 return statisticsBo;
300 310 }
  311 +
  312 + /**
  313 + * 根据客户ID获取有效的开发计划
  314 + *
  315 + * @param customerId 客户ID
  316 + * @return List<CustomerDevelopPlan>
  317 + */
  318 + @Override
  319 + public List<CustomerDevelopPlan> listByCustomerId(String customerId) {
  320 + if (StringUtils.isBlank(customerId)) {
  321 + return new ArrayList<>();
  322 + }
  323 + LambdaQueryWrapper<CustomerDevelopPlan> queryWrapper = Wrappers.lambdaQuery(CustomerDevelopPlan.class);
  324 + queryWrapper.eq(CustomerDevelopPlan::getCustomerId, customerId)
  325 + .ne(CustomerDevelopPlan::getStatus, CustomerDevelopStatus.CANCEL.getCode());
  326 +
  327 + return getBaseMapper().selectList(queryWrapper);
  328 + }
301 329 }
... ...
... ... @@ -84,4 +84,12 @@ public interface CustomerDevelopPlanService extends BaseMpService<CustomerDevelo
84 84 * @return CustomerDevelopPlanStatisticsBo
85 85 */
86 86 CustomerDevelopPlanStatisticsBo todoTypeStatistics(QueryCustomerDevelopPlanVo vo);
  87 +
  88 + /**
  89 + * 根据客户ID获取有效的开发计划
  90 + *
  91 + * @param customerId 客户ID
  92 + * @return List<CustomerDevelopPlan>
  93 + */
  94 + List<CustomerDevelopPlan> listByCustomerId(String customerId);
87 95 }
... ...