数据校验修改
This commit is contained in:
parent
2f97b5e3db
commit
5c9e1dc443
@ -25,4 +25,5 @@ public interface Cts {
|
||||
String TYPE = "type";
|
||||
String TEAM_ID = "teamId";
|
||||
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) {
|
||||
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);
|
||||
|
||||
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.mapper.XzHikvisionCompareDataMapper;
|
||||
import com.zhgd.xmgl.modules.xz.service.IXzHikvisionCompareDataService;
|
||||
import com.zhgd.xmgl.task.HikvisionTask;
|
||||
import com.zhgd.xmgl.util.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
@ -41,10 +42,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description: 星纵-海康数据校验失败记录
|
||||
@ -58,6 +56,9 @@ import java.util.Map;
|
||||
public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCompareDataMapper, XzHikvisionCompareData> implements IXzHikvisionCompareDataService {
|
||||
@Autowired
|
||||
private ICarInfoService carInfoService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private HikvisionTask hikvisionTask;
|
||||
@Autowired
|
||||
private XzHikvisionCompareDataMapper xzHikvisionCompareDataMapper;
|
||||
@Autowired
|
||||
@ -465,4 +466,23 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
}
|
||||
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 * * ?")
|
||||
@RequestMapping("dataCompare")
|
||||
public void dataCompare() throws Exception {
|
||||
@RequestMapping("compareData")
|
||||
public void compareData() throws Exception {
|
||||
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>().eq(Project::getSyncHikvision, 1));
|
||||
for (Project project : projects) {
|
||||
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();
|
||||
HikvisionUtil.addPageParamIfAbsent(param);
|
||||
@ -156,9 +156,11 @@ public class HikvisionTask {
|
||||
if (CollUtil.isEmpty(listJa)) {
|
||||
for (TeamInfo teamInfo : teamList) {
|
||||
xzHikvisionCompareDataService.addCompareDataForTeam(project, teamInfo.getTeamName(), 0, 1, String.valueOf(teamInfo.getId()));
|
||||
compareHikvisionForWorker(project, String.valueOf(teamInfo.getId()), 1);
|
||||
}
|
||||
for (DepartmentInfo departmentInfo : departmentInfoList) {
|
||||
xzHikvisionCompareDataService.addCompareDataForDepartment(project, departmentInfo.getDepartmentName(), 0, 1, String.valueOf(departmentInfo.getId()));
|
||||
compareHikvisionForWorker(project, String.valueOf(departmentInfo.getId()), 2);
|
||||
}
|
||||
} else {
|
||||
//isc存在,平台也存在
|
||||
@ -171,32 +173,51 @@ public class HikvisionTask {
|
||||
Map<String, DepartmentInfo> myDepartmentMap = departmentInfoList.stream().collect(Collectors.toMap(DepartmentInfo::getDepartmentName, Function.identity(), (o, o2) -> o2));
|
||||
for (String name : nameSet) {
|
||||
String index;
|
||||
Integer type = null;
|
||||
if (myTeamMap.containsKey(name) && !iscMap.containsKey(name)) {
|
||||
index = String.valueOf(myTeamMap.get(name).getId());
|
||||
xzHikvisionCompareDataService.addCompareDataForTeam(project, name, 0, 1, index);
|
||||
type = 1;
|
||||
} else if (myDepartmentMap.containsKey(name) && !iscMap.containsKey(name)) {
|
||||
index = String.valueOf(myDepartmentMap.get(name).getId());
|
||||
xzHikvisionCompareDataService.addCompareDataForDepartment(project, name, 0, 1, index);
|
||||
type = 2;
|
||||
} else if ((!myTeamMap.containsKey(name) && !myDepartmentMap.containsKey(name)) && iscMap.containsKey(name)) {
|
||||
index = iscMap.get(name).getString("orgIndexCode");
|
||||
xzHikvisionCompareDataService.addCompareDataForTeam(project, name, 1, 0, index);
|
||||
} else {
|
||||
type = 1;
|
||||
} else if (myTeamMap.containsKey(name) && iscMap.containsKey(name)) {
|
||||
//班组存在和isc存在
|
||||
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");
|
||||
}
|
||||
|
||||
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();
|
||||
HikvisionUtil.addPageParamIfAbsent(param);
|
||||
param.put("orgIndexCode", orgIndex);
|
||||
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();
|
||||
JSONObject dataJo = HikvisionUtil.getJSONObjectData(rtJo);
|
||||
JSONArray listJa = dataJo.getJSONArray("list");
|
||||
@ -235,7 +256,7 @@ public class HikvisionTask {
|
||||
xzHikvisionCompareDataService.addSuccessShow(project.getProjectSn(), "3");
|
||||
}
|
||||
|
||||
private void compareHikvisionForCar(Project project) throws Exception {
|
||||
public void compareHikvisionForCar(Project project) throws Exception {
|
||||
JSONObject param = new JSONObject();
|
||||
HikvisionUtil.addPageParamIfAbsent(param);
|
||||
JSONObject rtJo = HikvisionUtil.getCarList(project, param);
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.zhgd.xmgl.util;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 一个简单的mapParam构建器
|
||||
@ -30,38 +29,6 @@ public class MapBuilder<K, V> {
|
||||
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) {
|
||||
HashMap<String, String> map = new MapBuilder<String, String>()
|
||||
.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