Browse Source

代码修改

LAPTOP-KB9HII50\70708 1 year ago
parent
commit
79032df7f5

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/base/servicePackage/ServiceItemPlanDO.java

@ -24,7 +24,7 @@ public class ServiceItemPlanDO extends UuidIdentityEntityWithCreateTime {
    private String planDetailId;//康复计划明细id
    private String name;//服务项名称
    private String relationCode;//关联业务id
    private String relationType;//关联业务类型 doorService上门服务
    private String relationType;//关联业务类型 1电话/短信关怀 2康复咨询 3康复咨询 4上门服务 5康复指导 6康复随访 7康复复诊
    @Column(name = "patient")
    public String getPatient() {

+ 6 - 3
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/controller/DoctorRehabilitaionInfoController.java

@ -282,7 +282,8 @@ public class DoctorRehabilitaionInfoController extends EnvelopRestEndpoint {
            List<Map<String, Object>> result = rehabilitationInfoService.getPatientPlanItemList(patientId, planId, itemId, status);
            return write(200, "请求成功", "data", result);
        } catch (Exception e) {
            return error(-1, e.getMessage());
            e.printStackTrace();
            return error(-1, "查询失败");
        }
    }
@ -305,7 +306,8 @@ public class DoctorRehabilitaionInfoController extends EnvelopRestEndpoint {
            List<Map<String, Object>> result = rehabilitationInfoService.getPatientPlanFrequencyItemList(patientId, planId, startTime, endTime, doctorId, type);
            return write(200, "请求成功", "data", result);
        } catch (Exception e) {
            return error(-1, e.getMessage());
            e.printStackTrace();
            return error(-1, "查询失败");
        }
    }
@ -323,7 +325,8 @@ public class DoctorRehabilitaionInfoController extends EnvelopRestEndpoint {
            List<Map<String, Object>> result = rehabilitationInfoService.getPlanDoctorList(planId);
            return write(200, "请求成功", "data", result);
        } catch (Exception e) {
            return error(-1, e.getMessage());
            e.printStackTrace();
            return error(-1, "查询失败");
        }
    }

+ 1 - 1
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/service/RehabilitationInfoService.java

@ -1311,7 +1311,7 @@ public class RehabilitationInfoService {
            sql += " and b.id= '" + itemId + "'";
        }
        if (StringUtils.isNotBlank(status)) {
            sql += " and a.status =" + status + "'";
            sql += " and a.status =" + status ;
        }
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        return list;

+ 50 - 0
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/service/RehabilitationManageService.java

@ -2,13 +2,17 @@ package com.yihu.jw.hospital.module.rehabilitation.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.cron.CronUtils;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.servicePackage.ServiceItemPlanDO;
import com.yihu.jw.entity.door.SignFamily;
import com.yihu.jw.entity.specialist.RehabilitationServiceItemDO;
import com.yihu.jw.entity.specialist.SpecialistPatientRelationDO;
import com.yihu.jw.entity.specialist.rehabilitation.*;
import com.yihu.jw.entity.util.TransforSqlUtl;
import com.yihu.jw.hospital.module.door.dao.ServiceItemPlanDao;
import com.yihu.jw.hospital.module.rehabilitation.dao.*;
import com.yihu.jw.hospital.module.specialist.dao.PatientDiseaseServerDao;
import com.yihu.jw.hospital.module.specialist.dao.PatientMedicalRecordsRehabilitationDao;
@ -36,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@ -56,6 +61,8 @@ public class RehabilitationManageService {
    @Autowired
    private RehabilitationDetailDao rehabilitationDetailDao;
    @Autowired
    private RehabilitationServiceItemDao serviceItemDao;
    @Autowired
    private PatientRehabilitationPlanDao patientRehabilitationPlanDao;
    @Autowired
    private GuidanceMessageLogDao guidanceMessageLogDao;
@ -81,6 +88,8 @@ public class RehabilitationManageService {
    private SystemDictService systemDictService;
    @Autowired
    private PatientRehabilitationPlanLogDao patientRehabilitationPlanLogDao;
    @Autowired
    private ServiceItemPlanDao serviceItemPlanDao;
    //添加康复计划日志
    public void addPlanLog(String planId,String doctorCode,String doctorName){
@ -118,6 +127,9 @@ public class RehabilitationManageService {
        List<RehabilitationDetailDO> detailDOList = planDO.getDetailDOList();
        Map<String,RehabilitationDetailDO> map = detailDOList.stream().collect(Collectors.toMap
                (RehabilitationDetailDO::getHospitalServiceItemId, log->log,(oldLog, newLog)->oldLog));
        List<ServiceItemPlanDO> planDOList = new ArrayList<>();
        List<RehabilitationServiceItemDO> itemDOList = serviceItemDao.findList();
        Map<String, String> serviceItemMap = itemDOList.stream().collect(Collectors.toMap(RehabilitationServiceItemDO::getCode, RehabilitationServiceItemDO::getName));
        for (RehabilitationDetailDO detailDO : detailDOS){
            String serviceItemId = detailDO.getHospitalServiceItemId();
            if(map.containsKey(serviceItemId)){
@ -127,9 +139,13 @@ public class RehabilitationManageService {
                detailDO.setDept(newDetail.getDept());
                detailDO.setDeptName(newDetail.getDeptName());
                //生成执行计划列表
                planDOList = addServicePlan(serviceItemMap,planDO1,detailDO,planDOList);
            }
        }
        rehabilitationDetailDao.saveAll(detailDOS);
        if(planDOList.size()>0){
            serviceItemPlanDao.saveAll(planDOList);
        }
        planDO1.setStatus(1);
        patientRehabilitationPlanDao.save(planDO1);
        addPlanLog(planDO.getId(),uid,null);
@ -141,6 +157,40 @@ public class RehabilitationManageService {
        }
    }
    public List<ServiceItemPlanDO> addServicePlan(Map<String, String> serviceItemMap,PatientRehabilitationPlanDO planDO,
                                                  RehabilitationDetailDO detailDO,List<ServiceItemPlanDO> planDOList){
        String planId = planDO.getId();
        String pateint = planDO.getPatient();
        String relationType = detailDO.getHospitalServiceItemId();
        Integer plan_start_time_type = detailDO.getTimeType();//计划开始时间类型
        String server_count = detailDO.getServerCount();//服务次数
        if(StringUtils.isBlank(server_count)){
            return planDOList;
        }
        String planDetailId = detailDO.getId();
        String doctor = detailDO.getDoctor();
        String doctorName = detailDO.getDoctorName();
        String frequency_code = detailDO.getFrequencyCode();
        LocalDateTime localDateTime = LocalDateTime.now();
        int addNum = 0;
        localDateTime = localDateTime.plusDays(addNum);
        List<String>  timeList = CronUtils.getExecutionTimeByNum(frequency_code,Integer.parseInt(server_count),localDateTime);
        for (String time :timeList){
            ServiceItemPlanDO itemPlanDO = new ServiceItemPlanDO();
            itemPlanDO.setPlanTime(time);
            itemPlanDO.setPatient(pateint);
            itemPlanDO.setName(serviceItemMap.get(relationType));
            itemPlanDO.setStatus("0");
            itemPlanDO.setRelationType(relationType);
            itemPlanDO.setPlanId(planId);
            itemPlanDO.setPlanDetailId(planDetailId);
            itemPlanDO.setDoctor(doctor);
            itemPlanDO.setDoctorName(doctorName);
            planDOList.add(itemPlanDO);
        }
        return planDOList;
    }
    public List<Map<String, Object>> selectPlanByPatient(String patient, Integer status, String planId, String doctor) {
        if (StringUtils.isNoneBlank(planId)) {
            String planSql = "select p.patient " +

+ 11 - 8
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/service/RehabilitationPlanService.java

@ -1,6 +1,5 @@
package com.yihu.jw.hospital.module.rehabilitation.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.fastdfs.FastDFSUtil;
@ -307,7 +306,7 @@ public class RehabilitationPlanService extends BaseJpaService<RehabilitationPlan
            planDO.setPlanDoctor(list.get(0).get("plan_doctor") + "");
            planDO.setPlanDoctorName(list.get(0).get("plan_doctor_name") + "");
        }
        System.out.println("111=>" + JSON.toJSONString(list));
        PatientMedicalRecordsDO recordsDO = planDO.getMedicalRecordsDO();
        String medicalRecordsCode = UUID.randomUUID().toString().replaceAll("-", "");
        recordsDO.setCode(medicalRecordsCode);
@ -319,7 +318,7 @@ public class RehabilitationPlanService extends BaseJpaService<RehabilitationPlan
        recordsDO.setDiseaseName(planDO.getDiseaseName());
        recordsDO.setCreateTime(new Date());
        patientMedicalRecordsDao.save(recordsDO);
        System.out.println("recordsDO==>" + JSON.toJSONString(recordsDO));
        planDO.setMedicalRecordsCode(medicalRecordsCode);
        String patientInfoCode = planDO.getPatientInfoCode();
        planDO.setStatus(3);//待分配 执行医生和科室
@ -330,14 +329,14 @@ public class RehabilitationPlanService extends BaseJpaService<RehabilitationPlan
        planDO.setCreateTime(new Date());
        planDO.setUpdateTime(new Date());
        planDO = patientRehabilitationPlanDao.save(planDO);
        System.out.println("planDO==>" + JSON.toJSONString(planDO));
        System.out.println("-------------------");
        List<RehabilitationDetailDO> detailDOList = new ArrayList<>();
        System.out.println("details==>" + JSON.toJSONString(details));
        for (RehabilitationDetailDO detailDO : details) {
            RehabilitationTemplateDetailDO templateDetailDO = templateDetailDao.findById(detailDO.getId()).orElse(null);
            System.out.println("templateDetailDO==>" + templateDetailDO);
            String frequency_code = templateDetailDO.getFrequencyCode();//频次
            String serverCount = templateDetailDO.getServerCount();
            RehabilitationDetailDO detail = new RehabilitationDetailDO();
            detail.setHospitalServiceItemId(templateDetailDO.getHospitalServiceItemId());
            detail.setCreateTime(new Date());
@ -346,6 +345,11 @@ public class RehabilitationPlanService extends BaseJpaService<RehabilitationPlan
            detail.setUpdateTime(new Date());
            detail.setPlanId(planDO.getId());
            detail.setFrequencyCode(frequency_code);
            detail.setServerCount(serverCount);
            if(StringUtils.isNotBlank(templateDetailDO.getPlanStartTimeType())){
                detail.setTimeType(Integer.parseInt(templateDetailDO.getPlanStartTimeType()));
            }
            detail.setServerTimeType(templateDetailDO.getServerTimeType());
//            //补充的科室和医生--有单独的分配接口
//            detail.setDoctor(detailDO.getDoctor());
//            detail.setDoctorName(detailDO.getDoctorName());
@ -370,7 +374,6 @@ public class RehabilitationPlanService extends BaseJpaService<RehabilitationPlan
            rehabilitationPatientInfoDao.save(infoDO);
        }
        planDO.setDetailDOList(detailDOList);
        System.out.println("创建完成");
        return planDO;
    }