diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStartApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStartApi.java index 3b8e06c1688728450405f19cea5ebc7d85c4bd57..bdfeed83d04ad87d810d26015f7a17495cd6b03f 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStartApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStartApi.java @@ -1,10 +1,10 @@ package neatlogic.module.process.api.processtask; +import com.alibaba.fastjson.JSONObject; import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.process.auth.PROCESS_BASE; -import neatlogic.framework.process.crossover.IProcessTaskStartApiCrossoverService; import neatlogic.framework.restful.annotation.Description; import neatlogic.framework.restful.annotation.Input; import neatlogic.framework.restful.annotation.OperationType; @@ -12,7 +12,6 @@ import neatlogic.framework.restful.annotation.Param; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.module.process.service.ProcessTaskService; -import com.alibaba.fastjson.JSONObject; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -20,7 +19,7 @@ import javax.annotation.Resource; @Service @OperationType(type = OperationTypeEnum.UPDATE) @AuthAction(action = PROCESS_BASE.class) -public class ProcessTaskStartApi extends PrivateApiComponentBase implements IProcessTaskStartApiCrossoverService { +public class ProcessTaskStartApi extends PrivateApiComponentBase { @Resource private ProcessTaskService processTaskService; @@ -32,7 +31,7 @@ public class ProcessTaskStartApi extends PrivateApiComponentBase implements IPro @Override public String getName() { - return "工单步骤开始接口"; + return "nmpap.processtaskstartapi.getname"; } @Override @@ -41,12 +40,12 @@ public class ProcessTaskStartApi extends PrivateApiComponentBase implements IPro } @Input({ - @Param(name = "processTaskId", type = ApiParamType.LONG, isRequired = true, desc = "工单id"), - @Param(name = "processTaskStepId", type = ApiParamType.LONG, isRequired = true, desc = "工单步骤Id"), - @Param(name = "source", type = ApiParamType.STRING, defaultValue = "pc", desc = "来源"), - @Param(name = "action", type = ApiParamType.ENUM, rule = "accept,start", isRequired = true, desc = "操作类型") + @Param(name = "processTaskId", type = ApiParamType.LONG, isRequired = true, desc = "term.itsm.processtaskid"), + @Param(name = "processTaskStepId", type = ApiParamType.LONG, isRequired = true, desc = "term.itsm.processtaskstepid"), + @Param(name = "source", type = ApiParamType.STRING, defaultValue = "pc", desc = "common.source"), + @Param(name = "action", type = ApiParamType.ENUM, rule = "accept,start", isRequired = true, desc = "common.actiontype") }) - @Description(desc = "工单步骤开始接口") + @Description(desc = "nmpap.processtaskstartapi.getname") @Override public Object myDoService(JSONObject jsonObj) throws Exception { processTaskService.startProcessTaskStep(jsonObj); diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepStartIfNecessaryApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepStartIfNecessaryApi.java new file mode 100644 index 0000000000000000000000000000000000000000..26b42df34bcd4057baac45c5f4e71d135b2a2a1f --- /dev/null +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepStartIfNecessaryApi.java @@ -0,0 +1,79 @@ +package neatlogic.module.process.api.processtask; + + +import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.auth.core.AuthAction; +import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.process.auth.PROCESS_BASE; +import neatlogic.framework.process.constvalue.ProcessTaskOperationType; +import neatlogic.framework.process.operationauth.core.ProcessAuthManager; +import neatlogic.framework.restful.annotation.Description; +import neatlogic.framework.restful.annotation.Input; +import neatlogic.framework.restful.annotation.OperationType; +import neatlogic.framework.restful.annotation.Param; +import neatlogic.framework.restful.constvalue.OperationTypeEnum; +import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; +import neatlogic.module.process.service.ProcessTaskService; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Map; +import java.util.Set; + +@Service +@OperationType(type = OperationTypeEnum.UPDATE) +@AuthAction(action = PROCESS_BASE.class) +public class ProcessTaskStepStartIfNecessaryApi extends PrivateApiComponentBase { + + @Resource + private ProcessTaskService processTaskService; + + @Override + public String getToken() { + return "processtask/step/start/ifnecessary"; + } + + @Override + public String getName() { + return "nmpap.processtaskstepstartifnecessaryapi.getname"; + } + + @Override + public String getConfig() { + return null; + } + + @Input({ + @Param(name = "processTaskId", type = ApiParamType.LONG, isRequired = true, desc = "term.itsm.processtaskid"), + @Param(name = "processTaskStepId", type = ApiParamType.LONG, isRequired = true, desc = "term.itsm.processtaskstepid"), + @Param(name = "source", type = ApiParamType.STRING, defaultValue = "pc", desc = "common.source") + }) + @Description(desc = "nmpap.processtaskstepstartifnecessaryapi.getname") + @Override + public Object myDoService(JSONObject jsonObj) throws Exception { + Long processTaskId = jsonObj.getLong("processTaskId"); + Long processTaskStepId = jsonObj.getLong("processTaskStepId"); + Map> operationTypeSetMap = new ProcessAuthManager.Builder() + .addProcessTaskId(processTaskId) + .addProcessTaskStepId(processTaskStepId) + .addOperationType(ProcessTaskOperationType.STEP_START) + .addOperationType(ProcessTaskOperationType.STEP_ACCEPT) + .build() + .getOperateMap(); + Set processTaskOperationTypeList = operationTypeSetMap.get(processTaskStepId); + if (CollectionUtils.isNotEmpty(processTaskOperationTypeList)) { + if (processTaskOperationTypeList.contains(ProcessTaskOperationType.STEP_ACCEPT)) { + jsonObj.put("action", ProcessTaskOperationType.STEP_ACCEPT.getValue()); + System.out.println("jsonObj = " + jsonObj); + processTaskService.startProcessTaskStep(jsonObj); + } else if (processTaskOperationTypeList.contains(ProcessTaskOperationType.STEP_START)) { + jsonObj.put("action", ProcessTaskOperationType.STEP_START.getValue()); + System.out.println("jsonObj = " + jsonObj); + processTaskService.startProcessTaskStep(jsonObj); + } + } + return null; + } + +} diff --git a/src/main/java/neatlogic/module/process/stephandler/utilhandler/ConditionProcessUtilHandler.java b/src/main/java/neatlogic/module/process/stephandler/utilhandler/ConditionProcessUtilHandler.java index f568e8b5209f6dd78e477f3abe9df77bd8655e95..07fbbaae135358dc194618328f4172a253da82a4 100755 --- a/src/main/java/neatlogic/module/process/stephandler/utilhandler/ConditionProcessUtilHandler.java +++ b/src/main/java/neatlogic/module/process/stephandler/utilhandler/ConditionProcessUtilHandler.java @@ -46,6 +46,14 @@ public class ConditionProcessUtilHandler extends ProcessStepInternalHandlerBase } + @Override + public JSONObject makeupConfig(JSONObject configObj) { + if (configObj == null) { + configObj = new JSONObject(); + } + return configObj; + } + @Override public JSONObject regulateProcessStepConfig(JSONObject configObj) { if (configObj == null) {