现场测试问题

预告警单
This commit is contained in:
2024-05-21 16:26:55 +08:00
parent 1d73148d54
commit 1b86deea2d
26 changed files with 900 additions and 79 deletions

View File

@@ -27,7 +27,7 @@ public class BpmFormParam implements Serializable {
* 状态 * 状态
*/ */
@ApiModelProperty("表单状态") @ApiModelProperty("表单状态")
@NotBlank(message = "表单状态不能为空") // @NotBlank(message = "表单状态不能为空")
private Integer status; private Integer status;
/** /**
@@ -42,7 +42,7 @@ public class BpmFormParam implements Serializable {
* *
*/ */
@ApiModelProperty("表单项的数组-JSON 字符串的数组") @ApiModelProperty("表单项的数组-JSON 字符串的数组")
@NotBlank(message = "表单项的数组不能为空") // @NotBlank(message = "表单项的数组不能为空")
private List<String> fields; private List<String> fields;
/** /**

View File

@@ -21,7 +21,7 @@ public class GenerateCode {
private static final String TARGET_DIR = "D://code"; private static final String TARGET_DIR = "D://code";
private static final String DB_URL = "jdbc:mysql://192.168.1.24:13306/bpm"; private static final String DB_URL = "jdbc:mysql://192.168.1.24:13306/pqsinfo_jb";
// private static final String DB_URL = "jdbc:oracle:thin:@192.168.1.170:1521:pqsbase"; // private static final String DB_URL = "jdbc:oracle:thin:@192.168.1.170:1521:pqsbase";
private static final String USERNAME = "root"; private static final String USERNAME = "root";
@@ -30,9 +30,9 @@ public class GenerateCode {
public static void main(String[] args) { public static void main(String[] args) {
List<Module> modules = Stream.of( List<Module> modules = Stream.of(
new Module("hongawen", "com.njcn.bpm", "", Stream.of( new Module("hongawen", "com.njcn.supervision", "leaflet", Stream.of(
"bpm_sign" "supervision_warning_leaflet"
).collect(Collectors.toList()), "") ).collect(Collectors.toList()), "supervision_")
).collect(Collectors.toList()); ).collect(Collectors.toList());
generateJavaFile(modules); generateJavaFile(modules);
} }

View File

@@ -34,7 +34,7 @@ import java.util.stream.Stream;
@Slf4j @Slf4j
public class XssRequestWrapper extends HttpServletRequestWrapper { public class XssRequestWrapper extends HttpServletRequestWrapper {
private final static String[] WHITE_PARAMETER_NAME = {"password", "mxContent", "docContent", "bgImage","fileContent","flowableXml","bpmnXml"}; private final static String[] WHITE_PARAMETER_NAME = {"password", "mxContent", "docContent", "bgImage","fileContent","flowableXml","bpmnXml","fields"};
public XssRequestWrapper(HttpServletRequest request) { public XssRequestWrapper(HttpServletRequest request) {

View File

@@ -13,7 +13,8 @@ public enum FlowStatusEnum {
AUDIT(1, "审批中"), AUDIT(1, "审批中"),
APPROVE(2, "审批通过"), APPROVE(2, "审批通过"),
OPPOSE(3, "审批不通过"), OPPOSE(3, "审批不通过"),
CANCEL(4, "已取消"); CANCEL(4, "已取消"),
NO_FEEDBACK(5, "未反馈");
private final Integer code; private final Integer code;

View File

@@ -0,0 +1,19 @@
package com.njcn.supervision.enums;
import lombok.Getter;
@Getter
public enum LeafletTypeEnum {
WARNING(1, "预警单"),
ALARM(2, "告警单");
private final Integer code;
private final String name;
LeafletTypeEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}

View File

@@ -0,0 +1,21 @@
package com.njcn.supervision.enums;
import lombok.Getter;
@Getter
public enum ProblemTypeEnum {
PLAN(1, "技术监督计划"),
ONLINE(2, "在线监测超标问题"),
USER(3, "用户投诉问题"),
SITE_TEST(4, "现场测试超标问题");
private final Integer code;
private final String name;
ProblemTypeEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}

View File

@@ -0,0 +1,112 @@
package com.njcn.supervision.pojo.param.leaflet;
import com.njcn.db.bo.BaseEntity;
import com.njcn.supervision.pojo.param.device.QuitRunningDeviceParam;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* <p>
* 预告警单表
* </p>
*
* @author hongawen
* @since 2024-05-21
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WarningLeafletParam extends BaseEntity implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 预告警单名称
*/
@ApiModelProperty(value = "设备编号")
private String leafletName;
/**
* 预告警编号,目前阶段不做配置
*/
@ApiModelProperty(value = "设备编号")
private String leafletNo;
/**
* 1技术监督管理2在线监测超标问题3用户投诉4现场测试超标
*/
@ApiModelProperty(value = "设备编号")
private Integer problemType;
/**
* 对应问题源ID用于查询详细信息
*/
@ApiModelProperty(value = "设备编号")
private String problemId;
/**
* 单子类型1预警单2告警单
*/
@ApiModelProperty(value = "设备编号")
private Integer leafletType;
/**
* 1:审批中2审批通过3审批不通过4已取消5待反馈
*/
@ApiModelProperty(value = "设备编号")
private Integer status;
/**
* 流程实例的编号
*/
@ApiModelProperty(value = "设备编号")
private String processInstanceId;
@Data
@EqualsAndHashCode(callSuper = true)
public static class WarningLeafletUpdateParam extends WarningLeafletParam {
@ApiModelProperty("id")
@NotBlank(message = "索引不能为空")
private String Id;
/**
* 采取措施
*/
@ApiModelProperty(value = "采取措施")
@NotBlank(message = "采取措施不能为空")
private String takeStep;
/**
* 处理成效报告
*/
@ApiModelProperty(value = "处理成效报告")
@NotBlank(message = "处理成效报告不能为空")
private String reportPath;
}
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class WarningLeafletQueryParam extends BaseParam {
}
}

View File

@@ -0,0 +1,85 @@
package com.njcn.supervision.pojo.po.leaflet;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 预告警单表
* </p>
*
* @author hongawen
* @since 2024-05-21
*/
@Data
@TableName("supervision_warning_leaflet")
public class WarningLeaflet extends BaseEntity implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 预告警单
*/
private String id;
/**
* 预告警单名称
*/
private String leafletName;
/**
* 预告警编号,目前阶段不做配置
*/
private String leafletNo;
/**
* 1技术监督管理2在线监测超标问题3用户投诉4现场测试超标
*/
private Integer problemType;
/**
* 对应问题源ID用于查询详细信息
*/
private String problemId;
/**
* 单子类型1预警单2告警单
*/
private Integer leafletType;
/**
* 1:审批中2审批通过3审批不通过4已取消5待反馈
*/
private Integer status;
/**
* 流程实例的编号
*/
private String processInstanceId;
/**
* 采取措施
*/
private String takeStep;
/**
* 处理成效报告
*/
private String reportPath;
/**
* 状态0-删除 1-正常
*/
private Integer state;
}

View File

@@ -79,6 +79,14 @@ public class SupervisionGeneralSurveyPlanDetailPO extends BaseEntity {
@TableField(value = "is_survey") @TableField(value = "is_survey")
@ApiModelProperty(value="是否实现监测(0:否 1:是)") @ApiModelProperty(value="是否实现监测(0:否 1:是)")
private Integer isSurvey; private Integer isSurvey;
/**
* 存在问题的普测变电站是否发起告警单01
*/
@TableField(value = "initiate_warning_flag")
@ApiModelProperty(value="是否发起告警单")
private Integer initiateWarningFlag;
/** /**
* 状态0-删除 1-正常 * 状态0-删除 1-正常
*/ */

View File

@@ -0,0 +1,72 @@
package com.njcn.supervision.pojo.vo.leaflet;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* 预告警单表
* </p>
*
* @author hongawen
* @since 2024-05-21
*/
@Data
public class WarningLeafletVO extends BaseEntity implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 预告警单
*/
private String id;
/**
* 预告警单名称
*/
private String leafletName;
/**
* 预告警编号,目前阶段不做配置
*/
private String leafletNo;
/**
* 1技术监督管理2在线监测超标问题3用户投诉4现场测试超标
*/
private Integer problemType;
/**
* 对应问题源ID用于查询详细信息
*/
private String problemId;
/**
* 单子类型1预警单2告警单
*/
private Integer leafletType;
/**
* 1:审批中2审批通过3审批不通过4已取消5待反馈
*/
private Integer status;
/**
* 采取措施
*/
private String takeStep;
/**
* 处理成效报告
*/
private String reportPath;
/**
* 流程实例的编号
*/
private String processInstanceId;
}

View File

@@ -0,0 +1,117 @@
package com.njcn.supervision.pojo.vo.survey;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
/**
*
* Description:
* Date: 2024/5/13 18:35【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class SupervisionGeneralSurveyPlanDetailVO extends BaseEntity {
/**
* 普测计划编号
*/
@MppMultiId(value = "plan_no")
private String planNo;
@ApiModelProperty(value="单位Id")
private String orgNo;
@ApiModelProperty(value="单位名称")
private String orgName;
/**
* 普测计划名称
*/
@ApiModelProperty(value="普测计划名称")
private String planName;
/**
* 计划生成时间
*/
@ApiModelProperty(value="计划生成时间")
private LocalDate planCreateTime;
/**
* 计划开始时间
*/
@ApiModelProperty(value="计划开始时间")
private LocalDate planStartTime;
/**
* 计划结束时间
*/
@ApiModelProperty(value="计划结束时间")
private LocalDate planEndTime;
/**
* 实际完成时间
*/
@ApiModelProperty(value="实际完成时间")
private LocalDate planComplateTime;
/**
* 计划负责人
*/
@ApiModelProperty(value="计划负责人")
private String leader;
/**
* 变电站ID
*/
@MppMultiId(value = "sub_id")
private String subId;
/**
* 变电站名称
*/
@TableField(value = "sub_name")
@ApiModelProperty(value="变电站名称")
private String subName;
/**
* 变电站电压等级
*/
@TableField(value = "voltage_level")
@ApiModelProperty(value="变电站电压等级")
private String voltageLevel;
/**
* 是否生成问题(0:否 1:是)
*/
@TableField(value = "is_problem")
@ApiModelProperty(value="是否生成问题(0:否 1:是)")
private Integer isProblem;
/**
* 文件路径
*/
@ApiModelProperty(value="文件路径")
private String filePath;
/**
* 是否发起告警单
*/
@ApiModelProperty(value="是否发起告警单")
private Integer initiateWarningFlag;
}

View File

@@ -0,0 +1,65 @@
package com.njcn.supervision.controller.leaflet;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.njcn.web.controller.BaseController;
/**
* <p>
* 预告警单表 前端控制器
* </p>
*
* @author hongawen
* @since 2024-05-21
*/
@RestController
@RequestMapping("/warningLeaflet")
@Slf4j
@Api(tags = "预告警单表")
@AllArgsConstructor
public class WarningLeafletController extends BaseController {
private final IWarningLeafletService warningLeafletService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/warningPageData")
@ApiOperation("分页查询当前用户能看到的预警单数据")
@ApiImplicitParam(name = "warningLeafletQueryParam", value = "参数", required = true)
public HttpResult<Page<WarningLeafletVO>> warningPageData(@RequestBody @Validated WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam) {
String methodDescribe = getMethodDescribe("warningPageData");
Page<WarningLeafletVO> out = warningLeafletService.warningPageData(warningLeafletQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/alarmPageData")
@ApiOperation("分页查询当前用户能看到的告警单数据")
@ApiImplicitParam(name = "warningLeafletQueryParam", value = "参数", required = true)
public HttpResult<Page<WarningLeafletVO>> alarmPageData(@RequestBody @Validated WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam) {
String methodDescribe = getMethodDescribe("alarmPageData");
Page<WarningLeafletVO> out = warningLeafletService.alarmPageData(warningLeafletQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
}
}

View File

@@ -10,6 +10,7 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.HttpResultUtil;
import com.njcn.supervision.pojo.param.survey.SupervisionGeneralSurveyPlanParm; import com.njcn.supervision.pojo.param.survey.SupervisionGeneralSurveyPlanParm;
import com.njcn.supervision.pojo.vo.survey.DeptSubstationVO; import com.njcn.supervision.pojo.vo.survey.DeptSubstationVO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanDetailVO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO; import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO;
import com.njcn.supervision.service.survey.SupervisionGeneralSurveyPlanPOService; import com.njcn.supervision.service.survey.SupervisionGeneralSurveyPlanPOService;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
@@ -25,7 +26,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
/** /**
* 干扰源用户管理 * 谐波普测计划
* *
* @author qijian * @author qijian
* @version 1.0.0 * @version 1.0.0
@@ -64,7 +65,6 @@ public class GeneralSurveyController extends BaseController {
} }
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/removeSurvey") @PostMapping("/removeSurvey")
@ApiOperation("移除普测计划") @ApiOperation("移除普测计划")
@@ -112,7 +112,7 @@ public class GeneralSurveyController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} }
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DELETE)
@PostMapping("/cancel") @PostMapping("/cancel")
@ApiOperation("取消普测计划") @ApiOperation("取消普测计划")
@ApiImplicitParam(name = "cancelReqVO", value = "取消原因", required = true) @ApiImplicitParam(name = "cancelReqVO", value = "取消原因", required = true)
@@ -123,4 +123,25 @@ public class GeneralSurveyController extends BaseController {
} }
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/pageProblemSubstationBySurvey")
@ApiOperation("分页查询当前用户能看到的普测计划中存在超标问题")
@ApiImplicitParam(name = "generalSurveyPlanQueryParam", value = "参数", required = true)
public HttpResult<Page<SupervisionGeneralSurveyPlanDetailVO>> getPageProblemSubstationBySurvey(@RequestBody @Validated SupervisionGeneralSurveyPlanParm.GeneralSurveyPlanQueryParam generalSurveyPlanQueryParam ){
String methodDescribe = getMethodDescribe("pageProblemSubstationBySurvey");
Page<SupervisionGeneralSurveyPlanDetailVO> out = supervisionGeneralSurveyPlanPOService.pageProblemSubstationBySurvey(generalSurveyPlanQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/initiateWarningLeaflet")
@ApiOperation("针对有问题的现场测试发起告警单")
public HttpResult<Boolean> initiateWarningLeaflet(@RequestParam("id") String id,@RequestParam("subId") String subId){
String methodDescribe = getMethodDescribe("initiateWarningLeaflet");
supervisionGeneralSurveyPlanPOService.initiateWarningLeaflet(id,subId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, Boolean.TRUE, methodDescribe);
}
} }

View File

@@ -0,0 +1,23 @@
package com.njcn.supervision.mapper.leaflet;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
import org.apache.ibatis.annotations.Param;
/**
* <p>
* 预告警单表 Mapper 接口
* </p>
*
* @author hongawen
* @since 2024-05-21
*/
public interface WarningLeafletMapper extends BaseMapper<WarningLeaflet> {
Page<WarningLeafletVO> warningPageData(Page<Object> objectPage, @Param("ew") QueryWrapper<WarningLeafletVO> warningLeafletVOQueryWrapper);
Page<WarningLeafletVO> alarmPageData(Page<Object> objectPage, @Param("ew") QueryWrapper<WarningLeafletVO> warningLeafletVOQueryWrapper);
}

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.supervision.mapper.leaflet.WarningLeafletMapper">
<select id="warningPageData" resultType="WarningLeafletVO">
SELECT supervision_warning_leaflet.*
FROM supervision_warning_leaflet supervision_warning_leaflet
WHERE ${ew.sqlSegment}
</select>
<select id="alarmPageData" resultType="WarningLeafletVO">
SELECT supervision_warning_leaflet.*
FROM supervision_warning_leaflet supervision_warning_leaflet
WHERE ${ew.sqlSegment}
</select>
</mapper>

View File

@@ -4,11 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanPO; import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanPO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanDetailVO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO; import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
/** /**
*
* Description: * Description:
* Date: 2024/5/13 18:35【需求编号】 * Date: 2024/5/13 18:35【需求编号】
* *
@@ -17,4 +17,6 @@ import org.apache.ibatis.annotations.Param;
*/ */
public interface SupervisionGeneralSurveyPlanPOMapper extends BaseMapper<SupervisionGeneralSurveyPlanPO> { public interface SupervisionGeneralSurveyPlanPOMapper extends BaseMapper<SupervisionGeneralSurveyPlanPO> {
Page<SupervisionGeneralSurveyPlanVO> page(Page<Object> objectPage, @Param("ew") QueryWrapper<SupervisionGeneralSurveyPlanVO> queryWrapper); Page<SupervisionGeneralSurveyPlanVO> page(Page<Object> objectPage, @Param("ew") QueryWrapper<SupervisionGeneralSurveyPlanVO> queryWrapper);
Page<SupervisionGeneralSurveyPlanDetailVO> pageProblemSubstationBySurvey(Page<Object> objectPage, @Param("ew") QueryWrapper<SupervisionGeneralSurveyPlanDetailVO> supervisionGeneralSurveyPlanDetailVOQueryWrapper);
} }

View File

@@ -1,41 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.supervision.mapper.survey.SupervisionGeneralSurveyPlanPOMapper"> <mapper namespace="com.njcn.supervision.mapper.survey.SupervisionGeneralSurveyPlanPOMapper">
<resultMap id="BaseResultMap" type="com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanPO"> <resultMap id="BaseResultMap" type="com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanPO">
<!--@mbg.generated--> <!--@mbg.generated-->
<!--@Table supervision_general_survey_plan--> <!--@Table supervision_general_survey_plan-->
<id column="plan_no" jdbcType="VARCHAR" property="planNo" /> <id column="plan_no" jdbcType="VARCHAR" property="planNo"/>
<result column="org_no" jdbcType="VARCHAR" property="orgNo" /> <result column="org_no" jdbcType="VARCHAR" property="orgNo"/>
<result column="plan_name" jdbcType="VARCHAR" property="planName" /> <result column="plan_name" jdbcType="VARCHAR" property="planName"/>
<result column="plan_create_time" jdbcType="DATE" property="planCreateTime" /> <result column="plan_create_time" jdbcType="DATE" property="planCreateTime"/>
<result column="plan_start_time" jdbcType="DATE" property="planStartTime" /> <result column="plan_start_time" jdbcType="DATE" property="planStartTime"/>
<result column="plan_end_time" jdbcType="DATE" property="planEndTime" /> <result column="plan_end_time" jdbcType="DATE" property="planEndTime"/>
<result column="plan_complate_time" jdbcType="DATE" property="planComplateTime" /> <result column="plan_complate_time" jdbcType="DATE" property="planComplateTime"/>
<result column="leader" jdbcType="VARCHAR" property="leader" /> <result column="leader" jdbcType="VARCHAR" property="leader"/>
<result column="status" jdbcType="TINYINT" property="status" /> <result column="status" jdbcType="TINYINT" property="status"/>
<result column="description" jdbcType="VARCHAR" property="description" /> <result column="description" jdbcType="VARCHAR" property="description"/>
<result column="is_file_upload" jdbcType="TINYINT" property="isFileUpload" /> <result column="is_file_upload" jdbcType="TINYINT" property="isFileUpload"/>
<result column="file_count" jdbcType="INTEGER" property="fileCount" /> <result column="file_count" jdbcType="INTEGER" property="fileCount"/>
<result column="file_path" jdbcType="VARCHAR" property="filePath" /> <result column="file_path" jdbcType="VARCHAR" property="filePath"/>
<result column="process_instance_id" jdbcType="VARCHAR" property="processInstanceId" /> <result column="process_instance_id" jdbcType="VARCHAR" property="processInstanceId"/>
<result column="upload_time" jdbcType="DATE" property="uploadTime" /> <result column="upload_time" jdbcType="DATE" property="uploadTime"/>
<result column="Create_By" jdbcType="CHAR" property="createBy" /> <result column="Create_By" jdbcType="CHAR" property="createBy"/>
<result column="Create_Time" jdbcType="TIMESTAMP" property="createTime" /> <result column="Create_Time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="Update_By" jdbcType="CHAR" property="updateBy" /> <result column="Update_By" jdbcType="CHAR" property="updateBy"/>
<result column="Update_Time" jdbcType="TIMESTAMP" property="updateTime" /> <result column="Update_Time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="State" jdbcType="BIT" property="state" /> <result column="State" jdbcType="BIT" property="state"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
plan_no, org_no, plan_name, plan_create_time, plan_start_time, plan_end_time, plan_complate_time, 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, leader, `status`, description, is_file_upload, file_count, file_path, process_instance_id,
upload_time, Create_By, Create_Time, Update_By, Update_Time, `State` upload_time, Create_By, Create_Time, Update_By, Update_Time, `State`
</sql> </sql>
<select id="page" resultType="com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO"> <select id="page" resultType="com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO">
SELECT SELECT *
* FROM supervision_general_survey_plan supervision_general_survey_plan
FROM supervision_general_survey_plan supervision_general_survey_plan WHERE ${ew.sqlSegment}
WHERE ${ew.sqlSegment} </select>
</select>
<!--查询现场测试有问题的数据-->
<select id="pageProblemSubstationBySurvey"
resultType="SupervisionGeneralSurveyPlanDetailVO">
SELECT supervision_general_survey_plan_detail.*,
supervision_general_survey_plan.org_no,
supervision_general_survey_plan.plan_name,
supervision_general_survey_plan.plan_create_time,
supervision_general_survey_plan.plan_start_time,
supervision_general_survey_plan.plan_end_time,
supervision_general_survey_plan.plan_complate_time,
supervision_general_survey_plan.leader,
supervision_general_survey_plan.file_path
FROM supervision_general_survey_plan_detail supervision_general_survey_plan_detail
left join
supervision_general_survey_plan supervision_general_survey_plan
on supervision_general_survey_plan_detail.plan_no = supervision_general_survey_plan.plan_no
WHERE ${ew.sqlSegment}
</select>
</mapper> </mapper>

View File

@@ -0,0 +1,32 @@
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;
/**
* <p>
* 预告警单表 服务类
* </p>
*
* @author hongawen
* @since 2024-05-21
*/
public interface IWarningLeafletService extends IService<WarningLeaflet> {
/**
* 创建预告警单,此时还没有走流程,等待用户上传反馈单后,才正式进入工作流阶段
* name预告警单名称此处暂时用普测计划名称+变电站名称组成预告警单名
* code预告警编号暂时随机by yxb
* id对应问题源id用于查询详细数据
* problemType问题类型1技术监督管理2在线监测超标问题3用户投诉4现场测试超标此处是现场测试超标
* leaflet:单子类型1预警单2告警单
*/
void createLeaflet(String name, String code, String id, Integer problemType, Integer leaflet);
Page<WarningLeafletVO> alarmPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam);
Page<WarningLeafletVO> warningPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam);
}

View File

@@ -0,0 +1,90 @@
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;
/**
* <p>
* 预告警单表 服务实现类
* </p>
*
* @author hongawen
* @since 2024-05-21
*/
@Service
@RequiredArgsConstructor
public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper, WarningLeaflet> implements IWarningLeafletService {
private final UserFeignClient userFeignClient;
/**
* 不创建工作流,只是创建一个告警单,需要待用户反馈后才会进入流程
*/
@Override
public void createLeaflet(String name, String code, String id, Integer problemType, Integer leaflet) {
WarningLeaflet warningLeaflet = new WarningLeaflet();
warningLeaflet.setLeafletName(name);
warningLeaflet.setLeafletNo(code);
warningLeaflet.setProblemType(problemType);
warningLeaflet.setProblemId(id);
warningLeaflet.setLeafletType(leaflet);
warningLeaflet.setState(DataStateEnum.ENABLE.getCode());
warningLeaflet.setStatus(FlowStatusEnum.NO_FEEDBACK.getCode());
this.baseMapper.insert(warningLeaflet);
}
@Override
public Page<WarningLeafletVO> warningPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam) {
QueryWrapper<WarningLeafletVO> 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<String> 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<WarningLeafletVO> alarmPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam) {
QueryWrapper<WarningLeafletVO> 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<String> 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);
}
}

View File

@@ -6,34 +6,46 @@ import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.supervision.pojo.param.survey.SupervisionGeneralSurveyPlanParm; import com.njcn.supervision.pojo.param.survey.SupervisionGeneralSurveyPlanParm;
import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanPO; import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanPO;
import com.njcn.supervision.pojo.vo.survey.DeptSubstationVO; import com.njcn.supervision.pojo.vo.survey.DeptSubstationVO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanDetailVO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO; import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO;
import java.util.List; import java.util.List;
/** /**
*
* Description: * Description:
* Date: 2024/5/13 18:35【需求编号】 * Date: 2024/5/13 18:35【需求编号】
* *
* @author clam * @author clam
* @version V1.0.0 * @version V1.0.0
*/ */
public interface SupervisionGeneralSurveyPlanPOService extends IService<SupervisionGeneralSurveyPlanPO>{ public interface SupervisionGeneralSurveyPlanPOService extends IService<SupervisionGeneralSurveyPlanPO> {
String addDevReport(SupervisionGeneralSurveyPlanParm supervisionGeneralSurveyPlanParm); String addDevReport(SupervisionGeneralSurveyPlanParm supervisionGeneralSurveyPlanParm);
boolean auditSurvey(SupervisionGeneralSurveyPlanParm.SupervisionGeneralSurveyPlanUpdate supervisionGeneralSurveyPlanUpdate); boolean auditSurvey(SupervisionGeneralSurveyPlanParm.SupervisionGeneralSurveyPlanUpdate supervisionGeneralSurveyPlanUpdate);
Boolean removeSurvey(List<String> ids); Boolean removeSurvey(List<String> ids);
Page<SupervisionGeneralSurveyPlanVO> getSurvey(SupervisionGeneralSurveyPlanParm.GeneralSurveyPlanQueryParam generalSurveyPlanQueryParam); Page<SupervisionGeneralSurveyPlanVO> getSurvey(SupervisionGeneralSurveyPlanParm.GeneralSurveyPlanQueryParam generalSurveyPlanQueryParam);
/**
* 分页查询当前用户能看到的普测计划中存在超标问题
*/
Page<SupervisionGeneralSurveyPlanDetailVO> pageProblemSubstationBySurvey(SupervisionGeneralSurveyPlanParm.GeneralSurveyPlanQueryParam generalSurveyPlanQueryParam);
SupervisionGeneralSurveyPlanVO querySurveyDetail(String id); SupervisionGeneralSurveyPlanVO querySurveyDetail(String id);
List<DeptSubstationVO> initDetpStataionTree(String orgId); List<DeptSubstationVO> initDetpStataionTree(String orgId);
void updateStatus(String businessKey, Integer status); void updateStatus(String businessKey, Integer status);
String cancelGeneralSurvey(BpmProcessInstanceCancelParam cancelReqVO); String cancelGeneralSurvey(BpmProcessInstanceCancelParam cancelReqVO);
/**
* 针对有问题的现场测试发起告警单
* @param id 有问题的测试记录id
*/
void initiateWarningLeaflet(String id,String subId);
} }

View File

@@ -2,9 +2,13 @@ package com.njcn.supervision.service.survey.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.bpm.api.BpmProcessFeignClient; import com.njcn.bpm.api.BpmProcessFeignClient;
@@ -14,6 +18,7 @@ import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.biz.pojo.dto.SubGetBase; import com.njcn.device.biz.pojo.dto.SubGetBase;
import com.njcn.device.biz.pojo.param.SubstationParam; import com.njcn.device.biz.pojo.param.SubstationParam;
@@ -21,15 +26,20 @@ import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.vo.LineDetailDataVO; import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
import com.njcn.supervision.enums.FlowStatusEnum; import com.njcn.supervision.enums.FlowStatusEnum;
import com.njcn.supervision.enums.LeafletTypeEnum;
import com.njcn.supervision.enums.ProblemTypeEnum;
import com.njcn.supervision.mapper.survey.SupervisionGeneralSurveyPlanPOMapper; import com.njcn.supervision.mapper.survey.SupervisionGeneralSurveyPlanPOMapper;
import com.njcn.supervision.pojo.param.survey.SupervisionGeneralSurveyPlanParm; import com.njcn.supervision.pojo.param.survey.SupervisionGeneralSurveyPlanParm;
import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanDetailPO; import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanDetailPO;
import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanPO; import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanPO;
import com.njcn.supervision.pojo.vo.survey.DeptSubstationVO; import com.njcn.supervision.pojo.vo.survey.DeptSubstationVO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanDetailVO;
import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO; import com.njcn.supervision.pojo.vo.survey.SupervisionGeneralSurveyPlanVO;
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
import com.njcn.supervision.service.survey.SupervisionGeneralSurveyPlanDetailPOService; import com.njcn.supervision.service.survey.SupervisionGeneralSurveyPlanDetailPOService;
import com.njcn.supervision.service.survey.SupervisionGeneralSurveyPlanPOService; import com.njcn.supervision.service.survey.SupervisionGeneralSurveyPlanPOService;
import com.njcn.user.api.DeptFeignClient; import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.api.UserFeignClient;
import com.njcn.user.pojo.vo.PvTerminalTreeVO; import com.njcn.user.pojo.vo.PvTerminalTreeVO;
import com.njcn.web.factory.PageFactory; import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.RequestUtil; import com.njcn.web.utils.RequestUtil;
@@ -52,7 +62,7 @@ import java.util.stream.Collectors;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<SupervisionGeneralSurveyPlanPOMapper, SupervisionGeneralSurveyPlanPO> implements SupervisionGeneralSurveyPlanPOService{ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<SupervisionGeneralSurveyPlanPOMapper, SupervisionGeneralSurveyPlanPO> implements SupervisionGeneralSurveyPlanPOService {
/** /**
* 用户信息建档对应的流程定义 KEY todo 修改成普测的key * 用户信息建档对应的流程定义 KEY todo 修改成普测的key
*/ */
@@ -63,6 +73,8 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
private final BpmProcessFeignClient bpmProcessFeignClient; private final BpmProcessFeignClient bpmProcessFeignClient;
private final DeptFeignClient deptFeignClient; private final DeptFeignClient deptFeignClient;
private final LineFeignClient lineFeignClient; private final LineFeignClient lineFeignClient;
private final UserFeignClient userFeignClient;
private final IWarningLeafletService warningLeafletService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@@ -78,7 +90,7 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
this.save(supervisionGeneralSurveyPlanPO); this.save(supervisionGeneralSurveyPlanPO);
String planNo = supervisionGeneralSurveyPlanPO.getPlanNo(); String planNo = supervisionGeneralSurveyPlanPO.getPlanNo();
//保存普测计划电站表 //保存普测计划电站表
if(CollectionUtil.isNotEmpty(supervisionGeneralSurveyPlanParm.getSubIds())){ if (CollectionUtil.isNotEmpty(supervisionGeneralSurveyPlanParm.getSubIds())) {
SubstationParam param = new SubstationParam(); SubstationParam param = new SubstationParam();
param.setPowerIds(supervisionGeneralSurveyPlanParm.getSubIds()); param.setPowerIds(supervisionGeneralSurveyPlanParm.getSubIds());
List<SubGetBase> stationList = commTerminalGeneralClient.tagOrIdGetSub(param).getData(); List<SubGetBase> stationList = commTerminalGeneralClient.tagOrIdGetSub(param).getData();
@@ -91,11 +103,11 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
supervisionGeneralSurveyPlanDetailPO.setSubName(stat.getName()); supervisionGeneralSurveyPlanDetailPO.setSubName(stat.getName());
/*目前时间与计划开始时间,结束时间一致*/ /*目前时间与计划开始时间,结束时间一致*/
supervisionGeneralSurveyPlanDetailPO.setVoltageLevel(stat.getVoltageLevel()); supervisionGeneralSurveyPlanDetailPO.setVoltageLevel(stat.getVoltageLevel());
List<Line> lines= lineFeignClient.getSubIndexLineDetail(stat.getId()).getData(); List<Line> lines = lineFeignClient.getSubIndexLineDetail(stat.getId()).getData();
if(CollectionUtil.isEmpty(lines)){ if (CollectionUtil.isEmpty(lines)) {
supervisionGeneralSurveyPlanDetailPO.setMeasurementPointId(""); supervisionGeneralSurveyPlanDetailPO.setMeasurementPointId("");
supervisionGeneralSurveyPlanDetailPO.setIsSurvey(0); supervisionGeneralSurveyPlanDetailPO.setIsSurvey(0);
}else { } else {
String subList = lines.stream().map(Line::getName).collect(Collectors.joining(",")); String subList = lines.stream().map(Line::getName).collect(Collectors.joining(","));
supervisionGeneralSurveyPlanDetailPO.setMeasurementPointId(subList); supervisionGeneralSurveyPlanDetailPO.setMeasurementPointId(subList);
supervisionGeneralSurveyPlanDetailPO.setIsSurvey(1); supervisionGeneralSurveyPlanDetailPO.setIsSurvey(1);
@@ -111,19 +123,17 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
bpmProcessInstanceCreateReqDTO.setBusinessKey(planNo); bpmProcessInstanceCreateReqDTO.setBusinessKey(planNo);
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(supervisionGeneralSurveyPlanParm.getStartUserSelectAssignees()); bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(supervisionGeneralSurveyPlanParm.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables); bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionGeneralSurveyPlanPO.getCreateBy(),bpmProcessInstanceCreateReqDTO).getData(); String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionGeneralSurveyPlanPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中 // 将工作流的编号,更新到流程单中
supervisionGeneralSurveyPlanPO.setProcessInstanceId(processInstanceId); supervisionGeneralSurveyPlanPO.setProcessInstanceId(processInstanceId);
this.baseMapper.updateById(supervisionGeneralSurveyPlanPO); this.baseMapper.updateById(supervisionGeneralSurveyPlanPO);
return planNo; return planNo;
}{ }
{
throw new BusinessException("请选择电站"); throw new BusinessException("请选择电站");
} }
} }
@Override @Override
@@ -149,10 +159,10 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
/*目前时间与计划开始时间,结束时间一致*/ /*目前时间与计划开始时间,结束时间一致*/
supervisionGeneralSurveyPlanDetailPO.setVoltageLevel(stat.getVoltageLevel()); supervisionGeneralSurveyPlanDetailPO.setVoltageLevel(stat.getVoltageLevel());
List<String> unitChildrenList = stat.getUnitChildrenList(); List<String> unitChildrenList = stat.getUnitChildrenList();
if(CollectionUtil.isEmpty(unitChildrenList)){ if (CollectionUtil.isEmpty(unitChildrenList)) {
supervisionGeneralSurveyPlanDetailPO.setMeasurementPointId(""); supervisionGeneralSurveyPlanDetailPO.setMeasurementPointId("");
supervisionGeneralSurveyPlanDetailPO.setIsSurvey(0); supervisionGeneralSurveyPlanDetailPO.setIsSurvey(0);
}else { } else {
List<LineDetailDataVO> data = lineFeignClient.getLineDetailList(unitChildrenList).getData(); List<LineDetailDataVO> data = lineFeignClient.getLineDetailList(unitChildrenList).getData();
String subList = data.stream().map(LineDetailDataVO::getLineName).collect(Collectors.joining(",")); String subList = data.stream().map(LineDetailDataVO::getLineName).collect(Collectors.joining(","));
@@ -163,7 +173,7 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
supervisionGeneralSurveyPlanDetailPOS.add(supervisionGeneralSurveyPlanDetailPO); supervisionGeneralSurveyPlanDetailPOS.add(supervisionGeneralSurveyPlanDetailPO);
} }
//清除原有的 //清除原有的
supervisionGeneralSurveyPlanDetailPOService.remove(new QueryWrapper<SupervisionGeneralSurveyPlanDetailPO>().lambda().eq(SupervisionGeneralSurveyPlanDetailPO::getPlanNo,planNo)); supervisionGeneralSurveyPlanDetailPOService.remove(new QueryWrapper<SupervisionGeneralSurveyPlanDetailPO>().lambda().eq(SupervisionGeneralSurveyPlanDetailPO::getPlanNo, planNo));
supervisionGeneralSurveyPlanDetailPOService.saveOrUpdateBatchByMultiId(supervisionGeneralSurveyPlanDetailPOS, 500); supervisionGeneralSurveyPlanDetailPOService.saveOrUpdateBatchByMultiId(supervisionGeneralSurveyPlanDetailPOS, 500);
// 发起 BPM 流程 // 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>(); Map<String, Object> processInstanceVariables = new HashMap<>();
@@ -172,7 +182,7 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
bpmProcessInstanceCreateReqDTO.setBusinessKey(planNo); bpmProcessInstanceCreateReqDTO.setBusinessKey(planNo);
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(supervisionGeneralSurveyPlanUpdate.getStartUserSelectAssignees()); bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(supervisionGeneralSurveyPlanUpdate.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables); bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(),bpmProcessInstanceCreateReqDTO).getData(); String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(), bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中 // 将工作流的编号,更新到流程单中
byId.setProcessInstanceId(processInstanceId); byId.setProcessInstanceId(processInstanceId);
this.baseMapper.updateById(byId); this.baseMapper.updateById(byId);
@@ -185,7 +195,7 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
public Boolean removeSurvey(List<String> ids) { public Boolean removeSurvey(List<String> ids) {
this.lambdaUpdate().set(SupervisionGeneralSurveyPlanPO::getState, 0).in(SupervisionGeneralSurveyPlanPO::getPlanNo, ids).update(); this.lambdaUpdate().set(SupervisionGeneralSurveyPlanPO::getState, 0).in(SupervisionGeneralSurveyPlanPO::getPlanNo, ids).update();
supervisionGeneralSurveyPlanDetailPOService.remove(new QueryWrapper<SupervisionGeneralSurveyPlanDetailPO>(). supervisionGeneralSurveyPlanDetailPOService.remove(new QueryWrapper<SupervisionGeneralSurveyPlanDetailPO>().
lambda().in(SupervisionGeneralSurveyPlanDetailPO::getPlanNo,ids)); lambda().in(SupervisionGeneralSurveyPlanDetailPO::getPlanNo, ids));
return true; return true;
} }
@@ -212,7 +222,7 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
queryWrapper.orderByDesc("supervision_general_survey_plan.create_time"); queryWrapper.orderByDesc("supervision_general_survey_plan.create_time");
Page<SupervisionGeneralSurveyPlanVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(generalSurveyPlanQueryParam), PageFactory.getPageSize(generalSurveyPlanQueryParam)), queryWrapper); Page<SupervisionGeneralSurveyPlanVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(generalSurveyPlanQueryParam), PageFactory.getPageSize(generalSurveyPlanQueryParam)), queryWrapper);
page.getRecords().stream().forEach(temp->{ page.getRecords().stream().forEach(temp -> {
temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgNo()).getData().getName())); temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgNo()).getData().getName()));
//获取普测下电站详情 //获取普测下电站详情
List<SupervisionGeneralSurveyPlanDetailPO> list = supervisionGeneralSurveyPlanDetailPOService.lambdaQuery().eq(SupervisionGeneralSurveyPlanDetailPO::getPlanNo, temp.getPlanNo()).list(); List<SupervisionGeneralSurveyPlanDetailPO> list = supervisionGeneralSurveyPlanDetailPOService.lambdaQuery().eq(SupervisionGeneralSurveyPlanDetailPO::getPlanNo, temp.getPlanNo()).list();
@@ -224,11 +234,31 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
} }
@Override
public Page<SupervisionGeneralSurveyPlanDetailVO> pageProblemSubstationBySurvey(SupervisionGeneralSurveyPlanParm.GeneralSurveyPlanQueryParam generalSurveyPlanQueryParam) {
QueryWrapper<SupervisionGeneralSurveyPlanDetailVO> supervisionGeneralSurveyPlanDetailVOQueryWrapper = new QueryWrapper<>();
if (Objects.nonNull(generalSurveyPlanQueryParam)) {
//添加上时间范围
supervisionGeneralSurveyPlanDetailVOQueryWrapper.between("supervision_general_survey_plan_detail.Create_Time",
DateUtil.beginOfDay(DateUtil.parse(generalSurveyPlanQueryParam.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(generalSurveyPlanQueryParam.getSearchEndTime())));
}
//获取当前用户部门所有同事的id查看该部门下所有的数据
List<String> colleaguesIds = userFeignClient.getColleaguesIdByUserId(RequestUtil.getUserIndex()).getData();
supervisionGeneralSurveyPlanDetailVOQueryWrapper.in("supervision_general_survey_plan_detail.Create_By", colleaguesIds)
.eq("supervision_general_survey_plan.status", BpmProcessInstanceStatusEnum.APPROVE.getStatus())
.orderByDesc("supervision_general_survey_plan_detail.Update_Time");
Page<SupervisionGeneralSurveyPlanDetailVO> page = this.baseMapper.pageProblemSubstationBySurvey(new Page<>(PageFactory.getPageNum(generalSurveyPlanQueryParam), PageFactory.getPageSize(generalSurveyPlanQueryParam)), supervisionGeneralSurveyPlanDetailVOQueryWrapper);
//填充部门名称
page.getRecords().forEach(temp -> temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgNo()).getData().getName())));
return page;
}
@Override @Override
public SupervisionGeneralSurveyPlanVO querySurveyDetail(String id) { public SupervisionGeneralSurveyPlanVO querySurveyDetail(String id) {
SupervisionGeneralSurveyPlanVO supervisionGeneralSurveyPlanVO = new SupervisionGeneralSurveyPlanVO(); SupervisionGeneralSurveyPlanVO supervisionGeneralSurveyPlanVO = new SupervisionGeneralSurveyPlanVO();
SupervisionGeneralSurveyPlanPO byId = this.getById(id); SupervisionGeneralSurveyPlanPO byId = this.getById(id);
BeanUtils.copyProperties(byId,supervisionGeneralSurveyPlanVO); BeanUtils.copyProperties(byId, supervisionGeneralSurveyPlanVO);
//获取普测下电站详情 //获取普测下电站详情
List<SupervisionGeneralSurveyPlanDetailPO> list = supervisionGeneralSurveyPlanDetailPOService.lambdaQuery().eq(SupervisionGeneralSurveyPlanDetailPO::getPlanNo, id).list(); List<SupervisionGeneralSurveyPlanDetailPO> list = supervisionGeneralSurveyPlanDetailPOService.lambdaQuery().eq(SupervisionGeneralSurveyPlanDetailPO::getPlanNo, id).list();
supervisionGeneralSurveyPlanVO.setSupervisionGeneralSurveyPlanDetailPOS(list); supervisionGeneralSurveyPlanVO.setSupervisionGeneralSurveyPlanDetailPOS(list);
@@ -282,7 +312,7 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
@Override @Override
public void updateStatus(String businessKey, Integer status) { public void updateStatus(String businessKey, Integer status) {
this.lambdaUpdate().set(SupervisionGeneralSurveyPlanPO::getStatus,status).eq(SupervisionGeneralSurveyPlanPO::getPlanNo,businessKey).update(); this.lambdaUpdate().set(SupervisionGeneralSurveyPlanPO::getStatus, status).eq(SupervisionGeneralSurveyPlanPO::getPlanNo, businessKey).update();
} }
@Override @Override
@@ -297,6 +327,36 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
return supervisionGeneralSurveyPlanPO.getPlanNo(); return supervisionGeneralSurveyPlanPO.getPlanNo();
} }
@Override
public void initiateWarningLeaflet(String id, String subId) {
//获取数据源用于组装数据
LambdaQueryWrapper<SupervisionGeneralSurveyPlanDetailPO> detailPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
detailPOLambdaQueryWrapper.eq(SupervisionGeneralSurveyPlanDetailPO::getPlanNo, id)
.eq(SupervisionGeneralSurveyPlanDetailPO::getSubId, subId);
SupervisionGeneralSurveyPlanDetailPO detailPlan = supervisionGeneralSurveyPlanDetailPOService.getOne(detailPOLambdaQueryWrapper);
SupervisionGeneralSurveyPlanPO generalSurveyPlan = this.getById(id);
/*
* 1、预告警单名称此处暂时用普测计划名称+变电站名称组成预告警单名
* 2、预告警编号暂时随机by yxb
* 3、问题类型1技术监督管理2在线监测超标问题3用户投诉4现场测试超标此处是现场测试超标
* 4、对应问题源id用于查询详细数据
* 5、单子类型1预警单2告警单
* */
warningLeafletService.createLeaflet(
generalSurveyPlan.getPlanName().concat(StrPool.UNDERLINE).concat(detailPlan.getSubName()),
IdWorker.get32UUID(),
id,
ProblemTypeEnum.SITE_TEST.getCode(),
LeafletTypeEnum.ALARM.getCode()
);
//将当前的问题记录是否告警修改为已告警
LambdaUpdateWrapper<SupervisionGeneralSurveyPlanDetailPO> detailPOLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
detailPOLambdaUpdateWrapper.set(SupervisionGeneralSurveyPlanDetailPO::getInitiateWarningFlag, 1)
.eq(SupervisionGeneralSurveyPlanDetailPO::getPlanNo, id)
.eq(SupervisionGeneralSurveyPlanDetailPO::getSubId, subId);
supervisionGeneralSurveyPlanDetailPOService.update(detailPOLambdaUpdateWrapper);
}
public List<DeptSubstationVO> recursion(DeptSubstationVO result, String orgdid) { public List<DeptSubstationVO> recursion(DeptSubstationVO result, String orgdid) {
List<DeptSubstationVO> deptSubstationVOList = new ArrayList<>(); List<DeptSubstationVO> deptSubstationVOList = new ArrayList<>();
@@ -318,13 +378,13 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
} }
/** /**
* @Description: 校验计划名称是否存在 * @Description: 校验计划名称是否存在
* @Param: * @param userReportParam 用户申请数据 * @Param: * @param userReportParam 用户申请数据
* * @param isExcludeSelf 是否排除自己,一般新增不排除,更新时需要排除自己 * * @param isExcludeSelf 是否排除自己,一般新增不排除,更新时需要排除自己
* @return: void * @return: void
* @Author: clam * @Author: clam
* @Date: 2024/5/13 * @Date: 2024/5/13
*/ */
private void checkPlanName(SupervisionGeneralSurveyPlanParm supervisionGeneralSurveyPlanParm, boolean isExcludeSelf) { private void checkPlanName(SupervisionGeneralSurveyPlanParm supervisionGeneralSurveyPlanParm, boolean isExcludeSelf) {
LambdaQueryWrapper<SupervisionGeneralSurveyPlanPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SupervisionGeneralSurveyPlanPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
userReportPOLambdaQueryWrapper userReportPOLambdaQueryWrapper

View File

@@ -124,4 +124,11 @@ public interface UserFeignClient {
@PostMapping("/getUserVOByIdList") @PostMapping("/getUserVOByIdList")
HttpResult<List<UserVO>> getUserVOByIdList(@RequestBody List<String> ids); HttpResult<List<UserVO>> getUserVOByIdList(@RequestBody List<String> ids);
/**
* 根据用户id获取该用户同部门下所有的所有用户id
* @param id 用户id
*/
@GetMapping("/getColleaguesIdByUserId")
HttpResult<List<String>> getColleaguesIdByUserId(@RequestParam("id") String id);
} }

View File

@@ -117,6 +117,12 @@ public class UserFeignClientFallbackFactory implements FallbackFactory<UserFeign
throw new BusinessException(finalExceptionEnum); throw new BusinessException(finalExceptionEnum);
} }
@Override
public HttpResult<List<String>> getColleaguesIdByUserId(String id) {
log.error("{}异常,降级处理,异常为:{}","根据用户id获取该用户同部门下所有的所有用户id",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
}; };
} }
} }

View File

@@ -282,6 +282,24 @@ public class UserController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userVO, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userVO, methodDescribe);
} }
/**
* 根据用户id获取该用户同部门下所有的所有用户id
*
* @param id 用户id
*/
@ApiIgnore
@GetMapping("/getColleaguesIdByUserId")
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@ApiOperation("根据用户id获取该用户同部门下所有的所有用户id")
@ApiImplicitParam(name = "id", value = "用户id", required = true)
HttpResult<List<String>> getColleaguesIdByUserId(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("getColleaguesIdByUserId");
LogUtil.njcnDebug(log, "{}用户id为{}", methodDescribe, id);
List<String> colleagueIds = userService.getColleaguesIdByUserId(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, colleagueIds, methodDescribe);
}
/** /**
* 审核用户 * 审核用户
* *

View File

@@ -200,4 +200,5 @@ public interface IUserService extends IService<User> {
List<User> simpleList(); List<User> simpleList();
List<String> getColleaguesIdByUserId(String id);
} }

View File

@@ -573,6 +573,19 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
return this.baseMapper.selectList(userLambdaQueryWrapper); return this.baseMapper.selectList(userLambdaQueryWrapper);
} }
@Override
public List<String> getColleaguesIdByUserId(String id) {
User user = this.baseMapper.selectById(id);
//根据当前部门id获取所有子部门的id,包含当前用户部门
List<String> deptIds = deptService.getDepSonIdtByDeptId(user.getDeptId());
//获取这些部门下所有的用户id
LambdaQueryWrapper<User> userLambdaQueryWrapper = new LambdaQueryWrapper<>();
userLambdaQueryWrapper.select(User::getId).in(User::getDeptId,deptIds);
List<User> userList = this.baseMapper.selectList(userLambdaQueryWrapper);
//所有用户的id
return userList.stream().map(User::getId).collect(Collectors.toList());
}
/** /**
* 根据登录名查询用户 * 根据登录名查询用户
* *