陈昶聿
2 天以前 9b992ec72dde89dedfc71497f44a8cca36cca870
【丽水】获取当前用户随访数量统计
已修改5个文件
62 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -32,6 +32,7 @@
import com.smartor.service.IServiceSubtaskRecordService;
import com.smartor.service.IServiceSubtaskService;
import com.smartor.service.IServiceTaskService;
import com.smartor.service.impl.ServiceSubtaskServiceImpl;
import com.sun.org.apache.bcel.internal.generic.NEW;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -651,4 +652,27 @@
        return map;
    }
    /**
     * 统计任务各种状态的数量(优化版)
     * @return Map<String, Object> 包含各状态统计数据
     *         pendingVisitCount: 当前登录人截止今日待随访总量
     *         failedVisitCount: 当前登录人随访任务失败总量
     *         abnormalVisitVount: 当前登录人随访任务异常总量
     */
    @ApiOperation("获取当前用户随访数量统计")
    @PostMapping("/getCurrentUserServiceSubtaskCount")
    public Map<String, Object> getCurrentUserServiceSubtaskCount() {
        Map<String, Object> map = new HashMap<>();
        LoginUser loginUser = getLoginUser();
        SysUser sysUser = loginUser.getUser();
        if (ObjectUtils.isNotEmpty(sysUser)) {
            List<String> deptCodes = sysUser.getDeptCodes();
            List<String> wardCodes = sysUser.getWardCodes();
            ServiceSubtaskEntity entity = new ServiceSubtaskEntity();
            entity.setLeaveldeptcodes(deptCodes);
            entity.setLeavehospitaldistrictcodes(wardCodes);
            map = serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
        }
        return map;
    }
}
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -166,4 +166,13 @@
     */
    public Map<String, Object> countByCondition(ServiceSubtaskEntity serviceSubtaskVO);
    /**
     * 统计任务各种状态的数量(优化版)
     * @param serviceSubtaskVO 查询条件
     * @return Map<String, Object> 包含各状态统计数据
     *         pendingVisitCount: 当前登录人截止今日待随访总量
     *         failedVisitCount: 当前登录人随访任务失败总量
     *         abnormalVisitVount: 当前登录人随访任务异常总量
     */
    public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity serviceSubtaskVO);
}
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -147,4 +147,6 @@
    public List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS);
    public List<ServiceSubtaskDiagname> convertToDiagnameList(List<ServiceSubtask> subtaskList) ;
    public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity entity);
    }
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -3543,4 +3543,7 @@
        }).collect(Collectors.toList());
    }
    public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity entity){
        return serviceSubtaskMapper.getCurrentUserServiceSubtaskCount(entity);
    }
}
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -2257,4 +2257,28 @@
        </if>
    </select>
    <select id="getCurrentUserServiceSubtaskCount" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" resultType="map">
        SELECT
        COUNT(CASE WHEN sendstate IN (1, 2) AND date_format(senddate,'%y%m%d') &lt;= date_format(CURDATE(),'%y%m%d') THEN 1 END) AS pendingVisitCount,
        COUNT(CASE WHEN sendstate = 5 THEN 1 END)                                  AS failedVisitCount,
        COUNT(CASE WHEN isabnormal IN (1, 2) THEN 1 END)                           AS abnormalVisitCount
        FROM service_subtask
        WHERE del_flag = '0'
        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
            AND leavehospitaldistrictcode IN
            <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
                     separator=","
                     close=")">
                #{leavehospitaldistrictcode}
            </foreach>
        </if>
        <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
            AND deptcode IN
            <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
                     close=")">
                #{leaveldeptcode}
            </foreach>
        </if>
    </select>
</mapper>