|
@ -51,6 +51,8 @@ public class SpecialistService{
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
@Value("${basedb.name}")
|
|
|
private String basedb;
|
|
|
@Value("${encrypt.key}")
|
|
|
private String key;
|
|
|
@Autowired
|
|
|
private StringRedisTemplate redisTemplate;
|
|
|
@Autowired
|
|
@ -73,16 +75,16 @@ public class SpecialistService{
|
|
|
String sql = "SELECT " +
|
|
|
" r.id, " +
|
|
|
" r.doctor, " +
|
|
|
" r.doctor_name AS doctor_name, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.doctor_name), '" + key + "') AS char) AS doctor_name, " +
|
|
|
" r.saas_id AS sassId, " +
|
|
|
" r.patient, " +
|
|
|
" r.patient_name AS patient_name, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patient_name, " +
|
|
|
" r.health_doctor AS healthDoctor, " +
|
|
|
" r.health_doctor_name AS healthDoctorName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.health_doctor_name), '" + key + "') AS char) AS healthDoctorName, " +
|
|
|
" r.sign_code AS signCode, " +
|
|
|
" r.sign_year AS signYear, " +
|
|
|
" r.sign_doctor AS sign_doctor, " +
|
|
|
" r.sign_doctor_name AS signDoctorName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.sign_doctor_name), '" + key + "') AS char) AS signDoctorName, " +
|
|
|
" r.create_time AS createTime," +
|
|
|
" r.status " +
|
|
|
"FROM " +
|
|
@ -134,7 +136,7 @@ public class SpecialistService{
|
|
|
public MixEnvelop<PatientRelationVO, PatientRelationVO> findNoLabelPatientRelation(String doctor){
|
|
|
String sql ="SELECT " +
|
|
|
" r.patient, " +
|
|
|
" r.patient_name AS patientName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
" IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " +
|
|
|
" p.photo, " +
|
|
|
" rd.create_time AS createTime ," +
|
|
@ -174,7 +176,7 @@ public class SpecialistService{
|
|
|
public MixEnvelop<PatientRelationVO, PatientRelationVO> findPatientRelatioByAssistant(String doctor , String assistant, Integer page, Integer size){
|
|
|
String sql ="SELECT " +
|
|
|
" r.patient, " +
|
|
|
" r.patient_name AS patientName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
" IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " +
|
|
|
" p.photo ," +
|
|
|
" p.sex," +
|
|
@ -205,7 +207,7 @@ public class SpecialistService{
|
|
|
|
|
|
public MixEnvelop<PatientLabelVO, PatientLabelVO> getPatientByLabel(String doctor, String labelType,String teamCode, String labelCode, Integer page, Integer size,String shareDoctor){
|
|
|
String sql="SELECT " +
|
|
|
" p. NAME, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(s.patient_name), '" + key + "') AS char) AS name, " +
|
|
|
" p. CODE, " +
|
|
|
" p.sex," +
|
|
|
" IFNULL( " +
|
|
@ -221,7 +223,8 @@ public class SpecialistService{
|
|
|
" lb.labelName as health, " +
|
|
|
" lb.label AS healthcode ," +
|
|
|
" s.health_assistant AS healthAssistant," +
|
|
|
" s.health_assistant_name AS healthAssistantName," +
|
|
|
" CAST(AES_DECRYPT(from_base64(s.health_assistant_name), '" + key + "') AS char) AS healthAssistantName, " +
|
|
|
// " s.health_assistant_name AS healthAssistantName," +
|
|
|
" s.is_manage AS isManage," +
|
|
|
" s.id AS specialCode" +
|
|
|
" FROM " +
|
|
@ -250,7 +253,8 @@ public class SpecialistService{
|
|
|
if("7".equals(labelType)){
|
|
|
sql = "SELECT " +
|
|
|
"c.CODE," +
|
|
|
"c.NAME," +
|
|
|
" CAST(AES_DECRYPT(from_base64(a.patient_name), '" + key + "') AS char) AS name, " +
|
|
|
// "c.NAME," +
|
|
|
"c.sex," +
|
|
|
"IFNULL(YEAR (from_days(datediff(now(),c.birthday))),'未知') age," +
|
|
|
"c.photo,b.disease AS label," +
|
|
@ -258,7 +262,8 @@ public class SpecialistService{
|
|
|
"d.label_name AS health," +
|
|
|
"d.label AS healthcode," +
|
|
|
"a.health_assistant AS healthAssistant," +
|
|
|
"a.health_assistant_name AS healthAssistantName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(a.health_assistant_name), '" + key + "') AS char) AS healthAssistantName, " +
|
|
|
// "a.health_assistant_name AS healthAssistantName, " +
|
|
|
"a.is_manage AS isManage, " +
|
|
|
"a.id AS specialCode " +
|
|
|
"FROM wlyy_specialist.wlyy_specialist_patient_relation a " +
|
|
@ -277,12 +282,14 @@ public class SpecialistService{
|
|
|
if("pending".equals(labelType)){
|
|
|
sql = "SELECT " +
|
|
|
"c.CODE," +
|
|
|
"c.NAME," +
|
|
|
" CAST(AES_DECRYPT(from_base64(a.patient_name), '" + key + "') AS char) AS name, " +
|
|
|
// "c.NAME," +
|
|
|
"c.sex," +
|
|
|
"IFNULL(YEAR (from_days(datediff(now(),c.birthday))),'未知') age," +
|
|
|
"c.photo," +
|
|
|
"a.health_assistant AS healthAssistant," +
|
|
|
"a.health_assistant_name AS healthAssistantName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(a.health_assistant_name), '" + key + "') AS char) AS healthAssistantName, " +
|
|
|
// "a.health_assistant_name AS healthAssistantName, " +
|
|
|
"a.is_manage AS isManage " +
|
|
|
"FROM wlyy_specialist.wlyy_specialist_patient_relation a " +
|
|
|
"JOIN "+basedb+".wlyy_patient c ON a.patient=c.CODE " +
|
|
@ -340,7 +347,8 @@ public class SpecialistService{
|
|
|
public MixEnvelop<PatientRelationVO, PatientRelationVO> getDoctorPatientByName(String doctor, String nameKey,String teamCode, Integer page, Integer size){
|
|
|
String sql ="SELECT " +
|
|
|
" p.code AS patient, " +
|
|
|
" p.`name` AS patientName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
// " p.`name` AS patientName, " +
|
|
|
" p.photo, " +
|
|
|
" IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " +
|
|
|
" p.sex ," +
|
|
@ -364,7 +372,7 @@ public class SpecialistService{
|
|
|
" r.doctor IN ( SELECT m.doctor_code FROM wlyy.wlyy_admin_team_member m WHERE m.team_id ='" +teamCode+
|
|
|
"' ) " +
|
|
|
" AND r.status >=0 AND r.sign_status >0 " +
|
|
|
" AND r.patient_name LIKE '%"+nameKey+"%' "+
|
|
|
" AND CAST(AES_DECRYPT(from_base64 (r.patient_name),'" + key + "') AS CHAR) LIKE '%"+nameKey+"%' "+
|
|
|
" LIMIT "+(page-1)*size+","+size;
|
|
|
|
|
|
List<PatientRelationVO> patientRelationVOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(PatientRelationVO.class));
|
|
@ -376,7 +384,8 @@ public class SpecialistService{
|
|
|
public MixEnvelop<PatientRelationVO, PatientRelationVO> getDoctorPatientByNameOrIdCard(String doctor, String filter,String teamCode, Integer page, Integer size){
|
|
|
String sql ="SELECT " +
|
|
|
" p.code AS code, " +
|
|
|
" p.`name` AS name, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
// " p.`name` AS name, " +
|
|
|
" p.photo, " +
|
|
|
" IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " +
|
|
|
" p.sex ," +
|
|
@ -401,7 +410,7 @@ public class SpecialistService{
|
|
|
" r.doctor IN ( SELECT m.doctor_code FROM wlyy.wlyy_admin_team_member m WHERE m.team_id ='" +teamCode+
|
|
|
"' ) " +
|
|
|
" AND r.status >=0 AND r.sign_status >0 " +
|
|
|
" AND (r.patient_name LIKE '%"+filter+"%' OR p.idcard LIKE '%"+filter+"%') "+
|
|
|
" AND (CAST(AES_DECRYPT(from_base64 (r.patient_name),'" + key + "') AS CHAR) LIKE '%"+filter+"%' OR p.idcard LIKE '%"+filter+"%') "+
|
|
|
" LIMIT "+(page-1)*size+","+size;
|
|
|
|
|
|
List<PatientRelationVO> patientRelationVOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(PatientRelationVO.class));
|
|
@ -441,7 +450,8 @@ public class SpecialistService{
|
|
|
|
|
|
String sql ="SELECT " +
|
|
|
" p.code AS patient, " +
|
|
|
" p.`name` AS patientName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
// " p.`name` AS patientName, " +
|
|
|
" p.photo, " +
|
|
|
" IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " +
|
|
|
" p.sex, " +
|
|
@ -478,12 +488,14 @@ public class SpecialistService{
|
|
|
String checkDoctorSql = "SELECT " +
|
|
|
" r.id AS relationCode," +
|
|
|
" r.patient, " +
|
|
|
" r.patient_name AS patientName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
// " r.patient_name AS patientName, " +
|
|
|
" r.team_code AS teamCode, " +
|
|
|
" t.`name`, " +
|
|
|
" d.photo ," +
|
|
|
" d.code AS doctor," +
|
|
|
" d.name AS doctorName" +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.doctor_name), '" + key + "') AS char) AS doctorName " +
|
|
|
// " d.name AS doctorName" +
|
|
|
" FROM " +
|
|
|
" wlyy_specialist_patient_relation r " +
|
|
|
" JOIN "+basedb+".wlyy_admin_team t ON t.id = r.team_code " +
|
|
@ -501,7 +513,8 @@ public class SpecialistService{
|
|
|
for(SpecialistTeamVO specialistTeamVO:specialistTeamVOs){
|
|
|
String menberSql = "SELECT " +
|
|
|
" m.doctor_code AS doctorCode, " +
|
|
|
" d.`name` AS doctorName " +
|
|
|
" CAST(AES_DECRYPT(from_base64(d.`name`), '" + key + "') AS char) AS doctorName " +
|
|
|
// " d.`name` AS doctorName " +
|
|
|
" FROM " +
|
|
|
" "+basedb+".wlyy_admin_team_member m " +
|
|
|
" JOIN "+basedb+".wlyy_doctor d ON m.doctor_code = d.`code` " +
|
|
@ -518,7 +531,8 @@ public class SpecialistService{
|
|
|
String checkTeamSql = "SELECT " +
|
|
|
" r.id AS relationCode," +
|
|
|
" r.patient, " +
|
|
|
" r.patient_name AS patientName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
// " r.patient_name AS patientName, " +
|
|
|
" r.team_code AS teamCode, " +
|
|
|
" t.`name`, " +
|
|
|
" d.photo " +
|
|
@ -538,7 +552,8 @@ public class SpecialistService{
|
|
|
for(SpecialistTeamVO specialistTeamVO:teamVOs){
|
|
|
String menberSql = "SELECT " +
|
|
|
" m.doctor_code AS doctorCode, " +
|
|
|
" d.`name` AS doctorName " +
|
|
|
" CAST(AES_DECRYPT(from_base64(d.`name`), '" + key + "') AS char) AS doctorName " +
|
|
|
// " d.`name` AS doctorName " +
|
|
|
" FROM " +
|
|
|
" "+basedb+".wlyy_admin_team_member m " +
|
|
|
" JOIN "+basedb+".wlyy_doctor d ON m.doctor_code = d.`code` " +
|
|
@ -593,9 +608,11 @@ public class SpecialistService{
|
|
|
public MixEnvelop<PatientSignInfoVO, PatientSignInfoVO> findPatientSigninfo(String code){
|
|
|
String sql = "SELECT " +
|
|
|
" r.patient, " +
|
|
|
" r.patient_name AS patientName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
// " r.patient_name AS patientName, " +
|
|
|
" r.doctor, " +
|
|
|
" r.doctor_name AS doctorName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.doctor_name), '" + key + "') AS char) AS doctorName, " +
|
|
|
// " r.doctor_name AS doctorName, " +
|
|
|
" d.hospital, " +
|
|
|
" d.hospital_name AS hospitalName, " +
|
|
|
" d.photo, " +
|
|
@ -622,12 +639,15 @@ public class SpecialistService{
|
|
|
String sql = "SELECT " +
|
|
|
" r.id AS relationCode, " +
|
|
|
" r.patient, " +
|
|
|
" r.patient_name AS patientName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
// " r.patient_name AS patientName, " +
|
|
|
" r.team_code,r.sign_date , " +
|
|
|
" t.`name` AS name," +
|
|
|
" d.photo," +
|
|
|
" md.code AS doctor," +
|
|
|
" md.name AS doctorName,d.hospital,d.hospital_name " +
|
|
|
" CAST(AES_DECRYPT(from_base64(md.name), '" + key + "') AS char) AS doctorName, " +
|
|
|
// " md.name AS doctorName," +
|
|
|
"d.hospital,d.hospital_name " +
|
|
|
" FROM " +
|
|
|
" wlyy_specialist_patient_relation r " +
|
|
|
" JOIN "+basedb+".wlyy_admin_team t ON t.id = r.team_code " +
|
|
@ -643,7 +663,8 @@ public class SpecialistService{
|
|
|
for(SpecialistTeamVO specialistTeamVO:specialistTeamVOs){
|
|
|
String menberSql = "SELECT " +
|
|
|
" m.doctor_code AS doctorCode, " +
|
|
|
" d.`name` AS doctorName " +
|
|
|
" CAST(AES_DECRYPT(from_base64(d.name), '" + key + "') AS char) AS doctorName " +
|
|
|
// " d.`name` AS doctorName " +
|
|
|
" FROM " +
|
|
|
" "+basedb+".wlyy_admin_team_member m " +
|
|
|
" JOIN "+basedb+".wlyy_doctor d ON m.doctor_code = d.`code` " +
|
|
@ -662,8 +683,10 @@ public class SpecialistService{
|
|
|
" r.id AS relationCode, " +
|
|
|
" r.patient, " +
|
|
|
" r.team_code AS teamCode," +
|
|
|
" r.patient_name AS patientName, " +
|
|
|
" d.name AS doctorName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
// " r.patient_name AS patientName, " +
|
|
|
// " d.name AS doctorName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(d.name), '" + key + "') AS char) AS doctorName, " +
|
|
|
" d.code AS doctor, " +
|
|
|
" d.photo, " +
|
|
|
" d.dept, " +
|
|
@ -692,11 +715,14 @@ public class SpecialistService{
|
|
|
" r.id AS relationCode," +
|
|
|
" r.patient, " +
|
|
|
" r.team_code AS teamCode," +
|
|
|
" r.patient_name AS patientName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.patient_name), '" + key + "') AS char) AS patientName, " +
|
|
|
// " r.patient_name AS patientName, " +
|
|
|
" r.health_assistant AS healthAssistant," +
|
|
|
" r.health_assistant_name AS healthAssistantName," +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.health_assistant_name), '" + key + "') AS char) AS healthAssistantName, " +
|
|
|
// " r.health_assistant_name AS healthAssistantName," +
|
|
|
" r.create_time AS createTime," +
|
|
|
" d.name AS doctorName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(d.name), '" + key + "') AS char) AS doctorName, " +
|
|
|
// " d.name AS doctorName, " +
|
|
|
" d.code AS doctor, " +
|
|
|
" d.photo, " +
|
|
|
" d.dept, " +
|
|
@ -728,7 +754,8 @@ public class SpecialistService{
|
|
|
if(StringUtils.isNotBlank(name)){
|
|
|
sql = "SELECT " +
|
|
|
"doctor.CODE AS CODE," +
|
|
|
"doctor.NAME AS NAME," +
|
|
|
" CAST(AES_DECRYPT(from_base64(doctor.NAME), '" + key + "') AS char) AS NAME, " +
|
|
|
// "doctor.NAME AS NAME," +
|
|
|
"doctor.sex AS sex," +
|
|
|
"doctor.birthday AS birthday," +
|
|
|
"doctor.photo AS photo," +
|
|
@ -751,11 +778,12 @@ public class SpecialistService{
|
|
|
"SELECT a.doctor_health AS doctorcode FROM wlyy.wlyy_sign_family a RIGHT JOIN ( " +
|
|
|
"SELECT patient FROM wlyy_specialist_patient_relation WHERE sign_status> 0 AND `status`>=0 AND doctor='"+doctor+"') b ON a.patient=b.patient WHERE a.`status`=1 AND a.expenses_status = 1 " +
|
|
|
") " +
|
|
|
"t ON doctor.CODE=t.doctorcode and doctor.NAME like '%"+name+"%'";
|
|
|
"t ON doctor.CODE=t.doctorcode and CAST(AES_DECRYPT(from_base64(doctor.NAME), '" + key + "') AS char) like '%"+name+"%'";
|
|
|
}else{
|
|
|
sql = "SELECT " +
|
|
|
"doctor.CODE AS CODE," +
|
|
|
"doctor.NAME AS NAME," +
|
|
|
" CAST(AES_DECRYPT(from_base64(doctor.NAME), '" + key + "') AS char) AS NAME, " +
|
|
|
// "doctor.NAME AS NAME," +
|
|
|
"doctor.sex AS sex," +
|
|
|
"doctor.birthday AS birthday," +
|
|
|
"doctor.photo AS photo," +
|
|
@ -805,7 +833,8 @@ public class SpecialistService{
|
|
|
public MixEnvelop<PatientRelationVO,PatientRelationVO> getSpecialistSignFamilyPatientByName(String specialdoctor, String familydoctor, String nameKey, Integer page, Integer size) {
|
|
|
String sql ="SELECT " +
|
|
|
"p.CODE AS patient," +
|
|
|
"p.`name` AS patientName," +
|
|
|
" CAST(AES_DECRYPT(from_base64(p.`name`), '" + key + "') AS char) AS patientName, " +
|
|
|
// "p.`name` AS patientName," +
|
|
|
"p.photo," +
|
|
|
"IFNULL(YEAR (from_days(datediff(now(),p.birthday))),'未知') age," +
|
|
|
"p.sex " +
|
|
@ -816,7 +845,7 @@ public class SpecialistService{
|
|
|
" AND doctor='"+specialdoctor+"') " +
|
|
|
" AND (a.doctor='"+familydoctor+"' OR a.doctor_health='"+familydoctor+"') ";
|
|
|
if(StringUtils.isNotBlank(nameKey)){
|
|
|
sql= sql + " AND a.NAME LIKE '%"+nameKey+"%' ";
|
|
|
sql= sql + " AND CAST(AES_DECRYPT(from_base64(a.`name`), '" + key + "') AS char) LIKE '%"+nameKey+"%' ";
|
|
|
}
|
|
|
sql= sql +" AND a.`status`=1 AND a.expenses_status=1) s ON p.CODE=s.patient" +
|
|
|
" LIMIT "+(page-1)*size+","+size;
|
|
@ -833,12 +862,12 @@ public class SpecialistService{
|
|
|
"IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age, " +
|
|
|
"p.birthday, " +
|
|
|
"p.photo " +
|
|
|
"FROM (SELECT s.disease,s.disease_name,s.patient,s.patient_name,r.team_code from " +
|
|
|
"FROM (SELECT s.disease,s.disease_name,s.patient,CAST(AES_DECRYPT(from_base64(s.patient_name), '" + key + "') AS char) as patient_name,r.team_code from " +
|
|
|
"(SELECT id, team_code FROM wlyy_specialist_patient_relation WHERE doctor='" + doctor + "' and sign_status > 0 and `status` >= 0) r " +
|
|
|
"JOIN "+basedb+".wlyy_patient_disease_server s on r.id = s.specialist_relation_code WHERE s.del = 1) s " +
|
|
|
"JOIN "+basedb+".wlyy_patient p on s.patient = p.`code` where p.`status` >0 ";
|
|
|
if(StringUtils.isNotBlank(patientInfo)){
|
|
|
sql += " and p.idcard like '%"+ patientInfo +"%' or patient_name like '%" + patientInfo + "%'";
|
|
|
sql += " and p.idcard like '%"+ patientInfo +"%' or patient_name like '%" + patientInfo + "%'";
|
|
|
}
|
|
|
if(StringUtils.isNotBlank(disease)){
|
|
|
sql = sql.replace("WHERE s.del = 1", "WHERE s.del = 1 and s.disease = '" + disease + "'");
|
|
@ -968,7 +997,7 @@ public class SpecialistService{
|
|
|
jsonObject.put("doctorInfo", jdbcTemplate.queryForMap(doctorSql));
|
|
|
|
|
|
//3、获取该医生所属团队及团队成员信息
|
|
|
String teamSql = "SELECT at.name teamName, tm.team_id , tm.doctor_code, wd.NAME as doctorName FROM " + basedb + ".wlyy_doctor wd LEFT JOIN " + basedb + ".wlyy_admin_team_member tm ON wd. CODE = tm.doctor_code, " + basedb + ".wlyy_admin_team at " +
|
|
|
String teamSql = "SELECT at.name teamName, tm.team_id , tm.doctor_code, CAST(AES_DECRYPT(from_base64(wd.NAME), '" + key + "') AS char) AS doctorName FROM " + basedb + ".wlyy_doctor wd LEFT JOIN " + basedb + ".wlyy_admin_team_member tm ON wd. CODE = tm.doctor_code, " + basedb + ".wlyy_admin_team at " +
|
|
|
"WHERE tm.team_id IN ( SELECT watm.team_id teamId FROM " + basedb + ".wlyy_admin_team_member watm WHERE watm.doctor_code ='" + doctorCode + "'" + " AND watm.available = '1' ) AND tm.available='1' AND `at`.id=tm.team_id";
|
|
|
List<Map<String, Object>> teamList = jdbcTemplate.queryForList(teamSql);
|
|
|
Map<Integer, List<Map<String, Object>>> m = teamList.stream().collect(Collectors.groupingBy(tem -> ((Integer) tem.get("team_id")).intValue(), Collectors.toList()));
|
|
@ -1019,7 +1048,7 @@ public class SpecialistService{
|
|
|
jsonObject.put("specialistPatientRelationId", null == specialistPatientRelationDO ? null : specialistPatientRelationDO.getId());
|
|
|
jsonObject.put("signCertificate", null == specialistPatientRelationDO ? null : specialistPatientRelationDO.getSignCertificate());
|
|
|
//1、获取居民基础信息
|
|
|
String preSql = "SELECT p.name as name, p.photo as photo,p.idcard as idcard,p.mobile as mobile,p.medicare_number as medicareNumber,p.ssc as ssc," +
|
|
|
String preSql = "SELECT CAST(AES_DECRYPT(from_base64(p.name ), '" + key + "') AS char) as name, p.photo as photo,p.idcard as idcard,p.mobile as mobile,p.medicare_number as medicareNumber,p.ssc as ssc," +
|
|
|
" CASE WHEN wd.name is null THEN '无' ELSE wd.name END as doctorName,CASE WHEN wd.hospital_name is NULL THEN '无' ELSE wd.hospital_name END as hospitalName,CASE WHEN wd.mobile is NULL THEN '无' ELSE wd.mobile END as doctorMobole ";
|
|
|
String patientSql = " from " + basedb + ".wlyy_patient p LEFT JOIN " + basedb + ".wlyy_sign_family wsf " +
|
|
|
" ON p.code=wsf.patient AND wsf.type='2' AND wsf.status='1' " +
|
|
@ -1053,7 +1082,7 @@ public class SpecialistService{
|
|
|
jsonObject.put("doctorInfo", result);
|
|
|
|
|
|
//3、获取该医生所属团队及团队成员信息
|
|
|
String teamSql = "SELECT at.name teamName, tm.team_id , tm.doctor_code, wd.NAME as doctorName FROM " + basedb + ".wlyy_doctor wd LEFT JOIN " + basedb + ".wlyy_admin_team_member tm ON wd. CODE = tm.doctor_code, " + basedb + ".wlyy_admin_team at " +
|
|
|
String teamSql = "SELECT at.name teamName, tm.team_id , tm.doctor_code, CAST(AES_DECRYPT(from_base64(wd.NAME), '" + key + "') AS char) as doctorName FROM " + basedb + ".wlyy_doctor wd LEFT JOIN " + basedb + ".wlyy_admin_team_member tm ON wd. CODE = tm.doctor_code, " + basedb + ".wlyy_admin_team at " +
|
|
|
"WHERE tm.team_id IN ( SELECT watm.team_id teamId FROM " + basedb + ".wlyy_admin_team_member watm WHERE watm.doctor_code ='" + doctorCode + "'" + " AND watm.available = '1' ) AND tm.available='1' AND `at`.id=tm.team_id";
|
|
|
List<Map<String, Object>> teamList = jdbcTemplate.queryForList(teamSql);
|
|
|
Map<Integer, List<Map<String, Object>>> m = teamList.stream().collect(Collectors.groupingBy(tem -> ((Integer) tem.get("team_id")).intValue(), Collectors.toList()));
|
|
@ -1172,7 +1201,13 @@ public class SpecialistService{
|
|
|
* @return
|
|
|
*/
|
|
|
public List<SpecialistPatientRelationDO> selectByAssistant(String patient,String doctor){
|
|
|
String sql = "select * from wlyy_specialist_patient_relation r where r.health_assistant = '"+doctor+"' and r.patient = '"+patient+"' ";
|
|
|
String sql = "select *,CAST(AES_DECRYPT(from_base64(r.patient_name ), '" + key + "') AS char) as patientName," +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.doctor_name), '" + key + "') AS char) AS doctorName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.health_assistant_name), '" + key + "') AS char) AS healthAssistantName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.health_doctor_name), '" + key + "') AS char) AS healthDoctorName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.sign_doctor_name), '" + key + "') AS char) AS signDoctorName, " +
|
|
|
" CAST(AES_DECRYPT(from_base64(r.create_user_name), '" + key + "') AS char) AS createUserName " +
|
|
|
" from wlyy_specialist_patient_relation r where r.health_assistant = '"+doctor+"' and r.patient = '"+patient+"' ";
|
|
|
List<SpecialistPatientRelationDO> relationDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(SpecialistPatientRelationDO.class));
|
|
|
return relationDOS;
|
|
|
}
|
|
@ -1184,7 +1219,7 @@ public class SpecialistService{
|
|
|
*/
|
|
|
public MixEnvelop searchPatientInSpecialistNew(String doctorCode,String keywords,Integer page,Integer pageSize) throws Exception{
|
|
|
String sql1 = " select count(1) as num ";
|
|
|
String sql2 = " select p.name as name,p.idcard,p.code,p.photo";
|
|
|
String sql2 = " select CAST(AES_DECRYPT(from_base64(p.name ), '" + key + "') AS char) as name,p.idcard,p.code,p.photo";
|
|
|
String whereSql ="";
|
|
|
if(!StringUtils.isEmpty(keywords)){
|
|
|
whereSql+=" and p.mobile ='"+keywords+"'";
|
|
@ -1299,9 +1334,9 @@ public class SpecialistService{
|
|
|
if (!teamCode.equals(toTeamCode)){//跨团队
|
|
|
flag=true;
|
|
|
}
|
|
|
String sql =" select name from wlyy.wlyy_doctor where code='"+toDoctorCode+"'";
|
|
|
String sql =" select CAST(AES_DECRYPT(from_base64(name), '" + key + "') AS char) as name from wlyy.wlyy_doctor where code='"+toDoctorCode+"'";
|
|
|
String toDoctorName = jdbcTemplate.queryForObject(sql,String.class);
|
|
|
sql =" select name from wlyy.wlyy_doctor where code='"+doctorCode+"'";
|
|
|
sql =" select CAST(AES_DECRYPT(from_base64(name), '" + key + "') AS char) as name from wlyy.wlyy_doctor where code='"+doctorCode+"'";
|
|
|
String doctorName = jdbcTemplate.queryForObject(sql,String.class);
|
|
|
JSONObject result = new JSONObject();
|
|
|
JSONArray planObject = new JSONArray();
|