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,
2022-11-23 13:40:07 +08:00
IsFinish, del_state,file,
2022-09-23 17:04:45 +08:00
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},
2022-11-23 13:40:07 +08:00
#{oaTask.isfinish,jdbcType=VARCHAR},#{oaTask.file},
2022-09-30 16:01:38 +08:00
#{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-11-18 17:39:44 +08:00
select ot.OATaskId,ty.name as taskTypeName,od.OADistributionId,ot.title,u.SysUserName as send_name,u.SysDeptName as unit_name,ot.AppStatus,ot.EndDate as enddate
from OADistribution od
join OATask ot
on od.OATaskId = ot.OATaskId
join sysuser u on ot.send_id = u.SysUserId
join oa_task_type ty on ot.TaskType = ty.type_id
2022-11-23 13:40:07 +08:00
where ot.subject like #{condition} and ot.send_id = #{sendId}
GROUP BY ot.OATaskId
2022-09-28 16:29:17 +08:00
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-11-18 09:16:53 +08:00
select ot.OATaskId,oa.OADistributionId,ty.name as taskTypeName,ot.title,u.SysUserName as send_name,u.SysDeptName as unitName,oa.AppStatus,ot.EndDate as enddate
2022-10-27 17:24:20 +08:00
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
2022-11-03 09:11:28 +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
<!-- 定义resultMap -->
<resultMap id= "TaskDetail" type= "com.rzyc.bean.task.vo.TaskDetailVo" >
<id column= "OATaskId" property= "oataskid" />
2022-11-17 09:35:20 +08:00
<result column= "TaskType" property= "taskType" />
<result column= "SendId" property= "sendId" />
2022-09-30 16:01:38 +08:00
<result column= "StartDate" property= "startdate" />
<result column= "EndDate" property= "enddate" />
2022-11-03 15:46:25 +08:00
<result column= "remark" property= "remark" />
<result column= "content" property= "content" />
<result column= "workState" property= "workState" />
2022-09-30 16:01:38 +08:00
<collection property= "distributions" resultMap= "OADistributionVo" />
</resultMap>
<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" />
2022-11-03 15:46:25 +08:00
<result column= "title" property= "title" />
<result column= "Subject" property= "subject" />
2022-09-30 16:01:38 +08:00
<result column= "start_time" property= "startTime" />
<result column= "end_time" property= "endTime" />
2022-11-03 15:46:25 +08:00
<result column= "AppStatus" property= "appStatus" />
2022-09-30 16:01:38 +08:00
</resultMap>
2022-10-20 17:29:33 +08:00
2022-11-03 09:11:28 +08:00
<!-- 发布任务详情 -->
2022-09-30 16:01:38 +08:00
<select id= "selectDetail" resultMap= "TaskDetail" >
2022-11-17 09:35:20 +08:00
select ot.oataskid,ot.taskType,ot.send_id as sendId,ot.title as remark,ot.subject as content,ot.startdate,ot.enddate,ot.AppStatus as workState,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-11-01 10:48:22 +08:00
<resultMap id= "ReceiveTail" type= "com.rzyc.bean.task.vo.ReceiveTaskVo" >
<id column= "OATaskId" property= "oataskid" />
<result column= "StartDate" property= "startdate" />
<result column= "EndDate" property= "enddate" />
2022-11-03 15:46:25 +08:00
<result column= "remark" property= "remark" />
<result column= "content" property= "content" />
2022-11-23 13:40:07 +08:00
<result column= "taskState" property= "taskState" />
2022-11-01 10:48:22 +08:00
<association property= "oaDistributionVo" javaType= "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" />
2022-11-03 15:46:25 +08:00
<result column= "title" property= "title" />
<result column= "Subject" property= "subject" />
2022-11-01 10:48:22 +08:00
<result column= "start_time" property= "startTime" />
<result column= "end_time" property= "endTime" />
2022-11-03 15:46:25 +08:00
<result column= "AppStatus" property= "appStatus" />
2022-11-09 11:03:55 +08:00
<result column= "CreatedOn" property= "createdOn" />
<result column= "ModifiedOn" property= "modifiedOn" />
2022-11-18 09:16:53 +08:00
<result column= "flow_time" property= "flowTime" />
2022-11-01 10:48:22 +08:00
</association>
</resultMap>
<!-- 收到任务详情 -->
<select id= "selectReceive" resultMap= "ReceiveTail" >
2022-11-23 13:40:07 +08:00
select ot.oataskid,ot.title as remark,ot.subject as content,ot.startdate,ot.enddate,ot.AppStatus as taskState,od.*
2022-11-01 10:48:22 +08:00
from OADistribution od
join OATask ot
on ot.oataskid = od.oataskid
where od.OADistributionId = #{OADistributionId}
</select>
2022-11-03 09:11:28 +08:00
2022-10-21 16:24:29 +08:00
<!-- 查询待办事项 -->
2022-11-10 17:34:05 +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-11-03 15:46:25 +08:00
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-11-21 10:45:00 +08:00
select ot.OATaskId,oa.OADistributionId,ty.name as tasktype,ot.Subject,ot.StartDate,ot.EndDate
2022-10-20 17:29:33 +08:00
from oatask ot
2022-11-21 10:45:00 +08:00
join oa_task_type ty
2022-10-20 17:29:33 +08:00
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-11-21 10:45:00 +08:00
<if test= "userId != null and userId != ''" >
and oa.SysUserId = #{userId}
</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},
2022-11-23 13:40:07 +08:00
ot.IsFinish = #{OATask.isfinish},ot.del_state = #{OATask.delState},ot.file = #{OATask.file},
2022-10-21 16:24:29 +08:00
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-11-03 15:46:25 +08:00
2022-11-03 09:11:28 +08:00
<select id= "getUserNameList" resultType= "com.rzyc.bean.task.vo.UserVo" >
select SysUserId,ChinaName from sysuser where SysUserId in(#{ids})
</select>
2022-11-03 15:46:25 +08:00
<select id= "selectWorkState" resultType= "com.rzyc.bean.task.vo.WorkStateVo" >
select od.AppStatus
from OADistribution od
join oatask ot
on ot.OATaskId = od.OATaskId
where ot.OATaskId = #{id}
</select>
2022-11-09 16:45:25 +08:00
2022-09-16 15:07:17 +08:00
</mapper>