Commit f23b1ba8 authored by 高建强's avatar 高建强

item:修改工作流更新计划状态

parent 2209124d
......@@ -7,12 +7,12 @@ import java.util.Map;
public enum PlanStatusEnum {
DRAFT("草稿",0),
EXAMINE_ONE("一级待审核",1),
EXAMINE_TWO("二级待审核",2),
EXAMINE_THREE("三级待审核",3),
EXAMINE_FORMULATE("已审核/检查内容未制定",4),
EXAMINE_DEVELOPED("检查内容已制定/未执行",5);
DRAFT("草稿",0, 1),
EXAMINE_ONE("一级待审核",1, 2),
EXAMINE_TWO("二级待审核",2, 3),
EXAMINE_THREE("三级待审核",3, 4),
EXAMINE_FORMULATE("已审核/检查内容未制定",4, 5),
EXAMINE_DEVELOPED("检查内容已制定/未执行",5, 5);
/**
* 名称
......@@ -24,9 +24,12 @@ public enum PlanStatusEnum {
*/
private int value;
private PlanStatusEnum(String name, int value) {
private int nextStatus;
private PlanStatusEnum(String name, int value, int nextStatus) {
this.name = name;
this.value = value;
this.nextStatus = nextStatus;
}
......@@ -105,4 +108,12 @@ public enum PlanStatusEnum {
public void setValue(int value) {
this.value = value;
}
public int getNextStatus() {
return nextStatus;
}
public void setNextStatus(int nextStatus) {
this.nextStatus = nextStatus;
}
}
......@@ -32,10 +32,11 @@ public class PlanAuditController extends AbstractBaseController {
@RequestMapping(value = "/auditWorkFlow", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse auditWorkFlow(
@ApiParam(value = "工作流流水实例", required = true) @RequestBody PlanAuditLog planAuditLog,
@ApiParam(value = "工作流流水实例", required = true) @RequestBody Integer status,
@ApiParam(value = "执行控制条件", required = true) @RequestParam String condition) {
try {
ReginParams reginParams = getSelectedOrgInfo();
return CommonResponseUtil.success(planAuditService.auditWorkFlow(planAuditLog, condition, reginParams));
return CommonResponseUtil.success(planAuditService.auditWorkFlow(planAuditLog, status, condition, reginParams));
} catch (Exception e) {
log.error(e.getMessage(), e);
return CommonResponseUtil.failure("计划工作流审核失败!");
......
......@@ -5,7 +5,9 @@ import com.yeejoin.amos.boot.biz.common.service.IWorkflowExcuteService;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanAuditDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanAuditLogDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanDao;
import com.yeejoin.amos.supervision.business.service.intfc.IPlanAuditService;
import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum;
import com.yeejoin.amos.supervision.dao.entity.PlanAudit;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import org.apache.commons.lang3.ObjectUtils;
......@@ -30,9 +32,12 @@ public class PlanAuditServiceImpl implements IPlanAuditService {
@Autowired
private WorkflowFeignService workflowFeignService;
@Autowired
private IPlanDao planDao;
@Override
@Transactional
public Boolean auditWorkFlow(PlanAuditLog planAuditLog, String condition, ReginParams reginParams) {
public Boolean auditWorkFlow(PlanAuditLog planAuditLog, Integer status, String condition, ReginParams reginParams) {
PlanAudit planAudit = planAuditDao.findByPlanId(planAuditLog.getPlanId());
if (ObjectUtils.isNotEmpty(planAudit)) {
String instanceId = planAudit.getProcessInstanceId();
......@@ -42,19 +47,23 @@ public class PlanAuditServiceImpl implements IPlanAuditService {
String name = taskAuthMap.get("name") == null ? null : taskAuthMap.get("name").toString();
String roleName = reginParams.getRole().getRoleName();
boolean b = workflowExcuteService.CompleteTask(instanceId, condition, reginParams);
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
workflowExcuteService.setTaskAssign(instanceId, personIdentity.getPersonSeq());
if (b) {
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
workflowExcuteService.setTaskAssign(instanceId, personIdentity.getPersonSeq());
planAuditLog.setPlanId(planAudit.getPlanId());
planAuditLog.setPlanAuditId(planAudit.getId());
planAuditLog.setExcuteUserId(personIdentity.getPersonSeq());
planAuditLog.setExcuteUserName(personIdentity.getPersonName());
planAuditLog.setFlowTaskId(taskId);
planAuditLog.setFlowTaskName(name);
planAuditLog.setFlowJson(condition);
planAuditLog.setRoleName(roleName);
planAuditLogDao.save(planAuditLog);
PlanStatusEnum statusEnum = PlanStatusEnum.getEnum(status);
planDao.updatePlanStatus(statusEnum.getNextStatus(), planAuditLog.getPlanAuditId());
} else {
planDao.updatePlanStatus(PlanStatusEnum.DRAFT.getValue(), planAuditLog.getPlanAuditId());
}
planAuditLog.setPlanId(planAudit.getPlanId());
planAuditLog.setPlanAuditId(planAudit.getId());
planAuditLog.setExcuteUserId(personIdentity.getPersonSeq());
planAuditLog.setExcuteUserName(personIdentity.getPersonName());
planAuditLog.setFlowTaskId(taskId);
planAuditLog.setFlowTaskName(name);
planAuditLog.setFlowJson(condition);
planAuditLog.setRoleName(roleName);
planAuditLogDao.save(planAuditLog);
return b;
}
}
......
......@@ -4,5 +4,5 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
public interface IPlanAuditService {
Boolean auditWorkFlow(PlanAuditLog planAuditLog, String condition, ReginParams reginParams);
Boolean auditWorkFlow(PlanAuditLog planAuditLog, Integer status, String condition, ReginParams reginParams);
}
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