From 10aaa035f5be0312304d20f022bdb714a8f4900a Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 11 十二月 2024 22:16:23 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 96 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 91 insertions(+), 5 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java index e6c1691..a34347b 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; +import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.*; @@ -252,13 +253,18 @@ Integer yc = 0; Integer fssb = 0; Integer yfs = 0; - Integer blq = 0; + Integer xj = 0; + Integer dfs = 0; + Integer ywc = 0; + Integer ywc2 = 0; for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { if (serviceSubtask.getSendstate() == 4L) wzx = wzx + 1; else if (serviceSubtask.getSendstate() != 4L) ysf = ysf + 1; if (serviceSubtask.getSendstate() == 5L) fssb = fssb + 1; if (serviceSubtask.getSendstate() == 3L) yfs = yfs + 1; - if (serviceSubtask.getSendstate() == 1L) blq = blq + 1; + if (serviceSubtask.getSendstate() == 1L) xj = xj + 1; + if (serviceSubtask.getSendstate() == 2L) dfs = dfs + 1; + if (serviceSubtask.getSendstate() == 6L) ywc = ywc + 1; if (serviceSubtask.getExcep().equals("1")) yc = yc + 1; } map.put("wzx", wzx); @@ -266,8 +272,10 @@ map.put("yc", yc); map.put("fssb", fssb); map.put("yfs", yfs); - map.put("blq", blq); - + map.put("xj", xj); + map.put("dfs", dfs); + map.put("ywc", ywc); + map.put("yfs2", yfs + ywc); return map; } @@ -391,7 +399,7 @@ serviceSubtask.setEndtime(patTaskRelevance.getEndtime()); serviceSubtask.setNurseId(patTaskRelevance.getNurseId()); serviceSubtask.setNurseName(patTaskRelevance.getNurseName()); - if (serviceTaskVO.getLongTask() != null &&serviceTaskVO.getLongTask() == 1) + if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1) serviceSubtask.setLongSendTime(patTaskRelevance.getLongSendTime()); serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); integer = serviceSubtask.getId().intValue(); @@ -1775,6 +1783,80 @@ return result2; } + /** + * 鑾峰彇闅忚缁熻姣斾緥 + * + * @param serviceSubtaskCountReq + * @return + */ + @Override + public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) { + log.error("getSfStatistics鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq); + List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>(); + Map<String, List<ServiceSubtask>> collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(ServiceSubtask::getLeavehospitaldistrictname)); + for (List<ServiceSubtask> serviceSubtaskList : collect.values()) { + if (CollectionUtils.isEmpty(serviceSubtaskList)) { + continue; + } + ServiceSubtaskStatistic statistic = getStatistic(serviceSubtaskList); + if (ObjectUtils.isNotEmpty(statistic)) { + serviceSubtaskStatistics.add(statistic); + } + } + return serviceSubtaskStatistics; + } + + private ServiceSubtaskStatistic getStatistic(List<ServiceSubtask> serviceSubtaskList) { + ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic(); + serviceSubtaskStatistic.setLeavehospitaldistrictname(serviceSubtaskList.get(0).getLeavehospitaldistrictname()); + serviceSubtaskStatistic.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode()); + serviceSubtaskStatistic.setServiceCount(serviceSubtaskList.size()); + for (ServiceSubtask serviceSubtask : serviceSubtaskList) { + //涓嶉殢璁挎暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) { + serviceSubtaskStatistic.setBzxCount(serviceSubtaskStatistic.getBzxCount() + 1L); + } + //搴旈殢璁挎暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) { + serviceSubtaskStatistic.setYsfCount(serviceSubtaskStatistic.getYsfCount() + 1L); + } + //鍙戦�佸け璐ユ暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) { + serviceSubtaskStatistic.setFssbCount(serviceSubtaskStatistic.getFssbCount() + 1L); + } + //寰呭彂閫佹暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) { + serviceSubtaskStatistic.setDfsCount(serviceSubtaskStatistic.getDfsCount() + 1L); + } + //宸插彂閫佹暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 3) { + serviceSubtaskStatistic.setYfsCount(serviceSubtaskStatistic.getYfsCount() + 1L); + } + //宸插畬鎴愭暟閲� + if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 6) { + //宸插彂閫侊紝鍖呭惈宸插畬鎴� + serviceSubtaskStatistic.setYfsCount(serviceSubtaskStatistic.getYfsCount() + 1L); + serviceSubtaskStatistic.setYwcCount(serviceSubtaskStatistic.getYwcCount() + 1L); + } + + if (StringUtils.isNotEmpty(serviceSubtask.getExcep()) && serviceSubtask.getExcep().equals("1")) { + //寮傚父鏍囪瘑 + serviceSubtaskStatistic.setYczs(serviceSubtaskStatistic.getYczs() + 1L); + + } + + } + //闅忚瀹屾垚鐜�=宸插彂閫�/闅忚鏁� + if (serviceSubtaskStatistic.getYfsCount() == 0 || CollectionUtils.isEmpty(serviceSubtaskList)) { + serviceSubtaskStatistic.setSfwcl("0"); + } else { + BigDecimal multiply = BigDecimal.valueOf(serviceSubtaskStatistic.getYfsCount()).divide(BigDecimal.valueOf(serviceSubtaskList.size()), 2, BigDecimal.ROUND_HALF_UP); + serviceSubtaskStatistic.setSfwcl(multiply.toString()); + } + + return serviceSubtaskStatistic; + } + private IvrTaskTemplateScriptVO getNextQuestion(List<IvrTaskTemplateScriptVO> IvrTaskTemplateScriptVOList, IvrTaskTemplateScriptVO IvrTaskTemplateScriptVO) { for (int j = 0; j < IvrTaskTemplateScriptVOList.size(); j++) { @@ -1856,6 +1938,10 @@ redisCache.setCacheObject(subTaskId + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES); if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�"); else serviceSubtask.setRemark("鐭俊琛ュ伩鍙戦�佹垚鍔�"); + //璁板綍涓�涓嬭ˉ鍋挎柟寮� + if (StringUtils.isNotEmpty(serviceSubtask.getPreachform())) { + serviceSubtask.setPreachform(serviceSubtask.getPreachform() + ",1"); + } serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); } } -- Gitblit v1.9.3