ソースを参照

Merge branch '2.0' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into 2.0

LAPTOP-KB9HII50\70708 1 週間 前
コミット
656df0b584

+ 15 - 1
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/followup/controller/DoctorFollowUpController.java

@ -6,6 +6,7 @@ import com.yihu.jw.hospital.module.followup.service.FollowUpService;
import com.yihu.jw.hospital.module.followup.service.FollowupDrugsService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.util.entity.ServiceException;
import com.yihu.jw.util.excel.ExportUtl;
import io.swagger.annotations.Api;
@ -119,8 +120,21 @@ public class DoctorFollowUpController extends BaseController {
        }
    }
    @GetMapping(value = "queryFollowupFormDetail")
    @ApiOperation(value = "随访记录查询(按随访表单类型)")
    public Envelop queryFollowupFormDetail(
            @ApiParam(value = "随访记录Id") @RequestParam(value = "followupId") Integer followupId,
            @ApiParam(value = "随访表单类型") @RequestParam(value = "followupFormType") String followupFormType) {
        try {
            return ObjEnvelop.getSuccess("查询成功",followUpService.queryFollowupFormDetail(followupId ,followupFormType));
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("查询失败");
        }
    }
    @GetMapping(value = "open/exportExcel/exportByFollowupFormType")
    @ApiOperation(value = "随访记录列表")
    @ApiOperation(value = "随访记录查询(按随访表单类型)-导出")
    public void exportByFollowupFormType(
            @ApiParam(value = "业务类型,全部及存在数据的专病名称") @RequestParam(value = "businessType", required = false) String businessType,
            @ApiParam(value = "业务来源的选项为:全部来源、诊后康复(其余选项待后期新增)") @RequestParam(value = "businessSource", required = false) String businessSource,

+ 50 - 14
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/followup/service/FollowUpService.java

@ -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 ";
}