Jelajahi Sumber

设置执行监听器,当事件完成时,将对应的项目施工交底状态修改为2

yue 5 tahun lalu
induk
melakukan
954f5804fc

+ 2 - 1
src/main/java/com/jeeplus/modules/act/service/ActTaskService.java

@@ -1325,7 +1325,8 @@ public class ActTaskService extends BaseService {
 		Map<String, Object> vars = Maps.newHashMap();
 		String flag = act.getFlag();
 		if ("yes".equals(flag)) {
-
+			vars.put("status", 1);
+			vars.put("procInsId", act.getProcInsId());
 		} else {
 			ProcessPersonnel loginName = processPersonnelService.findLoginName(act.getProcInsId());
 			design = loginName.getOperatingPersonnel();

+ 28 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/EndTaskListen.java

@@ -0,0 +1,28 @@
+package com.jeeplus.modules.sg.managementcenter.activiti.utils;
+
+import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.ExecutionListener;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.beans.Expression;
+import java.io.Serializable;
+
+public class EndTaskListen implements Serializable, ExecutionListener {
+    /**
+     * @Fields serialVersionUID : TODO(用一句话描述这个变量表示什么)
+     */
+    private static final long serialVersionUID = 8513750196548027535L;
+
+    @Autowired
+    private ProjectService projectService;
+
+    @Override
+    public void notify(DelegateExecution delegateExecution) throws Exception {
+        System.out.println("status");
+        System.out.println("procinsId");
+        String processInstanceId = delegateExecution.getProcessInstanceId();
+        System.out.println(processInstanceId);
+        projectService.updateStatusBy("2", processInstanceId);
+    }
+}

+ 5 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/ProjectMapper.java

@@ -19,5 +19,10 @@ public interface ProjectMapper extends BaseMapper<Project> {
 
     public void updateStatus(Project project);
 
+    /**
+     * 根据项目需求名称修改项目施工交底状态0未发起施工交底,1施工交底过程中,2完成施工交底
+     * */
+    void updateStatusBy(String status,String procInsId);
+
     public List<Project> findListById(String[] proListId);
 }

+ 6 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/xml/ProjectMapper.xml

@@ -253,6 +253,11 @@
 		select * FROM xm_project_details  where ${id} = '${value}'
 	</select>
 
+	<!--根据项目名称修改项目施工交底状态0未发起施工交底,1施工交底过程中,2完成施工交底-->
+	<update id="updateStatusBy">
+		update xm_project_details set status = #{status} where require_name = (select project_name from xm_construction_clarificaiton where proc_ins_id = #{procInsId});
+	</update>
+
 	<!--修改项目施工交底状态0未发起施工交底,1施工交底过程中,2完成施工交底-->
 	<update id="updateStatus">
 		update xm_project_details set status = #{status} where id = #{id};
@@ -269,4 +274,5 @@
 		</foreach>
 	</select>
 
+
 </mapper>

+ 8 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/service/ProjectService.java

@@ -56,4 +56,12 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
 		return projectMapper.findListById(proListId);
 	}
 
+	/**
+	 * 根据项目需求名称修改项目施工交底状态0未发起施工交底,1施工交底过程中,2完成施工交底
+	 */
+	public void updateStatusBy(String status, String procInsId) {
+		projectMapper.updateStatusBy(status,procInsId);
+	}
+
+
 }