123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
- <mapper namespace="com.huaxu.task.dao.PlanManageMapper" >
- <resultMap id="BaseResultMap" type="com.huaxu.task.dto.PlanManageDto" >
- <id column="id" property="id" jdbcType="INTEGER" />
- <result column="plan_id" property="planId" jdbcType="VARCHAR" />
- <result column="plan_name" property="planName" jdbcType="VARCHAR" />
- <result column="plan_user_id" property="planUserId" jdbcType="VARCHAR" />
- <result column="user_id" property="userId" jdbcType="VARCHAR" />
- <result column="plan_date" property="planDate" jdbcType="TIMESTAMP" />
- <result column="plan_start_date" property="planStartDate" jdbcType="TIMESTAMP" />
- <result column="plan_end_date" property="planEndDate" jdbcType="TIMESTAMP" />
- <result column="task_content" property="taskContent" jdbcType="VARCHAR" />
- <result column="task_area_shape" property="taskAreaShape" jdbcType="VARCHAR" />
- <result column="task_area_name" property="taskAreaName" jdbcType="VARCHAR" />
- <result column="task_type" property="taskType" jdbcType="INTEGER" />
- <result column="plan_status" property="planStatus" jdbcType="INTEGER" />
- <result column="tenant_id" property="tenantId" jdbcType="VARCHAR" />
- <result column="process_instance_id" property="processInstanceId" jdbcType="VARCHAR" />
- <result column="process_def_id" property="processDefId" jdbcType="VARCHAR" />
- <result column="current_task_id" property="currentTaskId" jdbcType="VARCHAR" />
- <result column="current_users" property="currentUsers" jdbcType="VARCHAR" />
- <result column="current_task_name" property="currentTaskName" jdbcType="VARCHAR" />
- <result column="create_by" property="createBy" jdbcType="VARCHAR" />
- <result column="date_create" property="dateCreate" jdbcType="TIMESTAMP" />
- <result column="update_by" property="updateBy" jdbcType="VARCHAR" />
- <result column="date_update" property="dateUpdate" jdbcType="TIMESTAMP" />
- <result column="company_org_id" property="compa=nyOrgId" jdbcType="VARCHAR" />
- <result column="department_org_id" property="departmentOrgId" jdbcType="VARCHAR" />
- <result column="task_checked" property="taskChecked" jdbcType="VARCHAR" />
- <result column="flow_detail" property="flowDetail" jdbcType="VARCHAR" />
- </resultMap>
- <resultMap id="workFlowLogResultMap" type="com.huaxu.order.entity.WorkFlowLog">
- <id column="id" property="id" jdbcType="INTEGER" />
- <result column="flow_id" property="flowId" jdbcType="INTEGER" />
- <result column="log_process_instance_id" property="processInstanceId" jdbcType="VARCHAR" />
- <result column="task_id" property="taskId" jdbcType="VARCHAR" />
- <result column="handle_user_id" property="handleUserId" jdbcType="VARCHAR" />
- <result column="handle_user_name" property="handleUserName" jdbcType="VARCHAR" />
- <result column="flow_type" property="flowType" jdbcType="INTEGER" />
- <result column="flow_result" property="flowResult" jdbcType="VARCHAR" />
- <result column="log_create_by" property="createBy" jdbcType="VARCHAR" />
- <result column="log_date_create" property="dateCreate" jdbcType="TIMESTAMP" />
- <result column="log_update_by" property="updateBy" jdbcType="VARCHAR" />
- <result column="log_date_update" property="dateUpdate" jdbcType="TIMESTAMP" />
- </resultMap>
- <resultMap id="TaskResultMap" type="com.huaxu.task.dto.PlanManageDto" extends="BaseResultMap">
- <association property="workFlowDetail" javaType="com.huaxu.order.entity.WorkFlowDetail">
- <id column="id" property="id" jdbcType="INTEGER" />
- <result column="flow_id" property="flowId" jdbcType="INTEGER" />
- <result column="flow_type" property="flowType" jdbcType="INTEGER" />
- <result column="flow_detail" property="flowDetail" jdbcType="VARCHAR" />
- <result column="detail_create_by" property="createBy" jdbcType="VARCHAR" />
- <result column="detail_date_create" property="dateCreate" jdbcType="TIMESTAMP" />
- <result column="detail_update_by" property="updateBy" jdbcType="VARCHAR" />
- <result column="detail_date_update" property="dateUpdate" jdbcType="TIMESTAMP" />
- </association>
- <collection property="workFlowLogList" ofType="com.huaxu.order.entity.WorkFlowLog" javaType="java.util.List" select="getWorkFlowLog" column="{flowId=id}">
- <id column="id" property="id" jdbcType="INTEGER" />
- <result column="flow_id" property="flowId" jdbcType="INTEGER" />
- <result column="log_process_instance_id" property="processInstanceId" jdbcType="VARCHAR" />
- <result column="task_id" property="taskId" jdbcType="VARCHAR" />
- <result column="handle_user_id" property="handleUserId" jdbcType="VARCHAR" />
- <result column="handle_user_name" property="handleUserName" jdbcType="VARCHAR" />
- <result column="flow_type" property="flowType" jdbcType="INTEGER" />
- <result column="flow_result" property="flowResult" jdbcType="VARCHAR" />
- <result column="log_create_by" property="createBy" jdbcType="VARCHAR" />
- <result column="log_date_create" property="dateCreate" jdbcType="TIMESTAMP" />
- <result column="log_update_by" property="updateBy" jdbcType="VARCHAR" />
- <result column="log_date_update" property="dateUpdate" jdbcType="TIMESTAMP" />
- </collection>
- </resultMap>
- <sql id="Base_Column_List" >
- id, plan_id, plan_name, plan_user_id, user_id, plan_date, plan_start_date, plan_end_date,
- task_content, task_area_shape, task_area_name, task_type, plan_status, tenant_id,
- process_instance_id, process_def_id, current_task_id, current_users, current_task_name,
- create_by, date_create, update_by, date_update, company_org_id, department_org_id,
- task_checked
- </sql>
- <select id="getWorkFlowLog" resultMap="workFlowLogResultMap" parameterType="map">
- select t3.process_instance_id log_process_instance_id,t3.task_id,t3.handle_user_id,t3.handle_user_name,t3.flow_result,t3.create_by log_create_by,
- t3.date_create log_date_create,t3.update_by log_update_by,t3.date_update log_date_update
- from sc_work_flow_log t3
- where t3.flow_id= #{flowId,jdbcType=INTEGER} and t3.flow_type=1
- </select>
- <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
- select
- <include refid="Base_Column_List" />
- from sc_plan_manage
- where id = #{id,jdbcType=INTEGER}
- </select>
- <select id="selectByPlanId" resultMap="BaseResultMap" parameterType="java.lang.String" >
- select
- <include refid="Base_Column_List" />
- from sc_plan_manage
- where plan_id = #{planId,jdbcType=VARCHAR}
- </select>
- <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
- delete from sc_plan_manage
- where id = #{id,jdbcType=INTEGER}
- </delete>
- <insert id="insertSelective" parameterType="com.huaxu.task.entity.PlanManage" >
- insert into sc_plan_manage
- <trim prefix="(" suffix=")" suffixOverrides="," >
- <if test="id != null" >
- id,
- </if>
- <if test="planId != null" >
- plan_id,
- </if>
- <if test="planName != null" >
- plan_name,
- </if>
- <if test="planUserId != null" >
- plan_user_id,
- </if>
- <if test="userId != null" >
- user_id,
- </if>
- <if test="planDate != null" >
- plan_date,
- </if>
- <if test="planStartDate != null" >
- plan_start_date,
- </if>
- <if test="planEndDate != null" >
- plan_end_date,
- </if>
- <if test="taskContent != null" >
- task_content,
- </if>
- <if test="taskAreaShape != null" >
- task_area_shape,
- </if>
- <if test="taskAreaName != null" >
- task_area_name,
- </if>
- <if test="taskType != null" >
- task_type,
- </if>
- <if test="planStatus != null" >
- plan_status,
- </if>
- <if test="tenantId != null" >
- tenant_id,
- </if>
- <if test="processInstanceId != null" >
- process_instance_id,
- </if>
- <if test="processDefId != null" >
- process_def_id,
- </if>
- <if test="currentTaskId != null" >
- current_task_id,
- </if>
- <if test="currentUsers != null" >
- current_users,
- </if>
- <if test="currentTaskName != null" >
- current_task_name,
- </if>
- <if test="createBy != null" >
- create_by,
- </if>
- <if test="dateCreate != null" >
- date_create,
- </if>
- <if test="updateBy != null" >
- update_by,
- </if>
- <if test="dateUpdate != null" >
- date_update,
- </if>
- <if test="companyOrgId != null" >
- company_org_id,
- </if>
- <if test="departmentOrgId != null" >
- department_org_id,
- </if>
- <if test="taskChecked != null" >
- task_checked,
- </if>
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides="," >
- <if test="id != null" >
- #{id,jdbcType=INTEGER},
- </if>
- <if test="planId != null" >
- #{planId,jdbcType=VARCHAR},
- </if>
- <if test="planName != null" >
- #{planName,jdbcType=VARCHAR},
- </if>
- <if test="planUserId != null" >
- #{planUserId,jdbcType=VARCHAR},
- </if>
- <if test="userId != null" >
- #{userId,jdbcType=VARCHAR},
- </if>
- <if test="planDate != null" >
- #{planDate,jdbcType=TIMESTAMP},
- </if>
- <if test="planStartDate != null" >
- #{planStartDate,jdbcType=DATE},
- </if>
- <if test="planEndDate != null" >
- #{planEndDate,jdbcType=DATE},
- </if>
- <if test="taskContent != null" >
- #{taskContent,jdbcType=VARCHAR},
- </if>
- <if test="taskAreaShape != null" >
- #{taskAreaShape,jdbcType=VARCHAR},
- </if>
- <if test="taskAreaName != null" >
- #{taskAreaName,jdbcType=VARCHAR},
- </if>
- <if test="taskType != null" >
- #{taskType,jdbcType=INTEGER},
- </if>
- <if test="planStatus != null" >
- #{planStatus,jdbcType=INTEGER},
- </if>
- <if test="tenantId != null" >
- #{tenantId,jdbcType=VARCHAR},
- </if>
- <if test="processInstanceId != null" >
- #{processInstanceId,jdbcType=VARCHAR},
- </if>
- <if test="processDefId != null" >
- #{processDefId,jdbcType=VARCHAR},
- </if>
- <if test="currentTaskId != null" >
- #{currentTaskId,jdbcType=VARCHAR},
- </if>
- <if test="currentUsers != null" >
- #{currentUsers,jdbcType=VARCHAR},
- </if>
- <if test="currentTaskName != null" >
- #{currentTaskName,jdbcType=VARCHAR},
- </if>
- <if test="createBy != null" >
- #{createBy,jdbcType=VARCHAR},
- </if>
- <if test="dateCreate != null" >
- #{dateCreate,jdbcType=TIMESTAMP},
- </if>
- <if test="updateBy != null" >
- #{updateBy,jdbcType=VARCHAR},
- </if>
- <if test="dateUpdate != null" >
- #{dateUpdate,jdbcType=TIMESTAMP},
- </if>
- <if test="companyOrgId != null" >
- #{companyOrgId,jdbcType=VARCHAR},
- </if>
- <if test="departmentOrgId != null" >
- #{departmentOrgId,jdbcType=VARCHAR},
- </if>
- <if test="taskChecked != null" >
- #{taskChecked,jdbcType=VARCHAR},
- </if>
- </trim>
- </insert>
- <update id="updateByPrimaryKeySelective" parameterType="com.huaxu.task.entity.PlanManage" >
- update sc_plan_manage
- <set >
- <if test="planId != null" >
- plan_id = #{planId,jdbcType=VARCHAR},
- </if>
- <if test="planName != null" >
- plan_name = #{planName,jdbcType=VARCHAR},
- </if>
- <if test="planUserId != null" >
- plan_user_id = #{planUserId,jdbcType=VARCHAR},
- </if>
- <if test="userId != null" >
- user_id = #{userId,jdbcType=VARCHAR},
- </if>
- <if test="planDate != null" >
- plan_date = #{planDate,jdbcType=TIMESTAMP},
- </if>
- <if test="planStartDate != null" >
- plan_start_date = #{planStartDate,jdbcType=TIMESTAMP},
- </if>
- <if test="planEndDate != null" >
- plan_end_date = #{planEndDate,jdbcType=TIMESTAMP},
- </if>
- <if test="taskContent != null" >
- task_content = #{taskContent,jdbcType=VARCHAR},
- </if>
- <if test="taskAreaShape != null" >
- task_area_shape = #{taskAreaShape,jdbcType=VARCHAR},
- </if>
- <if test="taskAreaName != null" >
- task_area_name = #{taskAreaName,jdbcType=VARCHAR},
- </if>
- <if test="taskType != null" >
- task_type = #{taskType,jdbcType=INTEGER},
- </if>
- <if test="planStatus != null" >
- plan_status = #{planStatus,jdbcType=INTEGER},
- </if>
- <if test="tenantId != null" >
- tenant_id = #{tenantId,jdbcType=VARCHAR},
- </if>
- <if test="processInstanceId != null" >
- process_instance_id = #{processInstanceId,jdbcType=VARCHAR},
- </if>
- <if test="processDefId != null" >
- process_def_id = #{processDefId,jdbcType=VARCHAR},
- </if>
- <if test="currentTaskId != null" >
- current_task_id = #{currentTaskId,jdbcType=VARCHAR},
- </if>
- <if test="currentUsers != null" >
- current_users = #{currentUsers,jdbcType=VARCHAR},
- </if>
- <if test="currentTaskName != null" >
- current_task_name = #{currentTaskName,jdbcType=VARCHAR},
- </if>
- <if test="createBy != null" >
- create_by = #{createBy,jdbcType=VARCHAR},
- </if>
- <if test="dateCreate != null" >
- date_create = #{dateCreate,jdbcType=TIMESTAMP},
- </if>
- <if test="updateBy != null" >
- update_by = #{updateBy,jdbcType=VARCHAR},
- </if>
- <if test="dateUpdate != null" >
- date_update = #{dateUpdate,jdbcType=TIMESTAMP},
- </if>
- <if test="companyOrgId != null" >
- company_org_id = #{companyOrgId,jdbcType=VARCHAR},
- </if>
- <if test="departmentOrgId != null" >
- department_org_id = #{departmentOrgId,jdbcType=VARCHAR},
- </if>
- <if test="taskChecked != null" >
- task_checked = #{taskChecked,jdbcType=VARCHAR},
- </if>
- </set>
- where id = #{id,jdbcType=INTEGER}
- </update>
- <update id="updateByPrimaryKey" parameterType="com.huaxu.task.entity.PlanManage" >
- update sc_plan_manage
- set plan_id = #{planId,jdbcType=VARCHAR},
- plan_name = #{planName,jdbcType=VARCHAR},
- plan_user_id = #{planUserId,jdbcType=VARCHAR},
- user_id = #{userId,jdbcType=VARCHAR},
- plan_date = #{planDate,jdbcType=TIMESTAMP},
- plan_start_date = #{planStartDate,jdbcType=TIMESTAMP},
- plan_end_date = #{planEndDate,jdbcType=TIMESTAMP},
- task_content = #{taskContent,jdbcType=VARCHAR},
- task_area_shape = #{taskAreaShape,jdbcType=VARCHAR},
- task_area_name = #{taskAreaName,jdbcType=VARCHAR},
- task_type = #{taskType,jdbcType=INTEGER},
- plan_status = #{planStatus,jdbcType=INTEGER},
- tenant_id = #{tenantId,jdbcType=VARCHAR},
- process_instance_id = #{processInstanceId,jdbcType=VARCHAR},
- process_def_id = #{processDefId,jdbcType=VARCHAR},
- current_task_id = #{currentTaskId,jdbcType=VARCHAR},
- current_users = #{currentUsers,jdbcType=VARCHAR},
- current_task_name = #{currentTaskName,jdbcType=VARCHAR},
- create_by = #{createBy,jdbcType=VARCHAR},
- date_create = #{dateCreate,jdbcType=TIMESTAMP},
- update_by = #{updateBy,jdbcType=VARCHAR},
- date_update = #{dateUpdate,jdbcType=TIMESTAMP},
- company_org_id = #{companyOrgId,jdbcType=VARCHAR},
- department_org_id = #{departmentOrgId,jdbcType=VARCHAR},
- task_checked = #{taskChecked,jdbcType=VARCHAR}
- where id = #{id,jdbcType=INTEGER}
- </update>
- <!--分页查询-->
- <select id="findPage" resultMap="TaskResultMap">
- select
- t1.id, t1.plan_id, plan_name, plan_user_id, user_id, plan_date, plan_start_date, plan_end_date,
- task_content, task_area_shape, task_area_name, task_type, plan_status, tenant_id,
- t1.process_instance_id, process_def_id, current_task_id, current_users, current_task_name,
- t1.create_by, t1.date_create, t1.update_by, t1.date_update, company_org_id, department_org_id,task_checked,
- t2.flow_detail,t2.create_by detail_create_by,t2.date_create detail_date_create,t2.update_by detail_update_by,t2.date_update detail_date_update
- from sc_plan_manage t1 left join sc_work_flow_detail t2
- on t1.id = t2.flow_id and t2.flow_type=1
- <where>
- <if test="plan.tenantId != null and plan.tenantId != ''">
- and t1.tenant_id = #{plan.tenantId}
- </if>
- <if test="plan.key != null and plan.key != ''">
- and (t1.plan_id like CONCAT('%',#{plan.key},'%') or t1.plan_name like CONCAT('%',#{plan.key},'%'))
- </if>
- <if test="plan.userType!=null and plan.userType!=-999 and plan.userType!=-9999 and plan.programItems != null and plan.programItems.size() > 0">
- <if test="plan.permissonType == 5 or plan.permissonType == 2">
- and ( t1.DEPT_ORG_ID in
- <foreach collection="plan.programItems" item="item" open="(" close=")" separator=",">
- #{item.orgId}
- </foreach>
- or
- t1.COMPANY_ORG_ID in
- <foreach collection="plan.programItems" item="item" open="(" close=")" separator=",">
- #{item.orgId}
- </foreach>
- )
- </if>
- <if test="plan.permissonType == 4 or plan.permissonType == 3">
- and t1.DEPT_ORG_ID in
- <foreach collection="plan.programItems" item="item" open="(" close=")" separator=",">
- #{item.orgId}
- </foreach>
- </if>
- <if test="plan.permissonType == 1">
- and t1.COMPANY_ORG_ID in
- <foreach collection="plan.programItems" item="item" open="(" close=")" separator=",">
- #{item.orgId}
- </foreach>
- and (t1.DEPT_ORG_ID is null or t1.DEPT_ORG_ID =0)
- </if>
- </if>
- <if test="plan.planStatus != null">
- and t1.plan_status = #{plan.planStatus,jdbcType=INTEGER}
- </if>
- <if test="plan.planStatus == null">
- and t1.plan_status != 0
- </if>
- <if test="plan.taskType != null">
- and t1.task_type = #{plan.taskType,jdbcType=INTEGER}
- </if>
- <if test="plan.currentUsers != null">
- and INSTR(t1.current_users,#{plan.currentUsers})
- </if>
- <if test="plan.startDate != null and plan.endDate != null">
- and t1.date_create >= date_format(#{plan.startDate,jdbcType=VARCHAR},'%Y-%c-%d')
- and t1.date_create <= DATE_ADD(date_format(#{plan.endDate,jdbcType=VARCHAR},'%Y-%c-%d'),INTERVAL 1 DAY)
- </if>
- </where>
- order by t1.date_create
- </select>
- <!--待处理权限-->
- <select id="selectPendingPower" resultType="java.lang.Integer" parameterType="map">
- select count(1) from sc_plan_manage
- where id = #{id,jdbcType=INTEGER} and INSTR(current_users,#{currentUsers,jdbcType=VARCHAR})
- </select>
- <!--查询流程节点-->
- <select id="selectTaskName" resultType="map" parameterType="map">
- select distinct current_task_name 任务节点,task_type 任务类型 from sc_plan_manage
- where INSTR(current_users,#{currentUsers,jdbcType=VARCHAR})
- <if test="taskType != null">
- and task_type = #{taskType,jdbcType=INTEGER}
- </if>
- order by task_type
- </select>
- <!--删除-->
- <delete id="batchDelete">
- delete from sc_plan_manage
- where plan_status = 0
- and id in
- <foreach collection="ids" item="item" open="(" close=")" separator=",">
- #{item}
- </foreach>
- </delete>
- <select id="selectPlanDetail" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
- select t1.*,t2.flow_detail
- from sc_plan_manage t1
- left join sc_work_flow_detail t2 on t1.id=t2.flow_id and t2.flow_type=1
- where t1.id = #{id,jdbcType=INTEGER}
- </select>
- </mapper>
|