|
@ -109,6 +109,32 @@ public class FollowUpService {
|
|
|
@Autowired
|
|
|
private ExportUtl exportUtl;
|
|
|
|
|
|
public Map<String,Object> queryFollowupFormDetail(Integer followupId,String followupFormType) {
|
|
|
String sql = "";
|
|
|
if("1".equals(followupFormType)) { // 全院通用
|
|
|
sql = "select distinct " +
|
|
|
" id,\n" +
|
|
|
" followup_id AS followupId,\n" +
|
|
|
" followup_project AS followupProject,\n" +
|
|
|
" followup_key AS followupKey,\n" +
|
|
|
" followup_value AS followupValue,\n" +
|
|
|
" date_format(create_time, '%Y-%m-%d %H:%i:%s') createTime " +
|
|
|
" from wlyy_followup_content c where c.followup_id = "+followupId+" AND c.followup_project='1' limit 1 ";
|
|
|
|
|
|
} else if("2".equals(followupFormType)) { // 骨科患者术后随访
|
|
|
sql = followupOrthopedicsSql + " where f.followup_id ="+followupId + " limit 1";
|
|
|
|
|
|
} else if("3".equals(followupFormType)) { // 肿瘤科患者术后随访
|
|
|
sql = baseFollowupOncologySql + " where f.followup_id ="+followupId + " limit 1";
|
|
|
} else if("4".equals(followupFormType)) { // 手足外科患者随访
|
|
|
sql = baseFollowupHandFootSql + " where f.followup_id ="+followupId + " limit 1";
|
|
|
}
|
|
|
if(StringUtils.isNotBlank(sql)) {
|
|
|
return jdbcTemplate.queryForMap(sql);
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
public void exportByFollowupFormType(String businessType, String businessSource, String startDate, String endDate, String patientName,
|
|
|
String followupStatus, String doctorName, String deptCode, String followupFormType, OutputStream os) throws Exception {
|
|
|
WritableWorkbook wwb = jxl.Workbook.createWorkbook(os);
|
|
@ -121,7 +147,7 @@ public class FollowUpService {
|
|
|
for (Map.Entry<String, List<Map<String, Object>>> followupEntry : followupListGroupingByFormType.entrySet()) {
|
|
|
String followupFormType2 = followupEntry.getKey();
|
|
|
List<Map<String, Object>> followupList2 = followupEntry.getValue();
|
|
|
String ids = followupList2.stream().map(i -> "'" + i.get("id") + "'")
|
|
|
String ids = followupList2.stream().map(i -> i.get("id")+"")
|
|
|
.collect(Collectors.joining(",","(",")"));
|
|
|
|
|
|
Map<Integer, List<Map<String, Object>>> followupList3 = followupList2.stream()
|
|
@ -213,7 +239,7 @@ public class FollowUpService {
|
|
|
exportUtl.addCell(ws, i, j++, m.get("psychologicalInterventionValue"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFollowupTime"));
|
|
|
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFollowupWay"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFollowupWayValue"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFocus"));
|
|
|
exportUtl.addCell(ws, i, j++, followup.get("doctorName"));
|
|
|
exportUtl.addCell(ws, i, j++, followup.get("followupDate"));
|
|
@ -287,7 +313,7 @@ public class FollowUpService {
|
|
|
exportUtl.addCell(ws, i, j++, m.get("specialNeeds"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFollowupTime"));
|
|
|
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFollowupWay"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFollowupWayValue"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFocus"));
|
|
|
exportUtl.addCell(ws, i, j++, followup.get("doctorName"));
|
|
|
exportUtl.addCell(ws, i, j++, followup.get("followupDate"));
|
|
@ -398,7 +424,7 @@ public class FollowUpService {
|
|
|
exportUtl.addCell(ws, i, j++, m.get("lifestyleValue"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("lifestyleSport"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFollowupTime"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFollowupWay"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFollowupWayValue"));
|
|
|
exportUtl.addCell(ws, i, j++, m.get("nextFocus"));
|
|
|
|
|
|
exportUtl.addCell(ws, i, j++, followup.get("doctorName"));
|
|
@ -4207,7 +4233,11 @@ public class FollowUpService {
|
|
|
" dict_wound_healing_status.dict_value woundHealingStatusValue,\n" +
|
|
|
" f.wound_healing_status_other woundHealingStatusOther,\n" +
|
|
|
" f.plan_training planTraining,\n" +
|
|
|
" CASE f.plan_training WHEN '0' THEN '否' WHEN '1' THEN '是' ELSE f.plan_training END AS planTrainingValue,\n" +
|
|
|
"\tCASE f.plan_training\n" +
|
|
|
" WHEN '0' THEN '否'\n" +
|
|
|
" WHEN '1' THEN '是'\n" +
|
|
|
" ELSE f.plan_training\n" +
|
|
|
" END AS planTrainingValue,\n" +
|
|
|
" f.plan_training_reason planTrainingReason,\n" +
|
|
|
" f.joint,\n" +
|
|
|
" f.muscle_strength muscleStrength,\n" +
|
|
@ -4243,6 +4273,7 @@ public class FollowUpService {
|
|
|
" END AS psychologicalInterventionValue,\n" +
|
|
|
" f.next_followup_time nextFollowupTime,\n" +
|
|
|
" f.next_followup_way nextFollowupWay,\n" +
|
|
|
"\td2.dict_value nextFollowupWayValue,\n" +
|
|
|
" f.next_focus nextFocus,\n" +
|
|
|
" f.create_time createTime\n" +
|
|
|
"FROM base_followup_orthopedics f\n" +
|
|
@ -4257,7 +4288,8 @@ public class FollowUpService {
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_dietary_status\n" +
|
|
|
" ON dict_dietary_status.dict_name = 'dietary_status' AND dict_dietary_status.dict_code = f.dietary_status\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_psychological_status\n" +
|
|
|
" ON dict_psychological_status.dict_name = 'psychological_status' AND dict_psychological_status.dict_code = f.psychological_status ";
|
|
|
" ON dict_psychological_status.dict_name = 'psychological_status' AND dict_psychological_status.dict_code = f.psychological_status\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict d2 ON d2.dict_name='FOLLOWUP_WAY_DICT' AND d2.dict_code=f.next_followup_way ";
|
|
|
|
|
|
|
|
|
public String baseFollowupOncologySql = "SELECT\n" +
|
|
@ -4293,7 +4325,7 @@ public class FollowUpService {
|
|
|
" f.oral_pain_score oralPainScore,\n" +
|
|
|
" f.hand_foot_syndrome handFootSyndrome,\n" +
|
|
|
" dict_hand_foot_syndrome.dict_value handFootSyndromeValue,\n" +
|
|
|
" f.`skin_redness,` skinRedness,\n" +
|
|
|
" f.`skin_redness` skinRedness,\n" +
|
|
|
" dict_skin_redness.dict_value skinRednessValue,\n" +
|
|
|
" f.radiodermatitis,\n" +
|
|
|
" CASE f.radiodermatitis WHEN '1' THEN '有' WHEN '0' THEN '无' ELSE f.radiodermatitis END AS radiodermatitisValue,\n" +
|
|
@ -4307,9 +4339,9 @@ public class FollowUpService {
|
|
|
" CASE f.rash WHEN '1' THEN '有' WHEN '0' THEN '无' ELSE f.rash END AS rashValue,\n" +
|
|
|
" f.rash_grade rashGrade,\n" +
|
|
|
" f.rash_hormone_therapy rashHormoneTherapy,\n" +
|
|
|
" CASE f.rash_hormone_therapy WHEN '1' THEN '是' WHEN '0' THEN '否' ELSE f.rash_hormone_therapy END AS rashHormoneTherapyValue,\n" +
|
|
|
" CASE f.rash_hormone_therapy WHEN '1' THEN '是' WHEN '0' THEN '否' ELSE f.rash_hormone_therapy END AS rashHormoneTherapyValue, -- 需要激素治疗\n" +
|
|
|
" f.thyroid_dysfunction thyroidDysfunction,\n" +
|
|
|
" CASE f.thyroid_dysfunction WHEN '1' THEN '有' WHEN '0' THEN '无' ELSE f.thyroid_dysfunction END AS thyroidDysfunctionValue,\n" +
|
|
|
" CASE f.thyroid_dysfunction WHEN '1' THEN '有' WHEN '0' THEN '无' ELSE f.thyroid_dysfunction END AS thyroidDysfunctionValue, -- 甲状腺功能异常\n" +
|
|
|
" f.thyroid_dysfunction_consultation thyroidDysfunctionConsultation,\n" +
|
|
|
" CASE f.thyroid_dysfunction_consultation WHEN '1' THEN '是' WHEN '0' THEN '否' ELSE f.thyroid_dysfunction_consultation END AS thyroidDysfunctionConsultationValue,\n" +
|
|
|
" f.pain_area painArea,\n" +
|
|
@ -4334,7 +4366,7 @@ public class FollowUpService {
|
|
|
" f.tumor_markers_high tumorMarkersHigh,\n" +
|
|
|
" f.blood_routine bloodRoutine,\n" +
|
|
|
" CASE f.blood_routine WHEN '1' THEN '是' WHEN '0' THEN '否' ELSE f.blood_routine END AS bloodRoutineValue,\n" +
|
|
|
" f.blood_routine_abnormal bloodRoutineAbnormal,\n" +
|
|
|
" f.blood_routine_abnormal bloodRoutineAbnormal, -- 血液异常项\n" +
|
|
|
" f.blood_routine_deal bloodRoutineDeal,\n" +
|
|
|
" CASE f.blood_routine_deal WHEN '1' THEN '是' WHEN '0' THEN '否' ELSE f.blood_routine_deal END AS bloodRoutineDealValue,\n" +
|
|
|
" f.diagnosis_treatment_plan diagnosisTreatmentPlan,\n" +
|
|
@ -4363,12 +4395,13 @@ public class FollowUpService {
|
|
|
" f.lifestyle_sport lifestyleSport,\n" +
|
|
|
" f.next_followup_time nextFollowupTime,\n" +
|
|
|
" f.next_followup_way nextFollowupWay,\n" +
|
|
|
"\td2.dict_value nextFollowupWayValue,\n" +
|
|
|
" f.next_focus nextFocus,\n" +
|
|
|
" f.create_time createTime\n" +
|
|
|
" date_format(f.create_time, '%Y-%m-%d %H:%i:%s') createTime\n" +
|
|
|
"FROM base_followup_oncology f\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_treatment_phase ON dict_treatment_phase.dict_name='treatment_phase' AND dict_treatment_phase.dict_code=f.treatment_phase\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_hand_foot_syndrome ON dict_hand_foot_syndrome.dict_name='hand_foot_syndrome' AND dict_hand_foot_syndrome.dict_code=f.hand_foot_syndrome\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_skin_redness ON dict_skin_redness.dict_name='skin_redness' AND dict_skin_redness.dict_code=f.`skin_redness,`\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_skin_redness ON dict_skin_redness.dict_name='skin_redness' AND dict_skin_redness.dict_code=f.`skin_redness`\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_coughing ON dict_coughing.dict_name='coughing' AND dict_coughing.dict_code=f.coughing\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_pain_level ON dict_pain_level.dict_name='pain_level' AND dict_pain_level.dict_code=f.pain_level\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_pain_level2 ON dict_pain_level2.dict_name='pain_level' AND dict_pain_level2.dict_code=f.pain_level2\n" +
|
|
@ -4383,7 +4416,8 @@ public class FollowUpService {
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_family_support ON dict_family_support.dict_name='family_support' AND dict_family_support.dict_code=f.family_support\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_symptom_record ON dict_symptom_record.dict_name='symptom_record' AND dict_symptom_record.dict_code=f.symptom_record\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_medication_compliance ON dict_medication_compliance.dict_name='medication_compliance' AND dict_medication_compliance.dict_code=f.medication_compliance\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_lifestyle ON dict_lifestyle.dict_name='lifestyle' AND dict_lifestyle.dict_code=f.lifestyle ";
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict dict_lifestyle ON dict_lifestyle.dict_name='lifestyle' AND dict_lifestyle.dict_code=f.lifestyle\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict d2 ON d2.dict_name='FOLLOWUP_WAY_DICT' AND d2.dict_code=f.next_followup_way ";
|
|
|
|
|
|
public String baseFollowupHandFootSql = "SELECT\n" +
|
|
|
" f.id,\n" +
|
|
@ -4474,6 +4508,7 @@ public class FollowUpService {
|
|
|
" f.special_needs specialNeeds,\n" +
|
|
|
" f.next_followup_time nextFollowupTime,\n" +
|
|
|
" f.next_followup_way nextFollowupWay,\n" +
|
|
|
"\td2.dict_value nextFollowupWayValue,\n" +
|
|
|
" f.next_focus nextFocus,\n" +
|
|
|
" f.create_time createTime\n" +
|
|
|
"FROM base_followup_hand_foot f\n" +
|
|
@ -4486,5 +4521,6 @@ public class FollowUpService {
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict d_wound_healing ON d_wound_healing.dict_name = 'wound_healing_status2' AND d_wound_healing.dict_code = f.wound_healing\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict d_peripheral_blood_circulation2 ON d_peripheral_blood_circulation2.dict_name = 'peripheral_blood_circulation' AND d_peripheral_blood_circulation2.dict_code = f.peripheral_blood_circulation2\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict d_diabetes_wound_healing ON d_diabetes_wound_healing.dict_name = 'wound_healing_status2' AND d_diabetes_wound_healing.dict_code = f.diabetes_wound_healing\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict d_adl ON d_adl.dict_name = 'adl' AND d_adl.dict_code = f.adl ";
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict d_adl ON d_adl.dict_name = 'adl' AND d_adl.dict_code = f.adl\n" +
|
|
|
"LEFT JOIN wlyy_hospital_sys_dict d2 ON d2.dict_name='FOLLOWUP_WAY_DICT' AND d2.dict_code=f.next_followup_way ";
|
|
|
}
|