Commit 8b0b71c6 authored by tangwei's avatar tangwei

修改历史工作流

parent 8c2ff70e
...@@ -88,13 +88,13 @@ public class PowerStation extends BaseEntity { ...@@ -88,13 +88,13 @@ public class PowerStation extends BaseEntity {
private String peasantHouseholdId; private String peasantHouseholdId;
/** /**
* 任务id * // 流程下一节点id
*/ */
@TableField("task_id") @TableField("task_id")
private String taskId; private String taskId;
/** /**
* 流程定义id * 工作流实例ID
*/ */
@TableField("process_definition_id") @TableField("process_definition_id")
private String processDefinitionId; private String processDefinitionId;
...@@ -105,11 +105,12 @@ public class PowerStation extends BaseEntity { ...@@ -105,11 +105,12 @@ public class PowerStation extends BaseEntity {
@TableField("node_routing") @TableField("node_routing")
private String nodeRouting; private String nodeRouting;
/// 下一个节点角色权限
@TableField("node_role") @TableField("node_role")
private String nodeRole; private String nodeRole;
/** /**
* 当前流程节点 * //下个节点key
*/ */
@TableField("next_process_node") @TableField("next_process_node")
private String nextProcessNode; private String nextProcessNode;
...@@ -129,4 +130,23 @@ public class PowerStation extends BaseEntity { ...@@ -129,4 +130,23 @@ public class PowerStation extends BaseEntity {
@TableField("drawing_review") @TableField("drawing_review")
private String drawingReview; private String drawingReview;
//下一节点可执行人逗号分割 0 0
@TableField("next_execute_user_ids")
private String nextExecuteUserIds;
//工作流发起人id
@TableField("create_user_id")
private String createUserId;
//下个节点名称
@TableField("next_node_name")
private String nextNodeName;
// 当前节点执行任务id
@TableField("promoter")
private String promoter;
} }
...@@ -289,24 +289,22 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS ...@@ -289,24 +289,22 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
StandardDto standardDto = new StandardDto(); StandardDto standardDto = new StandardDto();
if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)||PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) { if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)||PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
standardDto.setComment(String.valueOf(kv.get("approveInfo"))); standardDto.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
standardDto.setResult(String.valueOf(kv.get("approvalStatus"))); standardDto.setResult("0");
standardDto.setTaskId(powerStation.getFlowTaskId()); standardDto.setTaskId(powerStation.getFlowTaskId());
VariableDto variable = new VariableDto(); VariableDto variable = new VariableDto();
variable.setApprovalStatus(String.valueOf(kv.get("approvalStatus"))); variable.setApprovalStatus("0");
variable.setComment(String.valueOf(kv.get("approveInfo"))); variable.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
variable.setOperationTime(String.valueOf(kv.get("approveDate"))); variable.setOperationTime(String.valueOf(kv.get("approveDate")));
variable.setOperator(String.valueOf(kv.get("approveName"))); variable.setOperator("");
standardDto.setVariable(variable); standardDto.setVariable(variable);
}else{ }else{
standardDto.setComment(String.valueOf(kv.get("approveInfo"))); standardDto.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
standardDto.setResult(String.valueOf(kv.get("approvalStatus"))); standardDto.setResult(String.valueOf(kv.get("approvalStatus")));
standardDto.setTaskId(powerStation.getFlowTaskId()); standardDto.setTaskId(powerStation.getFlowTaskId());
VariableDto variable = new VariableDto(); VariableDto variable = new VariableDto();
variable.setApprovalStatus(String.valueOf(kv.get("approvalStatus"))); variable.setApprovalStatus(String.valueOf(kv.get("approvalStatus")));
variable.setComment(String.valueOf(kv.get("approveInfo"))); variable.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
variable.setOperationTime(String.valueOf(kv.get("approveDate"))); variable.setOperationTime(String.valueOf(kv.get("approveDate")));
variable.setOperator(String.valueOf(kv.get("approveName"))); variable.setOperator(String.valueOf(kv.get("approveName")));
standardDto.setVariable(variable); standardDto.setVariable(variable);
...@@ -315,10 +313,12 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS ...@@ -315,10 +313,12 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
BasicGridAcceptance workBasicGridAcceptance = workflow.standard(basicGridAcceptance, standardDto, requestContext.getUserId()); BasicGridAcceptance workBasicGridAcceptance = workflow.standard(basicGridAcceptance, standardDto, requestContext.getUserId());
powerStation.setFlowTaskId(basicGridAcceptance.getNextTaskId()); powerStation.setFlowTaskId(basicGridAcceptance.getNextTaskId());
powerStation.setNodeRole(basicGridAcceptance.getNextExecutorIds()); powerStation.setNodeRole(basicGridAcceptance.getNextExecutorIds());
powerStation.setNodeRouting(PowerStationEnum.getNodeByKey(basicGridAcceptance.getNextNodeKey())); powerStation.setNodeRouting(basicGridAcceptance.getNextNodeKey()!=null?PowerStationEnum.getNodeByKey(basicGridAcceptance.getNextNodeKey()):"");
powerStation.setNextProcessNode(basicGridAcceptance.getNextNodeKey());
powerStation.setPromoter(basicGridAcceptance.getPromoter());
powerStation.setNextExecuteUserIds(basicGridAcceptance.getNextExecuteUserIds());
powerStation.setNextNodeName(basicGridAcceptance.getNextNodeName());
powerStationService.savePowerStation(powerStation, flag,powerStation.getOwnersName(),meg); powerStationService.savePowerStation(powerStation, flag,powerStation.getOwnersName(),meg);
if(!flag){ if(!flag){
...@@ -330,6 +330,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS ...@@ -330,6 +330,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
} }
//} //}
}catch (Exception e){ }catch (Exception e){
e.printStackTrace();
throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!"); throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!");
} }
......
...@@ -7,10 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -7,10 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.hygf.api.Enum.CodeEnum; import com.yeejoin.amos.boot.module.hygf.api.Enum.*;
import com.yeejoin.amos.boot.module.hygf.api.Enum.PowerStationNodeEnum;
import com.yeejoin.amos.boot.module.hygf.api.Enum.PowerStationProcessStateEnum;
import com.yeejoin.amos.boot.module.hygf.api.Enum.TaskTypeStationEnum;
import com.yeejoin.amos.boot.module.hygf.api.dto.*; import com.yeejoin.amos.boot.module.hygf.api.dto.*;
import com.yeejoin.amos.boot.module.hygf.api.entity.*; import com.yeejoin.amos.boot.module.hygf.api.entity.*;
import com.yeejoin.amos.boot.module.hygf.api.fegin.IdxFeginService; import com.yeejoin.amos.boot.module.hygf.api.fegin.IdxFeginService;
...@@ -21,6 +18,7 @@ import com.yeejoin.amos.boot.module.hygf.api.util.BeanDtoUtils; ...@@ -21,6 +18,7 @@ import com.yeejoin.amos.boot.module.hygf.api.util.BeanDtoUtils;
import com.yeejoin.amos.boot.module.hygf.api.util.NumberUtil; import com.yeejoin.amos.boot.module.hygf.api.util.NumberUtil;
import com.yeejoin.amos.boot.module.hygf.biz.feign.WorkflowFeignClient; import com.yeejoin.amos.boot.module.hygf.biz.feign.WorkflowFeignClient;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel; import com.yeejoin.amos.feign.systemctl.model.RegionModel;
...@@ -117,6 +115,12 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD ...@@ -117,6 +115,12 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD
PowerStationEngineeringInfoMapper powerStationEngineeringInfoMapper; PowerStationEngineeringInfoMapper powerStationEngineeringInfoMapper;
@Autowired @Autowired
WorkOrderPowerStationMapper workOrderPowerStationMapper; WorkOrderPowerStationMapper workOrderPowerStationMapper;
@Autowired
AmosRequestContext requestContext;
@Autowired
WorkflowImpl workflow;
/** /**
* 分页查询 * 分页查询
*/ */
...@@ -261,25 +265,46 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD ...@@ -261,25 +265,46 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD
} }
private void submitExamine(PeasantHousehold peasantHousehold) { private void submitExamine(PeasantHousehold peasantHousehold) {
PowerStation powerStation = powerStationService.getObjByNhId(String.valueOf(peasantHousehold.getSequenceNbr()), PowerStationProcessStateEnum.作废.getCode()); PowerStation powerStation = powerStationService.getObjByNhId(String.valueOf(peasantHousehold.getSequenceNbr()), PowerStationProcessStateEnum.作废.getCode());
String taskId = null; String taskId = null;
Map<String, Object> objectMap = new HashMap<>(1); Map<String, Object> objectMap = new HashMap<>(1);
objectMap.put("describe", "经销商已上传信息"); objectMap.put("describe", "经销商已上传信息");
if (ObjectUtils.isNotEmpty(powerStation)) {
// 工作流执行一步
taskId = powerStation.getTaskId();
} else {
// 第一步启动工作流
powerStation = new PowerStation();
}
// 保存并审核 // 保存并审核
try { try {
FeignClientResult<String> submit = idxFeginService.submit(pageId, taskId, planId, null, "STATION_AUDIT", null, objectMap);
if (IDX_REQUEST_STATE.equals(String.valueOf(submit.getStatus()))) {
BasicGridAcceptance basicGridAcceptance=new BasicGridAcceptance();
if (ObjectUtils.isNotEmpty(powerStation)) {
// 工作流执行一步
// taskId = powerStation.getTaskId();
StandardDto standardDto = new StandardDto();
standardDto.setResult("0");
standardDto.setTaskId(powerStation.getFlowTaskId());
VariableDto variable = new VariableDto();
variable.setApprovalStatus("0");
standardDto.setVariable(variable);
workflow.standard(basicGridAcceptance, standardDto, requestContext.getUserId());
} else {
// 第一步启动工作流
//发起工作流
// 调用工作流执行第一个节点
ProcessDto processDto = new ProcessDto();
processDto.setBusinessKey(String.valueOf(peasantHousehold.getSequenceNbr()));
processDto.setProcessDefinitionKey("hygf_10001");
StartProcessDto startProcessDto = new StartProcessDto();
List<ProcessDto> process=new ArrayList<>();
process.add(processDto);
startProcessDto.setProcess(process);
workflow.startProcess(basicGridAcceptance, startProcessDto,requestContext.getUserId());
}
peasantHousehold.setSurveyOrNot(2); peasantHousehold.setSurveyOrNot(2);
peasantHousehold.setReview(1); peasantHousehold.setReview(1);
String code = submit.getResult();
// 插入记录表 // 插入记录表
powerStation.setPlanInstanceId(planId); powerStation.setPlanInstanceId(planId);
powerStation.setPowerStationCode(peasantHousehold.getPeasantHouseholdNo()); powerStation.setPowerStationCode(peasantHousehold.getPeasantHouseholdNo());
...@@ -288,25 +313,71 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD ...@@ -288,25 +313,71 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD
powerStation.setPeasantHouseholdId(String.valueOf(peasantHousehold.getSequenceNbr())); powerStation.setPeasantHouseholdId(String.valueOf(peasantHousehold.getSequenceNbr()));
powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getName()); powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getName());
powerStation.setServiceAgent(peasantHousehold.getDeveloperName()); powerStation.setServiceAgent(peasantHousehold.getDeveloperName());
log.info("流程执行成功:{}", code);
// 获取流程信息 // 获取流程信息
FeignClientResult<JSONObject> record = idxFeginService.getRecord(code);
if (IDX_REQUEST_STATE.equals(String.valueOf(record.getStatus()))) { powerStation.setFlowTaskId(basicGridAcceptance.getNextTaskId());
JSONObject resultObj = record.getResult(); powerStation.setNodeRole(basicGridAcceptance.getNextExecutorIds());
String taskIdNew = String.valueOf(resultObj.get("taskId")); powerStation.setNodeRouting(PowerStationEnum.getNodeByKey(basicGridAcceptance.getNextNodeKey()));
String processInstanceId = String.valueOf(resultObj.get("processInstanceId")); powerStation.setNextProcessNode(PowerStationNodeEnum.设计审核.getCode());
String flowTaskId = String.valueOf(resultObj.get("flowTaskId")); powerStation.setPromoter(basicGridAcceptance.getPromoter());
powerStation.setTaskId(taskIdNew); powerStation.setNextExecuteUserIds(basicGridAcceptance.getNextExecuteUserIds());
powerStation.setProcessInstanceId(processInstanceId); powerStation.setNextNodeName(basicGridAcceptance.getNextNodeName());
powerStation.setFlowTaskId(flowTaskId);
powerStation.setNextProcessNode(PowerStationNodeEnum.设计审核.getCode());
}
powerStationService.savePowerStation(powerStation, true,powerStation.getOwnersName(),""); powerStationService.savePowerStation(powerStation, true,powerStation.getOwnersName(),"");
}
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!"); throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!");
} }
// PowerStation powerStation = powerStationService.getObjByNhId(String.valueOf(peasantHousehold.getSequenceNbr()), PowerStationProcessStateEnum.作废.getCode());
//
// String taskId = null;
// Map<String, Object> objectMap = new HashMap<>(1);
// objectMap.put("describe", "经销商已上传信息");
// if (ObjectUtils.isNotEmpty(powerStation)) {
// // 工作流执行一步
// taskId = powerStation.getTaskId();
// } else {
// // 第一步启动工作流
// powerStation = new PowerStation();
// }
// // 保存并审核
// try {
// FeignClientResult<String> submit = idxFeginService.submit(pageId, taskId, planId, null, "STATION_AUDIT", null, objectMap);
// if (IDX_REQUEST_STATE.equals(String.valueOf(submit.getStatus()))) {
// peasantHousehold.setSurveyOrNot(2);
// peasantHousehold.setReview(1);
// String code = submit.getResult();
// // 插入记录表
// powerStation.setPlanInstanceId(planId);
// powerStation.setPowerStationCode(peasantHousehold.getPeasantHouseholdNo());
// powerStation.setOwnersName(peasantHousehold.getOwnersName());
// powerStation.setProjectAddress(peasantHousehold.getProjectAddressName());
// powerStation.setPeasantHouseholdId(String.valueOf(peasantHousehold.getSequenceNbr()));
// powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getName());
// powerStation.setServiceAgent(peasantHousehold.getDeveloperName());
// log.info("流程执行成功:{}", code);
// // 获取流程信息
// FeignClientResult<JSONObject> record = idxFeginService.getRecord(code);
// if (IDX_REQUEST_STATE.equals(String.valueOf(record.getStatus()))) {
// JSONObject resultObj = record.getResult();
// String taskIdNew = String.valueOf(resultObj.get("taskId"));
// String processInstanceId = String.valueOf(resultObj.get("processInstanceId"));
// String flowTaskId = String.valueOf(resultObj.get("flowTaskId"));
// powerStation.setTaskId(taskIdNew);
// powerStation.setProcessInstanceId(processInstanceId);
// powerStation.setFlowTaskId(flowTaskId);
// powerStation.setNextProcessNode(PowerStationNodeEnum.设计审核.getCode());
// }
// powerStationService.savePowerStation(powerStation, true,powerStation.getOwnersName(),"");
// }
// } catch (Exception e){
// e.printStackTrace();
// throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!");
// }
} }
public SurveyInfoAllDto querySurveyInfo(String surveyInformationId,String peasantHouseholdId,String processInstanceId,AgencyUserModel userInfo) { public SurveyInfoAllDto querySurveyInfo(String surveyInformationId,String peasantHouseholdId,String processInstanceId,AgencyUserModel userInfo) {
......
...@@ -628,12 +628,12 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn ...@@ -628,12 +628,12 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
BasicGridAcceptance basicGridAcceptance=new BasicGridAcceptance(); BasicGridAcceptance basicGridAcceptance=new BasicGridAcceptance();
StandardDto standardDto = new StandardDto(); StandardDto standardDto = new StandardDto();
standardDto.setComment(String.valueOf(kv.get("approveInfo"))); standardDto.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
standardDto.setResult(String.valueOf(kv.get("approvalStatus"))); standardDto.setResult(String.valueOf(kv.get("approvalStatus")));
standardDto.setTaskId(dealerReview.getFlowTaskId()); standardDto.setTaskId(dealerReview.getFlowTaskId());
VariableDto variable = new VariableDto(); VariableDto variable = new VariableDto();
variable.setApprovalStatus(String.valueOf(kv.get("approvalStatus"))); variable.setApprovalStatus(String.valueOf(kv.get("approvalStatus")));
variable.setComment(String.valueOf(kv.get("approveInfo"))); variable.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
variable.setOperationTime(String.valueOf(kv.get("approveDate"))); variable.setOperationTime(String.valueOf(kv.get("approveDate")));
variable.setOperator(String.valueOf(kv.get("approveName"))); variable.setOperator(String.valueOf(kv.get("approveName")));
standardDto.setVariable(variable); standardDto.setVariable(variable);
......
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