Преглед изворни кода

优化 任务历史表没有审核人的问题

wuxw пре 6 година
родитељ
комит
308e173076

+ 34 - 0
CommonService/src/main/java/com/java110/common/activity/FreshActHiTaskInstAssigneeListener.java

@@ -0,0 +1,34 @@
+package com.java110.common.activity;
+
+import com.java110.common.dao.IAuditUserServiceDao;
+import com.java110.core.smo.audit.IAuditUserInnerServiceSMO;
+import com.java110.utils.factory.ApplicationContextFactory;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 刷新 ActHisTaskInst assignee 字段为空的情况
+ */
+public class FreshActHiTaskInstAssigneeListener implements TaskListener {
+    private IAuditUserServiceDao auditUserServiceDaoImpl;
+
+    @Override
+    public void notify(DelegateTask delegateTask) {
+
+        auditUserServiceDaoImpl = ApplicationContextFactory.getBean("auditUserServiceDaoImpl", IAuditUserServiceDao.class);
+
+        //ApplicationContextFactory.getBean("");
+
+        String userId = delegateTask.getVariable("currentUserId").toString();
+
+        String taskId = delegateTask.getId();
+        Map info = new HashMap();
+        info.put("userId", userId);
+        info.put("taskId", taskId);
+        auditUserServiceDaoImpl.freshActHiTaskInstAssignee(info);
+
+    }
+}

+ 6 - 0
CommonService/src/main/java/com/java110/common/dao/IAuditUserServiceDao.java

@@ -78,4 +78,10 @@ public interface IAuditUserServiceDao {
      */
     int queryAuditUsersCount(Map info);
 
+    /**
+     * 刷新表 委托人
+     * @param info
+     */
+    void freshActHiTaskInstAssignee(Map info);
+
 }

+ 11 - 0
CommonService/src/main/java/com/java110/common/dao/impl/AuditUserServiceDaoImpl.java

@@ -130,5 +130,16 @@ public class AuditUserServiceDaoImpl extends BaseServiceDao implements IAuditUse
         return Integer.parseInt(businessAuditUserInfos.get(0).get("count").toString());
     }
 
+    @Override
+    public void freshActHiTaskInstAssignee(Map info) {
+        logger.debug("freshActHiTaskInstAssignee 入参 info : {}", info);
+
+        int saveFlag = sqlSessionTemplate.update("auditUserServiceDaoImpl.freshActHiTaskInstAssignee", info);
+
+        if (saveFlag < 1) {
+            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "freshActHiTaskInstAssignee数据失败:" + JSONObject.toJSONString(info));
+        }
+    }
+
 
 }

+ 1 - 1
CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java

@@ -215,7 +215,7 @@ public class ComplaintUserInnerServiceSMOImpl extends BaseServiceSMO implements
         taskService.addComment(complaintDto.getTaskId(), processInstanceId, complaintDto.getAuditMessage());
         Map<String, Object> variables = new HashMap<String, Object>();
         variables.put("auditCode", complaintDto.getAuditCode());
-        //variables.put("userId", complaintDto.getCurrentUserId());
+        variables.put("currentUserId", complaintDto.getCurrentUserId());
         //taskService.setAssignee(complaintDto.getTaskId(),complaintDto.getCurrentUserId());
         //taskService.addCandidateUser(complaintDto.getTaskId(), complaintDto.getCurrentUserId());
         taskService.complete(complaintDto.getTaskId(), variables);

Разлика између датотеке није приказан због своје велике величине
+ 2 - 1
CommonService/src/main/resources/processes/complaint.bpmn


+ 6 - 0
java110-db/src/main/resources/mapper/common/AuditUserServiceDaoImplMapper.xml

@@ -195,4 +195,10 @@
 
     </select>
 
+    <update id="freshActHiTaskInstAssignee" parameterType="Map">
+        UPDATE ACT_HI_TASKINST T SET T.`ASSIGNEE_` = #{userId}
+        WHERE T.`ID_` = #{taskId}
+
+    </update>
+
 </mapper>