Browse Source

流程抄送若抄送的用户已在审批人员中(审批记录中有该用户),则该用户不抄送。

master
dimengzhe 1 year ago
parent
commit
c79752db2a
  1. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.java
  2. 9
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.xml
  3. 9
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java
  4. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentMapper.xml

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.java

@ -31,4 +31,6 @@ public interface FlowMapper extends BaseMapper<Flowable> {
FlowableMessageVo getApprovalResult(@Param("proDefId") String proDefId, @Param("procInstId") String procInstId);
String getComment(@Param("taskId") String taskId, @Param("procInstId") String procInstId);
List<String> selectByProcInstId(String instanceId);
}

9
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.xml

@ -57,7 +57,8 @@
WHERE PROC_INST_ID_ = #{procInstId}
AND PROC_DEF_ID_ = #{proDefId}
AND ACT_TYPE_ = 'userTask'
ORDER BY ID_ DESC limit 1
ORDER BY ID_ DESC
limit 1
</select>
<select id="getComment" resultType="java.lang.String">
SELECT TYPE_
@ -65,4 +66,10 @@
WHERE TASK_ID_ = #{taskId}
AND PROC_INST_ID_ = #{procInstId}
</select>
<select id="selectByProcInstId" resultType="java.lang.String">
select ASSIGNEE_
from act_hi_taskinst
where PROC_INST_ID_ = #{instanceId}
</select>
</mapper>

9
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java

@ -757,7 +757,14 @@ public class FlowService extends MybatisBaseService<FlowMapper, Flowable> {
userSids.append(zbUser).append(",");
}
userSids.deleteCharAt(userSids.length() - 1);
mfq.setUserSids(userSids.toString());
//若抄送的用户已在审批人员中(审批记录中有该用户),则该用户不抄送
List<String> taskinstUserSidList = baseMapper.selectByProcInstId(bv.getInstanceId());
List<String> uss = Arrays.asList(userSids.toString().split(","));
List<String> uniqueList = new ArrayList<String>(new HashSet<String>(uss));
uniqueList.removeIf(taskinstUserSidList::contains);
String userSidss = String.join(",",uniqueList);
mfq.setUserSids(userSidss);
// mfq.setUserSids(userSids.toString());
mfq.setOrgPath(createrOrgPath);
mfq.setUserSid(assignee);
mfq.setApplicationName(assigneeName);

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentMapper.xml

@ -19,6 +19,6 @@
</insert>
<select id="selectByIdAndComment" resultType="java.lang.String">
select reviewerSid from process_comment where content like concat('%',#{comment}) and processId = #{instanceId}
select reviewerSid from process_comment where content like concat('%',#{comment},'%') and processId = #{instanceId}
</select>
</mapper>
Loading…
Cancel
Save