2022-09-16 15:07:17 +08:00
|
|
|
<?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.rzyc.mapper.OATaskMapper">
|
|
|
|
|
<resultMap id="BaseResultMap" type="com.rzyc.model.OATask">
|
|
|
|
|
<id column="OATaskId" jdbcType="VARCHAR" property="oataskid" />
|
|
|
|
|
<result column="TaskType" jdbcType="VARCHAR" property="tasktype" />
|
2022-09-20 14:54:58 +08:00
|
|
|
<result column="OTCId" jdbcType="VARCHAR" property="otcid" />
|
2022-09-16 15:07:17 +08:00
|
|
|
<result column="SysPercent" jdbcType="INTEGER" property="syspercent" />
|
|
|
|
|
<result column="StartDate" jdbcType="TIMESTAMP" property="startdate" />
|
|
|
|
|
<result column="EndDate" jdbcType="TIMESTAMP" property="enddate" />
|
|
|
|
|
<result column="PlanEndDate" jdbcType="TIMESTAMP" property="planenddate" />
|
|
|
|
|
<result column="AppStatus" jdbcType="VARCHAR" property="appstatus" />
|
|
|
|
|
<result column="Subject" jdbcType="VARCHAR" property="subject" />
|
|
|
|
|
<result column="Frequency" jdbcType="BIGINT" property="frequency" />
|
|
|
|
|
<result column="IsFinish" jdbcType="VARCHAR" property="isfinish" />
|
|
|
|
|
<result column="RedAlert" jdbcType="VARCHAR" property="redAlert" />
|
|
|
|
|
<result column="YellowAlert" jdbcType="VARCHAR" property="yellowAlert" />
|
|
|
|
|
<result column="totalFrequency" jdbcType="BIGINT" property="totalFrequency" />
|
|
|
|
|
<result column="CreatedOn" jdbcType="TIMESTAMP" property="createdon" />
|
|
|
|
|
<result column="CreatedBy" jdbcType="VARCHAR" property="createdby" />
|
|
|
|
|
<result column="ModifiedOn" jdbcType="TIMESTAMP" property="modifiedon" />
|
|
|
|
|
<result column="ModifiedBy" jdbcType="VARCHAR" property="modifiedby" />
|
|
|
|
|
</resultMap>
|
2022-09-20 14:54:58 +08:00
|
|
|
|
|
|
|
|
|
2022-09-16 15:07:17 +08:00
|
|
|
<sql id="Base_Column_List">
|
2022-09-20 14:54:58 +08:00
|
|
|
OATaskId, TaskType,OTCId,send_id,SysPercent,
|
|
|
|
|
StartDate, EndDate, PlanEndDate, AppStatus, title,Subject, Frequency,
|
|
|
|
|
IsFinish, CreatedOn, CreatedBy,
|
2022-09-16 15:07:17 +08:00
|
|
|
ModifiedOn, ModifiedBy
|
|
|
|
|
</sql>
|
2022-09-20 14:54:58 +08:00
|
|
|
|
2022-09-16 15:07:17 +08:00
|
|
|
<insert id="insert" parameterType="com.rzyc.model.OATask">
|
2022-09-20 14:54:58 +08:00
|
|
|
insert into OATask (OATaskId, TaskType,OTCId,send_id,
|
|
|
|
|
SysPercent,
|
2022-09-16 15:07:17 +08:00
|
|
|
StartDate, EndDate, PlanEndDate,
|
2022-09-20 14:54:58 +08:00
|
|
|
AppStatus,title, Subject, AttachmentFlag,Frequency,
|
2022-09-16 15:07:17 +08:00
|
|
|
Priority, IsFinish, OALabel,
|
|
|
|
|
LinkedUrl, ReadBack, OTCId,del_state,
|
|
|
|
|
OTCType, CreatedOn, CreatedBy,
|
|
|
|
|
ModifiedOn, ModifiedBy, DocBody
|
|
|
|
|
)
|
2022-09-20 14:54:58 +08:00
|
|
|
values (#{oataskid,jdbcType=VARCHAR},
|
|
|
|
|
#{tasktype,jdbcType=VARCHAR},
|
|
|
|
|
#{otcid,jdbcType=VARCHAR},
|
|
|
|
|
#{sendId,jdbcType=VARCHAR},
|
|
|
|
|
#{syspercent,jdbcType=INTEGER},
|
2022-09-16 15:07:17 +08:00
|
|
|
#{startdate,jdbcType=TIMESTAMP}, #{enddate,jdbcType=TIMESTAMP}, #{planenddate,jdbcType=TIMESTAMP},
|
2022-09-20 14:54:58 +08:00
|
|
|
#{appstatus,jdbcType=VARCHAR},
|
|
|
|
|
#{title,jdbcType=VARCHAR},
|
|
|
|
|
#{subject,jdbcType=VARCHAR},
|
2022-09-16 15:07:17 +08:00
|
|
|
#{frequency,jdbcType=BIGINT},
|
2022-09-20 14:54:58 +08:00
|
|
|
#{isfinish,jdbcType=VARCHAR},
|
|
|
|
|
#{delState,jdbcType=VARCHAR},#{createdon,jdbcType=TIMESTAMP}, #{createdby,jdbcType=VARCHAR},
|
|
|
|
|
#{modifiedon,jdbcType=TIMESTAMP}, #{modifiedby,jdbcType=VARCHAR}
|
2022-09-16 15:07:17 +08:00
|
|
|
)
|
|
|
|
|
</insert>
|
2022-09-20 14:54:58 +08:00
|
|
|
|
2022-09-16 15:07:17 +08:00
|
|
|
|
|
|
|
|
<!--任务列表-->
|
|
|
|
|
<resultMap id="TaskResultMap" type="com.rzyc.model.OATask">
|
|
|
|
|
<id column="OATaskId" jdbcType="VARCHAR" property="oataskid" />
|
|
|
|
|
<result column="TaskType" jdbcType="VARCHAR" property="tasktype" />
|
2022-09-20 14:54:58 +08:00
|
|
|
<result column="OTCId" jdbcType="VARCHAR" property="otcid" />
|
2022-09-16 15:07:17 +08:00
|
|
|
<result column="SysPercent" jdbcType="INTEGER" property="syspercent" />
|
|
|
|
|
<result column="StartDate" jdbcType="TIMESTAMP" property="startdate" />
|
|
|
|
|
<result column="EndDate" jdbcType="TIMESTAMP" property="enddate" />
|
|
|
|
|
<result column="PlanEndDate" jdbcType="TIMESTAMP" property="planenddate" />
|
|
|
|
|
<result column="AppStatus" jdbcType="VARCHAR" property="appstatus" />
|
|
|
|
|
<result column="Subject" jdbcType="VARCHAR" property="subject" />
|
|
|
|
|
<result column="Frequency" jdbcType="BIGINT" property="frequency" />
|
|
|
|
|
<result column="totalFrequency" jdbcType="BIGINT" property="totalFrequency" />
|
|
|
|
|
<result column="IsFinish" jdbcType="VARCHAR" property="isfinish" />
|
|
|
|
|
<result column="RedAlert" jdbcType="VARCHAR" property="redAlert" />
|
|
|
|
|
<result column="YellowAlert" jdbcType="VARCHAR" property="yellowAlert" />
|
|
|
|
|
<result column="CreatedOn" jdbcType="TIMESTAMP" property="createdon" />
|
|
|
|
|
<result column="CreatedBy" jdbcType="VARCHAR" property="createdby" />
|
|
|
|
|
<result column="ModifiedOn" jdbcType="TIMESTAMP" property="modifiedon" />
|
|
|
|
|
<result column="ModifiedBy" jdbcType="VARCHAR" property="modifiedby" />
|
|
|
|
|
<result column="checkNum" jdbcType="BIGINT" property="checkNum" />
|
|
|
|
|
<result column="AppStatus" jdbcType="VARCHAR" property="appstatus" />
|
|
|
|
|
<result column="ChinaName" jdbcType="VARCHAR" property="sendName" />
|
|
|
|
|
<result column="taskStatus" jdbcType="VARCHAR" property="taskStatus" />
|
|
|
|
|
<result column="UnitName" jdbcType="VARCHAR" property="unitName" />
|
|
|
|
|
</resultMap>
|
|
|
|
|
|
|
|
|
|
<!--发布任务列表-->
|
|
|
|
|
<select id="sendTaskPage" resultMap="TaskResultMap">
|
|
|
|
|
SELECT
|
|
|
|
|
su.`ChinaName`,
|
|
|
|
|
(SELECT COUNT(*) FROM OADistribution ob WHERE ob.OATaskId = ot.OATaskId AND ob.AppStatus = '已读') checkNum,
|
|
|
|
|
ot.*
|
|
|
|
|
FROM OATask ot
|
|
|
|
|
left join SysUser su on su.SysUserId = ot.`CreatedBy`
|
|
|
|
|
WHERE ot.`TaskPerson` = #{sysUserId}
|
|
|
|
|
AND ot.`Subject` LIKE #{condition}
|
|
|
|
|
<foreach collection ="entTasks" item="entTask" index= "index" >
|
|
|
|
|
AND ot.TaskType != #{entTask}
|
|
|
|
|
</foreach>
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
ORDER BY ot.CreatedOn DESC
|
|
|
|
|
LIMIT #{start},#{end};
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--发布任务总数-->
|
|
|
|
|
<select id="countSendTask" resultType="java.lang.Long">
|
|
|
|
|
SELECT
|
|
|
|
|
count(*)
|
|
|
|
|
FROM OATask ot
|
|
|
|
|
WHERE ot.`TaskPerson` = #{sysUserId}
|
|
|
|
|
AND ot.`Subject` LIKE #{condition}
|
|
|
|
|
<foreach collection ="entTasks" item="entTask" index= "index" >
|
|
|
|
|
AND ot.TaskType != #{entTask}
|
|
|
|
|
</foreach>
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--接收任务列表-->
|
|
|
|
|
<select id="receiveTaskPage" resultMap="TaskResultMap">
|
|
|
|
|
SELECT lf.PerformClassName ChinaName,ob.`AppStatus` taskStatus,
|
|
|
|
|
lt.RedAlert,lt.YellowAlert,
|
|
|
|
|
lt.Frequency totalFrequency,ot.*
|
|
|
|
|
FROM OATask ot
|
|
|
|
|
LEFT JOIN OADistribution ob ON ob.`OATaskId` = ot.`OATaskId`
|
|
|
|
|
LEFT JOIN SysUser su ON su.`SysUserId` = ot.`TaskPerson`
|
|
|
|
|
left join ListPerform lf on su.SysTitle = lf.ListPerformId
|
|
|
|
|
left join ListFactor lt on ot.OTCId = lt.listFactorId
|
|
|
|
|
WHERE ot.`Subject` LIKE '%%'
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
<if test="null != tasktype and '' != tasktype " >
|
|
|
|
|
<if test=" '履职任务' == tasktype">
|
|
|
|
|
AND (ot.TaskType is null or ot.TaskType = '履职任务')
|
|
|
|
|
AND ot.StartDate <= #{startTime}
|
|
|
|
|
AND (ot.IsFinish IS NULL OR ot.IsFinish = '否')
|
|
|
|
|
and lt.del_state = 1
|
|
|
|
|
</if>
|
|
|
|
|
<if test=" '履职任务' != tasktype">
|
|
|
|
|
AND ot.TaskType = #{tasktype}
|
|
|
|
|
</if>
|
|
|
|
|
</if>
|
|
|
|
|
AND (ob.`SysUserId` IN (
|
|
|
|
|
<foreach collection ="sysUserIds" item="sysUserId" index= "index" separator =",">
|
|
|
|
|
#{sysUserId}
|
|
|
|
|
</foreach>
|
|
|
|
|
)
|
|
|
|
|
<if test="null != otcIds and otcIds.size > 0 ">
|
|
|
|
|
OR ot.OTCId IN (
|
|
|
|
|
<foreach collection ="otcIds" item="otcId" index= "index" separator =",">
|
|
|
|
|
#{otcId}
|
|
|
|
|
</foreach>
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
)
|
|
|
|
|
AND ot.`OATaskId` IS NOT NULL
|
|
|
|
|
ORDER BY ot.OTCId ASC ,ot.`StartDate` DESC
|
|
|
|
|
LIMIT #{start},#{end};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--接收任务列表-->
|
|
|
|
|
<select id="countReceiveTask" resultType="java.lang.Long">
|
|
|
|
|
SELECT count(*) FROM OATask ot
|
|
|
|
|
LEFT JOIN OADistribution ob ON ob.`OATaskId` = ot.`OATaskId`
|
|
|
|
|
LEFT JOIN SysUser su ON su.`SysUserId` = ot.`CreatedBy`
|
|
|
|
|
WHERE ot.`Subject` LIKE '%%'
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
<if test="null != tasktype and '' != tasktype " >
|
|
|
|
|
<if test=" '履职任务' == tasktype">
|
|
|
|
|
AND (ot.TaskType is null or ot.TaskType = '履职任务')
|
|
|
|
|
AND ot.StartDate <= #{startTime}
|
|
|
|
|
AND (ot.IsFinish IS NULL OR ot.IsFinish = '否')
|
|
|
|
|
</if>
|
|
|
|
|
<if test=" '履职任务' != tasktype">
|
|
|
|
|
AND ot.TaskType = #{tasktype}
|
|
|
|
|
</if>
|
|
|
|
|
</if>
|
|
|
|
|
AND (ob.`SysUserId` IN (
|
|
|
|
|
<foreach collection ="sysUserIds" item="sysUserId" index= "index" separator =",">
|
|
|
|
|
#{sysUserId}
|
|
|
|
|
</foreach>
|
|
|
|
|
)
|
|
|
|
|
<if test="null != otcIds and otcIds.size > 0 ">
|
|
|
|
|
OR ot.OTCId IN (
|
|
|
|
|
<foreach collection ="otcIds" item="otcId" index= "index" separator =",">
|
|
|
|
|
#{otcId}
|
|
|
|
|
</foreach>
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
)
|
|
|
|
|
AND ot.`OATaskId` IS NOT NULL
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--通过otcid查询任务-->
|
|
|
|
|
<select id="findByOtcId" resultMap="TaskResultMap">
|
|
|
|
|
SELECT lt.Frequency totalFrequency,ot.* FROM `OATask` ot
|
|
|
|
|
left join ListFactor lt on ot.OTCId = lt.listFactorId
|
|
|
|
|
WHERE ot.OTCId IN (
|
|
|
|
|
<foreach collection ="otcIds" item="otcId" index= "index" separator =",">
|
|
|
|
|
#{otcId}
|
|
|
|
|
</foreach>
|
|
|
|
|
)
|
|
|
|
|
AND ot.StartDate <= NOW()
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
and lf.del_state = 1
|
|
|
|
|
ORDER BY ot.OTCId ASC ,ot.`StartDate` DESC
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--修改任务完成状态-->
|
|
|
|
|
<update id="changeIsFinish">
|
|
|
|
|
UPDATE `OATask` SET IsFinish = '是' ,
|
|
|
|
|
EndDate = now()
|
|
|
|
|
WHERE OATaskId IN (
|
|
|
|
|
<foreach collection ="taskIds" item="taskId" index= "index" separator =",">
|
|
|
|
|
#{taskId}
|
|
|
|
|
</foreach>
|
|
|
|
|
)
|
|
|
|
|
</update>
|
|
|
|
|
|
|
|
|
|
<!--任务详情-->
|
|
|
|
|
<select id="taskDetail" resultMap="TaskResultMap">
|
|
|
|
|
SELECT ob.`AppStatus` taskStatus,ot.* FROM OATask ot
|
|
|
|
|
LEFT JOIN `OADistribution` ob ON ot.OATaskId = ob.OATaskId
|
|
|
|
|
AND ob.SysUserId = #{sysUserId}
|
|
|
|
|
WHERE ot.OATaskId = #{taskId}
|
|
|
|
|
LIMIT 1;
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--通过月份查询履职信息-->
|
|
|
|
|
<select id="findByMonths" resultMap="TaskResultMap">
|
|
|
|
|
SELECT * FROM `OATask` ot WHERE ot.`OTCId` = #{otcId}
|
|
|
|
|
AND ot.`TaskType` = '履职任务'
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
AND (
|
|
|
|
|
<foreach collection ="times" item="time" index= "index" separator ="or">
|
|
|
|
|
ot.`StartDate` LIKE #{time}
|
|
|
|
|
</foreach>
|
|
|
|
|
)
|
|
|
|
|
;
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--查询企业消息通知-->
|
|
|
|
|
<select id="findByEntId" resultMap="TaskResultMap">
|
|
|
|
|
SELECT su.`UnitName`,ot.* FROM OATask ot
|
|
|
|
|
LEFT JOIN SysUnit su ON su.sysunitid = ot.`TaskDepart`
|
|
|
|
|
WHERE ot.`OTCId` = #{entId}
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
ORDER BY ot.`CreatedBy` DESC
|
|
|
|
|
LIMIT #{start},#{end};
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--企业消息通知总数-->
|
|
|
|
|
<select id="countByEntId" resultType="java.lang.Long">
|
|
|
|
|
SELECT count(*) FROM OATask ot
|
|
|
|
|
WHERE ot.`OTCId` = #{entId}
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--修改履职任务-->
|
|
|
|
|
<update id="finshTask">
|
|
|
|
|
UPDATE `OATask` SET IsFinish = '是' ,
|
|
|
|
|
EndDate = NOW() WHERE `TaskType` = '履职任务'
|
|
|
|
|
AND `OTCId` = #{otcId}
|
|
|
|
|
AND `StartDate` <= #{time} AND `PlanEndDate` >= #{time};
|
|
|
|
|
</update>
|
|
|
|
|
|
|
|
|
|
<!--批量导入任务-->
|
|
|
|
|
<insert id="insertList" parameterType="com.rzyc.model.OATask">
|
2022-09-20 14:54:58 +08:00
|
|
|
insert into OATask (OATaskId, TaskType,OTCId,send_id,
|
|
|
|
|
SysPercent,
|
2022-09-16 15:07:17 +08:00
|
|
|
StartDate, EndDate, PlanEndDate,
|
2022-09-20 14:54:58 +08:00
|
|
|
AppStatus, title,Subject,Frequency,
|
|
|
|
|
IsFinish,
|
|
|
|
|
del_state, CreatedOn, CreatedBy,
|
2022-09-27 18:02:34 +08:00
|
|
|
ModifiedOn, ModifiedBy
|
2022-09-16 15:07:17 +08:00
|
|
|
)
|
|
|
|
|
values
|
|
|
|
|
<foreach collection="records" item="record" separator=",">
|
2022-09-20 14:54:58 +08:00
|
|
|
(#{record.oataskid,jdbcType=VARCHAR},
|
2022-09-16 15:07:17 +08:00
|
|
|
#{record.tasktype,jdbcType=VARCHAR},
|
2022-09-20 14:54:58 +08:00
|
|
|
#{record.otcid,jdbcType=VARCHAR},
|
|
|
|
|
#{record.sendId,jdbcType=VARCHAR},
|
2022-09-16 15:07:17 +08:00
|
|
|
#{record.syspercent,jdbcType=INTEGER},
|
|
|
|
|
#{record.startdate,jdbcType=TIMESTAMP}, #{record.enddate,jdbcType=TIMESTAMP},
|
|
|
|
|
#{record.planenddate,jdbcType=TIMESTAMP},
|
2022-09-20 14:54:58 +08:00
|
|
|
#{record.appstatus,jdbcType=VARCHAR},
|
|
|
|
|
#{record.title,jdbcType=VARCHAR},
|
|
|
|
|
#{record.subject,jdbcType=VARCHAR},
|
2022-09-16 15:07:17 +08:00
|
|
|
#{record.frequency,jdbcType=BIGINT},
|
2022-09-20 14:54:58 +08:00
|
|
|
#{record.isfinish,jdbcType=VARCHAR},
|
2022-09-16 15:07:17 +08:00
|
|
|
#{record.delState,jdbcType=VARCHAR},
|
2022-09-20 14:54:58 +08:00
|
|
|
#{record.createdon,jdbcType=TIMESTAMP},
|
2022-09-16 15:07:17 +08:00
|
|
|
#{record.createdby,jdbcType=VARCHAR},
|
2022-09-20 14:54:58 +08:00
|
|
|
#{record.modifiedon,jdbcType=TIMESTAMP}, #{record.modifiedby,jdbcType=VARCHAR}
|
2022-09-16 15:07:17 +08:00
|
|
|
)
|
|
|
|
|
</foreach>
|
|
|
|
|
|
|
|
|
|
</insert>
|
|
|
|
|
|
|
|
|
|
<!--修改任务完成进度-->
|
|
|
|
|
<update id="changeFrequency">
|
|
|
|
|
UPDATE `OATask`
|
|
|
|
|
SET
|
|
|
|
|
Frequency = #{frequency},
|
|
|
|
|
IsFinish = #{isFinish}
|
|
|
|
|
WHERE OATaskId = #{taskId}
|
|
|
|
|
</update>
|
|
|
|
|
|
|
|
|
|
<!--需完成的任务列-->
|
|
|
|
|
<select id="findByOtcIdAndTime" resultMap="BaseResultMap">
|
|
|
|
|
select * from `OATask` ot
|
|
|
|
|
WHERE ot.`TaskType` = '履职任务'
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
AND ot.`OTCId` = #{otcId}
|
|
|
|
|
AND (ot.IsFinish IS NULL OR ot.IsFinish = '否')
|
|
|
|
|
AND ot.`StartDate` <= #{time} AND ot.`PlanEndDate` >= #{time};
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--需完成的任务列-->
|
|
|
|
|
<select id="findByListPerformId" resultMap="BaseResultMap">
|
|
|
|
|
SELECT ot.*,
|
|
|
|
|
lf.RedAlert,lf.YellowAlert,
|
|
|
|
|
lf.Frequency totalFrequency
|
|
|
|
|
FROM `OATask` ot
|
|
|
|
|
LEFT JOIN ListFactor lf ON ot.`OTCId` = lf.`ListFactorId`
|
|
|
|
|
WHERE ot.`TaskType` = '履职任务'
|
|
|
|
|
and lf.del_state = 1
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
AND lf.`ListPerformId` = #{listPerformId}
|
|
|
|
|
AND lf.`SysYear` = #{sysYear}
|
|
|
|
|
<if test="null != isFinish and '' != isFinish">
|
|
|
|
|
AND ot.IsFinish = #{isFinish}
|
|
|
|
|
</if>
|
|
|
|
|
AND ot.`StartDate` < #{time}
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--任务详情-->
|
|
|
|
|
<select id="findById" resultMap="BaseResultMap">
|
|
|
|
|
SELECT ot.* FROM `OATask` ot
|
|
|
|
|
WHERE ot.`OATaskId` = #{taskId}
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--未完成的履职任务-->
|
|
|
|
|
<select id="notFinishTask" resultMap="BaseResultMap">
|
|
|
|
|
SELECT * FROM OATask ot
|
|
|
|
|
WHERE ot.`TaskType` = '履职任务'
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
AND ot.`OTCId` = #{otcId}
|
|
|
|
|
AND ot.`StartDate` < NOW()
|
|
|
|
|
AND ot.`IsFinish` = '否'
|
|
|
|
|
ORDER BY ot.`StartDate` DESC;
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--接收任务列表-->
|
|
|
|
|
<select id="receiveTaskPages" resultMap="TaskResultMap">
|
|
|
|
|
SELECT ob.`AppStatus` taskStatus,ot.*
|
|
|
|
|
FROM OATask ot
|
|
|
|
|
LEFT JOIN OADistribution ob ON ob.`OATaskId` = ot.`OATaskId`
|
|
|
|
|
LEFT JOIN SysUser su ON su.`SysUserId` = ot.`TaskPerson`
|
|
|
|
|
WHERE ot.`Subject` LIKE #{condition}
|
|
|
|
|
and ot.del_state = 1
|
|
|
|
|
<if test="null != tasktype and '' != tasktype " >
|
|
|
|
|
AND ot.TaskType = #{tasktype}
|
|
|
|
|
</if>
|
|
|
|
|
AND ob.`SysUserId` IN (
|
|
|
|
|
<foreach collection ="sysUserIds" item="sysUserId" index= "index" separator =",">
|
|
|
|
|
#{sysUserId}
|
|
|
|
|
</foreach>
|
|
|
|
|
)
|
|
|
|
|
AND ot.TaskType != '履职任务'
|
|
|
|
|
AND ot.`OATaskId` IS NOT NULL
|
|
|
|
|
ORDER BY ot.OTCId ASC ,ot.`StartDate` DESC
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--已完成事项-->
|
|
|
|
|
<select id="countComplete" resultType="java.lang.Integer">
|
|
|
|
|
SELECT count(*)
|
|
|
|
|
FROM `oatask` ot
|
|
|
|
|
LEFT JOIN listfactor lf ON ot.`OTCId` = lf.`ListFactorId`
|
|
|
|
|
WHERE ot.`TaskType` = '履职任务'
|
|
|
|
|
AND ot.`StartDate` <= NOW() AND ot.`IsFinish` = '是'
|
|
|
|
|
AND lf.`ListPerformId` = #{listPerformId}
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--已超时事项-->
|
|
|
|
|
<select id="countOvertime" resultType="java.lang.Integer">
|
|
|
|
|
SELECT count(*)
|
|
|
|
|
FROM `oatask` ot
|
|
|
|
|
LEFT JOIN listfactor lf ON ot.`OTCId` = lf.`ListFactorId`
|
|
|
|
|
WHERE ot.`TaskType` = '履职任务'
|
|
|
|
|
AND ot.`PlanEndDate` <= NOW() AND ot.`IsFinish` = '否'
|
|
|
|
|
AND lf.`ListPerformId` = #{listPerformId}
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!--进行中事项-->
|
|
|
|
|
<select id="countConduct" resultType="java.lang.Integer">
|
|
|
|
|
SELECT count(*)
|
|
|
|
|
FROM `oatask` ot
|
|
|
|
|
LEFT JOIN listfactor lf ON ot.`OTCId` = lf.`ListFactorId`
|
|
|
|
|
WHERE ot.`TaskType` = '履职任务'
|
|
|
|
|
AND ot.`StartDate` <= NOW() AND ot.`PlanEndDate` >= NOW() AND ot.`IsFinish` = '否'
|
|
|
|
|
AND lf.`ListPerformId` = #{listPerformId}
|
|
|
|
|
</select>
|
|
|
|
|
|
2022-09-23 09:51:31 +08:00
|
|
|
<select id="taskList" resultMap="BaseResultMap">
|
|
|
|
|
select ot.* from oatask ot
|
|
|
|
|
where ot.TaskType like #{condition}
|
|
|
|
|
order by ot.EndDate asc
|
|
|
|
|
</select>
|
2022-09-23 17:04:45 +08:00
|
|
|
|
2022-10-20 17:29:33 +08:00
|
|
|
|
2022-09-23 17:04:45 +08:00
|
|
|
|
|
|
|
|
<insert id="insertTask" parameterType="com.rzyc.model.OATask">
|
2022-09-30 16:01:38 +08:00
|
|
|
insert into OATask (OATaskId, TaskType,OTCId,send_id,user_id,
|
2022-09-23 17:04:45 +08:00
|
|
|
SysPercent,
|
|
|
|
|
StartDate, EndDate, PlanEndDate,
|
|
|
|
|
AppStatus,title, Subject, Frequency,
|
|
|
|
|
IsFinish, del_state,
|
|
|
|
|
CreatedOn, CreatedBy,
|
|
|
|
|
ModifiedOn, ModifiedBy
|
|
|
|
|
)
|
2022-09-30 16:01:38 +08:00
|
|
|
values (#{oaTask.oataskid,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.tasktype,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.otcid,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.sendId,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.userId,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.syspercent,jdbcType=INTEGER},
|
|
|
|
|
#{oaTask.startdate,jdbcType=TIMESTAMP}, #{oaTask.enddate,jdbcType=TIMESTAMP}, #{oaTask.planenddate,jdbcType=TIMESTAMP},
|
|
|
|
|
#{oaTask.appstatus,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.title,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.subject,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.frequency,jdbcType=BIGINT},
|
|
|
|
|
#{oaTask.isfinish,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.delState,jdbcType=VARCHAR},#{oaTask.createdon,jdbcType=TIMESTAMP}, #{oaTask.createdby,jdbcType=VARCHAR},
|
|
|
|
|
#{oaTask.modifiedon,jdbcType=TIMESTAMP}, #{oaTask.modifiedby,jdbcType=VARCHAR}
|
2022-09-23 17:04:45 +08:00
|
|
|
)
|
|
|
|
|
</insert>
|
2022-09-28 16:29:17 +08:00
|
|
|
|
2022-10-27 17:24:20 +08:00
|
|
|
<!--查询我发布的任务-->
|
2022-09-30 16:01:38 +08:00
|
|
|
<select id="deliverTaskList" resultType="com.rzyc.bean.task.vo.TaskVo">
|
2022-10-27 17:24:20 +08:00
|
|
|
select ot.OATaskId,ty.name as taskTypeName,ot.title,u.SysUserName as send_name,u.SysDeptName as unit_name,ot.EndDate as enddate
|
|
|
|
|
from OATask ot
|
2022-09-30 16:01:38 +08:00
|
|
|
left join sysuser u on ot.send_id = u.SysUserId
|
2022-10-27 17:24:20 +08:00
|
|
|
left join oa_task_type ty on ot.TaskType = ty.type_id
|
2022-09-28 16:29:17 +08:00
|
|
|
where ot.subject like #{condition}
|
|
|
|
|
and ot.send_id = #{sendId}
|
|
|
|
|
order by ot.EndDate asc
|
|
|
|
|
</select>
|
|
|
|
|
|
2022-10-27 17:24:20 +08:00
|
|
|
<!--查询我收到的任务-->
|
2022-09-30 16:01:38 +08:00
|
|
|
<select id="getTaskList" resultType="com.rzyc.bean.task.vo.TaskVo">
|
2022-10-27 17:24:20 +08:00
|
|
|
select ot.OATaskId,ty.name as taskTypeName,ot.title,u.SysUserName as send_name,u.SysDeptName as unit_name,ot.EndDate as enddate
|
|
|
|
|
from OADistribution oa
|
|
|
|
|
left join OATask ot on ot.OATaskId = oa.OATaskId
|
2022-09-30 16:01:38 +08:00
|
|
|
left join sysuser u on ot.send_id = u.SysUserId
|
2022-10-27 17:24:20 +08:00
|
|
|
left join oa_task_type ty on ot.TaskType = ty.type_id
|
2022-09-30 16:01:38 +08:00
|
|
|
where ot.subject like #{condition}
|
2022-10-27 17:24:20 +08:00
|
|
|
and oa.SysUserId = #{sendId}
|
2022-09-28 16:29:17 +08:00
|
|
|
order by ot.EndDate asc
|
|
|
|
|
</select>
|
2022-09-30 16:01:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--定义resultMap-->
|
|
|
|
|
<resultMap id="TaskDetail" type="com.rzyc.bean.task.vo.TaskDetailVo">
|
|
|
|
|
<id column="OATaskId" property="oataskid"/>
|
|
|
|
|
<result column="user_id" property="userId"/>
|
|
|
|
|
<result column="StartDate" property="startdate"/>
|
|
|
|
|
<result column="EndDate" property="enddate"/>
|
|
|
|
|
<result column="title" property="title"/>
|
|
|
|
|
<result column="Subject" property="subject"/>
|
|
|
|
|
<collection property="distributions" resultMap="OADistributionVo"/>
|
|
|
|
|
</resultMap>
|
|
|
|
|
|
2022-10-20 17:29:33 +08:00
|
|
|
|
2022-09-30 16:01:38 +08:00
|
|
|
<resultMap id="OADistributionVo" type="com.rzyc.bean.task.vo.OADistributionVo">
|
|
|
|
|
<id column="OADistributionId" property="oadistributionid"/>
|
|
|
|
|
<result column="OATaskId" property="oataskid"/>
|
|
|
|
|
<result column="sned_id" property="snedId"/>
|
|
|
|
|
<result column="SysUserId" property="sysuserid"/>
|
|
|
|
|
<result column="SysChinaName" property="syschinaname"/>
|
|
|
|
|
<result column="title" property="title"/>
|
|
|
|
|
<result column="Subject" property="subject"/>
|
|
|
|
|
<result column="start_time" property="startTime"/>
|
|
|
|
|
<result column="end_time" property="endTime"/>
|
|
|
|
|
<result column="AppStatus" property="appstatus"/>
|
|
|
|
|
</resultMap>
|
|
|
|
|
|
2022-10-20 17:29:33 +08:00
|
|
|
<resultMap id="WorkMap" type="com.rzyc.bean.task.vo.WorkPriorityVo">
|
|
|
|
|
<id column="OATaskId" property="oataskid"/>
|
|
|
|
|
<result column="title" property="title"/>
|
|
|
|
|
<result column="finishNum" property="finishNum"/>
|
|
|
|
|
<result column="totalNum" property="totalNum"/>
|
|
|
|
|
</resultMap>
|
|
|
|
|
|
2022-09-30 16:01:38 +08:00
|
|
|
<select id="selectDetail" resultMap="TaskDetail">
|
2022-10-27 17:24:20 +08:00
|
|
|
select ot.oataskid,ot.title,ot.subject,ot.startdate,ot.enddate,od.*
|
2022-09-30 16:01:38 +08:00
|
|
|
from OATask ot
|
|
|
|
|
left join OADistribution od
|
2022-10-27 17:24:20 +08:00
|
|
|
on ot.oataskid = od.oataskid
|
2022-09-30 16:01:38 +08:00
|
|
|
where ot.oataskid = #{OATaskId}
|
|
|
|
|
</select>
|
|
|
|
|
|
2022-10-21 16:24:29 +08:00
|
|
|
<!--查询待办事项-->
|
2022-10-20 17:29:33 +08:00
|
|
|
<select id="workList" resultType="com.rzyc.bean.task.vo.WorkPriorityVo">
|
2022-10-31 09:40:53 +08:00
|
|
|
select ot.OATaskId,od.OADistributionId,ot.title,ot.TaskType
|
2022-10-20 17:29:33 +08:00
|
|
|
from oatask ot
|
2022-10-31 09:40:53 +08:00
|
|
|
join OADistribution od on ot.OATaskId = od.OATaskId
|
2022-10-20 17:29:33 +08:00
|
|
|
left join oa_task_type ty
|
|
|
|
|
on ot.TaskType = ty.type_id
|
|
|
|
|
where 1=1
|
|
|
|
|
<if test="workDto.condition != null and workDto.condition != ''">
|
2022-10-27 17:24:20 +08:00
|
|
|
and ot.title like #{workDto.condition}
|
2022-10-20 17:29:33 +08:00
|
|
|
</if>
|
|
|
|
|
<if test="workDto.taskTypeId != null and workDto.taskTypeId != ''">
|
|
|
|
|
and ot.TaskType = #{workDto.taskTypeId}
|
|
|
|
|
</if>
|
2022-10-27 17:24:20 +08:00
|
|
|
<if test="workDto.sysUserId != null and workDto.sysUserId != ''">
|
2022-10-31 09:40:53 +08:00
|
|
|
and od.SysUserId = #{workDto.sysUserId}
|
2022-10-27 17:24:20 +08:00
|
|
|
</if>
|
2022-10-20 17:29:33 +08:00
|
|
|
</select>
|
|
|
|
|
|
2022-10-27 17:24:20 +08:00
|
|
|
<!--待办事项列表-->
|
2022-10-20 17:29:33 +08:00
|
|
|
<select id="thingsList" resultType="com.rzyc.bean.task.vo.ThingVo">
|
2022-10-27 17:24:20 +08:00
|
|
|
select ot.OATaskId,ty.name as tasktype,ot.Subject,ot.StartDate,ot.EndDate
|
2022-10-20 17:29:33 +08:00
|
|
|
from oatask ot
|
|
|
|
|
left join oa_task_type ty
|
|
|
|
|
on ot.TaskType = ty.type_id
|
2022-10-27 17:24:20 +08:00
|
|
|
join OADistribution oa
|
|
|
|
|
on ot.OATaskId = oa.OATaskId
|
2022-10-20 17:29:33 +08:00
|
|
|
where 1=1
|
|
|
|
|
<if test="idDto.condition != null and idDto.condition != ''">
|
|
|
|
|
and ot.TaskType like #{idDto.condition}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="idDto.id != null and idDto.id != ''">
|
|
|
|
|
and ot.TaskType like #{idDto.id}
|
|
|
|
|
</if>
|
2022-10-27 17:24:20 +08:00
|
|
|
order by ot.EndDate asc
|
2022-10-20 17:29:33 +08:00
|
|
|
</select>
|
|
|
|
|
|
2022-10-21 16:24:29 +08:00
|
|
|
<select id="speWorkList" resultType="com.rzyc.bean.task.vo.SpecialWorkVo">
|
2022-10-31 09:40:53 +08:00
|
|
|
select ot.OATaskId,od.OADistributionId,ot.TaskType,ot.Subject,ot.send_id,ot.AppStatus,ot.title,ot.CreatedOn,sys.SysUserName as sendName
|
2022-10-21 16:24:29 +08:00
|
|
|
from oatask ot
|
2022-10-31 09:40:53 +08:00
|
|
|
join OADistribution od on ot.OATaskId = od.OATaskId
|
2022-10-21 16:24:29 +08:00
|
|
|
join oa_task_type ty
|
|
|
|
|
on ot.TaskType = ty.type_id
|
|
|
|
|
join sysuser sys
|
|
|
|
|
on ot.send_id = sys.SysUserId
|
|
|
|
|
where 1=1
|
|
|
|
|
<if test="speWorkDto.condition != null and speWorkDto.condition != ''">
|
2022-10-31 09:40:53 +08:00
|
|
|
and ot.title like #{speWorkDto.condition}
|
2022-10-21 16:24:29 +08:00
|
|
|
</if>
|
|
|
|
|
<if test="speWorkDto.taskTypeId != null and speWorkDto.taskTypeId != ''">
|
|
|
|
|
and ot.TaskType = #{speWorkDto.taskTypeId}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="speWorkDto.sendId != null and speWorkDto.sendId != ''">
|
2022-10-31 09:40:53 +08:00
|
|
|
and od.SysUserId = #{speWorkDto.sendId}
|
2022-10-21 16:24:29 +08:00
|
|
|
</if>
|
|
|
|
|
order by ot.CreatedOn desc
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<select id="selectOATask" resultType="com.rzyc.model.OATask">
|
|
|
|
|
select ot.* from oatask ot where ot.OATaskId = #{oaTaskId}
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<update id="updateOATask" parameterType="com.rzyc.model.OATask">
|
|
|
|
|
update oatask ot
|
|
|
|
|
set ot.TaskType = #{OATask.tasktype},ot.OTCId = #{OATask.otcid},ot.send_id = #{OATask.sendId},
|
|
|
|
|
ot.user_id = #{OATask.userId},ot.SysPercent = #{OATask.syspercent},ot.StartDate = #{OATask.startdate},
|
|
|
|
|
ot.EndDate = #{OATask.enddate},ot.PlanEndDate = #{OATask.planenddate},ot.AppStatus = #{OATask.appstatus},
|
|
|
|
|
ot.title = #{OATask.title},ot.Subject = #{OATask.subject},ot.Frequency = #{OATask.frequency},
|
|
|
|
|
ot.IsFinish = #{OATask.isfinish},ot.del_state = #{OATask.delState},
|
|
|
|
|
ot.CreatedOn = #{OATask.createdon},ot.CreatedBy = #{OATask.createdby},ot.ModifiedOn = #{OATask.modifiedon},ot.ModifiedBy = #{OATask.modifiedby}
|
|
|
|
|
where ot.OATaskId = #{OATask.oataskid}
|
|
|
|
|
</update>
|
2022-10-20 17:29:33 +08:00
|
|
|
|
2022-10-27 17:24:20 +08:00
|
|
|
<!--查询接收人姓名-->
|
|
|
|
|
<select id="selectName" resultType="com.rzyc.model.OATask">
|
|
|
|
|
select s.SysUserName
|
|
|
|
|
from oatask ot
|
|
|
|
|
join sysuser s
|
|
|
|
|
on ot.send_id = s.SysUserId
|
|
|
|
|
where ot.send_id = #{id}
|
|
|
|
|
</select>
|
2022-09-16 15:07:17 +08:00
|
|
|
</mapper>
|