Commit a0d5436a authored by custom's avatar custom

Updates 后端开发/activiti_demo.md

Auto commit by GitBook Editor
parent bbb5a442
...@@ -22,11 +22,84 @@ ...@@ -22,11 +22,84 @@
实现类代码如下 实现类代码如下
```java ```java
package hls.core.wfl.service.impl;import com.hand.hap.activiti.dto.ReProcdef;import com.hand.hap.activiti.service.IActivitiService;import com.hand.hap.activiti.service.IReProcdefService;import com.hand.hap.core.IRequest;import hls.core.prj.dto.PrjProject;import hls.core.prj.dto.PrjProjectMeeting;import hls.core.prj.mapper.PrjProjectMeetingMapper;import hls.core.prj.service.PrjProjectService;import hls.core.wfl.service.IActivitiCommonService;import net.sf.json.JSONObject;import org.activiti.rest.service.api.engine.variable.RestVariable;import org.activiti.rest.service.api.runtime.process.ProcessInstanceCreateRequest;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import java.util.ArrayList;import java.util.List;import java.util.Map;/** * Created by Administrator on 2017/4/17. */@Service@Transactionalpublic class PrjActivitStartServiceImpl implements IActivitiCommonService { private static final String workFlowType = "PRJ_PROJECT"; @Autowired private IActivitiService activitiService; @Autowired private IReProcdefService reProcdefService; @Autowired private PrjProjectService projectService; @Autowired private PrjProjectMeetingMapper meetingMapper; @Override public String getWorkFlowType() { return workFlowType; } @Override public void process(IRequest iRequest, List list, Map params) { ProcessInstanceCreateRequest processInstanceCreateRequest = getProcessInstanceCreateRequest((PrjProject)list.get(0),iRequest); activitiService.startProcess(iRequest, processInstanceCreateRequest); } private ProcessInstanceCreateRequest getProcessInstanceCreateRequest(PrjProject prjProject, IRequest iRequest) { ProcessInstanceCreateRequest createRequest = new ProcessInstanceCreateRequest(); PrjProject project=projectService.selectByPrimaryKey(iRequest,prjProject); ReProcdef reProcdefs ; reProcdefs = reProcdefService.queryReProcdef("PRJ_PROJECT_APPROVE","PRJ_PROJECT"); String id = reProcdefs.getId_(); String name = reProcdefs.getName_(); createRequest.setProcessDefinitionId(id); createRequest.setBusinessKey(prjProject.getProjectId().toString()); List<RestVariable> variables = new ArrayList<RestVariable>(); List<RestVariable> transientVariables = new ArrayList<RestVariable>(); RestVariable restVariable1 = new RestVariable(); RestVariable restVariable2 = new RestVariable(); RestVariable restVariable3 = new RestVariable(); RestVariable restVariable4 = new RestVariable(); RestVariable restVariable5 = new RestVariable(); RestVariable restVariable6 = new RestVariable(); restVariable1.setName("processDefinitionId"); restVariable1.setValue(id); variables.add(restVariable1); restVariable2.setName("prjProject"); JSONObject jsonObject= new JSONObject().fromObject(prjProject); restVariable2.setValue(jsonObject.toString()); variables.add(restVariable2); restVariable3.setName("iRequest"); restVariable3.setValue(iRequest); variables.add(restVariable3); restVariable4.setName("projectNum"); restVariable4.setValue(project.getProjectNumber()); variables.add(restVariable4); restVariable5.setName("projectName"); restVariable5.setValue(project.getProjectName()); variables.add(restVariable5); restVariable6.setName("startUserName"); restVariable6.setValue(iRequest.getEmployeeCode()); variables.add(restVariable6); RestVariable restVariable7 = new RestVariable(); RestVariable restVariable8 = new RestVariable(); RestVariable restVariable9 = new RestVariable(); restVariable7.setName("documentCategory"); restVariable7.setValue(project.getDocumentCategory()); variables.add(restVariable7); restVariable8.setName("documentType"); restVariable8.setValue(project.getDocumentType()); variables.add(restVariable8); restVariable9.setName("documentId"); restVariable9.setValue(project.getProjectId()); variables.add(restVariable9); RestVariable restVariable10 = new RestVariable(); restVariable10.setName("doubleFlag"); PrjProjectMeeting meeting = new PrjProjectMeeting(); meeting.setProjectId(prjProject.getProjectId()); List<PrjProjectMeeting> list = meetingMapper.select(meeting); if(list.size() >0) { restVariable10.setValue("Y"); }else{ restVariable10.setValue("N"); } variables.add(restVariable10); RestVariable restVariable11 = new RestVariable(); restVariable11.setName("pName"); restVariable11.setValue(name); variables.add(restVariable11); createRequest.setVariables(variables); createRequest.setTransientVariables(transientVariables); return createRequest; }} package hls.core.wfl.service.impl;
import com.hand.hap.activiti.dto.ReProcdef;
import com.hand.hap.activiti.service.IActivitiService;
import com.hand.hap.activiti.service.IReProcdefService;
import com.hand.hap.core.IRequest;
import hls.core.prj.dto.PrjProject;
import hls.core.prj.dto.PrjProjectMeeting;
import hls.core.prj.mapper.PrjProjectMeetingMapper;
import hls.core.prj.service.PrjProjectService;
import hls.core.wfl.service.IActivitiCommonService;
import net.sf.json.JSONObject;
import org.activiti.rest.service.api.engine.variable.RestVariable;
import org.activiti.rest.service.api.runtime.process.ProcessInstanceCreateRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;import java.util.List;
import java.util.Map;
@Service
@Transactional
public class PrjActivitStartServiceImpl implements IActivitiCommonService
{ private static final String workFlowType = "PRJ_PROJECT"; @Autowired
private IActivitiService activitiService;
@Autowired
private IReProcdefService reProcdefService;
@Autowired
private PrjProjectService projectService;
@Autowired
private PrjProjectMeetingMapper meetingMapper;
@Override
public String getWorkFlowType() { return workFlowType; }
@Override
public void process(IRequest iRequest, List list, Map params)
{ ProcessInstanceCreateRequest processInstanceCreateRequest = getProcessInstanceCreateRequest((PrjProject)list.get(0),iRequest); activitiService.startProcess(iRequest, processInstanceCreateRequest);
}
private ProcessInstanceCreateRequest getProcessInstanceCreateRequest(PrjProject prjProject, IRequest iRequest)
{ ProcessInstanceCreateRequest createRequest = new ProcessInstanceCreateRequest();
PrjProject project=projectService.selectByPrimaryKey(iRequest,prjProject); ReProcdef reProcdefs ;
reProcdefs = reProcdefService.queryReProcdef("PRJ_PROJECT_APPROVE","PRJ_PROJECT");
String id = reProcdefs.getId_();
String name = reProcdefs.getName_(); createRequest.setProcessDefinitionId(id); createRequest.setBusinessKey(prjProject.getProjectId().toString());
List<RestVariable> variables = new ArrayList<RestVariable>(); List<RestVariable> transientVariables = new ArrayList<RestVariable>();
RestVariable restVariable1 = new RestVariable(); RestVariable restVariable2 = new RestVariable();
RestVariable restVariable3 = new RestVariable();
RestVariable restVariable4 = new RestVariable();
RestVariable restVariable5 = new RestVariable();
RestVariable restVariable6 = new RestVariable();
restVariable1.setName("processDefinitionId");
restVariable1.setValue(id); variables.add(restVariable1);
restVariable2.setName("prjProject");
JSONObject jsonObject= new JSONObject().fromObject(prjProject); restVariable2.setValue(jsonObject.toString()); variables.add(restVariable2);
restVariable3.setName("iRequest"); restVariable3.setValue(iRequest);
variables.add(restVariable3);
restVariable4.setName("projectNum"); restVariable4.setValue(project.getProjectNumber()); variables.add(restVariable4); restVariable5.setName("projectName"); restVariable5.setValue(project.getProjectName()); variables.add(restVariable5); restVariable6.setName("startUserName"); restVariable6.setValue(iRequest.getEmployeeCode()); variables.add(restVariable6);
RestVariable restVariable7 = new RestVariable();
RestVariable restVariable8 = new RestVariable(); RestVariable restVariable9 = new RestVariable(); restVariable7.setName("documentCategory"); restVariable7.setValue(project.getDocumentCategory()); variables.add(restVariable7); restVariable8.setName("documentType"); restVariable8.setValue(project.getDocumentType());
variables.add(restVariable8); restVariable9.setName("documentId"); restVariable9.setValue(project.getProjectId());
variables.add(restVariable9);
RestVariable restVariable10 = new RestVariable();
restVariable10.setName("doubleFlag");
PrjProjectMeeting meeting = new PrjProjectMeeting();
meeting.setProjectId(prjProject.getProjectId());
List<PrjProjectMeeting> list = meetingMapper.select(meeting); if(list.size() >0) { restVariable10.setValue("Y"); }else{ restVariable10.setValue("N"); }
variables.add(restVariable10);
RestVariable restVariable11 = new RestVariable(); restVariable11.setName("pName");
restVariable11.setValue(name);
variables.add(restVariable11); createRequest.setVariables(variables); createRequest.setTransientVariables(transientVariables);
return createRequest;
}}
``` ```
4 启动工作流 4 启动工作流
``` ```
Map<String,Object> params = new HashMap<String,Object>();params.put("workFlowType","PRJ_PROJECT");activitiStartService.start(iRequest,projects,params); Map<String,Object> params = new HashMap<String,Object>();
params.put("workFlowType","PRJ_PROJECT");
activitiStartService.start(iRequest,projects,params);
``` ```
\ No newline at end of file
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