浏览代码

代码修改

LAPTOP-KB9HII50\70708 1 年之前
父节点
当前提交
57bcb2250d

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/disease/dao/RehabilitationTemplateDetailDao.java

@ -7,7 +7,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface RehabilitationTemplateDetailDao extends PagingAndSortingRepository<RehabilitationTemplateDetailDO, Long>, JpaSpecificationExecutor<RehabilitationTemplateDetailDO> {
public interface RehabilitationTemplateDetailDao extends PagingAndSortingRepository<RehabilitationTemplateDetailDO, String>, JpaSpecificationExecutor<RehabilitationTemplateDetailDO> {
    List<RehabilitationTemplateDetailDO> findTemplateDetailByTemplateId(String templateId);

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/rehabilitation/PatientMedicalRecordsDao.java

@ -4,8 +4,8 @@ package com.yihu.jw.rehabilitation;
import com.yihu.jw.entity.specialist.rehabilitation.PatientMedicalRecordsDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface PatientMedicalRecordsDao extends JpaRepository<PatientMedicalRecordsDO, String>, JpaSpecificationExecutor<PatientMedicalRecordsDO> {
    PatientMedicalRecordsDO findByCode(String code);
}

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/rehabilitation/PatientRehabilitationPlanDO.java

@ -68,7 +68,7 @@ public class PatientRehabilitationPlanDO extends UuidIdentityEntity implements S
    private String patientInfoCode;//自动下转关联code wlyy_rehabilitation_patient_info 的code
    List<RehabilitationDetailDO> detailDOList;//康复计划明细
    private List<RehabilitationDetailDO> detailDOList;//康复计划明细
    @Column(name = "is_verify")
    public String getIsVerify() {

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

@ -8,6 +8,7 @@ import com.yihu.jw.hospital.module.rehabilitation.service.RehabilitationInfoServ
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.specialist.SpecialistMapping;
import com.yihu.jw.util.entity.ServiceException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -263,6 +264,17 @@ public class DoctorRehabilitaionInfoController extends EnvelopRestEndpoint {
    }
    @RequestMapping(value = "ttt", method = RequestMethod.GET)
    @ApiOperation("添加编辑住院病历")
    public String ttt() {
        try {
            return write(200, "添加成功", "data", rehabilitationInfoService.findByCode("2c53ebdec84747d48526abc40702c395"));
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, "添加失败");
        }
    }
    @RequestMapping(value = "createMedicalRecords", method = RequestMethod.POST)
    @ApiOperation("添加编辑住院病历")
    public String createMedicalRecords(
@ -316,4 +328,24 @@ public class DoctorRehabilitaionInfoController extends EnvelopRestEndpoint {
        }
    }
    @RequestMapping(value = "getPatientByIdcardOrSsc", method = RequestMethod.POST)
    @ApiOperation("根据患者身份证或社保卡号进行搜索添加出院记录")
    public String getPatientByIdcardOrSsc(@ApiParam(name = "patientInfo", value = "居民身份证或者社保卡", required = true)
                                          @RequestParam(value = "patientInfo")String patientInfo) {
        try {
            JSONObject object = rehabilitationInfoService.getPatientByIdcardOrSsc(patientInfo, getUID(),1);
            if(object.getInteger("status") == 200) {
                return write(200, "添加成功!", "data", object.get("data"));
            }else {
                return write(-1, "添加失败!", "data", object.getString("msg"));
            }
        } catch (ServiceException se){
            return error(-1,se.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, "操作失败");
        }
    }
}

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

@ -249,7 +249,7 @@ public class PatientRehabilitationManageController extends EnvelopRestEndpoint {
        try {
            List<PatientMedicalRecordsDO> result = rehabilitationManageService.selectByMedicalCode(medical);
            try {
                String sql = "UPDATE `wlyy`.`wlyy_patient_medical_records_rehabilitation` SET `patient_read_status`='1' WHERE (`code`='" + medical + "') ";
                String sql = "UPDATE `wlyy_patient_medical_records_rehabilitation` SET `patient_read_status`='1' WHERE (`code`='" + medical + "') ";
                jdbcTemplate.update(sql);
            } catch (Exception e) {
                e.printStackTrace();

+ 5 - 41
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/controller/RehabilitationPlanController.java

@ -6,8 +6,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.entity.specialist.rehabilitation.*;
import com.yihu.jw.hospital.module.rehabilitation.dao.RehabilitationOperateRecordsDao;
import com.yihu.jw.hospital.module.rehabilitation.service.RehabilitationPlanService;
import com.yihu.jw.hospital.disease.dao.RehabilitationPlanTemplateDao;
import com.yihu.jw.hospital.disease.dao.RehabilitationTemplateDetailDao;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.restmodel.qvo.ParamQvo;
import com.yihu.jw.restmodel.web.Envelop;
@ -352,47 +350,13 @@ public class RehabilitationPlanController extends EnvelopRestEndpoint {
    public MixEnvelop createPatientRehabilitationPlan(
            @ApiParam(name = "rehabilitationPlan", value = "实体JSON") @RequestParam(value = "rehabilitationPlan", required = true) String rehabilitationPlan) {
        try {
            JSONObject json = new JSONObject(rehabilitationPlan);
            JSONArray array = new JSONArray();
            for (Object planDetail : json.getJSONArray("detail")) {
                JSONObject j = (JSONObject) planDetail;
                if (j.has("executeTime")) {
                    String executeTime = j.get("executeTime").toString();
                    String[] result = null;
                    if (executeTime.contains(",")) {
                        result = executeTime.split(",");
                    } else {
                        result = new String[1];
                        result[0] = executeTime;
                    }
                    int len = result.length;
                    while (len > 0) {
                        len--;
                        JSONObject temp = new JSONObject(j.toString());
                        temp.put("executeTime", result[len]);
                        temp.put("createUser", json.get("createUser"));
                        temp.put("createUserName", json.get("createUserName"));
                        array.put(temp);
                    }
                } else {
                    j.put("createUser", json.get("createUser"));
                    j.put("createUserName", json.get("createUserName"));
                    array.put(j);
                }
            }
            String planDetails = array.toString();
            ObjectMapper object = new ObjectMapper();
            object.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm"));
            List<RehabilitationDetailDO> details = object.readValue(planDetails, new TypeReference<List<RehabilitationDetailDO>>() {
            });
            PatientRehabilitationPlanDO planDO = toEntity(json.toString(), PatientRehabilitationPlanDO.class);
            planDO = rehabilitationPlanService.createPatientRehabilitationPlan(planDO);
            details = rehabilitationPlanService.createRehabilitationDetail(details, planDO.getId());
            return MixEnvelop.getSuccessList(SpecialistMapping.api_success, details);
            PatientRehabilitationPlanDO planDO = toEntity(rehabilitationPlan, PatientRehabilitationPlanDO.class);
            List<RehabilitationDetailDO> details = planDO.getDetailDOList();
            planDO = rehabilitationPlanService.createPatientRehabilitationPlan(planDO,details);
            return MixEnvelop.getSuccess(SpecialistMapping.api_success, planDO);
        } catch (Exception e) {
            e.printStackTrace();
            // tracer.getCurrentSpan().logEvent(e.getMessage())
            return MixEnvelop.getError(e.getMessage());
            return MixEnvelop.getError("创建失败");
        }
    }

+ 2 - 0
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/dao/RehabilitationPatientInfoDao.java

@ -45,6 +45,8 @@ public interface RehabilitationPatientInfoDao extends PagingAndSortingRepository
    @Query(value="select r from RehabilitationPatientInfoDO r where r.idcard=?1 and r.createTime>=?2 and r.createTime<=?3 ")
    List<RehabilitationPatientInfoDO> findByIdcardAndCreateTime(String status,Date preTimeStart,Date preTimeEnd);
    @Query(value="select r from RehabilitationPatientInfoDO r where r.code=?1 ")
    RehabilitationPatientInfoDO findByCode(String code);
//    @Modifying
//    @Query(value="update RehabilitationPatientInfoDO r set r.status=?1 where r.code = ?2")
//    int updateState(Integer state, String code);

文件差异内容过多而无法显示
+ 49 - 92
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/service/RehabilitationInfoService.java


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

@ -15,6 +15,7 @@ import com.yihu.jw.hospital.module.rehabilitation.vo.TemplateDetailVo;
import com.yihu.jw.hospital.module.specialist.service.SpecialistHospitalServiceItemService;
import com.yihu.jw.hospital.module.specialist.service.SpecialistService;
import com.yihu.jw.mysql.query.BaseJpaService;
import com.yihu.jw.rehabilitation.PatientMedicalRecordsDao;
import com.yihu.jw.restmodel.qvo.ParamQvo;
import com.yihu.jw.restmodel.specialist.PatientSignInfoVO;
import com.yihu.jw.restmodel.web.Envelop;
@ -84,6 +85,12 @@ public class RehabilitationPlanService extends BaseJpaService<RehabilitationPlan
    private RehabilitationServiceItemDao serviceItemDao;
    @Autowired
    TemplateJsonDao templateJsonDao;
    @Autowired
    private RehabilitationManageService rehabilitationManageService;
    @Autowired
    private RehabilitationPatientInfoDao rehabilitationPatientInfoDao;
    @Autowired
    private PatientMedicalRecordsDao patientMedicalRecordsDao;
    /**
     * 没有默认创建服务项
@ -235,32 +242,55 @@ public class RehabilitationPlanService extends BaseJpaService<RehabilitationPlan
        return ListEnvelop.getSuccess(SpecialistMapping.api_success, resultList);
    }
    public PatientRehabilitationPlanDO createPatientRehabilitationPlan(PatientRehabilitationPlanDO planDO) {
    //创建康复计划
    public PatientRehabilitationPlanDO createPatientRehabilitationPlan(PatientRehabilitationPlanDO planDO,List<RehabilitationDetailDO> details) {
        String patientInfoCode = planDO.getPatientInfoCode();
        planDO.setStatus(3);//待分配 执行医生和科室
        planDO.setTitle(planDO.getName()+"的康复计划");
        planDO.setHealthStatusCode("2");
        planDO.setPlanType(1);
        planDO.setPayment(2);
        planDO.setCreateTime(new Date());
        planDO.setStatus(1);
        planDO.setUpdateTime(new Date());
        //判断是否签约,如果签约 新增家签团队id
        try {
            String sql = "SELECT a.admin_team_code  from wlyy.wlyy_sign_family a WHERE patient = '" + planDO.getPatient() + "' and `status`>0 and expenses_status =1 order by id desc limit 1 ";
            List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
            if (list != null && list.size() > 0) {
                planDO.setAdminTeamCode(Long.valueOf(list.get(0).get("admin_team_code") + ""));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return patientRehabilitationPlanDao.save(planDO);
        planDO = patientRehabilitationPlanDao.save(planDO);
        List<RehabilitationDetailDO> detailDOList = new ArrayList<>();
        for (RehabilitationDetailDO detailDO:details){
            RehabilitationTemplateDetailDO templateDetailDO = templateDetailDao.findById(detailDO.getId()).orElse(null);
            String frequency_code = templateDetailDO.getFrequencyCode();//频次
            RehabilitationDetailDO detail = new RehabilitationDetailDO();
            detail.setHospitalServiceItemId(templateDetailDO.getHospitalServiceItemId());
            detail.setCreateTime(new Date());
            detail.setStatus(0);
            detail.setType(1);
            detail.setUpdateTime(new Date());
            detail.setPlanId(planDO.getId());
            detail.setFrequencyCode(frequency_code);
            detailDOList.add(detail);
        }
        rehabilitationDetailDao.saveAll(detailDOList);
        rehabilitationManageService.addPlanLog(planDO.getId(),planDO.getPlanDoctor(),planDO.getPlanDoctorName());
        if(StringUtils.isNotBlank(patientInfoCode)){
            RehabilitationPatientInfoDO infoDO = rehabilitationPatientInfoDao.findByCode(patientInfoCode);
            if(StringUtils.isBlank(infoDO.getDiagnosis())){
                PatientMedicalRecordsDO recordsDO = patientMedicalRecordsDao.findByCode(planDO.getMedicalRecordsCode());
                infoDO.setDept(recordsDO.getDept());
                infoDO.setDeptName(recordsDO.getDeptName());
                infoDO.setDiagnosis(recordsDO.getAdmittingDiagnosis());
                infoDO.setDiagnosisName(recordsDO.getAdmittingDiagnosisName());
            }
            infoDO.setStatus(1);
            infoDO.setDoctor(planDO.getPlanDoctor());
            infoDO.setDoctorName(planDO.getPlanDoctorName());
            infoDO.setReceiveTime(new Date());
            rehabilitationPatientInfoDao.save(infoDO);
        }
        planDO.setDetailDOList(detailDOList);
        return planDO;
    }
    public List<RehabilitationDetailDO> createRehabilitationDetail(List<RehabilitationDetailDO> details, String planId) {
        for (RehabilitationDetailDO detail : details) {
            /*List<String> list = new ArrayList<>();
            list.add(detail.getHospitalServiceItemId());
            HospitalServiceItemDO hospitalServiceItemDO = hospitalServiceItemService.selectById(list).getDetailModelList().get(0);
            detail.setHospital(hospitalServiceItemDO.getHospital());
            detail.setHospitalName(hospitalServiceItemDO.getHospitalName());
            detail.setExpense(hospitalServiceItemDO.getExpense());*/
            detail.setPlanId(planId);
            detail.setCreateTime(new Date());
            detail.setStatus(0);