|
@@ -142,6 +142,29 @@ $(document).ready(function() {
|
|
|
});
|
|
|
|
|
|
$(document).on('click','#alarmSave',function(){
|
|
|
+
|
|
|
+ var checkValue = {
|
|
|
+ "temperature" : parseFloat($("#temperatureThreshold").val()),
|
|
|
+ "bloodPressureSystolicMin" : parseInt($("#systolicBloodPressureThresholdMin").val(), 10),
|
|
|
+ "bloodPressureSystolicMax" : parseInt($("#systolicBloodPressureThresholdMax").val(), 10),
|
|
|
+ "bloodPressureDiastolicMin" : parseInt($("#diastolicBloodPressureThresholdMin").val(), 10),
|
|
|
+ "bloodPressureDiastolicMax" : parseInt($("#diastolicBloodPressureThresholdMax").val(), 10),
|
|
|
+ "pulseRateMin" : parseInt($("#pulseRateThresholdMin").val(), 10),
|
|
|
+ "pulseRateMax" : parseInt($("#pulseRateThresholdMax").val(), 10),
|
|
|
+ "oxygenSaturation" : parseInt($("#oxygenSaturationThreshold").val(), 10),
|
|
|
+ "bloodSugarMin" : parseInt($("#bloodSugarThresholdMin").val(), 10),
|
|
|
+ "bloodSugarMax" : parseInt($("#bloodSugarThresholdMax").val(), 10)
|
|
|
+ }
|
|
|
+
|
|
|
+ for (const [key, value] of Object.entries(checkValue)) {
|
|
|
+ var errorMessage = (checkValidForPhrData(key, value));
|
|
|
+ if (errorMessage != null) {
|
|
|
+ alert(errorMessage);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
const result = confirm("알람 표시 설정을 변경하신 값으로 설정합니다.\n\n설정값의 알람 적용은 현재시간 이후로 수집되는 데이터에 한하여 적용되오니 참고하시기 바랍니다.");
|
|
|
if(result){
|
|
|
saveAlarmValue();
|
|
@@ -150,6 +173,85 @@ $(document).ready(function() {
|
|
|
|
|
|
});
|
|
|
|
|
|
+var PHR_VALUE_DEFAULT = {
|
|
|
+ TEMPERATURE: {
|
|
|
+ VALUE: "",
|
|
|
+ MIN: 20,
|
|
|
+ MAX: 50
|
|
|
+ },
|
|
|
+ BLOOD_PRESSURE_SYSTOLIC: {
|
|
|
+ VALUE: "",
|
|
|
+ MIN: 50,
|
|
|
+ MAX: 250
|
|
|
+ },
|
|
|
+ BLOOD_PRESSURE_DIASTOLIC: {
|
|
|
+ VALUE: "",
|
|
|
+ MIN: 20,
|
|
|
+ MAX: 160
|
|
|
+ },
|
|
|
+ OXYGEN_SATURATION: {
|
|
|
+ VALUE: "",
|
|
|
+ MIN: 60,
|
|
|
+ MAX: 100
|
|
|
+ },
|
|
|
+ PULSE_RATE: {
|
|
|
+ VALUE: "",
|
|
|
+ MIN: 30,
|
|
|
+ MAX: 200
|
|
|
+ },
|
|
|
+ BLOOD_SUGAR: {
|
|
|
+ VALUE: "",
|
|
|
+ MIN: 10,
|
|
|
+ MAX: 600
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function checkValidForPhrData(phrType, phrValue) {
|
|
|
+
|
|
|
+ var errorMessage = null;
|
|
|
+
|
|
|
+ var errorMessagePrefix = null;
|
|
|
+ var phrValueDefault = null;
|
|
|
+
|
|
|
+ if (phrType === "temperature") {
|
|
|
+ errorMessagePrefix = "체온 임계치를";
|
|
|
+ phrValueDefault = PHR_VALUE_DEFAULT.TEMPERATURE;
|
|
|
+ }
|
|
|
+ else if (phrType === "bloodPressureSystolicMin" || phrType === "bloodPressureSystolicMax") {
|
|
|
+ errorMessagePrefix = "수축기 혈압 임계치를";
|
|
|
+ phrValueDefault = PHR_VALUE_DEFAULT.BLOOD_PRESSURE_SYSTOLIC;
|
|
|
+ }
|
|
|
+ else if (phrType === "bloodPressureDiastolicMin" || phrType === "bloodPressureDiastolicMax") {
|
|
|
+ errorMessagePrefix = "이완기 혈압 임계치를";
|
|
|
+ phrValueDefault = PHR_VALUE_DEFAULT.BLOOD_PRESSURE_DIASTOLIC;
|
|
|
+ }
|
|
|
+ else if (phrType === "oxygenSaturation") {
|
|
|
+ errorMessagePrefix = "산소포화도 임계치를";
|
|
|
+ phrValueDefault = PHR_VALUE_DEFAULT.OXYGEN_SATURATION;
|
|
|
+ }
|
|
|
+ else if (phrType === "pulseRateMin" || phrType === "pulseRateMax") {
|
|
|
+ errorMessagePrefix = "맥박 임계치를";
|
|
|
+ phrValueDefault = PHR_VALUE_DEFAULT.PULSE_RATE;
|
|
|
+ }
|
|
|
+ else if (phrType === "bloodSugarMin" || phrType === "bloodSugarMax") {
|
|
|
+ errorMessagePrefix = "혈당 임계치를";
|
|
|
+ phrValueDefault = PHR_VALUE_DEFAULT.BLOOD_SUGAR;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 널 체크, 숫자 체크, 최대/최소 체크
|
|
|
+ if (!phrValue || phrValue.length === 0) {
|
|
|
+ errorMessage = errorMessagePrefix+" 입력해 주세요.";
|
|
|
+ }
|
|
|
+ else if (isNaN(phrValue)) {
|
|
|
+ errorMessage = errorMessagePrefix+" 숫자로 입력해 주세요.";
|
|
|
+ }
|
|
|
+ else if (phrValue < phrValueDefault.MIN || phrValue > phrValueDefault.MAX) {
|
|
|
+ errorMessage = errorMessagePrefix+" "+phrValueDefault.MIN+"~"+phrValueDefault.MAX+" 범위 내로 입력해 주세요.";
|
|
|
+ }
|
|
|
+
|
|
|
+ return errorMessage;
|
|
|
+}
|
|
|
+
|
|
|
</script>
|
|
|
</head>
|
|
|
|
|
@@ -248,46 +350,46 @@ $(document).ready(function() {
|
|
|
<li class="row fever">
|
|
|
<div class="col-lg-4">체온</div>
|
|
|
<div class="col-lg-8">
|
|
|
- <input id="temperatureThreshold" type="number" class="form-control w120" placeholder="체온" value="<c:out value="${temperatureThreshold}" />"> ℃ 이상시 알람
|
|
|
+ <input id="temperatureThreshold" type="number" min=20 max=50 step=0.1 class="form-control w120" placeholder="체온" value="<c:out value="${temperatureThreshold}" />"> ℃ 이상시 알람
|
|
|
</div>
|
|
|
</li>
|
|
|
<li class="row bloodPressure">
|
|
|
<div class="col-lg-4">수축기 혈압</div>
|
|
|
<div class="col-lg-8">
|
|
|
- <input id="systolicBloodPressureThresholdMin" type="number" class="form-control w120" placeholder="저혈압" value="<c:out value="${systolicBloodPressureThresholdMin}" />"> 이하
|
|
|
+ <input id="systolicBloodPressureThresholdMin" type="number" min=50 max=250 class="form-control w120" placeholder="저혈압" value="<c:out value="${systolicBloodPressureThresholdMin}" />"> 이하
|
|
|
<span>또는</span>
|
|
|
- <input id="systolicBloodPressureThresholdMax" type="number" class="form-control w120" placeholder="고혈압" value="<c:out value="${systolicBloodPressureThresholdMax}" />"> 이상시 알람
|
|
|
+ <input id="systolicBloodPressureThresholdMax" type="number" min=50 max=250 class="form-control w120" placeholder="고혈압" value="<c:out value="${systolicBloodPressureThresholdMax}" />"> 이상시 알람
|
|
|
|
|
|
</div>
|
|
|
</li>
|
|
|
<li class="row bloodPressure">
|
|
|
<div class="col-lg-4">이완기 혈압</div>
|
|
|
<div class="col-lg-8">
|
|
|
- <input id="diastolicBloodPressureThresholdMin" type="number" class="form-control w120" placeholder="저혈압" value="<c:out value="${diastolicBloodPressureThresholdMin}" />"> 이하
|
|
|
+ <input id="diastolicBloodPressureThresholdMin" type="number" min=20 max=160 class="form-control w120" placeholder="저혈압" value="<c:out value="${diastolicBloodPressureThresholdMin}" />"> 이하
|
|
|
<span>또는</span>
|
|
|
- <input id="diastolicBloodPressureThresholdMax" type="number" class="form-control w120" placeholder="고혈압" value="<c:out value="${diastolicBloodPressureThresholdMax}" />"> 이상시 알람
|
|
|
+ <input id="diastolicBloodPressureThresholdMax" type="number" min=20 max=160 class="form-control w120" placeholder="고혈압" value="<c:out value="${diastolicBloodPressureThresholdMax}" />"> 이상시 알람
|
|
|
</div>
|
|
|
</li>
|
|
|
<li class="row pulse">
|
|
|
<div class="col-lg-4">맥박</div>
|
|
|
<div class="col-lg-8">
|
|
|
- <input id="pulseRateThresholdMin" type="number" class="form-control w120" placeholder="최저맥박" value="<c:out value="${pulseRateThresholdMin}" />"> 이하
|
|
|
+ <input id="pulseRateThresholdMin" type="number" min=30 max=200 class="form-control w120" placeholder="최저맥박" value="<c:out value="${pulseRateThresholdMin}" />"> 이하
|
|
|
<span>또는</span>
|
|
|
- <input id="pulseRateThresholdMax" type="number" class="form-control w120" placeholder="최고맥박" value="<c:out value="${pulseRateThresholdMax}" />"> 이상시 알람
|
|
|
+ <input id="pulseRateThresholdMax" type="number" min=30 max=200 class="form-control w120" placeholder="최고맥박" value="<c:out value="${pulseRateThresholdMax}" />"> 이상시 알람
|
|
|
</div>
|
|
|
</li>
|
|
|
<li class="row oxygen">
|
|
|
<div class="col-lg-4">산소포화도</div>
|
|
|
<div class="col-lg-8">
|
|
|
- <input id="oxygenSaturationThreshold" type="number" class="form-control w120" placeholder="산소포화도" value="<c:out value="${oxygenSaturationThreshold}" />"> % 이하시 알람
|
|
|
+ <input id="oxygenSaturationThreshold" type="number" min=60 max=100 class="form-control w120" placeholder="산소포화도" value="<c:out value="${oxygenSaturationThreshold}" />"> % 이하시 알람
|
|
|
</div>
|
|
|
</li>
|
|
|
<li class="row sugar">
|
|
|
<div class="col-lg-4">혈당</div>
|
|
|
<div class="col-lg-8">
|
|
|
- <input id="bloodSugarThresholdMin" type="number" class="form-control w120" placeholder="저혈당" value="<c:out value="${bloodSugarThresholdMin}" />"> 이하
|
|
|
+ <input id="bloodSugarThresholdMin" type="number" min=10 max=600 class="form-control w120" placeholder="저혈당" value="<c:out value="${bloodSugarThresholdMin}" />"> 이하
|
|
|
<span>또는</span>
|
|
|
- <input id="bloodSugarThresholdMax" type="number" class="form-control w120" placeholder="고혈당" value="<c:out value="${bloodSugarThresholdMax}" />"> 이상시 알람
|
|
|
+ <input id="bloodSugarThresholdMax" type="number" min=10 max=600 class="form-control w120" placeholder="고혈당" value="<c:out value="${bloodSugarThresholdMax}" />"> 이상시 알람
|
|
|
</div>
|
|
|
</li>
|
|
|
</ul>
|