From 1e1814178edf84090b28492bbad340ab13e5c169 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 22 七月 2025 18:16:34 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 110 insertions(+), 7 deletions(-) diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml index fe1048b..b043a6b 100644 --- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml @@ -80,6 +80,8 @@ <result property="isVisitAgain" column="is_visit_again"/> <result property="upid" column="upid"/> <result property="visitTime" column="visit_time"/> + <result property="visitDeptName" column="visit_dept_name"/> + <result property="visitDeptCode" column="visit_dept_code"/> </resultMap> <resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2"> @@ -95,6 +97,8 @@ task_guid, patfrom, upid, + visit_dept_name, + visit_dept_code, visit_time, inhospid, visit_count, @@ -165,7 +169,9 @@ leavehospitaldistrictcode, leavehospitaldistrictname, leavediagname, - leaveicd10code + leaveicd10code, + orgid, + visit_type from service_subtask </sql> @@ -181,6 +187,9 @@ </if> <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and leavehospitaldistrictname = #{leavehospitaldistrictname} + </if> + <if test="leavediagname != null and leavediagname != ''">and leavediagname like concat('%', + #{leavediagname}, '%') </if> <if test="sex != null and sex != ''">and sex = #{sex}</if> <if test="age != null ">and age = #{age}</if> @@ -289,11 +298,11 @@ <if test="excep != null ">and excep = #{excep}</if> <if test="nurseName != null ">and nurse_name = #{nurseName}</if> <if test="score != null">and score = #{score}</if> -<!-- <if test="visitCount != null">and visit_count = #{visitCount}</if>--> - <if test="visit_count_flag != null and visit_count_flag == 0"> + <!-- <if test="visitCount != null">and visit_count = #{visitCount}</if>--> + <if test="visitCount != null and visitCount == 1"> AND visit_count = 1 </if> - <if test="visit_count_flag != null and visit_count_flag == 1"> + <if test="visitCount != null and visitCount > 1"> AND visit_count > 1 </if> <if test="remark != null">and remark = #{remark}</if> @@ -302,6 +311,16 @@ <if test="taskGuid != null">and task_guid = #{taskGuid}</if> <if test="isVisitAgain != null">and is_visit_again = #{isVisitAgain}</if> <if test="visitTime != null">and visit_time = #{visitTime}</if> + <!--<if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if> + <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>--> + <if test="visitCount != null and visitCount > 1 and visitDeptCodes != null and visitDeptCodes.size() > 0"> + AND visit_dept_code IN + <foreach collection="visitDeptCodes" item="visitDeptCodes" open="(" + separator="," + close=")"> + #{visitDeptCodes} + </foreach> + </if> </where> <if test="sort != null and sort==0">order by endtime asc</if> <if test="sort != null and sort==1">order by endtime desc</if> @@ -328,6 +347,8 @@ <if test="upid != null ">and upid = #{upid}</if> <if test="visitCount != null ">and visit_count = #{visitCount}</if> <if test="isVisitAgain != null ">and is_visit_again = #{isVisitAgain}</if> + <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if> + <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if> </where> </select> @@ -380,6 +401,8 @@ <if test="excep != null ">and excep = #{excep}</if> <if test="nurseName != null ">and nurse_name = #{nurseName}</if> <if test="visitTime != null ">and visit_time = #{visitTime}</if> + <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if> + <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if> </where> </select> @@ -390,6 +413,63 @@ JOIN service_subtask b on a.taskid = b.taskid and a.pat_cycle = 0 and b.del_flag = 0 where b.taskid = #{taskid} and b.patid = #{patid} + </select> + + <select id="selectTimelyRate" parameterType="com.smartor.domain.ServiceSubtask" resultType="double"> + SELECT sum( a.finished )/ sum( 1 ) FROM + (SELECT id, visit_time, finishtime, + (CASE WHEN ( DATE_FORMAT( visit_time, '%y%m%d' )< DATE_FORMAT( IF ( ISNULL( finishtime ), NOW(), finishtime + ), '%y%m%d' ) ) + THEN 1 ELSE 0 END ) finished,1 AS tasknumber FROM service_subtask + WHERE del_flag=0 + <if test="starttime == null and endtime==null"> + AND visit_time < NOW() + </if> + <if test="starttime != null and endtime!=null"> + AND date_format(visit_time,'%y%m%d') >= date_format(#{starttime},'%y%m%d') + AND date_format(visit_time,'%y%m%d') <= date_format(#{endtime},'%y%m%d') + </if> + <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if> + <if test="deptcode != null and deptcode != ''">and deptcode = #{deptcode}</if> + <if test="deptname != null and deptname != ''">and deptname = #{deptname}</if> + <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''">and + leavehospitaldistrictcode = #{leavehospitaldistrictcode} + </if> + <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and + leavehospitaldistrictname = #{leavehospitaldistrictname} + </if> + ) a + </select> + + <select id="selectTimelyRateDetail" parameterType="com.smartor.domain.ServiceSubtask" + resultMap="ServiceSubtaskResult"> + <include refid="selectServiceSubtaskVo"/> + <where> + id in ( + SELECT id FROM + (SELECT id, visit_time, finishtime, + (CASE WHEN ( DATE_FORMAT( visit_time, '%y%m%d' ) < DATE_FORMAT( IF ( ISNULL( finishtime ), NOW(), + finishtime + ), '%y%m%d' ) ) + THEN 1 ELSE 0 END ) finished,1 AS tasknumber FROM service_subtask + WHERE del_flag=0 + -- AND visit_time < NOW() + <if test="starttime != null and endtime!=null"> + AND date_format(visit_time,'%y%m%d') >= date_format(#{starttime},'%y%m%d') + AND date_format(visit_time,'%y%m%d') <= date_format(#{endtime},'%y%m%d') + </if> + <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if> + <if test="deptcode != null and deptcode != ''">and deptcode = #{deptcode}</if> + <if test="deptname != null and deptname != ''">and deptname = #{deptname}</if> + <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''">and + leavehospitaldistrictcode = #{leavehospitaldistrictcode} + </if> + <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and + leavehospitaldistrictname = #{leavehospitaldistrictname} + </if> + + ) a where a.finished =1) + </where> </select> <select id="selectServiceSubtaskById" parameterType="Long" resultMap="ServiceSubtaskResult"> @@ -477,7 +557,9 @@ <if test="visitCount != null ">visit_count,</if> <if test="isVisitAgain != null ">is_visit_again,</if> <if test="upid != null ">upid,</if> - <if test="visit_time != null ">visitTime,</if> + <if test="visitTime != null ">visit_Time,</if> + <if test="visitDeptCode != null">visit_dept_code,</if> + <if test="visitDeptName != null">visit_dept_name,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="sendname != null">#{sendname},</if> @@ -557,6 +639,8 @@ <if test="isVisitAgain != null ">#{isVisitAgain},</if> <if test="upid != null ">#{upid},</if> <if test="visitTime != null ">#{visitTime},</if> + <if test="visitDeptCode != null">#{visitDeptCode},</if> + <if test="visitDeptName != null">#{visitDeptName},</if> </trim> </insert> @@ -641,6 +725,8 @@ <if test="isVisitAgain != null ">is_visit_again=#{isVisitAgain},</if> <if test="upid != null ">upid=#{upid},</if> <if test="visitTime != null ">visit_time=#{visitTime},</if> + <if test="visitDeptCode != null">visit_dept_code = #{visitDeptCode},</if> + <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if> </trim> where id = #{id} </update> @@ -726,6 +812,8 @@ <if test="isVisitAgain != null ">is_visit_again=#{isVisitAgain},</if> <if test="upid != null ">upid=#{upid},</if> <if test="visitTime != null ">visit_time=#{visitTime},</if> + <if test="visitDeptCode != null">visit_dept_code = #{visitDeptCode},</if> + <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if> </trim> <where> <if test="patid != null ">and patid = #{patid}</if> @@ -813,6 +901,8 @@ <if test="patguid != null ">patguid=#{patguid},</if> <if test="upid != null ">upid=#{upid},</if> <if test="visitTime != null ">visit_time=#{visitTime},</if> + <if test="visitDeptCode != null">visit_dept_code = #{visitDeptCode},</if> + <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if> </trim> where patid = #{patid} and taskid = #{taskid} </update> @@ -897,6 +987,8 @@ <if test="patguid != null ">patguid=#{patguid},</if> <if test="upid != null ">upid=#{upid},</if> <if test="visitTime != null ">visit_time=#{visitTime},</if> + <if test="visitDeptCode != null">visit_dept_code = #{visitDeptCode},</if> + <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if> </trim> where task_guid = #{taskGuid} and task_name = #{taskName} </update> @@ -930,6 +1022,13 @@ #{leavehospitaldistrictcode} </foreach> </if> + <if test="deptcodes != null and deptcodes.size() > 0"> + AND deptcode IN + <foreach collection="deptcodes" item="deptcode" open="(" separator="," + close=")"> + #{deptcode} + </foreach> + </if> <if test="serviceType != null and serviceType.size() > 0"> AND service_type IN <foreach collection="serviceType" item="serviceType" open="(" separator="," @@ -938,9 +1037,11 @@ </foreach> </if> <if test="startTime != null and endTime!=null"> - AND endtime > #{startTime} - AND endtime <= #{endTime} + AND date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d') + AND date_format(visit_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') </if> + <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if> + <if test="visitDeptName != null">abd visit_dept_name = #{visitDeptName}</if> </where> </select> @@ -1016,6 +1117,8 @@ task_guid, leavediagname, patguid, + visitDeptCode, + visitDeptName, leaveicd10code FROM service_subtask, JSON_TABLE(send_time_slot, '$[*]' COLUMNS ( -- Gitblit v1.9.3