Commit a91dca3e97d59b4628d6941d552efd6e652a1735

Authored by yeqianyong
1 parent 9d9b9124

楚江erp:客户池导入增加名称重复校验逻辑

@@ -25,7 +25,8 @@ import lombok.extern.slf4j.Slf4j; @@ -25,7 +25,8 @@ import lombok.extern.slf4j.Slf4j;
25 @Slf4j 25 @Slf4j
26 public class CustomerImportListener extends ExcelImportListener<CustomerImportModel> { 26 public class CustomerImportListener extends ExcelImportListener<CustomerImportModel> {
27 27
28 - private List<String> checkList = new ArrayList<>(); 28 + private final List<String> checkCodeList = new ArrayList<>();
  29 + private final List<String> checkNameList = new ArrayList<>();
29 30
30 @Override 31 @Override
31 protected void doInvoke(CustomerImportModel data, AnalysisContext context) { 32 protected void doInvoke(CustomerImportModel data, AnalysisContext context) {
@@ -38,11 +39,11 @@ public class CustomerImportListener extends ExcelImportListener<CustomerImportMo @@ -38,11 +39,11 @@ public class CustomerImportListener extends ExcelImportListener<CustomerImportMo
38 "第" + context.readRowHolder().getRowIndex() 39 "第" + context.readRowHolder().getRowIndex()
39 + "行“编号”必须由字母、数字、“-_.”组成,长度不能超过20位"); 40 + "行“编号”必须由字母、数字、“-_.”组成,长度不能超过20位");
40 } 41 }
41 - if (checkList.contains(data.getCode())) { 42 + if (checkCodeList.contains(data.getCode())) {
42 throw new DefaultClientException( 43 throw new DefaultClientException(
43 - "第" + context.readRowHolder().getRowIndex() + "行“编号”与第" + (checkList.indexOf(data.getCode()) + 1) + "行重复"); 44 + "第" + context.readRowHolder().getRowIndex() + "行“编号”与第" + (checkCodeList.indexOf(data.getCode()) + 1) + "行重复");
44 } 45 }
45 - checkList.add(data.getCode()); 46 + checkCodeList.add(data.getCode());
46 Wrapper<Customer> checkWrapper = Wrappers.lambdaQuery(Customer.class) 47 Wrapper<Customer> checkWrapper = Wrappers.lambdaQuery(Customer.class)
47 .eq(Customer::getCode, data.getCode()); 48 .eq(Customer::getCode, data.getCode());
48 CustomerService customerService = ApplicationUtil.getBean(CustomerService.class); 49 CustomerService customerService = ApplicationUtil.getBean(CustomerService.class);
@@ -54,6 +55,17 @@ public class CustomerImportListener extends ExcelImportListener<CustomerImportMo @@ -54,6 +55,17 @@ public class CustomerImportListener extends ExcelImportListener<CustomerImportMo
54 throw new DefaultClientException( 55 throw new DefaultClientException(
55 "第" + context.readRowHolder().getRowIndex() + "行“名称”不能为空"); 56 "第" + context.readRowHolder().getRowIndex() + "行“名称”不能为空");
56 } 57 }
  58 + if (checkNameList.contains(data.getName())) {
  59 + throw new DefaultClientException(
  60 + "第" + context.readRowHolder().getRowIndex() + "行“名称”与第" + (checkNameList.indexOf(data.getName()) + 1) + "行重复");
  61 + }
  62 + checkNameList.add(data.getName());
  63 + checkWrapper = Wrappers.lambdaQuery(Customer.class)
  64 + .eq(Customer::getName, data.getName());
  65 + if (customerService.count(checkWrapper) > 0) {
  66 + throw new DefaultClientException(
  67 + "第" + context.readRowHolder().getRowIndex() + "行“名称”已存在");
  68 + }
57 // if (StringUtil.isBlank(data.getMnemonicCode())) { 69 // if (StringUtil.isBlank(data.getMnemonicCode())) {
58 // throw new DefaultClientException( 70 // throw new DefaultClientException(
59 // "第" + context.readRowHolder().getRowIndex() + "行“简码”不能为空"); 71 // "第" + context.readRowHolder().getRowIndex() + "行“简码”不能为空");