소스 검색

病历与诊疗处方打印

hurugang 2 년 전
부모
커밋
cc0ad73acc
2개의 변경된 파일40개의 추가작업 그리고 8개의 파일을 삭제
  1. 27 3
      src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzChargeDetailServiceImpl.java
  2. 13 5
      src/main/resources/static/js/mz/clinic.js

+ 27 - 3
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzChargeDetailServiceImpl.java

@@ -1442,7 +1442,8 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                         zlDetail.put("drugQuan", mzChargeDetail.getDrugQuan());
                         zlDetail.put("drugUnit", mzChargeDetail.getDrugUnit());
                         zlDetail.put("orderDays", mzChargeDetail.getOrderDays());
-                        zlDetail.put("frequency", mzChargeDetail.getFrequency());
+                        OrderFrequencyEnum orderFrequencyEnum = OrderFrequencyEnum.getOrderFrequencyByCode(mzChargeDetail.getFrequency());
+                        zlDetail.put("frequency", orderFrequencyEnum != null ? orderFrequencyEnum.name : "");
                         zlDetail.put("quantity", mzChargeDetail.getQuantity());
                         if (StringUtils.isNotBlank(mzChargeDetail.getInstructionText())) {
                             zlDetail.put("instructionCode", mzChargeDetail.getInstructionCode());
@@ -1589,7 +1590,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
             List<String> detail = (List<String>) zlPrescription.get(0).get("detail");
             if (detail != null && detail.size() > 0) {
                 sbd.append("诊疗:</br>");
-                setJcjyDetail(zlPrescription, sbd);
+                setZlDetail(zlPrescription, sbd);
             }
         }
         Map<String, Object> zyReqPrescription = (Map<String, Object>) prescriptionDetail.get("zyReqPrescription");
@@ -1883,7 +1884,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
 
 
     /**
-     * 设置辅助检查、检验\诊疗
+     * 设置辅助检查、检验
      *
      * @param prescription
      * @param sbd
@@ -1901,6 +1902,29 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         }
     }
 
+
+    /**
+     * 设置诊疗
+     *
+     * @param prescription
+     * @param sbd
+     */
+    private void setZlDetail(List<Map<String, Object>> prescription, StringBuilder sbd) {
+        if (prescription.size() > 0) {
+            for (Map<String, Object> map : prescription) {
+                List<Map<String, Object>> detail = (List<Map<String, Object>>) map.get("detail");
+                if (detail.size() > 0) {
+                    for (Map<String, Object> detailMap : detail) {
+                        sbd.append(detailMap.get("index")).append(".").append(detailMap.get("name")) .append(" X 总量:") .append(detailMap.get("quantity") == null ? "" : detailMap.get("quantity")).append("</br>");
+                        sbd.append(" 单量:").append(detailMap.get("drugQuan") == null ? "" : detailMap.get("drugQuan")).append(" 频率:")
+                                .append(detailMap.get("frequency") == null ? "" : detailMap.get("frequency")).append(" 天数:")
+                                .append(detailMap.get("orderDays") == null ? "" : detailMap.get("orderDays")).append("</br>");
+                    }
+                }
+            }
+        }
+    }
+
     /**
      * 设置完整处方  needPatient needVerify 同事为true 时是保存处方
      *

+ 13 - 5
src/main/resources/static/js/mz/clinic.js

@@ -9502,8 +9502,7 @@ function printPrescription(patientId, times, clnicId, payMark, printType) {
                             index++;
                         }
                     }
-                    //暂时不打印 诊疗了
-                    var printZlPrescription = false;
+                    var printZlPrescription = $("#zlPrintFlagCheck").parent().hasClass("checked") == true ? true : false;
                     if (printZlPrescription) {
                         if (prescriptionDetailJson.zlPrescription != null && prescriptionDetailJson.zlPrescription.length > 0) {
                             //诊疗处方
@@ -9511,9 +9510,18 @@ function printPrescription(patientId, times, clnicId, payMark, printType) {
                             if (zlPrescription != null && zlPrescription.length > 0) {
                                 var html = "";
                                 for (var i = 0; i < zlPrescription.length; i++) {
-                                    html += "<tr><td>";
-                                    html += zlPrescription[i];
-                                    html += "</td></tr>";
+                                    var zlPrescriptionTemp=zlPrescription[i];
+                                    html += "<tr>";
+                                    html += "<td colspan='2'>"+zlPrescriptionTemp.index+"."+zlPrescriptionTemp.name+"</td>";
+                                    html += "<td style='text-align: right;padding-right: 15px;'>X</td>";
+                                    html += "<td>总量:"+zlPrescriptionTemp.quantity+"</td>";
+                                    html += "</tr>";
+                                    html += "<tr>";
+                                    html += "<td width='40%'></td>";
+                                    html += "<td width='20%'>单量:"+zlPrescriptionTemp.drugQuan+"</td>";
+                                    html += "<td width='20%'>频率:"+zlPrescriptionTemp.frequency+"</td>";
+                                    html += "<td width='20%'>天数:"+zlPrescriptionTemp.orderDays+"天</td>";
+                                    html += "</tr>";
                                 }
                                 if (index > 0) {
                                     LODOP.NewPageA();