supervisionGeneralSurveyPlanDetailVOQueryWrapper);
}
\ No newline at end of file
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/survey/mapping/SupervisionGeneralSurveyPlanPOMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/survey/mapping/SupervisionGeneralSurveyPlanPOMapper.xml
index 49fc5fb43..92c940373 100644
--- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/survey/mapping/SupervisionGeneralSurveyPlanPOMapper.xml
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/survey/mapping/SupervisionGeneralSurveyPlanPOMapper.xml
@@ -1,41 +1,59 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- plan_no, org_no, plan_name, plan_create_time, plan_start_time, plan_end_time, plan_complate_time,
- leader, `status`, description, is_file_upload, file_count, file_path, process_instance_id,
- upload_time, Create_By, Create_Time, Update_By, Update_Time, `State`
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ plan_no, org_no, plan_name, plan_create_time, plan_start_time, plan_end_time, plan_complate_time,
+ leader, `status`, description, is_file_upload, file_count, file_path, process_instance_id,
+ upload_time, Create_By, Create_Time, Update_By, Update_Time, `State`
+
-
+
+
+
+
\ No newline at end of file
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportNormalMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportNormalMapper.java
new file mode 100644
index 000000000..551dc0fcb
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportNormalMapper.java
@@ -0,0 +1,17 @@
+package com.njcn.supervision.mapper.user;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.njcn.supervision.pojo.po.user.UserReportNormalPO;
+
+/**
+ *
+ * 干扰源用户常态化管理 Mapper 接口
+ *
+ *
+ * @author hongawen
+ * @since 2024-05-17
+ */
+public interface UserReportNormalMapper extends BaseMapper {
+
+}
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/mapping/UserReportNormalMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/mapping/UserReportNormalMapper.xml
new file mode 100644
index 000000000..a4ec0c5fe
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/mapping/UserReportNormalMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ISupervisionTempLineRunTestService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ISupervisionTempLineRunTestService.java
new file mode 100644
index 000000000..26864b497
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ISupervisionTempLineRunTestService.java
@@ -0,0 +1,17 @@
+package com.njcn.supervision.service.device;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTest;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author hongawen
+ * @since 2024-05-21
+ */
+public interface ISupervisionTempLineRunTestService extends IService {
+
+}
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineDebugPOService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineDebugPOService.java
new file mode 100644
index 000000000..a2c3d3328
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineDebugPOService.java
@@ -0,0 +1,28 @@
+package com.njcn.supervision.service.device;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam;
+import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
+import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO;
+
+/**
+ * Description:
+ * Date: 2024/5/17 15:26【需求编号】
+ *
+ * @author clam
+ * @version V1.0.0
+ */
+public interface SupervisionTempLineDebugPOService extends IService {
+
+
+ String addTempLineDebug(SupervisionTempLineDebugParam supervisionTempLineReportParam);
+
+ Page getTempLineDeug(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery);
+
+ Page pageHasDebug(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery);
+
+ SupervisionTempLineDebugVO getDetailTempLineDebug(String id);
+
+ void updateStatus(String businessKey, Integer status);
+}
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineReportService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineReportService.java
index 702dcf60d..37f821103 100644
--- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineReportService.java
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineReportService.java
@@ -25,4 +25,6 @@ public interface SupervisionTempLineReportService extends IService data = deptFeignClient.getDepSonIdtByDeptId(supervisionDevMainReportQuery.getOrgId()).getData();
+ queryWrapper.in("supervision_dev_main_report.org_no", data);
- //添加上时间范围
- queryWrapper.between("supervision_dev_main_report.Create_Time",
- DateUtil.beginOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchBeginTime())),
- DateUtil.endOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchEndTime())));
}
+ //添加上时间范围
+ queryWrapper.between("supervision_dev_main_report.Create_Time",
+ DateUtil.beginOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchBeginTime())),
+ DateUtil.endOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchEndTime())));
queryWrapper.orderByDesc("supervision_dev_main_report.Update_Time");
Page page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionDevMainReportQuery), PageFactory.getPageSize(supervisionDevMainReportQuery)), queryWrapper);
page.getRecords().stream().forEach(temp->{
@@ -186,7 +189,8 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl implements SupervisionTempLineDebugPOService{
+ public static final String PROCESS_KEY = "temp_line_debug";
+ private final BpmProcessFeignClient bpmProcessFeignClient;
+ private final DeptFeignClient deptFeignClient;
+
+ private final SupervisionTempLineReportService supervisionTempLineReportService;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public String addTempLineDebug(SupervisionTempLineDebugParam supervisionTempLineReportParam) {
+
+ SupervisionTempLineDebugPO byId = this.getById(supervisionTempLineReportParam.getId());
+ if(Objects.nonNull(byId)){
+ if(byId.getState() == 1) {
+ throw new BusinessException("该监测点以申请联调");
+ }
+ }
+ SupervisionTempLineDebugPO supervisionTempLineDebugPO = new SupervisionTempLineDebugPO();
+ BeanUtils.copyProperties(supervisionTempLineReportParam,supervisionTempLineDebugPO);
+ supervisionTempLineDebugPO.setState(DataStateEnum.ENABLE.getCode());
+ supervisionTempLineDebugPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
+ this.save(supervisionTempLineDebugPO);
+ String id = supervisionTempLineDebugPO.getId();
+ // 发起 BPM 流程
+ Map processInstanceVariables = new HashMap<>();
+ BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
+ bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(PROCESS_KEY);
+ bpmProcessInstanceCreateReqDTO.setBusinessKey(id);
+ bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(supervisionTempLineReportParam.getStartUserSelectAssignees());
+ bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
+ String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineDebugPO.getCreateBy(),bpmProcessInstanceCreateReqDTO).getData();
+ // 将工作流的编号,更新到流程单中
+ supervisionTempLineDebugPO.setProcessInstanceId(processInstanceId);
+ this.baseMapper.updateById(supervisionTempLineDebugPO);
+
+
+ return id;
+ }
+
+ @Override
+ public Page getTempLineDeug(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+
+ String userIndex = RequestUtil.getUserIndex();
+ queryWrapper.in("supervision_temp_line_report.create_by", CollectionUtil.newArrayList(userIndex))
+ .eq("supervision_temp_line_report.state", DataStateEnum.ENABLE.getCode());
+ if (StrUtil.isNotBlank(supervisionTempLineDebugQuery.getOrgId())) {
+ /*获取直接下属子单位*/
+ List data = deptFeignClient.getDepSonIdtByDeptId(supervisionTempLineDebugQuery.getOrgId()).getData();
+ queryWrapper.in("supervision_temp_line_report.org_id", data);
+
+ }
+ //添加上时间范围
+ queryWrapper.between("supervision_temp_line_report.Create_Time",
+ DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchBeginTime())),
+ DateUtil.endOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchEndTime())));
+ queryWrapper.orderByDesc("supervision_temp_line_report.Update_Time");
+
+ Page page =this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionTempLineDebugQuery), PageFactory.getPageSize(supervisionTempLineDebugQuery)), queryWrapper);
+
+ return page;
+ }
+
+ @Override
+ public Page pageHasDebug(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+
+ String userIndex = RequestUtil.getUserIndex();
+ queryWrapper
+ .eq("supervision_temp_line_debug.state", DataStateEnum.ENABLE.getCode());
+ if (StrUtil.isNotBlank(supervisionTempLineDebugQuery.getOrgId())) {
+ /*获取直接下属子单位*/
+ List data = deptFeignClient.getDepSonIdtByDeptId(supervisionTempLineDebugQuery.getOrgId()).getData();
+ queryWrapper.in("supervision_temp_line_debug.org_id", data);
+
+ }
+ //添加上时间范围
+ queryWrapper.between("supervision_temp_line_debug.Create_Time",
+ DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchBeginTime())),
+ DateUtil.endOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchEndTime())));
+ queryWrapper.orderByDesc("supervision_temp_line_debug.Update_Time");
+
+ Page page =this.baseMapper.pageHasDebug(new Page<>(PageFactory.getPageNum(supervisionTempLineDebugQuery), PageFactory.getPageSize(supervisionTempLineDebugQuery)), queryWrapper);
+
+ return page;
+ }
+
+ @Override
+ public SupervisionTempLineDebugVO getDetailTempLineDebug(String id) {
+ SupervisionTempLineDebugVO supervisionTempLineDebugVO = new SupervisionTempLineDebugVO();
+ SupervisionTempLineReport supervisionTempLineReport = supervisionTempLineReportService.getById(id);
+ SupervisionTempLineDebugPO supervisionTempLineDebugPO = this.getById(id);
+ supervisionTempLineDebugVO.setId(id);
+ supervisionTempLineDebugVO.setLineId(supervisionTempLineReport.getLineId());
+ supervisionTempLineDebugVO.setLineName(supervisionTempLineReport.getLineName());
+ supervisionTempLineDebugVO.setReason(supervisionTempLineDebugPO.getReason());
+ supervisionTempLineDebugVO.setProcessInstanceId(supervisionTempLineDebugPO.getProcessInstanceId());
+ supervisionTempLineDebugVO.setStatus(supervisionTempLineDebugPO.getStatus());
+
+
+ return supervisionTempLineDebugVO;
+ }
+
+ @Override
+ public void updateStatus(String businessKey, Integer status) {
+ this.lambdaUpdate().set(SupervisionTempLineDebugPO::getStatus,status).eq(SupervisionTempLineDebugPO::getId,businessKey).update();
+
+ }
+}
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java
index 267e1cde9..a31c05d62 100644
--- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java
@@ -93,20 +93,23 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl data = deptFeignClient.getDepSonIdtByDeptId(supervisionTempLineReportQuery.getOrgId()).getData();
+ queryWrapper.in("supervision_temp_line_report.org_id", data);
+
- //添加上时间范围
- queryWrapper.between("supervision_temp_line_report.Create_Time",
- DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchBeginTime())),
- DateUtil.endOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchEndTime())));
}
+ //添加上时间范围
+ queryWrapper.between("supervision_temp_line_report.Create_Time",
+ DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchBeginTime())),
+ DateUtil.endOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchEndTime())));
queryWrapper.orderByDesc("supervision_temp_line_report.Update_Time");
Page page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionTempLineReportQuery), PageFactory.getPageSize(supervisionTempLineReportQuery)), queryWrapper);
page.getRecords().stream().forEach(temp->{
- temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgId()).getData().getName()));
+// temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgId()).getData().getName()));
//处理特殊字段,用户名、部门名
UserVO userVO = userFeignClient.getUserById(temp.getReporter()).getData();
temp.setReporter(userVO.getName());
@@ -133,6 +136,20 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java
new file mode 100644
index 000000000..e755bfd3e
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java
@@ -0,0 +1,21 @@
+package com.njcn.supervision.service.device.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.njcn.supervision.mapper.device.SupervisionTempLineRunTestMapper;
+import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTest;
+import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author hongawen
+ * @since 2024-05-21
+ */
+@Service
+public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl implements ISupervisionTempLineRunTestService {
+
+}
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/IWarningLeafletService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/IWarningLeafletService.java
new file mode 100644
index 000000000..227e71e70
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/IWarningLeafletService.java
@@ -0,0 +1,33 @@
+package com.njcn.supervision.service.leaflet;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
+import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
+import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
+
+/**
+ *
+ * 预告警单表 服务类
+ *
+ *
+ * @author hongawen
+ * @since 2024-05-21
+ */
+public interface IWarningLeafletService extends IService {
+
+ /**
+ * 创建预告警单,此时还没有走流程,等待用户上传反馈单后,才正式进入工作流阶段
+ * name:预告警单名称,此处暂时用普测计划名称+变电站名称组成预告警单名
+ * code:预告警编号暂时随机by yxb
+ * id:对应问题源id,用于查询详细数据
+ * problemType:问题类型:1:技术监督管理;2:在线监测超标问题;3:用户投诉;4:现场测试超标,此处是现场测试超标
+ * leaflet:单子类型:1:预警单;2:告警单
+ * issueDetail:问题详细描述
+ */
+ void createLeaflet(String name, String code, String id, Integer problemType, Integer leaflet,String issueDetail);
+
+ Page alarmPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam);
+
+ Page warningPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam);
+}
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java
new file mode 100644
index 000000000..c35341573
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java
@@ -0,0 +1,91 @@
+package com.njcn.supervision.service.leaflet.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.njcn.common.pojo.enums.common.DataStateEnum;
+import com.njcn.supervision.enums.FlowStatusEnum;
+import com.njcn.supervision.enums.LeafletTypeEnum;
+import com.njcn.supervision.mapper.leaflet.WarningLeafletMapper;
+import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
+import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
+import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
+import com.njcn.supervision.service.leaflet.IWarningLeafletService;
+import com.njcn.user.api.UserFeignClient;
+import com.njcn.web.factory.PageFactory;
+import com.njcn.web.utils.RequestUtil;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ *
+ * 预告警单表 服务实现类
+ *
+ *
+ * @author hongawen
+ * @since 2024-05-21
+ */
+@Service
+@RequiredArgsConstructor
+public class WarningLeafletServiceImpl extends ServiceImpl implements IWarningLeafletService {
+
+ private final UserFeignClient userFeignClient;
+
+ /**
+ * 不创建工作流,只是创建一个告警单,需要待用户反馈后才会进入流程
+ */
+ @Override
+ public void createLeaflet(String name, String code, String id, Integer problemType, Integer leaflet,String issueDetail) {
+ WarningLeaflet warningLeaflet = new WarningLeaflet();
+ warningLeaflet.setLeafletName(name);
+ warningLeaflet.setLeafletNo(code);
+ warningLeaflet.setProblemType(problemType);
+ warningLeaflet.setProblemId(id);
+ warningLeaflet.setLeafletType(leaflet);
+ warningLeaflet.setIssueDetail(issueDetail);
+ warningLeaflet.setState(DataStateEnum.ENABLE.getCode());
+ warningLeaflet.setStatus(FlowStatusEnum.NO_FEEDBACK.getCode());
+ this.baseMapper.insert(warningLeaflet);
+ }
+
+ @Override
+ public Page warningPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam) {
+ QueryWrapper warningLeafletVOQueryWrapper = new QueryWrapper<>();
+ if (Objects.nonNull(warningLeafletQueryParam)) {
+ //添加上时间范围
+ warningLeafletVOQueryWrapper.between("supervision_warning_leaflet.Create_Time",
+ DateUtil.beginOfDay(DateUtil.parse(warningLeafletQueryParam.getSearchBeginTime())),
+ DateUtil.endOfDay(DateUtil.parse(warningLeafletQueryParam.getSearchEndTime())));
+ }
+ //获取当前用户部门所有同事的id,查看该部门下所有的数据
+ List colleaguesIds = userFeignClient.getColleaguesIdByUserId(RequestUtil.getUserIndex()).getData();
+ warningLeafletVOQueryWrapper.in("supervision_warning_leaflet.Create_By", colleaguesIds)
+ .eq("supervision_warning_leaflet.state",DataStateEnum.ENABLE.getCode())
+ .eq("supervision_warning_leaflet.leaflet_type", LeafletTypeEnum.WARNING.getCode())
+ .orderByDesc("supervision_warning_leaflet.Update_Time");
+ return this.baseMapper.warningPageData(new Page<>(PageFactory.getPageNum(warningLeafletQueryParam), PageFactory.getPageSize(warningLeafletQueryParam)), warningLeafletVOQueryWrapper);
+ }
+
+ @Override
+ public Page alarmPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam) {
+ QueryWrapper warningLeafletVOQueryWrapper = new QueryWrapper<>();
+ if (Objects.nonNull(warningLeafletQueryParam)) {
+ //添加上时间范围
+ warningLeafletVOQueryWrapper.between("supervision_warning_leaflet.Create_Time",
+ DateUtil.beginOfDay(DateUtil.parse(warningLeafletQueryParam.getSearchBeginTime())),
+ DateUtil.endOfDay(DateUtil.parse(warningLeafletQueryParam.getSearchEndTime())));
+ }
+ //获取当前用户部门所有同事的id,查看该部门下所有的数据
+ List colleaguesIds = userFeignClient.getColleaguesIdByUserId(RequestUtil.getUserIndex()).getData();
+ warningLeafletVOQueryWrapper.in("supervision_warning_leaflet.Create_By", colleaguesIds)
+ .eq("supervision_warning_leaflet.state",DataStateEnum.ENABLE.getCode())
+ .eq("supervision_warning_leaflet.leaflet_type", LeafletTypeEnum.ALARM.getCode())
+ .orderByDesc("supervision_warning_leaflet.Update_Time");
+ return this.baseMapper.alarmPageData(new Page<>(PageFactory.getPageNum(warningLeafletQueryParam), PageFactory.getPageSize(warningLeafletQueryParam)), warningLeafletVOQueryWrapper);
+
+ }
+}
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionPlanPOService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionPlanPOService.java
new file mode 100644
index 000000000..fcd8be823
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionPlanPOService.java
@@ -0,0 +1,29 @@
+package com.njcn.supervision.service.plan;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.njcn.supervision.pojo.param.plan.SupervisionPlanParam;
+import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.njcn.supervision.pojo.vo.plan.SupervisionPlanVO;
+
+/**
+ *
+ * Description:
+ * Date: 2024/5/20 17:49【需求编号】
+ *
+ * @author clam
+ * @version V1.0.0
+ */
+public interface SupervisionPlanPOService extends IService{
+
+
+ String addPlan(SupervisionPlanParam supvPlanParam);
+
+ Page pagePlan(SupervisionPlanParam supvPlanParam);
+
+ String initiateAudit(String id);
+
+ SupervisionPlanVO getDetailPlan(String id);
+
+ void updateStatus(String businessKey, Integer status);
+}
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionProblemPOService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionProblemPOService.java
new file mode 100644
index 000000000..7804609dc
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionProblemPOService.java
@@ -0,0 +1,21 @@
+package com.njcn.supervision.service.plan;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.njcn.supervision.pojo.param.plan.SupervisopnProblemParam;
+import com.njcn.supervision.pojo.po.plan.SupervisionProblemPO;
+import com.baomidou.mybatisplus.extension.service.IService;
+ /**
+ *
+ * Description:
+ * Date: 2024/5/20 19:50【需求编号】
+ *
+ * @author clam
+ * @version V1.0.0
+ */
+public interface SupervisionProblemPOService extends IService{
+
+
+ void addProblem(SupervisopnProblemParam supvProblemParam);
+
+ Page pageProblem(SupervisopnProblemParam supvProblemParam);
+ }
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java
new file mode 100644
index 000000000..c0142d681
--- /dev/null
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java
@@ -0,0 +1,365 @@
+package com.njcn.supervision.service.plan.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.date.LocalDateTimeUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.njcn.bpm.api.BpmProcessFeignClient;
+import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
+import com.njcn.common.pojo.enums.common.DataStateEnum;
+import com.njcn.common.pojo.exception.BusinessException;
+import com.njcn.common.utils.PubUtils;
+import com.njcn.supervision.mapper.plan.SupervisionPlanPOMapper;
+import com.njcn.supervision.pojo.param.plan.SupervisionPlanParam;
+import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO;
+import com.njcn.supervision.pojo.po.plan.SupervisionProblemPO;
+import com.njcn.supervision.pojo.vo.plan.SupervisionPlanVO;
+import com.njcn.supervision.service.plan.SupervisionPlanPOService;
+import com.njcn.supervision.service.plan.SupervisionProblemPOService;
+import com.njcn.user.api.DeptFeignClient;
+import com.njcn.user.api.UserFeignClient;
+import com.njcn.user.pojo.po.User;
+import com.njcn.user.pojo.vo.PvTerminalTreeVO;
+import com.njcn.web.factory.PageFactory;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ *
+ * Description:
+ * Date: 2024/5/20 17:49【需求编号】
+ *
+ * @author clam
+ * @version V1.0.0
+ */
+@Service
+@RequiredArgsConstructor
+public class SupervisionPlanPOServiceImpl extends ServiceImpl implements SupervisionPlanPOService{
+ private final UserFeignClient userFeignClient;
+ private final DeptFeignClient deptFeignClient;
+ private final BpmProcessFeignClient bpmProcessFeignClient;
+ public static final String PROCESS_KEY = "sup_plan_add";
+ private final SupervisionProblemPOService supervisionProblemPOService;
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public String addPlan(SupervisionPlanParam supvPlanParam) {
+ checkParam(supvPlanParam, false);
+ SupervisionPlanPO supvPlan = new SupervisionPlanPO();
+ BeanUtil.copyProperties(supvPlanParam, supvPlan);
+ supvPlan.setPlanSupvDate(LocalDateTimeUtil.parse(supvPlanParam.getPlanSupvDate(), DatePattern.NORM_DATETIME_PATTERN));
+
+ if(StrUtil.isNotBlank(supvPlanParam.getEffectEndTime())) {
+ supvPlan.setEffectEndTime(PubUtils.localDateTimeFormat(supvPlanParam.getEffectEndTime()));
+ }
+ if(StrUtil.isNotBlank(supvPlanParam.getEffectStartTime())) {
+ supvPlan.setEffectStartTime(PubUtils.localDateTimeFormat(supvPlanParam.getEffectStartTime()));
+ }
+ if(StrUtil.isNotBlank(supvPlanParam.getProblemOcTime())) {
+ supvPlan.setProblemOcTime(PubUtils.localDateTimeFormat(supvPlanParam.getProblemOcTime()));
+ }
+ if(StrUtil.isNotBlank(supvPlanParam.getReportIssueTime())) {
+ supvPlan.setReportIssueTime(PubUtils.localDateTimeFormat(supvPlanParam.getReportIssueTime()));
+ }
+
+
+
+ if(!"01".equals(supvPlan.getEffectStatus())){
+ if(Objects.isNull(supvPlan.getEffectStartTime()) ){
+ throw new BusinessException("开始实施时间不可为空!");
+ }
+ }
+
+ if("04".equals(supvPlan.getEffectStatus())){
+ if(Objects.isNull(supvPlan.getEffectEndTime()) ){
+ throw new BusinessException("结束实施时间不可为空!");
+ }
+ }
+
+
+ supvPlan.setIsUploadHead(0);
+ if(StrUtil.isNotBlank(supvPlan.getEffectUserId())){
+ List userList = userFeignClient.getUserByIdList(Stream.of(supvPlan.getEffectUserId()).collect(Collectors.toList())).getData();
+ if(CollUtil.isNotEmpty(userList)){
+ supvPlan.setEffectUserName(userList.get(0).getName());
+ }
+ }
+ supvPlan.setState(DataStateEnum.ENABLE.getCode());
+ this.save(supvPlan);
+ return supvPlan.getPlanId();
+ }
+
+ @Override
+ public Page pagePlan(SupervisionPlanParam supvPlanParam) {
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ if (StrUtil.isNotBlank(supvPlanParam.getSupvOrgId())) {
+ List deptIds = deptFeignClient.getDepSonSelfCodetByCode(supvPlanParam.getSupvOrgId()).getData();
+ lambdaQueryWrapper.in(SupervisionPlanPO::getSupvOrgId, deptIds)
+ .between(SupervisionPlanPO::getPlanSupvDate, supvPlanParam.getSearchBeginTime(),supvPlanParam.getSearchEndTime())
+ .eq(StrUtil.isNotBlank(supvPlanParam.getSupvType()),SupervisionPlanPO::getSupvType,supvPlanParam.getSupvType());
+
+ }
+
+ if(StrUtil.isNotBlank(supvPlanParam.getSortBy())){
+ if(supvPlanParam.getOrderBy().equals("desc")){
+ lambdaQueryWrapper.orderByDesc(SupervisionPlanPO::getPlanSupvDate);
+ }else {
+ lambdaQueryWrapper.orderByAsc(SupervisionPlanPO::getPlanSupvDate);
+
+ }
+ }else {
+ lambdaQueryWrapper.orderByDesc(SupervisionPlanPO::getCreateTime);
+ }
+
+
+ List deptList = deptFeignClient.allDeptList().getData();
+// Map mapCode = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode, Function.identity()));
+ Map mapList = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, Function.identity()));
+
+
+ Page page = this.page(new Page<>(PageFactory.getPageNum(supvPlanParam), PageFactory.getPageSize(supvPlanParam)), lambdaQueryWrapper);
+ List supvPlanVOList = BeanUtil.copyToList(page.getRecords(), SupervisionPlanVO.class);
+ List userIds = supvPlanVOList.stream().map(SupervisionPlanVO::getPlanUserId).distinct().collect(Collectors.toList());
+ supvPlanVOList.forEach(item -> {
+ PvTerminalTreeVO pvTerminalTreeVO = null;
+ if (mapList.containsKey(item.getSupvOrgId())) {
+ pvTerminalTreeVO = mapList.get(item.getSupvOrgId());
+ item.setSupvOrgName(pvTerminalTreeVO.getName());
+ int deptLevel = pvTerminalTreeVO.getPids().split(StrUtil.COMMA).length;
+ if (deptLevel == 2) {
+ //省
+ item.setProvince(pvTerminalTreeVO.getName());
+ } else if (deptLevel == 3) {
+ //市
+ item.setCity(pvTerminalTreeVO.getName());
+ if (mapList.containsKey(pvTerminalTreeVO.getPid())) {
+ PvTerminalTreeVO pvTerminalTreeOne = mapList.get(pvTerminalTreeVO.getPid());
+ item.setProvince(pvTerminalTreeOne.getName());
+ }
+ } else if (deptLevel == 4) {
+ //县
+ if (mapList.containsKey(pvTerminalTreeVO.getPid())) {
+ item.setCounty(pvTerminalTreeVO.getName());
+ PvTerminalTreeVO pvTerminalTreeOne = mapList.get(pvTerminalTreeVO.getPid());
+ if (Objects.nonNull(pvTerminalTreeOne)) {
+ item.setCity(pvTerminalTreeOne.getName());
+ if (mapList.containsKey(pvTerminalTreeOne.getPid())) {
+ PvTerminalTreeVO pvTerminalTreeTwo = mapList.get(pvTerminalTreeOne.getPid());
+ if (Objects.nonNull(pvTerminalTreeTwo)) {
+ item.setProvince(pvTerminalTreeTwo.getName());
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (mapList.containsKey(item.getPlanOrgId())) {
+ item.setPlanOrgName(mapList.get(item.getPlanOrgId()).getName());
+ }
+
+// SupvFile supvFile = supvFileMapper.selectOne(new LambdaQueryWrapper().eq(SupvFile::getBusiId, item.getPlanId()).eq(SupvFile::getType, 0));
+// if (Objects.nonNull(supvFile)) {
+// item.setAttachmentName(supvFile.getAttachmentName());
+// }
+
+ List userList = userFeignClient.getUserByIdList(userIds).getData();
+ Map map = userList.stream().collect(Collectors.toMap(User::getId, Function.identity()));
+
+ if (map.containsKey(item.getPlanUserId())) {
+ item.setPlanUserName(map.get(item.getPlanUserId()).getName());
+ }
+
+
+ });
+ Page