parent
74a55d82b2
commit
f2b0ea637a
|
|
@ -5,6 +5,7 @@ import cn.hutool.json.JSONArray;
|
|||
import cn.hutool.json.JSONObject;
|
||||
import com.zcloud.gbscommon.dahuaDevice.DaHuaDeviceCommon;
|
||||
import com.zcloud.gbscommon.dahuaDevice.DhuaConfig;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.zcloud.gbscommon.hkDevice.HKDeviceUtil;
|
||||
import com.zcloud.gbscommon.utils.DateUtil;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
|
|
@ -13,8 +14,10 @@ import com.zcloud.gbscommon.zclouduser.request.ZcloudUserImgQry;
|
|||
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserImgBase64Co;
|
||||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
|
||||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
|
||||
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
|
||||
import com.zcloud.primeport.persistence.repository.ClosedAreaCarApplyRepository;
|
||||
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
|
||||
import com.zcloud.primeport.persistence.repository.VehicleApplyRepository;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.CarEnum;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.OneLevelCarSaveDto;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar;
|
||||
|
|
@ -36,6 +39,10 @@ import java.util.stream.Collectors;
|
|||
public class TwoCarUtil {
|
||||
@Resource
|
||||
private ClosedAreaCarApplyRepository closedAreaCarApplyRepository;
|
||||
@Resource
|
||||
private VehicleApplyRepository vehicleApplyRepository;
|
||||
@Resource
|
||||
private OneLevelCarUtil oneLevelCarUtil;
|
||||
|
||||
|
||||
private static Integer dockFlag = 0;
|
||||
|
|
@ -47,7 +54,7 @@ public class TwoCarUtil {
|
|||
/**
|
||||
* 审批时候的主入口 传一个申请id来
|
||||
* 同步二级门禁(海康) + 一级门禁(车行系统)
|
||||
* 一级门禁仅对临时/相关方车操作,内部车不操作一级避免覆盖原有权限
|
||||
* 所有类型都走一级检查流程:有权限且有效则跳过,无权限则按类型新增
|
||||
*/
|
||||
public void levelTwoCarCompanyByApplyId(Long applyId) {
|
||||
if (!dockFlag.equals(1)) return;
|
||||
|
|
@ -59,22 +66,50 @@ public class TwoCarUtil {
|
|||
} else {
|
||||
dockFgsCarLevelTwo(byId.getLicenceNo());
|
||||
}
|
||||
// 一级门禁(车行系统)同步 — 仅临时/相关方车需要开通一级临时权限
|
||||
// 内部车(1股份/2分公司/5分公司内部)已有独立的一级权限管理,不操作避免覆盖
|
||||
// 一级门禁(车行系统)同步 — 先查vehicle_apply表该车是否有有效权限,没有再新增
|
||||
dockOneLevelCar(byId, carBelongType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 对接一级门禁车行系统
|
||||
* 在vehicle_apply表中查该车牌是否有审核通过且有进出港权限的有效记录,
|
||||
* 有则不覆盖,无则按类型新增
|
||||
*/
|
||||
private void dockOneLevelCar(ClosedAreaCarApplyDO byId, Integer carBelongType) {
|
||||
// 在vehicle_apply表查该车牌是否有审核通过的长期/有效权限
|
||||
// 条件:审核通过(2)或无需审批(4)、有进出港权限(1)、当前在访问时间内
|
||||
String today = DateUtil.date2Str(new Date(), "yyyy-MM-dd");
|
||||
QueryWrapper<VehicleApplyDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("licence_no", byId.getLicenceNo());
|
||||
queryWrapper.in("audit_flag", 2, 4);
|
||||
queryWrapper.eq("mkmj_permission", 1);
|
||||
queryWrapper.le("visit_start_time", today);
|
||||
queryWrapper.ge("visit_end_time", today);
|
||||
|
||||
if (!vehicleApplyRepository.list(queryWrapper).isEmpty()) {
|
||||
// vehicle_apply已有有效权限 → 不覆盖
|
||||
return;
|
||||
}
|
||||
|
||||
// 无有效权限 → 走新增逻辑
|
||||
OneLevelCarSaveDto saveDto = new OneLevelCarSaveDto();
|
||||
saveDto.setTruckNo(byId.getLicenceNo());
|
||||
saveDto.setTruckCardColor(byId.getLicenceType());
|
||||
saveDto.setTruckTypCod(CarEnum.getMenuKeyByPath(byId.getVehicleType()));
|
||||
saveDto.setPortId("0");
|
||||
saveDto.setDriverNam(byId.getDrivingUserName());
|
||||
saveDto.setLinkTel(byId.getUserPhone());
|
||||
saveDto.setValidDte(today);
|
||||
saveDto.setRecTim(DateUtil.date2Str(new Date()));
|
||||
saveDto.setYqlCheckFlag("1");
|
||||
saveDto.setIsNeedCheck("0");
|
||||
|
||||
if (carBelongType.equals(3) || carBelongType.equals(4)) {
|
||||
OneLevelCarSaveDto oneLevelCarSaveDto = new OneLevelCarSaveDto();
|
||||
oneLevelCarSaveDto.setTruckNo(byId.getLicenceNo());
|
||||
oneLevelCarSaveDto.setTruckCardColor(byId.getLicenceType());
|
||||
oneLevelCarSaveDto.setTruckTypCod(CarEnum.getMenuKeyByPath(byId.getVehicleType()));
|
||||
// todo 待确定到底是东港还是西港
|
||||
oneLevelCarSaveDto.setPortId("0");
|
||||
oneLevelCarSaveDto.setDriverNam(byId.getDrivingUserName());
|
||||
oneLevelCarSaveDto.setLinkTel(byId.getUserPhone());
|
||||
oneLevelCarSaveDto.setValidDte(DateUtil.date2Str(new Date(),"yyyy-MM-dd"));
|
||||
oneLevelCarSaveDto.setRecTim(DateUtil.date2Str(new Date()));
|
||||
oneLevelCarSaveDto.setYqlCheckFlag("1");
|
||||
oneLevelCarSaveDto.setIsNeedCheck("0");
|
||||
tmpVehicleSave(oneLevelCarSaveDto);
|
||||
// 临时车(4)和相关方(3) → 临时车辆保存
|
||||
tmpVehicleSave(saveDto);
|
||||
} else {
|
||||
// 其他类型(1股份/2分公司/5分公司内部) → 内部车辆保存
|
||||
oneLevelCarUtil.internalVehicleSave(saveDto);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue