|
@@ -3,6 +3,7 @@ package com.sooka.sponest.lawenforcement.record.controller;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.ruoyi.common.core.domain.R;
|
|
|
import com.ruoyi.common.core.utils.SpringUtils;
|
|
|
+import com.ruoyi.common.core.utils.StringUtils;
|
|
|
import com.ruoyi.common.core.utils.poi.ExcelUtil;
|
|
|
import com.ruoyi.common.core.web.controller.BaseController;
|
|
|
import com.ruoyi.common.core.web.domain.AjaxResult;
|
|
@@ -18,11 +19,17 @@ import com.sooka.sponest.lawenforcement.record.domain.bo.LawenforcementBindDevic
|
|
|
import com.sooka.sponest.lawenforcement.record.domain.bo.LawenforcementFillFormBO;
|
|
|
import com.sooka.sponest.lawenforcement.record.service.ILawenforcementRecordService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
+import org.apache.commons.collections4.MapUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 任务数据Controller
|
|
@@ -40,13 +47,14 @@ public class LawenforcementRecordController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 远端调用:对接省平台数据
|
|
|
+ *
|
|
|
* @param records JSONArray类型
|
|
|
* @return AjaxResult
|
|
|
*/
|
|
|
@PostMapping("/insertEnforceLawInfoByList")
|
|
|
- public AjaxResult insertEnforceLawInfoByList(@RequestBody JSONArray records){
|
|
|
+ public AjaxResult insertEnforceLawInfoByList(@RequestBody JSONArray records) {
|
|
|
//判断数据是否为空
|
|
|
- if(records.isEmpty()){
|
|
|
+ if (records.isEmpty()) {
|
|
|
return AjaxResult.error("数据为空");
|
|
|
}
|
|
|
return toAjax(lawenforcementRecordService.insertEnforceLawInfoByList(records));
|
|
@@ -64,7 +72,7 @@ public class LawenforcementRecordController extends BaseController {
|
|
|
}
|
|
|
|
|
|
@GetMapping("/getRecordList")
|
|
|
- public AjaxResult getRecordList(LawenforcementRecord record){
|
|
|
+ public AjaxResult getRecordList(LawenforcementRecord record) {
|
|
|
startPage();
|
|
|
return AjaxResult.success(lawenforcementRecordService.getRecordList(record));
|
|
|
}
|
|
@@ -73,7 +81,7 @@ public class LawenforcementRecordController extends BaseController {
|
|
|
* 获取任务数据详细信息
|
|
|
*/
|
|
|
@GetMapping("/getDetails/{id}")
|
|
|
- public AjaxResult getDetailsById(@PathVariable("id") String id){
|
|
|
+ public AjaxResult getDetailsById(@PathVariable("id") String id) {
|
|
|
return AjaxResult.success(lawenforcementRecordService.getDeatilsById(id));
|
|
|
}
|
|
|
|
|
@@ -108,46 +116,64 @@ public class LawenforcementRecordController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 获取设备列表
|
|
|
+ *
|
|
|
* @return R
|
|
|
*/
|
|
|
@GetMapping("/getDeivceList")
|
|
|
- public R getDeivceList(VisuForestCloudCameraBO visuForestCloudCameraBO){
|
|
|
- if(visuForestCloudCameraBO.getDeptId() == null){
|
|
|
+ public R getDeivceList(VisuForestCloudCameraBO visuForestCloudCameraBO) {
|
|
|
+ // 获取监控中心的执法设备列表
|
|
|
+ if (visuForestCloudCameraBO.getDeptId() == null) {
|
|
|
visuForestCloudCameraBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
|
|
|
}
|
|
|
- return SpringUtils.getBean(RemoteEnforcementDeviceService.class).selectByCameraId(visuForestCloudCameraBO);
|
|
|
+ R<List<Map<String, Object>>> listR = SpringUtils.getBean(RemoteEnforcementDeviceService.class).selectByCameraId(visuForestCloudCameraBO);
|
|
|
+ // 获取当前正在执行任务的设备列表
|
|
|
+ List<Map<String, Object>> startCodes = lawenforcementRecordService.getStartRecordDeviceCode();
|
|
|
+ // 如果正在执法的设备列表为空,则直接返回监控中心的设备列表
|
|
|
+ if (CollectionUtils.isEmpty(startCodes)) {
|
|
|
+ return listR;
|
|
|
+ }
|
|
|
+ // 使用 Stream API 过滤掉正在执法的设备
|
|
|
+ List<Map<String, Object>> result = listR.getData().stream()
|
|
|
+ .filter(device -> !startCodes.stream()
|
|
|
+ .map(codeMap -> MapUtils.getString(codeMap, "deviceId"))
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ .contains(MapUtils.getString(device, "cameraCode")))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ return R.ok(result);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 绑定设备
|
|
|
*/
|
|
|
@PostMapping("/bindDevice")
|
|
|
- public AjaxResult addRecordLog(@RequestBody LawenforcementBindDeviceBO bindDeviceBO){
|
|
|
+ public AjaxResult addRecordLog(@RequestBody LawenforcementBindDeviceBO bindDeviceBO) {
|
|
|
return toAjax(lawenforcementRecordService.addRecordLog(bindDeviceBO));
|
|
|
}
|
|
|
|
|
|
@PostMapping("/closeRecord")
|
|
|
- public AjaxResult closeRecord(@RequestBody LawenforcementBindDeviceBO bindDeviceBO){
|
|
|
+ public AjaxResult closeRecord(@RequestBody LawenforcementBindDeviceBO bindDeviceBO) {
|
|
|
return toAjax(lawenforcementRecordService.updateRecordLogEndTime(bindDeviceBO));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 派发工单
|
|
|
+ *
|
|
|
* @param record
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/distributeRecord")
|
|
|
- public AjaxResult distributeRecord(@RequestBody LawenforcementRecord record){
|
|
|
+ public AjaxResult distributeRecord(@RequestBody LawenforcementRecord record) {
|
|
|
return toAjax(lawenforcementRecordService.distributeRecord(record));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 工单填报
|
|
|
+ *
|
|
|
* @param bo
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/recordFillForm")
|
|
|
- public AjaxResult recordFillForm(@RequestBody LawenforcementFillFormBO bo){
|
|
|
+ public AjaxResult recordFillForm(@RequestBody LawenforcementFillFormBO bo) {
|
|
|
return toAjax(lawenforcementRecordService.recordFillForm(bo));
|
|
|
}
|
|
|
|
|
@@ -174,19 +200,19 @@ public class LawenforcementRecordController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
- * 查询工单填报信息
|
|
|
- *
|
|
|
- * @author 韩福成
|
|
|
- * @date 2024/11/5 上午8:31
|
|
|
- */
|
|
|
+ * 查询工单填报信息
|
|
|
+ *
|
|
|
+ * @author 韩福成
|
|
|
+ * @date 2024/11/5 上午8:31
|
|
|
+ */
|
|
|
@RequiresPermissions("lawenforcement:record:revoke")
|
|
|
@GetMapping("/getFillForm")
|
|
|
- public AjaxResult getFillForm(LawenforcementFillFormBO fillFormBO){
|
|
|
+ public AjaxResult getFillForm(LawenforcementFillFormBO fillFormBO) {
|
|
|
return AjaxResult.success(lawenforcementRecordService.getFillForm(fillFormBO));
|
|
|
}
|
|
|
|
|
|
@PostMapping("/setRecrodState")
|
|
|
- public AjaxResult setRecordState(@RequestBody LawenforcementBindDeviceBO bindDeviceBO){
|
|
|
+ public AjaxResult setRecordState(@RequestBody LawenforcementBindDeviceBO bindDeviceBO) {
|
|
|
return toAjax(lawenforcementRecordService.setRecordState(bindDeviceBO));
|
|
|
}
|
|
|
}
|