diff --git a/src/main/java/com/zcloud/controller/keyProjects/VideoResourcesController.java b/src/main/java/com/zcloud/controller/keyProjects/VideoResourcesController.java index 659c68be..be66af4b 100644 --- a/src/main/java/com/zcloud/controller/keyProjects/VideoResourcesController.java +++ b/src/main/java/com/zcloud/controller/keyProjects/VideoResourcesController.java @@ -1,8 +1,12 @@ package com.zcloud.controller.keyProjects; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.druid.util.StringUtils; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; +import com.zcloud.service.keyProjects.OutSourcedService; +import com.zcloud.service.keyProjects.VideoManagerService; import com.zcloud.service.keyProjects.VideoResourcesService; import com.zcloud.util.DateUtil; import com.zcloud.util.Jurisdiction; @@ -13,10 +17,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 说明:视频管理 @@ -31,6 +33,12 @@ public class VideoResourcesController extends BaseController { @Autowired private VideoResourcesService videoResourcesService; + @Autowired + private VideoManagerService videoManagerService; + + @Autowired + private OutSourcedService outSourcedService; + /** * 新增 * @@ -190,4 +198,39 @@ public class VideoResourcesController extends BaseController { } + /** + * 通过摄像头查询绑定的重点工程数据 + */ + @RequestMapping("/getRelevanceOutsourced") + @ResponseBody + public Object getRelevanceOutsourced() throws Exception { + Map map = new HashMap<>(); + String errInfo = "success"; + List outsourcedList = Collections.emptyList(); + // 获取该摄像头绑定的重点工程ID列表 + List outsourcedIds = videoManagerService.findRepeatOutSourcedIdByVideoId(this.getPageData()); + // 非空判断 + if (CollUtil.isNotEmpty(outsourcedIds)){ + // 通过Ids查询重点工程数据 + outsourcedList = outSourcedService.listOutSourcedByIds(outsourcedIds.stream().map(e -> e.getString("OUTSOURCED_ID")).collect(Collectors.toList())) + .stream().map(e -> { + // 遍历带有"VIDEOMANAGER_ID"的列表 + outsourcedIds.forEach( + m -> { + if (StringUtils.equals(m.getString("OUTSOURCED_ID"), e.getString("OUTSOURCED_ID"))){ + // 补全信息 + e.put("VIDEOMANAGER_ID", m.getString("VIDEOMANAGER_ID")); + } + } + ); + return e; + }) + .collect(Collectors.toList()); + } + + map.put("varList", outsourcedList); + map.put("result", errInfo); + return map; + } + } diff --git a/src/main/java/com/zcloud/controller/keyProjects/app/AppAIWarningController.java b/src/main/java/com/zcloud/controller/keyProjects/app/AppAIWarningController.java index d17877f0..7b8c6db9 100644 --- a/src/main/java/com/zcloud/controller/keyProjects/app/AppAIWarningController.java +++ b/src/main/java/com/zcloud/controller/keyProjects/app/AppAIWarningController.java @@ -1,11 +1,14 @@ package com.zcloud.controller.keyProjects.app; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.lang.Assert; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; import com.zcloud.service.bus.ImgFilesService; +import com.zcloud.service.keyProjects.AIWarningHiddensService; import com.zcloud.service.keyProjects.AIWarningService; import com.zcloud.service.keyProjects.KeyprojectHiddenService; import com.zcloud.util.*; @@ -20,6 +23,7 @@ import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.*; +import java.util.stream.Collectors; /** * 说明:AI报警 @@ -37,6 +41,8 @@ public class AppAIWarningController extends BaseController { private KeyprojectHiddenService keyprojectHiddenService; @Autowired private ImgFilesService imgFilesService; + @Autowired + private AIWarningHiddensService aiwarningHiddensService; /**新增 * @param * @throws Exception @@ -171,7 +177,17 @@ public class AppAIWarningController extends BaseController { } } if (!hiddenIdList.isEmpty()) { - pd.put("HIDDEN_IDS", hiddenIdList.toString().replace("[","").replace("]","").replace(" ","")); + PageData finalPd = pd; + hiddenIdList.forEach(e -> { + PageData pageData = new PageData(); + pageData.put("AIWARNING_HIDDEN_ID", this.get32UUID()); + + pageData.put("AIWARNING_ID", finalPd.getString("AIWARNING_ID")); + pageData.put("HIDDEN_ID", e); + + aiwarningHiddensService.save(pageData); + }); + } aiwarningService.edit(pd); map.put("result", errInfo); @@ -216,10 +232,12 @@ public class AppAIWarningController extends BaseController { pd.put("NAME",user.getString("name")); } pd.put("FOREIGN_ID", pd.getString("OUTSOURCED_ID")); - if (Tools.notEmpty(pd.getString("HIDDEN_IDS"))){ + List hiddens = aiwarningHiddensService.findByAiId(pd); + if (CollUtil.isNotEmpty(hiddens)){ PageData pageData = new PageData(); pageData.put("AI_WARNING","Y"); - pageData.put("array",pd.getString("HIDDEN_IDS").split(",")); + pageData.put("AIWARNING_ID", Assert.notBlank(pd.getString("AIWARNING_ID"))); + pageData.put("array",hiddens.stream().map(e -> e.getString("HIDDEN_ID")).collect(Collectors.toList())); pd.put("hiddenList", keyprojectHiddenService.listAllInspection(pageData)); } map.put("pd", pd); diff --git a/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenCharge.java b/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenCharge.java index 08145546..8c529cba 100644 --- a/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenCharge.java +++ b/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenCharge.java @@ -84,7 +84,7 @@ public class GuFenCharge extends NodeSwitchComponent { flows.put("OPINION", info.getOPINION()); if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows, info); return ""; } else { xgfFlowsMapper.edit(flows); diff --git a/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenSupervise.java b/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenSupervise.java index 59247bf3..43ed5672 100644 --- a/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenSupervise.java +++ b/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenSupervise.java @@ -70,7 +70,7 @@ public class GuFenSupervise extends NodeComponent { flows.put("OPINION",info.getOPINION()); if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows,info); // 保存操作记录 xgfUserService.saveLog(info, info.getSTATUS(), "0"); diff --git a/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenWeiTuoCharge.java b/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenWeiTuoCharge.java index a9770a6f..28a0fd93 100644 --- a/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenWeiTuoCharge.java +++ b/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenWeiTuoCharge.java @@ -93,7 +93,7 @@ public class GuFenWeiTuoCharge extends NodeComponent { if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows,info); } else { xgfFlowsMapper.edit(flows); condition.clear(); diff --git a/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenWeiTuoSupervise.java b/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenWeiTuoSupervise.java index 61d80296..4c399549 100644 --- a/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenWeiTuoSupervise.java +++ b/src/main/java/com/zcloud/flow/xgf/GuFen/GuFenWeiTuoSupervise.java @@ -73,7 +73,7 @@ public class GuFenWeiTuoSupervise extends NodeComponent { flows.put("OPINION", info.getOPINION()); if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows,info); // 保存操作记录 xgfUserService.saveLog(info, info.getSTATUS(), "0"); } else { diff --git a/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanCharge.java b/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanCharge.java index f869f160..70c82eb1 100644 --- a/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanCharge.java +++ b/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanCharge.java @@ -84,7 +84,7 @@ public class JiTuanCharge extends NodeSwitchComponent { flows.put("OPINION",info.getOPINION()); if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows,info); return ""; } else { xgfFlowsMapper.edit(flows); diff --git a/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanSupervise.java b/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanSupervise.java index 18678083..03d76e6d 100644 --- a/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanSupervise.java +++ b/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanSupervise.java @@ -70,7 +70,7 @@ public class JiTuanSupervise extends NodeComponent { flows.put("OPINION", info.getOPINION()); if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows,info); // 保存操作记录 xgfUserService.saveLog(info, info.getSTATUS(), "0"); diff --git a/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanWeiTuoCharge.java b/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanWeiTuoCharge.java index 166febba..7adb8cc1 100644 --- a/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanWeiTuoCharge.java +++ b/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanWeiTuoCharge.java @@ -75,7 +75,7 @@ public class JiTuanWeiTuoCharge extends NodeComponent { if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows,info); } else { xgfFlowsMapper.edit(flows); condition.clear(); diff --git a/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanWeiTuoSupervise.java b/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanWeiTuoSupervise.java index d925024b..783cf372 100644 --- a/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanWeiTuoSupervise.java +++ b/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanWeiTuoSupervise.java @@ -72,7 +72,7 @@ public class JiTuanWeiTuoSupervise extends NodeComponent { flows.put("OPINION", info.getOPINION()); if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows,info); // 保存操作记录 xgfUserService.saveLog(info, info.getSTATUS(), "0"); } else { diff --git a/src/main/java/com/zcloud/flow/xgf/YiBan/YiBanCharge.java b/src/main/java/com/zcloud/flow/xgf/YiBan/YiBanCharge.java index 51f2e8d6..2d9bfabb 100644 --- a/src/main/java/com/zcloud/flow/xgf/YiBan/YiBanCharge.java +++ b/src/main/java/com/zcloud/flow/xgf/YiBan/YiBanCharge.java @@ -71,7 +71,7 @@ public class YiBanCharge extends NodeComponent { flows.put("OPINION",info.getOPINION()); if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows,info); } else { xgfFlowsMapper.edit(flows); condition.clear(); diff --git a/src/main/java/com/zcloud/flow/xgf/YiBan/YiBanSupervise.java b/src/main/java/com/zcloud/flow/xgf/YiBan/YiBanSupervise.java index 63c4e0b9..3f02448a 100644 --- a/src/main/java/com/zcloud/flow/xgf/YiBan/YiBanSupervise.java +++ b/src/main/java/com/zcloud/flow/xgf/YiBan/YiBanSupervise.java @@ -105,7 +105,7 @@ public class YiBanSupervise extends NodeComponent { flows.put("OPINION",info.getOPINION()); if ("0".equals(info.getSTATUS())) { // 打回至相关方端 - xgfUserService.repulse(flows); + xgfUserService.repulse(flows,info); // 保存操作记录 xgfUserService.saveLog(info, info.getSTATUS(), "0"); } else { diff --git a/src/main/java/com/zcloud/flow/xgf/util/XgfFlowDto.java b/src/main/java/com/zcloud/flow/xgf/util/XgfFlowDto.java index a7ce4975..f27de069 100644 --- a/src/main/java/com/zcloud/flow/xgf/util/XgfFlowDto.java +++ b/src/main/java/com/zcloud/flow/xgf/util/XgfFlowDto.java @@ -46,4 +46,7 @@ public class XgfFlowDto { // 获取节点需要填写的信息 private Map map; + + // 打回节点游标 + private String BACK_STEP; } diff --git a/src/main/java/com/zcloud/mapper/datasource/firemanager/FireRecordMapper.java b/src/main/java/com/zcloud/mapper/datasource/firemanager/FireRecordMapper.java index 5d224cf1..cfe481a5 100644 --- a/src/main/java/com/zcloud/mapper/datasource/firemanager/FireRecordMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/firemanager/FireRecordMapper.java @@ -91,7 +91,7 @@ public interface FireRecordMapper { List datalistPage(Page page); - PageData getCheckingByCid(String fireCheckId); + List getCheckingByCid(String fireCheckId); PageData getCheckingNoFinByCid(String fireCheckId); void removeRecordPointByCidRidPids(PageData pd); diff --git a/src/main/java/com/zcloud/mapper/dsno2/keyProjects/AIWarningHiddensMapper.java b/src/main/java/com/zcloud/mapper/dsno2/keyProjects/AIWarningHiddensMapper.java new file mode 100644 index 00000000..f7ed726c --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/keyProjects/AIWarningHiddensMapper.java @@ -0,0 +1,51 @@ +package com.zcloud.mapper.dsno2.keyProjects; + + + +import com.zcloud.entity.PageData; + +import java.util.List; + + +/** + * 说明:AI报警表的Hidden_ids中间表 + * 官网:www.zcloudchina.com + * @Autor:water_xu + * @Date:2024-05-29 + */ +public interface AIWarningHiddensMapper { + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + + + /**通过AiId获取数据 + * @param pd + * @throws Exception + */ + List findByAiId(PageData pd); + + /**通过HiddenId获取数据 + * @param pd + * @throws Exception + */ + PageData findByHiddenId(PageData pd); + + +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/keyProjects/OutSourcedMapper.java b/src/main/java/com/zcloud/mapper/dsno2/keyProjects/OutSourcedMapper.java index 063dfe83..9bed788f 100644 --- a/src/main/java/com/zcloud/mapper/dsno2/keyProjects/OutSourcedMapper.java +++ b/src/main/java/com/zcloud/mapper/dsno2/keyProjects/OutSourcedMapper.java @@ -91,5 +91,7 @@ public interface OutSourcedMapper{ List listForCount(PageData pd); + + List listOutSourcedByIds(List ids); } diff --git a/src/main/java/com/zcloud/mapper/dsno2/keyProjects/VideoManagerMapper.java b/src/main/java/com/zcloud/mapper/dsno2/keyProjects/VideoManagerMapper.java index 8215607b..3844ae30 100644 --- a/src/main/java/com/zcloud/mapper/dsno2/keyProjects/VideoManagerMapper.java +++ b/src/main/java/com/zcloud/mapper/dsno2/keyProjects/VideoManagerMapper.java @@ -77,5 +77,7 @@ public interface VideoManagerMapper { void updateAiByOUTSOURCED_ID(PageData pd); List dataApplistPage(Page page); + + List findRepeatOutSourcedIdByVideoId(PageData video); } diff --git a/src/main/java/com/zcloud/service/firemanager/FireRecordService.java b/src/main/java/com/zcloud/service/firemanager/FireRecordService.java index f7da6d39..982a1b70 100644 --- a/src/main/java/com/zcloud/service/firemanager/FireRecordService.java +++ b/src/main/java/com/zcloud/service/firemanager/FireRecordService.java @@ -89,7 +89,7 @@ public interface FireRecordService { * @Param: [java.lang.String] [fireCheckId] * @Return: com.zcloud.entity.PageData */ - PageData getCheckingByCid(String fireCheckId); + List getCheckingByCid(String fireCheckId); /** * @Description: 根据checkid,pointid,recordid 删除点位 diff --git a/src/main/java/com/zcloud/service/firemanager/impl/FireCheckListServiceImpl.java b/src/main/java/com/zcloud/service/firemanager/impl/FireCheckListServiceImpl.java index 583f8ceb..68acf3a8 100644 --- a/src/main/java/com/zcloud/service/firemanager/impl/FireCheckListServiceImpl.java +++ b/src/main/java/com/zcloud/service/firemanager/impl/FireCheckListServiceImpl.java @@ -1,5 +1,6 @@ package com.zcloud.service.firemanager.impl; +import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -574,58 +575,60 @@ public class FireCheckListServiceImpl implements FireCheckListService { * 2. 点位下删除了器材,把检查的器材删除 * 3. * */ - PageData checkingData = fireRecordService.getCheckingByCid(FIRE_CHECK_ID); + List checkingByCid = fireRecordService.getCheckingByCid(FIRE_CHECK_ID); // 无检查记录 什么也不干 - if (checkingData != null) { - String FIRE_RECORD_ID = checkingData.getString("FIRE_RECORD_ID"); + if (CollUtil.isNotEmpty(checkingByCid)) { + checkingByCid.stream().forEach(checkingData -> { + String FIRE_RECORD_ID = checkingData.getString("FIRE_RECORD_ID"); - // 有删除的点位那么 删除记录中的点位 - if (deletedPoints.size() > 0) { - PageData delRecordData = new PageData(); - initPageDataUtil.initEdit(delRecordData); - delRecordData.put("FIRE_CHECK_ID", FIRE_CHECK_ID); - delRecordData.put("FIRE_RECORD_ID", FIRE_RECORD_ID); - delRecordData.put("list", deletedPoints); - fireRecordService.removeRecordPointByCidRidPids(delRecordData); - } - // 有新增的点位 把点位初始化 - if (addPoints.size() > 0) { - for (PageData addedRecordPointData : addPoints) { - initPageDataUtil.initSave(addedRecordPointData, "EQUIPMENT_POINT_ID"); - addedRecordPointData.put("FIRE_CHECK_ID", FIRE_CHECK_ID); - addedRecordPointData.put("FIRE_RECORD_ID", FIRE_RECORD_ID); - addedRecordPointData.put("CORPINFO_ID", CORPINFO_ID); - addedRecordPointData.put("P_ISCHECKED", 1); + // 有删除的点位那么 删除记录中的点位 + if (deletedPoints.size() > 0) { + PageData delRecordData = new PageData(); + initPageDataUtil.initEdit(delRecordData); + delRecordData.put("FIRE_CHECK_ID", FIRE_CHECK_ID); + delRecordData.put("FIRE_RECORD_ID", FIRE_RECORD_ID); + delRecordData.put("list", deletedPoints); + fireRecordService.removeRecordPointByCidRidPids(delRecordData); } - fireRecordService.addedRecordPoint(addPoints); - } - // 有删除的器材那么 删除记录中的器材 - if (deviceIds.length > 0) { - PageData removeRecordDevice = new PageData(); - initPageDataUtil.initSave(removeRecordDevice); - removeRecordDevice.put("FIRE_CHECK_ID", FIRE_CHECK_ID); - removeRecordDevice.put("FIRE_RECORD_ID", FIRE_RECORD_ID); - removeRecordDevice.put("list", deviceIds); - fireRecordService.removeDeviceByCIdRid(removeRecordDevice); - } - // 有新增的器材那么 新增记录中的器材, 点位信息变更为也未检查完的状态。 - if (DEVICE_PREPARED_DATA.size() > 0) { - // 准备变更状态的 点位id - HashSet preChangesPid = new HashSet<>(); - for (PageData device_prepared_info : DEVICE_PREPARED_DATA) { - initPageDataUtil.initSave(device_prepared_info, "EQUIPMENT_RECORD_ID"); - device_prepared_info.put("ISCHECKED", 0); - device_prepared_info.put("FIRE_RECORD_ID", FIRE_RECORD_ID); - device_prepared_info.put("ISNORMAL", 2); - preChangesPid.add(device_prepared_info.getString("FIRE_POINT_ID")); + // 有新增的点位 把点位初始化 + if (addPoints.size() > 0) { + for (PageData addedRecordPointData : addPoints) { + initPageDataUtil.initSave(addedRecordPointData, "EQUIPMENT_POINT_ID"); + addedRecordPointData.put("FIRE_CHECK_ID", FIRE_CHECK_ID); + addedRecordPointData.put("FIRE_RECORD_ID", FIRE_RECORD_ID); + addedRecordPointData.put("CORPINFO_ID", CORPINFO_ID); + addedRecordPointData.put("P_ISCHECKED", 1); + } + fireRecordService.addedRecordPoint(addPoints); } - fireRecordService.addedRecordDeviceList(DEVICE_PREPARED_DATA); - PageData checkedPageData = new PageData(); - initPageDataUtil.initEdit(checkedPageData); - checkedPageData.put("FIRE_RECORD_ID",FIRE_RECORD_ID); - checkedPageData.put("list",preChangesPid); - fireRecordService.updCheckedByRidPid(checkedPageData); - } + // 有删除的器材那么 删除记录中的器材 + if (deviceIds.length > 0) { + PageData removeRecordDevice = new PageData(); + initPageDataUtil.initSave(removeRecordDevice); + removeRecordDevice.put("FIRE_CHECK_ID", FIRE_CHECK_ID); + removeRecordDevice.put("FIRE_RECORD_ID", FIRE_RECORD_ID); + removeRecordDevice.put("list", deviceIds); + fireRecordService.removeDeviceByCIdRid(removeRecordDevice); + } + // 有新增的器材那么 新增记录中的器材, 点位信息变更为也未检查完的状态。 + if (DEVICE_PREPARED_DATA.size() > 0) { + // 准备变更状态的 点位id + HashSet preChangesPid = new HashSet<>(); + for (PageData device_prepared_info : DEVICE_PREPARED_DATA) { + initPageDataUtil.initSave(device_prepared_info, "EQUIPMENT_RECORD_ID"); + device_prepared_info.put("ISCHECKED", 0); + device_prepared_info.put("FIRE_RECORD_ID", FIRE_RECORD_ID); + device_prepared_info.put("ISNORMAL", 2); + preChangesPid.add(device_prepared_info.getString("FIRE_POINT_ID")); + } + fireRecordService.addedRecordDeviceList(DEVICE_PREPARED_DATA); + PageData checkedPageData = new PageData(); + initPageDataUtil.initEdit(checkedPageData); + checkedPageData.put("FIRE_RECORD_ID",FIRE_RECORD_ID); + checkedPageData.put("list",preChangesPid); + fireRecordService.updCheckedByRidPid(checkedPageData); + } + }); } } diff --git a/src/main/java/com/zcloud/service/firemanager/impl/FireRecordServiceImpl.java b/src/main/java/com/zcloud/service/firemanager/impl/FireRecordServiceImpl.java index e45b77da..771b1771 100644 --- a/src/main/java/com/zcloud/service/firemanager/impl/FireRecordServiceImpl.java +++ b/src/main/java/com/zcloud/service/firemanager/impl/FireRecordServiceImpl.java @@ -1,7 +1,6 @@ package com.zcloud.service.firemanager.impl; import java.util.*; -import java.util.stream.Collectors; import javax.annotation.Resource; @@ -730,7 +729,7 @@ public class FireRecordServiceImpl implements FireRecordService { } @Override - public PageData getCheckingByCid(String fireCheckId) { + public List getCheckingByCid(String fireCheckId) { return fireRecordMapper.getCheckingByCid(fireCheckId); } diff --git a/src/main/java/com/zcloud/service/keyProjects/AIWarningHiddensService.java b/src/main/java/com/zcloud/service/keyProjects/AIWarningHiddensService.java new file mode 100644 index 00000000..7e1b5482 --- /dev/null +++ b/src/main/java/com/zcloud/service/keyProjects/AIWarningHiddensService.java @@ -0,0 +1,48 @@ +package com.zcloud.service.keyProjects; + +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:AI报警表的Hidden_ids中间表 + * 官网:www.zcloudchina.com + * @Autor water_xu + * @Date 2024.05.29 + */ +public interface AIWarningHiddensService { + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd); + + /** + * 通过id获取数据 + * + * @param pd + * @throws Exception + */ + public List findByAiId(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findByHiddenId(PageData pd); + +} + diff --git a/src/main/java/com/zcloud/service/keyProjects/OutSourcedService.java b/src/main/java/com/zcloud/service/keyProjects/OutSourcedService.java index 663b85fb..664892d3 100644 --- a/src/main/java/com/zcloud/service/keyProjects/OutSourcedService.java +++ b/src/main/java/com/zcloud/service/keyProjects/OutSourcedService.java @@ -93,5 +93,7 @@ public interface OutSourcedService{ List listForCount(PageData pd); + + List listOutSourcedByIds(List ids); } diff --git a/src/main/java/com/zcloud/service/keyProjects/VideoManagerService.java b/src/main/java/com/zcloud/service/keyProjects/VideoManagerService.java index 4b7c0f25..3192b5ab 100644 --- a/src/main/java/com/zcloud/service/keyProjects/VideoManagerService.java +++ b/src/main/java/com/zcloud/service/keyProjects/VideoManagerService.java @@ -75,5 +75,7 @@ public interface VideoManagerService { void updateAiByOUTSOURCED_ID(PageData pd); List listApp(Page page); + + List findRepeatOutSourcedIdByVideoId(PageData video)throws Exception; } diff --git a/src/main/java/com/zcloud/service/keyProjects/impl/AIWarningHiddensServiceImpl.java b/src/main/java/com/zcloud/service/keyProjects/impl/AIWarningHiddensServiceImpl.java new file mode 100644 index 00000000..a2b12cc8 --- /dev/null +++ b/src/main/java/com/zcloud/service/keyProjects/impl/AIWarningHiddensServiceImpl.java @@ -0,0 +1,59 @@ + +package com.zcloud.service.keyProjects.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.keyProjects.AIWarningHiddensMapper; +import com.zcloud.service.keyProjects.AIWarningHiddensService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 说明:AI报警表的Hidden_ids中间表 + * 官网:www.zcloudchina.com + * @Autor water_xu + * @Date 2024.05.29 + */ +@Service +public class AIWarningHiddensServiceImpl implements AIWarningHiddensService { + + @Autowired + private AIWarningHiddensMapper aiWarningHiddensMapper; + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd){ + aiWarningHiddensMapper.save(pd); + } + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd){ + aiWarningHiddensMapper.edit(pd); + } + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd){ + return aiWarningHiddensMapper.findById(pd); + } + + @Override + public List findByAiId(PageData pd){ + return aiWarningHiddensMapper.findByAiId(pd); + } + + @Override + public PageData findByHiddenId(PageData pd){ + return aiWarningHiddensMapper.findByHiddenId(pd); + } + +} + diff --git a/src/main/java/com/zcloud/service/keyProjects/impl/KeyprojectHiddenServiceImpl.java b/src/main/java/com/zcloud/service/keyProjects/impl/KeyprojectHiddenServiceImpl.java index beb7b93e..17af2bfe 100644 --- a/src/main/java/com/zcloud/service/keyProjects/impl/KeyprojectHiddenServiceImpl.java +++ b/src/main/java/com/zcloud/service/keyProjects/impl/KeyprojectHiddenServiceImpl.java @@ -184,6 +184,14 @@ public class KeyprojectHiddenServiceImpl implements KeyprojectHiddenService { @Override public List listAllInspection(PageData pd) throws Exception { List hiddenList = hiddenMapper.listAllInspection(pd); + /** + * 这里如果不传对应的参数会出现全表查询的现象,为了避免这种情况,默认如果记录数超过100条,抛出异常 + * @Autor water_xu + * @Date 2024/05/29 + */ + if (hiddenList.size() >= 100){ + throw new RuntimeException("参数异常-listAllInspection查询结果记录数为:" + hiddenList.size()); + } for (PageData hd : hiddenList) { PageData pd2 = new PageData(); pd2.put("FOREIGN_KEY",hd.getString("HIDDEN_ID")); diff --git a/src/main/java/com/zcloud/service/keyProjects/impl/OutSourcedServiceImpl.java b/src/main/java/com/zcloud/service/keyProjects/impl/OutSourcedServiceImpl.java index 9516a978..a52c36f5 100644 --- a/src/main/java/com/zcloud/service/keyProjects/impl/OutSourcedServiceImpl.java +++ b/src/main/java/com/zcloud/service/keyProjects/impl/OutSourcedServiceImpl.java @@ -121,5 +121,9 @@ public class OutSourcedServiceImpl implements OutSourcedService { public List listForCount(PageData pd) { return outsourcedMapper.listForCount(pd); } + + public List listOutSourcedByIds(List ids){ + return outsourcedMapper.listOutSourcedByIds(ids); + } } diff --git a/src/main/java/com/zcloud/service/keyProjects/impl/VideoManagerServiceImpl.java b/src/main/java/com/zcloud/service/keyProjects/impl/VideoManagerServiceImpl.java index b0dfdba5..4e6f534d 100644 --- a/src/main/java/com/zcloud/service/keyProjects/impl/VideoManagerServiceImpl.java +++ b/src/main/java/com/zcloud/service/keyProjects/impl/VideoManagerServiceImpl.java @@ -126,5 +126,10 @@ public class VideoManagerServiceImpl implements VideoManagerService { public List listApp(Page page) { return videomanagerMapper.dataApplistPage(page); } + + @Override + public List findRepeatOutSourcedIdByVideoId(PageData video)throws Exception{ + return videomanagerMapper.findRepeatOutSourcedIdByVideoId(video); + } } diff --git a/src/main/java/com/zcloud/service/xgf/XgfUserService.java b/src/main/java/com/zcloud/service/xgf/XgfUserService.java index 0509d206..56c2a876 100644 --- a/src/main/java/com/zcloud/service/xgf/XgfUserService.java +++ b/src/main/java/com/zcloud/service/xgf/XgfUserService.java @@ -39,7 +39,7 @@ public interface XgfUserService { void saveLog(PageData info, String status, String endFlag) throws Exception; void saveLog(XgfFlowDto info, String status, String endFlag) throws Exception; - void repulse(PageData flows) throws Exception; + void repulse(PageData flows, XgfFlowDto info) throws Exception; void approveMax(PageData request, MultipartFile[] chengNuoShu) throws Exception; diff --git a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java index 99260734..4fd0fa17 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java @@ -991,25 +991,38 @@ public class XgfUserServiceImpl implements XgfUserService { } @Override - public void repulse(PageData flows) throws Exception { - PageData condition = new PageData(); - condition.put("XGF_USER_ID", flows.getString("FLOWS_ID")); - PageData entity = xgfUserMapper.findById(condition); - entity.put("STATUS", "0"); - entity.put("VALID_FLAG", "0"); - entity.put("CHECK_STATUS", "-2"); - PageData key = new PageData(); - key.putAll(entity); - key.put("USER_ID", condition.get("XGF_USER_ID")); - key.put("STATUS", "1"); - key.put("OPINION", flows.get("OPINION")); - Map result = HttpClientService.doPost(prevention_xgf_url + "openApi/user/approve", key); - if (result == null || !"succeed".equals(result.get("result"))) { - throw new RuntimeException("请求失败"); + public void repulse(PageData flows, XgfFlowDto info) throws Exception { + // add by liu jun 相关方可指定打回至指定节点 -1 为默认打回至相关方端 + if ("-1".equals(info.getBACK_STEP())){ + PageData condition = new PageData(); + condition.put("XGF_USER_ID", flows.getString("FLOWS_ID")); + PageData entity = xgfUserMapper.findById(condition); + entity.put("STATUS", "0"); + entity.put("VALID_FLAG", "0"); + entity.put("CHECK_STATUS", "-2"); + PageData key = new PageData(); + key.putAll(entity); + key.put("USER_ID", condition.get("XGF_USER_ID")); + key.put("STATUS", "1"); + key.put("OPINION", flows.get("OPINION")); + Map result = HttpClientService.doPost(prevention_xgf_url + "openApi/user/approve", key); + if (result == null || !"succeed".equals(result.get("result"))) { + throw new RuntimeException("请求失败"); + } + xgfUserMapper.edit(entity); + this.clearInfo(flows); + xgfFlowsMapper.edit(flows); + } else { + // 1、判断不能自己打回到自己 + PageData condition = new PageData(); + condition.put("FLOWS_ID",flows.getString("FLOWS_ID")); + PageData flowEntity = xgfFlowsMapper.findById(condition); + if (flowEntity != null && flowEntity.size() > 0 && flowEntity.getString("FLOWS_STEP").equals(info.getBACK_STEP())){ + throw new RuntimeException("不能自己打回到自己"); + } + flowEntity.put("FLOWS_STEP", info.getBACK_STEP()); + xgfFlowsMapper.edit(flowEntity); } - xgfUserMapper.edit(entity); - this.clearInfo(flows); - xgfFlowsMapper.edit(flows); } @Override diff --git a/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml b/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml index 7acb35a2..83793a1d 100644 --- a/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml +++ b/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml @@ -1136,6 +1136,10 @@ from f left join `qa-gwj-prevention`.bus_hiddenregion hr on hr.HIDDENREGION_ID = f.HIDDENPART + + left join `qa-gwj-regulatory`.bus_aiwarning_hiddens aih on aih.HIDDEN_ID = f.HIDDEN_ID + left join `qa-gwj-regulatory`.bus_aiwarning ai on ai.AIWARNING_ID = aih.AIWARNING_ID + left join lv on f.HIDDENLEVEL = lv.BIANMA left join ht on f.HIDDENTYPE = ht.BIANMA left join ht2 on f.HIDDENTYPE2 = ht2.BIANMA and ht2.PARENT_ID = '18c0a9aea6e54feab9f4ab3f46e0bc86' @@ -1148,13 +1152,11 @@ and f.FOREIGN_ID = #{FOREIGN_ID} - - - and f.HIDDEN_ID in - - #{item} - + + + and ai.AIWARNING_ID = #{AIWARNING_ID} + and ( @@ -1631,10 +1633,10 @@ FROM WHERE h.ISDELETE = '0' - and (P.HANDLED = '0' OR P.HANDLED IS NULL OR h.ISPUNISH != '2') + and (h.ISPUNISH is null OR P.HANDLED = '0' ) - and P.HANDLED = '1' + and (h.ISPUNISH = '2' OR P.HANDLED = '1') AND ( c.OUTSOURCED_ID = #{pd.OUTSOURCED_ID} OR h.FOREIGN_ID = #{pd.OUTSOURCED_ID} ) diff --git a/src/main/resources/mybatis/datasource/system/UsersMapper.xml b/src/main/resources/mybatis/datasource/system/UsersMapper.xml index 575474ae..2e79d2a6 100644 --- a/src/main/resources/mybatis/datasource/system/UsersMapper.xml +++ b/src/main/resources/mybatis/datasource/system/UsersMapper.xml @@ -257,9 +257,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" f LEFT JOIN OA_DEPARTMENT dept on f.DEPARTMENT_ID = dept.DEPARTMENT_ID where - USERNAME = #{USERNAME} and ISDELETE='0' + f.USERNAME = #{USERNAME} and f.ISDELETE='0' - and USER_ID != #{VERIFYUSER_ID} + and f.USER_ID != #{VERIFYUSER_ID} + select + AIWARNING_HIDDEN_ID,AIWARNING_ID,HIDDEN_ID + from + + where + AIWARNING_ID = #{AIWARNING_ID} + + + + + + + + diff --git a/src/main/resources/mybatis/dsno2/keyProjects/AIWarningMapper.xml b/src/main/resources/mybatis/dsno2/keyProjects/AIWarningMapper.xml index b34f1a62..a6d4266c 100644 --- a/src/main/resources/mybatis/dsno2/keyProjects/AIWarningMapper.xml +++ b/src/main/resources/mybatis/dsno2/keyProjects/AIWarningMapper.xml @@ -28,7 +28,6 @@ f.ISTRUE, f.HASHIDDEN, f.AIWARNING_ID, - f.HIDDEN_IDS, f.REMARKS @@ -126,9 +125,6 @@ ,OPERATTIME = #{OPERATTIME} - - ,HIDDEN_IDS = #{HIDDEN_IDS} - where AIWARNING_ID = #{AIWARNING_ID} diff --git a/src/main/resources/mybatis/dsno2/keyProjects/OutSourcedMapper.xml b/src/main/resources/mybatis/dsno2/keyProjects/OutSourcedMapper.xml index d85535fb..5e2d3e6d 100644 --- a/src/main/resources/mybatis/dsno2/keyProjects/OutSourcedMapper.xml +++ b/src/main/resources/mybatis/dsno2/keyProjects/OutSourcedMapper.xml @@ -282,7 +282,9 @@ ( SELECT GROUP_CONCAT( t.NAME ) FROM `qa-gwj-prevention`.oa_department t WHERE FIND_IN_SET( t.DEPARTMENT_ID, f.INVOLVING_CORPS_DEPART_ID ) ) AS INVOLVING_CORPS_DEPART_NAME, (select GROUP_CONCAT(t.CORP_NAME) from `qa-gwj-prevention`.BUS_CORP_INFO t where FIND_IN_SET(t.CORPINFO_ID, f.GROUP_UNIT)) as GROUP_UNIT_NAME, ( SELECT GROUP_CONCAT( t.NAME ) FROM `qa-gwj-prevention`.vi_department_all t WHERE FIND_IN_SET( t.DEPARTMENT_ID, f.DEPARTMENT_ID ) ) AS DEPARTMENT_NAME, - + + uncheck.UNCHECK_COUNT, + (select GROUP_CONCAT(t.NAME) from ( SELECT CONCAT( CONCAT( c.CORP_NAME, '-' ), t.NAME ) NAME ,t.DEPARTMENT_ID @@ -314,6 +316,25 @@ LEFT JOIN `qa-gwj-regulatory`.vi_all_corp vac on vua.CORPINFO_ID = vac.CORPINFO_ID left join `qa-gwj-regulatory`.bus_personnelmanagement p on p.PERSONNELMANAGEMENT_ID = f.UNITS_PIC LEFT JOIN ( select count(c.KEYPROJECTCHECK_ID) co, c.OUTSOURCED_ID from `qa-gwj-prevention`.BUS_KEYPROJECTCHECK c where c.ISDELETE = '0' group by c.OUTSOURCED_ID ) cc on cc.OUTSOURCED_ID = f.OUTSOURCED_ID + + left join ( + SELECT COUNT(t.HIDDEN_ID) UNCHECK_COUNT,t.OUTSOURCED_ID,t.CREATOR CREATOR FROM ( + SELECT + f.HIDDEN_ID,IFNULL(bo.OUTSOURCED_ID,boai.OUTSOURCED_ID) OUTSOURCED_ID,f.CREATOR CREATOR + FROM + `qa-gwj-prevention`.BUS_KEYPROJECT_HIDDEN f + LEFT JOIN `qa-gwj-prevention`.bus_keyprojectcheck keycheck ON keycheck.KEYPROJECTCHECK_ID = f.FOREIGN_ID + LEFT JOIN `qa-gwj-regulatory`.BUS_OUTSOURCED bo ON keycheck.OUTSOURCED_ID = bo.OUTSOURCED_ID + LEFT JOIN `qa-gwj-regulatory`.BUS_OUTSOURCED boai ON f.FOREIGN_ID = boai.OUTSOURCED_ID + WHERE + f.ISDELETE = '0' + AND f.SOURCE IN ( '4', '5', '1' ) + AND f.STATE = '2' + AND ifnull(bo.OUTSOURCED_ID,boai.OUTSOURCED_ID) IS NOT NULL + AND (bo.ISDELETE = '0' or boai.ISDELETE = '0') + ) t group by t.OUTSOURCED_ID,t.CREATOR + ) uncheck on uncheck.OUTSOURCED_ID = f.OUTSOURCED_ID and uncheck.CREATOR = #{pd.UserId} + left join ( SELECT t.OUTSOURCED_ID, COUNT( t.HIDDEN_ID ) HIDDEN_COUNT, t.SOURCE SOURCE, t.CREATOR CREATOR FROM ( SELECT IFNULL( k.OUTSOURCED_ID, h.FOREIGN_ID ) OUTSOURCED_ID, h.* FROM `qa-gwj-prevention`.bus_keyproject_hidden h LEFT JOIN `qa-gwj-prevention`.bus_keyprojectcheck k ON h.FOREIGN_ID = k.KEYPROJECTCHECK_ID and h.ISDELETE = '0') t GROUP BY t.OUTSOURCED_ID,t.CREATOR ) h on h.OUTSOURCED_ID = f.OUTSOURCED_ID @@ -381,8 +402,11 @@ GROUP BY f.OUTSOURCED_ID ORDER BY - cc.co DESC, - f.OPERATTIME DESC + + uncheck.UNCHECK_COUNT DESC, + + cc.co DESC + + + + diff --git a/src/main/resources/mybatis/dsno2/keyProjects/VideoManagerMapper.xml b/src/main/resources/mybatis/dsno2/keyProjects/VideoManagerMapper.xml index d02004c1..eec18ac6 100644 --- a/src/main/resources/mybatis/dsno2/keyProjects/VideoManagerMapper.xml +++ b/src/main/resources/mybatis/dsno2/keyProjects/VideoManagerMapper.xml @@ -312,4 +312,25 @@ ) + + +