|
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
|
|
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
|
|
+import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
|
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
|
|
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
|
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
|
@@ -24,6 +25,7 @@ import cn.iocoder.yudao.module.pms.dal.mysql.failure.IotFailureReportMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper;
|
|
|
import cn.iocoder.yudao.module.pms.enums.common.FailureAuditStatusEnum;
|
|
import cn.iocoder.yudao.module.pms.enums.common.FailureAuditStatusEnum;
|
|
|
import cn.iocoder.yudao.module.pms.message.PmsMessage;
|
|
import cn.iocoder.yudao.module.pms.message.PmsMessage;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.service.IotDeviceService;
|
|
|
import cn.iocoder.yudao.module.pms.service.iotdeviceperson.IotDevicePersonService;
|
|
import cn.iocoder.yudao.module.pms.service.iotdeviceperson.IotDevicePersonService;
|
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
@@ -61,6 +63,7 @@ import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_FAILURE_RE
|
|
|
@Validated
|
|
@Validated
|
|
|
public class IotFailureReportServiceImpl implements IotFailureReportService {
|
|
public class IotFailureReportServiceImpl implements IotFailureReportService {
|
|
|
public static final String PROCESS_KEY = "failure-report";
|
|
public static final String PROCESS_KEY = "failure-report";
|
|
|
|
|
+ public static final String RH_PROCESS_KEY = "rh-failure-report";
|
|
|
@Resource
|
|
@Resource
|
|
|
private IotFailureReportMapper iotFailureReportMapper;
|
|
private IotFailureReportMapper iotFailureReportMapper;
|
|
|
@Resource
|
|
@Resource
|
|
@@ -85,6 +88,8 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
|
|
|
private PmsMessage pmsMessage;
|
|
private PmsMessage pmsMessage;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IotDevicePersonService iotDevicePersonService;
|
|
private IotDevicePersonService iotDevicePersonService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IotDeviceService iotDeviceService;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -99,7 +104,14 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
|
|
|
//生成工单
|
|
//生成工单
|
|
|
IotMaintainDO iotMaintainDO = new IotMaintainDO();
|
|
IotMaintainDO iotMaintainDO = new IotMaintainDO();
|
|
|
BeanUtils.copyProperties(failureReportDO, iotMaintainDO);
|
|
BeanUtils.copyProperties(failureReportDO, iotMaintainDO);
|
|
|
- iotMaintainDO.setStatus("tx");
|
|
|
|
|
|
|
+ //判断是否是瑞恒,如果是瑞恒的话先更新状态为维修人员填写
|
|
|
|
|
+ String deviceCompany = iotDeviceService.getDeviceCompany(failureReportDO.getDeviceId());
|
|
|
|
|
+ if ("rh".equals(deviceCompany)) {
|
|
|
|
|
+ iotMaintainDO.setStatus("personnel");
|
|
|
|
|
+ iotMaintainDO.setType("");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ iotMaintainDO.setStatus("tx");
|
|
|
|
|
+ }
|
|
|
iotMaintainDO.setPic(null);
|
|
iotMaintainDO.setPic(null);
|
|
|
//iotMaintainDO.setAuditStatus(0);
|
|
//iotMaintainDO.setAuditStatus(0);
|
|
|
iotMaintainDO.setAuditStatus(null);
|
|
iotMaintainDO.setAuditStatus(null);
|
|
@@ -171,11 +183,19 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
|
|
|
for (String s : iotFailureReportDO.getApprovalId().split(",")) {
|
|
for (String s : iotFailureReportDO.getApprovalId().split(",")) {
|
|
|
approvalIds.add(Long.parseLong(s));
|
|
approvalIds.add(Long.parseLong(s));
|
|
|
}
|
|
}
|
|
|
- assigness.put("failure_approval", approvalIds);
|
|
|
|
|
Map<String, Object> variable = new HashMap<>();
|
|
Map<String, Object> variable = new HashMap<>();
|
|
|
- variable.put("continue", "0");
|
|
|
|
|
- String processInstanceId = processInstanceApi.createProcessInstance(SecurityFrameworkUtils.getLoginUserId(),
|
|
|
|
|
- new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY).setBusinessKey(String.valueOf(id)).setStartUserSelectAssignees(assigness).setVariables(variable));
|
|
|
|
|
|
|
+ String deviceCompany = iotDeviceService.getDeviceCompany(iotFailureReportDO.getDeviceId());
|
|
|
|
|
+ String processInstanceId;
|
|
|
|
|
+ if ("rh".equals(deviceCompany)) {
|
|
|
|
|
+ assigness.put("rh_failure_approval", approvalIds);
|
|
|
|
|
+ processInstanceId = processInstanceApi.createProcessInstance(SecurityFrameworkUtils.getLoginUserId(),
|
|
|
|
|
+ new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(RH_PROCESS_KEY).setBusinessKey(String.valueOf(id)).setStartUserSelectAssignees(assigness).setVariables(variable));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ assigness.put("failure_approval", approvalIds);
|
|
|
|
|
+ variable.put("continue", "0");
|
|
|
|
|
+ processInstanceId = processInstanceApi.createProcessInstance(SecurityFrameworkUtils.getLoginUserId(),
|
|
|
|
|
+ new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY).setBusinessKey(String.valueOf(id)).setStartUserSelectAssignees(assigness).setVariables(variable));
|
|
|
|
|
+ }
|
|
|
// 将流程实例id 更新到 供应商主数据表
|
|
// 将流程实例id 更新到 供应商主数据表
|
|
|
iotFailureReportMapper.updateById(new IotFailureReportDO().setId(id).setProcessInstanceId(processInstanceId).setAuditStatus(FailureAuditStatusEnum.PROCESS.getStatus()));
|
|
iotFailureReportMapper.updateById(new IotFailureReportDO().setId(id).setProcessInstanceId(processInstanceId).setAuditStatus(FailureAuditStatusEnum.PROCESS.getStatus()));
|
|
|
return processInstanceId;
|
|
return processInstanceId;
|
|
@@ -191,7 +211,7 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
|
|
|
if (Objects.isNull(iotDeviceDO)) {
|
|
if (Objects.isNull(iotDeviceDO)) {
|
|
|
throw new ServiceException();
|
|
throw new ServiceException();
|
|
|
}
|
|
}
|
|
|
- iotFailureReport.setFailureName(iotDeviceDO.getDeviceCode()+iotDeviceDO.getDeviceName()+DateUtil.format(new Date(), "yyMMdd"));
|
|
|
|
|
|
|
+ iotFailureReport.setFailureName(iotDeviceDO.getDeviceCode()+iotDeviceDO.getDeviceName()+DateUtil.format(new Date(), "yyMMddHHmm"));
|
|
|
iotFailureReport.setDeviceName(iotDeviceDO.getDeviceName());
|
|
iotFailureReport.setDeviceName(iotDeviceDO.getDeviceName());
|
|
|
iotFailureReport.setDeleted(false);
|
|
iotFailureReport.setDeleted(false);
|
|
|
if (iotFailureReport.getIfDeal()) {
|
|
if (iotFailureReport.getIfDeal()) {
|
|
@@ -277,6 +297,7 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
|
+ @DataPermission(enable = false)
|
|
|
public IotFailureReportDO getIotFailureReport(Long id) {
|
|
public IotFailureReportDO getIotFailureReport(Long id) {
|
|
|
return iotFailureReportMapper.selectById(id);
|
|
return iotFailureReportMapper.selectById(id);
|
|
|
}
|
|
}
|