|
|
|
|
@ -79,6 +79,17 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
|
|
|
|
|
activity.setHandleTime(dmsBillsFaultInstance.getApplyTime());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 设置任务名称,避免前端“任务”列为空
|
|
|
|
|
if (activity.getProcessStepOrder() != null) {
|
|
|
|
|
if (activity.getProcessStepOrder() == 1L) {
|
|
|
|
|
activity.setProcessActivityName("报修");
|
|
|
|
|
} else if (activity.getProcessStepOrder() == 2L) {
|
|
|
|
|
activity.setProcessActivityName("维修");
|
|
|
|
|
} else {
|
|
|
|
|
activity.setProcessActivityName("步骤" + activity.getProcessStepOrder());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -469,22 +480,41 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
|
|
|
|
|
dmsBillsFaultInstance.setUpdateTime(currentDate);
|
|
|
|
|
dmsBillsFaultInstance.setUpdateBy(SecurityUtils.getUserId());
|
|
|
|
|
dmsBillsFaultInstanceMapper.updateDmsBillsFaultInstance(dmsBillsFaultInstance);
|
|
|
|
|
|
|
|
|
|
dmsFaultInstanceActivity.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId());
|
|
|
|
|
// 已废弃审批流功能 - 设置固定值或注释
|
|
|
|
|
// dmsFaultInstanceActivity.setProcessActivityId(WfConstants.WF_BILLS_FAULT_INSTANCE_PROCESS_ACTIVITY_SECOND_ID);
|
|
|
|
|
dmsFaultInstanceActivity.setProcessActivityId(2L); // 临时设置固定值
|
|
|
|
|
dmsFaultInstanceActivity.setDeviceId(dmsBillsFaultInstance.getDeviceId());
|
|
|
|
|
dmsFaultInstanceActivity.setProcessHandleStatus(DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_EXECUTING);
|
|
|
|
|
dmsFaultInstanceActivity.setProcessStepOrder(2L);
|
|
|
|
|
dmsFaultInstanceActivity.setStartTime(currentDate);
|
|
|
|
|
dmsFaultInstanceActivity.setHandleUserId(SecurityUtils.getUserId());
|
|
|
|
|
dmsFaultInstanceActivity.setHandleBy(userName);
|
|
|
|
|
dmsFaultInstanceActivity.setHandleTime(currentDate);
|
|
|
|
|
dmsFaultInstanceActivity.setCreateBy(SecurityUtils.getUserId());
|
|
|
|
|
dmsFaultInstanceActivity.setCreateTime(currentDate);
|
|
|
|
|
|
|
|
|
|
dmsFaultInstanceActivityMapper.insertDmsFaultInstanceActivity(dmsFaultInstanceActivity);
|
|
|
|
|
// 若已存在第2步(派工后),则改为执行中;否则新增第2步
|
|
|
|
|
DmsFaultInstanceActivity query = new DmsFaultInstanceActivity();
|
|
|
|
|
query.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId());
|
|
|
|
|
query.setProcessStepOrder(2L);
|
|
|
|
|
List<DmsFaultInstanceActivity> step2List = dmsFaultInstanceActivityMapper.selectDmsFaultInstanceActivityList(query);
|
|
|
|
|
if (!CollectionUtils.isEmpty(step2List)) {
|
|
|
|
|
DmsFaultInstanceActivity updateStep2 = new DmsFaultInstanceActivity();
|
|
|
|
|
updateStep2.setInstanceActivityId(step2List.get(0).getInstanceActivityId());
|
|
|
|
|
updateStep2.setProcessHandleStatus(DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_EXECUTING);
|
|
|
|
|
updateStep2.setStartTime(currentDate);
|
|
|
|
|
// 若未指定执行人,默认当前人
|
|
|
|
|
if (step2List.get(0).getHandleUserId() == null) {
|
|
|
|
|
updateStep2.setHandleUserId(SecurityUtils.getUserId());
|
|
|
|
|
updateStep2.setHandleBy(userName);
|
|
|
|
|
}
|
|
|
|
|
updateStep2.setHandleTime(currentDate);
|
|
|
|
|
updateStep2.setUpdateBy(SecurityUtils.getUserId());
|
|
|
|
|
updateStep2.setUpdateTime(currentDate);
|
|
|
|
|
dmsFaultInstanceActivityMapper.updateDmsFaultInstanceActivity(updateStep2);
|
|
|
|
|
} else {
|
|
|
|
|
dmsFaultInstanceActivity.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId());
|
|
|
|
|
// 已废弃审批流功能 - 设置固定值或注释
|
|
|
|
|
// dmsFaultInstanceActivity.setProcessActivityId(WfConstants.WF_BILLS_FAULT_INSTANCE_PROCESS_ACTIVITY_SECOND_ID);
|
|
|
|
|
dmsFaultInstanceActivity.setProcessActivityId(2L); // 临时设置固定值
|
|
|
|
|
dmsFaultInstanceActivity.setDeviceId(dmsBillsFaultInstance.getDeviceId());
|
|
|
|
|
dmsFaultInstanceActivity.setProcessHandleStatus(DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_EXECUTING);
|
|
|
|
|
dmsFaultInstanceActivity.setProcessStepOrder(2L);
|
|
|
|
|
dmsFaultInstanceActivity.setStartTime(currentDate);
|
|
|
|
|
dmsFaultInstanceActivity.setHandleUserId(SecurityUtils.getUserId());
|
|
|
|
|
dmsFaultInstanceActivity.setHandleBy(userName);
|
|
|
|
|
dmsFaultInstanceActivity.setHandleTime(currentDate);
|
|
|
|
|
dmsFaultInstanceActivity.setCreateBy(SecurityUtils.getUserId());
|
|
|
|
|
dmsFaultInstanceActivity.setCreateTime(currentDate);
|
|
|
|
|
dmsFaultInstanceActivityMapper.insertDmsFaultInstanceActivity(dmsFaultInstanceActivity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DmsFaultInstanceActivity firstInstanceActivity = new DmsFaultInstanceActivity();
|
|
|
|
|
firstInstanceActivity.setInstanceActivityId(dmsBillsFaultInstance.getInstanceActivityId());
|
|
|
|
|
@ -501,6 +531,72 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 指定派工:为某工单的第2步设置执行人,状态置为待接取;若不存在第2步则创建
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public int dispatchRepair(DmsFaultInstanceActivity dmsFaultInstanceActivity) {
|
|
|
|
|
if (dmsFaultInstanceActivity == null || dmsFaultInstanceActivity.getRepairInstanceId() == null) {
|
|
|
|
|
throw new ServiceException("参数错误");
|
|
|
|
|
}
|
|
|
|
|
DmsBillsFaultInstance bills = dmsBillsFaultInstanceMapper
|
|
|
|
|
.selectDmsBillsFaultInstanceByRepairInstanceId(dmsFaultInstanceActivity.getRepairInstanceId());
|
|
|
|
|
if (bills == null) {
|
|
|
|
|
throw new ServiceException("工单不存在");
|
|
|
|
|
}
|
|
|
|
|
if (DmsConstants.DMS_BILLS_FAULT_INSTANCE_STATUS_FINISH.equals(bills.getBillsStatus())) {
|
|
|
|
|
throw new ServiceException("工单已完成,无法派工");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Date now = new Date();
|
|
|
|
|
String userName = SecurityUtils.getLoginUser()==null ? SecurityUtils.getUsername() :SecurityUtils.getLoginUser().getUser().getNickName();
|
|
|
|
|
Long handleUserId = dmsFaultInstanceActivity.getHandleUserId();
|
|
|
|
|
String handleBy = dmsFaultInstanceActivity.getHandleBy();
|
|
|
|
|
if (handleUserId == null) {
|
|
|
|
|
handleUserId = SecurityUtils.getUserId();
|
|
|
|
|
}
|
|
|
|
|
if (StringUtils.isBlank(handleBy)) {
|
|
|
|
|
handleBy = userName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 查找第2步
|
|
|
|
|
DmsFaultInstanceActivity query = new DmsFaultInstanceActivity();
|
|
|
|
|
query.setRepairInstanceId(bills.getRepairInstanceId());
|
|
|
|
|
query.setProcessStepOrder(2L);
|
|
|
|
|
List<DmsFaultInstanceActivity> step2List = dmsFaultInstanceActivityMapper.selectDmsFaultInstanceActivityList(query);
|
|
|
|
|
if (!CollectionUtils.isEmpty(step2List)) {
|
|
|
|
|
DmsFaultInstanceActivity exist = step2List.get(0);
|
|
|
|
|
// 已在执行或已结束则不允许派工
|
|
|
|
|
if (DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_EXECUTING.equals(exist.getProcessHandleStatus())
|
|
|
|
|
|| DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_FINISH.equals(exist.getProcessHandleStatus())) {
|
|
|
|
|
throw new ServiceException("当前状态不可派工");
|
|
|
|
|
}
|
|
|
|
|
DmsFaultInstanceActivity update = new DmsFaultInstanceActivity();
|
|
|
|
|
update.setInstanceActivityId(exist.getInstanceActivityId());
|
|
|
|
|
update.setHandleUserId(handleUserId);
|
|
|
|
|
update.setHandleBy(handleBy);
|
|
|
|
|
update.setProcessHandleStatus(DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_TO_PICK);
|
|
|
|
|
update.setUpdateBy(SecurityUtils.getUserId());
|
|
|
|
|
update.setUpdateTime(now);
|
|
|
|
|
dmsFaultInstanceActivityMapper.updateDmsFaultInstanceActivity(update);
|
|
|
|
|
} else {
|
|
|
|
|
// 创建第2步,待接取
|
|
|
|
|
DmsFaultInstanceActivity create = new DmsFaultInstanceActivity();
|
|
|
|
|
create.setRepairInstanceId(bills.getRepairInstanceId());
|
|
|
|
|
create.setProcessActivityId(2L);
|
|
|
|
|
create.setDeviceId(bills.getDeviceId());
|
|
|
|
|
create.setProcessHandleStatus(DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_TO_PICK);
|
|
|
|
|
create.setProcessStepOrder(2L);
|
|
|
|
|
create.setHandleUserId(handleUserId);
|
|
|
|
|
create.setHandleBy(handleBy);
|
|
|
|
|
create.setCreateBy(SecurityUtils.getUserId());
|
|
|
|
|
create.setCreateTime(now);
|
|
|
|
|
dmsFaultInstanceActivityMapper.insertDmsFaultInstanceActivity(create);
|
|
|
|
|
}
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<DmsFaultCompentsParts> getDmsPartsList(Long repairInstanceId) {
|
|
|
|
|
|