Commit 2622642a authored by tianbo's avatar tianbo

外部单位隐患处理修改

parent 4beebf55
package com.yeejoin.amos.latentdanger.common.enums;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 计划类型枚举(机场单位、外部单位)
*/
public enum PlanTypeEnum {
OUTER("外部单位检查","1"),
INNER("机场单位检查","0");
/**
* 名称,描述
*/
private String name;
/**
* 编码
*/
private String code;
PlanTypeEnum(String name, String code){
this.name = name;
this.code = code;
}
public static PlanTypeEnum getEnum(String code) {
PlanTypeEnum auditEnum = null;
for(PlanTypeEnum type: PlanTypeEnum.values()) {
if (type.getCode().equals(code)) {
auditEnum = type;
break;
}
}
return auditEnum;
}
public static List<Map<String,String>> getEnumList() {
List<Map<String,String>> nameList = new ArrayList<>();
for (PlanTypeEnum c: PlanTypeEnum.values()) {
Map<String, String> map = new HashMap<String, String>();
map.put("name", c.getName());
map.put("code", c.getCode());
nameList.add(map);
}
return nameList;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
......@@ -70,6 +70,7 @@ import com.yeejoin.amos.latentdanger.common.enums.LatentDangerState;
import com.yeejoin.amos.latentdanger.common.enums.LatentDangerStateEnum;
import com.yeejoin.amos.latentdanger.common.enums.LatentDangerTypeEnum;
import com.yeejoin.amos.latentdanger.common.enums.OwerEnum;
import com.yeejoin.amos.latentdanger.common.enums.PlanTypeEnum;
import com.yeejoin.amos.latentdanger.common.remote.RemoteSpcService;
import com.yeejoin.amos.latentdanger.common.remote.RemoteWebSocketServer;
import com.yeejoin.amos.latentdanger.common.remote.RemoteWorkFlowService;
......@@ -163,6 +164,10 @@ public class LatentDangerServiceImpl extends BaseService<LatentDangerBo, LatentD
@Value("${onSite.confirm.roleName}")
private String onSiteConfirmRole;
// 有启动后执行外部单位隐患审核的角色名称
@Value("${sodFireProtection.confirm.roleName}")
private String sodFireProtectionConfirmRole;
// 等级、状态枚举权限和隐患列表的一致
private String dangerDataAuthInterfacePath = "latent/danger/page/list";
......@@ -1183,19 +1188,27 @@ public class LatentDangerServiceImpl extends BaseService<LatentDangerBo, LatentD
});
});
}
if (!roleNameSet.contains(onSiteConfirmRole)) {
executeSubmitDto.setIsOk(false);
executeSubmitDto.setMsg("没有执行权限");
return executeSubmitDto;
String startCondition = PlanTypeEnum.INNER.getCode();
if (PlanTypeEnum.OUTER.getCode().equals(bizInfo.getString("isOuter"))) {
if (!roleNameSet.contains(sodFireProtectionConfirmRole)) {// 安全运行部门消防业务 角色
executeSubmitDto.setIsOk(false);
executeSubmitDto.setMsg("没有执行权限");
return executeSubmitDto;
}
startCondition = "outer";
} else {
if (!roleNameSet.contains(onSiteConfirmRole)) {// 单位防火监督检查负责人 角色
executeSubmitDto.setIsOk(false);
executeSubmitDto.setMsg("没有执行权限");
return executeSubmitDto;
}
}
// 2、开启工作流
JSONObject body = new JSONObject();
body.put("businessKey", latentDanger.getBusinessKey());
body.put("processDefinitionKey", workflowProcessDefinitionKey);
/* 修改现场确认的工作流流程的节点执行条件分支------strat by chenhao 2022-01-18*/
String startCondition = "inner";
if("1".equals(bizInfo.getString("isOuter")) ) startCondition = "outer";
HashMap<String, Object> conditionMap = new HashMap<String, Object>();
HashMap<String, Object> conditionMap = new HashMap<>();
conditionMap.put(WorkFlowEnum.CONDITION.getCode(), startCondition);
body.put("variables", conditionMap);
/* 修改现场确认的工作流流程的节点执行条件分支------end by chenhao 2022-01-18*/
......@@ -1208,39 +1221,48 @@ public class LatentDangerServiceImpl extends BaseService<LatentDangerBo, LatentD
Map resultData = (Map) result.get("data");
latentDanger.setInstanceId((String) resultData.get("id"));
latentDanger.setUpdateDate(new Date());
latentDanger.setDangerState(LatentDangerState.SupervisionDangerStateEnum.现场确认.getCode());
latentDanger.setDangerStateName(LatentDangerState.SupervisionDangerStateEnum.现场确认.getName());
// 3、执行一步现场确认
boolean executeResult = workflowExecuteService.excuteTask(latentDanger.getInstanceId(), planType);
if (!executeResult) {
this.updateById(latentDanger);
executeSubmitDto.setIsOk(false);
executeSubmitDto.setMsg("任务执行失败");
return executeSubmitDto;
}
if (PlanTypeEnum.OUTER.getCode().equals(bizInfo.getString("isOuter"))) { // 外部单位隐患直接到 安运部二次审核节点
// 保存日志信息
executeResultMsg = latentDanger.getDangerStateName() + ExecuteTypeEnum.通过.getName();
record =
latentDangerFlowRecordService.getOne(new LambdaQueryWrapper<LatentDangerFlowRecord>().eq(LatentDangerFlowRecord::getDangerId, latentDanger.getId()));
latentDanger.setDangerState(LatentDangerState.SupervisionDangerStateEnum.隐患二次审核确认.getCode());
latentDanger.setDangerStateName(LatentDangerState.SupervisionDangerStateEnum.隐患二次审核确认.getName());
} else {
latentDanger.setDangerState(LatentDangerState.SupervisionDangerStateEnum.现场确认.getCode());
latentDanger.setDangerStateName(LatentDangerState.SupervisionDangerStateEnum.现场确认.getName());
// 4、在执行完节点后需要将检查组长id设置为下个节点执行人
Object resultObj = workflowExecuteService.setTaskAssign(latentDanger.getInstanceId(), checkLeaderId);
executeSubmitDto.setCheckLeaderId(userModel.getUserId());
// 3、执行一步现场确认
boolean executeResult = workflowExecuteService.excuteTask(latentDanger.getInstanceId(), planType);
if (!executeResult) {
this.updateById(latentDanger);
executeSubmitDto.setIsOk(false);
executeSubmitDto.setMsg("任务执行失败");
return executeSubmitDto;
}
if (!(Boolean) resultObj) {
executeSubmitDto.setIsOk(false);
executeSubmitDto.setMsg("设置节点执行人失败");
return executeSubmitDto;
// 4、在执行完节点后需要将检查组长id设置为下个节点执行人
Object resultObj = workflowExecuteService.setTaskAssign(latentDanger.getInstanceId(), checkLeaderId);
executeSubmitDto.setCheckLeaderId(userModel.getUserId());
if (!(Boolean) resultObj) {
executeSubmitDto.setIsOk(false);
executeSubmitDto.setMsg("设置节点执行人失败");
return executeSubmitDto;
}
// 5、保存日志信息
executeResultMsg = latentDanger.getDangerStateName() + ExecuteTypeEnum.通过.getName();
record = saveFlowRecord("", latentDanger.getDangerStateName(), userId, departmentId, latentDanger.getFlowJson(),
latentDanger.getId(), reginParams.getRole(), executeResultMsg, "", userRealName, departmentName,
latentDanger.getDangerState(), 0);
LatentDangerState.SupervisionDangerStateEnum curEnum =
LatentDangerState.SupervisionDangerStateEnum.getEnumByCode(latentDanger.getDangerState());
LatentDangerState.SupervisionDangerStateEnum nextEnum =
LatentDangerState.SupervisionDangerStateEnum.getEnumByCode(curEnum.getNext());
latentDanger.setDangerState(nextEnum.getCode());
latentDanger.setDangerStateName(nextEnum.getName());
}
// 5、保存日志信息
executeResultMsg = latentDanger.getDangerStateName() + ExecuteTypeEnum.通过.getName();
record = saveFlowRecord("", latentDanger.getDangerStateName(), userId, departmentId, latentDanger.getFlowJson(),
latentDanger.getId(), reginParams.getRole(), executeResultMsg, "", userRealName, departmentName,
latentDanger.getDangerState(), 0);
LatentDangerState.SupervisionDangerStateEnum curEnum =
LatentDangerState.SupervisionDangerStateEnum.getEnumByCode(latentDanger.getDangerState());
LatentDangerState.SupervisionDangerStateEnum nextEnum =
LatentDangerState.SupervisionDangerStateEnum.getEnumByCode(curEnum.getNext());
latentDanger.setDangerState(nextEnum.getCode());
latentDanger.setDangerStateName(nextEnum.getName());
latentDanger.setCurrentFlowRecordId(record.getId());
this.updateById(latentDanger);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment