数据校验修改
This commit is contained in:
parent
2f97b5e3db
commit
5c9e1dc443
@ -25,4 +25,5 @@ public interface Cts {
|
|||||||
String TYPE = "type";
|
String TYPE = "type";
|
||||||
String TEAM_ID = "teamId";
|
String TEAM_ID = "teamId";
|
||||||
String IF_FROM_TASK_KEY = "ifFromTaskKey";
|
String IF_FROM_TASK_KEY = "ifFromTaskKey";
|
||||||
|
String DEPARTMENT_ID = "departmentId";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -131,4 +131,15 @@ public class XzHikvisionCompareDataController {
|
|||||||
public Result<JSONObject> checkCompareDataException(@ApiIgnore @RequestBody Map<String, Object> param) {
|
public Result<JSONObject> checkCompareDataException(@ApiIgnore @RequestBody Map<String, Object> param) {
|
||||||
return Result.success(xzHikvisionCompareDataService.checkCompareDataException(param));
|
return Result.success(xzHikvisionCompareDataService.checkCompareDataException(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "人员/车辆手动校验数据", notes = "人员/车辆手动校验数据", httpMethod = "POST")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||||
|
@ApiImplicitParam(name = "type", value = "1人员2车辆", paramType = "body", required = true, dataType = "Integer"),
|
||||||
|
})
|
||||||
|
@PostMapping(value = "/manualCompareData")
|
||||||
|
public Result manualCompareData(@ApiIgnore @RequestBody Map<String ,Object> param) {
|
||||||
|
xzHikvisionCompareDataService.manualCompareData(param);
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -58,4 +58,6 @@ public interface IXzHikvisionCompareDataService extends IService<XzHikvisionComp
|
|||||||
void addSuccessShow(String projectSn, String type);
|
void addSuccessShow(String projectSn, String type);
|
||||||
|
|
||||||
JSONObject checkCompareDataException(Map<String, Object> param);
|
JSONObject checkCompareDataException(Map<String, Object> param);
|
||||||
|
|
||||||
|
void manualCompareData(Map<String, Object> param);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,6 +32,7 @@ import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl;
|
|||||||
import com.zhgd.xmgl.modules.xz.entity.XzHikvisionCompareData;
|
import com.zhgd.xmgl.modules.xz.entity.XzHikvisionCompareData;
|
||||||
import com.zhgd.xmgl.modules.xz.mapper.XzHikvisionCompareDataMapper;
|
import com.zhgd.xmgl.modules.xz.mapper.XzHikvisionCompareDataMapper;
|
||||||
import com.zhgd.xmgl.modules.xz.service.IXzHikvisionCompareDataService;
|
import com.zhgd.xmgl.modules.xz.service.IXzHikvisionCompareDataService;
|
||||||
|
import com.zhgd.xmgl.task.HikvisionTask;
|
||||||
import com.zhgd.xmgl.util.*;
|
import com.zhgd.xmgl.util.*;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
@ -41,10 +42,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 星纵-海康数据校验失败记录
|
* @Description: 星纵-海康数据校验失败记录
|
||||||
@ -58,6 +56,9 @@ import java.util.Map;
|
|||||||
public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCompareDataMapper, XzHikvisionCompareData> implements IXzHikvisionCompareDataService {
|
public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCompareDataMapper, XzHikvisionCompareData> implements IXzHikvisionCompareDataService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICarInfoService carInfoService;
|
private ICarInfoService carInfoService;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private HikvisionTask hikvisionTask;
|
||||||
@Autowired
|
@Autowired
|
||||||
private XzHikvisionCompareDataMapper xzHikvisionCompareDataMapper;
|
private XzHikvisionCompareDataMapper xzHikvisionCompareDataMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -465,4 +466,23 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
|||||||
}
|
}
|
||||||
return (JSONObject) hashValues;
|
return (JSONObject) hashValues;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void manualCompareData(Map<String, Object> param) {
|
||||||
|
Integer type = MapUtils.getInteger(param, "type");
|
||||||
|
String projectSn = MapUtils.getString(param, Cts.PROJECT_SN);
|
||||||
|
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn);
|
||||||
|
try {
|
||||||
|
if (Objects.equals(type, 1)) {
|
||||||
|
//人员
|
||||||
|
hikvisionTask.compareHikvisionForEnterpriseEtc(projectInfoBySn);
|
||||||
|
} else if (Objects.equals(type, 2)) {
|
||||||
|
//车辆
|
||||||
|
hikvisionTask.compareHikvisionForCar(projectInfoBySn);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("", e);
|
||||||
|
addExceptionShowIfNull(projectSn);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -86,10 +86,10 @@ public class HikvisionTask {
|
|||||||
/**
|
/**
|
||||||
* 数据校验同步
|
* 数据校验同步
|
||||||
*/
|
*/
|
||||||
@SchedulerLock(name = "dataCompare", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
@SchedulerLock(name = "compareData", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
||||||
@Scheduled(cron = "0 0 3 * * ?")
|
@Scheduled(cron = "0 0 3 * * ?")
|
||||||
@RequestMapping("dataCompare")
|
@RequestMapping("compareData")
|
||||||
public void dataCompare() throws Exception {
|
public void compareData() throws Exception {
|
||||||
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>().eq(Project::getSyncHikvision, 1));
|
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>().eq(Project::getSyncHikvision, 1));
|
||||||
for (Project project : projects) {
|
for (Project project : projects) {
|
||||||
try {
|
try {
|
||||||
@ -104,7 +104,7 @@ public class HikvisionTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void compareHikvisionForEnterpriseEtc(Project project) throws Exception {
|
public void compareHikvisionForEnterpriseEtc(Project project) throws Exception {
|
||||||
//对比企业
|
//对比企业
|
||||||
JSONObject param = new JSONObject();
|
JSONObject param = new JSONObject();
|
||||||
HikvisionUtil.addPageParamIfAbsent(param);
|
HikvisionUtil.addPageParamIfAbsent(param);
|
||||||
@ -156,9 +156,11 @@ public class HikvisionTask {
|
|||||||
if (CollUtil.isEmpty(listJa)) {
|
if (CollUtil.isEmpty(listJa)) {
|
||||||
for (TeamInfo teamInfo : teamList) {
|
for (TeamInfo teamInfo : teamList) {
|
||||||
xzHikvisionCompareDataService.addCompareDataForTeam(project, teamInfo.getTeamName(), 0, 1, String.valueOf(teamInfo.getId()));
|
xzHikvisionCompareDataService.addCompareDataForTeam(project, teamInfo.getTeamName(), 0, 1, String.valueOf(teamInfo.getId()));
|
||||||
|
compareHikvisionForWorker(project, String.valueOf(teamInfo.getId()), 1);
|
||||||
}
|
}
|
||||||
for (DepartmentInfo departmentInfo : departmentInfoList) {
|
for (DepartmentInfo departmentInfo : departmentInfoList) {
|
||||||
xzHikvisionCompareDataService.addCompareDataForDepartment(project, departmentInfo.getDepartmentName(), 0, 1, String.valueOf(departmentInfo.getId()));
|
xzHikvisionCompareDataService.addCompareDataForDepartment(project, departmentInfo.getDepartmentName(), 0, 1, String.valueOf(departmentInfo.getId()));
|
||||||
|
compareHikvisionForWorker(project, String.valueOf(departmentInfo.getId()), 2);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//isc存在,平台也存在
|
//isc存在,平台也存在
|
||||||
@ -171,32 +173,51 @@ public class HikvisionTask {
|
|||||||
Map<String, DepartmentInfo> myDepartmentMap = departmentInfoList.stream().collect(Collectors.toMap(DepartmentInfo::getDepartmentName, Function.identity(), (o, o2) -> o2));
|
Map<String, DepartmentInfo> myDepartmentMap = departmentInfoList.stream().collect(Collectors.toMap(DepartmentInfo::getDepartmentName, Function.identity(), (o, o2) -> o2));
|
||||||
for (String name : nameSet) {
|
for (String name : nameSet) {
|
||||||
String index;
|
String index;
|
||||||
|
Integer type = null;
|
||||||
if (myTeamMap.containsKey(name) && !iscMap.containsKey(name)) {
|
if (myTeamMap.containsKey(name) && !iscMap.containsKey(name)) {
|
||||||
index = String.valueOf(myTeamMap.get(name).getId());
|
index = String.valueOf(myTeamMap.get(name).getId());
|
||||||
xzHikvisionCompareDataService.addCompareDataForTeam(project, name, 0, 1, index);
|
xzHikvisionCompareDataService.addCompareDataForTeam(project, name, 0, 1, index);
|
||||||
|
type = 1;
|
||||||
} else if (myDepartmentMap.containsKey(name) && !iscMap.containsKey(name)) {
|
} else if (myDepartmentMap.containsKey(name) && !iscMap.containsKey(name)) {
|
||||||
index = String.valueOf(myDepartmentMap.get(name).getId());
|
index = String.valueOf(myDepartmentMap.get(name).getId());
|
||||||
xzHikvisionCompareDataService.addCompareDataForDepartment(project, name, 0, 1, index);
|
xzHikvisionCompareDataService.addCompareDataForDepartment(project, name, 0, 1, index);
|
||||||
|
type = 2;
|
||||||
} else if ((!myTeamMap.containsKey(name) && !myDepartmentMap.containsKey(name)) && iscMap.containsKey(name)) {
|
} else if ((!myTeamMap.containsKey(name) && !myDepartmentMap.containsKey(name)) && iscMap.containsKey(name)) {
|
||||||
index = iscMap.get(name).getString("orgIndexCode");
|
index = iscMap.get(name).getString("orgIndexCode");
|
||||||
xzHikvisionCompareDataService.addCompareDataForTeam(project, name, 1, 0, index);
|
xzHikvisionCompareDataService.addCompareDataForTeam(project, name, 1, 0, index);
|
||||||
} else {
|
type = 1;
|
||||||
|
} else if (myTeamMap.containsKey(name) && iscMap.containsKey(name)) {
|
||||||
//班组存在和isc存在
|
//班组存在和isc存在
|
||||||
index = String.valueOf(myTeamMap.get(name).getId());
|
index = String.valueOf(myTeamMap.get(name).getId());
|
||||||
|
type = 1;
|
||||||
|
} else {
|
||||||
|
//部门存在和isc存在
|
||||||
|
index = String.valueOf(myDepartmentMap.get(name).getId());
|
||||||
|
type = 2;
|
||||||
}
|
}
|
||||||
compareHikvisionForWorker(project, index);
|
compareHikvisionForWorker(project, index, type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
xzHikvisionCompareDataService.addSuccessShow(project.getProjectSn(), "1");
|
xzHikvisionCompareDataService.addSuccessShow(project.getProjectSn(), "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void compareHikvisionForWorker(Project project, String orgIndex) throws Exception {
|
/**
|
||||||
|
* @param project
|
||||||
|
* @param orgIndex
|
||||||
|
* @param type 1班组 2部门
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
private void compareHikvisionForWorker(Project project, String orgIndex, Integer type) throws Exception {
|
||||||
JSONObject param = new JSONObject();
|
JSONObject param = new JSONObject();
|
||||||
HikvisionUtil.addPageParamIfAbsent(param);
|
HikvisionUtil.addPageParamIfAbsent(param);
|
||||||
param.put("orgIndexCode", orgIndex);
|
param.put("orgIndexCode", orgIndex);
|
||||||
JSONObject rtJo = hikvisionCall.getWorkerListByOrg(project, param);
|
JSONObject rtJo = hikvisionCall.getWorkerListByOrg(project, param);
|
||||||
IPage<WorkerInfo> workerPage = workerInfoService.selectWorkerInfoList(new MapBuilder<String, Object>().put(Cts.PROJECT_SN, project.getProjectSn()).put(Cts.TEAM_ID, orgIndex).build());
|
IPage<WorkerInfo> workerPage = workerInfoService.selectWorkerInfoList(new MapBuilder<String, Object>()
|
||||||
|
.put(Cts.PROJECT_SN, project.getProjectSn())
|
||||||
|
.put(type == 1, Cts.TEAM_ID, orgIndex)
|
||||||
|
.put(type == 2, Cts.DEPARTMENT_ID, orgIndex)
|
||||||
|
.build());
|
||||||
List<WorkerInfo> workerInfoList = workerPage.getRecords();
|
List<WorkerInfo> workerInfoList = workerPage.getRecords();
|
||||||
JSONObject dataJo = HikvisionUtil.getJSONObjectData(rtJo);
|
JSONObject dataJo = HikvisionUtil.getJSONObjectData(rtJo);
|
||||||
JSONArray listJa = dataJo.getJSONArray("list");
|
JSONArray listJa = dataJo.getJSONArray("list");
|
||||||
@ -235,7 +256,7 @@ public class HikvisionTask {
|
|||||||
xzHikvisionCompareDataService.addSuccessShow(project.getProjectSn(), "3");
|
xzHikvisionCompareDataService.addSuccessShow(project.getProjectSn(), "3");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void compareHikvisionForCar(Project project) throws Exception {
|
public void compareHikvisionForCar(Project project) throws Exception {
|
||||||
JSONObject param = new JSONObject();
|
JSONObject param = new JSONObject();
|
||||||
HikvisionUtil.addPageParamIfAbsent(param);
|
HikvisionUtil.addPageParamIfAbsent(param);
|
||||||
JSONObject rtJo = HikvisionUtil.getCarList(project, param);
|
JSONObject rtJo = HikvisionUtil.getCarList(project, param);
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.zhgd.xmgl.util;
|
package com.zhgd.xmgl.util;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 一个简单的mapParam构建器
|
* 一个简单的mapParam构建器
|
||||||
@ -30,38 +29,6 @@ public class MapBuilder<K, V> {
|
|||||||
this.mapParam = mapParam;
|
this.mapParam = mapParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* put方法,返回MapParamBuilder构建器
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* @param value
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public MapBuilder<K, V> put(K key, V value) {
|
|
||||||
mapParam.put(key, value);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除Key
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public MapBuilder<K, V> remove(K key) {
|
|
||||||
mapParam.remove(key);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回构建好的map参数
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public HashMap<K, V> build() {
|
|
||||||
return mapParam;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
HashMap<String, String> map = new MapBuilder<String, String>()
|
HashMap<String, String> map = new MapBuilder<String, String>()
|
||||||
.put("key1", "value1")
|
.put("key1", "value1")
|
||||||
@ -93,4 +60,50 @@ public class MapBuilder<K, V> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* put方法,返回MapParamBuilder构建器
|
||||||
|
*
|
||||||
|
* @param key
|
||||||
|
* @param value
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public MapBuilder<K, V> put(K key, V value) {
|
||||||
|
mapParam.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* put方法,返回MapParamBuilder构建器
|
||||||
|
*
|
||||||
|
* @param key
|
||||||
|
* @param value
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public MapBuilder<K, V> put(boolean isPut, K key, V value) {
|
||||||
|
if (isPut) {
|
||||||
|
mapParam.put(key, value);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除Key
|
||||||
|
*
|
||||||
|
* @param key
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public MapBuilder<K, V> remove(K key) {
|
||||||
|
mapParam.remove(key);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回构建好的map参数
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public HashMap<K, V> build() {
|
||||||
|
return mapParam;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user