已修改9个文件
110 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceSubTaskCacheReq.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/ServiceSubtaskPreachformMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -564,7 +564,7 @@
        }
        String configKey = serviceSubtaskCountReq.getConfigKey();
        if (StringUtils.isNotEmpty(configKey)) {
            String configValue = configService.selectConfigByKey(configKey);
            String configValue = configService.selectConfigByKey(configKey,serviceSubtaskCountReq.getOrgid());
            serviceSubtaskCountReq.setConfigValue(configValue);
            if (StringUtils.isEmpty(configValue)) {
                String logInfo = "getSfStatisticsCount-参数 " + configKey + " 未配置, 请配置好后重试";
@@ -590,7 +590,7 @@
        //复诊统计
        String configKey = serviceSubtaskCountReq.getConfigKey();
        if (StringUtils.isNotEmpty(configKey)) {
            String configValue = configService.selectConfigByKey(configKey);
            String configValue = configService.selectConfigByKey(configKey,serviceSubtaskCountReq.getOrgid());
            if (StringUtils.isEmpty(configValue)) {
                String logInfo = "getSfStatisticsCountDetails-参数 " + configKey + " 未配置, 请配置好后重试";
                log.error(logInfo);
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -45,7 +46,7 @@
    private IServiceTaskService serviceTaskService;
    @Autowired
    private IServiceSubtaskService iServiceTaskCallService;
    private IServiceSubtaskService iServiceSubtaskService;
    @Value("${pub_key}")
    private String pub_key;
@@ -69,20 +70,33 @@
        List<ServiceTask> list = serviceTaskService.selectServiceTaskAndtaskDeptList(serviceTask);
        List<ServiceTaskVO> serviceTaskVOS = DtoConversionUtils.sourceToTarget(list, ServiceTaskVO.class);
        List<Long> taskIds = list.stream().map(ServiceTask::getTaskid).collect(Collectors.toList());
        ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
        serviceSubtaskVO.setTaskIds(taskIds);
        serviceSubtaskVO.setStartOutHospTime(serviceTask.getStartOutHospTime());
        serviceSubtaskVO.setEndOutHospTime(serviceTask.getEndOutHospTime());
        // 批量查询所有子任务
        Map<Long, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
                .selectServiceSubtaskList(serviceSubtaskVO)
                .stream()
                .collect(Collectors.groupingBy(ServiceSubtask::getTaskid));
        if (CollectionUtils.isNotEmpty(serviceTaskVOS)) {
            for (ServiceTaskVO ServiceTaskVO : serviceTaskVOS) {
                ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
                serviceSubtaskVO.setTaskid(ServiceTaskVO.getTaskid());
                serviceSubtaskVO.setStartOutHospTime(serviceTask.getStartOutHospTime());
                serviceSubtaskVO.setEndOutHospTime(serviceTask.getEndOutHospTime());
                List<ServiceSubtask> ServiceTaskcalls = iServiceTaskCallService.selectServiceSubtaskList(serviceSubtaskVO);
                if (CollectionUtils.isNotEmpty(ServiceTaskcalls)) {
            for (ServiceTaskVO taskVO : serviceTaskVOS) {
                List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid(), Collections.emptyList());
                if (CollectionUtils.isNotEmpty(subtasks)) {
                    //已发送(子任务中的 sendstate=1为被领取)
                    long yfs = ServiceTaskcalls.stream().filter(serviceTaskcall1 -> (serviceTaskcall1.getSendstate() != null && serviceTaskcall1.getSendstate() >= 3L) || (serviceTaskcall1.getSendstate() != null && serviceTaskcall1.getSendstate() == 1L)).collect(Collectors.toList()).stream().count();
                    long yfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
                            (s.getSendstate() >= 3L || s.getSendstate() == 1L)).count();
                    //未发送
                    long wfs = ServiceTaskcalls.stream().filter(serviceTaskcall1 -> serviceTaskcall1.getSendstate() != null && serviceTaskcall1.getSendstate() == 2L).collect(Collectors.toList()).stream().count();
                    ServiceTaskVO.setYfs(yfs);
                    ServiceTaskVO.setWfs(wfs);
                    long wfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
                            s.getSendstate() == 2L).count();
                    taskVO.setYfs(yfs);
                    taskVO.setWfs(wfs);
                }
            }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -125,7 +125,16 @@
        log.info("--------userId的值为:{}", userId);
        userService.checkUserDataScope(userId);
        AjaxResult ajax = AjaxResult.success();
        List<SysRole> roles = roleService.selectRoleAll();
        LoginUser loginUser = getLoginUser();
        SysUser user = loginUser.getUser();
        log.info("--------user的值为:{}", user);
        SysRole roleVo = new SysRole();
        roleVo.setOrgid(user.getOrgid());
        List<SysRole> roles = roleService.selectRoleList(roleVo);
        log.info("--------roles的值为:{}", roles);
        ajax.put("roles", isAdmin.contains(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
        ajax.put("posts", postService.selectPostAll());
        if (StringUtils.isNotNull(userId)) {
@@ -139,9 +148,7 @@
        SysUserDept sysUserDept = new SysUserDept();
        sysUserDept.setUserId(userId);
        sysUserDept.setDeptType("1");
        LoginUser loginUser = getLoginUser();
        SysUser user = loginUser.getUser();
        log.info("--------user的值为:{}", user);
        sysUserDept.setOrgid(user.getOrgid());
        sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
        ajax.put("belongDepts", sysUserDeptKSs);
smartor/src/main/java/com/smartor/domain/ServiceSubTaskCacheReq.java
@@ -29,7 +29,7 @@
    private List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOList;
    @ApiModelProperty(value = "问题回答明细(问卷)")
    List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS;
    private List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS;
    @ApiModelProperty(value = "试卷类型:1 随访   2 问卷")
    private Integer type;
smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
@@ -151,6 +151,9 @@
    @ApiModelProperty(value = "任务ID")
    private Long taskid;
    @ApiModelProperty(value = "任务Id集合")
    private List<Long> taskIds;
    /**
     * 模板ID
     */
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java
@@ -1,6 +1,8 @@
package com.smartor.mapper;
import java.util.List;
import com.smartor.domain.ServiceSubtask;
import org.apache.ibatis.annotations.Mapper;
import com.smartor.domain.ServiceSubtaskPreachform;
@@ -70,4 +72,13 @@
     * @return 结果
     */
    public int deleteServiceSubtaskPreachformByIds(Long[] ids);
    /**
     * 根据taskid查询列表
     *
     * @param subtask
     * @return 集合
     */
    public List<ServiceSubtaskPreachform> selectBySubtask(ServiceSubtask subtask);
}
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -231,7 +231,8 @@
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        List<ServiceSubtaskPreachform> serviceSubtaskPreachformLists =
                    serviceSubtaskPreachformMapper.selectBySubtask(serviceSubtask);
        for (ServiceSubtask serviceSubtask1 : list) {
            PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
            if (!serviceSubtask1.getHospType().equals("2")) {
@@ -288,10 +289,9 @@
            }
            //获取该患者所有的执行状态
            ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
            serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
            serviceSubtaskPreachform.setSubid(serviceSubtask1.getId());
            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList =
                serviceSubtaskPreachformLists.stream().filter((item -> item.getSubid().equals(serviceSubtask1.getId())
                            && item.getTaskid().equals(serviceTask.getTaskid()))).collect(Collectors.toList());
            List<Map<String, Object>> resultList = serviceSubtaskPreachformList.stream().map(item -> {
                Map<String, Object> map = new HashMap<>();
                map.put("sort", item.getSort());
@@ -3132,12 +3132,12 @@
                BigDecimal finishedSum = new BigDecimal(0);
                //完成比例
                Double finishedPercentage = null;
                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyAllCount())){
                    finishedSum = new BigDecimal(serviceSubtaskStatistic.getJoyAllCount());
                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyCount())){
                    finishedSum = new BigDecimal(serviceSubtaskStatistic.getJoyCount());
                }
                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyCount())){
                    sum = new BigDecimal(serviceSubtaskStatistic.getJoyCount());
                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyAllCount())){
                    sum = new BigDecimal(serviceSubtaskStatistic.getJoyAllCount());
                }
                if(sum.intValue() != 0){
                    finishedPercentage = finishedSum.divide(sum, 2, RoundingMode.HALF_UP).doubleValue();
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -278,6 +278,14 @@
            <if test="senderdetail != null  and senderdetail != ''">and senderdetail = #{senderdetail}</if>
            <if test="type != null  and type != ''">and type = #{type}</if>
            <if test="taskid != null ">and taskid = #{taskid}</if>
            <!-- taskIds筛选 -->
            <if test="taskIds != null and taskIds.size() > 0">
                AND taskid IN
                <foreach collection="taskIds" item="itemTaskId" open="(" separator=","
                         close=")">
                    #{itemTaskId}
                </foreach>
            </if>
            <if test="templateid != null  and templateid != ''">and templateid = #{templateid}</if>
            <if test="templatename != null  and templatename != ''">and templatename like concat('%', #{templatename},
                '%')
smartor/src/main/resources/mapper/smartor/ServiceSubtaskPreachformMapper.xml
@@ -274,5 +274,16 @@
        </foreach>
    </update>
    <select id="selectBySubtask" parameterType="com.smartor.domain.ServiceSubtask" resultMap="ServiceSubtaskPreachformResult">
        <include refid="selectServiceSubtaskPreachformVo"/>
        WHERE del_flag = 0
        <!-- 其他条件 -->
        <if test="taskid != null">
            AND taskid = #{taskid}
        </if>
        <if test="orgid != null and orgid != ''">
            AND orgid = #{orgid}
        </if>
    </select>
</mapper>