Kaynağa Gözat

환자관리 리스트 페이지 작업

huiwon.seo 5 yıl önce
ebeveyn
işleme
1641921490

+ 9 - 0
src/main/java/com/lemon/lifecenter/controller/PatientController.java

@@ -13,6 +13,7 @@ import org.springframework.web.servlet.ModelAndView;
 
 import com.lemon.lifecenter.common.LifeCenterConfigVO;
 import com.lemon.lifecenter.common.LifeCenterController;
+import com.lemon.lifecenter.common.LifeCenterFunction;
 import com.lemon.lifecenter.common.LifeCenterPaging;
 import com.lemon.lifecenter.dto.PatientDTO;
 import com.lemon.lifecenter.service.PatientService;
@@ -67,12 +68,20 @@ public class PatientController extends LifeCenterController {
         paging = LifeCenterPaging.getInstance();
         paging.paging(config, total, page, param);
         
+        startDate = startDate.equals( "" ) ? LifeCenterFunction.getNow( "yyyy-MM-dd" ) : startDate;
+        endDate   = endDate.equals( "" )   ? LifeCenterFunction.getNow( "yyyy-MM-dd" ) : endDate;
+        
         mv.addObject("inputState", inputState);
         mv.addObject("patientName", patientName);
         mv.addObject("total", total);
         mv.addObject("item", result);
         mv.addObject("paging", paging);
         
+        mv.addObject( "startDate", startDate );
+        mv.addObject( "endDate", endDate );
+        mv.addObject( "page", page );
+        mv.addObject( "pageSize", dto.getLimitMax() );
+        
         return mv;
     }
 

+ 11 - 3
src/main/resources/mybatis/mapper/patient/patient.xml

@@ -27,16 +27,24 @@
     
     <select id="selectPatientList" parameterType="PatientDTO" resultType="PatientDTO">
         <![CDATA[
-            SELECT ROWNUM                                                             AS num,
+            SELECT PATIENT_IDX                                                        AS patientIdx,
                    PATIENT_NAME                                                       AS patientName,
-                   GENDER                                                             AS gender,
+                   CASE WHEN GENDER = 'M' THEN '남'
+                        WHEN GENDER = 'F' THEN '여'
+                        ELSE ''
+                   END                                                                AS gender,
                    (SELECT TRUNC((SYSDATE-TO_DATE(19 || JUMIN, 'YYYYMMDD'))/365) + 1) AS age,
                    ward_number                                                        AS wardNumber,
                    room_number                                                        AS roomNumber,
                    DATE_FORMAT(FINAL_CLINIC_DATE, '%Y-%m-%d %H:%i')                   AS finamClinicDate,
                    DATE_FORMAT(HOSPITALIZATION_DATE, '%Y-%m-%d %H:%i')                AS hospitalizationDate,
                    DATE_FORMAT(DISISOLATION_DATE, '%Y-%m-%d %H:%i')                   AS disisolationDate,
-                   STATE                                                              AS state
+                   CASE WHEN STATE = 'H' THEN '입소'
+                        WHEN STATE = 'D' THEN '여'
+                        WHEN STATE = 'T' THEN '지정병원 이송'
+                        WHEN STATE = 'E' THEN '기타'
+                        ELSE ''
+                   END                                                                AS state
               FROM PATIENT_CARE
              WHERE 1 = 1
         ]]>

+ 10 - 64
src/main/webapp/WEB-INF/jsp/patient/list.jsp

@@ -6,29 +6,10 @@
 <jsp:include page="${data._INCLUDE}/header.jsp"></jsp:include>
 <script>
     $(function() {
-        // Select2
-        $(".select2").each(function() {
-            $(this).wrap("<div class=\"position-relative\"></div>").select2({
-                placeholder : "Select value",
-                dropdownParent : $(this).parent()
-            });
-        })
-        // Daterangepicker
-        $("input[name=\"daterange\"]").daterangepicker({
-            opens : "left"
-        });
-        $("input[name=\"datetimes\"]").daterangepicker({
-            timePicker : true,
-            opens : "left",
-            startDate : moment().startOf("hour"),
-            endDate : moment().startOf("hour").add(32, "hour"),
-            locale : {
-                format : "M/DD hh:mm A"
-            }
-        });
         $("input[name=\"startDate\"]").daterangepicker({
             singleDatePicker : true,
             showDropdowns : true,
+            startDate : "<c:out value='${startDate}'/>",
             locale : {
                 //format : "M/DD hh:mm A"
                 format : "YYYY-MM-DD"
@@ -37,50 +18,12 @@
         $("input[name=\"endDate\"]").daterangepicker({
             singleDatePicker : true,
             showDropdowns : true,
+            startDate : "<c:out value='${endDate}'/>",
             locale : {
                 //format : "M/DD hh:mm A"
                 format : "YYYY-MM-DD"
             }
         });
-        // Datetimepicker
-        $('#datetimepicker-minimum').datetimepicker();
-        $('#datetimepicker-view-mode').datetimepicker({
-            viewMode : 'years'
-        });
-        $('#datetimepicker-time').datetimepicker({
-            format : 'LT'
-        });
-        $('#datetimepicker-date').datetimepicker({
-            format : 'L'
-        });
-        var start = moment().subtract(29, "days");
-        var end = moment();
-
-        function cb(start, end) {
-            $("#reportrange span").html(
-                    start.format("MMMM D, YYYY") + " - "
-                            + end.format("MMMM D, YYYY"));
-        }
-        $("#reportrange").daterangepicker(
-                {
-                    startDate : start,
-                    endDate : end,
-                    ranges : {
-                        "Today" : [ moment(), moment() ],
-                        "Yesterday" : [ moment().subtract(1, "days"),
-                                moment().subtract(1, "days") ],
-                        "Last 7 Days" : [ moment().subtract(6, "days"),
-                                moment() ],
-                        "Last 30 Days" : [ moment().subtract(29, "days"),
-                                moment() ],
-                        "This Month" : [ moment().startOf("month"),
-                                moment().endOf("month") ],
-                        "Last Month" : [
-                                moment().subtract(1, "month").startOf("month"),
-                                moment().subtract(1, "month").endOf("month") ]
-                    }
-                }, cb);
-        cb(start, end);
     });
 </script>
 <script>
@@ -190,7 +133,7 @@
                         <div class="col-12">
                             <div class="card">
                                 <div class="card-body">
-                                    <div class="row">
+                                    <div class="row mb-3">
                                         <div class="col-6">전체 :
                                             <fmt:formatNumber value="${total}" pattern="#,###" />
                                         </div>
@@ -227,11 +170,14 @@
                                             <tbody>
                                                 <c:choose>
                                                     <c:when test="${total > 0}">
-                                                        <c:forEach var="l" items="${item}">
+                                                        <c:forEach var="l" items="${item}" varStatus="lStatus">
+                                                            <c:set var="viewLink" value="./info?patientIdx=${l.patientIdx}" />
+                                                            <c:set var="pageNum" value="${ ( total - lStatus.index ) - ( (page - 1) * pageSize ) }" />
+                                                            
                                                             <tr>
-                                                                <td><c:out value="${l.num}" /></td>
-                                                                <td><a
-                                                                    href="./info?"><c:out value="${l.patientName}" /></a>
+                                                                <td><fmt:formatNumber value="${pageNum}" pattern="#,###" /></td>
+                                                                <td>
+                                                                    <a href="${viewLink}"><c:out value="${l.patientName}" /></a>
                                                                 </td>
                                                                 <td><c:out value="${l.gender}" /></td>
                                                                 <td><c:out value="${l.age}" /></td>