临时车辆审批修改,临时车辆创建不bug修改
parent
0fd50054d1
commit
cf3d293fad
|
|
@ -34,13 +34,37 @@ public class DaHuaVehicleSyncExe {
|
|||
}
|
||||
log.info("同步大华车辆: vehicleApplyId={}, licenceNo={}, vehicleBelongType={}",
|
||||
vehicleApplyId, vehicle.getLicenceNo(), vehicle.getVehicleBelongType());
|
||||
|
||||
if (isRelatedPartyVehicle(vehicle)) {
|
||||
log.info("识别为相关方车辆, 走addCar接口");
|
||||
syncAddedVehicle(vehicle);
|
||||
return;
|
||||
}
|
||||
|
||||
String idcard = vehicle.getLsUserIdcard();
|
||||
String decodedIdcard = null;
|
||||
if (idcard != null && !idcard.isEmpty()) {
|
||||
try {
|
||||
decodedIdcard = Base64.decodeToString(idcard);
|
||||
} catch (Exception e) {
|
||||
log.warn("身份证base64解码失败: {}", e.getMessage());
|
||||
decodedIdcard = idcard;
|
||||
}
|
||||
}
|
||||
|
||||
if (decodedIdcard != null && !decodedIdcard.isEmpty()) {
|
||||
log.info("车辆有身份证号, userDahuaId={}", vehicle.getUserDahuaId());
|
||||
if (vehicle.getUserDahuaId() != null) {
|
||||
log.info("userDahuaId有值, 走addCar接口, ownerId={}", vehicle.getUserDahuaId());
|
||||
syncAddedVehicleWithOwnerId(vehicle);
|
||||
} else {
|
||||
log.info("识别为非相关方车辆(vehicleBelongType={}), 走saveTempVehicle接口", vehicle.getVehicleBelongType());
|
||||
log.info("userDahuaId没值, 走saveTempVehicle接口");
|
||||
syncTempVehicle(vehicle);
|
||||
}
|
||||
} else {
|
||||
log.info("车辆无身份证号, 走addCar接口");
|
||||
syncAddedVehicle(vehicle);
|
||||
}
|
||||
}
|
||||
|
||||
public void syncDeletedVehicles(List<VehicleApplyE> vehicles) {
|
||||
|
|
@ -49,7 +73,9 @@ public class DaHuaVehicleSyncExe {
|
|||
}
|
||||
List<String> carNumList = new ArrayList<>();
|
||||
for (VehicleApplyE vehicle : vehicles) {
|
||||
if (isRelatedPartyVehicle(vehicle)) {
|
||||
if (vehicle != null && vehicle.getLicenceNo() != null) {
|
||||
log.info("同步删除大华车辆: licenceNo={}, vehicleBelongType={}",
|
||||
vehicle.getLicenceNo(), vehicle.getVehicleBelongType());
|
||||
carNumList.add(vehicle.getLicenceNo());
|
||||
}
|
||||
}
|
||||
|
|
@ -62,11 +88,26 @@ public class DaHuaVehicleSyncExe {
|
|||
checkResult(daHuaGateway.addCar(buildCarCmd(vehicle)), "新增大华车辆失败");
|
||||
}
|
||||
|
||||
private void syncAddedVehicleWithOwnerId(VehicleApplyE vehicle) {
|
||||
DaHuaCarAddCmd cmd = buildCarCmd(vehicle);
|
||||
cmd.setOwnerId(vehicle.getUserDahuaId());
|
||||
checkResult(daHuaGateway.addCar(cmd), "新增大华车辆失败");
|
||||
}
|
||||
|
||||
private void syncTempVehicle(VehicleApplyE vehicle) {
|
||||
log.info("同步临时车辆到大华平台: licenceNo={}, vehicleApplyId={}", vehicle.getLicenceNo(), vehicle.getId());
|
||||
Map<String, Object> result = daHuaGateway.saveTempVehicle(buildTempVehicleCmd(vehicle));
|
||||
DaHuaTempVehicleSaveCmd cmd = buildTempVehicleCmd(vehicle);
|
||||
Long personId = cmd.getId();
|
||||
Map<String, Object> result = daHuaGateway.saveTempVehicle(cmd);
|
||||
checkResult(result, "同步临时车辆到大华失败");
|
||||
log.info("临时车辆同步成功: licenceNo={}", vehicle.getLicenceNo());
|
||||
log.info("临时车辆同步成功: licenceNo={}, personId={}", vehicle.getLicenceNo(), personId);
|
||||
if (personId != null) {
|
||||
VehicleApplyE updateVehicle = new VehicleApplyE();
|
||||
updateVehicle.setId(vehicle.getId());
|
||||
updateVehicle.setUserDahuaId(personId);
|
||||
vehicleApplyGateway.update(updateVehicle);
|
||||
log.info("保存大华人员ID成功: vehicleApplyId={}, userDahuaId={}", vehicle.getId(), personId);
|
||||
}
|
||||
}
|
||||
|
||||
private DaHuaCarAddCmd buildCarCmd(VehicleApplyE vehicle) {
|
||||
|
|
@ -81,6 +122,8 @@ public class DaHuaVehicleSyncExe {
|
|||
|
||||
private DaHuaTempVehicleSaveCmd buildTempVehicleCmd(VehicleApplyE vehicle) {
|
||||
DaHuaTempVehicleSaveCmd cmd = new DaHuaTempVehicleSaveCmd();
|
||||
Long personId = daHuaGateway.generatePersonId();
|
||||
cmd.setId(personId);
|
||||
cmd.setName(vehicle.getEmployeeVehicleUserName());
|
||||
String idcard = vehicle.getLsUserIdcard();
|
||||
if (idcard != null && !idcard.isEmpty()) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.domain.gateway.DaHuaGateway;
|
||||
import com.zcloud.primeport.domain.gateway.VehicleApplyGateway;
|
||||
import com.zcloud.primeport.domain.gateway.VehicleBlackGateway;
|
||||
import com.zcloud.primeport.domain.model.VehicleApplyE;
|
||||
|
|
@ -8,10 +9,13 @@ import com.zcloud.primeport.domain.model.VehicleBlackE;
|
|||
import com.zcloud.primeport.dto.VehicleBlackAddCmd;
|
||||
import com.zcloud.primeport.plan.mjDevice.CarDockUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
|
|
@ -21,10 +25,12 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
@Slf4j
|
||||
public class VehicleBlackAddExe {
|
||||
private final VehicleBlackGateway vehicleBlackGateway;
|
||||
private final VehicleApplyGateway vehicleApplyGateway;
|
||||
private final CarDockUtil carDockUtil;
|
||||
private final DaHuaGateway daHuaGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(VehicleBlackAddCmd cmd) {
|
||||
|
|
@ -38,7 +44,10 @@ public class VehicleBlackAddExe {
|
|||
vehicleApplyE.setLicenceNo(cmd.getLicenceNo());
|
||||
vehicleApplyGateway.updateBlackFlag(vehicleApplyE);
|
||||
carDockUtil.executeBlackSave(examTypeE);
|
||||
daHuaGateway.deleteCar(Collections.singletonList(cmd.getLicenceNo()));
|
||||
log.info("拉黑车辆同步大华删除: licenceNo={}", cmd.getLicenceNo());
|
||||
} catch (Exception e) {
|
||||
log.error("拉黑车辆同步大华失败: licenceNo={}", cmd.getLicenceNo(), e);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
|
|
@ -47,4 +56,3 @@ public class VehicleBlackAddExe {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaCarAddCmd;
|
||||
import com.zcloud.primeport.domain.gateway.DaHuaGateway;
|
||||
import com.zcloud.primeport.domain.gateway.VehicleApplyGateway;
|
||||
import com.zcloud.primeport.domain.gateway.VehicleBlackGateway;
|
||||
import com.zcloud.primeport.domain.gateway.VehicleViolationsGateway;
|
||||
import com.zcloud.primeport.domain.model.VehicleBlackE;
|
||||
import com.zcloud.primeport.plan.mjDevice.CarDockUtil;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.CarEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
|
@ -19,20 +23,32 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
@Slf4j
|
||||
public class VehicleBlackRemoveExe {
|
||||
private final VehicleBlackGateway vehicleBlackGateway;
|
||||
private final VehicleApplyGateway vehicleApplyGateway;
|
||||
private final VehicleViolationsGateway vehicleViolationsGateway;
|
||||
private final CarDockUtil carDockUtil;
|
||||
private final DaHuaGateway daHuaGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
VehicleBlackE infoById = vehicleBlackGateway.getInfoById(id);
|
||||
boolean res = vehicleBlackGateway.deletedVehicleBlackById(id);
|
||||
// 把这个车牌的违规记录变成已处理.
|
||||
vehicleViolationsGateway.updateVehicleViolationsStatusByLicenceNo(infoById.getLicenceNo(), 1);
|
||||
vehicleApplyGateway.updateEvehicleBlockedByLicenceNo(infoById.getLicenceNo(),2);
|
||||
carDockUtil.executeBlackRemove(infoById);
|
||||
try {
|
||||
DaHuaCarAddCmd dahuaCmd = new DaHuaCarAddCmd();
|
||||
dahuaCmd.setCarNum(infoById.getLicenceNo());
|
||||
dahuaCmd.setCarNumColor(CarEnum.getMenuKeyByPath(infoById.getLicenceType()));
|
||||
dahuaCmd.setDepartmentId(1L);
|
||||
dahuaCmd.setService("evo-thirdParty");
|
||||
daHuaGateway.addCar(dahuaCmd);
|
||||
log.info("解除拉黑同步大华添加车辆: licenceNo={}", infoById.getLicenceNo());
|
||||
} catch (Exception e) {
|
||||
log.error("解除拉黑同步大华失败: licenceNo={}", infoById.getLicenceNo(), e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
|
|
@ -48,4 +64,3 @@ public class VehicleBlackRemoveExe {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ import com.zcloud.primeport.command.VehicleApplyRemoveExe;
|
|||
import com.zcloud.primeport.command.VehicleApplyUpdateExe;
|
||||
import com.zcloud.primeport.command.query.VehicleApplyQueryExe;
|
||||
import com.zcloud.primeport.domain.enums.AuditEnum;
|
||||
import com.zcloud.primeport.domain.gateway.DaHuaGateway;
|
||||
import com.zcloud.primeport.domain.model.VehicleApplyE;
|
||||
import com.zcloud.gbscommon.dahua.cmd.DaHuaCarAddCmd;
|
||||
import com.zcloud.primeport.dto.*;
|
||||
import com.zcloud.primeport.dto.clientobject.AppCountCO;
|
||||
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
|
||||
|
|
@ -21,7 +23,9 @@ import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
|
|||
import com.zcloud.primeport.persistence.dataobject.VehicleBlackDO;
|
||||
import com.zcloud.primeport.persistence.repository.VehicleApplyRepository;
|
||||
import com.zcloud.primeport.persistence.repository.VehicleBlackRepository;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.CarEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -38,6 +42,7 @@ import java.util.Map;
|
|||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
@Slf4j
|
||||
public class VehicleApplyServiceImpl implements VehicleApplyServiceI {
|
||||
private final VehicleApplyAddExe vehicleApplyAddExe;
|
||||
private final VehicleApplyUpdateExe vehicleApplyUpdateExe;
|
||||
|
|
@ -45,6 +50,7 @@ public class VehicleApplyServiceImpl implements VehicleApplyServiceI {
|
|||
private final VehicleApplyQueryExe vehicleApplyQueryExe;
|
||||
private final VehicleApplyRepository vehicleApplyRepository;
|
||||
private final VehicleBlackRepository blackRepository;
|
||||
private final DaHuaGateway daHuaGateway;
|
||||
|
||||
@Override
|
||||
public PageResponse<VehicleApplyCO> listPage(VehicleApplyPageQry qry) {
|
||||
|
|
@ -116,11 +122,25 @@ public class VehicleApplyServiceImpl implements VehicleApplyServiceI {
|
|||
vehicleApplyDO.setExpiredExpiration("2");
|
||||
vehicleApplyDO.setRemarks(cmd.getCheckDepartmentName());
|
||||
vehicleApplyDO.setVehicleBelongType(cmd.getVehicleBelongType());
|
||||
// vehicleApplyDO.setApplyTime(DateUtil.date2Str(new Date()));
|
||||
BeanUtils.copyProperties(item, vehicleApplyDO);
|
||||
objects.add(vehicleApplyDO);
|
||||
});
|
||||
vehicleApplyRepository.saveBatch(objects);
|
||||
|
||||
for (VehicleApplyInspectAddCmd.InspectCar item : inspectCarList) {
|
||||
try {
|
||||
DaHuaCarAddCmd dahuaCmd = new DaHuaCarAddCmd();
|
||||
dahuaCmd.setCarNum(item.getLicenceNo());
|
||||
dahuaCmd.setCarNumColor(CarEnum.getMenuKeyByPath(item.getLicenceType()));
|
||||
dahuaCmd.setDepartmentId(1L);
|
||||
dahuaCmd.setDepartmentName(cmd.getCheckDepartmentName());
|
||||
dahuaCmd.setService("evo-thirdParty");
|
||||
Map<String, Object> result = daHuaGateway.addCar(dahuaCmd);
|
||||
log.info("检查部门车辆同步大华: licenceNo={}, result={}", item.getLicenceNo(), result);
|
||||
} catch (Exception e) {
|
||||
log.error("检查部门车辆同步大华失败: licenceNo={}", item.getLicenceNo(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -171,4 +191,3 @@ public class VehicleApplyServiceImpl implements VehicleApplyServiceI {
|
|||
return vehicleApplyQueryExe.getAppCount();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -84,5 +84,5 @@ public class VehicleApplyE extends BaseE {
|
|||
private String auditDeptName;
|
||||
private Long auditUserId;
|
||||
private String auditUserName;
|
||||
private Long userDahuaId;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1011,7 +1011,6 @@ public class DaHuaGatewayImpl implements DaHuaGateway {
|
|||
}
|
||||
if (cmd.getId() == null) {
|
||||
Long personId = generatePersonId();
|
||||
System.out.println("大华临时车辆全量保存自动生成人员ID: " + personId);
|
||||
cmd.setId(personId);
|
||||
}
|
||||
if (cmd.getService() == null || cmd.getService().trim().isEmpty()) {
|
||||
|
|
@ -1032,7 +1031,6 @@ public class DaHuaGatewayImpl implements DaHuaGateway {
|
|||
GeneralResponse response = daHuaPersonApi.saveTempVehicleAudit(body);
|
||||
String responseJson = JSONUtil.toJsonStr(response);
|
||||
log.info("大华临时车辆全量保存返回结果: {}", responseJson);
|
||||
System.out.println("大华临时车辆全量保存返回结果: " + responseJson);
|
||||
if (response == null) {
|
||||
log.error("大华临时车辆全量保存失败: response为null");
|
||||
resultMap.put("passed", false);
|
||||
|
|
|
|||
|
|
@ -146,4 +146,6 @@ public class VehicleApplyDO extends BaseDO {
|
|||
private String belongType;
|
||||
@TableField(exist = false)
|
||||
private int waitAuditCount;
|
||||
@ApiModelProperty(value = "大华人员ID")
|
||||
private Long userDahuaId;
|
||||
}
|
||||
|
|
@ -81,7 +81,7 @@ public class CarDockUtil {
|
|||
OneLevelCarBlackDto oneLevelCarBlackDto = new OneLevelCarBlackDto();
|
||||
oneLevelCarBlackDto.setTruckNo(examTypeE.getLicenceNo());
|
||||
oneLevelCarBlackDto.setTruckTypCod(CarEnum.getMenuKeyByPath(examTypeE.getVehicleType()));
|
||||
oneLevelCarBlackDto.setTruckCardColor(CarEnum.getMenuKeyByPath(examTypeE.getLicenceNo()));
|
||||
oneLevelCarBlackDto.setTruckCardColor(CarEnum.getMenuKeyByPath(examTypeE.getLicenceType()));
|
||||
oneLevelCarBlackDto.setRecTim(DateUtil.date2Str(new Date()));
|
||||
oneLevelCarBlackDto.setRecNam(AuthContext.getCurrentUser().getName());
|
||||
oneLevelCarUtil.blackVehicleSave(oneLevelCarBlackDto);
|
||||
|
|
@ -90,7 +90,7 @@ public class CarDockUtil {
|
|||
OneLevelCarBlackDto oneLevelCarBlackDto = new OneLevelCarBlackDto();
|
||||
oneLevelCarBlackDto.setTruckNo(examTypeE.getLicenceNo());
|
||||
oneLevelCarBlackDto.setTruckTypCod(CarEnum.getMenuKeyByPath(examTypeE.getVehicleType()));
|
||||
oneLevelCarBlackDto.setTruckCardColor(CarEnum.getMenuKeyByPath(examTypeE.getLicenceNo()));
|
||||
oneLevelCarBlackDto.setTruckCardColor(CarEnum.getMenuKeyByPath(examTypeE.getLicenceType()));
|
||||
oneLevelCarBlackDto.setRecTim(DateUtil.date2Str(new Date()));
|
||||
oneLevelCarBlackDto.setRecNam(AuthContext.getCurrentUser().getName());
|
||||
oneLevelCarUtil.blackVehicleRemove(oneLevelCarBlackDto);
|
||||
|
|
|
|||
Loading…
Reference in New Issue