liusheng
昨天 29069b790469cb7136cadba7ddcd63a83bc4ac70
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -104,10 +104,16 @@
    private IServiceOutPathService iServiceOutPathService;
    @Autowired
    private IPatMedOuthospService iPatMedOuthospService;
    @Autowired
    private FtpService ftpService;
    @Autowired
    private PatMedInhospMapper patMedInhospMapper;
    @Autowired
    private PatMedOuthospMapper patMedOuthospMapper;
    @Autowired
    private PatArchiveMapper patArchiveMapper;
@@ -315,7 +321,7 @@
        List<ServiceSubtaskRes> serviceSubtaskResList = new ArrayList<>();
        for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
            ServiceSubtaskRes serviceSubtaskRes = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskRes.class);
            if(ObjectUtils.isNotEmpty(serviceSubtask.getContinueContent())){
            if (ObjectUtils.isNotEmpty(serviceSubtask.getContinueContent())) {
                serviceSubtaskRes.setContinueContent(serviceSubtask.getContinueContent());
            }
            serviceSubtaskResList.add(serviceSubtaskRes);
@@ -593,6 +599,7 @@
                    ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
                    serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                    serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
                    serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
                    serviceTaskoper.setTaskId(serviceTask.getTaskid());
                    serviceTaskoper.setTaskName(serviceTask.getTaskName());
                    serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
@@ -620,8 +627,7 @@
                            serviceTaskdept.setDeptCode(deptCode);
                            serviceTaskdept.setDeptType("1");
                            serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
                            //先通过任务ID、部门code,判断ServiceTaskdept是否存在,不存在则新增,存在则修改
                            serviceTaskdeptService.insertOrUpdateServiceTaskdept(serviceTaskdept);
                            serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
                        }
                    }
                    if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
@@ -630,8 +636,7 @@
                            serviceTaskdept.setDeptCode(districtcode);
                            serviceTaskdept.setDeptType("2");
                            serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
                            //先通过任务ID、部门code,判断ServiceTaskdept是否存在,不存在则新增,存在则修改
                            serviceTaskdeptService.insertOrUpdateServiceTaskdept(serviceTaskdept);
                            serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
                        }
                    }
                }
@@ -764,8 +769,15 @@
                            serviceTaskdept.setDeptCode(deptCode);
                            serviceTaskdept.setDeptType("1");
                            serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
                            //先通过任务ID、部门code,判断ServiceTaskdept是否存在,不存在则新增,存在则修改
                            serviceTaskdeptService.insertOrUpdateServiceTaskdept(serviceTaskdept);
                            ServiceTaskdept st = new ServiceTaskdept();
                            st.setDeptCode(deptCode);
                            st.setTaskId(serviceTask.getTaskid());
                            List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
                            if (CollectionUtils.isEmpty(serviceTaskdepts)) {
                                serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
                            } else {
                                serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
                            }
                        }
                    }
                    if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
@@ -780,7 +792,15 @@
                            serviceTaskdept.setDeptType("2");
                            serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
                            //先通过任务ID、部门code,判断ServiceTaskdept是否存在,不存在则新增,存在则修改
                            serviceTaskdeptService.insertOrUpdateServiceTaskdept(serviceTaskdept);
                            ServiceTaskdept st = new ServiceTaskdept();
                            st.setDeptCode(districtcode);
                            st.setTaskId(serviceTask.getTaskid());
                            List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
                            if (CollectionUtils.isEmpty(serviceTaskdepts)) {
                                serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
                            } else {
                                serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
                            }
                        }
                    }
                } else if (serviceTaskVO.getAppltype().equals("3")) {
@@ -821,31 +841,32 @@
                    }
//                serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                    serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
                    serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
                    serviceTaskoper.setTaskId(serviceTask.getTaskid());
                    serviceTaskoper.setTaskName(serviceTask.getTaskName());
                    serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
                    serviceTaskoper.setGuid(serviceTask.getGuid());
                    serviceTaskoper.setOrgid(serviceTask.getOrgid());
                    serviceTaskoper.setCreateTime(new Date());
                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
                        for (String opcode : opcodes) {
                            //先查询一下是否存在
                            ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
                            serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
                            serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
                            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
                            serviceTaskoper.setOpcode(opcode);
                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
                            if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
                                serviceTaskoper.setId(serviceTaskopers.get(0).getId());
                                serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
                            } else {
                                serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                            }
                        }
                    }
//                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
//                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
//                        for (String opcode : opcodes) {
//                            //先查询一下是否存在
//                            ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
//                            serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
//                            serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
//                            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
//
//                            serviceTaskoper.setOpcode(opcode);
//                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
//                            if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
//                                serviceTaskoper.setId(serviceTaskopers.get(0).getId());
//                                serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
//                            } else {
//                                serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
//                            }
//                        }
//                    }
                }
            }
            if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
@@ -2181,6 +2202,26 @@
        List<ServiceStatisticsResponse> result = serviceSubtaskMapper.getServiceStatistics(request);
        //获取门急诊数据
        //填充门诊数据
        for (ServiceStatisticsResponse serviceStatisticsResponse : result) {
            PatMedOuthospQueryReq req = new PatMedOuthospQueryReq();
            String deptcodes = CollectionUtils.isEmpty(request.getDeptcodes()) ? null : String.join(",", request.getDeptcodes());
            if (!request.getTimeType().equals("month")) {
                req.setBeginAdmitdate(DateUtils.parseDate(serviceStatisticsResponse.getTimePeriod()));
                req.setEndAdmitdate(DateUtils.parseDate(serviceStatisticsResponse.getTimePeriod()));
            } else {
                // year 类型:timePeriod 格式为 "yyyy-MM",取当月第一天和最后一天
                java.time.YearMonth ym = java.time.YearMonth.parse(serviceStatisticsResponse.getTimePeriod());
                req.setBeginAdmitdate(DateUtils.toDate(ym.atDay(1)));
                req.setEndAdmitdate(DateUtils.toDate(ym.atEndOfMonth()));
            }
            req.setDeptcode(deptcodes);
            req.setOrgid(request.getOrgid());
            Long count = patMedOuthospMapper.callSpQueryOuthospCount(req);
            serviceStatisticsResponse.setPmoCount(count);
        }
        log.info("getServiceStatistics返回结果数量:{}", result.size());
        return result;