瀏覽代碼

增加住院申请的入院病情和入院途径

hurugang 2 年之前
父節點
當前提交
8cb5567475

+ 8 - 0
src/main/java/cn/hnthyy/thmz/entity/his/mz/MzZyReq.java

@@ -109,4 +109,12 @@ public class MzZyReq {
      * 小科室名称
      */
     private String smallDeptName;
+    /**
+     * 入院病情代码  1 有 2 临床未确定 3 情况不明 4 无
+     */
+    private Integer conditionCode;
+    /**
+     * 入院途径代码  1 急诊 2 门诊 3 其他医疗机构转入 9 其他
+     */
+    private Integer routeOfAdmission;
 }

+ 3 - 3
src/main/java/cn/hnthyy/thmz/mapper/his/mz/MzZyReqMapper.java

@@ -13,9 +13,9 @@ public interface MzZyReqMapper {
      * @return
      */
     @Insert("INSERT INTO mz_zy_req(patient_id,name,visit_date,doctor_code,dept_code,req_dept,req_ward,bed_no,icd_code,icd_text,confirm_id,confirm_date," +
-            "zy_serial_no,responce_type,admiss_status,req_status,small_dept,icd_code_new,icd_text_new) VALUES (#{patientId}, #{name}, #{visitDate}, #{doctorCode}, #{deptCode}," +
+            "zy_serial_no,responce_type,admiss_status,req_status,small_dept,icd_code_new,icd_text_new,condition_code,route_of_admission) VALUES (#{patientId}, #{name}, #{visitDate}, #{doctorCode}, #{deptCode}," +
             " #{reqDept}, #{reqWard}, #{bedNo}, #{icdCode}, #{icdText}, #{confirmId}, #{confirmDate}, #{zySerialNo}, #{responceType}, #{admissStatus}, #{reqStatus}, #{smallDept}," +
-            " #{icdCodeNew}, #{icdTextNew})")
+            " #{icdCodeNew}, #{icdTextNew},#{conditionCode}, #{routeOfAdmission})")
     int insert(MzZyReq mzZyReq);
 
     /**
@@ -96,7 +96,7 @@ public interface MzZyReqMapper {
      */
     @Select({"<script>" +
             " SELECT " +
-            " patient_id,name, visit_date,doctor_code,dept_code ,req_dept,req_ward,icd_text,admiss_status,req_status,confirm_date,icd_code_new,icd_text_new " +
+            " patient_id,name, visit_date,doctor_code,dept_code ,req_dept,req_ward,icd_text,admiss_status,req_status,confirm_date,icd_code_new,icd_text_new,condition_code,route_of_admission " +
             " FROM " +
             " mz_zy_req WITH(NOLOCK) " +
             " WHERE 1=1 " +

+ 32 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzChargeDetailServiceImpl.java

@@ -1557,6 +1557,28 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                 }
             }
             zyDetail.put("bedNo", mzZyReq.getBedNo());
+            String conditionCode=null;
+            if(mzZyReq.getConditionCode()==1){
+                conditionCode="有";
+            }else if(mzZyReq.getConditionCode()==2){
+                conditionCode="临床未确定";
+            }else if(mzZyReq.getConditionCode()==3){
+                conditionCode="情况不明";
+            }else if(mzZyReq.getConditionCode()==4){
+                conditionCode="无";
+            }
+            zyDetail.put("conditionCode",conditionCode);
+            String routeOfAdmission=null;
+            if(mzZyReq.getConditionCode()==1){
+                routeOfAdmission="急诊";
+            }else if(mzZyReq.getConditionCode()==2){
+                routeOfAdmission="门诊";
+            }else if(mzZyReq.getConditionCode()==3){
+                routeOfAdmission="其他医疗机构转入";
+            }else if(mzZyReq.getConditionCode()==9){
+                routeOfAdmission="其他";
+            }
+            zyDetail.put("routeOfAdmission",routeOfAdmission);
             prescriptionDetail.put("zyReqPrescription", zyDetail);
         }
         mzPrescriptionVo.getMzBlRecord().setPrescriptionDetail(JsonUtil.object2Json(prescriptionDetail));
@@ -1604,7 +1626,9 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
             if (StringUtils.isNotBlank(smallDept)) {
                 sbd.append("(").append(smallDept).append(")");
             }
-            sbd.append("] ").append(zyReqPrescription.get("admissStatus") == null ? "" : zyReqPrescription.get("admissStatus")).append("侯床").append("</br>");
+            sbd.append("] ").append(zyReqPrescription.get("admissStatus") == null ? "" : zyReqPrescription.get("admissStatus")).append(" ")
+                    .append(zyReqPrescription.get("conditionCode") == null ? "" : zyReqPrescription.get("conditionCode")).append(" ")
+                    .append(zyReqPrescription.get("routeOfAdmission") == null ? "" : zyReqPrescription.get("routeOfAdmission")).append("侯床").append("</br>");
         }
         mzPrescriptionVo.getMzBlRecord().setEmrFzjc(emrFzjc);
         mzPrescriptionVo.getMzBlRecord().setEmrProcess(sbd.toString());
@@ -2260,6 +2284,13 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                 if(count>1){
                     throw new MzException("保存处方失败,开立住院证只允许一个标准诊断!");
                 }
+                if(mzZyReq.getConditionCode()==null){
+                    throw new MzException("保存处方失败,住院证入院病情代码不能为空!");
+                }
+                if(mzZyReq.getRouteOfAdmission()==null){
+                    throw new MzException("保存处方失败,住院证入院途径代码不能为空!");
+                }
+
             }
             //有入院证
             mzZyReq.setDeptCode(mzPrescriptionVo.getVisitDeptCode());

+ 4 - 4
src/main/java/cn/hnthyy/thmz/service/impl/thmz/TsmzServiceImpl.java

@@ -91,10 +91,10 @@ public class TsmzServiceImpl implements TsmzService {
         String totalCost = (String) tempJSONO.get("totalCost");
         String acctPay = (String) tempJSONO.get("acctPay");
         Integer cardType = (Integer) tempJSONO.get("cardType");
-        payInfo.setFundPay(StringUtils.isBlank(fundPay) ? BigDecimal.ZERO : new BigDecimal(fundPay).setScale(2, BigDecimal.ROUND_HALF_UP));
-        payInfo.setSelfPay(StringUtils.isBlank(selfPay) ? BigDecimal.ZERO : new BigDecimal(selfPay).setScale(2, BigDecimal.ROUND_HALF_UP));
-        payInfo.setTotalCost(StringUtils.isBlank(totalCost) ? BigDecimal.ZERO : new BigDecimal(totalCost).setScale(2, BigDecimal.ROUND_HALF_UP));
-        payInfo.setAcctPay(StringUtils.isBlank(acctPay) ? BigDecimal.ZERO : new BigDecimal(acctPay).setScale(2, BigDecimal.ROUND_HALF_UP));
+        payInfo.setFundPay(StringUtils.isBlank(fundPay) ? BigDecimal.ZERO : new BigDecimal(fundPay).setScale(1, BigDecimal.ROUND_HALF_UP));
+        payInfo.setSelfPay(StringUtils.isBlank(selfPay) ? BigDecimal.ZERO : new BigDecimal(selfPay).setScale(1, BigDecimal.ROUND_HALF_UP));
+        payInfo.setTotalCost(StringUtils.isBlank(totalCost) ? BigDecimal.ZERO : new BigDecimal(totalCost).setScale(1, BigDecimal.ROUND_HALF_UP));
+        payInfo.setAcctPay(StringUtils.isBlank(acctPay) ? BigDecimal.ZERO : new BigDecimal(acctPay).setScale(1, BigDecimal.ROUND_HALF_UP));
         payInfo.setCardType(cardType);
         return payInfo;
     }

+ 56 - 3
src/main/resources/static/js/mz/clinic.js

@@ -2434,6 +2434,12 @@ function fitZyReqContent(zyReqPrescription, contentId, titleId, checkBox) {
     if (zyReqPrescription.admissStatus != null && zyReqPrescription.admissStatus != "") {
         zyReqHtml += zyReqPrescription.admissStatus;
     }
+    if (zyReqPrescription.conditionCode != null && zyReqPrescription.conditionCode != "") {
+        zyReqHtml += " "+zyReqPrescription.conditionCode;
+    }
+    if (zyReqPrescription.routeOfAdmission != null && zyReqPrescription.routeOfAdmission != "") {
+        zyReqHtml += " "+zyReqPrescription.routeOfAdmission;
+    }
     zyReqHtml += " 侯床";
     if (checkBox) {
         zyReqHtml += "</span>";
@@ -3041,6 +3047,10 @@ function editPrescription(jsonData, type) {
         initSmallDeptByDept();
         $("#admissStatus").selectpicker('val', mzZyReq.admissStatus);
         $('#admissStatus').selectpicker('refresh');
+        $("#conditionCode").selectpicker('val', mzZyReq.conditionCode);
+        $('#conditionCode').selectpicker('refresh');
+        $("#routeOfAdmission").selectpicker('val', mzZyReq.routeOfAdmission);
+        $('#routeOfAdmission').selectpicker('refresh');
         setTimeout(function () {
             $("#smallWardBeHospitalized").selectpicker('val', mzZyReq.smallDept);
             $('#smallWardBeHospitalized').selectpicker('refresh');
@@ -3304,6 +3314,16 @@ function initGenderSelect() {
     $('#operationType').html(operationType);
     $('#operationType').selectpicker('refresh');
 
+    //入院病情
+    var conditionCode = '<option value="1">有</option><option value="2">临床未确定</option><option value="3">情况不明</option><option value="4">无</option>';
+    $('#conditionCode').html(conditionCode);
+    $('#conditionCode').selectpicker('refresh');
+
+    //入院途径
+    var routeOfAdmission = '<option value="1">急诊</option><option value="2">门诊</option><option value="3">其他医疗机构转入</option><option value="9">其他</option>';
+    $('#routeOfAdmission').html(routeOfAdmission);
+    $('#routeOfAdmission').selectpicker('refresh');
+
 }
 
 /**
@@ -4825,6 +4845,23 @@ function saveZyReq(messageFlag) {
     var smallWardText = $('#smallWardBeHospitalized option:selected').text();
     //入院状态名称
     var admissStatusText = $('#admissStatus option:selected').text();
+    //入院病情代码
+    var conditionCode = $("#conditionCode").val();
+    //入院途径代码
+    var routeOfAdmission = $("#routeOfAdmission").val();
+
+    //入院病情代码
+    var conditionCodeText = $('#conditionCode option:selected').text();
+    //入院途径代码
+    var routeOfAdmissionText = $('#routeOfAdmission option:selected').text();
+    if (admissStatusText == null || admissStatusText == '') {
+        errorMesageSimaple("未选择入院状态!");
+        return;
+    }
+    if (conditionCode == null || conditionCode == '') {
+        errorMesageSimaple("未选择入院病情!");
+        return;
+    }
     if (inpatientWardBeHospitalized == null || inpatientWardBeHospitalized == '') {
         errorMesageSimaple("未选择入院病区!");
         return;
@@ -4853,18 +4890,28 @@ function saveZyReq(messageFlag) {
     if (smallWardText != null) {
         html += " (" + smallWardText + ") ";
     }
+
     if (inpatientWardText != null) {
-        html += "] ";
+        html += "]";
     }
     if (admissStatusText != null) {
-        html += admissStatusText;
+        html += " "+admissStatusText;
     }
+    if (conditionCodeText != null) {
+        html += " "+conditionCodeText;
+    }
+    if (routeOfAdmissionText != null) {
+        html += " "+routeOfAdmissionText;
+    }
+
     html += ' 侯床';
     //html += ' <i class="fa fa-long-arrow-left" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="editJyJcItem(this)"></i>';
     html += '<i class="fa fa-remove" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="removeYpOrProject(3,this)"></i>';
     html += '<input type="hidden" class="temporary_inpatient_ward" value="' + inpatientWardBeHospitalized + '"/>';
     html += '<input type="hidden" class="temporary_items_small_ward" value="' + smallWardBeHospitalized + '"/>';
     html += '<input type="hidden" class="temporary_items_admiss_status" value="' + admissStatus + '"/>';
+    html += '<input type="hidden" class="temporary_items_condition_code" value="' + conditionCode + '"/>';
+    html += '<input type="hidden" class="temporary_items_route_of_admission" value="' + routeOfAdmission + '"/>';
     html += '</div>';
     $(tableId).find("div:eq(0)").html(html);
     clearZyReq();
@@ -5229,6 +5276,10 @@ function clearZyReq() {
     $('#smallWardBeHospitalized').selectpicker('refresh');
     $("#admissStatus").selectpicker('val', null);
     $('#admissStatus').selectpicker('refresh');
+    $("#conditionCode").selectpicker('val', null);
+    $('#conditionCode').selectpicker('refresh');
+    $("#routeOfAdmission").selectpicker('val', null);
+    $('#routeOfAdmission').selectpicker('refresh');
     $("#totalBedNum").val(null);
     $("#freeBedNum").val(null);
     $("#occupationBedNum").val(null);
@@ -8159,7 +8210,7 @@ function getParamsForpPrescription(type) {
         '"prescriptionDetail":""},' +
         '"mzChargeDetailList": [],' +
         '"mzYjReqList": [],' +
-        '"mzZyReq": {"reqDept": "","smallDept": "","admissStatus": ""},' +
+        '"mzZyReq": {"reqDept": "","smallDept": "","admissStatus": "","conditionCode": "","routeOfAdmission": ""},' +
         '"zgmztczf":"",' +
         '"grzhzf":"",' +
         '"readCardResult":"",' +
@@ -8343,6 +8394,8 @@ function getParamsForpPrescription(type) {
         jsonData.mzZyReq.reqDept = $(zyReqTabContents[0]).find("input.temporary_inpatient_ward").val();
         jsonData.mzZyReq.smallDept = $(zyReqTabContents[0]).find("input.temporary_items_small_ward").val();
         jsonData.mzZyReq.admissStatus = $(zyReqTabContents[0]).find("input.temporary_items_admiss_status").val();
+        jsonData.mzZyReq.conditionCode = $(zyReqTabContents[0]).find("input.temporary_items_condition_code").val();
+        jsonData.mzZyReq.routeOfAdmission = $(zyReqTabContents[0]).find("input.temporary_items_route_of_admission").val();
     }
     //设置诊断名称
     var icdText = null;

+ 20 - 0
src/main/resources/templates/mz/clinic.html

@@ -1055,6 +1055,26 @@
                                         </div>
                                     </div>
                                 </div>
+                                <div class="item form-group">
+                                    <div style="width: 170px;float: left;">
+                                        <label class="my_label_3">入院病情:</label>
+                                        <div style="width: 85px;float: left;">
+                                            <select class="form-control selectpicker show-tick" required="required"
+                                                    title="请选择"
+                                                    id="conditionCode">
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div style="width: 170px;float: left;">
+                                        <label class="my_label_3">入院途径:</label>
+                                        <div style="width: 85px;float: left;">
+                                            <select class="form-control selectpicker show-tick" required="required"
+                                                    title="请选择"
+                                                    id="routeOfAdmission">
+                                            </select>
+                                        </div>
+                                    </div>
+                                </div>
                                 <div class="item form-group">
                                     <div style="width: 170px;float: left;">
                                         <label class="my_label_3">入院状态:</label>