校验数据修改

This commit is contained in:
GUO 2024-06-01 18:40:18 +08:00
parent 85bea4d7d3
commit c0ea9f8db5
26 changed files with 410 additions and 174 deletions

View File

@ -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, "删除");
}
}

View File

@ -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());
}
/**

View File

@ -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);
}

View File

@ -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>

View File

@ -36,4 +36,6 @@ public interface ICarInfoService extends IService<CarInfo> {
CountCarModuleTypeVo countCarModuleType(Map<String, Object> map);
CarInfo queryById(String id);
CarInfo queryByCarNumber(String carNumber);
}

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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");

View File

@ -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"),

View File

@ -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")));
}

View File

@ -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")));
}

View File

@ -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);
}

View File

@ -118,4 +118,5 @@
</if>
</where>
</select>
</mapper>

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
/**
* 更新安全分数并重新下发通行权限

View File

@ -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) {

View File

@ -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);
}
}

View File

@ -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())) {

View File

@ -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")

View File

@ -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;
/**
* 创建时间

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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();

View File

@ -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);
}
}
}

View File

@ -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());
}
}