车辆修改
This commit is contained in:
parent
4e5bf24b14
commit
ea985ee01f
@ -1002,15 +1002,22 @@ public class HikvisionCall {
|
||||
JSONObject jo = JSONObject.parseObject(rs);
|
||||
String code = jo.getString("code");
|
||||
if (callSuc) {
|
||||
JSONObject dataJo = jo.getJSONObject("data");
|
||||
Optional<JSONArray> fOp = Optional.ofNullable(dataJo).map(o -> o.getJSONArray("failures"));
|
||||
if (fOp.isPresent() && fOp.get().size() != 0) {
|
||||
if ("0x00052102".equals(fOp.get().getJSONObject(0).getString("code"))) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车辆绑定的人员在isc不存在";
|
||||
title += "失败";
|
||||
Object data = jo.get("data");
|
||||
if (data instanceof JSONObject) {
|
||||
JSONObject dataJo = jo.getJSONObject("data");
|
||||
Optional<JSONArray> fOp = Optional.ofNullable(dataJo).map(o -> o.getJSONArray("failures"));
|
||||
if (fOp.isPresent() && fOp.get().size() != 0) {
|
||||
if ("0x00052102".equals(fOp.get().getJSONObject(0).getString("code"))) {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:车辆绑定的人员在isc不存在";
|
||||
title += "失败";
|
||||
} else {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:下发异常";
|
||||
title += "失败";
|
||||
}
|
||||
} else {
|
||||
msg = "同步失败,车牌号码:" + carInfo.getCarNumber() + "。失败原因:下发异常";
|
||||
title += "失败";
|
||||
msg = "同步成功,车牌号码:" + carInfo.getCarNumber();
|
||||
title += "成功";
|
||||
success = true;
|
||||
}
|
||||
} else {
|
||||
msg = "同步成功,车牌号码:" + carInfo.getCarNumber();
|
||||
@ -1426,9 +1433,6 @@ public class HikvisionCall {
|
||||
if (carInfo.getIsBlack() == 0) {
|
||||
handleAlarmCar(project, carInfo);
|
||||
}
|
||||
//根据车牌号删除车辆
|
||||
JSONObject oldCarInfo = searchCarInfoByCarNumberFromHttp(carInfo.getCarNumber(), project);
|
||||
|
||||
cancelCharge(project, carInfo);
|
||||
if (Objects.equals(carInfo.getCarModuleType(), 1)) {
|
||||
//删除预约车辆
|
||||
@ -1570,8 +1574,7 @@ public class HikvisionCall {
|
||||
|
||||
private String getRemoteCarIdByCarNumber(String carNumber, Project project) throws Exception {
|
||||
JSONObject oldCarInfo = searchCarInfoByCarNumberFromHttp(carNumber, project);
|
||||
|
||||
return oldCarInfo.getString("vehicleId");
|
||||
return oldCarInfo == null ? null : oldCarInfo.getString("vehicleId");
|
||||
}
|
||||
|
||||
|
||||
@ -1583,14 +1586,14 @@ public class HikvisionCall {
|
||||
* @throws Exception
|
||||
*/
|
||||
private void saveBindCategory(CarInfo carInfo, Project project) throws Exception {
|
||||
String categoryCode = getCategoryCode(project, carInfo);
|
||||
String categoryCode = getCategoryCode(project);
|
||||
saveCarCategoryBind(project, categoryCode, carInfo.getHikvisionVehicleId(), carInfo);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private String getCategoryCode(Project project, CarInfo carInfo) throws Exception {
|
||||
private String getCategoryCode(Project project) throws Exception {
|
||||
//绑定固定的群组
|
||||
JSONArray ja = HikvisionUtil.categorySearch(project);
|
||||
JSONArray ja = HikvisionUtil.queryCategory(project);
|
||||
return getFixedCarGroupName(ja);
|
||||
}
|
||||
|
||||
@ -1622,7 +1625,7 @@ public class HikvisionCall {
|
||||
jo.put("plateNo", carNumber);//模糊查询
|
||||
jo.put("pageNo", pageNo);
|
||||
jo.put("pageSize", 1000);
|
||||
return JSONObject.parseObject(HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()));
|
||||
return HikvisionUtil.doPostRtObj(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
}
|
||||
|
||||
private HikvisionCarInfo getHikvisionCarInfo(CarInfo carInfo) {
|
||||
@ -1765,8 +1768,8 @@ public class HikvisionCall {
|
||||
* @throws Exception
|
||||
*/
|
||||
private void bindCarOrNot(Project project, int operation, CarInfo carInfo) throws Exception {
|
||||
String categoryCode = getCategoryCode(project, carInfo);
|
||||
carCategoryBindOrNotFromHttp(project, operation, categoryCode, carInfo.getHikvisionVehicleId(), carInfo);
|
||||
String categoryCode = getCategoryCode(project);
|
||||
bindOrNotCarCategory(project, operation, categoryCode, carInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2318,8 +2321,8 @@ public class HikvisionCall {
|
||||
* @throws Exception
|
||||
*/
|
||||
public void saveCarCategoryBind(Project project, String categoryCode, String vehicleIds, CarInfo carInfo) throws Exception {
|
||||
carCategoryBindOrNotFromHttp(project, 2, categoryCode, vehicleIds, carInfo);
|
||||
carCategoryBindOrNotFromHttp(project, 1, categoryCode, vehicleIds, carInfo);
|
||||
bindOrNotCarCategory(project, 2, categoryCode, carInfo);
|
||||
bindOrNotCarCategory(project, 1, categoryCode, carInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2328,21 +2331,16 @@ public class HikvisionCall {
|
||||
* @param project
|
||||
* @param operation 绑定操作类型,1绑定、2解绑
|
||||
* @param categoryCode 车辆分类标识
|
||||
* @param vehicleIds
|
||||
* @param carInfo
|
||||
*/
|
||||
public void carCategoryBindOrNotFromHttp(Project project, Integer operation, String categoryCode, String vehicleIds, CarInfo carInfo) throws Exception {
|
||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||
return;
|
||||
}
|
||||
final String ARTEMIS_PATH = "/artemis";
|
||||
final String path = ARTEMIS_PATH + "/api/pms/v1/car/categoryBind";
|
||||
String host = "https://" + project.getArtemisConfigHost();
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("vehicleIds", vehicleIds);
|
||||
jo.put("operation", operation);
|
||||
jo.put("categoryCode", categoryCode);
|
||||
String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
public void bindOrNotCarCategory(Project project, Integer operation, String categoryCode, CarInfo carInfo) throws Exception {
|
||||
String carId = this.getRemoteCarIdByCarNumber(carInfo.getCarNumber(), project);
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("vehicleIds", carId == null ? carInfo.getId() : carId);
|
||||
param.put("operation", operation);
|
||||
param.put("categoryCode", categoryCode);
|
||||
JSONObject jo = HikvisionUtil.bindCarCategory(project, param);
|
||||
String rs = jo.toJSONString();
|
||||
if (Objects.equals(operation, 1)) {
|
||||
sendNoticeAndSetStatusForCarInfo("绑定" + FIXED_CAR_GROUP_NAME + "到海康isc", rs, carInfo, 5, 1);
|
||||
} else if (Objects.equals(operation, 2)) {
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
<mapper namespace="com.zhgd.xmgl.modules.car.mapper.CarInfoMapper">
|
||||
<sql id="selectTable">
|
||||
SELECT if(t.car_module_type = 1 or t.car_module_type = 2, wi.id_card,
|
||||
t.outside_driver_id_card) as outsideDriverIdCard,
|
||||
t.outside_driver_id_card) as outside_driver_id_card,
|
||||
if(t.car_module_type = 1 or t.car_module_type = 2, wi.worker_name,
|
||||
t.driver_worker_name) as driverWorkerName,
|
||||
t.driver_worker_name) as driver_worker_name,
|
||||
t.*,
|
||||
b.car_type_name,
|
||||
ei.enterprise_name
|
||||
|
||||
@ -170,7 +170,7 @@ public class HikvisionUtil {
|
||||
/**
|
||||
* 查询车辆分类
|
||||
*/
|
||||
public static JSONArray categorySearch(Project project) throws Exception {
|
||||
public static JSONArray queryCategory(Project project) throws Exception {
|
||||
final String ARTEMIS_PATH = "/artemis";
|
||||
final String path = ARTEMIS_PATH + "/api/pms/v1/car/category/search";
|
||||
String host = "https://" + project.getArtemisConfigHost();
|
||||
@ -178,4 +178,22 @@ public class HikvisionUtil {
|
||||
String rs = doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
return getJSONArrayData(rs);
|
||||
}
|
||||
|
||||
/**
|
||||
* 车辆群组绑定
|
||||
*
|
||||
* @param project
|
||||
* @param param
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static JSONObject bindCarCategory(Project project, JSONObject param) throws Exception {
|
||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||
return null;
|
||||
}
|
||||
final String ARTEMIS_PATH = "/artemis";
|
||||
final String path = ARTEMIS_PATH + "/api/pms/v1/car/categoryBind";
|
||||
String host = "https://" + project.getArtemisConfigHost();
|
||||
return doPostRtObj(host, path, param.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user