|
|
|
@ -4,25 +4,34 @@ import com.alibaba.fastjson.JSON;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.hnac.hzims.common.logs.utils.StringUtils; |
|
|
|
|
import com.hnac.hzims.fdp.feign.IFdpTaskClient; |
|
|
|
|
import com.hnac.hzims.message.MessageConstants; |
|
|
|
|
import com.hnac.hzims.message.dto.MessagePushRecordDto; |
|
|
|
|
import com.hnac.hzims.message.fegin.IMessageClient; |
|
|
|
|
import com.hnac.hzims.middle.process.to.ProcessWorkFlowResponse; |
|
|
|
|
import com.hnac.hzims.operational.access.dto.OperAccessPlanDTO; |
|
|
|
|
import com.hnac.hzims.operational.access.dto.OperAccessTaskDTO; |
|
|
|
|
import com.hnac.hzims.operational.access.service.IOperAccessPlanService; |
|
|
|
|
import com.hnac.hzims.operational.access.service.IOperAccessTaskService; |
|
|
|
|
import com.hnac.hzims.operational.defect.config.DefectConfiguration; |
|
|
|
|
import com.hnac.hzims.operational.defect.constants.RepairConstant; |
|
|
|
|
import com.hnac.hzims.operational.defect.constants.TreatMethodConstant; |
|
|
|
|
import com.hnac.hzims.operational.defect.entity.OperAppearanceEntity; |
|
|
|
|
import com.hnac.hzims.operational.defect.entity.OperDefectEntity; |
|
|
|
|
import com.hnac.hzims.operational.defect.entity.OperDefectStatisticsEntity; |
|
|
|
|
import com.hnac.hzims.operational.defect.entity.OperPhenomenonEntity; |
|
|
|
|
import com.hnac.hzims.operational.defect.mapper.OperPhenomenonMapper; |
|
|
|
|
import com.hnac.hzims.operational.defect.service.IDefectCheckService; |
|
|
|
|
import com.hnac.hzims.operational.defect.service.IOperAppearanceService; |
|
|
|
|
import com.hnac.hzims.operational.defect.service.IOperDefectService; |
|
|
|
|
import com.hnac.hzims.operational.defect.service.IOperDefectStatisticsService; |
|
|
|
|
import com.hnac.hzims.ticket.repair.entity.RepairEntity; |
|
|
|
|
import com.hnac.hzims.ticket.repair.fegin.IRepairClient; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.apache.commons.lang3.math.NumberUtils; |
|
|
|
|
import org.springblade.core.log.exception.ServiceException; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
@ -34,6 +43,7 @@ import org.springblade.flow.core.feign.IFlowClient;
|
|
|
|
|
import org.springblade.flow.core.utils.FlowUtil; |
|
|
|
|
import org.springblade.flow.core.vo.ComleteTask; |
|
|
|
|
import org.springblade.system.cache.DictCache; |
|
|
|
|
import org.springblade.system.feign.ISysClient; |
|
|
|
|
import org.springblade.system.user.cache.UserCache; |
|
|
|
|
import org.springblade.system.user.entity.User; |
|
|
|
|
import org.springblade.system.user.feign.IUserClient; |
|
|
|
@ -41,6 +51,11 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
import org.springframework.util.Assert; |
|
|
|
|
|
|
|
|
|
import java.beans.BeanInfo; |
|
|
|
|
import java.beans.Introspector; |
|
|
|
|
import java.beans.PropertyDescriptor; |
|
|
|
|
import java.lang.reflect.Field; |
|
|
|
|
import java.lang.reflect.InvocationTargetException; |
|
|
|
|
import java.time.LocalDateTime; |
|
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
|
import java.util.*; |
|
|
|
@ -53,6 +68,7 @@ import java.util.stream.Collectors;
|
|
|
|
|
* @author ysj |
|
|
|
|
*/ |
|
|
|
|
@Service |
|
|
|
|
@Slf4j |
|
|
|
|
@RequiredArgsConstructor |
|
|
|
|
public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper, OperPhenomenonEntity> implements IDefectCheckService { |
|
|
|
|
|
|
|
|
@ -61,6 +77,8 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
private final IOperAccessPlanService operAccessPlanService; |
|
|
|
|
|
|
|
|
|
private final IOperAppearanceService operAppearanceService; |
|
|
|
|
|
|
|
|
|
private final IOperDefectStatisticsService statisticsService; |
|
|
|
|
private final IOperDefectService defectService; |
|
|
|
|
|
|
|
|
@ -72,6 +90,10 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
private final IUserClient userClient; |
|
|
|
|
|
|
|
|
|
private final ISysClient sysClient; |
|
|
|
|
|
|
|
|
|
private final IMessageClient messageClient; |
|
|
|
|
|
|
|
|
|
private final IFdpTaskClient fdpTaskClient; |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -79,6 +101,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 保存现象、开启缺陷处理流程 |
|
|
|
|
* |
|
|
|
|
* @param entity |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -90,12 +113,13 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
throw new ServiceException("保存现象失败!"); |
|
|
|
|
} |
|
|
|
|
// 步骤2.开启缺陷流程
|
|
|
|
|
this.startDefectCheck(entity); |
|
|
|
|
this.startDefectCheckV2(entity); |
|
|
|
|
return entity; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 保存现象 |
|
|
|
|
* |
|
|
|
|
* @param entity |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -114,15 +138,212 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
// 现象更新时间
|
|
|
|
|
entity.setUpdateTime(new Date()); |
|
|
|
|
// 现在最后甄别时间
|
|
|
|
|
Date discriminateDeadline = DateUtil.plusHours(entity.getUpdateTime(), DefectConfiguration.discriminateDeadline); |
|
|
|
|
entity.setDiscriminateDeadline(discriminateDeadline); |
|
|
|
|
// Date discriminateDeadline = DateUtil.plusHours(entity.getUpdateTime(), DefectConfiguration.discriminateDeadline);
|
|
|
|
|
// entity.setDiscriminateDeadline(discriminateDeadline);
|
|
|
|
|
// 最后甄别时间字段弃用
|
|
|
|
|
return this.save(entity); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 启动缺陷处理流程 |
|
|
|
|
* |
|
|
|
|
* @param entity |
|
|
|
|
*/ |
|
|
|
|
private void startDefectCheckV2(OperPhenomenonEntity entity) { |
|
|
|
|
// 获取机构下执行定论缺陷角色用户
|
|
|
|
|
List<User> list = this.getAliasUser(entity.getTenantId(), entity.getCreateDept(), TreatMethodConstant.PHENOMENON_SCREEN_ALIAS); |
|
|
|
|
if (CollectionUtil.isEmpty(list)) { |
|
|
|
|
throw new ServiceException("请先添加甄别缺陷角色用户,再发起现象!"); |
|
|
|
|
} |
|
|
|
|
// 现象发起人名字
|
|
|
|
|
String userName = Optional.ofNullable(UserCache.getUser(entity.getFinder()).getName()).orElse(""); |
|
|
|
|
// 现象发起来源
|
|
|
|
|
String sourceName = DictCache.getValue(TreatMethodConstant.SOURCE_CODE_PREFIX, entity.getSourceCode()); |
|
|
|
|
// 流程名称
|
|
|
|
|
String processName = "[" + userName + "] 发起 " + "【" + sourceName + "】缺陷处理流程" + "——>" + entity.getDefectCode(); |
|
|
|
|
// 开启新的缺陷流程
|
|
|
|
|
String businessKey = FlowUtil.getBusinessKey("hzims_oper_phenomenon", "" + entity.getId()); |
|
|
|
|
Map<String, Object> variable = entityToMap(entity); |
|
|
|
|
R<BladeFlow> result = processClient.startProcessInstanceContainNameByKey(TreatMethodConstant.DEFECT_CHECK_PRIMARY_KEY_TY, businessKey, processName, variable); |
|
|
|
|
// 流程开启失败
|
|
|
|
|
if (!result.isSuccess()) { |
|
|
|
|
throw new ServiceException("缺陷流程开启失败,错误描述 : " + result.getCode()); |
|
|
|
|
} |
|
|
|
|
// 关联流程唯一键
|
|
|
|
|
entity.setCheckProcessInstanceId(result.getData().getProcessInstanceId()); |
|
|
|
|
this.baseMapper.updateById(entity); |
|
|
|
|
//新增缺陷流程记录
|
|
|
|
|
OperDefectStatisticsEntity operDefectStatisticsEntity = new OperDefectStatisticsEntity(); |
|
|
|
|
BeanUtil.copy(entity, operDefectStatisticsEntity); |
|
|
|
|
statisticsService.save(operDefectStatisticsEntity); |
|
|
|
|
//新增现象记录
|
|
|
|
|
OperAppearanceEntity operAppearanceEntity = new OperAppearanceEntity(); |
|
|
|
|
BeanUtil.copy(entity, operAppearanceEntity); |
|
|
|
|
operAppearanceService.save(operAppearanceEntity); |
|
|
|
|
this.save(entity); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 实体类转换成map |
|
|
|
|
* |
|
|
|
|
* @param obj |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public static Map<String, Object> entityToMap(Object obj) { |
|
|
|
|
Map<String, Object> map = new HashMap<String, Object>(); |
|
|
|
|
Class<?> clazz = obj.getClass(); |
|
|
|
|
for (Field field : clazz.getDeclaredFields()) { |
|
|
|
|
field.setAccessible(true); |
|
|
|
|
String fieldName = field.getName(); |
|
|
|
|
Object object = null; |
|
|
|
|
try { |
|
|
|
|
object = field.get(obj); |
|
|
|
|
} catch (IllegalArgumentException | IllegalAccessException e) { |
|
|
|
|
log.info(e.getMessage()); |
|
|
|
|
} |
|
|
|
|
map.put(fieldName, object); |
|
|
|
|
} |
|
|
|
|
return map; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Map转实体类:要转换的Map的key跟实体类属性名相同的数据会转过去,不相同的字段会为null |
|
|
|
|
* |
|
|
|
|
* @param clazz |
|
|
|
|
* @param map |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public static <T> T mapToEntity(Class<T> clazz, Map<String, Object> map) { |
|
|
|
|
T obj = null; |
|
|
|
|
try { |
|
|
|
|
BeanInfo beanInfo = Introspector.getBeanInfo(clazz); |
|
|
|
|
obj = clazz.newInstance(); // 创建 JavaBean 对象
|
|
|
|
|
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); |
|
|
|
|
// 给 JavaBean 对象的属性赋值
|
|
|
|
|
for (int i = 0; i < propertyDescriptors.length; i++) { |
|
|
|
|
PropertyDescriptor descriptor = propertyDescriptors[i]; |
|
|
|
|
String propertyName = descriptor.getName(); |
|
|
|
|
if (map.containsKey(propertyName)) { |
|
|
|
|
Object value = map.get(propertyName); |
|
|
|
|
Object[] args = new Object[1]; |
|
|
|
|
args[0] = value; |
|
|
|
|
try { |
|
|
|
|
descriptor.getWriteMethod().invoke(obj, args); |
|
|
|
|
} catch (InvocationTargetException e) { |
|
|
|
|
log.info(e.getMessage()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.info(e.getMessage()); |
|
|
|
|
} |
|
|
|
|
return (T) obj; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param processWorkFlowResponse |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public R listenAndUpdateDefect(ProcessWorkFlowResponse processWorkFlowResponse) { |
|
|
|
|
String variables = processWorkFlowResponse.getVariables().toString(); |
|
|
|
|
OperPhenomenonEntity operPhenomenonEntity; |
|
|
|
|
try { |
|
|
|
|
//现象缺陷全表更新
|
|
|
|
|
operPhenomenonEntity = JSONObject.parseObject(variables, OperPhenomenonEntity.class); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.info("消息转换失败"); |
|
|
|
|
return R.fail("消息转换失败"); |
|
|
|
|
} |
|
|
|
|
if (processWorkFlowResponse.getTaskId() != null || processWorkFlowResponse.getUserId() != null) { |
|
|
|
|
operPhenomenonEntity.setCurrentOperator(processWorkFlowResponse.getNextStepOperator()); |
|
|
|
|
operPhenomenonEntity.setCurrentLinkHandler(processWorkFlowResponse.getProcessDefinitionKey()); |
|
|
|
|
} |
|
|
|
|
//缺陷记录
|
|
|
|
|
OperDefectStatisticsEntity statisticsEntity = statisticsService.getOne(new LambdaUpdateWrapper<OperDefectStatisticsEntity>() {{ |
|
|
|
|
eq(OperDefectStatisticsEntity::getDefectCode, operPhenomenonEntity.getDefectCode()); |
|
|
|
|
}}); |
|
|
|
|
//现象记录
|
|
|
|
|
OperAppearanceEntity appearanceEntity = operAppearanceService.getOne(new LambdaUpdateWrapper<OperAppearanceEntity>() {{ |
|
|
|
|
eq(OperAppearanceEntity::getDefectCode, operPhenomenonEntity.getDefectCode()); |
|
|
|
|
}}); |
|
|
|
|
if (ObjectUtil.isNotEmpty(operPhenomenonEntity.getIsWarehousing()) && operPhenomenonEntity.getIsWarehousing()) { |
|
|
|
|
OperDefectEntity operDefectEntity=new OperDefectEntity(); |
|
|
|
|
BeanUtil.copy(operPhenomenonEntity,operDefectEntity); |
|
|
|
|
operDefectEntity.setProcessInstanceId(operPhenomenonEntity.getHandleTaskId().toString()); |
|
|
|
|
defectService.save(operDefectEntity); |
|
|
|
|
log.info("缺陷ID:"+operPhenomenonEntity.getDefectCode()+"入库成功"); |
|
|
|
|
operPhenomenonEntity.setCurrentOperator("定论"); |
|
|
|
|
operPhenomenonEntity.setCurrentLinkHandler(null); |
|
|
|
|
} |
|
|
|
|
//更新数据库
|
|
|
|
|
Long statisticsEntityId = statisticsEntity.getId(); |
|
|
|
|
Long appearanceEntityId = appearanceEntity.getId(); |
|
|
|
|
BeanUtil.copy(operPhenomenonEntity, statisticsEntity); |
|
|
|
|
BeanUtil.copy(operPhenomenonEntity, appearanceEntity); |
|
|
|
|
statisticsEntity.setId(statisticsEntityId); |
|
|
|
|
appearanceEntity.setId(appearanceEntityId); |
|
|
|
|
this.baseMapper.update(operPhenomenonEntity, new LambdaUpdateWrapper<OperPhenomenonEntity>() {{ |
|
|
|
|
eq(OperPhenomenonEntity::getDefectCode, operPhenomenonEntity.getDefectCode()); |
|
|
|
|
}}); |
|
|
|
|
statisticsService.updateById(statisticsEntity); |
|
|
|
|
operAppearanceService.updateById(appearanceEntity); |
|
|
|
|
//推送消息中心相关消息
|
|
|
|
|
sendMessage(processWorkFlowResponse, operPhenomenonEntity); |
|
|
|
|
return R.success("消息保存成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void sendMessage(ProcessWorkFlowResponse processWorkFlowResponse, OperPhenomenonEntity operPhenomenonEntity) { |
|
|
|
|
//推送消息
|
|
|
|
|
if (processWorkFlowResponse.getTaskId() != null) { |
|
|
|
|
MessagePushRecordDto message = new MessagePushRecordDto(); |
|
|
|
|
message.setBusinessClassify("business"); |
|
|
|
|
message.setBusinessKey(MessageConstants.BusinessClassifyEnum.OPERATIONDEFECTMESSAGE.getKey()); |
|
|
|
|
message.setSubject(MessageConstants.BusinessClassifyEnum.OPERATIONDEFECTMESSAGE.getDescription()); |
|
|
|
|
message.setTaskId(operPhenomenonEntity.getId()); |
|
|
|
|
message.setTenantId("200000"); |
|
|
|
|
message.setTypes(Arrays.asList(MessageConstants.APP_PUSH, MessageConstants.WS_PUSH)); |
|
|
|
|
message.setPushType(MessageConstants.IMMEDIATELY); |
|
|
|
|
//您有一张工作票待审批,工作内容:*****,审批环节:*****;
|
|
|
|
|
String countent = |
|
|
|
|
"您的消缺流程待审批!现象名称:".concat(operPhenomenonEntity.getDefectName()) |
|
|
|
|
.concat(",审批环节:") |
|
|
|
|
.concat(processWorkFlowResponse.getTaskName()); |
|
|
|
|
message.setContent(countent); |
|
|
|
|
message.setDeptId(operPhenomenonEntity.getCreateDept()); |
|
|
|
|
R<String> deptName = sysClient.getDeptName(operPhenomenonEntity.getCreateDept()); |
|
|
|
|
if (deptName.isSuccess()) { |
|
|
|
|
message.setDeptName(deptName.getData()); |
|
|
|
|
} |
|
|
|
|
String userIds = processWorkFlowResponse.getUserId(); |
|
|
|
|
if (StringUtils.isBlank(userIds)) { |
|
|
|
|
log.error("推送的消息不能为空哦,{}", userIds); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
String[] split = userIds.split(","); |
|
|
|
|
for (String userId : split) { |
|
|
|
|
message.setPusher(userId); |
|
|
|
|
User user = UserCache.getUser(NumberUtils.toLong(userId)); |
|
|
|
|
if (ObjectUtils.isNotEmpty(user)) { |
|
|
|
|
message.setPusherName(user.getName()); |
|
|
|
|
} |
|
|
|
|
message.setAccount(userId); |
|
|
|
|
|
|
|
|
|
message.setCreateUser(NumberUtils.toLong(userId)); |
|
|
|
|
messageClient.sendMessage(message); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 启动缺陷处理流程 |
|
|
|
|
* 此端口弃用20230614 |
|
|
|
|
* |
|
|
|
|
* @param entity |
|
|
|
|
*/ |
|
|
|
|
@Deprecated |
|
|
|
|
private void startDefectCheck(OperPhenomenonEntity entity) { |
|
|
|
|
// 获取机构下执行定论缺陷角色用户
|
|
|
|
|
List<User> list = this.getAliasUser(entity.getTenantId(), entity.getCreateDept(), TreatMethodConstant.PHENOMENON_SCREEN_ALIAS); |
|
|
|
@ -150,9 +371,9 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
this.baseMapper.updateById(entity); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 获取当前机构指定角色的用户 |
|
|
|
|
* |
|
|
|
|
* @param tenantId |
|
|
|
|
* @param deptId |
|
|
|
|
* @param alias |
|
|
|
@ -171,6 +392,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 修改缺陷状态 -> 问题定论 |
|
|
|
|
* |
|
|
|
|
* @param handleStatus |
|
|
|
|
* @param defectCode |
|
|
|
|
*/ |
|
|
|
@ -184,6 +406,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 甄别缺陷 |
|
|
|
|
* |
|
|
|
|
* @param task |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -205,6 +428,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 现象前置判断 |
|
|
|
|
* |
|
|
|
|
* @param processInstanceId |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -230,6 +454,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 缺陷保存 |
|
|
|
|
* |
|
|
|
|
* @param phenomenon |
|
|
|
|
*/ |
|
|
|
|
private void defectSave(OperPhenomenonEntity phenomenon) { |
|
|
|
@ -245,6 +470,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 更新甄别状态、数据 |
|
|
|
|
* |
|
|
|
|
* @param task |
|
|
|
|
*/ |
|
|
|
|
private void screePhenomenonUpdate(ComleteTask task) { |
|
|
|
@ -290,6 +516,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 决策处理方式 |
|
|
|
|
* |
|
|
|
|
* @param task |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -300,8 +527,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
Map<String, Object> variables = task.getVariables(); |
|
|
|
|
|
|
|
|
|
// 步骤2.根据处理方式进行处理
|
|
|
|
|
String state = RepairConstant.REPAIR_DEFECT_STATE,processKey = RepairConstant.REPAIR_PROCESS_PRIMARY_KEY |
|
|
|
|
,type = variables.get("type").toString(); |
|
|
|
|
String state = RepairConstant.REPAIR_DEFECT_STATE, processKey = RepairConstant.REPAIR_PROCESS_PRIMARY_KEY, type = variables.get("type").toString(); |
|
|
|
|
switch (type) { |
|
|
|
|
// 应急抢修处理
|
|
|
|
|
case TreatMethodConstant.TYPE_RUSH_TO_REPAIR: |
|
|
|
@ -332,6 +558,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 启动应急抢修流程 |
|
|
|
|
* |
|
|
|
|
* @param variables |
|
|
|
|
*/ |
|
|
|
|
private void startRepair(ComleteTask task, Map<String, Object> variables) { |
|
|
|
@ -351,6 +578,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 开启检修计划 |
|
|
|
|
* |
|
|
|
|
* @param variables |
|
|
|
|
*/ |
|
|
|
|
private void startMaintenancePlan(ComleteTask task, Map<String, Object> variables) { |
|
|
|
@ -384,6 +612,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 开启检修任务 |
|
|
|
|
* |
|
|
|
|
* @param comleteTask |
|
|
|
|
*/ |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
@ -412,6 +641,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 保存缺陷信息 |
|
|
|
|
* |
|
|
|
|
* @param variables |
|
|
|
|
*/ |
|
|
|
|
private void saveDefectInfo(Map<String, Object> variables, String processInstanceId, String processKey, String state) { |
|
|
|
@ -435,6 +665,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 关联处理任务 |
|
|
|
|
* |
|
|
|
|
* @param variables |
|
|
|
|
* @param type |
|
|
|
|
* @param processInstanceId |
|
|
|
@ -451,6 +682,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 补开工作票 |
|
|
|
|
* |
|
|
|
|
* @param task |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
@ -482,6 +714,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 现象状态 -> 问题定论 |
|
|
|
|
* |
|
|
|
|
* @param entity |
|
|
|
|
*/ |
|
|
|
|
private void updatePhenomenonState(OperPhenomenonEntity entity) { |
|
|
|
@ -491,6 +724,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 查询现象 |
|
|
|
|
* |
|
|
|
|
* @param processInstanceId |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -503,6 +737,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 定论 |
|
|
|
|
* |
|
|
|
|
* @param task |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
@ -526,8 +761,10 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
processClient.completeTask(task); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 更新现象定论信息 |
|
|
|
|
* |
|
|
|
|
* @param task |
|
|
|
|
*/ |
|
|
|
|
private void defectConclusionInfo(ComleteTask task, Long phenomenonId) { |
|
|
|
@ -549,6 +786,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 现象加入台账 |
|
|
|
|
* |
|
|
|
|
* @param entity |
|
|
|
|
*/ |
|
|
|
|
private void saveDefect(OperPhenomenonEntity entity) { |
|
|
|
@ -574,6 +812,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 故障状态更新 |
|
|
|
|
* |
|
|
|
|
* @param faultCode |
|
|
|
|
*/ |
|
|
|
|
private void updateFaultState(String faultCode) { |
|
|
|
@ -585,6 +824,7 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 排除业务中所需属性 避免传入工作流中 |
|
|
|
|
* |
|
|
|
|
* @param variable 工作流传参map |
|
|
|
|
* @param properties 不计入工作流传参的属性 |
|
|
|
|
* @return |
|
|
|
|