소스 검색

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

zdm 6 년 전
부모
커밋
61022fce4c

+ 576 - 70
svr/svr-iot/src/main/java/com/yihu/iot/controller/analyzer/IotAnalyzerController.java

@ -7,15 +7,16 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yihu.fastdfs.FastDFSUtil;
import com.yihu.iot.datainput.service.DataInputService;
import com.yihu.iot.datainput.util.ConstantUtils;
import com.yihu.iot.service.common.DfsTemplate;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.util.date.DateUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -43,6 +44,9 @@ public class IotAnalyzerController extends EnvelopRestEndpoint {
    @Autowired
    private FastDFSUtil fastDFSHelper;
    @Autowired
    private DfsTemplate dfsTemplate;
    /**
     * 基于奕拓小屋上传的体征数据,进行解析入库
     * @param jsonData
@ -66,12 +70,18 @@ public class IotAnalyzerController extends EnvelopRestEndpoint {
            LinkedHashMap memberMap = (LinkedHashMap)dataDetail.get("Member");
            // 身高体重
            LinkedHashMap heightMap = (LinkedHashMap)dataDetail.get("Height");
            // 人体成分(脂肪)Fat
            LinkedHashMap fatMap = (LinkedHashMap)dataDetail.get("Fat");
            // 人体成分(脂肪)Fat
            LinkedHashMap minFatMap = (LinkedHashMap)dataDetail.get("MinFat");
            // 血压
            LinkedHashMap bloodPressureMap = (LinkedHashMap)dataDetail.get("BloodPressure");
            // 血氧
            LinkedHashMap boMap = (LinkedHashMap)dataDetail.get("Bo");
            // 单导心电
            LinkedHashMap ecgMap = (LinkedHashMap)dataDetail.get("Ecg");
            // 12导心电
            LinkedHashMap peecgMap = (LinkedHashMap)dataDetail.get("PEEcg");
            // 体温
            LinkedHashMap temperatureMap = (LinkedHashMap)dataDetail.get("Temperature");
            // 腰臀比
@ -84,11 +94,34 @@ public class IotAnalyzerController extends EnvelopRestEndpoint {
            LinkedHashMap cholMap = (LinkedHashMap)dataDetail.get("Chol");
            // 血脂
            LinkedHashMap bloodFatMap = (LinkedHashMap)dataDetail.get("BloodFat");
            // 心血管功能
            LinkedHashMap cardiovascularMap = (LinkedHashMap)dataDetail.get("Cardiovascular");
            // 骨密度
            LinkedHashMap bmdMap = (LinkedHashMap)dataDetail.get("BMD");
            // 酒精浓度
            LinkedHashMap alcoholMap = (LinkedHashMap)dataDetail.get("Alcohol");
            // 肺活量
            LinkedHashMap lungMap = (LinkedHashMap)dataDetail.get("Lung");
            // 血红蛋白
            LinkedHashMap hbMap = (LinkedHashMap)dataDetail.get("Hb");
            // 尿液分析
            LinkedHashMap urinalysisMap = (LinkedHashMap)dataDetail.get("Urinalysis");
            //0 - 设备基本信息:设备码、设备所属、测试医生、时间、类别等
            JSONObject data = new JSONObject();
            data.put("MachineId",dataDetail.get("MachineId") == null? "":dataDetail.get("MachineId").toString());
            data.put("UnitNo",dataDetail.get("UnitNo") == null? "":dataDetail.get("UnitNo").toString());
            data.put("UnitName",dataDetail.get("UnitName") == null? "":dataDetail.get("UnitName").toString());
            data.put("DoctorId",dataDetail.get("DoctorId") == null? "":dataDetail.get("DoctorId").toString());
            data.put("DoctorName",dataDetail.get("DoctorName") == null? "":dataDetail.get("DoctorName").toString());
            data.put("RecordNo",dataDetail.get("RecordNo") == null? "":dataDetail.get("RecordNo").toString());
            data.put("Measure_time",dataDetail.get("MeasureTime") == null? "":dataDetail.get("MeasureTime").toString());
            data.put("DeviceType",dataDetail.get("DeviceType") == null? "":dataDetail.get("DeviceType").toString());
            data.put("MacAddr",dataDetail.get("MacAddr") == null? "":dataDetail.get("MacAddr").toString());
            //用于标识入到I健康的数据库的时间
            data.put("createDate", DateUtil.getStringDate().toString());
            //1 - 用户基本信息
            String sn = dataDetail.get("MachineId").toString();
            String deviceName = "弈拓健康小站测量仪";
            String deviceModel = dataDetail.get("DeviceType").toString();
@ -106,94 +139,563 @@ public class IotAnalyzerController extends EnvelopRestEndpoint {
            params.put("idcard", idCard);
            params.put("username", username);
            JSONObject data = new JSONObject();
            data.put("measure_time",dataDetail.get("MeasureTime") == null? "":dataDetail.get("MeasureTime").toString());
            if (bloodPressureMap != null) {
                data.put("diastolic",bloodPressureMap.get("LowPressure") == null? "": bloodPressureMap.get("LowPressure").toString());
                data.put("diastolic_unit","mmHg");
                data.put("pulse",bloodPressureMap.get("Pulse") == null? "": bloodPressureMap.get("Pulse").toString());
                data.put("pulse_unit","次/分");
            //2 - 身高体重
            if (heightMap != null) {
                data.put("height", heightMap.get("Height") == null ? "" : heightMap.get("Height").toString());
                data.put("height_name","身高");
                data.put("height_unit", "cm");
                data.put("weight", heightMap.get("Weight") == null ? "" : heightMap.get("Weight").toString());
                data.put("weight_name","体重");
                data.put("weight_unit", "kg");
                data.put("bmi",heightMap.get("BMI") == null? "": heightMap.get("BMI").toString());
                data.put("bmi_unit"," ");
                data.put("IdealWeight", heightMap.get("IdealWeight") == null ? "" : heightMap.get("IdealWeight").toString());
                data.put("weight_name","理想体重");
                data.put("weight_unit", "kg");
                data.put("heightResult", heightMap.get("Result") == null ? "" : heightMap.get("Result").toString());
                data.put("heightResult_name","结论:-1、消瘦,0、正常,1、超重,2、肥胖");
            }
            if (bloodSugarMap != null) {
                data.put("blood_sugar",bloodSugarMap.get("BloodSugar") == null? "": bloodSugarMap.get("BloodSugar").toString());
                data.put("blood_sugar_unit","mmol/L");
            //3 - 人体成分(脂肪)FAT
            if (fatMap != null) {
                data.put("FatRate", fatMap.get("FatRate") == null ? "" : fatMap.get("FatRate").toString());
                data.put("Fat", fatMap.get("Fat") == null ? "" : fatMap.get("Fat").toString());
                data.put("ExceptFat", fatMap.get("ExceptFat") == null ? "" : fatMap.get("ExceptFat").toString());
                data.put("WaterRate", fatMap.get("WaterRate") == null ? "" : fatMap.get("WaterRate").toString());
                data.put("Water", fatMap.get("Water") == null ? "" : fatMap.get("Water").toString());
                data.put("Minerals", fatMap.get("Minerals") == null ? "" : fatMap.get("Minerals").toString());
                data.put("Protein", fatMap.get("Protein") == null ? "" : fatMap.get("Protein").toString());
                data.put("Fic", fatMap.get("Fic") == null ? "" : fatMap.get("Fic").toString());
                data.put("Foc", fatMap.get("Foc") == null ? "" : fatMap.get("Foc").toString());
                data.put("Muscle", fatMap.get("Muscle") == null ? "" : fatMap.get("Muscle").toString());
                data.put("FatAdjust", fatMap.get("FatAdjust") == null ? "" : fatMap.get("FatAdjust").toString());
                data.put("WeightAdjust", fatMap.get("WeightAdjust") == null ? "" : fatMap.get("WeightAdjust").toString());
                data.put("MuscleAdjust", fatMap.get("MuscleAdjust") == null ? "" : fatMap.get("MuscleAdjust").toString());
                data.put("BasicMetabolism", fatMap.get("BasicMetabolism") == null ? "" : fatMap.get("BasicMetabolism").toString());
                data.put("Viscera", fatMap.get("Viscera") == null ? "" : fatMap.get("Viscera").toString());
                data.put("Bmc", fatMap.get("Bmc") == null ? "" : fatMap.get("Bmc").toString());
                data.put("MuscleRate", fatMap.get("MuscleRate") == null ? "" : fatMap.get("MuscleRate").toString());
                data.put("QuganMuscle", fatMap.get("QuganMuscle") == null ? "" : fatMap.get("QuganMuscle").toString());
                data.put("QuganFat", fatMap.get("QuganFat") == null ? "" : fatMap.get("QuganFat").toString());
                data.put("ZuotuiMuscle", fatMap.get("ZuotuiMuscle") == null ? "" : fatMap.get("ZuotuiMuscle").toString());
                data.put("ZuobiMuscle", fatMap.get("ZuobiMuscle") == null ? "" : fatMap.get("ZuobiMuscle").toString());
                data.put("YoubiMuscle", fatMap.get("YoubiMuscle") == null ? "" : fatMap.get("YoubiMuscle").toString());
                data.put("YoutuiMuscle", fatMap.get("YoutuiMuscle") == null ? "" : fatMap.get("YoutuiMuscle").toString());
                data.put("ZuobiFat", fatMap.get("ZuobiFat") == null ? "" : fatMap.get("ZuobiFat").toString());
                data.put("ZuotuiFat", fatMap.get("ZuotuiFat") == null ? "" : fatMap.get("ZuotuiFat").toString());
                data.put("YoubiFat", fatMap.get("YoubiFat") == null ? "" : fatMap.get("YoubiFat").toString());
                data.put("YoutuiFat", fatMap.get("YoutuiFat") == null ? "" : fatMap.get("YoutuiFat").toString());
                data.put("Result", fatMap.get("Result") == null ? "" : fatMap.get("Result").toString());
                //单位
                data.put("FatRate_name","%");
                data.put("Fat_name","kg");
                data.put("ExceptFat_name","kg");
                data.put("WaterRate_name","%");
                data.put("Water_name","kg");
                data.put("Minerals_name","kg");
                data.put("Protein_name","kg");
                data.put("Fic_name","kg");
                data.put("Foc_name","kg");
                data.put("Muscle_name","kg");
                data.put("FatAdjust_name","kg");
                data.put("WeightAdjust_name","kg");
                data.put("MuscleAdjust_name","kg");
                data.put("BasicMetabolism_name","kcal");
                data.put("Viscera_name","");
                data.put("Bmc_name","kg");
                data.put("MuscleRate_name","%");
                data.put("QuganMuscle_name","kg");
                data.put("QuganFat_name","kg");
                data.put("ZuotuiMuscle_name","kg");
                data.put("ZuobiMuscle_name","kg");
                data.put("YoubiMuscle_name","kg");
                data.put("YoutuiMuscle_name","kg");
                data.put("ZuobiFat_name","kg");
                data.put("ZuotuiFat_name","kg");
                data.put("YoubiFat_name","kg");
                data.put("YoutuiFat_name","kg");
                data.put("Result_name","");
                //说明
                data.put("FatRate_name","体脂占比");
                data.put("Fat_name","体脂肪量");
                data.put("ExceptFat_name","非脂肪量");
                data.put("WaterRate_name","体水占比");
                data.put("Water_name","水含量");
                data.put("Minerals_name","矿物质");
                data.put("Protein_name","蛋白质含量");
                data.put("Fic_name","细胞内液");
                data.put("Foc_name","细胞外液");
                data.put("Muscle_name","肌肉量");
                data.put("FatAdjust_name","脂肪调节");
                data.put("WeightAdjust_name","体重调节");
                data.put("MuscleAdjust_name","肌肉调节");
                data.put("BasicMetabolism_name","基础代谢");
                data.put("Viscera_name","内脏脂肪等级");
                data.put("Bmc_name","骨骼量");
                data.put("MuscleRate_name","肌肉率");
                data.put("QuganMuscle_name","躯干肌肉量");
                data.put("QuganFat_name","躯干脂肪量");
                data.put("ZuotuiMuscle_name","左腿肌肉量");
                data.put("ZuobiMuscle_name","左臂肌肉量");
                data.put("YoubiMuscle_name","右臂肌肉量");
                data.put("YoutuiMuscle_name","右腿肌肉量");
                data.put("ZuobiFat_name","左臂脂肪量");
                data.put("ZuotuiFat_name","左腿脂肪量");
                data.put("YoubiFat_name","右臂脂肪量");
                data.put("YoutuiFat_name","右腿脂肪量");
                data.put("Result_name","结论:-1、稍瘦,0、标准,1、超重,2、肥胖");
            }
            //4 - 人体成分(脂肪)minFatMap
            if (minFatMap != null) {
                data.put("Height", minFatMap.get("Height") == null ? "" : minFatMap.get("Height").toString());
                data.put("Weight", minFatMap.get("Weight") == null ? "" : minFatMap.get("Weight").toString());
                data.put("FatRate", minFatMap.get("FatRate") == null ? "" : minFatMap.get("FatRate").toString());
                data.put("BasicMetabolism", minFatMap.get("BasicMetabolism") == null ? "" : minFatMap.get("BasicMetabolism").toString());
                data.put("Bmi", minFatMap.get("Bmi") == null ? "" : minFatMap.get("Bmi").toString());
                data.put("Physique", minFatMap.get("Physique") == null ? "" : minFatMap.get("Physique").toString());
                data.put("Shape", minFatMap.get("Shape") == null ? "" : minFatMap.get("Shape").toString());
                data.put("Result", minFatMap.get("Result") == null ? "" : minFatMap.get("Result").toString());
                data.put("Height_name","cm");
                data.put("Weight_name","kg");
                data.put("FatRate_name","%");
                data.put("BasicMetabolism_name","");
                data.put("Bmi_name","");
                data.put("Physique_name","");
                data.put("Shape_name","");
                data.put("Result_unit","");
                data.put("Height_name","身高");
                data.put("Weight_name","体重");
                data.put("FatRate_name","体脂肪率");
                data.put("BasicMetabolism_name","基础代谢");
                data.put("Bmi_name","BMI");
                data.put("Physique_name","体质指数:1、偏低,2、标准,3、偏高,4、高");
                data.put("Shape_name","体型:1、消瘦,2、标准,3、隐藏性肥胖,4、肌肉型肥胖/健壮,5、肥胖");
                data.put("Result_name","结论:-1、消瘦,0、正常,1、超重,2、肥胖");
            }
            // 5 - 血压
            if (bloodPressureMap != null) {
                data.put("HighPressure", bloodPressureMap.get("HighPressure") == null ? "" : bloodPressureMap.get("HighPressure").toString());
                data.put("LowPressure", bloodPressureMap.get("LowPressure") == null ? "" : bloodPressureMap.get("LowPressure").toString());
                data.put("Pulse", bloodPressureMap.get("Pulse") == null ? "" : bloodPressureMap.get("Pulse").toString());
                data.put("Result", bloodPressureMap.get("Result") == null ? "" : bloodPressureMap.get("Result").toString());
                data.put("HighPressure_unit","mmHg");
                data.put("LowPressure_unit","mmHg");
                data.put("Pulse_unit","次/分");
                data.put("Result_unit","");
                data.put("HighPressure_name","(收缩压)高压");
                data.put("LowPressure_name","(舒张压)低压");
                data.put("Pulse_name","脉搏");
                data.put("Result_name","结论:-1、低压,0、正常,1、正常高压 2、轻度高压 3、中度高压 4、重度高压");
            }
            // 血氧
            if (boMap != null) {
                data.put("blood_oxygen",boMap.get("Oxygen") == null? "": boMap.get("Oxygen").toString());
                data.put("blood_oxygen_unit","%");
                data.put("Oxygen", boMap.get("Oxygen") == null ? "" : boMap.get("Oxygen").toString());
                data.put("OxygenList", boMap.get("OxygenList") == null ? "" : boMap.get("OxygenList").toString());
                data.put("Bpm", boMap.get("Bpm") == null ? "" : boMap.get("Bpm").toString());
                data.put("BpmList", boMap.get("BpmList") == null ? "" : boMap.get("BpmList").toString());
                data.put("Result", boMap.get("Result") == null ? "" : boMap.get("Result").toString());
                data.put("StartTime", boMap.get("StartTime") == null ? "" : boMap.get("StartTime").toString());
                data.put("EndTime", boMap.get("EndTime") == null ? "" : boMap.get("EndTime").toString());
                data.put("SecondCount", boMap.get("SecondCount") == null ? "" : boMap.get("SecondCount").toString());
                data.put("Oxygen_unit","%");
                data.put("OxygenList_unit","");
                data.put("Bpm_unit","");
                data.put("BpmList_unit","");
                data.put("Result_unit","");
                data.put("StartTime_unit","");
                data.put("EndTime_unit","");
                data.put("SecondCount_unit","");
                data.put("Oxygen_name","血氧值");
                data.put("OxygenList_name","血氧列表值");
                data.put("Bpm_name","脉率值");
                data.put("BpmList_name","脉率列表值");
                data.put("Result_name","结论:-1、低血氧,0、正常血氧");
                data.put("StartTime_name","开始时间");
                data.put("EndTime_name","结束时间");
                data.put("SecondCount_name","总测量秒数");
            }
            // 单导心电
            if (ecgMap != null) {
                data.put("Hr", ecgMap.get("Hr") == null ? "" : ecgMap.get("Hr").toString());
                data.put("EcgData", ecgMap.get("EcgData") == null ? "" : ecgMap.get("EcgData").toString());
                data.put("nGain", ecgMap.get("nGain") == null ? "" : ecgMap.get("nGain").toString());
                data.put("Result", ecgMap.get("Result") == null ? "" : ecgMap.get("Result").toString());
                data.put("Analysis", ecgMap.get("Analysis") == null ? "" : ecgMap.get("Analysis").toString());
                data.put("Hr_unit","次/分");
                data.put("EcgData_unit","");
                data.put("nGain_unit","");
                data.put("Result_unit","(废除)");
                data.put("Analysis_unit","");
                data.put("Hr_name","心率值");
                data.put("EcgData_name","心电图数据");
                data.put("nGain_name","增益");
                data.put("Result_name","  ");
                data.put("Analysis_name","结论:5025 对照说明详见附1");
            }
            // 12导心电
           if (peecgMap != null) {
                data.put("Hr", peecgMap.get("Hr") == null ? "" : peecgMap.get("Hr").toString());
                data.put("PAxis", peecgMap.get("PAxis") == null ? "" : peecgMap.get("PAxis").toString());
                data.put("QRSAxis", peecgMap.get("QRSAxis") == null ? "" : peecgMap.get("QRSAxis").toString());
                data.put("TAxis", peecgMap.get("TAxis") == null ? "" : peecgMap.get("TAxis").toString());
                data.put("PR", peecgMap.get("PR") == null ? "" : peecgMap.get("PR").toString());
                data.put("QRS", peecgMap.get("QRS") == null ? "" : peecgMap.get("QRS").toString());
                data.put("QT", peecgMap.get("QT") == null ? "" : peecgMap.get("QT").toString());
                data.put("QTc", peecgMap.get("QTc") == null ? "" : peecgMap.get("QTc").toString());
                data.put("RV5", peecgMap.get("RV5") == null ? "" : peecgMap.get("RV5").toString());
                data.put("SV1", peecgMap.get("SV1") == null ? "" : peecgMap.get("SV1").toString());
                data.put("EcgData", peecgMap.get("EcgData") == null ? "" : peecgMap.get("EcgData").toString());
                data.put("Result", peecgMap.get("Result") == null ? "" : peecgMap.get("Result").toString());
                /*if(!(peecgMap.get("EcgImg") == null)){
                    String ecgImg = peecgMap.get("EcgImg").toString();
                    byte[] imgByte = Base64.decodeBase64(ecgImg);
                    //String res = dfsTemplate.uploadImg(imgByte);
                    ObjectNode objectNode = fastDFSHelper.upload(imgByte,"png","");
                    String resPath = objectNode.get("fileId").toString().replaceAll("\"", "");
                    data.put("filepath",resPath);
                }*/
                data.put("Hr_unit","次/分");
                data.put("PAxis_unit","");
                data.put("QRSAxis_unit","");
                data.put("TAxis_unit","");
                data.put("PR_unit","ms");
                data.put("QRS_unit","ms");
                data.put("QT_unit","ms");
                data.put("QTc_unit","ms");
                data.put("RV5_unit","mV");
                data.put("SV1_unit","mV");
                data.put("EcgData_unit","");
                data.put("Result_unit","");
                data.put("Hr_name","心率值");
                data.put("PAxis_name","P轴");
                data.put("QRSAxis_name","QRS轴");
                data.put("TAxis_name","T轴");
                data.put("PR_name","PR 间期");
                data.put("QRS_name","QRS 时限");
                data.put("QT_name","QT 间期");
                data.put("QTc_name","QTc 间期");
                data.put("RV5_name","RV5 幅度");
                data.put("SV1_name","SV1 幅度");
                data.put("EcgData_name","心电图数据");
                data.put("EcgImg_name","心电波形图图片");
                data.put("Result_name","心电结论");
            }
            // 体温
            if (temperatureMap != null) {
                data.put("bbt",temperatureMap.get("Temperature") == null? "": temperatureMap.get("Temperature").toString());
                data.put("bbt_unit","℃");
                data.put("Temperature", temperatureMap.get("Temperature") == null ? "" : temperatureMap.get("Temperature").toString());
                data.put("Result", temperatureMap.get("Result") == null ? "" : temperatureMap.get("Result").toString());
                data.put("Temperature_unit","℃");
                data.put("Result_unit","");
                data.put("Temperature_name","体温值");
                data.put("Result_name","结论:-1、低温,0、正常,1、高温");
            }
            if (urinalysisMap != null) {
                data.put("ket",urinalysisMap.get("KET") == null? "": urinalysisMap.get("KET").toString());
                data.put("ket_unit"," ");
                data.put("uro",urinalysisMap.get("URO") == null? "": urinalysisMap.get("URO").toString());
                data.put("uro_unit"," ");
                data.put("ph",urinalysisMap.get("PH") == null? "": urinalysisMap.get("PH").toString());
                data.put("ph_unit","");
                data.put("nit",urinalysisMap.get("NIT") == null? "": urinalysisMap.get("NIT").toString());
                data.put("nit_unit","");
                data.put("pro",urinalysisMap.get("PRO") == null? "": urinalysisMap.get("PRO").toString());
                data.put("pro_unit","");
                data.put("glu",urinalysisMap.get("GLU") == null? "": urinalysisMap.get("GLU").toString());
                data.put("glu_unit","");
                data.put("bil",urinalysisMap.get("BIL") == null? "": urinalysisMap.get("BIL").toString());
                data.put("bil_unit","");
                data.put("sg",urinalysisMap.get("SG") == null? "": urinalysisMap.get("SG").toString());
                data.put("sg_unit","");
                data.put("wbc",urinalysisMap.get("LEU") == null? "": urinalysisMap.get("LEU").toString());
                data.put("wbc_unit","");
                data.put("vc",urinalysisMap.get("VC") == null? "": urinalysisMap.get("VC").toString());
                data.put("vc_unit","");
                data.put("bld",urinalysisMap.get("BLD") == null? "": urinalysisMap.get("BLD").toString());
                data.put("bld_unit","");
            // 腰臀比
            if (whrMap != null) {
                data.put("Waistline", whrMap.get("Waistline") == null ? "" : whrMap.get("Waistline").toString());
                data.put("Hipline", whrMap.get("Hipline") == null ? "" : whrMap.get("Hipline").toString());
                data.put("Whr", whrMap.get("Whr") == null ? "" : whrMap.get("Whr").toString());
                data.put("Result", whrMap.get("Result") == null ? "" : whrMap.get("Result").toString());
                data.put("Waistline_unit","cm");
                data.put("Hipline_unit","cm");
                data.put("Whr_unit","%");
                data.put("Result_unit","");
                data.put("Waistline_name","腰围");
                data.put("Hipline_name","臀围");
                data.put("Whr_name","腰臀比");
                data.put("Result_name","结论: 0:正常,1:上身肥胖,2:下身肥胖");
            }
            // 血糖
            if (bloodSugarMap != null) {
                data.put("BloodSugar", bloodSugarMap.get("BloodSugar") == null ? "" : bloodSugarMap.get("BloodSugar").toString());
                data.put("BloodsugarType", bloodSugarMap.get("BloodsugarType") == null ? "" : bloodSugarMap.get("BloodsugarType").toString());
                data.put("Result", bloodSugarMap.get("Result") == null ? "" : bloodSugarMap.get("Result").toString());
                data.put("BloodSugar_name","血糖值");
                data.put("BloodsugarType_name","血糖类型:1、餐前血糖,2、餐后血糖,3、随机血糖");
                data.put("Result_name","结论:-1、低血糖,0、正常,1、偏高 2、高");
                data.put("BloodSugar_unit","mmol/L");
                data.put("BloodsugarType_unit","");
                data.put("Result_unit","");
            }
            // 血尿酸
            if (uaMap != null) {
                data.put("uric_acid",uaMap.get("Ua") == null? "": uaMap.get("Ua").toString());
                data.put("uric_acid_unit","mmol/L");
                data.put("Ua", uaMap.get("Ua") == null ? "" : uaMap.get("Ua").toString());
                data.put("Result", uaMap.get("Result") == null ? "" : uaMap.get("Result").toString());
                data.put("Ua_unit","mmol/L");
                data.put("Result_unit","");
                data.put("Ua_name","尿酸值");
                data.put("Result_name","结论:-1、低,0、正常,1、高");
            }
            // 总胆固醇
            if (cholMap != null) {
                data.put("t-chol",cholMap.get("Chol") == null? "": cholMap.get("Chol").toString());
                data.put("t-chol_unit","mmol/L");
                data.put("Chol", cholMap.get("Chol") == null ? "" : cholMap.get("Chol").toString());
                data.put("Result", cholMap.get("Result") == null ? "" : cholMap.get("Result").toString());
                data.put("Chol_unit","mmol/L");
                data.put("Result_unit","");
                data.put("Chol_name","总胆固醇值");
                data.put("Result_name","结论:-1、低,0、正常,1、高  2、过高");
            }
            // 血脂
            if (bloodFatMap != null) {
                data.put("hdl",bloodFatMap.get("HdlChol") == null? "": bloodFatMap.get("HdlChol").toString());
                data.put("hdl_unit","mmol/L");
                data.put("tg",bloodFatMap.get("Trig") == null? "": bloodFatMap.get("Trig").toString());
                data.put("tg_unit","mmol/L");
                data.put("ldl",bloodFatMap.get("CalcLdl") == null? "": bloodFatMap.get("CalcLdl").toString());
                data.put("ldl_unit","mmol/L");
                data.put("TChol", bloodFatMap.get("TChol") == null ? "" : bloodFatMap.get("TChol").toString());
                data.put("HdlChol", bloodFatMap.get("HdlChol") == null ? "" : bloodFatMap.get("HdlChol").toString());
                data.put("Trig", bloodFatMap.get("Trig") == null ? "" : bloodFatMap.get("Trig").toString());
                data.put("TcHdl", bloodFatMap.get("TcHdl") == null ? "" : bloodFatMap.get("TcHdl").toString());
                data.put("CalcLdl", bloodFatMap.get("CalcLdl") == null ? "" : bloodFatMap.get("CalcLdl").toString());
                data.put("Result", bloodFatMap.get("Result") == null ? "" : bloodFatMap.get("Result").toString());
                data.put("TChol_unit","mmol/L");
                data.put("HdlChol_unit","mmol/L");
                data.put("Trig_unit","mmol/L");
                data.put("TcHdl_unit","");
                data.put("CalcLdl_unit","mmol/L");
                data.put("Result_unit","");
                data.put("TChol_name","总胆固醇");
                data.put("HdlChol_name","高密度蛋白");
                data.put("Trig_name","甘油三酯");
                data.put("TcHdl_name","血脂比值");
                data.put("CalcLdl_name","低密度蛋白");
                data.put("Result_name","结论:-1、低,0、正常,1、高");
            }
            if (heightMap != null) {
                data.put("height", heightMap.get("Height") == null ? "" : heightMap.get("Height").toString());
                data.put("height_unit", "cm");
                data.put("weight", heightMap.get("Weight") == null ? "" : heightMap.get("Weight").toString());
                data.put("weight_unit", "kg");
                data.put("bmi",heightMap.get("BMI") == null? "": heightMap.get("BMI").toString());
                data.put("bmi_unit"," ");
            // 心血管功能
            if (cardiovascularMap != null) {
                data.put("HeartFunction1", cardiovascularMap.get("HeartFunction1") == null ? "" : cardiovascularMap.get("HeartFunction1").toString());
                data.put("VascularCondition1", cardiovascularMap.get("VascularCondition1") == null ? "" : cardiovascularMap.get("VascularCondition1").toString());
                data.put("HeartFunction2", cardiovascularMap.get("HeartFunction2") == null ? "" : cardiovascularMap.get("HeartFunction2").toString());
                data.put("VascularCondition2", cardiovascularMap.get("VascularCondition2") == null ? "" : cardiovascularMap.get("VascularCondition2").toString());
                data.put("Result", cardiovascularMap.get("Result") == null ? "" : cardiovascularMap.get("Result").toString());
                data.put("SV", cardiovascularMap.get("SV") == null ? "" : cardiovascularMap.get("SV").toString());
                data.put("CO", cardiovascularMap.get("CO") == null ? "" : cardiovascularMap.get("CO").toString());
                data.put("HOV", cardiovascularMap.get("HOV") == null ? "" : cardiovascularMap.get("HOV").toString());
                data.put("CMBV", cardiovascularMap.get("CMBV") == null ? "" : cardiovascularMap.get("CMBV").toString());
                data.put("TPR", cardiovascularMap.get("TPR") == null ? "" : cardiovascularMap.get("TPR").toString());
                data.put("PAWP", cardiovascularMap.get("PAWP") == null ? "" : cardiovascularMap.get("PAWP").toString());
                data.put("N", cardiovascularMap.get("N") == null ? "" : cardiovascularMap.get("N").toString());
                data.put("HeartFunction1_name","心脏功能");
                data.put("VascularCondition1_name","心血管状况");
                data.put("HeartFunction2_name","心脏功能-简化数据");
                data.put("VascularCondition2_name","心血管状况-简化数据");
                data.put("Result_name","诊断结果");
                data.put("SV_name","SV");
                data.put("CO_name","CO");
                data.put("HOV_name","HOV");
                data.put("CMBV_name","CMBV");
                data.put("TPR_name","TPR");
                data.put("PAWP_name","PAWP");
                data.put("N_name","N");
                data.put("HeartFunction1_unit","");
                data.put("VascularCondition1_unit","");
                data.put("HeartFunction2_unit","");
                data.put("VascularCondition2_unit","");
                data.put("Result_unit","");
                data.put("SV_unit","");
                data.put("CO_unit","");
                data.put("HOV_unit","");
                data.put("CMBV_unit","");
                data.put("TPR_unit","");
                data.put("PAWP_unit","");
                data.put("N_unit","");
            }
            if (whrMap != null) {
                data.put("waist",whrMap.get("Waistline") == null? "": whrMap.get("Waistline").toString());
                data.put("waist_unit","cm");
            // 骨密度
            if (bmdMap != null) {
                data.put("TSCORE", bmdMap.get("TSCORE") == null ? "" : bmdMap.get("TSCORE").toString());
                data.put("ZSCORE", bmdMap.get("ZSCORE") == null ? "" : bmdMap.get("ZSCORE").toString());
                data.put("OI", bmdMap.get("OI") == null ? "" : bmdMap.get("OI").toString());
                data.put("BQI", bmdMap.get("BQI") == null ? "" : bmdMap.get("BQI").toString());
                data.put("SOS", bmdMap.get("SOS") == null ? "" : bmdMap.get("SOS").toString());
                data.put("YOUNG_ADULT", bmdMap.get("YOUNG_ADULT") == null ? "" : bmdMap.get("YOUNG_ADULT").toString());
                data.put("AGE_MATCHED", bmdMap.get("AGE_MATCHED") == null ? "" : bmdMap.get("AGE_MATCHED").toString());
                data.put("BUA", bmdMap.get("BUA") == null ? "" : bmdMap.get("BUA").toString());
                data.put("EOA", bmdMap.get("EOA") == null ? "" : bmdMap.get("EOA").toString());
                data.put("RRF", bmdMap.get("RRF") == null ? "" : bmdMap.get("RRF").toString());
                data.put("PAB", bmdMap.get("PAB") == null ? "" : bmdMap.get("PAB").toString());
                data.put("Result", bmdMap.get("Result") == null ? "" : bmdMap.get("Result").toString());
                data.put("TSCORE_unit","");
                data.put("ZSCORE_unit","");
                data.put("OI_unit","");
                data.put("BQI_unit","");
                data.put("SOS_unit","(m/s)");
                data.put("YOUNG_ADULT_unit","");
                data.put("AGE_MATCHED_unit","");
                data.put("BUA_unit","");
                data.put("EOA_unit","");
                data.put("RRF_unit","");
                data.put("PAB_unit","");
                data.put("Result_unit","");
                data.put("TSCORE_name","T值,受试者的数值与年轻健康成人的骨密度平均值的标准差");
                data.put("ZSCORE_name","Z值,受试者的数值与同年龄人群骨密度的平均值的标准差");
                data.put("OI_name","骨质指数,数值越大表示骨密度越高");
                data.put("BQI_name","骨质指数,数值越大表示骨密度越高");
                data.put("SOS_name","超声声速");
                data.put("YOUNG_ADULT_name","成人百分比");
                data.put("AGE_MATCHED_name","年龄百分比");
                data.put("BUA_name","BUA");
                data.put("EOA_name","预期发生骨质疏松的年龄");
                data.put("RRF_name","相对骨折风险");
                data.put("PAB_name","骨骼的生理年龄");
                data.put("Result_name","诊断结果:-2、骨强度不足,-1、骨质疏松,0、正常");
            }
            // 酒精浓度
            if (alcoholMap != null) {
                data.put("Alcohol", alcoholMap.get("Alcohol") == null ? "" : alcoholMap.get("Alcohol").toString());
                data.put("Result", alcoholMap.get("Result") == null ? "" : alcoholMap.get("Result").toString());
                data.put("AlcoholImg", alcoholMap.get("AlcoholImg") == null ? "" : alcoholMap.get("AlcoholImg").toString());
                data.put("errcode", alcoholMap.get("errcode") == null ? "" : alcoholMap.get("errcode").toString());
                data.put("errinfo", alcoholMap.get("errinfo") == null ? "" : alcoholMap.get("errinfo").toString());
                data.put("Alcohol_name","酒精浓度值(单位 mg/100ml)");
                data.put("Result_name","0:正常 1:饮酒 2:醉酒");
                data.put("AlcoholImg_name","(双佳服务器上传的是图片地址,其它是图片二进制)Base64字符串");
                data.put("errcode_name","(-10:未找到图片 ,-11: 上传异常,-12 服务器返回空值;其它服务器返回)错误代码");
                data.put("errinfo_name","错误信息");
                data.put("Alcohol_unit","");
                data.put("Result_unit","");
                data.put("AlcoholImg_unit","");
                data.put("errcode_unit","");
                data.put("errinfo_unit","");
            }
            // 肺活量
            if (lungMap != null) {
                data.put("Lung", lungMap.get("Lung") == null ? "" : lungMap.get("Lung").toString());
                data.put("FVC", lungMap.get("FVC") == null ? "" : lungMap.get("FVC").toString());
                data.put("FEV1", lungMap.get("FEV1") == null ? "" : lungMap.get("FEV1").toString());
                data.put("PEF", lungMap.get("PEF") == null ? "" : lungMap.get("PEF").toString());
                data.put("FEF25", lungMap.get("FEF25") == null ? "" : lungMap.get("FEF25").toString());
                data.put("FEF75", lungMap.get("FEF75") == null ? "" : lungMap.get("FEF75").toString());
                data.put("FEF2575", lungMap.get("FEF2575") == null ? "" : lungMap.get("FEF2575").toString());
                data.put("Result", lungMap.get("Result") == null ? "" : lungMap.get("Result").toString());
                data.put("Lung_unit","");
                data.put("FVC_unit","");
                data.put("FEV1_unit","");
                data.put("PEF_unit","");
                data.put("FEF25_unit","");
                data.put("FEF75_unit","");
                data.put("FEF2575_unit","");
                data.put("Result_unit","");
                data.put("Lung_name","单位 ml");
                data.put("FVC_name","用力肺活量");
                data.put("FEV1_name","用力呼气1秒量");
                data.put("PEF_name","呼气峰值流速");
                data.put("FEF25_name","25% 肺活量时的用力呼气流速");
                data.put("FEF75_name","75% 肺活量时的用力呼气流速");
                data.put("FEF2575_name","25% 肺活量到75%肺活量之间的平均呼气流速");
                data.put("Result_name","结果(暂无)");
            }
            // 血红蛋白
            if (hbMap != null) {
                data.put("hgb",hbMap.get("Hb") == null? "": hbMap.get("Hb").toString());
                data.put("hgb_unit","mmol/L");
                data.put("Hb", hbMap.get("Hb") == null ? "" : hbMap.get("Hb").toString());
                data.put("Hct", hbMap.get("Hct") == null ? "" : hbMap.get("Hct").toString());
                data.put("Result", hbMap.get("Result") == null ? "" : hbMap.get("Result").toString());
                data.put("Hb_unit","mmol/L");
                data.put("Hct_unit","%");
                data.put("Result_unit","");
                data.put("Hb_name","血红蛋白值");
                data.put("Hct_name","红细胞比容");
                data.put("Result_name","诊断结果:-1、血红蛋白偏低,0、正常,1血红蛋白偏高");
            }
            if (ecgMap != null) {
                data.put("ecg",ecgMap.get("Hr") == null? "": ecgMap.get("Hr").toString());
                data.put("ecg_unit","次/分");
                if(!(ecgMap.get("EcgImg") == null)){
                    String ecgData = ecgMap.get("EcgImg").toString();
                    byte[] imgByte = Base64.decodeBase64(ecgData);
                    ObjectNode objectNode = fastDFSHelper.upload(imgByte,"png","");
                    String resPath = objectNode.get("fileId").toString().replaceAll("\"", "");
                    data.put("filepath",resPath);
                }
            // 尿液分析
            if (urinalysisMap != null) {
                data.put("URO", urinalysisMap.get("URO") == null ? "" : urinalysisMap.get("URO").toString());
                data.put("BLD", urinalysisMap.get("BLD") == null ? "" : urinalysisMap.get("BLD").toString());
                data.put("BIL", urinalysisMap.get("BIL") == null ? "" : urinalysisMap.get("BIL").toString());
                data.put("KET", urinalysisMap.get("KET") == null ? "" : urinalysisMap.get("KET").toString());
                data.put("LEU", urinalysisMap.get("LEU") == null ? "" : urinalysisMap.get("LEU").toString());
                data.put("GLU", urinalysisMap.get("GLU") == null ? "" : urinalysisMap.get("GLU").toString());
                data.put("PRO", urinalysisMap.get("PRO") == null ? "" : urinalysisMap.get("PRO").toString());
                data.put("PH", urinalysisMap.get("PH") == null ? "" : urinalysisMap.get("PH").toString());
                data.put("NIT", urinalysisMap.get("NIT") == null ? "" : urinalysisMap.get("NIT").toString());
                data.put("SG", urinalysisMap.get("SG") == null ? "" : urinalysisMap.get("SG").toString());
                data.put("VC", urinalysisMap.get("VC") == null ? "" : urinalysisMap.get("VC").toString());
                data.put("MAL", urinalysisMap.get("MAL") == null ? "" : urinalysisMap.get("MAL").toString());
                data.put("CR", urinalysisMap.get("CR") == null ? "" : urinalysisMap.get("CR").toString());
                data.put("UCA", urinalysisMap.get("UCA") == null ? "" : urinalysisMap.get("UCA").toString());
                data.put("Result", urinalysisMap.get("Result") == null ? "" : urinalysisMap.get("Result").toString());
                data.put("URO_unit","");
                data.put("BLD_unit","");
                data.put("BIL_unit","");
                data.put("KET_unit","");
                data.put("LEU_unit","");
                data.put("GLU_unit","");
                data.put("PRO_unit","");
                data.put("PH_unit","");
                data.put("NIT_unit","");
                data.put("SG_unit","");
                data.put("VC_unit","");
                data.put("MAL_unit","");
                data.put("CR_unit","");
                data.put("UCA_unit","");
                data.put("Result_unit","");
                data.put("URO_name","尿胆原");
                data.put("BLD_name","潜血");
                data.put("BIL_name","胆红素");
                data.put("KET_name","酮体");
                data.put("LEU_name","白细胞");
                data.put("GLU_name","葡萄糖");
                data.put("PRO_name","蛋白质");
                data.put("PH_name","酸碱度");
                data.put("NIT_name","亚硝酸盐");
                data.put("SG_name","比重");
                data.put("VC_name","维生素");
                data.put("MAL_name","微白蛋白");
                data.put("CR_name","肌酐");
                data.put("UCA_name","钙离子");
                data.put("Result_name","结果");
            }
            data.put("hbalc","");
            data.put("hbalc_unit","");
            data.put("left_eye","");
@ -231,4 +733,8 @@ public class IotAnalyzerController extends EnvelopRestEndpoint {
            return "体征信息上传失败!";
        }
    }
}

+ 28 - 0
svr/svr-iot/src/main/resources/application.yml

@ -74,6 +74,8 @@ spring:
    cluster-nodes: 172.19.103.45:9300,172.19.103.68:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
    jest:
      uris: http://172.19.103.45:9200,http://172.19.103.68:9200
  wlyy:
    url: http://www.xmtyw.cn/wlyy/
fast-dfs:
  tracker-server: 172.19.103.54:22122 #服务器地址
@ -92,6 +94,8 @@ spring:
    cluster-nodes: 172.26.0.203:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
    jest:
      uris: http://172.26.0.202:9200
  wlyy:
    url: http://www.xmtyw.cn/wlyy/
fast-dfs:
  tracker-server: 172.26.0.200:22122 #服务器地址
fastDFS:
@ -109,6 +113,8 @@ spring:
    cluster-nodes: 172.19.103.45:9300,172.19.103.68:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
    jest:
      uris: http://172.19.103.45:9200,http://172.19.103.68:9200
  wlyy:
    url: http://www.xmtyw.cn/wlyy/
fast-dfs:
  tracker-server: 172.19.103.54:22122 #服务器地址
fastDFS:
@ -126,7 +132,29 @@ spring:
    cluster-nodes: 172.19.103.45:9300,172.19.103.68:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
    jest:
      uris: http://172.19.103.45:9200,http://172.19.103.68:9200
  wlyy:
    url: http://192.168.131.105/
    #url: http://www.xmtyw.cn/wlyy/
fast-dfs:
  tracker-server: 172.19.103.54:22122 #服务器地址
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---
spring:
  profiles: prod
  datasource:
    url: jdbc:mysql://10.95.22.143:3306/xmiot?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
    username: root
    password: abc.123
  elasticsearch:
    cluster-name: jkzl #默认即为elasticsearch  集群名
    cluster-nodes: 10.95.22.155:9300,10.95.22.156:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
    jest:
      uris: http://10.95.22.155:9200,http://10.95.22.156:9200
  wlyy:
    url: http://www.xmtyw.cn/wlyy/
fast-dfs:
  tracker-server: 10.95.22.139:22122 #服务器地址
fastDFS:
  fastdfs_file_url: http://10.95.22.139:22122/

+ 1 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/CreditsDetailService.java

@ -1376,6 +1376,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                    creditsDetailDO.setIntegrate(object.getDouble("integrate").intValue());
                    creditsDetailDO.setCreateTime(new Date());
                    creditsDetailDO.setUpdateTime(new Date());
                    creditsDetailDO.setHospitalName(hospitalName);
                    creditsDetailDO.setSaasId("dev");
                    creditsDetailDO.setId(getCode());
                    creditsDetailDO.setCoupon(0);

+ 2 - 1
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/SpecialistController.java

@ -168,10 +168,11 @@ public class SpecialistController extends EnvelopRestEndpoint {
    @ApiOperation(value = "搜索专科医生居民")
    public MixEnvelop<PatientRelationVO, PatientRelationVO> getDoctorPatientByName(@ApiParam(name = "doctor", value = "医生code") @RequestParam(required = true)String doctor,
                                                                @ApiParam(name = "nameKey", value = "居民姓名模糊") @RequestParam(required = false)String nameKey,
                                                                @ApiParam(name = "teamCode", value = "医生当前所在团队") @RequestParam(required = true) String teamCode,
                                                                @ApiParam(name = "page", value = "第几页,1开始") @RequestParam(required = true)Integer page,
                                                                @ApiParam(name = "size", value = "每页大小") @RequestParam(required = true)Integer size) {
        try {
            return specialistService.getDoctorPatientByName(doctor,nameKey,page,size);
            return specialistService.getDoctorPatientByName(doctor,nameKey,teamCode,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());

+ 3 - 2
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/SpecialistService.java

@ -295,7 +295,7 @@ public class SpecialistService{
        return MixEnvelop.getSuccess(SpecialistMapping.api_success,count);
    }
    public MixEnvelop<PatientRelationVO, PatientRelationVO> getDoctorPatientByName(String doctor, String nameKey, Integer page, Integer size){
    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, " +
@ -319,7 +319,8 @@ public class SpecialistService{
                " AND t.`status` = '1' " +
                " ) h ON h.patient = r.patient " +
                " WHERE " +
                " r.doctor='"+doctor+"' " +
                " 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+"%' "+
                " LIMIT "+(page-1)*size+","+size;