From c0ea9f8db5cc8eb10e97b01464647dbee7336976 Mon Sep 17 00:00:00 2001 From: GUO <1923636941@qq.com> Date: Sat, 1 Jun 2024 18:40:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E6=95=B0=E6=8D=AE=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/async/AsyncHikvision.java | 18 +- .../com/zhgd/xmgl/call/HikvisionCall.java | 98 ++----- .../modules/car/mapper/CarInfoMapper.java | 13 +- .../modules/car/mapper/xml/CarInfoMapper.xml | 6 + .../modules/car/service/ICarInfoService.java | 2 + .../car/service/impl/CarInfoServiceImpl.java | 5 + .../project/service/IProjectService.java | 2 + .../service/impl/ProjectServiceImpl.java | 17 +- .../controller/DepartmentInfoController.java | 16 +- .../worker/controller/TeamInfoController.java | 11 +- .../controller/WorkerInfoController.java | 3 +- .../modules/worker/mapper/TeamInfoMapper.java | 10 +- .../worker/mapper/xml/TeamInfoMapper.xml | 1 + .../service/IDepartmentInfoService.java | 6 +- .../worker/service/ITeamInfoService.java | 2 + .../worker/service/IWorkerInfoService.java | 2 +- .../impl/DepartmentInfoServiceImpl.java | 7 +- .../service/impl/TeamInfoServiceImpl.java | 7 +- .../service/impl/WorkerInfoServiceImpl.java | 6 +- .../XzHikvisionCompareDataController.java | 2 +- .../x/entity/XzHikvisionCompareData.java | 12 +- .../XzHikvisionCompareDataServiceImpl.java | 257 +++++++++++++++--- .../impl/XzEmergencyRecordServiceImpl.java | 2 +- .../impl/XzHikvisionSyncServiceImpl.java | 4 +- .../com/zhgd/xmgl/task/HikvisionTask.java | 2 +- .../com/zhgd/xmgl/util/HikvisionUtil.java | 73 +++++ 26 files changed, 410 insertions(+), 174 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index f9988d87d..821cbbee3 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -155,20 +155,20 @@ public class AsyncHikvision { } @Async("hikvisionExecutor") - public void deleteWorkerForHikvisionAsync(WorkerInfo workerInfo) { + public void deleteWorkerForHikvisionAsync(String uniqueId, WorkerInfo workerInfo) { try { - hikvisionCall.deleteWorkerForHikvision(workerInfo); + hikvisionCall.deleteWorkerForHikvision(uniqueId,workerInfo); } catch (Exception e) { log.error("海康:", e); sendNoticeForWorker(workerInfo, e, "删除"); } } - public void deleteWorkerForHikvision(WorkerInfo workerInfo) { + public void deleteWorkerForHikvision(String uniqueId, WorkerInfo workerInfo) { getSyncTimeWithInitIfAbsent(1, workerInfo.getId()); xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(1).setOperate(3).setWhoId(workerInfo.getId()).setBigType(1).setCreateDate(getSyncTimeWithInitIfAbsent(1, workerInfo.getId()))); xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(2).setOperate(3).setWhoId(workerInfo.getId()).setBigType(1).setCreateDate(getSyncTimeWithInitIfAbsent(1, workerInfo.getId()))); - asyncHikvision.deleteWorkerForHikvisionAsync(workerInfo); + asyncHikvision.deleteWorkerForHikvisionAsync(uniqueId,workerInfo); } public void addCarInfoForHikvision(CarInfo carInfo) { @@ -324,9 +324,9 @@ public class AsyncHikvision { } @Async("carInfoExecutor") - public void deleteTeamInfoForHikvision(TeamInfo teamInfo) { + public void deleteTeamInfoForHikvision(String id, TeamInfo teamInfo) { try { - hikvisionCall.deleteTeamInfoForHikvision(teamInfo); + hikvisionCall.deleteTeamInfoForHikvision(id,teamInfo); } catch (Exception e) { log.error("海康:", e); sendNoticeForOrg(teamInfo.getTeamName(), e, "删除"); @@ -364,12 +364,12 @@ public class AsyncHikvision { } @Async("carInfoExecutor") - public void deleteDepartmentInfoForHikvision(DepartmentInfo teamInfo) { + public void deleteDepartmentInfoForHikvision(String uniqueId, DepartmentInfo departmentInfo) { try { - hikvisionCall.deleteDepartmentInfoForHikvision(teamInfo); + hikvisionCall.deleteDepartmentInfoForHikvision(uniqueId,departmentInfo); } catch (Exception e) { log.error("海康:", e); - sendNoticeForOrg(teamInfo.getDepartmentName(), e, "删除"); + sendNoticeForOrg(departmentInfo.getDepartmentName(), e, "删除"); } } diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 467c169c1..3e388fa5e 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -939,7 +939,7 @@ public class HikvisionCall { if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) { return; } - JSONObject wiJo = getWorkerInfoByPersonId(workerInfo, project); + JSONObject wiJo = getWorkerInfoByPersonId(String.valueOf(workerInfo.getId()), project); if (wiJo != null) { editWorkerFromHttp(workerInfo, project); @@ -984,8 +984,7 @@ public class HikvisionCall { JSONObject jo = new JSONObject(); jo.put("personId", String.valueOf(workerInfo.getId())); jo.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + workerInfo.getFieldAcquisitionUrl()))); - String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); - return rs; + return HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); } public void sendNoticeAndSetStatusForCarInfo(String title, String rs, CarInfo carInfo, Integer type, Integer operate, Boolean setSuc, boolean isNotice) { @@ -1268,7 +1267,7 @@ public class HikvisionCall { * @param project */ public void editWorkerFace(WorkerInfo workerInfo, Project project) throws Exception { - ArrayList workerFaceIds = getWorkerFaceIds(workerInfo, project); + ArrayList workerFaceIds = getWorkerFaceIds(String.valueOf(workerInfo.getId()), project); if (CollUtil.isNotEmpty(workerFaceIds)) { String workerFaceId = workerFaceIds.get(0); final String ARTEMIS_PATH = "/artemis"; @@ -1287,70 +1286,43 @@ public class HikvisionCall { /** * 删除人员 * + * @param uniqueId * @param workerInfo */ - public void deleteWorkerForHikvision(WorkerInfo workerInfo) throws Exception { + public void deleteWorkerForHikvision(String uniqueId, WorkerInfo workerInfo) throws Exception { Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, workerInfo.getProjectSn())); if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) { return; } - deleteWorkerFace(workerInfo, project); + deleteWorkerFace(uniqueId,workerInfo, project); - deleteWorkerFromHttp(workerInfo, project); + deleteWorkerFromHttp(uniqueId,workerInfo, project); } - public void deleteWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception { - String rs = doDeleteWorkerFromHttp(workerInfo, project); + public void deleteWorkerFromHttp(String uniqueId, WorkerInfo workerInfo, Project project) throws Exception { + String rs = HikvisionUtil.deleteWorkerById(uniqueId, project).toJSONString(); sendNoticeAndSetStatusForWorker("删除人员到海康isc", rs, workerInfo, 1, 3); } - public String doDeleteWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception { - final String ARTEMIS_PATH = "/artemis"; - final String path = ARTEMIS_PATH + "/api/resource/v1/person/batch/delete"; - String host = "https://" + project.getArtemisConfigHost(); - JSONObject jsonBody = new JSONObject(); - jsonBody.put("personIds", Arrays.asList(workerInfo.getId())); - String body = jsonBody.toJSONString(); - String rs = HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); - return rs; - } - - public void deleteWorkerFace(WorkerInfo workerInfo, Project project) throws Exception { - ArrayList workerFaceIds = getWorkerFaceIds(workerInfo, project); + public void deleteWorkerFace(String uniqueId, WorkerInfo workerInfo, Project project) throws Exception { + ArrayList workerFaceIds = getWorkerFaceIds(uniqueId, project); if (CollUtil.isNotEmpty(workerFaceIds)) { for (String workerFaceId : workerFaceIds) { - JSONObject rsJo = sendDeleteWorkerFace(project, workerFaceId); + JSONObject rsJo = HikvisionUtil.deleteWorkerFace(project, workerFaceId); sendNoticeAndSetStatusForWorker("删除人员图片到海康isc", rsJo.toJSONString(), workerInfo, 2, 3); } } } - /** - * 删除人脸 - * - * @param project - * @param workerFaceId - * @return - */ - private JSONObject sendDeleteWorkerFace(Project project, String workerFaceId) throws Exception { - final String ARTEMIS_PATH = "/artemis"; - final String path = ARTEMIS_PATH + "/api/resource/v1/face/single/delete"; - String host = "https://" + project.getArtemisConfigHost(); - JSONObject jo = new JSONObject(); - jo.put("faceId", workerFaceId); - return JSON.parseObject(HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret())); - - } - /** * 获取人员人脸id列表 * - * @param workerInfo + * @param uniqueId * @param project * @return */ - private ArrayList getWorkerFaceIds(WorkerInfo workerInfo, Project project) throws Exception { - JSONObject joData = getWorkerInfoByPersonId(workerInfo, project); + private ArrayList getWorkerFaceIds(String uniqueId, Project project) throws Exception { + JSONObject joData = getWorkerInfoByPersonId(uniqueId, project); ArrayList ids = new ArrayList<>(); if (joData != null) { JSONArray ppJa = joData.getJSONArray("personPhoto"); @@ -1367,17 +1339,17 @@ public class HikvisionCall { /** * 获取单个劳务人员信息,根据人员id * - * @param workerInfo + * @param uniqueId * @param project * @return */ - private JSONObject getWorkerInfoByPersonId(WorkerInfo workerInfo, Project project) throws Exception { + private JSONObject getWorkerInfoByPersonId(String uniqueId, Project project) throws Exception { final String ARTEMIS_PATH = "/artemis"; final String path = ARTEMIS_PATH + "/api/resource/v1/person/condition/personInfo"; String host = "https://" + project.getArtemisConfigHost(); JSONObject jo = new JSONObject(); jo.put("paramName", "personId"); - jo.put("paramValue", Arrays.asList(String.valueOf(workerInfo.getId()))); + jo.put("paramValue", Arrays.asList(uniqueId)); String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); JSONObject joData = HikvisionUtil.getJSONObjectData(rs); Integer total = joData.getInteger("total"); @@ -1605,26 +1577,6 @@ public class HikvisionCall { sendNoticeAndSetStatusForCarInfo("添加车辆白名单到海康isc", rs, carInfo, 4, 1, null, true); } - /** - * 查询车辆列表v2 - * - * @param carNumber - * @param project - * @param pageNo - * @return - * @throws Exception - */ - private JSONObject getCarInfoListFromHttp(String carNumber, Project project, Integer pageNo) throws Exception { - final String ARTEMIS_PATH = "/artemis"; - final String path = ARTEMIS_PATH + "/api/resource/v2/vehicle/advance/vehicleList"; - String host = "https://" + project.getArtemisConfigHost(); - JSONObject jo = new JSONObject(); - jo.put("plateNo", carNumber);//模糊查询 - jo.put("pageNo", pageNo); - jo.put("pageSize", 1000); - return HikvisionUtil.doPostRtObj(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); - } - private HikvisionCarInfo getHikvisionCarInfo(CarInfo carInfo) { HikvisionCarInfo hikvisionCarInfo = new HikvisionCarInfo(); hikvisionCarInfo.setVehicleId(carInfo.getHikvisionVehicleId()); @@ -1837,7 +1789,7 @@ public class HikvisionCall { JSONObject o1 = null; int pageNo = 0; do { - JSONObject jo = getCarInfoListFromHttp(carNumber, project, ++pageNo); + JSONObject jo = HikvisionUtil.getCarInfoListByCarNumber(carNumber, project, ++pageNo); if (HikvisionUtil.isSuccess(jo)) { JSONObject dataJo = HikvisionUtil.getJSONObjectData(jo); total = dataJo.getInteger("total"); @@ -2043,7 +1995,7 @@ public class HikvisionCall { sendNoticeForOrg("更新组织到海康isc", rs, hikvisionOrganization.getOrgName()); } - private void deleteOrgFromHttp(Project project, List idList, String orgName) throws Exception { + private void deleteOrgFromHttp(Project project, List idList, String orgName) throws Exception { final String ARTEMIS_PATH = "/artemis"; final String path = ARTEMIS_PATH + "/api/resource/v1/org/batch/delete"; String host = "https://" + project.getArtemisConfigHost(); @@ -2070,14 +2022,15 @@ public class HikvisionCall { /** * 删除组织 * + * @param id * @param teamInfo */ - public void deleteTeamInfoForHikvision(TeamInfo teamInfo) throws Exception { + public void deleteTeamInfoForHikvision(String id, TeamInfo teamInfo) throws Exception { Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, teamInfo.getProjectSn())); if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) { return; } - deleteOrgFromHttp(project, Arrays.asList(teamInfo.getId()), teamInfo.getTeamName()); + deleteOrgFromHttp(project, Arrays.asList(id), teamInfo.getTeamName()); } /** @@ -2125,14 +2078,15 @@ public class HikvisionCall { /** * 删除组织 * + * @param uniqueId * @param departmentInfo */ - public void deleteDepartmentInfoForHikvision(DepartmentInfo departmentInfo) throws Exception { + public void deleteDepartmentInfoForHikvision(String uniqueId, DepartmentInfo departmentInfo) throws Exception { Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, departmentInfo.getProjectSn())); if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) { return; } - deleteOrgFromHttp(project, Arrays.asList(departmentInfo.getId()), departmentInfo.getDepartmentName()); + deleteOrgFromHttp(project, Arrays.asList(uniqueId), departmentInfo.getDepartmentName()); } /** diff --git a/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarInfoMapper.java b/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarInfoMapper.java index 3f85f7d8c..c0963b207 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarInfoMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarInfoMapper.java @@ -1,16 +1,15 @@ package com.zhgd.xmgl.modules.car.mapper; -import java.util.List; -import java.util.Map; - +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.annotation.DataScope; -import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.modules.car.entity.CarInfo; import com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import com.zhgd.xmgl.modules.car.entity.CarInfo; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; +import java.util.Map; /** * @Description: 车辆黑白名单管理 @@ -34,4 +33,6 @@ public interface CarInfoMapper extends BaseMapper { CountCarModuleTypeVo countCarModuleType(@Param("param") Map map); CarInfo queryById(String id); + + CarInfo queryByCarNumber(String carNumber); } diff --git a/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarInfoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarInfoMapper.xml index 34cd4dde7..b26d414bb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarInfoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarInfoMapper.xml @@ -79,4 +79,10 @@ where t.id = #{id} + + diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/ICarInfoService.java b/src/main/java/com/zhgd/xmgl/modules/car/service/ICarInfoService.java index c370304ee..a3d8061f8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/service/ICarInfoService.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/ICarInfoService.java @@ -36,4 +36,6 @@ public interface ICarInfoService extends IService { CountCarModuleTypeVo countCarModuleType(Map map); CarInfo queryById(String id); + + CarInfo queryByCarNumber(String carNumber); } diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java index 104dfdb6a..66b0e7410 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java @@ -311,4 +311,9 @@ public class CarInfoServiceImpl extends ServiceImpl impl public CarInfo queryById(String id) { return baseMapper.queryById(id); } + + @Override + public CarInfo queryByCarNumber(String carNumber) { + return baseMapper.queryByCarNumber(carNumber); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/IProjectService.java b/src/main/java/com/zhgd/xmgl/modules/project/service/IProjectService.java index 719b69e9a..e794ab84b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/IProjectService.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/IProjectService.java @@ -30,6 +30,8 @@ public interface IProjectService extends IService { EntityMap getProjectInfoById(Map map); + ProjectInfoExtVo getProjectInfoBySn(String projectSn); + ProjectInfoExtVo getProjectInfoBySn(Map map); List selectCompanyProjectList(Map map); diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectServiceImpl.java index 4e2723598..39658e3f0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectServiceImpl.java @@ -17,6 +17,7 @@ import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.redis.lock.RedisRepository; import com.zhgd.xmgl.async.AsyncHikvision; +import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.entity.vo.ZwProjectDataVo; import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant; import com.zhgd.xmgl.modules.basicdata.entity.*; @@ -62,10 +63,7 @@ import com.zhgd.xmgl.modules.video.entity.VideoItem; import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper; import com.zhgd.xmgl.modules.worker.entity.UfaceDev; import com.zhgd.xmgl.modules.worker.service.*; -import com.zhgd.xmgl.util.AddressUtil; -import com.zhgd.xmgl.util.DateUtils; -import com.zhgd.xmgl.util.EnvironmentUtil; -import com.zhgd.xmgl.util.MessageUtil; +import com.zhgd.xmgl.util.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -96,6 +94,7 @@ import java.util.stream.Collectors; public class ProjectServiceImpl extends ServiceImpl implements IProjectService { private static Pattern ticketCompile = Pattern.compile("(?<='ticket':')\\S+(?=')"); + String PROJECT_PREFIX_KEY = "projectInfoBySn:"; @Autowired private BimfaceConfigMapper bimfaceConfigMapper; @Autowired @@ -164,10 +163,8 @@ public class ProjectServiceImpl extends ServiceImpl impl private DictionaryItemMapper dictionaryItemMapper; @Autowired private IDictionaryItemService dictionaryItemService; - @Value("${defaultZwComapnySn}") private String defaultZwComapnySn; - @Resource private RedisRepository redisRepository; /** @@ -175,14 +172,11 @@ public class ProjectServiceImpl extends ServiceImpl impl */ @Value("${fmsMonitoringScreenRequestHost:}") private String fmsMonitoringScreenRequestHost; - /** * 施⼯监控⼤屏⻚⾯地址 */ @Value("${fmsMonitoringScreenPageUrl:}") private String fmsMonitoringScreenPageUrl; - String PROJECT_PREFIX_KEY = "projectInfoBySn:"; - public List getProjectSnList(String sn) { if (StringUtils.isBlank(sn)) { @@ -209,6 +203,11 @@ public class ProjectServiceImpl extends ServiceImpl impl return projectMapper.getProjectInfoById(map); } + @Override + public ProjectInfoExtVo getProjectInfoBySn(String projectSn) { + return this.getProjectInfoBySn(new MapBuilder().put(Cts.PROJECT_SN, projectSn).build()); + } + @Override public ProjectInfoExtVo getProjectInfoBySn(Map map) { String projectSn = MapUtils.getString(map, "projectSn"); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/DepartmentInfoController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/DepartmentInfoController.java index 628435a74..cf0ad5157 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/DepartmentInfoController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/DepartmentInfoController.java @@ -9,6 +9,7 @@ import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.gt.entity.GtMaterialInOutWarehouse; import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo; +import com.zhgd.xmgl.modules.worker.entity.TeamInfo; import com.zhgd.xmgl.modules.worker.service.IDepartmentInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -102,8 +103,21 @@ public class DepartmentInfoController { return Result.ok(); } + /** + * 通过id查询 + * @param + * @return + */ + @ApiOperation(value = "通过id查询劳务人员部门信息", notes = "通过id查询劳务人员部门信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "劳务人员部门ID", paramType = "body", required = true, dataType = "String") + @PostMapping(value = "/queryById") + public Result queryById(@RequestBody Map map) { + return Result.success(departmentInfoService.queryById(MapUtils.getString(map,"id"))); + } - @ApiOperation(value = "列表查询劳务人员部门信息", notes = "列表查询劳务人员部门信息", httpMethod = "POST") + + + @ApiOperation(value = "列表查询劳务人员部门信息", notes = "列表查询劳务人员部门信息", httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "enterpriseId", value = "企业ID", paramType = "body", required = true, dataType = "String"), @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"), diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/TeamInfoController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/TeamInfoController.java index a52c1f99c..a6f372298 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/TeamInfoController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/TeamInfoController.java @@ -8,7 +8,6 @@ import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.worker.entity.TeamInfo; import com.zhgd.xmgl.modules.worker.service.ITeamInfoService; -import com.zhgd.xmgl.util.MessageUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -111,15 +110,7 @@ public class TeamInfoController { @ApiImplicitParam(name = "id", value = "人员班组ID", paramType = "body", required = true, dataType = "Integer") @PostMapping(value = "/queryById") public Result queryById(@RequestBody Map map) { - Result result = new Result(); - TeamInfo teamInfo = teamInfoService.getById(MapUtils.getString(map,"id")); - if(teamInfo==null) { - result.error500(MessageUtil.get("notFindErr")); - }else { - result.setResult(teamInfo); - result.setSuccess(true); - } - return result; + return Result.success(teamInfoService.queryById(MapUtils.getString(map,"id"))); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java index c36ff7588..a4274fd3a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java @@ -11,7 +11,6 @@ import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import com.zhgd.xmgl.modules.worker.entity.vo.*; import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService; -import com.zhgd.xmgl.util.MessageUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -112,7 +111,7 @@ public class WorkerInfoController { @ApiImplicitParam(name = "id", value = "劳务人员ID", paramType = "body", required = true, dataType = "Integer") @PostMapping(value = "/queryById") public Result queryById(@RequestBody Map map) { - return Result.success(workerInfoService.queryById(map)); + return Result.success(workerInfoService.queryById(MapUtils.getString(map, "id"))); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/TeamInfoMapper.java b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/TeamInfoMapper.java index 3c6d3d4fc..30ee4bf2f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/TeamInfoMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/TeamInfoMapper.java @@ -1,21 +1,20 @@ package com.zhgd.xmgl.modules.worker.mapper; -import java.util.List; -import java.util.Map; - +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.wflow.bean.vo.OrgTreeVo; import com.zhgd.jeecg.common.mybatis.EntityMap; -import com.zhgd.xmgl.modules.basicdata.entity.DictionariesRecord; import com.zhgd.xmgl.modules.worker.entity.TeamInfo; import com.zhgd.xmgl.modules.worker.entity.vo.GroupVo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; +import java.util.Map; + /** * @Description: 人员班组 * @author: pds @@ -62,4 +61,5 @@ public interface TeamInfoMapper extends BaseMapper { @Select("SELECT id id, team_name `name`, 'team' AS 'type' FROM team_info " + "WHERE team_name LIKE '%${py}%' AND project_sn = #{projectSn}") List selectByPy(@Param("py") String py, @Param("projectSn") String projectSn); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/TeamInfoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/TeamInfoMapper.xml index 65f14decc..12ce5ba72 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/TeamInfoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/TeamInfoMapper.xml @@ -118,4 +118,5 @@ + diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IDepartmentInfoService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IDepartmentInfoService.java index c6b379803..98afc1bab 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IDepartmentInfoService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IDepartmentInfoService.java @@ -1,10 +1,8 @@ package com.zhgd.xmgl.modules.worker.service; -import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.gt.entity.GtMaterialInOutWarehouse; import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo; -import com.baomidou.mybatisplus.extension.service.IService; -import org.apache.hadoop.yarn.webapp.hamlet.Hamlet; import java.util.List; import java.util.Map; @@ -34,4 +32,6 @@ public interface IDepartmentInfoService extends IService { List queryDepartmentAndTeamList(Map map); List> getDepartmentAndTeamList(Map map); + + DepartmentInfo queryById(String id); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/ITeamInfoService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/ITeamInfoService.java index a3ef16d9a..add38a169 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/ITeamInfoService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/ITeamInfoService.java @@ -43,4 +43,6 @@ public interface ITeamInfoService extends IService { Map modGroup(ModGroupDto dto); void delGroup(Map map); + + TeamInfo queryById(String id); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java index 5f150b7f7..187998742 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java @@ -140,7 +140,7 @@ public interface IWorkerInfoService extends IService { List statsEnterpriseRisk(Map map); - WorkerInfo queryById(Map map); + WorkerInfo queryById(String id); /** * 更新安全分数,并重新下发通行权限 diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/DepartmentInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/DepartmentInfoServiceImpl.java index d1f6f6172..4ffc95744 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/DepartmentInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/DepartmentInfoServiceImpl.java @@ -58,7 +58,7 @@ public class DepartmentInfoServiceImpl extends ServiceImpl> { @Override public int compare(Map m1, Map m2) { diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/TeamInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/TeamInfoServiceImpl.java index 7af95a672..222a810a8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/TeamInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/TeamInfoServiceImpl.java @@ -78,7 +78,7 @@ public class TeamInfoServiceImpl extends ServiceImpl i asyncJiLianDa.removeTeamInfo(teamInfo); //同步海康 - asyncHikvision.deleteTeamInfoForHikvision(teamInfo); + asyncHikvision.deleteTeamInfoForHikvision(teamInfo.getId()+"",teamInfo); } @Override @@ -286,4 +286,9 @@ socialCode 班组所属的劳务公司统一社会信用代码 string 是 } teamInfoMapper.deleteById(teamInfo.getId()); } + + @Override + public TeamInfo queryById(String id) { + return getById(id); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index d5205dbf3..1a9556d63 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -488,7 +488,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl map) { - String id = MapUtils.getString(map, "id"); + public WorkerInfo queryById(String id) { + HashMap map = new HashMap<>(); map.put("id", id); IPage page = selectWorkerInfoList(map); if (CollUtil.isEmpty(page.getRecords())) { diff --git a/src/main/java/com/zhgd/xmgl/modules/x/controller/XzHikvisionCompareDataController.java b/src/main/java/com/zhgd/xmgl/modules/x/controller/XzHikvisionCompareDataController.java index 02a63ddae..5bdf87bac 100644 --- a/src/main/java/com/zhgd/xmgl/modules/x/controller/XzHikvisionCompareDataController.java +++ b/src/main/java/com/zhgd/xmgl/modules/x/controller/XzHikvisionCompareDataController.java @@ -119,7 +119,7 @@ public class XzHikvisionCompareDataController { @PostMapping(value = "/sync") public Result sync(@ApiIgnore @RequestBody HashMap map) throws Exception { xzHikvisionCompareDataService.sync(MapUtils.getString(map, "ids")); - return Result.ok("已在后台同步和重试中"); + return Result.ok("已在后台同步中"); } @ApiOperation(value = "检查校验过程是否有异常情况", notes = "检查校验过程是否有异常情况", httpMethod = "POST") diff --git a/src/main/java/com/zhgd/xmgl/modules/x/entity/XzHikvisionCompareData.java b/src/main/java/com/zhgd/xmgl/modules/x/entity/XzHikvisionCompareData.java index 4528dad74..ae7d7ce51 100644 --- a/src/main/java/com/zhgd/xmgl/modules/x/entity/XzHikvisionCompareData.java +++ b/src/main/java/com/zhgd/xmgl/modules/x/entity/XzHikvisionCompareData.java @@ -1,14 +1,14 @@ package com.zhgd.xmgl.modules.x.entity; -import java.io.Serializable; - import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import org.jeecgframework.poi.excel.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; /** * @Description: 星纵-海康数据校验失败记录 @@ -83,12 +83,14 @@ public class XzHikvisionCompareData implements Serializable { @ApiModelProperty(value = "类型1组织2人员信息3人员照片4车辆信息") private java.lang.Integer type; /** - * 类型1企业2部门3班组4人员5人员图片 + * 类型1企业2部门3班组4人员5人员图片6车辆 */ + @ApiModelProperty(value = "类型1企业2部门3班组4人员5人员图片6车辆") private java.lang.Integer ourType; /** * 唯一id */ + @ApiModelProperty(value = "唯一id") private java.lang.String uniqueId; /** * 创建时间 diff --git a/src/main/java/com/zhgd/xmgl/modules/x/service/impl/XzHikvisionCompareDataServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/x/service/impl/XzHikvisionCompareDataServiceImpl.java index b8c7eaadc..9f10404da 100644 --- a/src/main/java/com/zhgd/xmgl/modules/x/service/impl/XzHikvisionCompareDataServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/x/service/impl/XzHikvisionCompareDataServiceImpl.java @@ -16,11 +16,19 @@ import com.zhgd.redis.lock.RedisRepository; import com.zhgd.xmgl.async.AsyncHikvision; import com.zhgd.xmgl.call.HikvisionCall; import com.zhgd.xmgl.constant.Cts; +import com.zhgd.xmgl.modules.car.entity.CarInfo; +import com.zhgd.xmgl.modules.car.service.ICarInfoService; import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.entity.vo.ProjectInfoExtVo; import com.zhgd.xmgl.modules.project.service.impl.ProjectServiceImpl; +import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo; import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; +import com.zhgd.xmgl.modules.worker.entity.TeamInfo; +import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; +import com.zhgd.xmgl.modules.worker.service.ITeamInfoService; +import com.zhgd.xmgl.modules.worker.service.impl.DepartmentInfoServiceImpl; import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseInfoServiceImpl; +import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl; import com.zhgd.xmgl.modules.x.entity.XzHikvisionCompareData; import com.zhgd.xmgl.modules.x.mapper.XzHikvisionCompareDataMapper; import com.zhgd.xmgl.modules.x.service.IXzHikvisionCompareDataService; @@ -48,12 +56,23 @@ import java.util.Map; @Transactional(rollbackFor = Exception.class) @Slf4j public class XzHikvisionCompareDataServiceImpl extends ServiceImpl implements IXzHikvisionCompareDataService { + @Autowired + private ICarInfoService carInfoService; @Autowired private XzHikvisionCompareDataMapper xzHikvisionCompareDataMapper; @Autowired private EnterpriseInfoServiceImpl enterpriseInfoService; @Lazy @Autowired + private DepartmentInfoServiceImpl departmentInfoService; + @Lazy + @Autowired + private WorkerInfoServiceImpl workerInfoService; + @Lazy + @Autowired + private ITeamInfoService teamInfoService; + @Lazy + @Autowired private AsyncHikvision asyncHikvision; @Lazy @Autowired @@ -131,49 +150,205 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl().put(Cts.PROJECT_SN, data.getProjectSn()).build()); - EnterpriseInfo enterpriseInfo = BeanUtil.toBean(enterpriseInfoService.getEnterpriseInfoById(new MapBuilder() - .put(Cts.PROJECT_SN, data.getProjectSn()).put(Cts.ENTERPRISE_ID, data.getUniqueId()).build()), EnterpriseInfo.class); - if (data.getExistIsc() == 1 && data.getExistMyPlatform() == 0) { - //查询id是否存在平台,存在就更新,不存在就删除 - if (enterpriseInfo != null) { - //同步海康 - asyncHikvision.editEnterpriseInfoForHikvision(enterpriseInfo); - } else { - asyncHikvision.deleteEnterpriseInfoForHikvision(data.getUniqueId(), data.getProjectSn(), data.getOrgName()); - } - } else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) { - //查询id是否存在isc,存在就更新,不存在就新增 - JSONObject param = new JSONObject(); - param.put("orgIndexCodes", Collections.singletonList(data.getUniqueId())); - JSONObject rtJo = hikvisionCall.getOrgListByIndex(projectInfoBySn, param); - if (HikvisionUtil.isSuccess(rtJo)) { - JSONArray list = HikvisionUtil.getJSONObjectData(rtJo).getJSONArray("list"); - if (CollUtil.isEmpty(list)) { - //新增 - asyncHikvision.addEnterpriseInfoForHikvision(enterpriseInfo); - } else { - //更新 - asyncHikvision.editEnterpriseInfoForHikvision(enterpriseInfo); - } - } else { - log.error("校验数据同步海康失败,失败原因:{}", rtJo.toJSONString()); - } + + Integer ourType = data.getOurType(); + if (ourType == 1) { + //企业 + syncEnterprise(data); + } else if (ourType == 2) { + //部门 + syncDepartment(data); + } else if (ourType == 3) { + //班组 + syncTeam(data); + } else if (ourType == 4 || ourType == 5) { + //人员和人脸 + syncWorker(data); + } else if (ourType == 6) { + //车辆 + syncCar(data); } } } + private void syncEnterprise(XzHikvisionCompareData data) throws Exception { + ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(data.getProjectSn()); + EnterpriseInfo enterpriseInfo = BeanUtil.toBean(enterpriseInfoService.getEnterpriseInfoById(new MapBuilder() + .put(Cts.PROJECT_SN, data.getProjectSn()).put(Cts.ENTERPRISE_ID, data.getUniqueId()).build()), EnterpriseInfo.class); + if (data.getExistIsc() == 1 && data.getExistMyPlatform() == 0) { + //查询id是否存在平台,存在就更新,不存在就删除 + if (enterpriseInfo != null) { + //同步海康 + asyncHikvision.editEnterpriseInfoForHikvision(enterpriseInfo); + } else { + asyncHikvision.deleteEnterpriseInfoForHikvision(data.getUniqueId(), data.getProjectSn(), data.getOrgName()); + } + } else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) { + //查询id是否存在isc,存在就更新,不存在就新增 + JSONObject param = new JSONObject(); + param.put("orgIndexCodes", Collections.singletonList(data.getUniqueId())); + JSONObject rtJo = hikvisionCall.getOrgListByIndex(projectInfoBySn, param); + if (HikvisionUtil.isSuccess(rtJo)) { + JSONArray list = HikvisionUtil.getJSONObjectData(rtJo).getJSONArray("list"); + if (CollUtil.isEmpty(list)) { + //新增 + asyncHikvision.addEnterpriseInfoForHikvision(enterpriseInfo); + } else { + //更新 + asyncHikvision.editEnterpriseInfoForHikvision(enterpriseInfo); + } + } else { + log.error("校验数据同步海康失败,失败原因:{}", rtJo.toJSONString()); + } + } + } + + private void syncTeam(XzHikvisionCompareData data) throws Exception { + ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(data.getProjectSn()); + TeamInfo teamInfo = teamInfoService.queryById(data.getUniqueId()); + if (data.getExistIsc() == 1 && data.getExistMyPlatform() == 0) { + //查询id是否存在平台,存在就更新,不存在就删除 + if (teamInfo != null) { + //同步海康 + asyncHikvision.editTeamInfoForHikvision(teamInfo); + } else { + teamInfo = new TeamInfo(); + teamInfo.setTeamName(data.getOrgName()); + asyncHikvision.deleteTeamInfoForHikvision(data.getUniqueId(), teamInfo); + } + } else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) { + //查询id是否存在isc,存在就更新,不存在就新增 + JSONObject param = new JSONObject(); + param.put("orgIndexCodes", Collections.singletonList(data.getUniqueId())); + JSONObject rtJo = hikvisionCall.getOrgListByIndex(projectInfoBySn, param); + if (HikvisionUtil.isSuccess(rtJo)) { + JSONArray list = HikvisionUtil.getJSONObjectData(rtJo).getJSONArray("list"); + if (CollUtil.isEmpty(list)) { + //新增 + asyncHikvision.addTeamInfoForHikvision(teamInfo); + } else { + //更新 + asyncHikvision.editTeamInfoForHikvision(teamInfo); + } + } else { + log.error("校验数据同步海康失败,失败原因:{}", rtJo.toJSONString()); + } + } + } + + + private void syncDepartment(XzHikvisionCompareData data) throws Exception { + ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(data.getProjectSn()); + DepartmentInfo departmentInfo = departmentInfoService.queryById(data.getUniqueId()); + if (data.getExistIsc() == 1 && data.getExistMyPlatform() == 0) { + //查询id是否存在平台,存在就更新,不存在就删除 + if (departmentInfo != null) { + //同步海康 + asyncHikvision.editDepartmentInfoForHikvision(departmentInfo); + } else { + departmentInfo = new DepartmentInfo(); + departmentInfo.setDepartmentName(data.getOrgName()); + asyncHikvision.deleteDepartmentInfoForHikvision(data.getUniqueId(), departmentInfo); + } + } else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) { + //查询id是否存在isc,存在就更新,不存在就新增 + JSONObject param = new JSONObject(); + param.put("orgIndexCodes", Collections.singletonList(data.getUniqueId())); + JSONObject rtJo = hikvisionCall.getOrgListByIndex(projectInfoBySn, param); + if (HikvisionUtil.isSuccess(rtJo)) { + JSONArray list = HikvisionUtil.getJSONObjectData(rtJo).getJSONArray("list"); + if (CollUtil.isEmpty(list)) { + //新增 + asyncHikvision.addDepartmentInfoForHikvision(departmentInfo); + } else { + //更新 + asyncHikvision.editDepartmentInfoForHikvision(departmentInfo); + } + } else { + log.error("校验数据同步海康失败,失败原因:{}", rtJo.toJSONString()); + } + } + } + + + private void syncWorker(XzHikvisionCompareData data) throws Exception { + ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(data.getProjectSn()); + WorkerInfo workerInfo = workerInfoService.queryById(data.getUniqueId()); + if (data.getExistIsc() == 1 && data.getExistMyPlatform() == 0) { + //查询id是否存在平台,存在就更新,不存在就删除 + if (workerInfo != null) { + //同步海康 + asyncHikvision.editWorkerForHikvision(workerInfo); + } else { + workerInfo = new WorkerInfo(); + workerInfo.setWorkerName(data.getWorkerName()); + asyncHikvision.deleteWorkerForHikvision(data.getUniqueId(), workerInfo); + } + } else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) { + //查询id是否存在isc,存在就更新,不存在就新增 + JSONObject param = new JSONObject(); + param.put("paramName", "certificateNo"); + param.put("paramValue", Collections.singletonList(data.getIdCard())); + JSONObject rtJo = HikvisionUtil.queryWorkerByCondition(projectInfoBySn, param); + if (HikvisionUtil.isSuccess(rtJo)) { + JSONArray list = HikvisionUtil.getJSONObjectData(rtJo).getJSONArray("list"); + if (CollUtil.isEmpty(list)) { + //新增 + asyncHikvision.addWorkerForHikvision(workerInfo); + } else { + //更新 + asyncHikvision.editWorkerForHikvision(workerInfo); + } + } else { + log.error("校验数据同步海康失败,失败原因:{}", rtJo.toJSONString()); + } + } + } + + + private void syncCar(XzHikvisionCompareData data) throws Exception { + ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(data.getProjectSn()); + CarInfo carInfo = carInfoService.queryById(data.getUniqueId()); + if (data.getExistIsc() == 1 && data.getExistMyPlatform() == 0) { + //查询id是否存在平台,存在就更新,不存在就删除 + if (carInfo != null) { + //同步海康 + asyncHikvision.editCarInfoForHikvision(carInfo, carInfo); + } else { + carInfo = new CarInfo(); + carInfo.setCarNumber(data.getCarNumber()); + asyncHikvision.deleteCarInfoForHikvision(carInfo, false); + } + } else if (data.getExistIsc() == 0 && data.getExistMyPlatform() == 1) { + //查询id是否存在isc,存在就更新,不存在就新增 + JSONObject rtJo = HikvisionUtil.getCarInfoListByCarNumber(data.getCarNumber(), projectInfoBySn, 1); + if (HikvisionUtil.isSuccess(rtJo)) { + JSONArray list = HikvisionUtil.getJSONObjectData(rtJo).getJSONArray("list"); + if (CollUtil.isEmpty(list)) { + //新增 + asyncHikvision.addCarInfoForHikvision(carInfo); + } else { + //更新 + asyncHikvision.editCarInfoForHikvisionAsync(carInfo, carInfo); + } + } else { + log.error("校验数据同步海康失败,失败原因:{}", rtJo.toJSONString()); + } + } + } + + /** * 数据校验重试失败 */ @Override public void compareRetryFail() { -// JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY); -// if (tlJo != null) { -// XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class); -// data.setSyncResult(2); -// xzHikvisionCompareDataMapper.updateById(data); -// } + JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, JSONObject.class); + if (tlJo != null) { + XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class); + data.setSyncResult(2); + xzHikvisionCompareDataMapper.updateById(data); + } } /** @@ -181,11 +356,11 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl().put("id", entity.getAlarmPersonId()).build()); + WorkerInfo wi = workerInfoService.queryById(String.valueOf(entity.getAlarmPersonId())); if (wi == null) { return; } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzHikvisionSyncServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzHikvisionSyncServiceImpl.java index 0817d69e9..ce424a310 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzHikvisionSyncServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzHikvisionSyncServiceImpl.java @@ -213,7 +213,7 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl