feat:接入海康二级口门进出记录
parent
145235c9de
commit
75419ffd05
|
|
@ -6,8 +6,10 @@ import com.jjb.saas.framework.datascope.annotation.DataScope;
|
|||
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
|
@ -24,5 +26,9 @@ import org.apache.ibatis.annotations.Param;
|
|||
public interface ClosedAreaCarApplyMapper extends BaseMapper<ClosedAreaCarApplyDO> {
|
||||
|
||||
IPage<ClosedAreaCarApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);
|
||||
|
||||
List<TwoLevelCar> getFgsCarToDay(String licenceNo);
|
||||
|
||||
List<TwoLevelCar> dockTmpCarLevelTwo(String licenceNo);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@ package com.zcloud.primeport.persistence.repository;
|
|||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -14,5 +16,9 @@ import java.util.Map;
|
|||
*/
|
||||
public interface ClosedAreaCarApplyRepository extends BaseRepository<ClosedAreaCarApplyDO> {
|
||||
PageResponse<ClosedAreaCarApplyDO> listPage(Map<String, Object> params);
|
||||
|
||||
List<TwoLevelCar> getFgsCarToDay(String licenceNo);
|
||||
|
||||
List<TwoLevelCar> dockTmpCarLevelTwo(String licenceNo);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,9 +9,12 @@ import com.alibaba.cola.dto.PageResponse;
|
|||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -37,5 +40,15 @@ public class ClosedAreaCarApplyRepositoryImpl extends BaseRepositoryImpl<ClosedA
|
|||
IPage<ClosedAreaCarApplyDO> result = closedAreaCarApplyMapper.listPage(page, params, menuPerms);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TwoLevelCar> getFgsCarToDay(String licenceNo) {
|
||||
return closedAreaCarApplyMapper.getFgsCarToDay(licenceNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TwoLevelCar> dockTmpCarLevelTwo(String licenceNo) {
|
||||
return closedAreaCarApplyMapper.dockTmpCarLevelTwo(licenceNo);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public class OnePersonUtil {
|
|||
// private Integer dockFlag;
|
||||
// @Value("${oneLevelPerson.prefix}")
|
||||
// private String prefix;
|
||||
private static Integer dockFlag = 1;
|
||||
private static Integer dockFlag = 0;
|
||||
private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/";
|
||||
private static String username = "shuangkong";
|
||||
private static String password = "qinan@202604";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,120 @@
|
|||
package com.zcloud.primeport.plan.mjDevice;
|
||||
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.zcloud.gbscommon.dahuaDevice.DaHuaDeviceCommon;
|
||||
import com.zcloud.gbscommon.dahuaDevice.DhuaConfig;
|
||||
import com.zcloud.gbscommon.hkDevice.HKDeviceUtil;
|
||||
import com.zcloud.gbscommon.utils.DateUtil;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade;
|
||||
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.repository.ClosedAreaCarApplyRepository;
|
||||
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.CarEnum;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.OneLevelCarSaveDto;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser;
|
||||
import jodd.util.Base64;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 一级人员门禁对接 前缀
|
||||
*
|
||||
*/
|
||||
@Component
|
||||
public class TwoCarUtil {
|
||||
@Resource
|
||||
private ClosedAreaCarApplyRepository closedAreaCarApplyRepository;
|
||||
|
||||
|
||||
private static Integer dockFlag = 0;
|
||||
private static String prefix;
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
}
|
||||
|
||||
/**
|
||||
* 审批时候的主入口 传一个申请id来
|
||||
*
|
||||
*
|
||||
*/
|
||||
public void levelTwoCarCompanyByApplyId(Long applyId) {
|
||||
if (!dockFlag.equals(1)) return;
|
||||
ClosedAreaCarApplyDO byId = closedAreaCarApplyRepository.getById(applyId);
|
||||
if (byId.getCarBelongType().equals(4)) {
|
||||
dockTmpCarLevelTwo(byId.getLicenceNo());
|
||||
}else {
|
||||
dockFgsCarLevelTwo(byId.getLicenceNo());
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
// 对接一级口门车辆
|
||||
public void tmpVehicleSave(OneLevelCarSaveDto oneLevelCarSaveDto) {
|
||||
if (dockFlag.equals(1)) {
|
||||
oneLevelCarSaveDto.setIsNeedCheck("0");
|
||||
String body = HttpRequest.post(prefix + "HD_QHD_IGATE_1.0/webresources/login/CTruck/qaSaveTemp").body(new JSONObject(oneLevelCarSaveDto).toString()).execute().body();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 对接分公司二级口门车
|
||||
*/
|
||||
public void dockFgsCarLevelTwo(String licence_no) {
|
||||
if (!dockFlag.equals(1)) return;
|
||||
List<TwoLevelCar> carList = closedAreaCarApplyRepository.getFgsCarToDay(licence_no);
|
||||
for (TwoLevelCar twoLevelCar : carList) {
|
||||
// todo 车牌号转一下类型
|
||||
HKDeviceUtil.saveOrUpdCar(twoLevelCar.getLicenceNo(), 0);
|
||||
HKDeviceUtil.vehicleTopUp(twoLevelCar.getLicenceNo(), 0, twoLevelCar.getHkIndexCode(), twoLevelCar.getKhParkSysCode(), DateUtil.date2Str(new Date(), "yyyy-MM-dd"), DateUtil.date2Str(new Date(), "yyyy-MM-dd"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 对接临时访客二级口门车
|
||||
*/
|
||||
public void dockTmpCarLevelTwo(String licence_no) {
|
||||
if (!dockFlag.equals(1)) return;
|
||||
List<TwoLevelCar> carList = closedAreaCarApplyRepository.dockTmpCarLevelTwo(licence_no);
|
||||
for (TwoLevelCar twoLevelCar : carList) {
|
||||
// todo 车牌号转一下类型
|
||||
HKDeviceUtil.saveOrUpdCar(twoLevelCar.getLicenceNo(), 0);
|
||||
HKDeviceUtil.vehicleTopUp(twoLevelCar.getLicenceNo(), 0, twoLevelCar.getHkIndexCode(), twoLevelCar.getKhParkSysCode(), DateUtil.date2Str(new Date(), "yyyy-MM-dd"), DateUtil.date2Str(new Date(), "yyyy-MM-dd"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static <T> List<List<T>> partition(List<T> list, int size) {
|
||||
List<List<T>> partitions = new ArrayList<>();
|
||||
for (int i = 0; i < list.size(); i += size) {
|
||||
partitions.add(list.subList(i, Math.min(i + size, list.size())));
|
||||
}
|
||||
return partitions;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -44,7 +44,7 @@ public class TwoPersonUtil {
|
|||
// private Integer dockFlag;
|
||||
// @Value("${oneLevelPerson.prefix}")
|
||||
// private String prefix;
|
||||
private static Integer dockFlag = 1;
|
||||
private static Integer dockFlag = 0;
|
||||
private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/";
|
||||
private static String username = "shuangkong";
|
||||
private static String password = "qinan@202604";
|
||||
|
|
@ -74,11 +74,14 @@ public class TwoPersonUtil {
|
|||
/*
|
||||
* 定时任务对接人
|
||||
* */
|
||||
public void scheduledPeopleCompany() {
|
||||
public void scheduledPeopleCompany() throws Exception {
|
||||
if (!dockFlag.equals(1)) return;
|
||||
List<TwoLevelUser> userList = closedAreaPersonApplyRepository.getDockAuthTmpInfoById(null);
|
||||
userList.addAll(closedAreaPersonApplyRepository.getDockAuthInfoById(null));
|
||||
dockUserReal(userList);
|
||||
for (TwoLevelUser item : userList) {
|
||||
dockOneLevelPerson(item.getUserCard(), item.getUserFaceImages(), item.getUserUid(), item.getUserName());
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
|
@ -112,7 +115,8 @@ public class TwoPersonUtil {
|
|||
userInfo.set("personType", 0);
|
||||
daHuaDeviceCommon.saveUser(userInfo);
|
||||
} else {
|
||||
// 一级门禁的长期人 一般都有权限,临时、相关方的不一定有。
|
||||
// 一级门禁的长期人 一般都有已经有权限了,
|
||||
// 临时、相关方的不一定有。 他们每日刷新权限所以不影响
|
||||
userByUserCard.getStr("validStartTime");
|
||||
userByUserCard.getStr("validEndTime");
|
||||
// true=在范围内,false=不在范围内
|
||||
|
|
@ -122,11 +126,6 @@ public class TwoPersonUtil {
|
|||
onePersonUtil.expirationDateRefreshedUserCard(userCard,DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "00:00:00",DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "23:59:59");
|
||||
}
|
||||
}
|
||||
|
||||
if (userByUserCard.isEmpty()) System.out.println(userByUserCard);
|
||||
if (userByUserCard.isEmpty()) System.out.println(userByUserCard);
|
||||
// 如果这个人存在 哪么 看一下今天有没有时间
|
||||
// 这个人不存在 新增这个人
|
||||
}
|
||||
|
||||
protected void dockUserReal(List<TwoLevelUser> userList) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package com.zcloud.primeport.plan.mjDevice.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TwoLevelCar {
|
||||
private String licenceNo;
|
||||
private String licenceType;
|
||||
private String hkIndexCode;
|
||||
private String khParkSysCode;
|
||||
}
|
||||
|
|
@ -43,6 +43,94 @@
|
|||
</if>
|
||||
order by c.id desc
|
||||
</select>
|
||||
<select id="getFgsCarToDay" resultType="com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar">
|
||||
SELECT
|
||||
caca.licence_no,
|
||||
GROUP_CONCAT( caca.licence_type ) licence_type,
|
||||
GROUP_CONCAT( areatmp.hk_index_code ) hk_index_code,
|
||||
GROUP_CONCAT( areatmp.kh_park_sys_code ) kh_park_sys_code
|
||||
FROM
|
||||
closed_area_car_apply caca
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
m.closed_area_id,
|
||||
GROUP_CONCAT( tmp.hk_index_code ) hk_index_code,
|
||||
GROUP_CONCAT( tmp.kh_park_sys_code ) kh_park_sys_code
|
||||
FROM
|
||||
mkmj m
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
mg.mkmj_id,
|
||||
GROUP_CONCAT( DISTINCT mg.hk_index_code ) hk_index_code,
|
||||
mg.kh_park_sys_code
|
||||
FROM
|
||||
mkmj_gate mg
|
||||
WHERE
|
||||
mg.gate_type = 'HGKM_MKMJ_GATE_TYPE_CAR'
|
||||
AND mg.gate_status = 2
|
||||
AND mg.delete_enum = 'FALSE'
|
||||
GROUP BY
|
||||
mg.mkmj_id,
|
||||
mg.kh_park_sys_code
|
||||
) tmp ON m.id = tmp.mkmj_id
|
||||
WHERE
|
||||
m.delete_enum = 'FALSE'
|
||||
AND m.mkmj_status = 2
|
||||
AND m.mkmj_level = 2
|
||||
AND m.mkmj_type = 'HGKM_MKMJ_CKM'
|
||||
GROUP BY
|
||||
m.closed_area_id
|
||||
) areatmp ON caca.closed_area_id = areatmp.closed_area_id
|
||||
WHERE
|
||||
caca.delete_enum = 'FALSE'
|
||||
AND caca.car_belong_type IN ( 1, 2, 3, 5 )
|
||||
AND caca.visit_end_time >= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||
AND caca.visit_start_time <= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||
and caca.audit_flag = 2
|
||||
<if test="licenceNo != null and licenceNo != ''">
|
||||
AND c.licence_no = #{licenceNo}
|
||||
</if>
|
||||
GROUP BY
|
||||
caca.licence_no,
|
||||
areatmp.kh_park_sys_code
|
||||
</select>
|
||||
<select id="dockTmpCarLevelTwo" resultType="com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar">
|
||||
SELECT
|
||||
caca.licence_no,
|
||||
GROUP_CONCAT( caca.licence_type ) licence_type,
|
||||
caca.level_two_mkmj_id,
|
||||
tmp.hk_index_code,
|
||||
tmp.kh_park_sys_code
|
||||
FROM
|
||||
closed_area_car_apply caca
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
mg.mkmj_id,
|
||||
GROUP_CONCAT( DISTINCT mg.hk_index_code ) hk_index_code,
|
||||
mg.kh_park_sys_code
|
||||
FROM
|
||||
mkmj_gate mg
|
||||
WHERE
|
||||
mg.gate_type = 'HGKM_MKMJ_GATE_TYPE_CAR'
|
||||
AND mg.gate_status = 2
|
||||
AND mg.delete_enum = 'FALSE'
|
||||
GROUP BY
|
||||
mg.mkmj_id,
|
||||
mg.kh_park_sys_code
|
||||
) tmp ON caca.level_two_mkmj_id = tmp.mkmj_id
|
||||
WHERE
|
||||
caca.delete_enum = 'FALSE'
|
||||
AND caca.car_belong_type = 4
|
||||
AND caca.visit_end_time >= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||
AND caca.visit_start_time <= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||
and caca.audit_flag = 2
|
||||
<if test="licenceNo != null and licenceNo != ''">
|
||||
AND c.licence_no = #{licenceNo}
|
||||
</if>
|
||||
GROUP BY
|
||||
caca.licence_no,
|
||||
caca.level_two_mkmj_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue