陈昶聿
79 分钟以前 6e3d0a2097a4d841e941a84ec54780a67eb60ba1
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -16,6 +16,7 @@
import com.ruoyi.system.mapper.SysConfigMapper;
import com.smartor.common.FtpService;
import com.smartor.common.MtSubmitSmUtil;
import com.smartor.common.ScheduleSubtaskBuilder;
import com.smartor.config.PhoneUtils;
import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
import com.smartor.domain.*;
@@ -28,6 +29,7 @@
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.Cacheable;
@@ -119,7 +121,7 @@
    private IServiceTaskScheduleService serviceTaskScheduleService;
    @Autowired
    private com.smartor.common.ScheduleSubtaskBuilder scheduleSubtaskBuilder;
    private ScheduleSubtaskBuilder scheduleSubtaskBuilder;
    @Autowired
    private FtpService ftpService;
@@ -408,6 +410,13 @@
                serviceSubtaskRes.setSendstateView(1L);
            if (serviceSubtaskRes.getSendstate() == 6) serviceSubtaskRes.setSendstateView(2L);
            if (serviceSubtaskRes.getSendstate() == 4) serviceSubtaskRes.setSendstateView(3L);
            // 填充当前补偿
            if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())){
                if(StringUtils.isNotEmpty(serviceSubtask.getPreachform())){
                    //默认取第一个
                    serviceSubtaskRes.setCurrentPreachform(serviceSubtask.getPreachform().split(",")[0]);
                }
            }
            serviceSubtaskResList.add(serviceSubtaskRes);
        }
        return serviceSubtaskResList;
@@ -721,16 +730,27 @@
                    ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
                    serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                    serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
                    serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
//                    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());
                    //配置科室、病区
                    serviceTaskoper.setDeptCode(serviceTaskVO.getDeptcode());
                    serviceTaskoper.setDeptName(serviceTaskVO.getDeptname());
                    serviceTaskoper.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode());
                    serviceTaskoper.setWardName(serviceTaskVO.getLeavehospitaldistrictname());
                    //多选手术等级
                    if (StringUtils.isNotEmpty(serviceTaskVO.getOplevelcode())) {
                        log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
                        serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                        String[] opLevelcodes = serviceTaskVO.getOplevelcode().split(",");
                        for (String opLevelcode : opLevelcodes) {
                            //先查询一下是否存在
                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
                            serviceTaskoper.setOplevelcode(opLevelcode);
                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                        }
                    }
                } else if (serviceTaskVO.getAppltype().equals("5")) {
@@ -747,8 +767,12 @@
                    scheduleVO.setOrgid(serviceTask.getOrgid());
                    scheduleVO.setCampusid(serviceTask.getCampusid());
                    scheduleVO.setCreateBy(serviceTask.getCreateBy());
                    scheduleVO.setDeptcodes(serviceTask.getDeptcode());
                    scheduleVO.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
                    scheduleVO.setDeptCodes(serviceTaskVO.getDeptcode());
                    scheduleVO.setWardCodes(serviceTaskVO.getLeavehospitaldistrictcode());
                    scheduleVO.setIcd10Codes(serviceTaskVO.getIcd10code());
                    scheduleVO.setOplevelCodes(serviceTaskVO.getOplevelcode());
                    log.info("----serviceTaskSchedule的值为:{}", scheduleVO);
                    serviceTaskScheduleService.saveScheduleWithDetail(scheduleVO);
                } else {
@@ -846,7 +870,7 @@
                        List<ServiceTaskScheduleDetail> detailList =
                                serviceTaskScheduleService.selectDetailByScheduleid(schedule.getId());
                        scheduleSubtaskBuilder.buildSubtasksForPatient(
                                serviceTask, serviceTaskVO, schedule, detailList, patTaskRelevance, serviceSubtask);
                                serviceTask, serviceTaskVO.getPreachformList(), schedule, detailList, patTaskRelevance, serviceSubtask);
                        continue;
                    }
@@ -1076,6 +1100,10 @@
                    scheduleVO.setTaskid(serviceTask.getTaskid());
                    scheduleVO.setOrgid(serviceTask.getOrgid());
                    scheduleVO.setCampusid(serviceTask.getCampusid());
                    scheduleVO.setDeptCodes(serviceTaskVO.getDeptcode());
                    scheduleVO.setWardCodes(serviceTaskVO.getLeavehospitaldistrictcode());
                    scheduleVO.setIcd10Codes(serviceTaskVO.getIcd10code());
                    scheduleVO.setOplevelCodes(serviceTaskVO.getOplevelcode());
                    scheduleVO.setCreateBy(serviceTask.getUpdateBy());
                    serviceTaskScheduleService.saveScheduleWithDetail(scheduleVO);
                }
@@ -1142,7 +1170,7 @@
                            serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
                            serviceSubtask.setCreateBy(serviceTask.getUpdateBy());
                            scheduleSubtaskBuilder.buildSubtasksForPatient(
                                    serviceTask, serviceTaskVO, schedule, detailList, patTaskRelevance, serviceSubtask);
                                    serviceTask, serviceTaskVO.getPreachformList(), schedule, detailList, patTaskRelevance, serviceSubtask);
                            continue;
                        }
                        if (patTaskRelevance.getIsoperation() == 2) {
@@ -4612,6 +4640,11 @@
        return resultMap;
    }
    @Override
    public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds) {
        return serviceSubtaskMapper.statQuestionOption(taskIds);
    }
    private Boolean saveServiceSubtaskDetail(ServiceSubtask serviceSubtask) {
        Boolean result = true;
        //3.4 如果3.1或3.2为true的话,根据type判断什么类型