Forráskód Böngészése

my기록보기 쿼리 수정, 건강정보기록 수정

huiwon.seo 4 éve
szülő
commit
680399de5b

+ 16 - 19
src/main/resources/mybatis/mapper/patient/patient.xml

@@ -325,31 +325,28 @@
     
     <select id="selectPatientPhrHistoryData" parameterType="PatientHealthDTO" resultType="PatientHealthDTO">
         <![CDATA[
-            SELECT MAX( CASE WHEN ampm = 'am' AND phr_type= 'temperature'      THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amTemperature,
-                   MAX( CASE WHEN ampm = 'pm' AND phr_type= 'temperature'      THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmTemperature,
-                   MAX( CASE WHEN ampm = 'am' AND phr_type= 'pulseRate'        THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amPulseRate,
-                   MAX( CASE WHEN ampm = 'pm' AND phr_type= 'pulseRate'        THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmPulseRate,
-                   MAX( CASE WHEN ampm = 'am' AND phr_type= 'bloodPressure'    THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amSystolicBloodPressure,
-                   MAX( CASE WHEN ampm = 'pm' AND phr_type= 'bloodPressure'    THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmSystolicBloodPressure,
-                   MAX( CASE WHEN ampm = 'am' AND phr_type= 'bloodPressure'    THEN CONCAT( phr_value_2, '/', DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amDiastolicBloodPressure,
-                   MAX( CASE WHEN ampm = 'pm' AND phr_type= 'bloodPressure'    THEN CONCAT( phr_value_2, '/', DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmDiastolicBloodPressure,
-                   MAX( CASE WHEN ampm = 'am' AND phr_type= 'oxygenSaturation' THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amOxygenSaturation,
-                   MAX( CASE WHEN ampm = 'pm' AND phr_type= 'oxygenSaturation' THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmOxygenSaturation,
-                   MAX( CASE WHEN ampm = 'am' AND phr_type= 'bloodSugar'       THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amBloodSugar,
-                   MAX( CASE WHEN ampm = 'pm' AND phr_type= 'bloodSugar'       THEN CONCAT( phr_value, '/',   DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmBloodSugar
-             FROM ( SELECT idx,
-                           patient_idx,
-                           phr_type,
+            SELECT MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'temperature'      THEN CONCAT( P.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END   ) AS amTemperature,
+                   MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'temperature'      THEN CONCAT( H.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmTemperature,
+                   MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'pulseRate'        THEN CONCAT( H.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amPulseRate,
+                   MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'pulseRate'        THEN CONCAT( H.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmPulseRate,
+                   MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'bloodPressure'    THEN CONCAT( H.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amSystolicBloodPressure,
+                   MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'bloodPressure'    THEN CONCAT( H.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmSystolicBloodPressure,
+                   MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'bloodPressure'    THEN CONCAT( H.phr_value_2, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amDiastolicBloodPressure,
+                   MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'bloodPressure'    THEN CONCAT( H.phr_value_2, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmDiastolicBloodPressure,
+                   MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'oxygenSaturation' THEN CONCAT( H.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amOxygenSaturation,
+                   MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'oxygenSaturation' THEN CONCAT( H.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmOxygenSaturation,
+                   MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'bloodSugar'       THEN CONCAT( H.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amBloodSugar,
+                   MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'bloodSugar'       THEN CONCAT( H.phr_value, '/',   DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmBloodSugar
+             FROM ( SELECT MAX( idx ) max_idx,
                            CAST( phr_value AS STRING ) AS phr_value,
                            CAST( phr_value_2 AS STRING ) AS phr_value_2,
-                           recorded_by_name,
-                           recorded_by_id,
-                           create_date,
                            IF( DATE_FORMAT( create_date, '%H:%i') <= '12:00', 'am', 'pm' ) ampm
                       FROM patient_phr_history
                      WHERE patient_idx = #{patientIdx}
                        AND DATE_FORMAT( create_date, '%Y-%m-%d' ) = #{createDate}
-                  ) P
+                     GROUP BY ampm, phr_type
+                  ) P, patient_phr_history H
+            WHERE P.max_idx = H.idx
             GROUP BY patient_idx
         ]]>
     </select>

+ 5 - 9
src/main/webapp/WEB-INF/jsp/mobile/health/health1.jsp

@@ -13,13 +13,12 @@ $( function(){
             $( "div.error-msg" ).text( "" );
         },
         submitHandler: function(form) {
-            var prev = $.trim( $( "input[name='temperaturePrev']" ).val() );
-            var next = $.trim( $( "input[name='temperatureNext']" ).val() );
+            var temperature = $.trim( $( "input[name='temperature']" ).val() );
             
-            if( prev.length != 2 || next.length == 0 ) {
-                $( "div.error-msg" ).text( "체온을 정확히 입력해주세요" );
+            if( temperature.length == 0 ) {
+                $( "div.error-msg" ).text( "체온을 입력해주세요" );
             } else {
-                $( "#phrValue" ).val( prev+"."+next );
+                $( "#phrValue" ).val( temperature );
                 form.submit();
             }
         }
@@ -81,9 +80,7 @@ $( function(){
                     
                     <div class="data unlink">
                         <div class="point">
-                            <input type="tel" class="prev" name="temperaturePrev" placeholder="36" maxlength="2">
-                            <span class="dot"></span>
-                            <input type="tel" class="next" name="temperatureNext" placeholder="50" maxlength="2"> ℃
+                            <input type="text" class="" name="temperature" placeholder="--.--"> ℃
                         </div>
                     </div>
                     
@@ -95,7 +92,6 @@ $( function(){
                         <li>
                             <input type="hidden" name="phrType" value="temperature">
                             <input type="hidden" id="phrValue" name="phrValue" value="">
-                            <input type="hidden" id="phrValue2" name="phrValue2" value="">
                             
                             <button type="submit" class="confirm"><span class="check">기록하기</span></button>
                         </li>

+ 18 - 20
src/main/webapp/WEB-INF/jsp/mobile/health/health2.jsp

@@ -14,26 +14,23 @@ $( function(){
         },
         submitHandler: function(form) {
             //맥박수
-            var prev = $.trim( $( "input[name='pulseRatePrev']" ).val() );
-            var next = $.trim( $( "input[name='pulseRateNext']" ).val() );
+            var pulseRate = $.trim( $( "input[name='pulseRate']" ).val() );
             
             //혈압
-            var prevAn = $.trim( $( "input[name='bloodPressurePrev']" ).val() );
-            var nextAn = $.trim( $( "input[name='bloodPressureNext']" ).val() );
-            var prevAn2 = $.trim( $( "input[name='bloodPressurePrev2']" ).val() );
-            var nextAn2 = $.trim( $( "input[name='bloodPressureNext2']" ).val() );
+            var bloodPressure = $.trim( $( "input[name='bloodPressure']" ).val() );
+            var bloodPressure2 = $.trim( $( "input[name='bloodPressure2']" ).val() );
             
             //혈압
-            if( prev.length == 1 || next.length == 0 ) {
-                $( "div.error-msg" ).text( "맥박수를 정확히 입력해주세요 (소수점자리까지 입력)" );
-            } else if( prevAn.length == 1 || nextAn.length == 0 ) {
-                $( "div.error-msg" ).text( "수축기 혈압을 정확히 입력해주세요 (소수점자리까지 입력)" );
-            } else if( prevAn2.length == 1 || nextAn2.length == 0 ) {
-                $( "div.error-msg" ).text( "이완기 혈압을 정확히 입력해주세요 (소수점자리까지 입력)" );
+            if( pulseRate.length == 0 ) {
+                $( "div.error-msg" ).text( "맥박수를 입력해주세요" );
+            } else if( bloodPressure.length == 0 ) {
+                $( "div.error-msg" ).text( "수축기 혈압을 입력해주세요" );
+            } else if( bloodPressure2.length == 0 ) {
+                $( "div.error-msg" ).text( "이완기 혈압을  입력해주세요" );
             } else {
-                $( "#phrValue" ).val( prev+"."+next );
-                $( "#phrValueAnother" ).val( prevAn+"."+nextAn );
-                $( "#phrValueAnother2" ).val( prevAn2+"."+nextAn2 );
+                $( "#phrValue" ).val( pulseRate );
+                $( "#phrValueAnother" ).val( bloodPressure );
+                $( "#phrValueAnother2" ).val( bloodPressure2 );
                 form.submit();
             }
         }
@@ -95,21 +92,22 @@ $( function(){
                     
                     <div class="data link">
                         <div class="point">
-                            <input type="tel" class="prev m3" name="pulseRatePrev" placeholder="100" maxlength="3"><span class="dot"></span><input type="tel" class="next" name="pulseRateNext" placeholder="00" maxlength="1"><span class="mini">bpm</span>
+                            <div style="font-size:13px;color:#8EB8FF;font-weight:600;">맥박수</div>
+                            <input type="text" name="pulseRate" placeholder="---.--"><span class="mini">bpm</span>
                         </div>
                         
                         <div class="table">
                             <table>
                                 <thead>
                                     <tr>
-                                        <th>수축기</th>
-                                        <th>이완기</th>
+                                        <th>수축기 혈압</th>
+                                        <th>이완기 혈압</th>
                                     </tr>
                                 </thead>
                                 <tbody>
                                     <tr>
-                                        <td><input type="tel" class="prev m3" name="bloodPressurePrev" placeholder="130" maxlength="3"><span class="dot"></span><input type="tel" class="next" name="bloodPressureNext" placeholder="00" maxlength="3"><span class="mini">mmHg</span></td>
-                                        <td><input type="tel" class="prev" name="bloodPressurePrev2" placeholder="80" maxlength="3"><span class="dot"></span><input type="tel" class="next" name="bloodPressureNext2" placeholder="00" maxlength="3"><span class="mini">mmHg</span></td>
+                                        <td><input type="text" name="bloodPressure" placeholder="---.--"><span class="mini">mmHg</span></td>
+                                        <td><input type="text" name="bloodPressure2" placeholder="---.--"><span class="mini">mmHg</span></td>
                                     </tr>
                                 </tbody>
                             </table>

+ 6 - 18
src/main/webapp/WEB-INF/jsp/mobile/health/health3.jsp

@@ -13,21 +13,12 @@ $( function(){
             $( "div.error-msg" ).text( "" );
         },
         submitHandler: function(form) {
-            var prev = $.trim( $( "input[name='oxygenSaturationPrev']" ).val() );
-            var next = $.trim( $( "input[name='oxygenSaturationNext']" ).val() );
+            var oxygenSaturation = $.trim( $( "input[name='oxygenSaturation']" ).val() );
             
-//             var prev2 = $.trim( $( "input[name='oxygenSaturationPrev2']" ).val() );
-//             var next2 = $.trim( $( "input[name='oxygenSaturationNext2']" ).val() );
-            
-            if( prev.length == 1 || next.length == 0 ) {
-                $( "div.error-msg" ).text( "산소포화도 % 를 입력하세요 (소수점자리까지 입력)" );
-            } 
-//             else if( prev2.length == 1 || next2.length == 0 ) {
-//                 $( "div.error-msg" ).text( "산소포화도 bpm 을 입력하세요 (소수점자리까지 입력)" );
-//             } 
-            else {
-                $( "#phrValue" ).val( prev+"."+next );
-//                 $( "#phrValue2" ).val( prev2+"."+next2 );
+            if( oxygenSaturation.length == 0 ) {
+                $( "div.error-msg" ).text( "산소포화도 % 를 입력하세요" );
+            } else {
+                $( "#phrValue" ).val( oxygenSaturation );
                 
                 form.submit();
             }
@@ -91,11 +82,8 @@ $( function(){
                     <div class="data unlink">
                         <div class="point">
                             <span>
-                                <input type="text" class="prev m3" name="oxygenSaturationPrev" placeholder="000" maxlength="3"><span class="dot"></span><input type="text" class="next" name="oxygenSaturationNext" placeholder="00" maxlength="2"> %
+                                <input type="text" name="oxygenSaturation" placeholder="---.--"> %
                             </span>
-                            <!-- span>
-                                <input type="text" class="prev m3" name="oxygenSaturationPrev2" placeholder="000" maxlength="3"><span class="dot"></span><input type="text" class="next" name="oxygenSaturationNext2" placeholder="00" maxlength="2"> bpm 
-                            </span-->
                         </div>
                     </div>
                     

+ 7 - 6
src/main/webapp/WEB-INF/jsp/mobile/health/health4.jsp

@@ -13,13 +13,12 @@ $( function(){
             $( "div.error-msg" ).text( "" );
         },
         submitHandler: function(form) {
-            var prev = $.trim( $( "input[name='bloodSugarPrev']" ).val() );
-            var next = $.trim( $( "input[name='bloodSugarNext']" ).val() );
+            var bloodSugar = $.trim( $( "input[name='bloodSugar']" ).val() );
             
-            if( prev.length == 1 || next.length == 0 ) {
-                $( "div.error-msg" ).text( "혈당을 정확히 입력해주세요" );
+            if( bloodSugar.length == 0 ) {
+                $( "div.error-msg" ).text( "혈당을 입력해주세요" );
             } else {
-                $( "#phrValue" ).val( prev+"."+next );
+                $( "#phrValue" ).val( bloodSugar );
                 form.submit();
             }
         }
@@ -80,7 +79,9 @@ $( function(){
                     </div>
                     
                     <div class="data unlink">
-                        <div class="point"><input type="text" class="prev m3" name="bloodSugarPrev" placeholder="120" maxlength="3"><span class="dot"></span><input type="text" class="next" name="bloodSugarNext" placeholder="00" maxlength="2"><span class="mini">mg/dL</span></div>
+                        <div class="point">
+                            <input type="text" name="bloodSugar" placeholder="---.--"><span class="mini">mg/dL</span>
+                        </div>
                     </div>
                     
                     <div class="error-msg tac mt20 error"></div>

+ 1 - 1
src/main/webapp/resources/css/mobile/style.css

@@ -323,7 +323,7 @@ input[type="radio"]:checked + label span {  background-image:url('../../images/m
 .health .data.link { color:#FFFFFF; }
 .health .data.unlink{ color:#FFFFFF; }
 .health .data .point { font-size: 18px;  }
-.health .data input[type="text"] { background-color: inherit; max-width: 50px; color: #FFFFFF; height: 40px; line-height: 30px; text-align: center; padding: 0px 4px; font-size: 27px; border: 1px solid #999999; border-top:0;border-left:0;border-right:0; outline:none;}
+.health .data input[type="text"] { background-color: inherit; max-width: 80px; color: #FFFFFF; height: 40px; line-height: 30px; text-align: center; padding: 0px 4px; font-size: 27px; border: 1px solid #999999; border-top:0;border-left:0;border-right:0; outline:none;}
 .health .data input[type="tel"] { background-color: inherit; max-width: 50px; color: #FFFFFF; height: 40px; line-height: 30px; text-align: center; padding: 0px 4px; font-size: 27px; border: 1px solid #999999; border-top:0;border-left:0;border-right:0; outline:none;}
 .health .data span.dot{line-height: 40px;margin-bottom: -5px;display: inline-block;width: 2px;border-bottom: 2px solid #ffffff;}
 .health .data input.prev{margin-right:-7px;text-align:right;padding-right:10px;}