1.技术监督台账管理-台账管理,监测点终端数量bug解决

2.干扰源常态化用户,编辑新增功能流程
This commit is contained in:
wr
2024-06-28 17:32:37 +08:00
parent dbee4ca31d
commit 87c60206f0
17 changed files with 699 additions and 30 deletions

View File

@@ -72,6 +72,7 @@ public class RunManageServiceImpl implements RunManageService {
public List<RunManageVO> getLineLedger(RunManageParam runManageParam) { public List<RunManageVO> getLineLedger(RunManageParam runManageParam) {
DeviceInfoParam deviceInfoParam = new DeviceInfoParam(); DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
BeanUtil.copyProperties(runManageParam, deviceInfoParam); BeanUtil.copyProperties(runManageParam, deviceInfoParam);
deviceInfoParam.setServerName("pqs-common");
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0,1,2).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList())); List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0,1,2).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
List<String> lineIndexes = generalDeviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList()); List<String> lineIndexes = generalDeviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(lineIndexes)) { if (!CollectionUtils.isEmpty(lineIndexes)) {
@@ -116,6 +117,7 @@ public class RunManageServiceImpl implements RunManageService {
public Page<RunTimeVO> getDeviceLedger(RunManageParam runManageParam) { public Page<RunTimeVO> getDeviceLedger(RunManageParam runManageParam) {
DeviceInfoParam deviceInfoParam = new DeviceInfoParam(); DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
BeanUtil.copyProperties(runManageParam, deviceInfoParam); BeanUtil.copyProperties(runManageParam, deviceInfoParam);
deviceInfoParam.setServerName("pqs-common");
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, runManageParam.getRunFlag(), Stream.of(1).collect(Collectors.toList())); List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, runManageParam.getRunFlag(), Stream.of(1).collect(Collectors.toList()));
if (CollectionUtils.isEmpty(generalDeviceDTOList)) { if (CollectionUtils.isEmpty(generalDeviceDTOList)) {
throw new BusinessException("当前部门没有装置台账"); throw new BusinessException("当前部门没有装置台账");

View File

@@ -17,7 +17,9 @@ public enum SupervisionKeyEnum {
USER_GO_NET("user_go_net","user","入网设计方案流程","UserReportNormalServiceImpl"), USER_GO_NET("user_go_net","user","入网设计方案流程","UserReportNormalServiceImpl"),
USER_TREAT_CHECK("user_treat_check","user","治理工程流程","UserReportNormalServiceImpl"), USER_TREAT_CHECK("user_treat_check","user","治理工程流程","UserReportNormalServiceImpl"),
BUILD_USER_INFO("build_user_info","user","干扰源建档流程","UserReportPOServiceImpl"), BUILD_USER_INFO("build_user_info","user","干扰源建档流程","UserReportPOServiceImpl"),
TIMING_CHECK_DEVICE("timing_check_device","device","终端周期检测","CheckDeviceServiceImpl"); TIMING_CHECK_DEVICE("timing_check_device","device","终端周期检测","CheckDeviceServiceImpl"),
USER_REPORT_RENEWAL("user_report_update","user","干扰源常态化信息编辑流程","UserReportRenewalServiceImpl"),
USER_REPORT_DELETE("user_report_delete","user","干扰源常态化信息删除流程","UserReportDeleteServiceImpl");
private final String key; private final String key;

View File

@@ -20,7 +20,8 @@ public enum SupervisionResponseEnum {
IMPORT_SENSITIVE_REPORT_ERROR("A00550","导入干扰源用户失败"), IMPORT_SENSITIVE_REPORT_ERROR("A00550","导入干扰源用户失败"),
SUPERVISION_SERVICE_NOT_FOUND("A00550","业务实现类丢失,清查看类路径配置"), SUPERVISION_SERVICE_NOT_FOUND("A00550","业务实现类丢失,清查看类路径配置"),
DATA_NOT_EXISTS("A00550","数据不存在"), DATA_NOT_EXISTS("A00550","数据不存在"),
NO_POWER("A00550","不能操作非自己创建的任务!") NO_POWER("A00550","不能操作非自己创建的任务!"),
NO_USER_REPORT_UPDATE("A00550","常态化干扰源用户管理信息更新失败,不存在该条信息"),
; ;
private final String code; private final String code;

View File

@@ -16,7 +16,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
*
* Description: * Description:
* Date: 2024/4/25 10:07【需求编号】 * Date: 2024/4/25 10:07【需求编号】
* *
@@ -40,7 +39,7 @@ public class UserReportParam {
* 填报日期 * 填报日期
*/ */
@ApiModelProperty(value = "填报日期") @ApiModelProperty(value = "填报日期")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate reportDate; private LocalDate reportDate;
/** /**
@@ -53,7 +52,7 @@ public class UserReportParam {
* 工程预期投产日期 * 工程预期投产日期
*/ */
@ApiModelProperty(value = "工程预期投产日期") @ApiModelProperty(value = "工程预期投产日期")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate expectedProductionDate; private LocalDate expectedProductionDate;
/** /**
@@ -112,11 +111,12 @@ public class UserReportParam {
@ApiModelProperty("发起人自选审批人 Map") @ApiModelProperty("发起人自选审批人 Map")
private Map<String, List<String>> startUserSelectAssignees; private Map<String, List<String>> startUserSelectAssignees;
@ApiModelProperty(value = "保存1,提交审批2") @ApiModelProperty(value = "保存1,提交审批2")
private String saveOrCheckflag; private String saveOrCheckflag;
@ApiModelProperty(value = "数据来源类型 0正常审核流程 1批量导入")
@ApiModelProperty(value="数据来源类型 0正常审核流程 1批量导入")
private Integer dataType; private Integer dataType;
private UserReportProjectPO userReportProjectPO; private UserReportProjectPO userReportProjectPO;
@@ -137,13 +137,9 @@ public class UserReportParam {
private String historyInstanceId; private String historyInstanceId;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public static class UserReportUpdate extends UserReportParam { public static class UserReportUpdate extends UserReportParam {
@ApiModelProperty("id") @ApiModelProperty("id")
private String id; private String id;
@@ -157,14 +153,14 @@ public class UserReportParam {
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public static class UserReportQueryParam extends BaseParam { public static class UserReportQueryParam extends BaseParam {
@ApiModelProperty(value="所属区域") @ApiModelProperty(value = "所属区域")
private String city; private String city;
@ApiModelProperty(value = "工程名称") @ApiModelProperty(value = "工程名称")
private String projectName; private String projectName;
@ApiModelProperty(value="数据来源类型 0正常审核流程 1批量导入") @ApiModelProperty(value = "数据来源类型 0正常审核流程 1批量导入")
private Integer dataType; private Integer dataType;
@ApiModelProperty(value = "审核状态") @ApiModelProperty(value = "审核状态")

View File

@@ -0,0 +1,67 @@
package com.njcn.supervision.pojo.po.user;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import lombok.Data;
/**
* <p>
* 用户档案信息表
* </p>
*
* @author wr
* @since 2024-06-26
*/
@Data
@TableName("supervision_user_report_renewal")
public class UserReportRenewalPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* id
*/
private String id;
/**
* 常态化用户跟新后信息
*/
private String userReportMessage;
/**
* 常态化用户跟新后信息
*/
@TableField(exist = false)
private UserReportParam userReportMessageJson;
/**
* 流程实例的编号
*/
private String processInstanceId;
/**
* 历史流程实列
*/
private String historyInstanceId;
/**
* 1:审批中2审批通过3审批不通过4已取消
*/
private Integer status;
/**
* 状态0-删除 1-正常
*/
private Integer state;
public void setUserReportMessage(String userReportMessage) {
if(StrUtil.isNotBlank(userReportMessage)){
this.userReportMessageJson= JSONObject.parseObject(userReportMessage,UserReportParam.class);
}
this.userReportMessage = userReportMessage;
}
}

View File

@@ -0,0 +1,52 @@
package com.njcn.supervision.controller.user;
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.param.user.UserReportParam;
import com.njcn.supervision.service.user.IUserReportDeleteService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 用户档案信息表 前端控制器
* </p>
*
* @author wr
* @since 2024-06-26
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/userReportDelete")
@Api(tags = "干扰源常态化管理信息删除")
public class UserReportDeleteController extends BaseController {
private final IUserReportDeleteService userReportDeleteService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addEditor")
@ApiOperation("干扰源用户管理删除信息新增功能")
public HttpResult<String> addEditor(@RequestBody @Validated UserReportParam userReportParam) {
String methodDescribe = getMethodDescribe("addEditor");
String s = userReportDeleteService.addEditor(userReportParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/resend")
@ApiOperation("干扰源用户管理删除信息重新发送功能")
public HttpResult<String> resend(@RequestBody @Validated UserReportParam userReportParam) {
String methodDescribe = getMethodDescribe("resend");
String s = userReportDeleteService.resend(userReportParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
}

View File

@@ -0,0 +1,77 @@
package com.njcn.supervision.controller.user;
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
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.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.user.UserReportRenewalPO;
import com.njcn.supervision.service.user.IUserReportRenewalService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
/**
* <p>
* 干扰源常态化管理更新信息 前端控制器
* </p>
*
* @author wr
* @since 2024-06-26
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/userReportRenewal")
@Api(tags = "干扰源常态化管理信息更新")
public class UserReportRenewalController extends BaseController {
private final IUserReportRenewalService userReportRenewalService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getUserReportUpdateById")
@ApiOperation("干扰源用户管理更新后信息查看")
public HttpResult<UserReportRenewalPO> getUserReportUpdateById(@RequestParam String businessId) {
String methodDescribe = getMethodDescribe("getUserReportUpdateById");
UserReportRenewalPO userReportUpdateById = userReportRenewalService.getUserReportUpdateById(businessId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportUpdateById, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addEditor")
@ApiOperation("干扰源用户管理更新信息新增功能")
public HttpResult<String> addEditor(@RequestBody @Validated UserReportParam userReportParam) {
String methodDescribe = getMethodDescribe("addEditor");
String s = userReportRenewalService.addEditor(userReportParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/cancel")
@ApiOperation("取消")
@ApiImplicitParam(name = "cancelReqVO", value = "取消原因", required = true)
public HttpResult<String> cancelUserReport(@Validated @RequestBody BpmProcessInstanceCancelParam cancelReqVO) {
String methodDescribe = getMethodDescribe("cancelUserReport");
String userReportId = userReportRenewalService.cancelUserReportRenewal(cancelReqVO);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportId, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/resend")
@ApiOperation("干扰源用户管理更新信息重新发送功能")
public HttpResult<String> resend(@RequestBody @Validated UserReportParam userReportParam) {
String methodDescribe = getMethodDescribe("resend");
String s = userReportRenewalService.resend(userReportParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
}

View File

@@ -17,4 +17,6 @@ import org.apache.ibatis.annotations.Param;
*/ */
public interface UserReportPOMapper extends BaseMapper<UserReportPO> { public interface UserReportPOMapper extends BaseMapper<UserReportPO> {
Page<UserReportVO> page(@Param("page")Page<Object> objectPage, @Param("ew") QueryWrapper<UserReportVO> userReportVOQueryWrapper); Page<UserReportVO> page(@Param("page")Page<Object> objectPage, @Param("ew") QueryWrapper<UserReportVO> userReportVOQueryWrapper);
Page<UserReportVO> pageUpdate(@Param("page")Page<Object> objectPage, @Param("ew") QueryWrapper<UserReportVO> userReportVOQueryWrapper);
} }

View File

@@ -0,0 +1,16 @@
package com.njcn.supervision.mapper.user;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.supervision.pojo.po.user.UserReportRenewalPO;
/**
* <p>
* 用户档案信息表 Mapper 接口
* </p>
*
* @author wr
* @since 2024-06-26
*/
public interface UserReportRenewalMapper extends BaseMapper<UserReportRenewalPO> {
}

View File

@@ -56,4 +56,30 @@
FROM supervision_user_report supervision_user_report FROM supervision_user_report supervision_user_report
WHERE ${ew.sqlSegment} WHERE ${ew.sqlSegment}
</select> </select>
<select id="pageUpdate" resultType="UserReportVO">
SELECT
supervision_user_report.id,
supervision_user_report.report_date,
supervision_user_report.org_id,
supervision_user_report.expected_production_date,
supervision_user_report.user_type,
supervision_user_report.city,
supervision_user_report.responsible_department,
supervision_user_report.user_status,
supervision_user_report.substation,
supervision_user_report.voltage_level,
supervision_user_report.project_name,
supervision_user_report.evaluation_dept,
supervision_user_report.data_type,
supervision_user_report.evaluation_conclusion,
r.process_instance_id,
r.history_instance_id,
supervision_user_report.create_time,
supervision_user_report.create_by,
r.status
FROM supervision_user_report supervision_user_report
LEFT JOIN supervision_user_report_renewal r ON supervision_user_report.id=r.id
WHERE ${ew.sqlSegment}
</select>
</mapper> </mapper>

View File

@@ -0,0 +1,5 @@
<?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.user.UserReportUpdateMapper">
</mapper>

View File

@@ -2,6 +2,7 @@ package com.njcn.supervision.service.device.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.text.StrPool; import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -191,15 +192,18 @@ public class CheckDeviceServiceImpl extends MppServiceImpl<CheckDeviceMapper, Ch
@Override @Override
public BpmInstanceInfo getInstanceInfo(String businessId) { public BpmInstanceInfo getInstanceInfo(String businessId) {
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo(); BpmInstanceInfo bpmInstanceInfo= null;
CheckDeviceVo checkDevice = this.getInfoById(businessId); CheckDeviceVo checkDevice = this.getInfoById(businessId);
bpmInstanceInfo.setHistoryInstanceId(checkDevice.getHistoryInstanceId()); if(ObjUtil.isNotNull(checkDevice)) {
String sign = checkDevice.getDept() bpmInstanceInfo = new BpmInstanceInfo();
.concat(StrPool.SLASH) bpmInstanceInfo.setHistoryInstanceId(checkDevice.getHistoryInstanceId());
.concat(checkDevice.getSubstation()) String sign = checkDevice.getDept()
.concat(StrPool.SLASH) .concat(StrPool.SLASH)
.concat(checkDevice.getDeviceName()); .concat(checkDevice.getSubstation())
bpmInstanceInfo.setInstanceSign(sign); .concat(StrPool.SLASH)
.concat(checkDevice.getDeviceName());
bpmInstanceInfo.setInstanceSign(sign);
}
return bpmInstanceInfo; return bpmInstanceInfo;
} }
} }

View File

@@ -0,0 +1,31 @@
package com.njcn.supervision.service.user;
import com.njcn.bpm.service.IBpmService;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.user.UserReportPO;
/**
* <p>
* 用户档案信息表 服务类
* </p>
*
* @author wr
* @since 2024-06-26
*/
public interface IUserReportDeleteService extends IBpmService<UserReportPO> {
/**
* 干扰源用户管理信息删除功能
* @param userReportParam
* @return
*/
String addEditor(UserReportParam userReportParam);
/**
* 干扰源用户管理删除重新发送功能
* @param userReportParam
* @return
*/
String resend(UserReportParam userReportParam);
}

View File

@@ -0,0 +1,41 @@
package com.njcn.supervision.service.user;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.bpm.service.IBpmService;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.user.UserReportRenewalPO;
/**
* <p>
* 用户档案信息表 服务类
* </p>
*
* @author wr
* @since 2024-06-26
*/
public interface IUserReportRenewalService extends IBpmService<UserReportRenewalPO> {
/**
* 干扰源用户管理更新后信息查看
* @param
* @return
*/
UserReportRenewalPO getUserReportUpdateById(String id);
/**
* 干扰源用户管理更新信息新增功能
* @param userReportParam
* @return
*/
String addEditor(UserReportParam userReportParam);
/**
* 干扰源用户管理更新信息重新发送功能
* @param userReportParam
* @return
*/
String resend(UserReportParam userReportParam);
String cancelUserReportRenewal(BpmProcessInstanceCancelParam cancelReqVO);
}

View File

@@ -0,0 +1,141 @@
package com.njcn.supervision.service.user.impl;
import cn.hutool.core.util.ObjUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.bpm.api.BpmProcessFeignClient;
import com.njcn.bpm.enums.BpmTaskStatusEnum;
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
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.supervision.enums.SupervisionKeyEnum;
import com.njcn.supervision.mapper.user.UserReportPOMapper;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.user.*;
import com.njcn.supervision.service.user.*;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* <p>
* 用户档案信息表 服务实现类
* </p>
*
* @author wr
* @since 2024-06-26
*/
@Service
@RequiredArgsConstructor
public class UserReportDeleteServiceImpl extends ServiceImpl<UserReportPOMapper, UserReportPO> implements IUserReportDeleteService {
private final UserReportProjectPOService userReportProjectPOService;
private final UserReportSubstationPOService userReportSubstationPOService;
private final UserReportSensitivePOService userReportSensitivePOService;
private final BpmProcessFeignClient bpmProcessFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
public void updateProcessStatus(String businessId, Integer status) {
if (status == 2) {
//电网工程类用户额外数据
userReportProjectPOService.update(new LambdaUpdateWrapper<UserReportProjectPO>()
.set(UserReportProjectPO::getState, status)
.eq(UserReportProjectPO::getId, businessId));
//非线性负荷用户 & 新能源发电站用户
userReportSubstationPOService.update(new LambdaUpdateWrapper<UserReportSubstationPO>()
.set(UserReportSubstationPO::getState, 0)
.eq(UserReportSubstationPO::getId, businessId));
// 敏感及重要用户
userReportSensitivePOService.update(new LambdaUpdateWrapper<UserReportSensitivePO>()
.set(UserReportSensitivePO::getState, 0)
.eq(UserReportSensitivePO::getId, businessId));
this.update(new LambdaUpdateWrapper<UserReportPO>()
.set(UserReportPO::getState, 0)
.eq(UserReportPO::getId, businessId));
}
this.lambdaUpdate().set(UserReportPO::getStatus, status).eq(UserReportPO::getId, businessId).update();
}
@Override
public BpmInstanceInfo getInstanceInfo(String businessId) {
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo();
//todo 删除展示信息暂未确定
// bpmInstanceInfo.setHistoryInstanceId(userReportPO.getHistoryInstanceId());
// bpmInstanceInfo.setInstanceSign(userReportPO.getUserReportMessageJson().getProjectName());
return bpmInstanceInfo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public String addEditor(UserReportParam userReportParam) {
UserReportPO po = this.getById(userReportParam.getId());
if (ObjUtil.isNull(po)) {
throw new BusinessException("当前信息不存在,请确认信息是否存在");
}
//处理历史流程id列表
String historyInstanceIds = InstanceUtil.dealHistoryId(po.getProcessInstanceId(), po.getHistoryInstanceId());
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_REPORT_DELETE.getKey());
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportParam.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(), bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中
po.setProcessInstanceId(processInstanceId);
po.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
po.setState(DataStateEnum.ENABLE.getCode());
//保存历史流程id列表
po.setHistoryInstanceId(historyInstanceIds);
if (this.updateById(po)) {
return userReportParam.getId();
}
return "失败";
}
@Override
@Transactional(rollbackFor = Exception.class)
public String resend(UserReportParam userReportParam) {
UserReportPO po = this.getById(userReportParam.getId());
if (ObjUtil.isNull(po)) {
throw new BusinessException("当前信息不存在,请确认信息是否存在");
}else{
if (Objects.equals(po.getStatus(), BpmTaskStatusEnum.APPROVE.getStatus())) {
throw new BusinessException("当前流程以完成审批,无法重新发起");
}
}
//处理历史流程id列表
String historyInstanceIds = InstanceUtil.dealHistoryId(po.getProcessInstanceId(), po.getHistoryInstanceId());
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_REPORT_DELETE.getKey());
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportParam.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(), bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中
po.setProcessInstanceId(processInstanceId);
po.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
po.setState(DataStateEnum.ENABLE.getCode());
//保存历史流程id列表
po.setHistoryInstanceId(historyInstanceIds);
if (this.updateById(po)) {
return userReportParam.getId();
}
return "失败";
}
}

View File

@@ -104,22 +104,17 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
BeanUtils.copyProperties(userReportParam, userReportPO); BeanUtils.copyProperties(userReportParam, userReportPO);
userReportPO.setState(DataStateEnum.ENABLE.getCode()); userReportPO.setState(DataStateEnum.ENABLE.getCode());
if (Objects.equals(userReportParam.getSaveOrCheckflag(), "2")) { if (Objects.equals(userReportParam.getSaveOrCheckflag(), "2")) {
if (StringUtils.isEmpty(userReportParam.getId())) { if (StringUtils.isEmpty(userReportParam.getId())) {
checkProjectName(userReportParam, false); checkProjectName(userReportParam, false);
} else { } else {
checkProjectName(userReportParam, true); checkProjectName(userReportParam, true);
} }
} }
//判断工程名称是否有重复的 //判断工程名称是否有重复的
if (Objects.equals(userReportParam.getSaveOrCheckflag(), "1")) { if (Objects.equals(userReportParam.getSaveOrCheckflag(), "1")) {
userReportPO.setStatus(BpmTaskStatusEnum.WAIT.getStatus()); userReportPO.setStatus(BpmTaskStatusEnum.WAIT.getStatus());
} else { } else {
userReportPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); userReportPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
} }
if(ObjectUtil.isNotNull(userReportParam.getDataType())){ if(ObjectUtil.isNotNull(userReportParam.getDataType())){
userReportPO.setDataType(userReportParam.getDataType()); userReportPO.setDataType(userReportParam.getDataType());
@@ -174,7 +169,6 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
userReportPO.setProcessInstanceId(processInstanceId); userReportPO.setProcessInstanceId(processInstanceId);
this.baseMapper.updateById(userReportPO); this.baseMapper.updateById(userReportPO);
} }
return userReportPO.getId(); return userReportPO.getId();
} }
@@ -429,7 +423,12 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
userReportVOQueryWrapper.orderByDesc("supervision_user_report.Update_Time"); userReportVOQueryWrapper.orderByDesc("supervision_user_report.Update_Time");
} }
userReportVOQueryWrapper.orderByDesc("supervision_user_report.create_time"); userReportVOQueryWrapper.orderByDesc("supervision_user_report.create_time");
Page<UserReportVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper); Page<UserReportVO> page;
if(!allDataFlag){
page= this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);
}else{
page = this.baseMapper.pageUpdate(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);
}
page.getRecords().forEach(temp->{ page.getRecords().forEach(temp->{
Integer needGovernance = 0; Integer needGovernance = 0;
@@ -1005,7 +1004,7 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
* @param userReportParam 用户申请数据 * @param userReportParam 用户申请数据
* @param isExcludeSelf 是否排除自己,一般新增不排除,更新时需要排除自己 * @param isExcludeSelf 是否排除自己,一般新增不排除,更新时需要排除自己
*/ */
private void checkProjectName(UserReportParam userReportParam, boolean isExcludeSelf) { protected void checkProjectName(UserReportParam userReportParam, boolean isExcludeSelf) {
if (!StringUtils.isEmpty(userReportParam.getProjectName())) { if (!StringUtils.isEmpty(userReportParam.getProjectName())) {
LambdaQueryWrapper<UserReportPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<UserReportPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
userReportPOLambdaQueryWrapper userReportPOLambdaQueryWrapper

View File

@@ -0,0 +1,207 @@
package com.njcn.supervision.service.user.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.bpm.api.BpmProcessFeignClient;
import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum;
import com.njcn.bpm.enums.BpmTaskStatusEnum;
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.supervision.enums.*;
import com.njcn.supervision.mapper.user.UserReportRenewalMapper;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.device.SupervisionDevMainReportPO;
import com.njcn.supervision.pojo.po.user.*;
import com.njcn.supervision.pojo.vo.user.UserReportVO;
import com.njcn.supervision.service.user.*;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* <p>
* 用户档案信息表 服务实现类
* </p>
*
* @author wr
* @since 2024-06-26
*/
@Service
@RequiredArgsConstructor
public class UserReportRenewalServiceImpl extends ServiceImpl<UserReportRenewalMapper, UserReportRenewalPO> implements IUserReportRenewalService {
private final UserReportPOServiceImpl userReportPOService;
private final BpmProcessFeignClient bpmProcessFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
public void updateProcessStatus(String businessId, Integer status) {
UserReportRenewalPO userReportPO = this.getById(businessId);
if (ObjUtil.isNotNull(userReportPO)) {
if (BpmTaskStatusEnum.APPROVE.getStatus() == status) {
UserReportParam userReportParam = new UserReportParam();
userReportParam.setId(businessId);
BeanUtil.copyProperties(userReportPO, userReportParam);
userReportPOService.addUserReport(userReportParam);
}
this.lambdaUpdate().set(UserReportRenewalPO::getStatus, status).eq(UserReportRenewalPO::getId, businessId).update();
} else {
throw new BusinessException(SupervisionResponseEnum.NO_USER_REPORT_UPDATE);
}
}
@Override
public BpmInstanceInfo getInstanceInfo(String businessId) {
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo();
UserReportRenewalPO userReportPO = this.getById(businessId);
bpmInstanceInfo.setHistoryInstanceId(userReportPO.getHistoryInstanceId());
bpmInstanceInfo.setInstanceSign(userReportPO.getUserReportMessageJson().getProjectName());
return bpmInstanceInfo;
}
@Override
public UserReportRenewalPO getUserReportUpdateById(String id) {
return this.getById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public String addEditor(UserReportParam userReportParam) {
UserReportRenewalPO po = new UserReportRenewalPO();
UserReportPO userReportPO = new UserReportPO();
BeanUtils.copyProperties(userReportParam, userReportPO);
userReportPO.setState(DataStateEnum.ENABLE.getCode());
if (Objects.equals(userReportParam.getSaveOrCheckflag(), "2")) {
po.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
if (StringUtils.isEmpty(userReportParam.getId())) {
userReportPOService.checkProjectName(userReportParam, false);
} else {
userReportPOService.checkProjectName(userReportParam, true);
}
}else {
po.setStatus(BpmTaskStatusEnum.WAIT.getStatus());
}
if (ObjectUtil.isNotNull(userReportParam.getDataType())) {
userReportPO.setDataType(userReportParam.getDataType());
if (userReportParam.getDataType() == 1) {
userReportPO.setStatus(FlowStatusEnum.APPROVE.getCode());
}
} else {
userReportPO.setDataType(0);
}
addition(userReportParam, userReportPO.getUserType());
// 如何未提交审则不需要发起 BPM 流程
if (Objects.equals(userReportParam.getSaveOrCheckflag(), "2")) {
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_REPORT_RENEWAL.getKey());
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportPO.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(), bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中
po.setProcessInstanceId(processInstanceId);
}
String userReport = JSONObject.toJSONStringWithDateFormat(userReportParam, JSON.DEFFAULT_DATE_FORMAT);
po.setId(userReportParam.getId());
po.setUserReportMessage(userReport);
po.setState(DataStateEnum.ENABLE.getCode());
if (this.saveOrUpdate(po)) {
return userReportParam.getId();
}
return "失败";
}
@Override
@Transactional(rollbackFor = Exception.class)
public String resend(UserReportParam userReportParam) {
UserReportRenewalPO po = this.getById(userReportParam.getId());
//判断是否有权限操作
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(), po.getCreateBy());
if (Objects.equals(po.getStatus(), BpmTaskStatusEnum.APPROVE.getStatus())) {
throw new BusinessException("当前流程以完成审批,无法重新发起");
}
//处理历史流程id列表
String historyInstanceIds = InstanceUtil.dealHistoryId(po.getProcessInstanceId(), po.getHistoryInstanceId());
addition(userReportParam, userReportParam.getUserType());
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_REPORT_RENEWAL.getKey());
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportParam.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(po.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中
po.setProcessInstanceId(processInstanceId);
po.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
po.setState(DataStateEnum.ENABLE.getCode());
//保存历史流程id列表
po.setHistoryInstanceId(historyInstanceIds);
String userReport = JSONObject.toJSONStringWithDateFormat(userReportParam, JSON.DEFFAULT_DATE_FORMAT);
po.setUserReportMessage(userReport);
if (this.updateById(po)) {
return userReportParam.getId();
}
return "失败";
}
@Override
public String cancelUserReportRenewal(BpmProcessInstanceCancelParam cancelReqVO) {
//准备取消该流程,需要远程调用接口
UserReportRenewalPO userReportRenewalPO = this.baseMapper.selectById(cancelReqVO.getId());
//取消流程
bpmProcessFeignClient.cancelProcessInstanceByStartUser(cancelReqVO);
//更新状态
userReportRenewalPO.setStatus(BpmProcessInstanceStatusEnum.CANCEL.getStatus());
this.updateById(userReportRenewalPO);
return userReportRenewalPO.getId();
}
private void addition(UserReportParam userReportParam, Integer userType) {
if (
CollectionUtil.newArrayList(
UserNatureEnum.BUILD_POWER_GRID.getCode(),
UserNatureEnum.EXTEND_POWER_GRID.getCode()
).contains(userType)) {
//电网工程类用户额外数据
UserReportProjectPO userReportProjectPO = userReportParam.getUserReportProjectPO();
userReportProjectPO.setId(userReportParam.getId());
userReportProjectPO.setState(DataStateEnum.ENABLE.getCode());
} else if (
CollectionUtil.newArrayList(
UserNatureEnum.BUILD_NON_LINEAR_LOAD.getCode(),
UserNatureEnum.EXTEND_NON_LINEAR_LOAD.getCode(),
UserNatureEnum.BUILD_NEW_ENERGY_POWER_STATION.getCode(),
UserNatureEnum.EXTEND_NEW_ENERGY_POWER_STATION.getCode()
).contains(userType)) {
//非线性负荷用户 & 新能源发电站用户
UserReportSubstationPO userReportSubstationPO = userReportParam.getUserReportSubstationPO();
userReportSubstationPO.setId(userReportParam.getId());
userReportSubstationPO.setState(DataStateEnum.ENABLE.getCode());
} else if (UserNatureEnum.SENSITIVE_USER.getCode().equals(userType)) {
// 敏感及重要用户
UserReportSensitivePO userReportSensitivePO = userReportParam.getUserReportSensitivePO();
userReportSensitivePO.setId(userReportParam.getId());
userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode());
}
}
}