| | |
| | | <sql id="filterLeaveDimAnd"> |
| | | /* f-v3 */ |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> |
| | | AND leavehospitaldistrictcode IN |
| | | AND ( |
| | | leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="lvWardCodeItem" open="(" separator="," close=")"> |
| | | #{lvWardCodeItem} |
| | | </foreach> |
| | | <!-- 延续护理任务(service_type='99')可以在患者还没出院时生成: |
| | | 这类记录只有「在院维度」(hospitaldistrictcode / deptcode),出院维度是 NULL。 |
| | | NULL 不匹配任何 IN,任务会「提示生成成功、列表里却查不到」, |
| | | 所以出院维度为空时用同一套编码体系的在院维度兜底。 --> |
| | | OR (service_type = '99' AND (leavehospitaldistrictcode IS NULL OR leavehospitaldistrictcode = '') |
| | | AND hospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="lvWardCodeItem" open="(" separator="," close=")"> |
| | | #{lvWardCodeItem} |
| | | </foreach>) |
| | | ) |
| | | </if> |
| | | <if test="leaveldeptcodes != null and leaveldeptcodes.size() > 0"> |
| | | AND leaveldeptcode IN |
| | | AND ( |
| | | leaveldeptcode IN |
| | | <foreach collection="leaveldeptcodes" item="lvDeptCodeItem" open="(" separator="," close=")"> |
| | | #{lvDeptCodeItem} |
| | | </foreach> |
| | | OR (service_type = '99' AND (leaveldeptcode IS NULL OR leaveldeptcode = '') |
| | | AND deptcode IN |
| | | <foreach collection="leaveldeptcodes" item="lvDeptCodeItem" open="(" separator="," close=")"> |
| | | #{lvDeptCodeItem} |
| | | </foreach>) |
| | | ) |
| | | </if> |
| | | </sql> |
| | | |
| | |
| | | or (leaveldeptcodes != null and leaveldeptcodes.size() > 0)"> |
| | | AND ( |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> |
| | | ( |
| | | leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="lvWardCodeItem" open="(" separator="," close=")"> |
| | | #{lvWardCodeItem} |
| | | </foreach> |
| | | <!-- 延续护理任务(service_type='99')可以在患者还没出院时生成: |
| | | 这类记录只有「在院维度」(hospitaldistrictcode / deptcode),出院维度是 NULL。 |
| | | NULL 不匹配任何 IN,任务会「提示生成成功、列表里却查不到」, |
| | | 所以出院维度为空时用同一套编码体系的在院维度兜底。 --> |
| | | OR (service_type = '99' AND (leavehospitaldistrictcode IS NULL OR leavehospitaldistrictcode = '') |
| | | AND hospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="lvWardCodeItem" open="(" separator="," close=")"> |
| | | #{lvWardCodeItem} |
| | | </foreach>) |
| | | ) |
| | | </if> |
| | | <if test="(leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0) |
| | | and (leaveldeptcodes != null and leaveldeptcodes.size() > 0)"> |
| | | OR |
| | | </if> |
| | | <if test="leaveldeptcodes != null and leaveldeptcodes.size() > 0"> |
| | | ( |
| | | leaveldeptcode IN |
| | | <foreach collection="leaveldeptcodes" item="lvDeptCodeItem" open="(" separator="," close=")"> |
| | | #{lvDeptCodeItem} |
| | | </foreach> |
| | | OR (service_type = '99' AND (leaveldeptcode IS NULL OR leaveldeptcode = '') |
| | | AND deptcode IN |
| | | <foreach collection="leaveldeptcodes" item="lvDeptCodeItem" open="(" separator="," close=")"> |
| | | #{lvDeptCodeItem} |
| | | </foreach>) |
| | | ) |
| | | </if> |
| | | ) |
| | | </if> |