Browse Source

data_master_customer优化

yousongbo 2 tuần trước cách đây
mục cha
commit
171c725696

+ 8 - 0
suishenbang-system/src/main/java/com/dgtly/system/domain/DataMasterCustomerVO.java

@@ -10,4 +10,12 @@ public class DataMasterCustomerVO implements Serializable {
     private String CustomerCode;
 
     private String CustomerName;
+
+    private String CustomerTypeCode5;
+
+    private String CustomerTypeCode1;
+
+    private String IsBMDCustomer;
+
+    private String salesGroupName;
 }

+ 16 - 1
suishenbang-system/src/main/java/com/dgtly/system/service/impl/SysUserOrderAuthorServiceImpl.java

@@ -65,6 +65,9 @@ public class SysUserOrderAuthorServiceImpl implements ISysUserOrderAuthorService
     @Autowired
     private SysBatchSignForMapper sysBatchSignForMapper;
 
+    @Autowired
+    private SysDictDataMapper sysDictDataMapper;
+
 
     @Autowired
     private CustomerMapper customersMapper;
@@ -873,7 +876,19 @@ public class SysUserOrderAuthorServiceImpl implements ISysUserOrderAuthorService
      */
     @Override
     public void customersStart() {
-        List<DataMasterCustomerVO> customerVOS = customersMapper.selectCustomerCodeByNotStart();
+        List<DataMasterCustomerVO> customerVOSOld = customersMapper.selectCustomerCodeByNotStart();
+        //AND (CustomerTypeCode5 = 'SSB'
+        // or (CustomerTypeCode1='D01' and IsBMDCustomer='否')
+        // or (CustomerTypeCode1='D06'))
+        List<DataMasterCustomerVO> customerVOS = new ArrayList<>();
+        List<SysDictData>  sysDictData = sysDictDataMapper.selectDictDataByType("sys_system_bmd_name");
+        log.info("获取非bmd的机构数量:{}", sysDictData.size());
+        List<String> subOfficeName = sysDictData.stream().map(SysDictData::getDictLabel).collect(Collectors.toList());
+        for (DataMasterCustomerVO customerVO : customerVOSOld){
+            if (subOfficeName.contains(customerVO.getSalesGroupName()) || "SSB".equals(customerVO.getCustomerTypeCode5()) || ("D01".equals(customerVO.getCustomerTypeCode1()) && "否".equals(customerVO.getIsBMDCustomer())) || "D01".equals(customerVO.getCustomerTypeCode1())){
+                customerVOS.add(customerVO);
+            }
+        }
         if(customerVOS !=null && customerVOS.size()>0){
             log.info("开始执行经销商自动上线");
             log.info("待上线经销商:{}", JSON.toJSON(customerVOS));

+ 6 - 4
suishenbang-system/src/main/resources/mapper/system/CustomerMapper.xml

@@ -144,13 +144,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectCustomerCodeByNotStart" resultType="com.dgtly.system.domain.DataMasterCustomerVO">
         SELECT DISTINCT
             CustomerCode,
-            CustomerName
+            CustomerName,
+            CustomerTypeCode5,
+            CustomerTypeCode1,
+            IsBMDCustomer,
+            sales_group_name as salesGroupName
         FROM
             data_master_customer
         WHERE
-            1 = 1
-          AND (CustomerTypeCode5 = 'SSB' or (CustomerTypeCode1='D01' and IsBMDCustomer='否')  or (CustomerTypeCode1='D06'))
-          AND CustomerCode NOT IN (
+           CustomerCode NOT IN (
             SELECT
                 customers_code
             FROM