ganzi-api/inventory-dao/src/main/resources/mapper/OATaskMapper.xml

617 lines
23 KiB
XML
Raw Normal View History

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 &lt;= #{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 &lt;= #{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 &lt;= 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` &lt;= #{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` &lt;= #{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` &lt; #{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` &lt; 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` &lt;= 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` &lt;= 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` &lt;= 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">
select ot.OATaskId,oa.OADistributionId,ty.name as taskTypeName,ot.title,u.SysUserName as send_name,u.SysDeptName as unit_name,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
<!--定义resultMap-->
<resultMap id="TaskDetail" type="com.rzyc.bean.task.vo.TaskDetailVo">
<id column="OATaskId" property="oataskid"/>
<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>
<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"/>
<result column="title" property="title"/>
<result column="Subject" property="subject"/>
<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"/>
<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"/>
</association>
</resultMap>
<!--收到任务详情-->
<select id="selectReceive" resultMap="ReceiveTail">
select ot.oataskid,ot.title,ot.subject,ot.startdate,ot.enddate,od.*
from OADistribution od
join OATask ot
on ot.oataskid = od.oataskid
where od.OADistributionId = #{OADistributionId}
</select>
2022-10-21 16:24:29 +08:00
<!--查询待办事项-->
<select id="workList" resultMap="ReceiveTail">
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>