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>