材料进场从临时表删除对应的预约车辆

This commit is contained in:
guoshengxiong 2024-07-29 13:51:44 +08:00
parent d5e54730c6
commit 1e483fb1c1

View File

@ -3,13 +3,17 @@ package com.zhgd.xmgl.task;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.xmgl.async.AsyncHikvision;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.modules.car.entity.CarInfo;
import com.zhgd.xmgl.modules.car.entity.CarInfoApprovalFlow;
import com.zhgd.xmgl.modules.car.enums.CarInfoCarModuleTypeEnum;
import com.zhgd.xmgl.modules.car.service.ICarInfoApprovalFlowService;
import com.zhgd.xmgl.modules.car.service.ICarInfoService;
import com.zhgd.xmgl.modules.exam.entity.*;
import com.zhgd.xmgl.modules.exam.service.*;
@ -22,12 +26,11 @@ import com.zhgd.xmgl.modules.xz.service.IXzMaterialService;
import com.zhgd.xmgl.util.EmailUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@ -73,6 +76,10 @@ public class ExamTask {
@Autowired
private ICarInfoService carInfoService;
@Lazy
@Autowired
private ICarInfoApprovalFlowService carInfoApprovalFlowService;
@Autowired
private EmailUtils emailUtils;
@ -101,10 +108,16 @@ public class ExamTask {
if (carInfos.size() > 0) {
carInfos = carInfos.stream().filter(c -> carNumber.contains(c.getCarNumber())).collect(Collectors.toList());
if (carInfos.size() > 0) {
carInfoService.removeByIds(carInfos.stream().map(c -> c.getId()).collect(Collectors.toSet()));
Map<String, CarInfo> carMap = carInfos.stream().collect(Collectors.toMap(c -> c.getCarNumber() + ":" + c.getReserveStartTime() + ":" + c.getReserveEndTime(), c -> c, (c1, c2) -> c1));
List<CarInfoApprovalFlow> flows = carInfoApprovalFlowService.list(new LambdaQueryWrapper<CarInfoApprovalFlow>().in(CarInfoApprovalFlow::getCarNumber, carInfos.stream().map(CarInfo::getCarNumber).collect(Collectors.toSet())));
flows = flows.stream().filter(f ->
carMap.get(f.getCarNumber() + ":" + f.getReserveStartTime() + ":" + f.getReserveEndTime()) != null
).collect(Collectors.toList());
carInfoApprovalFlowService.removeByIds(flows.stream().map(c -> c.getId()).collect(Collectors.toSet()));
for (CarInfo carInfo : carInfos) {
//同步海康
carInfoService.deleteCarInfoForHikvision(carInfo, false);
Project project = projectService.getProjectInfoBySn(carInfo.getProjectSn());
carInfoService.deleteOrUpdateCar(project, carInfo, false);
}
}
}