package com.idea.oa.flow2.mapper; import com.idea.oa.flow2.model.in.FlowMainIn; import com.idea.oa.flow2.model.out.FlowHistoryInfo; import com.rockstar.frame.model.FrameRoleData; import com.rockstar.frame.model.FrameUser; import com.rockstar.frame.model.extend.DateTrans; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Component; import java.util.List; @Component public interface FlowMainExtendMapper { /** * 通过用户id获取用户的FrameRoleData数据 * @param userId * @return */ @Select("SELECT frame_role_data.* FROM frame_role_data_user LEFT JOIN frame_role_data ON frame_role_data.id=frame_role_data_user.role_data_id WHERE frame_role_data_user.user_id=#{userId} AND frame_role_data.role_type=#{roleType}") List findFrameRoleDatasByUserId(@Param("userId") String userId,@Param("roleType") String roleType); /** * 通过角色key获取用户数组 * @param roleKey * @param roleType * @return */ @Select("SELECT frame_user.* FROM frame_role_data_user LEFT JOIN frame_role_data ON frame_role_data.id=frame_role_data_user.role_data_id LEFT JOIN frame_user ON frame_user.id=frame_role_data_user.user_id WHERE frame_role_data.role_key=#{roleKey} AND frame_role_data.role_type=#{roleType} AND frame_user.group_id= #{groupId} ") List findFrameUsersByRoleKey(@Param("roleKey")String roleKey,@Param("roleType")String roleType,@Param("groupId")String groupId); List listByInfo(@Param("entity") FlowMainIn model, @Param("dt") DateTrans dt); List myApplylistByInfo(@Param("entity") FlowMainIn model, @Param("dt") DateTrans dt); List myApplylistByProId(@Param("entity") FlowMainIn model); /** * 抄送事项 ok * web端开始页面查询,不同类型, 流程名称,主题,发起人查询 */ List cclistByInfo(@Param("entity") FlowMainIn model, @Param("dt") DateTrans dt); List toDolistByInfo(@Param("entity") FlowMainIn model, @Param("dt") DateTrans dt); // @Select("SELECT flow_main_log.audit_result AS auditResult,CASE audit_result WHEN '1' THEN '同意' WHEN '2' THEN '不同意驳回到申请人' WHEN '3' THEN '不同意驳回到上一个审核人' WHEN '4' THEN '委托别人进行审核' END AS auditResultString,flow_main_log.audit_content AS auditContent,flow_main_log.node_name AS nodeName,flow_main_log.created_at AS createdAt,flow_main_log.audit_user AS auditUser,frame_user.truename AS auditUserName,flow_main_log.id FROM flow_main_log LEFT JOIN frame_user ON frame_user.id=flow_main_log.audit_user WHERE flow_main_log.flow_main_id=#{flowMainId} ORDER BY flow_main_log.created_at") @Select("(\n" + "SELECT flow_main_log.audit_result AS auditResult,CASE audit_result WHEN '1' THEN '同意' WHEN '2' THEN '不同意驳回到申请人' WHEN '3' THEN '不同意驳回到上一个审核人' WHEN '4' THEN '委托别人进行审核' WHEN '5' THEN '不同意且结束流程' END AS auditResultString,flow_main_log.audit_content AS auditContent,flow_main_log.node_name AS nodeName,flow_main_log.created_at AS createdAt,flow_main_log.audit_user AS auditUser,frame_user.truename AS auditUserName,flow_main_log.id FROM flow_main_log LEFT JOIN frame_user ON frame_user.id=flow_main_log.audit_user WHERE flow_main_log.flow_main_id=#{flowMainId}) UNION ALL (\n" + "SELECT-1 AS auditResult,'处理中' AS auditResultString,NULL AS auditContent,flow_main_push.node_name AS nodeName,NULL AS createdAt,flow_main_push.push_user AS auditUser,frame_user.truename AS auditUserName,-1 AS id FROM flow_main_push LEFT JOIN frame_user ON frame_user.id=flow_main_push.push_user WHERE flow_main_push.flow_main_id=#{flowMainId} AND flow_main_push.STATUS=0) ORDER BY ISNULL(createdAt),createdAt") List getFlowHistroyByFlowMainId(String flowMainId); Integer numtoDolistByInfo(@Param("entity") FlowMainIn model, @Param("dt") DateTrans dt); }