Browse Source

Merge branch 'dev' of yeshijie/wlyy2.0 into dev

叶仕杰 4 years ago
parent
commit
2cba3bbed3

+ 4 - 0
common/common-entity/sql记录

@ -196,3 +196,7 @@ alter table base_patient add `archive_status` tinyint(1) DEFAULT NULL COMMENT '
alter table base_patient add `medicare_number` varchar(50) DEFAULT NULL COMMENT '医疗保险号';
alter table base_patient add `ssc` varchar(50) DEFAULT NULL COMMENT '社保卡号';
alter table base_patient add `archive_type` tinyint(1) DEFAULT NULL COMMENT '档案类型 1老人 2新生儿';
-- 2021-04-07 ysj
alter table base_doctor add `level` tinyint(4) DEFAULT NULL COMMENT '类型 1社区医生,2助老员';

+ 16 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorDO.java

@ -282,6 +282,13 @@ public class BaseDoctorDO extends UuidIdentityEntityWithOperator {
    private String jyzxChargeType;
    private String visitTime;
    /**
     * 类型 1社区医生,2助老员
     */
    private Integer level;
    @Column(name = "visit_time")
    public String getVisitTime() {
        return visitTime;
@ -747,4 +754,13 @@ public class BaseDoctorDO extends UuidIdentityEntityWithOperator {
    public void setXtfzChargeType(String xtfzChargeType) {
        this.xtfzChargeType = xtfzChargeType;
    }
    @Column(name = "level")
    public Integer getLevel() {
        return level;
    }
    public void setLevel(Integer level) {
        this.level = level;
    }
}

+ 16 - 15
common/common-entity/src/main/java/com/yihu/jw/entity/base/servicePackage/ServicePackageSignRecordDO.java

@ -10,6 +10,7 @@ import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * 签约记录表
@ -33,11 +34,11 @@ public class ServicePackageSignRecordDO extends UuidIdentityEntityWithCreateTime
    private List<ServicePackageRecordDO> recordDOList;
    //社区医生
    private String doctorInfo;
    private List<Map<String,Object>> doctorList;
    //助老员
    private String helperInfo;
    private List<Map<String,Object>> helperList;
    //服务包
    private String packageInfo;
    private List<Map<String,Object>> packageList;
    public String getPatient() {
        return patient;
@ -111,29 +112,29 @@ public class ServicePackageSignRecordDO extends UuidIdentityEntityWithCreateTime
    }
    @Transient
    public String getDoctorInfo() {
        return doctorInfo;
    public List<Map<String,Object>> getDoctorList() {
        return doctorList;
    }
    public void setDoctorInfo(String doctorInfo) {
        this.doctorInfo = doctorInfo;
    public void setDoctorList(List<Map<String,Object>> doctorList) {
        this.doctorList = doctorList;
    }
    @Transient
    public String getHelperInfo() {
        return helperInfo;
    public List<Map<String,Object>> getHelperList() {
        return helperList;
    }
    public void setHelperInfo(String helperInfo) {
        this.helperInfo = helperInfo;
    public void setHelperList(List<Map<String,Object>> helperList) {
        this.helperList = helperList;
    }
    @Transient
    public String getPackageInfo() {
        return packageInfo;
    public List<Map<String,Object>> getPackageList() {
        return packageList;
    }
    public void setPackageInfo(String packageInfo) {
        this.packageInfo = packageInfo;
    public void setPackageList(List<Map<String,Object>> packageList) {
        this.packageList = packageList;
    }
}

+ 81 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/label/PatientLabelDO.java

@ -0,0 +1,81 @@
package com.yihu.jw.entity.care.label;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * Created by ysj on 2021/4/7.
 */
@Entity
@Table(name = "wlyy_patient_label")
public class PatientLabelDO extends UuidIdentityEntity {
    // 标签code
    private String labelCode;
    // 标签名称
    private String labelName;
    // 标签类型 1.服务类型 2居民标签
    private String labelType;
    // 是否系统标签
    private Integer isSystem;
    // 排序
    private Integer sort;
    // 操作日期
    private Date czrq;
    private String patient;
    public String getLabelCode() {
        return labelCode;
    }
    public void setLabelCode(String labelCode) {
        this.labelCode = labelCode;
    }
    public String getLabelName() {
        return labelName;
    }
    public void setLabelName(String labelName) {
        this.labelName = labelName;
    }
    public String getLabelType() {
        return labelType;
    }
    public void setLabelType(String labelType) {
        this.labelType = labelType;
    }
    public Integer getIsSystem() {
        return isSystem;
    }
    public void setIsSystem(Integer isSystem) {
        this.isSystem = isSystem;
    }
    public Integer getSort() {
        return sort;
    }
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCzrq() {
        return czrq;
    }
    public void setCzrq(Date czrq) {
        this.czrq = czrq;
    }
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
}

+ 23 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/label/PatientLabelDao.java

@ -0,0 +1,23 @@
package com.yihu.jw.care.dao.label;
import com.yihu.jw.entity.care.label.PatientLabelDO;
import com.yihu.jw.entity.care.lifeCare.LifeCareItemDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by yeshijie on 2021/4/7.
 */
public interface PatientLabelDao extends PagingAndSortingRepository<PatientLabelDO, String>, JpaSpecificationExecutor<PatientLabelDO> {
    @Modifying
    @Query("delete PatientLabelDO a where a.patient=?1")
    int deleteByPatient(String patient) throws Exception;
    @Query("from PatientLabelDO w where  w.patient=?1 ")
    List<PatientLabelDO> findByPatient(String patient);
}

+ 45 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/patient/PatientEndpoint.java

@ -2,6 +2,7 @@ package com.yihu.jw.care.endpoint.patient;
import com.yihu.jw.care.aop.ServicesAuth;
import com.yihu.jw.care.aop.ServicesAuthAOP;
import com.yihu.jw.care.dao.label.PatientLabelDao;
import com.yihu.jw.care.service.patient.CarePatientService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
@ -11,10 +12,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@ -30,6 +28,8 @@ public class PatientEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private CarePatientService patientService;
    @Autowired
    private PatientLabelDao patientLabelDao;
    @Autowired
    ServicesAuthAOP servicesAuthAOP;
    @GetMapping(value = "testServicesAuth1")
@ -92,5 +92,46 @@ public class PatientEndpoint extends EnvelopRestEndpoint {
        }
    }
    @PostMapping(value = "updPatient")
    @ApiOperation(value = "修改居民信息")
    public Envelop updPatient(@ApiParam(name = "jsonData", value = "json格式")
                                  @RequestParam(value = "jsonData", required = true)String jsonData,
                                  @ApiParam(name = "doctorId", value = "医生id")
                                  @RequestParam(value = "doctorId", required = false)String doctorId)throws Exception{
        try{
            patientService.updPatient(jsonData, doctorId);
            return success("修改成功");
        }catch (Exception e){
            e.printStackTrace();
            return failed("修改失败",-1);
        }
    }
    @GetMapping(value = "findPatientLabel")
    @ApiOperation(value = "获取居民标签信息")
    public Envelop findPatientLabel(@ApiParam(name = "patientId", value = "居民id")
                                   @RequestParam(value = "patientId", required = true)String patientId)throws Exception{
        try{
            return success("修改成功",patientLabelDao.findByPatient(patientId));
        }catch (Exception e){
            e.printStackTrace();
            return failed("修改失败",-1);
        }
    }
    @PostMapping(value = "updPatientLabel")
    @ApiOperation(value = "修改居民标签信息")
    public Envelop updPatientLabel(@ApiParam(name = "jsonData", value = "json格式")
                              @RequestParam(value = "jsonData", required = true)String jsonData,
                              @ApiParam(name = "patientId", value = "居民id")
                              @RequestParam(value = "patientId", required = true)String patientId)throws Exception{
        try{
            patientService.updPatientLabel(jsonData, patientId);
            return success("修改成功");
        }catch (Exception e){
            e.printStackTrace();
            return failed("修改失败",-1);
        }
    }
}

+ 3 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/sign/SignEndpoint.java

@ -133,10 +133,12 @@ public class SignEndpoint extends EnvelopRestEndpoint {
    public Envelop servicePackageSign(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData,
            @ApiParam(name = "patientId", value = "居民id", required = true)
            @RequestParam String patientId,
            @ApiParam(name = "doctorId", value = "医生id", required = true)
            @RequestParam String doctorId) {
        try{
            ServicePackageSignRecordDO signRecordDO = servicePackageService.servicePackageSign(jsonData,doctorId);
            ServicePackageSignRecordDO signRecordDO = servicePackageService.servicePackageSign(jsonData,doctorId,patientId);
            servicePackageService.setPatientServiceItems(signRecordDO.getPatient());
            return success("分配成功");
        }catch (Exception e){

+ 9 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/common/DictService.java

@ -1,5 +1,7 @@
package com.yihu.jw.care.service.common;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -17,6 +19,8 @@ public class DictService {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    /**
     * 字典翻译
@ -28,8 +32,11 @@ public class DictService {
        if(StringUtils.isBlank(dictName)||StringUtils.isBlank(code)||"null".equals(code)){
            return null;
        }
        String sql = "select dict_value from wlyy_hospital_sys_dict where dict_name = '"+dictName+"' and dict_code = '"+code+"'";
        return jdbcTemplate.queryForObject(sql,String.class);
        List<WlyyHospitalSysDictDO> sysDictDOList =  wlyyHospitalSysDictDao.findByDictNameAndDictCode(dictName, code);
        if(sysDictDOList.size()==0){
            return null;
        }
        return sysDictDOList.get(0).getDictValue();
    }
    //查字典

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doctor/CareDoctorService.java

@ -43,7 +43,7 @@ public class CareDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
     * @return
     */
    public Map<String,Object> doctorInfo(String doctorId,String isRole){
        String sql = "SELECT d.id,d.name,d.photo,d.introduce,d.mobile,d.idcard,d.sex,h.dept_code deptCode,h.dept_name deptName,d.job_title_code jobTitleCode,d.job_title_name jobTitleName ";
        String sql = "SELECT d.id,d.name,d.level,d.photo,d.introduce,d.mobile,d.idcard,d.sex,h.dept_code deptCode,h.dept_name deptName,d.job_title_code jobTitleCode,d.job_title_name jobTitleName ";
        sql += " ,h.org_code orgCode,h.org_name orgName from base_doctor d left join base_doctor_hospital h on d.id = h.doctor_code  and h.del = 1" +
                " WHERE d.id = '"+doctorId+"' limit 1 ";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);

+ 78 - 23
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java

@ -1,11 +1,14 @@
package com.yihu.jw.care.service.patient;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.care.dao.label.PatientLabelDao;
import com.yihu.jw.care.service.common.DictService;
import com.yihu.jw.care.service.sign.ServicePackageService;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageSignRecordDO;
import com.yihu.jw.entity.care.label.PatientLabelDO;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.service.BasePatientMedicardCardService;
import com.yihu.jw.restmodel.web.PageEnvelop;
@ -13,10 +16,12 @@ import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.utils.StringUtil;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.CrudRepository;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -33,17 +38,17 @@ import java.util.Map;
 * @since 1.
 */
@Service
public class CarePatientService<T, R extends CrudRepository> extends BaseJpaService<BasePatientDO, BasePatientDao> {
public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatientDao> {
    @Autowired
    private BasePatientDao basePatientDao;
    private BasePatientDao patientDao;
    @Autowired
    private BasePatientMedicardCardService basePatientMedicardCardService;
    @Autowired
    private ServicePackageService servicePackageService;
    @Autowired
    private ObjectMapper objectMapper;
    private PatientLabelDao patientLabelDao;
    @Autowired
    private DictService dictService;
@ -91,7 +96,7 @@ public class CarePatientService<T, R extends CrudRepository> extends BaseJpaServ
     */
    public JSONObject findPatientById(String patientId) throws Exception{
        JSONObject res = new JSONObject();
        BasePatientDO patientDO = basePatientDao.findById(patientId);
        BasePatientDO patientDO = patientDao.findById(patientId);
        patientDO.setArchiveStatusName(dictService.fingByNameAndCode("archiveStatus",String.valueOf(patientDO.getArchiveStatus())));
        patientDO.setNationalName(dictService.fingByNameAndCode("national",String.valueOf(patientDO.getNational())));
        patientDO.setArchiveTypeName(dictService.fingByNameAndCode("archiveType",String.valueOf(patientDO.getArchiveType())));
@ -106,26 +111,76 @@ public class CarePatientService<T, R extends CrudRepository> extends BaseJpaServ
            ServicePackageSignRecordDO signRecordDO = signRecordDOs.get(0);
            String signId = signRecordDO.getId();
            List<Map<String,Object>> packageList = servicePackageService.fingdBySignId(signId);
            List<Map<String,Object>> doctorList = servicePackageService.fingdDoctorBySignId(signId,"generalDoctor");
            List<Map<String,Object>> helperList = servicePackageService.fingdDoctorBySignId(signId,"helper");
            String doctorInfo = "";
            String helperInfo = "";
            String packageInfo = "";
            if(doctorList.size()>0){
                doctorInfo = doctorList.get(0).get("name").toString()+"等"+doctorList.size()+"名";
            }
            if(helperList.size()>0){
                helperInfo = doctorList.get(0).get("name").toString()+"等"+helperList.size()+"名";
            }
            if(packageList.size()>0){
                packageInfo = packageList.get(0).get("name").toString()+"等"+packageList.size()+"个";
            }
            signRecordDO.setDoctorInfo(doctorInfo);
            signRecordDO.setHelperInfo(helperInfo);
            signRecordDO.setPackageInfo(packageInfo);
            List<Map<String,Object>> doctorList = servicePackageService.fingdDoctorBySignId(signId,1);
            List<Map<String,Object>> helperList = servicePackageService.fingdDoctorBySignId(signId,2);
            signRecordDO.setDoctorList(doctorList);
            signRecordDO.setHelperList(helperList);
            signRecordDO.setPackageList(packageList);
            res.put("signRecordDO",signRecordDO);
        }
        return res;
    }
    /**
     * 修改居民信息
     * @param jsonData
     * @param doctorId
     */
    @Transactional(rollbackFor = Exception.class)
    public void updPatient(String jsonData,String doctorId) throws Exception{
        JSONObject jsonObject = JSON.parseObject(jsonData);
        BasePatientDO patientDetail = JSONObject.parseObject(jsonObject.getJSONObject("patient").toJSONString(), BasePatientDO.class);
        BasePatientDO patientBrief = patientDao.findById(patientDetail.getId());
        patientBrief.setName(patientDetail.getName());
        patientBrief.setSex(patientDetail.getSex());
        patientBrief.setIdcard(patientDetail.getIdcard());
        patientBrief.setProvinceCode(patientDetail.getProvinceCode());
        patientBrief.setProvinceName(patientDetail.getProvinceName());
        patientBrief.setCityCode(patientDetail.getCityCode());
        patientBrief.setCityName(patientDetail.getCityName());
        patientBrief.setTownCode(patientDetail.getTownCode());
        patientBrief.setTownName(patientDetail.getTownName());
        patientBrief.setLiveProvinceCode(patientDetail.getLiveProvinceCode());
        patientBrief.setLiveProvinceName(patientDetail.getLiveProvinceName());
        patientBrief.setLiveCityCode(patientDetail.getLiveCityCode());
        patientBrief.setLiveCityName(patientDetail.getLiveCityName());
        patientBrief.setLiveTownCode(patientDetail.getLiveTownCode());
        patientBrief.setLiveTownName(patientDetail.getLiveTownName());
        patientBrief.setLiveStreetCode(patientDetail.getLiveStreetCode());
        patientBrief.setLiveStreetName(patientDetail.getLiveStreetName());
        patientBrief.setAddress(patientDetail.getAddress());
        patientBrief.setCommitteeCode(patientDetail.getCommitteeCode());
        patientBrief.setCommitteeName(patientDetail.getCommitteeName());
        patientBrief.setArchiveStatus(patientDetail.getArchiveStatus());
        patientBrief.setSsc(patientDetail.getSsc());
        patientBrief.setMedicareNumber(patientDetail.getMedicareNumber());
        patientBrief.setMobile(patientDetail.getMobile());
        patientBrief.setMobileRemarks(patientDetail.getMobileRemarks());
        patientDao.save(patientBrief);
        JSONObject jsonObject1 = jsonObject.getJSONObject("signRecordDO");
        if(jsonObject1!=null){
            servicePackageService.servicePackageSign(jsonObject1.toJSONString(),doctorId,patientBrief.getId());
        }
    }
    /**
     * 修改居民标签信息
     * @param jsonData
     * @param patientId
     */
    @Transactional(rollbackFor = Exception.class)
    public void updPatientLabel(String jsonData,String patientId) throws Exception{
        patientLabelDao.deleteByPatient(patientId);
        JSONArray jsonArray = JSON.parseArray(jsonData);
        List<PatientLabelDO> labelDOList = new ArrayList<>();
        for (int i=0;i<jsonArray.size();i++){
            PatientLabelDO labelDO = JSONObject.parseObject(jsonArray.getJSONObject(i).toJSONString(), PatientLabelDO.class);
            labelDO.setPatient(patientId);
            labelDO.setCzrq(new Date());
            labelDOList.add(labelDO);
        }
        patientLabelDao.save(labelDOList);
    }
}

+ 32 - 33
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/sign/ServicePackageService.java

@ -7,7 +7,6 @@ import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageItemDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageRecordDO;
@ -154,29 +153,13 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
        JSONObject json = new JSONObject();
        ServicePackageSignRecordDO signRecordDO = servicePackageSignRecordDao.findOne(id);
        BasePatientDO patientDO = patientDao.findById(signRecordDO.getPatient());
        PatientMedicareCardDO card = basePatientMedicardCardService.findByTypeAndPatientCodeAndDel("A_01",signRecordDO.getPatient(),"1");
        if(card != null){
            patientDO.setSsc(card.getCode());
        }
        json.put("patient",patientDO);
        List<Map<String,Object>> packageList = fingdBySignId(id);
        List<Map<String,Object>> doctorList = fingdDoctorBySignId(id,"generalDoctor");
        List<Map<String,Object>> helperList = fingdDoctorBySignId(id,"helper");
        String doctorInfo = "";
        String helperInfo = "";
        String packageInfo = "";
        if(doctorList.size()>0){
            doctorInfo = doctorList.get(0).get("name").toString()+"等"+doctorList.size()+"名";
        }
        if(helperList.size()>0){
            helperInfo = doctorList.get(0).get("name").toString()+"等"+helperList.size()+"名";
        }
        if(packageList.size()>0){
            packageInfo = packageList.get(0).get("name").toString()+"等"+packageList.size()+"个";
        }
        signRecordDO.setDoctorInfo(doctorInfo);
        signRecordDO.setHelperInfo(helperInfo);
        signRecordDO.setPackageInfo(packageInfo);
        List<Map<String,Object>> doctorList = fingdDoctorBySignId(id,1);
        List<Map<String,Object>> helperList = fingdDoctorBySignId(id,2);
        signRecordDO.setDoctorList(doctorList);
        signRecordDO.setHelperList(helperList);
        signRecordDO.setPackageList(packageList);
        json.put("signRecordDO",signRecordDO);
        return json;
    }
@ -185,13 +168,27 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
     * 根据签约记录查找医生/助老员
     * @param signId
     */
    public List<Map<String,Object>> fingdDoctorBySignId(String signId,String role){
    public List<Map<String,Object>> fingdDoctorBySignId(String signId,Integer level){
        String sql = "SELECT DISTINCT d.id,d.name from base_service_package_sign_record sr,base_service_package_record r, " +
                "base_service_package_item i,base_team_member m,base_doctor d,base_doctor_role dr " +
                "base_service_package_item i,base_team_member m,base_doctor d " +
                "WHERE sr.id = r.sign_id and r.service_package_id = i.service_package_id " +
                "and i.del = 1 and m.team_code = i.team_code " +
                "and m.del = '1' and d.id = dr.doctor_code and dr.role_code = '"+role+"' " +
                "and sr.id = '"+signId+"' ";
                "and m.del = '1' and d.level = " + level+
                " and sr.id = '"+signId+"' ";
        return jdbcTemplate.queryForList(sql);
    }
    /**
     * 根据服务包id查找医生/助老员
     * @param packageId
     */
    public List<Map<String,Object>> fingdDoctorByPackageId(String packageId,Integer level){
        String sql = "SELECT DISTINCT d.id,d.name from base_service_package_record r, " +
                "base_service_package_item i,base_team_member m,base_doctor d " +
                "WHERE r.service_package_id = i.service_package_id " +
                "and i.del = 1 and m.team_code = i.team_code " +
                "and m.del = '1' and d.level = " + level+
                " and r.id = '"+packageId+"' ";
        return jdbcTemplate.queryForList(sql);
    }
@ -266,7 +263,7 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
     * @param doctorId
     */
    @Transactional(rollbackFor = Exception.class)
    public ServicePackageSignRecordDO servicePackageSign(String jsonData,String doctorId) throws Exception{
    public ServicePackageSignRecordDO servicePackageSign(String jsonData,String doctorId,String patientId) throws Exception{
        ServicePackageSignRecordDO signRecordDO = objectMapper.readValue(jsonData, ServicePackageSignRecordDO.class);
        List<ServicePackageRecordDO> recordDOList = signRecordDO.getRecordDOList();
        String signId = signRecordDO.getId();
@ -297,13 +294,15 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
        }
        for (ServicePackageRecordDO recordDO:recordDOList){
            recordDO.setPatient(signRecordDO.getPatient());
            recordDO.setPatient(patientId);
            recordDO.setSignId(signId);
        }
        servicePackageRecordDao.save(recordDOList);
        return signRecordDO;
    }
    public PageEnvelop<List<Map<String,Object>>> servicePackagePage(int page, int size){
        String sql = "SELECT p.id,p.`name`,p.type,p.introduce,p.num  ";
        String countSql = "SELECT count(*) ";
@ -319,11 +318,11 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
        for (Map<String,Object> map :list){
            String id = map.get("id").toString();
            List<ServicePackageItemDO> itemDOList = servicePackageItemDao.findByServicePackageId(id);
            if(itemDOList.size()>0){
                map.put("detail",itemDOList.get(0).getName()+"等"+itemDOList.size()+"项服务");
            }else{
                map.put("detail","");
            }
            map.put("detail",itemDOList);
            List<Map<String,Object>> doctorList = fingdDoctorByPackageId(id,1);
            List<Map<String,Object>> helperList = fingdDoctorByPackageId(id,2);
            map.put("doctorList",doctorList);
            map.put("helperList",helperList);
        }
        Long count = jdbcTemplate.queryForObject(countSql+filters,Long.class);
        return PageEnvelop.getSuccessListWithPage("success",list,page,size,count);