校验数据修改
This commit is contained in:
parent
85bea4d7d3
commit
c0ea9f8db5
@ -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, "删除");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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<String> workerFaceIds = getWorkerFaceIds(workerInfo, project);
|
||||
ArrayList<String> 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<Project>().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<String> workerFaceIds = getWorkerFaceIds(workerInfo, project);
|
||||
public void deleteWorkerFace(String uniqueId, WorkerInfo workerInfo, Project project) throws Exception {
|
||||
ArrayList<String> 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<String> getWorkerFaceIds(WorkerInfo workerInfo, Project project) throws Exception {
|
||||
JSONObject joData = getWorkerInfoByPersonId(workerInfo, project);
|
||||
private ArrayList<String> getWorkerFaceIds(String uniqueId, Project project) throws Exception {
|
||||
JSONObject joData = getWorkerInfoByPersonId(uniqueId, project);
|
||||
ArrayList<String> 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<Long> idList, String orgName) throws Exception {
|
||||
private void deleteOrgFromHttp(Project project, List<String> 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<Project>().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<Project>().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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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<CarInfo> {
|
||||
CountCarModuleTypeVo countCarModuleType(@Param("param") Map<String, Object> map);
|
||||
|
||||
CarInfo queryById(String id);
|
||||
|
||||
CarInfo queryByCarNumber(String carNumber);
|
||||
}
|
||||
|
||||
@ -79,4 +79,10 @@
|
||||
</include>
|
||||
where t.id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="queryByCarNumber" resultType="com.zhgd.xmgl.modules.car.entity.CarInfo">
|
||||
<include refid="selectTable">
|
||||
</include>
|
||||
where t.car_number = #{carNumber}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -36,4 +36,6 @@ public interface ICarInfoService extends IService<CarInfo> {
|
||||
CountCarModuleTypeVo countCarModuleType(Map<String, Object> map);
|
||||
|
||||
CarInfo queryById(String id);
|
||||
|
||||
CarInfo queryByCarNumber(String carNumber);
|
||||
}
|
||||
|
||||
@ -311,4 +311,9 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
||||
public CarInfo queryById(String id) {
|
||||
return baseMapper.queryById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CarInfo queryByCarNumber(String carNumber) {
|
||||
return baseMapper.queryByCarNumber(carNumber);
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,6 +30,8 @@ public interface IProjectService extends IService<Project> {
|
||||
|
||||
EntityMap getProjectInfoById(Map<String, Object> map);
|
||||
|
||||
ProjectInfoExtVo getProjectInfoBySn(String projectSn);
|
||||
|
||||
ProjectInfoExtVo getProjectInfoBySn(Map<String, Object> map);
|
||||
|
||||
List<EntityMap> selectCompanyProjectList(Map<String, Object> map);
|
||||
|
||||
@ -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<ProjectMapper, Project> 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<ProjectMapper, Project> 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<ProjectMapper, Project> impl
|
||||
*/
|
||||
@Value("${fmsMonitoringScreenRequestHost:}")
|
||||
private String fmsMonitoringScreenRequestHost;
|
||||
|
||||
/**
|
||||
* 施⼯监控⼤屏⻚⾯地址
|
||||
*/
|
||||
@Value("${fmsMonitoringScreenPageUrl:}")
|
||||
private String fmsMonitoringScreenPageUrl;
|
||||
String PROJECT_PREFIX_KEY = "projectInfoBySn:";
|
||||
|
||||
|
||||
public List<String> getProjectSnList(String sn) {
|
||||
if (StringUtils.isBlank(sn)) {
|
||||
@ -209,6 +203,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
||||
return projectMapper.getProjectInfoById(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectInfoExtVo getProjectInfoBySn(String projectSn) {
|
||||
return this.getProjectInfoBySn(new MapBuilder<String, Object>().put(Cts.PROJECT_SN, projectSn).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectInfoExtVo getProjectInfoBySn(Map<String, Object> map) {
|
||||
String projectSn = MapUtils.getString(map, "projectSn");
|
||||
|
||||
@ -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<DepartmentInfo> queryById(@RequestBody Map<String,Object> 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"),
|
||||
|
||||
@ -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<TeamInfo> queryById(@RequestBody Map<String,Object> map) {
|
||||
Result<TeamInfo> result = new Result<TeamInfo>();
|
||||
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")));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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<WorkerInfo> queryById(@RequestBody Map<String, Object> map) {
|
||||
return Result.success(workerInfoService.queryById(map));
|
||||
return Result.success(workerInfoService.queryById(MapUtils.getString(map, "id")));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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<TeamInfo> {
|
||||
@Select("SELECT id id, team_name `name`, 'team' AS 'type' FROM team_info " +
|
||||
"WHERE team_name LIKE '%${py}%' AND project_sn = #{projectSn}")
|
||||
List<OrgTreeVo> selectByPy(@Param("py") String py, @Param("projectSn") String projectSn);
|
||||
|
||||
}
|
||||
|
||||
@ -118,4 +118,5 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@ -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<DepartmentInfo> {
|
||||
List<GtMaterialInOutWarehouse> queryDepartmentAndTeamList(Map<String, Object> map);
|
||||
|
||||
List<Map<String, Object>> getDepartmentAndTeamList(Map<String, Object> map);
|
||||
|
||||
DepartmentInfo queryById(String id);
|
||||
}
|
||||
|
||||
@ -43,4 +43,6 @@ public interface ITeamInfoService extends IService<TeamInfo> {
|
||||
Map<String, Object> modGroup(ModGroupDto dto);
|
||||
|
||||
void delGroup(Map<String, Object> map);
|
||||
|
||||
TeamInfo queryById(String id);
|
||||
}
|
||||
|
||||
@ -140,7 +140,7 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
|
||||
|
||||
List<StatsTrendVo> statsEnterpriseRisk(Map<String, Object> map);
|
||||
|
||||
WorkerInfo queryById(Map<String, Object> map);
|
||||
WorkerInfo queryById(String id);
|
||||
|
||||
/**
|
||||
* 更新安全分数,并重新下发通行权限
|
||||
|
||||
@ -58,7 +58,7 @@ public class DepartmentInfoServiceImpl extends ServiceImpl<DepartmentInfoMapper,
|
||||
asyncJiLianDa.removeDepartmentInfo(departmentInfo);
|
||||
|
||||
//同步海康
|
||||
asyncHikvision.deleteDepartmentInfoForHikvision(departmentInfo);
|
||||
asyncHikvision.deleteDepartmentInfoForHikvision(departmentInfo.getId()+"", departmentInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -166,6 +166,11 @@ public class DepartmentInfoServiceImpl extends ServiceImpl<DepartmentInfoMapper,
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DepartmentInfo queryById(String id) {
|
||||
return departmentInfoMapper.selectById(id);
|
||||
}
|
||||
|
||||
static class MapComparatorAsc implements Comparator<Map<String, Object>> {
|
||||
@Override
|
||||
public int compare(Map<String, Object> m1, Map<String, Object> m2) {
|
||||
|
||||
@ -78,7 +78,7 @@ public class TeamInfoServiceImpl extends ServiceImpl<TeamInfoMapper, TeamInfo> 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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -488,7 +488,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
workerInfoDeleteMapper.insert(entity);
|
||||
|
||||
//同步海康
|
||||
asyncHikvision.deleteWorkerForHikvision(workerInfo);
|
||||
asyncHikvision.deleteWorkerForHikvision(String.valueOf(workerInfo.getId()), workerInfo);
|
||||
|
||||
}
|
||||
|
||||
@ -2167,8 +2167,8 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkerInfo queryById(Map<String, Object> map) {
|
||||
String id = MapUtils.getString(map, "id");
|
||||
public WorkerInfo queryById(String id) {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("id", id);
|
||||
IPage<WorkerInfo> page = selectWorkerInfoList(map);
|
||||
if (CollUtil.isEmpty(page.getRecords())) {
|
||||
|
||||
@ -119,7 +119,7 @@ public class XzHikvisionCompareDataController {
|
||||
@PostMapping(value = "/sync")
|
||||
public Result sync(@ApiIgnore @RequestBody HashMap<String, Object> map) throws Exception {
|
||||
xzHikvisionCompareDataService.sync(MapUtils.getString(map, "ids"));
|
||||
return Result.ok("已在后台同步和重试中");
|
||||
return Result.ok("已在后台同步中");
|
||||
}
|
||||
|
||||
@ApiOperation(value = "检查校验过程是否有异常情况", notes = "检查校验过程是否有异常情况", httpMethod = "POST")
|
||||
|
||||
@ -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;
|
||||
/**
|
||||
* 创建时间
|
||||
|
||||
@ -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<XzHikvisionCompareDataMapper, XzHikvisionCompareData> 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<XzHikvisionCo
|
||||
XzHikvisionCompareData data = baseMapper.selectById(id);
|
||||
Assert.notNull(data, "数据不存在");
|
||||
ThreadLocalUtil.addInKeyIfNotExist(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, data);
|
||||
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(new MapBuilder<String, Object>().put(Cts.PROJECT_SN, data.getProjectSn()).build());
|
||||
EnterpriseInfo enterpriseInfo = BeanUtil.toBean(enterpriseInfoService.getEnterpriseInfoById(new MapBuilder<String, Object>()
|
||||
.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<String, Object>()
|
||||
.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<XzHikvisionCo
|
||||
*/
|
||||
@Override
|
||||
public void compareRetrySuc() {
|
||||
// JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY);
|
||||
// if (tlJo != null) {
|
||||
// XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class);
|
||||
// xzHikvisionCompareDataMapper.deleteById(data.getId());
|
||||
// }
|
||||
JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, JSONObject.class);
|
||||
if (tlJo != null) {
|
||||
XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class);
|
||||
xzHikvisionCompareDataMapper.deleteById(data.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -262,8 +437,8 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
data.setCarNumber(carNumber);
|
||||
data.setExistIsc(existIsc);
|
||||
data.setExistMyPlatform(existMyPlatform);
|
||||
data.setType(1);
|
||||
data.setOurType(1);
|
||||
data.setType(4);
|
||||
data.setOurType(6);
|
||||
data.setUniqueId(uniqueId);
|
||||
baseMapper.insert(data);
|
||||
}
|
||||
|
||||
@ -177,7 +177,7 @@ public class XzEmergencyRecordServiceImpl extends ServiceImpl<XzEmergencyRecordM
|
||||
if (entity == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
WorkerInfo wi = workerInfoService.queryById(new MapBuilder<String, Object>().put("id", entity.getAlarmPersonId()).build());
|
||||
WorkerInfo wi = workerInfoService.queryById(String.valueOf(entity.getAlarmPersonId()));
|
||||
if (wi == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -213,7 +213,7 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl<XzHikvisionSyncMappe
|
||||
} else if (xzHikvisionSync.getOperate() == 2) {
|
||||
hikvisionCall.editWorkerFromHttp(workerInfo, p);
|
||||
} else if (xzHikvisionSync.getOperate() == 3) {
|
||||
hikvisionCall.deleteWorkerFromHttp(workerInfo, p);
|
||||
hikvisionCall.deleteWorkerFromHttp(String.valueOf(workerInfo.getId()), workerInfo, p);
|
||||
}
|
||||
} else if (xzHikvisionSync.getType() == 2) {
|
||||
if (xzHikvisionSync.getOperate() == 1) {
|
||||
@ -221,7 +221,7 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl<XzHikvisionSyncMappe
|
||||
} else if (xzHikvisionSync.getOperate() == 2) {
|
||||
hikvisionCall.editWorkerFace(workerInfo, p);
|
||||
} else if (xzHikvisionSync.getOperate() == 3) {
|
||||
hikvisionCall.deleteWorkerFace(workerInfo, p);
|
||||
hikvisionCall.deleteWorkerFace(String.valueOf(workerInfo.getId()), workerInfo, p);
|
||||
}
|
||||
} else if (xzHikvisionSync.getType() == 3) {
|
||||
StringBuilder sucSb = new StringBuilder();
|
||||
|
||||
@ -260,7 +260,7 @@ public class HikvisionTask {
|
||||
xzHikvisionCompareDataService.addCompareDataForCar(project, carNumber, 0, 1, uniqueId);
|
||||
} else if (!myMap.containsKey(carNumber) && iscMap.containsKey(carNumber)) {
|
||||
uniqueId = iscMap.get(carNumber).getString("vehicleId");
|
||||
xzHikvisionCompareDataService.addCompareDataForEnterprise(project, carNumber, 1, 0, uniqueId);
|
||||
xzHikvisionCompareDataService.addCompareDataForCar(project, carNumber, 1, 0, uniqueId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.zhgd.xmgl.util;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hikvision.artemis.sdk.Client;
|
||||
@ -12,6 +13,7 @@ import com.zhgd.xmgl.modules.project.entity.Project;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@ -196,4 +198,75 @@ public class HikvisionUtil {
|
||||
String host = "https://" + project.getArtemisConfigHost();
|
||||
return doPostRtObj(host, path, param.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除人脸
|
||||
*
|
||||
* @param project
|
||||
* @param workerFaceId
|
||||
* @return
|
||||
*/
|
||||
public static JSONObject deleteWorkerFace(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(doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除人员
|
||||
*
|
||||
* @param uniqueId
|
||||
* @param project
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static JSONObject deleteWorkerById(String uniqueId, 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(uniqueId));
|
||||
String body = jsonBody.toJSONString();
|
||||
return doPostRtObj(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据人员唯一字段获取人员详细信息
|
||||
*
|
||||
* @param project
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static JSONObject queryWorkerByCondition(Project project, JSONObject param) throws Exception {
|
||||
final String ARTEMIS_PATH = "/artemis";
|
||||
final String path = ARTEMIS_PATH + "/api/resource/v1/person/condition/personInfo";
|
||||
String host = "https://" + project.getArtemisConfigHost();
|
||||
return doPostRtObj(host, path, param.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询车辆列表v2
|
||||
*
|
||||
* @param carNumber
|
||||
* @param project
|
||||
* @param pageNo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static JSONObject getCarInfoListByCarNumber(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 doPostRtObj(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user