liusheng
8 天以前 c111e3eff1191b29d2d2baf2f485a4bf3a2edc00
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -439,6 +439,19 @@
                return map;
            }
            //获取随访时间
            Date visitTime = null;
            List<TaskSendTimeVO> sendTimeslot = serviceTaskVO.getSendTimeslot();
            if (CollectionUtils.isNotEmpty(sendTimeslot) && sendTimeslot.size() > 0) {
                String dateString = sendTimeslot.get(0).getBegantime();
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                try {
                    visitTime = format.parse(dateString);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            //将任务信息放到服务表中
            ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class);
            serviceSubtask.setTaskid(serviceTask.getTaskid().longValue());
@@ -450,13 +463,12 @@
                    //将任务信息新增到随访服务表中
                    serviceSubtask.setSendname(patTaskRelevance.getName());
                    serviceSubtask.setAge(patTaskRelevance.getAge());
//                    serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid()));
                    serviceSubtask.setSfzh(patTaskRelevance.getIdcardno());
                    serviceSubtask.setPhone(patTaskRelevance.getTelcode());
                    serviceSubtask.setAddr(patTaskRelevance.getAddr());
                    serviceSubtask.setPatid(patTaskRelevance.getPatid());
                    serviceSubtask.setCreateTime(DateUtils.getNowDate());
                    serviceSubtask.setSendstate(1L);
                    serviceSubtask.setSendstate(2L);
                    if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1)
                        serviceSubtask.setSendstate(2L);
                    serviceSubtask.setDeptcode(patTaskRelevance.getDeptCode());
@@ -472,7 +484,7 @@
                    serviceSubtask.setEndtime(patTaskRelevance.getEndtime());
                    serviceSubtask.setNurseId(patTaskRelevance.getNurseId());
                    serviceSubtask.setNurseName(patTaskRelevance.getNurseName());
                    serviceSubtask.setVisitTime(patTaskRelevance.getVisitTime());
                    serviceSubtask.setVisitTime(visitTime);
                    if (serviceTask.getSendType() == 2) {
                        serviceSubtask.setVisitTime(new Date());
                    }
@@ -596,7 +608,7 @@
                        if (patTaskRelevance.getIsoperation() == 2) serviceSubtask.setUpdateTime(new Date());
                        serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
                        if (patTaskRelevance.getIsoperation() == 1) {
                            serviceSubtask.setSendstate(1L);
                            serviceSubtask.setSendstate(2L);
                            serviceSubtask.setCreateTime(new Date());
                            serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
                        }
@@ -1965,6 +1977,39 @@
        return serviceSubtaskStatistics;
    }
    /**
     * 服务统计查询 - 按时间维度统计出院/门诊随访数据
     *
     * @param request 统计请求参数
     * @return 统计结果列表
     */
    @Override
    public List<ServiceStatisticsResponse> getServiceStatistics(ServiceStatisticsRequest request) {
        log.info("getServiceStatistics的入参为:{}", request);
        // 参数校验
        if (request.getStartDate() == null || request.getEndDate() == null) {
            throw new IllegalArgumentException("开始日期和结束日期不能为空");
        }
        if (request.getStartDate().after(request.getEndDate())) {
            throw new IllegalArgumentException("开始日期不能晚于结束日期");
        }
        // 如果timeType为空,默认按天统计
        if (com.ruoyi.common.utils.StringUtils.isEmpty(request.getTimeType())) {
            request.setTimeType("day");
        }
        List<ServiceStatisticsResponse> result = serviceSubtaskMapper.getServiceStatistics(request);
        log.info("getServiceStatistics返回结果数量:{}", result.size());
        return result;
    }
    private ServiceSubtaskStatistic getStatistic(List<ServiceSubtask> serviceSubtaskList) {
        log.error("-------------serviceSubtaskList的值为:{}", serviceSubtaskList);
        ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();