Browse Source

健康管理端

wangzhinan 1 year ago
parent
commit
74cc21910c

+ 16 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/team/BaseTeamDO.java

@ -1,11 +1,15 @@
package com.yihu.jw.entity.base.team;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;
/**
@ -52,6 +56,18 @@ public class BaseTeamDO extends UuidIdentityEntityWithOperator {
     */
    private String del;
    private BaseDoctorDO doctorDO;//医生信息
    @Transient
    public BaseDoctorDO getDoctorDO() {
        return doctorDO;
    }
    public void setDoctorDO(BaseDoctorDO doctorDO) {
        this.doctorDO = doctorDO;
    }
    @Column(name = "org_code")
    public String getOrgCode() {
        return orgCode;

+ 2 - 2
svr/svr-cloud-care/pom.xml

@ -11,7 +11,7 @@
    </parent>
    <groupId>com.yihu.jw</groupId>
    <artifactId>svr-cloud-care</artifactId>
    <artifactId>svr-cloud-care-test</artifactId>
    <packaging>jar</packaging>
    <version>${parent.version}</version>
@ -294,7 +294,7 @@
    </dependencies>
    <build>
        <finalName>svr-cloud-care</finalName>
        <finalName>svr-cloud-care-test</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>

+ 15 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/team/TeamEndpoint.java

@ -3,6 +3,10 @@ package com.yihu.jw.care.endpoint.team;
import com.yihu.jw.care.aop.ObserverRequired;
import com.yihu.jw.care.dao.team.BaseTeamDao;
import com.yihu.jw.care.service.team.BaseTeamService;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorRoleDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.base.team.BaseTeamDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -32,6 +36,9 @@ public class TeamEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseTeamDao teamDao;
    @Autowired
    private BaseDoctorDao doctorDao;
    @RequestMapping(method = RequestMethod.POST)
    @ApiOperation(value = "创建团队")
    @ObserverRequired
@ -175,8 +182,16 @@ public class TeamEndpoint extends EnvelopRestEndpoint {
            List<BaseTeamDO> teamList = new ArrayList<>();
            if (StringUtils.isNotBlank(name)){
                teamList = teamDao.findDoctorTeamsByDoctorName(doctorCode,"%" + name + "%");
                for (BaseTeamDO teamDO:teamList){
                    BaseDoctorDO doctorDO = doctorDao.findById(teamDO.getLeaderCode());
                    teamDO.setDoctorDO(doctorDO);
                }
            }else {
                teamList = teamDao.findDoctorTeams(doctorCode);
                for (BaseTeamDO teamDO:teamList){
                    BaseDoctorDO doctorDO = doctorDao.findById(teamDO.getLeaderCode());
                    teamDO.setDoctorDO(doctorDO);
                }
            }
            return ListEnvelop.getSuccess("获取成功",teamList);
        } catch (Exception e) {

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

@ -89,7 +89,7 @@ public class CareDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
            return null;
        }
        String sql = "SELECT d.id,d.name,d.photo,d.sex ";
        String sql = "SELECT d.id,d.name,d.photo,d.sex,d.idcard ";
        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);
@ -101,7 +101,7 @@ public class CareDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        String sqlEmergency = "";
        String sqlSecurity = "";
        String filter = "";
        if (2==doctorDO.getLevel()){//社工
        if (2==doctorDO.getLevel()||1==doctorDO.getLevel()){//社工
             sql1 = "SELECT COUNT(DISTINCT sr.patient) FROM " +
                    " base_service_package_sign_record sr, base_service_package_record r, base_team_member m " +
                    " WHERE  sr.id = r.sign_id and sr.status=1 " +

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

@ -843,15 +843,23 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
        }
        if("4".equals(type)||StringUtils.isBlank(type)||isShow){
            String nameDoctorSql = "";
            if (StringUtils.isNotBlank(name))nameDoctorSql = " and d.name like '%"+name+"%' ";
            if (StringUtils.isNotBlank(name)){
                nameDoctorSql = " and d.name like '%"+name+"%' ";
            }
            String areaDoctorSql="";
            if (StringUtils.isNoneBlank(area)){
                areaDoctorSql+=" and EXISTS ( select 1 from base_team_member mem where mem.doctor_code = d.id and mem.team_code='"+area+"' and mem.del=1 ) ";
            }
            String testDoctorSql= " SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_doctor'";
            String doctorSql = "SELECT d.id,d.photo,d.`name`,d.openid,h.org_name FROM " +
                    "base_doctor d,base_doctor_hospital h WHERE d.id=h.doctor_code" +
                    " AND h.del = 1 AND d.del = 1 AND d.doctor_level = 1 "+nameDoctorSql+" AND d.id NOT IN ("+testDoctorSql+")";
                    " AND h.del = 1 AND d.del = 1 AND d.doctor_level = 1 "+nameDoctorSql+" AND d.id NOT IN ("+testDoctorSql+")"+
                    areaDoctorSql;
            String doctorTotalSql = "SELECT count(d.id) total FROM " +
                    "base_doctor d,base_doctor_hospital h WHERE d.id=h.doctor_code" +
                    " AND h.del = 1 AND d.del = 1 AND d.doctor_level = 1 "+nameDoctorSql+" AND d.id NOT IN ("+testDoctorSql+")";
                    " AND h.del = 1 AND d.del = 1 AND d.doctor_level = 1 "+nameDoctorSql+" AND d.id NOT IN ("+testDoctorSql+")"+
                    areaDoctorSql;
            List<Map<String, Object>> list = jdbcTemplate.queryForList(doctorSql);
            Integer integer = jdbcTemplate.queryForObject(doctorTotalSql, Integer.class);
            re.put("doctor",list);

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

@ -227,9 +227,9 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
     * @param patient
     * @return
     */
    public List<BaseDoctorDO> findSignDoctor(String patient,String orgCode){
    public List<Map<String,Object>> findSignDoctor(String patient,String orgCode){
        String sql = "SELECT " +
                " DISTINCT d.* " +
                " DISTINCT d.id,d.name,d.idcard,d.on_line as online,d.sex,d.doctor_level as level,d.photo,d.mobile,d.doctor_lat as doctorLat,d.doctor_lon as doctorLon " +
                "FROM " +
                " base_service_package_sign_record sr, " +
                " base_service_package_record r, " +
@ -243,7 +243,7 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
        if(StringUtils.isNoneBlank(orgCode)){
            sql += " and i.org_code = '"+orgCode+"' " ;
        }
        List<BaseDoctorDO> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper(BaseDoctorDO.class));
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        return list;
    }

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/DetectionPlatformService.java

@ -569,7 +569,7 @@ public class DetectionPlatformService  {
            return null;
        }
        String sql = "";
        if (2==doctorDO.getLevel()){//社工
        if (2==doctorDO.getLevel()||1==doctorDO.getLevel()){//社工
            sql=  "SELECT p.id,p.name,p.photo,p.idcard,CAST(IFNULL(p.birthday,'') AS char ) birthday,p.residential_area residentialArea,p.sex, " +
                    " p.ykt_id yktId, case 1 WHEN p.openid is not null then 1 WHEN p.on_line = '1' then 1 ELSE 0 end as online,IFNULL(p.sign_status,0) signStatus "+
                    " from base_service_package_sign_record sr,base_patient p,base_service_package_record r,base_team_member m " +

+ 3 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -4017,12 +4017,13 @@ public class StatisticsService {
        //家属
        String familySql = "SELECT DISTINCT p.`name`,p.mobile,p.id,p.photo,case WHEN p.openid IS NOT NULL THEN 1 WHEN p.openid <> '' THEN 1 ELSE 0 END AS online FROM base_patient p WHERE p.id IN (SELECT fm.family_member FROM base_patient_family_member fm WHERE fm.patient = '"+patient+"')";
        //社工
        String doctorSql ="SELECT DISTINCT d.`name`,d.id,d.mobile,d.photo,case WHEN d.openid IS NOT NULL THEN 1 WHEN d.openid <> '' THEN 1 ELSE 0 END AS online FROM base_service_package_sign_record sr,base_service_package_record r,base_service_package i,base_team_member m," +
                " base_doctor d WHERE sr.id = r.sign_id AND sr.STATUS = 1 AND sr.patient = '"+patient+"' AND r.service_package_id = i.id AND i.del = 1 AND m.team_code = r.team_code " +
        String doctorSql ="SELECT DISTINCT d.`name`,d.id,d.mobile,d.doctor_level as level,d.photo,case WHEN d.openid IS NOT NULL THEN 1 WHEN d.openid <> '' THEN 1 ELSE 0 END AS online FROM base_service_package_sign_record sr,base_service_package_record r,base_service_package i,base_team_member m," +
                " base_doctor d WHERE sr.id = r.sign_id  AND sr.STATUS = 1 AND sr.patient = '"+patient+"' AND r.service_package_id = i.id AND i.del = 1 AND m.team_code = r.team_code " +
                " AND sr.id = r.sign_id AND m.doctor_code = d.id AND m.del = '1'";
        //助老元
        String dHelpSql = "SELECT DISTINCT d.id doctor,d.name,d.mobile,d.photo,case WHEN d.openid IS NOT NULL THEN 1 WHEN d.openid <> '' THEN 1 ELSE 0 END AS online" +
                " FROM base_patient_helper ph INNER JOIN base_doctor d  on ph.doctor=d.id WHERE ph.patient= '"+patient+"' AND ph.del = 1 ";
        List<Map<String, Object>> doctorList = jdbcTemplate.queryForList(doctorSql);
        List<Map<String, Object>> familyList = jdbcTemplate.queryForList(familySql);
        List<Map<String, Object>> helperList = jdbcTemplate.queryForList(dHelpSql);
@ -4058,8 +4059,6 @@ public class StatisticsService {
        jsonObject.put("familys",familyList);
        jsonObject.put("helpers",helperList);
        jsonObject.put("patient",patientList);
        return jsonObject;
    }

+ 6 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/team/BaseTeamService.java

@ -4,7 +4,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.care.dao.team.BaseTeamDao;
import com.yihu.jw.care.dao.team.BaseTeamMemberDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorRoleDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.base.team.BaseTeamDO;
import com.yihu.jw.entity.base.team.BaseTeamMemberDO;
import com.yihu.mysql.query.BaseJpaService;
@ -46,6 +48,8 @@ public class BaseTeamService extends BaseJpaService<BaseTeamDO, BaseTeamDao> {
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private BaseDoctorRoleDao doctorRoleDao;
    /**
     * 创建团队。
@ -145,6 +149,8 @@ public class BaseTeamService extends BaseJpaService<BaseTeamDO, BaseTeamDao> {
            } else {
                member.put("leader",false);
            }
            BaseDoctorDO doctorDO = doctorDao.findById(id);
            member.put("doctorDO",doctorDO);
        }
        return list;
    }