瀏覽代碼

代码修改

LAPTOP-KB9HII50\70708 1 年之前
父節點
當前提交
47539de645

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

@ -1,8 +1,10 @@
package com.yihu.jw.hospital.module.rehabilitation.controller;
import com.yihu.jw.entity.rehabilitation.RehabilitationguidancePatientDO;
import com.yihu.jw.entity.specialist.rehabilitation.PatientRehabilitationPlanDO;
import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationOperateRecordsDO;
import com.yihu.jw.hospital.module.rehabilitation.service.RehabilitationGuidanceService;
import com.yihu.jw.hospital.module.rehabilitation.service.RehabilitationManageService;
import com.yihu.jw.hospital.module.rehabilitation.service.SynchronizePatientService;
import com.yihu.jw.restmodel.web.Envelop;
@ -20,7 +22,9 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -36,6 +40,8 @@ public class RehabilitationManageController extends EnvelopRestEndpoint {
    private RehabilitationManageService rehabilitationManageService;
    @Autowired
    private SynchronizePatientService synchronizePatientService;
    @Autowired
    private RehabilitationGuidanceService rehabilitationGuidanceService;
    @PostMapping(value = "completePlan")
    @ApiOperation("确认完成服务,填写服务笔记")
@ -106,6 +112,21 @@ public class RehabilitationManageController extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "findLastGuidanceMessage")
    @ApiOperation("查询最新一条指导留言")
    public Envelop findLastGuidanceMessage(
            @ApiParam(name = "planId", value = "康复计划id", required = true)
            @RequestParam(value = "planId", required = true) String planId) {
        try {
            return ObjEnvelop.getSuccess("查询成功",rehabilitationManageService.findLastGuidanceMessage(planId));
        }catch (ServiceException se){
            return Envelop.getError(se.getMessage());
        }catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("查询失败");
        }
    }
    @PostMapping(value = "assignExecutor")
    @ApiOperation("计划负责人分配执行人")
    public Envelop assignExecutor(
@ -250,6 +271,133 @@ public class RehabilitationManageController extends EnvelopRestEndpoint {
        }
    }
    @RequestMapping(value = "findGuidanceByType", method = RequestMethod.GET)
    @ApiOperation("康复管理-查看指导模板")
    public Envelop findGuidanceByType(@ApiParam(name = "type", value = "康复指导类型", required = true)
                              @RequestParam(value = "type", required = true) String type) {
        try {
            return ObjEnvelop.getSuccess("查询成功",rehabilitationGuidanceService.findByType(type));
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("查询失败");
        }
    }
    @RequestMapping(value = "saveGuidandceTemplate", method = RequestMethod.POST)
    @ApiOperation("康复管理-保存指导模板")
    public Envelop saveGuidandceTemplate(@ApiParam(name = "type", value = "康复指导类型", required = true)
                              @RequestParam(value = "type", required = true) String type,
                              @ApiParam(name = "content", value = "模板内容", required = true)
                              @RequestParam(value = "content", required = true) String content,
                              @ApiParam(name = "typeName", value = "类型名称", required = true)
                              @RequestParam(value = "typeName", required = true) String typeName) {
        try {
            rehabilitationGuidanceService.saveGuidandceTemplate(content,type,typeName,getUID());
            return Envelop.getSuccess("保存成功");
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("保存失败");
        }
    }
    @RequestMapping(value = "selectGuidances", method = RequestMethod.GET)
    @ApiOperation("康复管理-查看指导列表")
    public Envelop selectType(@ApiParam(name = "type", value = "康复指导类型", required = false)
                             @RequestParam(value = "type", required = false) Integer type,
                             @ApiParam(name = "id", value = "康复指导模板id", required = false)
                             @RequestParam(value = "id", required = false) String id,
                             @ApiParam(name = "title", value = "康复指导名称", required = false)
                             @RequestParam(value = "title", required = false) String title,
                             @ApiParam(name = "planId", value = "计划id", required = false)
                             @RequestParam(value = "planId", required = false) String planId,
                             @ApiParam(name = "page", value = "页码", required = false)
                             @RequestParam(value = "page", required = false, defaultValue ="1") Integer page,
                             @ApiParam(name = "pagesize", value = "每页大小", required = false)
                             @RequestParam(value = "pagesize", required = false,defaultValue = "15") Integer pagesize) {
        try {
            return rehabilitationGuidanceService.select(title,type,id,planId,page,pagesize);
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("查询失败");
        }
    }
    @RequestMapping(value = "selectPatientGuidances", method = RequestMethod.GET)
    @ApiOperation("康复管理-查看指导列表")
    public Envelop selectPatientGuidances(@ApiParam(name = "patient", value = "居民code", required = false)
                                         @RequestParam(value = "patient", required = false) String patient,
                                         @ApiParam(name = "code", value = "康复指导模板code", required = false)
                                         @RequestParam(value = "code", required = false) String code,
                                         @ApiParam(name = "doctor", value = "医生code", required = false)
                                         @RequestParam(value = "doctor", required = false) String doctor,
                                         @ApiParam(name = "page", value = "页码", required = false)
                                         @RequestParam(value = "page", required = false) Integer page,
                                         @ApiParam(name = "pagesize", value = "每页大小", required = false)
                                         @RequestParam(value = "pagesize", required = false) Integer pagesize) {
        try {
            return rehabilitationGuidanceService.selectPatientGuidances(patient,doctor,code,page,pagesize);
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("查询失败");
        }
    }
    @RequestMapping(value = "selectType", method = RequestMethod.GET)
    @ApiOperation("康复管理-查看指导列表标题")
    public Envelop selectType(@ApiParam(name="planId",value = "根据计划id取该计划对应疾病的指导",required = false)
                             @RequestParam(value = "planId",required = false)String planId) {
        try {
            return ListEnvelop.getSuccess("查询成功",rehabilitationGuidanceService.selectType(planId));
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("查询失败");
        }
    }
    @RequestMapping(value = "selectByRelationCode", method = RequestMethod.GET)
    @ApiOperation("康复管理-根据业务code查找康复指导")
    public Envelop selectByRelationCode(@ApiParam(name = "relationCode", value = "业务关联code", required = false)
                                       @RequestParam(value = "relationCode", required = false) String relationCode,
                                       @ApiParam(name = "patient", value = "居民code", required = false)
                                       @RequestParam(value = "patient", required = false) String patient,
                                       @ApiParam(name = "doctor", value = "医生code", required = false)
                                       @RequestParam(value = "doctor", required = false) String doctor) {
        try {
            return ListEnvelop.getSuccess("查询成功",rehabilitationGuidanceService.selectByRelationCode(patient,doctor,relationCode));
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("查询失败");
        }
    }
    @RequestMapping(value = "sendGuidance", method = RequestMethod.POST)
    @ApiOperation("康复管理-发送康复指导")
    public Envelop selectType(@ApiParam(name = "json", value = "康复指导json", required = true)
                             @RequestParam(value = "json", required = true) String json,
                             @ApiParam(name = "planId", value = "计划ID", required = true)
                             @RequestParam(value = "planId", required = true) String planId) {
        try {
            com.alibaba.fastjson.JSONArray array = com.alibaba.fastjson.JSONArray.parseArray(json);
            List<RehabilitationguidancePatientDO> rehabilitationguidancePatientDOS = new ArrayList<>();
            for (int i=0;i<array.size();i++){
                com.alibaba.fastjson.JSONObject object = array.getJSONObject(i);
                RehabilitationguidancePatientDO rehabilitationguidancePatientDO = objectMapper.readValue(object.toJSONString(),RehabilitationguidancePatientDO.class);
                rehabilitationguidancePatientDOS.add(rehabilitationguidancePatientDO);
            }
            return ListEnvelop.getSuccess("发送成功",rehabilitationGuidanceService.sendGuidanceToPatient(rehabilitationguidancePatientDOS,planId));
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("发送失败");
        }
    }
    @PostMapping(value = "appointmentConsultation")
    @ApiOperation(value = "康复管理-预约协诊")
    public ObjEnvelop appointmentConsultation(

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

@ -10,6 +10,7 @@ public interface RehabilitationGuidanceDao extends PagingAndSortingRepository<Re
    @Query("select p from RehabilitationguidanceDO p where p.code = ?1 and p.del=1")
    RehabilitationguidanceDO findByCode(String code);
    @Query("select p from RehabilitationguidanceDO p where p.type = ?1 and p.del=1")
    RehabilitationguidanceDO findByType(String type);
//    Page<RehabilitationguidanceDO> findByCondition(String sql,PageRequest page);
}

+ 39 - 15
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/service/RehabilitationGuidanceService.java

@ -13,6 +13,7 @@ import com.yihu.jw.hospital.task.PushMsgTask;
import com.yihu.jw.hospital.utils.WeiXinAccessTokenUtils;
import com.yihu.jw.hospital.utils.WeiXinOpenIdUtils;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.util.date.DateUtil;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
@ -20,7 +21,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
@ -31,7 +31,10 @@ import org.springframework.transaction.annotation.Transactional;
import org.springside.modules.persistence.DynamicSpecifications;
import org.springside.modules.persistence.SearchFilter;
import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -60,6 +63,35 @@ public class RehabilitationGuidanceService {
    @Autowired
    private WeiXinOpenIdUtils weiXinOpenIdUtils;
    //按类型查找
    public RehabilitationguidanceDO findByType(String type){
        return rehabilitationGuidanceDao.findByType(type);
    }
    //保存指导模板
    public void saveGuidandceTemplate(String content,String type,String typeName,String uid){
        RehabilitationguidanceDO guidanceDO = rehabilitationGuidanceDao.findByType(type);
        if(guidanceDO==null){
            guidanceDO = new RehabilitationguidanceDO();
            guidanceDO.setCode(type);
            guidanceDO.setType(type);
            guidanceDO.setTypeName(typeName);
            if(StringUtils.isNotBlank(uid)){
                BaseDoctorDO doctorDO = doctorDao.findByIdAndDel(uid);
                if(doctorDO != null){
                    guidanceDO.setCreateUser(uid);
                    guidanceDO.setCreateUserName(doctorDO.getName());
                }
            }
            guidanceDO.setDel(1);
            guidanceDO.setTitle(typeName);
            guidanceDO.setUseCount(0);
        }
        guidanceDO.setContent(content);
        guidanceDO.setCzrq(new Date());
        rehabilitationGuidanceDao.save(guidanceDO);
    }
    /**
     * 康复指导类型标题
     *
@ -94,7 +126,7 @@ public class RehabilitationGuidanceService {
     * @param pagesize
     * @return
     */
    public Page<RehabilitationguidanceDO> select(String title, Integer type, String code, String planId, Integer page, Integer pagesize) {
    public PageEnvelop select(String title, Integer type, String code, String planId, Integer page, Integer pagesize) {
        String disease = "";
        if (StringUtils.isNoneBlank(planId)) {
            String sql = "select * from wlyy_patient_rehabilitation_plan where id='" + planId + "' ";
@ -137,16 +169,11 @@ public class RehabilitationGuidanceService {
            String contents = temp.getContent();
            temp.setContent(StringEscapeUtils.unescapeJava(contents));
        }
        PageRequest pageRequest = PageRequest.of(page, pagesize);
        if (list.size() <= 0) {
            return new PageImpl(new ArrayList<>(), pageRequest, 0);
        }
        return new PageImpl(list, pageRequest, totalCount);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,pagesize,totalCount);
    }
    public Page<RehabilitationguidancePatientDO> selectPatientGuidances(String patient, String doctor, String code, Integer page, Integer pagesize) {
    public PageEnvelop selectPatientGuidances(String patient, String doctor, String code, Integer page, Integer pagesize) {
        if (page >= 1) {
            page--;
        }
@ -179,7 +206,7 @@ public class RehabilitationGuidanceService {
            BasePatientDO patient1 = patientDao.findById(rehabilitationguidancePatientDO.getPatient()).orElse(null);
            rehabilitationguidancePatientDO.setPhoto(patient1.getPhoto());
        }
        return rehabilitationguidancePatientDOS;
        return PageEnvelop.getSuccessListWithPage("查询成功",rehabilitationguidancePatientDOS.toList(),page,pagesize,rehabilitationguidancePatientDOS.getTotalElements());
    }
    /**
@ -245,7 +272,6 @@ public class RehabilitationGuidanceService {
        //康复指导
        BasePatientDO patient = patientDao.findById(patientCode).orElse(null);
        BaseDoctorDO doctor = doctorDao.findById(doctorCode).orElse(null);
//        SignFamily signFamily = signFamilyDao.findByPatient(patientCode);
        String name = "";
        String doctorName = "";
@ -257,9 +283,7 @@ public class RehabilitationGuidanceService {
        if (doctor != null) {
            doctorName = doctor.getName();
        }
//        if (signFamily != null) {
//            familyDoctorName = signFamily.getDoctorName();
//        }
        Integer sendType = null;
        if (type == 1) {
            RehabilitationguidanceDO rehabilitationguidanceDO = rehabilitationGuidanceDao.findByCode(relationCode);

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

@ -1352,7 +1352,9 @@ public class RehabilitationManageService {
        for (RehabilitationDetailDO detailDO:detailDOList){
            String key = detailDO.getHospitalServiceItemId();
            List<ServiceItemPlanDO> planDOS = planListMap.get(key);
            if(planDOS==null){
                planDOS = new ArrayList<>();
            }
            String completeTime = "";
            String planTime = "";
            int total = planDOS.size();
@ -1460,6 +1462,17 @@ public class RehabilitationManageService {
        return null;
    }
    //查询最新一条指导留言
    public GuidanceMessageLogDO findLastGuidanceMessage(String planId){
        String sql = "SELECT l.* from wlyy_guidance_message_log l,base_service_item_plan p WHERE p.plan_id ='"+planId+"'" +
                " and l.plan_detail_id=p.id order by l.create_time desc LIMIT 1";
        List<GuidanceMessageLogDO> logDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(GuidanceMessageLogDO.class));
        if(logDOS.size()>0){
            return logDOS.get(0);
        }
        return null;
    }
    /**
     * 保存康复管理指导留言信息
     *