新增接口
This commit is contained in:
@@ -41,6 +41,11 @@
|
||||
<artifactId>pq-device-api</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>common-swagger</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.supervision.controller.device;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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;
|
||||
@@ -8,12 +9,14 @@ 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.device.SupervisionDevMainReportParam;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO;
|
||||
import com.njcn.supervision.service.device.SupervisionDevMainReportPOService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -81,4 +84,40 @@ public class DeVReportManageController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
|
||||
}
|
||||
|
||||
@GetMapping("/updateStatus")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@Operation(summary = "更改表单状态")
|
||||
public HttpResult<Object> updateStatus(String businessKey,Integer status) {
|
||||
String methodDescribe = getMethodDescribe("updateStatus");
|
||||
supervisionDevMainReportPOService.updateStatus(businessKey,status);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
|
||||
@PostMapping("/cancel")
|
||||
@ApiOperation("取消设备录入")
|
||||
@ApiImplicitParam(name = "cancelReqVO", value = "取消原因", required = true)
|
||||
public HttpResult<String> cancelDevMainReport(@Validated @RequestBody BpmProcessInstanceCancelParam cancelReqVO) {
|
||||
String methodDescribe = getMethodDescribe("cancelDevMainReport");
|
||||
String id = supervisionDevMainReportPOService.cancelDevMainReport(cancelReqVO);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
|
||||
@PostMapping("/getDeviceList")
|
||||
@ApiOperation("获取监测点绑定设备列表")
|
||||
public HttpResult<List<SupervisionTempDeviceReport>> getDeviceList() {
|
||||
String methodDescribe = getMethodDescribe("getDeviceList");
|
||||
List<SupervisionTempDeviceReport> id = supervisionDevMainReportPOService.getDeviceList();
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe);
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryDeviceDetail")
|
||||
@ApiOperation("查询设备详情")
|
||||
public HttpResult<SupervisionDevMainReportVO> queryDeviceDetail(@RequestParam("id") String id){
|
||||
String methodDescribe = getMethodDescribe("queryDeviceDetail");
|
||||
SupervisionDevMainReportVO vo = supervisionDevMainReportPOService.querySurveyDetail(id);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.njcn.supervision.controller.device;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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.device.SupervisionTempLineReportParam;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
|
||||
import com.njcn.supervision.service.device.SupervisionTempLineReportService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* 干扰源用户管理
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/11/11 - 9:20
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/tempLine")
|
||||
@Api(tags = "电能质量临时监测点管理")
|
||||
@AllArgsConstructor
|
||||
public class TempLineController extends BaseController {
|
||||
|
||||
|
||||
private final SupervisionTempLineReportService supervisionTempLineReportService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.ADD)
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("新增临时监测点管理")
|
||||
@ApiImplicitParam(name = "supervisionTempLineReportParam", value = "实体参数", required = true)
|
||||
public HttpResult<String> addTempLineReport(@RequestBody @Validated SupervisionTempLineReportParam supervisionTempLineReportParam){
|
||||
String methodDescribe = getMethodDescribe("addTempLineReport");
|
||||
String tempLineId = supervisionTempLineReportService.addTempLineReport(supervisionTempLineReportParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, tempLineId, methodDescribe);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/list")
|
||||
@ApiOperation("分页查询当前用户能看到的接入监测装置设备")
|
||||
@ApiImplicitParam(name = "supervisionTempLineReportQuery", value = "参数", required = true)
|
||||
public HttpResult<Page<SupervisionTempLineReportVO>> getTempLineReport(@RequestBody @Validated SupervisionTempLineReportParam.SupervisionTempLineReportQuery supervisionTempLineReportQuery) {
|
||||
String methodDescribe = getMethodDescribe("getTempLineReport");
|
||||
Page<SupervisionTempLineReportVO> out = supervisionTempLineReportService.getTempLineReport(supervisionTempLineReportQuery);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
|
||||
}
|
||||
@GetMapping("/updateStatus")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@Operation(summary = "更改表单状态")
|
||||
public HttpResult<Object> updateStatus(String businessKey,Integer status) {
|
||||
String methodDescribe = getMethodDescribe("updateStatus");
|
||||
supervisionTempLineReportService.updateStatus(businessKey,status);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
|
||||
@PostMapping("/cancel")
|
||||
@ApiOperation("取消设备录入")
|
||||
@ApiImplicitParam(name = "cancelReqVO", value = "取消原因", required = true)
|
||||
public HttpResult<String> cancelTempLineReport(@Validated @RequestBody BpmProcessInstanceCancelParam cancelReqVO) {
|
||||
String methodDescribe = getMethodDescribe("cancelTempLineReport");
|
||||
String id = supervisionTempLineReportService.cancelTempLineReport(cancelReqVO);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,11 @@
|
||||
package com.njcn.supervision.mapper.device;
|
||||
|
||||
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.device.SupervisionTempLineReport;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -12,4 +16,5 @@ import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface SupervisionTempLineReportMapper extends BaseMapper<SupervisionTempLineReport> {
|
||||
Page<SupervisionTempLineReportVO> page(Page<Object> objectPage, @Param("ew") QueryWrapper<SupervisionTempLineReport> quitRunningDeviceVOQueryWrapper);
|
||||
}
|
||||
@@ -35,4 +35,11 @@
|
||||
point_nature, is_statistical, Obj_Name, Power_Substation_Name, is_grid_connection_point,
|
||||
operation_status, main_wiring_diagram, voltage_deviation_upper_limit, voltage_deviation_lower_limit
|
||||
</sql>
|
||||
|
||||
<select id="page" resultType="com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO">
|
||||
SELECT
|
||||
*
|
||||
FROM supervision_temp_line_report supervision_temp_line_report
|
||||
WHERE ${ew.sqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -2,8 +2,10 @@ package com.njcn.supervision.service.device;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionDevMainReportParam;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionDevMainReportPO;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO;
|
||||
|
||||
import java.util.List;
|
||||
@@ -26,4 +28,12 @@ public interface SupervisionDevMainReportPOService extends IService<SupervisionD
|
||||
Boolean removeDevReport(List<String> ids);
|
||||
|
||||
Page<SupervisionDevMainReportVO> getDevReport(SupervisionDevMainReportParam.SupervisionDevMainReportQuery supervisionDevMainReportQuery);
|
||||
|
||||
void updateStatus(String businessKey, Integer status);
|
||||
|
||||
String cancelDevMainReport(BpmProcessInstanceCancelParam cancelReqVO);
|
||||
|
||||
List<SupervisionTempDeviceReport> getDeviceList();
|
||||
|
||||
SupervisionDevMainReportVO querySurveyDetail(String id);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package com.njcn.supervision.service.device;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionTempLineReportParam;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
/**
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/11 14:07【需求编号】
|
||||
@@ -13,4 +18,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
public interface SupervisionTempLineReportService extends IService<SupervisionTempLineReport>{
|
||||
|
||||
|
||||
String addTempLineReport(SupervisionTempLineReportParam supervisionTempLineReportParam);
|
||||
|
||||
Page<SupervisionTempLineReportVO> getTempLineReport(SupervisionTempLineReportParam.SupervisionTempLineReportQuery supervisionTempLineReportQuery);
|
||||
|
||||
void updateStatus(String businessKey, Integer status);
|
||||
|
||||
String cancelTempLineReport(BpmProcessInstanceCancelParam cancelReqVO);
|
||||
}
|
||||
|
||||
@@ -8,28 +8,32 @@ 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.bpm.api.BpmProcessFeignClient;
|
||||
import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum;
|
||||
import com.njcn.bpm.enums.BpmTaskStatusEnum;
|
||||
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.FlowStatusEnum;
|
||||
import com.njcn.supervision.mapper.device.SupervisionDevMainReportPOMapper;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionDevMainReportParam;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionTempDeviceReportParam;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionTempLineReportParam;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionDevMainReportPO;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO;
|
||||
import com.njcn.supervision.service.device.SupervisionDevMainReportPOService;
|
||||
import com.njcn.supervision.service.device.SupervisionTempDeviceReportService;
|
||||
import com.njcn.supervision.service.device.SupervisionTempLineReportService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.api.UserFeignClient;
|
||||
import com.njcn.user.pojo.vo.UserVO;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -56,19 +60,19 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
|
||||
|
||||
private final BpmProcessFeignClient bpmProcessFeignClient;
|
||||
private final SupervisionTempDeviceReportService supervisionTempDeviceReportService;
|
||||
private final SupervisionTempLineReportService supervisionTempLineReportService;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
private final UserFeignClient userFeignClient;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String addDevReport(SupervisionDevMainReportParam supervisionDevMainReportParam) {
|
||||
|
||||
//判断干扰源用户是否绑定
|
||||
checkUserId(supervisionDevMainReportParam, false);
|
||||
//判断干扰源用户是否绑定 todo 修改校验终端名称
|
||||
// checkUserId(supervisionDevMainReportParam, false);
|
||||
SupervisionDevMainReportPO supervisionDevMainReportPO = new SupervisionDevMainReportPO();
|
||||
BeanUtils.copyProperties(supervisionDevMainReportParam, supervisionDevMainReportPO);
|
||||
supervisionDevMainReportPO.setState(DataStateEnum.ENABLE.getCode());
|
||||
supervisionDevMainReportPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
this.save(supervisionDevMainReportPO);
|
||||
String id = supervisionDevMainReportPO.getId();
|
||||
//存储临时终端信息
|
||||
@@ -78,11 +82,11 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
|
||||
supervisionTempDeviceReportPO.setId(id);
|
||||
supervisionTempDeviceReportService.save(supervisionTempDeviceReportPO);
|
||||
//存储临时监测点信息
|
||||
SupervisionTempLineReportParam supervisionTempLineReportParam = supervisionDevMainReportParam.getSupervisionTempLineReportParam();
|
||||
SupervisionTempLineReport supervisionTempLineReport = new SupervisionTempLineReport();
|
||||
BeanUtils.copyProperties(supervisionTempLineReportParam, supervisionTempLineReport);
|
||||
supervisionTempDeviceReportPO.setId(id);
|
||||
supervisionTempLineReportService.save(supervisionTempLineReport);
|
||||
// SupervisionTempLineReportParam supervisionTempLineReportParam = supervisionDevMainReportParam.getSupervisionTempLineReportParam();
|
||||
// SupervisionTempLineReport supervisionTempLineReport = new SupervisionTempLineReport();
|
||||
// BeanUtils.copyProperties(supervisionTempLineReportParam, supervisionTempLineReport);
|
||||
// supervisionTempDeviceReportPO.setId(id);
|
||||
// supervisionTempLineReportService.save(supervisionTempLineReport);
|
||||
// 发起 BPM 流程
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
@@ -111,25 +115,78 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
|
||||
|
||||
@Override
|
||||
public Page<SupervisionDevMainReportVO> getDevReport(SupervisionDevMainReportParam.SupervisionDevMainReportQuery supervisionDevMainReportQuery) {
|
||||
QueryWrapper<SupervisionDevMainReportVO> quitRunningDeviceVOQueryWrapper = new QueryWrapper<>();
|
||||
QueryWrapper<SupervisionDevMainReportVO> queryWrapper = new QueryWrapper<>();
|
||||
String userIndex = RequestUtil.getUserIndex();
|
||||
|
||||
queryWrapper.in("supervision_dev_main_report.create_by", CollectionUtil.newArrayList(userIndex))
|
||||
.eq("supervision_dev_main_report.state", DataStateEnum.ENABLE.getCode());
|
||||
if (StrUtil.isNotBlank(supervisionDevMainReportQuery.getOrgId())) {
|
||||
/*获取直接下属子单位*/
|
||||
List<String> data = deptFeignClient.getDepSonIdtByDeptId(supervisionDevMainReportQuery.getOrgId()).getData();
|
||||
|
||||
//添加上时间范围
|
||||
quitRunningDeviceVOQueryWrapper.between("supervision_dev_main_report.Create_Time",
|
||||
queryWrapper.between("supervision_dev_main_report.Create_Time",
|
||||
DateUtil.beginOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchEndTime())));
|
||||
}
|
||||
quitRunningDeviceVOQueryWrapper.orderByDesc("supervision_dev_main_report.Update_Time");
|
||||
Page<SupervisionDevMainReportVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionDevMainReportQuery), PageFactory.getPageSize(supervisionDevMainReportQuery)), quitRunningDeviceVOQueryWrapper);
|
||||
queryWrapper.orderByDesc("supervision_dev_main_report.Update_Time");
|
||||
Page<SupervisionDevMainReportVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionDevMainReportQuery), PageFactory.getPageSize(supervisionDevMainReportQuery)), queryWrapper);
|
||||
page.getRecords().stream().forEach(temp->{
|
||||
temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgId()).getData().getName()));
|
||||
|
||||
//处理特殊字段,用户名、部门名
|
||||
UserVO userVO = userFeignClient.getUserById(temp.getReporter()).getData();
|
||||
temp.setReporter(userVO.getName());
|
||||
temp.setOrgName(deptFeignClient.getDeptById(temp.getOrgId()).getData().getName());
|
||||
});
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStatus(String businessKey, Integer status) {
|
||||
this.lambdaUpdate().set(SupervisionDevMainReportPO::getStatus,status).eq(SupervisionDevMainReportPO::getId,businessKey).update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String cancelDevMainReport(BpmProcessInstanceCancelParam cancelReqVO) {
|
||||
//准备取消该流程,需要远程调用接口
|
||||
SupervisionDevMainReportPO supervisionDevMainReportPO = this.baseMapper.selectById(cancelReqVO.getId());
|
||||
//取消流程
|
||||
bpmProcessFeignClient.cancelProcessInstanceByStartUser(cancelReqVO);
|
||||
//更新状态
|
||||
supervisionDevMainReportPO.setStatus(BpmProcessInstanceStatusEnum.CANCEL.getStatus());
|
||||
this.updateById(supervisionDevMainReportPO);
|
||||
return supervisionDevMainReportPO.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SupervisionTempDeviceReport> getDeviceList() {
|
||||
String deptIndex = RequestUtil.getDeptIndex();
|
||||
List<String> data = deptFeignClient.getDepSonIdtByDeptId(deptIndex).getData();
|
||||
|
||||
List<SupervisionDevMainReportPO> list = this.lambdaQuery()
|
||||
.eq(SupervisionDevMainReportPO::getStatus, 2)
|
||||
.in(CollectionUtil.isNotEmpty(data), SupervisionDevMainReportPO::getOrgId, data)
|
||||
.list();
|
||||
if(CollectionUtil.isNotEmpty(list)){
|
||||
List<String> collect = list.stream().map(SupervisionDevMainReportPO::getId).collect(Collectors.toList());
|
||||
List<SupervisionTempDeviceReport> list1 = supervisionTempDeviceReportService.lambdaQuery().in(SupervisionTempDeviceReport::getId, collect).list();
|
||||
return list1;
|
||||
}
|
||||
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SupervisionDevMainReportVO querySurveyDetail(String id) {
|
||||
SupervisionDevMainReportVO supervisionDevMainReportVO = new SupervisionDevMainReportVO();
|
||||
SupervisionDevMainReportPO byId = this.getById(id);
|
||||
BeanUtils.copyProperties(byId,supervisionDevMainReportVO);
|
||||
//获取普测下电站详情
|
||||
SupervisionTempDeviceReport supervisionTempDeviceReport = supervisionTempDeviceReportService.lambdaQuery().eq(SupervisionTempDeviceReport::getId, id).one();
|
||||
supervisionDevMainReportVO.setSupervisionTempDeviceReport(supervisionTempDeviceReport);
|
||||
return supervisionDevMainReportVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 判断干扰源用户是否绑定设备,如果重复则提示干扰源用户已经设备
|
||||
* @Param: supervisionDevMainReportParam终端详情 isExcludeSelf是否排除自己,一般新增不排除,更新时需要排除自己
|
||||
|
||||
@@ -1,10 +1,40 @@
|
||||
package com.njcn.supervision.service.device.impl;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.bpm.api.BpmProcessFeignClient;
|
||||
import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum;
|
||||
import com.njcn.bpm.enums.BpmTaskStatusEnum;
|
||||
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.FlowStatusEnum;
|
||||
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionTempLineReportParam;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
|
||||
import com.njcn.supervision.service.device.SupervisionTempLineReportService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.api.UserFeignClient;
|
||||
import com.njcn.user.pojo.vo.UserVO;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
@@ -14,6 +44,118 @@ import com.njcn.supervision.service.device.SupervisionTempLineReportService;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class SupervisionTempLineReportServiceImpl extends ServiceImpl<SupervisionTempLineReportMapper, SupervisionTempLineReport> implements SupervisionTempLineReportService{
|
||||
|
||||
|
||||
/**
|
||||
* 监测点建档对应的流程定义 KEY
|
||||
*/
|
||||
public static final String PROCESS_KEY = "line_info_add";
|
||||
|
||||
private final BpmProcessFeignClient bpmProcessFeignClient;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final UserFeignClient userFeignClient;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String addTempLineReport(SupervisionTempLineReportParam supervisionTempLineReportParam) {
|
||||
//判断干扰源用户是否绑定
|
||||
checkLineId(supervisionTempLineReportParam, false);
|
||||
|
||||
SupervisionTempLineReport supervisionTempLineReport = new SupervisionTempLineReport();
|
||||
BeanUtils.copyProperties(supervisionTempLineReportParam,supervisionTempLineReport);
|
||||
supervisionTempLineReport.setState(DataStateEnum.ENABLE.getCode());
|
||||
supervisionTempLineReport.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
|
||||
this.save(supervisionTempLineReport);
|
||||
String id = supervisionTempLineReport.getId();
|
||||
|
||||
// 发起 BPM 流程
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(PROCESS_KEY);
|
||||
bpmProcessInstanceCreateReqDTO.setBusinessKey(id);
|
||||
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(supervisionTempLineReportParam.getStartUserSelectAssignees());
|
||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineReport.getCreateBy(),bpmProcessInstanceCreateReqDTO).getData();
|
||||
// 将工作流的编号,更新到流程单中
|
||||
supervisionTempLineReport.setProcessInstanceId(processInstanceId);
|
||||
this.baseMapper.updateById(supervisionTempLineReport);
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SupervisionTempLineReportVO> getTempLineReport(SupervisionTempLineReportParam.SupervisionTempLineReportQuery supervisionTempLineReportQuery) {
|
||||
QueryWrapper<SupervisionTempLineReport> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
String userIndex = RequestUtil.getUserIndex();
|
||||
|
||||
queryWrapper.in("supervision_temp_line_report.create_by", CollectionUtil.newArrayList(userIndex))
|
||||
.eq("supervision_temp_line_report.state", DataStateEnum.ENABLE.getCode());
|
||||
if (StrUtil.isNotBlank(supervisionTempLineReportQuery.getOrgId())) {
|
||||
/*获取直接下属子单位*/
|
||||
List<String> data = deptFeignClient.getDepSonIdtByDeptId(supervisionTempLineReportQuery.getOrgId()).getData();
|
||||
|
||||
//添加上时间范围
|
||||
queryWrapper.between("supervision_temp_line_report.Create_Time",
|
||||
DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchEndTime())));
|
||||
}
|
||||
queryWrapper.orderByDesc("supervision_temp_line_report.Update_Time");
|
||||
Page<SupervisionTempLineReportVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionTempLineReportQuery), PageFactory.getPageSize(supervisionTempLineReportQuery)), queryWrapper);
|
||||
page.getRecords().stream().forEach(temp->{
|
||||
temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgId()).getData().getName()));
|
||||
//处理特殊字段,用户名、部门名
|
||||
UserVO userVO = userFeignClient.getUserById(temp.getReporter()).getData();
|
||||
temp.setReporter(userVO.getName());
|
||||
temp.setOrgName(deptFeignClient.getDeptById(temp.getOrgId()).getData().getName());
|
||||
});
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStatus(String businessKey, Integer status) {
|
||||
this.lambdaUpdate().set(SupervisionTempLineReport::getStatus,status).eq(SupervisionTempLineReport::getId,businessKey).update();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String cancelTempLineReport(BpmProcessInstanceCancelParam cancelReqVO) {
|
||||
//准备取消该流程,需要远程调用接口
|
||||
SupervisionTempLineReport supervisionDevMainReportPO = this.baseMapper.selectById(cancelReqVO.getId());
|
||||
//取消流程
|
||||
bpmProcessFeignClient.cancelProcessInstanceByStartUser(cancelReqVO);
|
||||
//更新状态
|
||||
supervisionDevMainReportPO.setStatus(BpmProcessInstanceStatusEnum.CANCEL.getStatus());
|
||||
this.updateById(supervisionDevMainReportPO);
|
||||
return supervisionDevMainReportPO.getId();
|
||||
}
|
||||
|
||||
private void checkLineId(SupervisionTempLineReportParam supervisionTempLineReportParam, boolean isExcludeSelf) {
|
||||
LambdaQueryWrapper<SupervisionTempLineReport> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper
|
||||
.eq(SupervisionTempLineReport::getLineId, supervisionTempLineReportParam.getLineId())
|
||||
.eq(SupervisionTempLineReport::getState, DataStateEnum.ENABLE.getCode());
|
||||
//更新的时候,需排除当前记录
|
||||
if (isExcludeSelf) {
|
||||
if(supervisionTempLineReportParam instanceof SupervisionTempLineReportParam.SupervisionTempLineReportUpdate){
|
||||
lambdaQueryWrapper.ne(SupervisionTempLineReport::getId, ((SupervisionTempLineReportParam.SupervisionTempLineReportUpdate) supervisionTempLineReportParam).getId());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
List<SupervisionTempLineReport> list = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
//过滤已取消的申请
|
||||
list = list.stream()
|
||||
.filter(temp -> !temp.getStatus().equals(FlowStatusEnum.CANCEL.getCode()))
|
||||
.collect(Collectors.toList());
|
||||
//如果还存在,则说明有人申请过了
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
throw new BusinessException(supervisionTempLineReportParam.getUserName().concat(",监测点编号").concat(list.get(0).getReporter()).concat("以使用"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user