浏览代码

1.预警相关接口
2.特审复开BUG

liuhy 2 年之前
父节点
当前提交
df10a672a3

+ 105 - 0
tnc-sms/src/main/java/org/jeecg/modules/smscheck/controller/SmsWarningCustomerController.java

@@ -0,0 +1,105 @@
+package org.jeecg.modules.smscheck.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.smscheck.entity.SmsWarningCheckCustomerDataLog;
+import org.jeecg.modules.smscheck.entity.SmsWarningCustomerData;
+import org.jeecg.modules.smscheck.service.SmsWarningCheckCustomerDataLogService;
+import org.jeecg.modules.smscheck.service.SmsWarningCustomerDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "稽核预警请求")
+@RestController
+@RequestMapping("/sms/warning/customer")
+@Slf4j
+public class SmsWarningCustomerController {
+    @Autowired
+    SmsWarningCustomerDataService smsWarningCustomerDataService;
+    @Autowired
+    SmsWarningCheckCustomerDataLogService smsWarningCheckCustomerDataLogService;
+
+    @ApiOperation(value = "稽核预警-物联网提交", notes = "稽核预警-物联网提交")
+    @PostMapping(value = "/lot/edit/data")
+    public Result<?> lotEditData(@RequestBody SmsWarningCustomerData smsWarningCustomerData) {
+        String infoId = smsWarningCustomerData.getInfoId();
+        String dueId = smsWarningCustomerData.getDueId();
+        if (StringUtils.isEmpty(infoId) || StringUtils.isEmpty(dueId) ){
+            return Result.error("客户信息ID不能为空");
+        }
+        Boolean sava = smsWarningCustomerDataService.lotEditData(smsWarningCustomerData);
+        if (!sava){
+            return Result.error("提交失败,请检查资料信息");
+        }
+        return Result.ok("'提交成功'");
+    }
+
+    @ApiOperation(value = "稽核预警-物联网整改", notes = "稽核预警-物联网整改")
+    @PostMapping(value = "/lot/rectify/data")
+    public Result<?> lotRectifyData(@RequestBody SmsWarningCustomerData smsWarningCustomerData) {
+        String dueId = smsWarningCustomerData.getDueId();
+        if (StringUtils.isEmpty(dueId)){
+            return Result.error("客户信息ID不能为空");
+        }
+
+        Boolean update = smsWarningCustomerDataService.lotRectify(smsWarningCustomerData);
+        if (!update){
+            return Result.error("整改失败,请检查资料信息");
+        }
+        return Result.ok("'整改成功'");
+    }
+
+
+    @ApiOperation(value = "稽核预警-资料查询", notes = "稽核预警-资料查询")
+    @GetMapping(value = "/find/info/id")
+    public Result<?> findInfoId(SmsWarningCustomerData smsWarningCustomerData) {
+        String dueId = smsWarningCustomerData.getDueId();
+        if (StringUtils.isEmpty(dueId)){
+            return Result.error("客户信息ID不能为空");
+        }
+        LambdaQueryWrapper<SmsWarningCustomerData> dataLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        dataLambdaQueryWrapper.eq(SmsWarningCustomerData::getDueId,dueId);
+        SmsWarningCustomerData data = smsWarningCustomerDataService.getOne(dataLambdaQueryWrapper);
+        return Result.ok(data);
+    }
+
+    @ApiOperation(value = "稽核预警-物联网稽核", notes = "稽核预警-物联网稽核")
+    @PostMapping(value = "/lot/audit")
+    public Result<?> lotAudit(@RequestBody SmsWarningCheckCustomerDataLog smsWarningCheckCustomerDataLog)  {
+        String infoId = smsWarningCheckCustomerDataLog.getInfoId();
+        String dueId = smsWarningCheckCustomerDataLog.getDueId();
+        if (StringUtils.isEmpty(infoId) || StringUtils.isEmpty(dueId)){
+            return Result.error("客户信息ID不能为空");
+        }
+        boolean audit = false;
+        try {
+            audit = smsWarningCheckCustomerDataLogService.lotAudit(smsWarningCheckCustomerDataLog);
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException(e);
+        }
+        if (!audit){
+            return Result.error("稽核失败,请检查资料信息");
+        }
+        return Result.ok("稽核成功");
+    }
+
+    @ApiOperation(value = "稽核预警-物联网稽核信息查询", notes = "稽核预警-物联网稽核信息查询")
+    @GetMapping(value = "/lot/audit/log")
+    public Result<?> lotAuditLog(SmsWarningCheckCustomerDataLog smsWarningCheckCustomerDataLog)  {
+        String dueId = smsWarningCheckCustomerDataLog.getDueId();
+        if (StringUtils.isEmpty(dueId)){
+            return Result.error("客户信息ID不能为空");
+        }
+        LambdaQueryWrapper<SmsWarningCheckCustomerDataLog> smsWarningCheckCustomerDataLogServiceLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        smsWarningCheckCustomerDataLogServiceLambdaQueryWrapper.eq(SmsWarningCheckCustomerDataLog::getDueId,dueId);
+        SmsWarningCheckCustomerDataLog logData = smsWarningCheckCustomerDataLogService.getOne(smsWarningCheckCustomerDataLogServiceLambdaQueryWrapper);
+        return Result.ok(logData);
+    }
+
+
+
+}

+ 22 - 15
tnc-sms/src/main/java/org/jeecg/modules/smscheck/controller/SpecialExaminationContrller.java

@@ -471,23 +471,29 @@ public class SpecialExaminationContrller extends JeecgController<SmsCheckCustome
                 List<SysDepartModel> sysDepartModel = customerInfoService.getSysDepartModel();
                 Map<String, SysDepartModel> sysDepartModelMap
                         = sysDepartModel.stream().collect(Collectors.toMap(SysDepartModel::getOrgCode, Function.identity(), (o, n) -> o));
-                List<String> deptNameByUserId = iSmsCheckTaskService.getDeptNameByUserId(sysUser.getWorkNo());
-                if (!deptNameByUserId.isEmpty()) {
+                //List<String> deptNameByUserId = iSmsCheckTaskService.getDeptNameByUserId(sysUser.getWorkNo());
+                String orgCode = sysUser.getOrgCode();
+                if (!orgCode.isEmpty()) {
                     Set<String> strings = new HashSet<>();
                     Set<String> stringsOrg = new HashSet<>();
                     Set<String> stringsThree = new HashSet<>();
                     Set<String> stringsThreeOrg = new HashSet<>();
-                    for (String s : deptNameByUserId) {
-                        if (s.length() >= 3) {
-                            String substring = s.substring(0, 3);
-                            strings.add(sysDepartModelMap.get(substring).getDepartName());
-                            stringsOrg.add(substring);
-                        }
-                        if (s.length() >= 6) {
-                            String substring = s.substring(0, 6);
-                            stringsThree.add(sysDepartModelMap.get(substring).getDepartName());
-                            stringsThreeOrg.add(substring);
-                        }
+                    Set<String> stringsFour = new HashSet<>();
+                    Set<String> stringsFourOrg = new HashSet<>();
+                    if (orgCode.length() >= 3) {
+                        String substring = orgCode.substring(0, 3);
+                        strings.add(sysDepartModelMap.get(substring).getDepartName());
+                        stringsOrg.add(substring);
+                    }
+                    if (orgCode.length() >= 6) {
+                        String substring = orgCode.substring(0, 6);
+                        stringsThree.add(sysDepartModelMap.get(substring).getDepartName());
+                        stringsThreeOrg.add(substring);
+                    }
+                    if (orgCode.length() >= 13) {
+                        String substring = orgCode.substring(0, 13);
+                        stringsFour.add(sysDepartModelMap.get(substring).getDepartName());
+                        stringsFourOrg.add(substring);
                     }
                     info.setStaffDeptLevel2No(stringsOrg.toString());
                     info.setStaffDeptLevel2Name(strings.toString());
@@ -495,6 +501,7 @@ public class SpecialExaminationContrller extends JeecgController<SmsCheckCustome
                     info.setStaffDeptLevel3No(stringsThreeOrg.toString());
                     info.setStaffDeptLevel3Name(stringsThree.toString());
                     info.setStaffDeptLevel3(stringsThree.toString() + "(" + stringsThreeOrg.toString() + ")");
+                    info.setStaffDeptLevel4Name(stringsFour.toString());
                 }
                 infoVo.setResult("1");
                 customerCount++;
@@ -677,9 +684,9 @@ public class SpecialExaminationContrller extends JeecgController<SmsCheckCustome
                 String[] split = shutdownLabel.split(",");
                 String nameByValue = "";
                 for (String lable : split) {
-                    if ("999".equals(lable)){
+                    if ("999".equals(lable)) {
                         nameByValue = smsCheckCustomerInfo.getShutdownLabelOther();
-                    }else {
+                    } else {
                         nameByValue = SpecialExaminationReopen.findNameByValue(lable);
                     }
                     name.append(" ").append(nameByValue);

+ 5 - 0
tnc-sms/src/main/java/org/jeecg/modules/smscheck/service/SmsWarningCheckCustomerDataLogService.java

@@ -2,7 +2,12 @@ package org.jeecg.modules.smscheck.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.smscheck.entity.BusinessReminderCard;
+import org.jeecg.modules.smscheck.entity.SmcSpecialCheckLogStateVo;
 import org.jeecg.modules.smscheck.entity.SmsWarningCheckCustomerDataLog;
+import org.jeecg.modules.smscheck.vo.SmsWarningCheckCustomerDataLogVo;
 
 public interface SmsWarningCheckCustomerDataLogService  extends IService<SmsWarningCheckCustomerDataLog> {
+    boolean lotAudit(SmsWarningCheckCustomerDataLog smsWarningCheckCustomerDataLog) throws IllegalAccessException;
+
+    Boolean reflectCheck(SmsWarningCheckCustomerDataLogVo smsWarningCheckCustomerDataLogVo) throws IllegalAccessException;
 }

+ 5 - 0
tnc-sms/src/main/java/org/jeecg/modules/smscheck/service/SmsWarningCustomerDataService.java

@@ -5,4 +5,9 @@ import org.jeecg.modules.smscheck.entity.BusinessReminderCardLog;
 import org.jeecg.modules.smscheck.entity.SmsWarningCustomerData;
 
 public interface SmsWarningCustomerDataService  extends IService<SmsWarningCustomerData> {
+
+    public Boolean lotEditData(SmsWarningCustomerData smsWarningCustomerData);
+
+
+    Boolean lotRectify(SmsWarningCustomerData smsWarningCustomerData);
 }

+ 60 - 0
tnc-sms/src/main/java/org/jeecg/modules/smscheck/service/impl/SmsWarningCheckCustomerDataLogServiceImpl.java

@@ -1,14 +1,74 @@
 package org.jeecg.modules.smscheck.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.common.util.BeanCopyUtil;
+import org.jeecg.modules.smscheck.configs.CheckStateCode;
+import org.jeecg.modules.smscheck.entity.SmsCheckCustomerInfoBecomeDue;
 import org.jeecg.modules.smscheck.entity.SmsWarningCheckCustomerDataLog;
 import org.jeecg.modules.smscheck.entity.SmsWarningCustomerData;
 import org.jeecg.modules.smscheck.mapper.SmsWarningCheckCustomerDataLogMapper;
 import org.jeecg.modules.smscheck.mapper.SmsWarningCustomerDataMapper;
+import org.jeecg.modules.smscheck.service.SmsCheckCustomerInfoBecomeDueService;
 import org.jeecg.modules.smscheck.service.SmsWarningCheckCustomerDataLogService;
 import org.jeecg.modules.smscheck.service.SmsWarningCustomerDataService;
+import org.jeecg.modules.smscheck.vo.SmsWarningCheckCustomerDataLogVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.lang.reflect.Field;
+import java.util.Optional;
+import java.util.concurrent.atomic.AtomicReference;
+
 @Service
 public class SmsWarningCheckCustomerDataLogServiceImpl extends ServiceImpl<SmsWarningCheckCustomerDataLogMapper, SmsWarningCheckCustomerDataLog> implements SmsWarningCheckCustomerDataLogService {
+    @Autowired
+    SmsCheckCustomerInfoBecomeDueService smsCheckCustomerInfoBecomeDueService;
+
+
+    @Override
+    public boolean lotAudit(SmsWarningCheckCustomerDataLog smsWarningCheckCustomerDataLog) throws IllegalAccessException {
+        // 获取稽核预警客户信息
+        SmsCheckCustomerInfoBecomeDue dueData = smsCheckCustomerInfoBecomeDueService.getById(smsWarningCheckCustomerDataLog.getDueId());
+        Integer checkState = dueData.getCheckState();
+        if (checkState != CheckStateCode.CHECK_STSTE_2){
+            return false;
+        }
+
+        SmsWarningCheckCustomerDataLogVo smsWarningCheckCustomerDataLogVo = new SmsWarningCheckCustomerDataLogVo();
+        BeanCopyUtil.copyProperties(smsWarningCheckCustomerDataLog,smsWarningCheckCustomerDataLogVo);
+        // 稽核预警判断
+        Boolean stateBoolean = reflectCheck(smsWarningCheckCustomerDataLogVo);
+        int lotStatus = stateBoolean ? 5 : 4;
+        dueData.setCheckState(lotStatus);
+
+        LambdaQueryWrapper<SmsWarningCheckCustomerDataLog> smsWarningCheckCustomerDataLogLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        smsWarningCheckCustomerDataLogLambdaQueryWrapper.eq(SmsWarningCheckCustomerDataLog::getDueId,smsWarningCheckCustomerDataLog.getDueId());
+        SmsWarningCheckCustomerDataLog logData = getOne(smsWarningCheckCustomerDataLogLambdaQueryWrapper);
+        if (logData !=null){
+            smsWarningCheckCustomerDataLog.setId(logData.getId());
+            updateById(smsWarningCheckCustomerDataLog);
+        }else {
+            save(smsWarningCheckCustomerDataLog);
+        }
+        return smsCheckCustomerInfoBecomeDueService.updateById(dueData);
+    }
+
+    @Override
+    public Boolean reflectCheck(SmsWarningCheckCustomerDataLogVo e) throws IllegalAccessException {
+        AtomicReference<Boolean> stateBoolean = new AtomicReference<>(true);
+        Class cls = e.getClass();
+        Field[] fields = cls.getDeclaredFields();
+        for (int i = 0; i < fields.length; i++) {
+            Field f = fields[i];
+            f.setAccessible(true);
+            String state = (String) f.get(e);
+            Optional.ofNullable(state).ifPresent(u->{
+                if ("0".equals(u)) {
+                    stateBoolean.set(false);
+                }
+            });
+        }
+        return stateBoolean.get();
+    }
 }

+ 59 - 0
tnc-sms/src/main/java/org/jeecg/modules/smscheck/service/impl/SmsWarningCustomerDataServiceImpl.java

@@ -1,11 +1,70 @@
 package org.jeecg.modules.smscheck.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.smscheck.configs.CheckStateCode;
+import org.jeecg.modules.smscheck.entity.SmsCheckCustomerInfo;
+import org.jeecg.modules.smscheck.entity.SmsCheckCustomerInfoBecomeDue;
 import org.jeecg.modules.smscheck.entity.SmsWarningCustomerData;
 import org.jeecg.modules.smscheck.mapper.SmsWarningCustomerDataMapper;
+import org.jeecg.modules.smscheck.service.SmsCheckCustomerInfoBecomeDueService;
 import org.jeecg.modules.smscheck.service.SmsWarningCustomerDataService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 @Service
 public class SmsWarningCustomerDataServiceImpl extends ServiceImpl<SmsWarningCustomerDataMapper, SmsWarningCustomerData> implements SmsWarningCustomerDataService {
+    @Resource
+    SmsCheckCustomerInfoBecomeDueService smsCheckCustomerInfoBecomeDueService;
+    /**
+     * 提交稽核预警消息
+     * @param smsWarningCustomerData
+     */
+    @Override
+    public Boolean lotEditData(SmsWarningCustomerData smsWarningCustomerData) {
+        // 查询稽核预警客户预警信息
+        SmsCheckCustomerInfoBecomeDue lotInfo = smsCheckCustomerInfoBecomeDueService.getById(smsWarningCustomerData.getDueId());
+        Integer checkState = lotInfo.getCheckState();
+        if (checkState != CheckStateCode.CHECK_STSTE_0 && checkState != CheckStateCode.CHECK_STSTE_1){
+            return false;
+        }
+        LambdaQueryWrapper<SmsWarningCustomerData> smsWarningCustomerDataLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        smsWarningCustomerDataLambdaQueryWrapper.eq(SmsWarningCustomerData::getDueId,smsWarningCustomerData.getDueId());
+        //  查询稽核预警客户数据
+        SmsWarningCustomerData lotData = getOne(smsWarningCustomerDataLambdaQueryWrapper);
+        Boolean save = false;
+        if (lotData != null){
+            smsWarningCustomerData.setId(lotData.getId());
+            save =  updateById(smsWarningCustomerData);
+        }else {
+            save = save(smsWarningCustomerData);
+        }
+        if (!save){
+            return false;
+        }
+        lotInfo.setCheckState(CheckStateCode.CHECK_STSTE_2);
+        save = smsCheckCustomerInfoBecomeDueService.updateById(lotInfo);
+        return save;
+    }
+
+    @Override
+    public Boolean lotRectify(SmsWarningCustomerData smsWarningCustomerData) {
+        String dueId = smsWarningCustomerData.getDueId();
+        SmsCheckCustomerInfoBecomeDue lotInfo = smsCheckCustomerInfoBecomeDueService.getById(dueId);
+        Integer checkState = lotInfo.getCheckState();
+        if (checkState != CheckStateCode.CHECK_STSTE_4){
+            return false;
+        }
+        LambdaQueryWrapper<SmsWarningCustomerData> smsWarningCustomerDataLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        smsWarningCustomerDataLambdaQueryWrapper.eq(SmsWarningCustomerData::getDueId,smsWarningCustomerData.getDueId());
+        //  查询稽核预警客户数据
+        SmsWarningCustomerData lotData = getOne(smsWarningCustomerDataLambdaQueryWrapper);
+        smsWarningCustomerData.setId(lotData.getId());
+        updateById(smsWarningCustomerData);
+        lotInfo.setCheckState(CheckStateCode.CHECK_STSTE_2);
+        boolean updateById = smsCheckCustomerInfoBecomeDueService.updateById(lotInfo);
+        return updateById;
+    }
 }

+ 25 - 0
tnc-sms/src/main/java/org/jeecg/modules/smscheck/vo/SmsWarningCheckCustomerDataLogVo.java

@@ -0,0 +1,25 @@
+package org.jeecg.modules.smscheck.vo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+@Data
+public class SmsWarningCheckCustomerDataLogVo {
+    private String contractDateResult;
+    private String codeNumberDateResult;
+    private String filingsDateResult;
+    private String permitDateResult;
+    private String contractResult;
+    private String zZBusinessLicenseResult;
+    private String contractOrProveResult;
+    private String trunkContractResult;
+    private String warningInfo;
+    private String lotWarningInfo;
+    private String truckWarningInfo;
+
+
+
+}

+ 308 - 0
tnc-system/src/main/java/org/jeecg/modules/quartz/job/ExpirationReminderCustormJob.java

@@ -0,0 +1,308 @@
+package org.jeecg.modules.quartz.job;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.sun.org.apache.xpath.internal.operations.Bool;
+import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.A;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.smscheck.configs.CheckStateCode;
+import org.jeecg.modules.smscheck.entity.*;
+import org.jeecg.modules.smscheck.handle.impl.EmailSendMsgHandle;
+import org.jeecg.modules.smscheck.mapper.SmsCheckCustomerDataMapper;
+import org.jeecg.modules.smscheck.mapper.SmsLotCustomerMapper;
+import org.jeecg.modules.smscheck.mapper.SmsTruckCustomerDataMapper;
+import org.jeecg.modules.smscheck.service.ISmsCheckCustomerDataLogService;
+import org.jeecg.modules.smscheck.service.ISmsCheckCustomerInfoService;
+import org.jeecg.modules.smscheck.service.ISysUserService;
+import org.jeecg.modules.smscheck.service.SmsCheckCustomerInfoBecomeDueService;
+import org.jeecg.modules.smscheck.service.impl.SmsCheckCustomerInfoServiceImpl;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+@Slf4j
+public class ExpirationReminderCustormJob implements Job {
+    /**
+     * 行短
+     */
+    @Autowired
+    private SmsCheckCustomerDataMapper smsCheckCustomerDataMapper;
+    /**
+     * 物联网
+     */
+    @Autowired
+    private SmsLotCustomerMapper smsLotCustomerMapper;
+
+    /**
+     * 中继线
+     */
+    @Autowired
+    private SmsTruckCustomerDataMapper smsTruckCustomerDataMapper;
+
+    /**
+     * 稽核资料到期数据表
+     */
+    @Autowired
+    private SmsCheckCustomerInfoBecomeDueService smsCheckCustomerInfoBecomeDueService;
+    @Autowired
+    private ISmsCheckCustomerInfoService iSmsCheckCustomerInfoService;
+    @Autowired
+    private ISysUserService sysUserService;
+
+    /**
+     * 天数
+     */
+    private Integer days = 90;
+
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        log.info("稽核到期提醒任务开始处理");
+        HashMap<String, String> emailMap = new HashMap<>();
+        ArrayList<SmsCheckCustomerInfoBecomeDue> addDueList = new ArrayList<>();
+        ArrayList<SmsCheckCustomerInfoBecomeDue> updateDueList = new ArrayList<>();
+        List<SysUser> userlist = sysUserService.list();
+        Map<String, SysUser> userMap = userlist.stream()
+                .collect(Collectors.toMap(v -> v.getUsername(), Function.identity(), (o, n) -> o));
+        // 全量稽核客户数据 -> 通过
+        LambdaQueryWrapper<SmsCheckCustomerInfo> infoLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        infoLambdaQueryWrapper.eq(SmsCheckCustomerInfo::getCheckState, 5);
+        List<SmsCheckCustomerInfo> infoList = iSmsCheckCustomerInfoService.list(infoLambdaQueryWrapper);
+
+
+        // 行短
+        // 码号证到期时间
+        Map<String, SmsCheckCustomerData> shortMapNumber = smsCheckCustomerDataMapper.listByCodeNumberDateDate(days);
+        // 备案通知到期时间
+        Map<String, SmsCheckCustomerData> shortMapFiling = smsCheckCustomerDataMapper.listByFilingsDateDate(days);
+        // 增值业务许可证
+        Map<String, SmsCheckCustomerData> shortMapPermit = smsCheckCustomerDataMapper.listByPermitDateDate(days);
+        // 业务合同是否到期
+        Map<String, SmsCheckCustomerData> shortMapContract = smsCheckCustomerDataMapper.listByContractDateData(days);
+
+        // 物联网
+        // 业务合同
+        Map<String, SmsLotCustomerData> lotMapContract = smsLotCustomerMapper.listByContractDateData(days);
+
+        // 中继线
+        // 业务合同
+        Map<String, SmsTruckCustomerData> truckMapContract = smsTruckCustomerDataMapper.listByContractDateData(days);
+        // 房屋租凭合同
+        Map<String, SmsTruckCustomerData> truckMapHouse = smsTruckCustomerDataMapper.listByHouseDate(days);
+        // 增值业务许可证
+        Map<String, SmsTruckCustomerData> truckMapAddedLicense = smsTruckCustomerDataMapper.listByAddedLicense(days);
+
+        ArrayList<Integer> checkTypeList = new ArrayList<>();
+     ;  checkTypeList.add(2);
+        checkTypeList.add(4);
+        LambdaQueryWrapper<SmsCheckCustomerInfoBecomeDue> dueLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        // 未处理和未完善
+        dueLambdaQueryWrapper.in(SmsCheckCustomerInfoBecomeDue::getCheckState, checkTypeList);
+        // 获取稽核到期数据
+        List<SmsCheckCustomerInfoBecomeDue> dueList = smsCheckCustomerInfoBecomeDueService.list(dueLambdaQueryWrapper);
+        Map<String, SmsCheckCustomerInfoBecomeDue> dueMap = dueList.stream()
+                .collect(Collectors.toMap(v -> v.getInfoId() + "-" + v.getType(), Function.identity(), (o, n) -> o));
+        checkTypeList.clear();
+        checkTypeList.add(0);
+        checkTypeList.add(1);
+        LambdaQueryWrapper<SmsCheckCustomerInfoBecomeDue> dueLambdaQueryWrapperIng = new LambdaQueryWrapper<>();
+        dueLambdaQueryWrapperIng.in(SmsCheckCustomerInfoBecomeDue::getCheckState, checkTypeList);
+        List<SmsCheckCustomerInfoBecomeDue> dueListIng = smsCheckCustomerInfoBecomeDueService.list(dueLambdaQueryWrapperIng);
+        Map<String, SmsCheckCustomerInfoBecomeDue> dueMapIng = dueListIng.stream()
+                .collect(Collectors.toMap(v -> v.getInfoId() + "-" + v.getType(), Function.identity(), (o, n) -> o));
+
+
+        infoList.forEach(infoData -> {
+            // 客户信息ID
+            String id = infoData.getId();
+            if (id.equals("1739180152945946626")){
+                System.out.println(id);
+            }
+            Integer type = infoData.getType();
+            String staffNo = infoData.getStaffNo();
+            SysUser sysUser = userMap.get(staffNo);
+            // 稽核到期数据中是否存在
+            SmsCheckCustomerInfoBecomeDue smsCheckCustomerInfoBecomeDue = dueMap.get(id+"-"+type);
+            SmsCheckCustomerInfoBecomeDue dueIng = dueMapIng.get(id + '-' +type);
+            SmsCheckCustomerInfoBecomeDue dueData = new SmsCheckCustomerInfoBecomeDue();
+            dueData.setType(type);
+            dueData.setTaskId(infoData.getTaskId());
+            dueData.setCheckState(0);
+            dueData.setInfoId(id);
+            dueData.setDelFlag(0);
+            dueData.setSysOrgCode(infoData.getSysOrgCode());
+            Boolean addChange = false;
+            Boolean updataChange = false;
+
+            if (smsCheckCustomerInfoBecomeDue != null || dueIng != null) {
+                updataChange = true;
+            }
+
+            if (type == 1) {
+                // 行短 -> 码号证
+                if (shortMapNumber.get(id) != null) {
+                    if (!updataChange){
+                        addChange = true;
+                    }
+                    dueData.setShortNowCodeNumberDateIs(1);
+                }
+                // 行短-> 备案通知到期时间
+                if (shortMapFiling.get(id) != null) {
+                    if (!updataChange){
+                        addChange = true;
+                    }
+                    dueData.setShortNowFilingsDataIs(1);
+                }
+                // 行短-> 增值业务许可证
+                if (shortMapPermit.get(id) != null) {
+                    if (!updataChange){
+                        addChange = true;
+                    }
+                    dueData.setShortNowPermitDateIs(1);
+                }
+                // 行短-> 业务合同是否到期
+                if (shortMapContract.get(id) != null) {
+                    if (!updataChange){
+                        addChange = true;
+                    }
+                    dueData.setShortNowContractDateIs(1);
+                }
+
+            }
+            else if (type == 2) {
+                // 物联网 -> 业务合同
+                if (lotMapContract.get(id) != null) {
+                    if (!updataChange){
+                        addChange = true;
+                    }
+                    dueData.setLotContractDateIs(1);
+                }
+            }
+            else if (type == 4) {
+                // 中继线稽核 -> 业务合同
+                if (truckMapContract.get(id) != null) {
+                    if (!updataChange){
+                        addChange = true;
+                    }
+                    dueData.setTruckContractDateIs(1);
+                }
+
+                // 中继线稽核 -> 房屋租凭合同
+                if (truckMapHouse.get(id) != null) {
+                    if (!updataChange){
+                        addChange = true;
+                    }
+                    dueData.setTruckHouseDateIs(1);
+                }
+
+                // 中继线稽核 -> 增值业务许可证
+                if (truckMapAddedLicense.get(id) != null) {
+                    if (!updataChange){
+                        addChange = true;
+                    }
+                    dueData.setTruckAddedLicenseDateIs(1);
+                }
+            }
+
+            if (addChange){
+                addDueList.add(dueData);
+                if (sysUser != null){
+                    String email = sysUser.getEmail();
+                    if (StringUtils.isNotEmpty(email)){
+                        String msg = "【客户编号】:" + infoData.getCustomerNo()+
+                                ",【用户编号】:" + infoData.getUserNo() +"的客户资料即将或已过期,请尽快登录智慧运营系统,在稽核资料预警功能中对资料进行更新!";
+                        emailMap.put(email+"-"+staffNo,msg);
+                    }
+                }
+            }else if (updataChange){
+                if (smsCheckCustomerInfoBecomeDue != null){
+                    SmsCheckCustomerInfoBecomeDue due = new SmsCheckCustomerInfoBecomeDue();
+                    Boolean upDataAdd = false;
+                    if ( smsCheckCustomerInfoBecomeDue.getShortNowCodeNumberDateIs() == 0 &&  dueData.getShortNowCodeNumberDateIs() == 1){
+                        upDataAdd = true;
+                        due.setShortNowCodeNumberDateIs(1);
+                    }
+                    if (smsCheckCustomerInfoBecomeDue.getShortNowContractDateIs() == 0 && dueData.getShortNowContractDateIs() == 1){
+                        upDataAdd = true;
+                        due.setShortNowContractDateIs(1);
+                    }
+                    if (smsCheckCustomerInfoBecomeDue.getShortNowFilingsDataIs() == 0 &&  dueData.getShortNowFilingsDataIs() == 1){
+                        upDataAdd = true;
+                        due.setShortNowFilingsDataIs(1);
+                    }
+                    if (smsCheckCustomerInfoBecomeDue.getShortNowPermitDateIs() == 0 && dueData.getShortNowPermitDateIs() == 1){
+                        upDataAdd = true;
+                        due.setShortNowPermitDateIs(1);
+                    }
+                    if (smsCheckCustomerInfoBecomeDue.getLotContractDateIs() == 0 && dueData.getLotContractDateIs() == 1){
+                        upDataAdd = true;
+                        due.setLotContractDateIs(1);
+                    }
+                    if (smsCheckCustomerInfoBecomeDue.getTruckContractDateIs() == 0 && dueData.getTruckContractDateIs() == 1){
+                        upDataAdd = true;
+                        due.setTruckContractDateIs(1);
+                    }
+                    if (smsCheckCustomerInfoBecomeDue.getTruckHouseDateIs() == 0 && dueData.getTruckHouseDateIs() == 1){
+                        upDataAdd = true;
+                        due.setTruckHouseDateIs(1);
+                    }
+                    if (smsCheckCustomerInfoBecomeDue.getTruckAddedLicenseDateIs() == 0 && dueData.getTruckAddedLicenseDateIs() == 1){
+                        upDataAdd = true;
+                        due.setTruckAddedLicenseDateIs(1);
+                    }
+                    if (upDataAdd){
+                        dueData = due;
+                        dueData.setType(type);
+                        dueData.setTaskId(infoData.getTaskId());
+                        dueData.setCheckState(0);
+                        dueData.setInfoId(id);
+                        dueData.setDelFlag(0);
+                        dueData.setSysOrgCode(infoData.getSysOrgCode());
+                        if (dueIng == null){
+                            addDueList.add(dueData);
+                            if (sysUser != null){
+                                String email = sysUser.getEmail();
+                                if (StringUtils.isNotEmpty(email)){
+                                    String msg = "【客户编号】:" + infoData.getCustomerNo()+
+                                            ",【用户编号】:" + infoData.getUserNo() +"的客户资料即将或已过期,请尽快登录智慧运营系统,在稽核资料预警功能中对资料进行更新!";
+                                    emailMap.put(email+"-"+staffNo,msg);
+                                }
+                            }
+                        }else {
+                            dueData.setId(dueIng.getId());
+                            updateDueList.add(dueData);
+                        }
+                    }
+                }
+                else {
+                    dueData.setId(dueIng.getId());
+                    updateDueList.add(dueData);
+                }
+            }
+
+        });
+
+        // 新增到期数据
+        smsCheckCustomerInfoBecomeDueService.saveBatch(addDueList);
+        // 修改到期数据
+        smsCheckCustomerInfoBecomeDueService.updateBatchById(updateDueList);
+        if (emailMap.size() > 0){
+            // 发送邮件
+            EmailSendMsgHandle emailSendMsgHandle = new EmailSendMsgHandle();
+            for (String key : emailMap.keySet()){
+                String[] emailAndStaffNo = key.split("-");
+                String msg = emailMap.get(key);
+                //emailSendMsgHandle.SendMsg(emailAndStaffNo[0],"稽核资料到期预警,工号:"+emailAndStaffNo[1],msg);
+            }
+        }
+
+    }
+}