浏览代码

心电,住院证优化

lihong 2 年之前
父节点
当前提交
b2fb89e171

+ 15 - 4
src/main/java/cn/hnthyy/thmz/controller/zd/JcJyController.java

@@ -24,6 +24,7 @@ import cn.hnthyy.thmz.service.his.mz.MzYjReqService;
 import cn.hnthyy.thmz.service.thmz.HybirdTestService;
 import cn.hnthyy.thmz.vo.ChargeFeeVo;
 import cn.hnthyy.thmz.vo.ThmzmxsrParamsVo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -95,7 +96,7 @@ public class JcJyController {
                 resultMap.put("message", "查询检查检验列表失败,报告类型为空");
                 return resultMap;
             }
-            if (mzYjReq.getReqType() == null || !("2".equals(mzYjReq.getReqType()) || "3".equals(mzYjReq.getReqType()) || "4".equals(mzYjReq.getReqType()))) {
+            if (mzYjReq.getReqType() == null || !("2".equals(mzYjReq.getReqType()) || "3".equals(mzYjReq.getReqType()) || "4".equals(mzYjReq.getReqType())|| "5".equals(mzYjReq.getReqType()))) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "查询检查检验列表失败,报告类型参数错误");
                 return resultMap;
@@ -119,9 +120,19 @@ public class JcJyController {
             } else {
                 mzYjReq.setPatientName(null);
             }
-            boolean ygjyFlag ="4".equals(mzYjReq.getReqType());
-            Integer count = ygjyFlag ? jcJyItemChargeService.queryCountYgJy(mzYjReq) : jcJyItemChargeService.queryCountMzYjReq(mzYjReq);
-            List<MzYjReq> data = ygjyFlag ?jcJyItemChargeService.querytYgJyPage(mzYjReq) : jcJyItemChargeService.queryMzYjReqByPatientIdAndReqDateWithPage(mzYjReq);
+            Integer count;
+            List<MzYjReq> data;
+            if("4".equals(mzYjReq.getReqType())){
+                count = jcJyItemChargeService.queryCountYgJy(mzYjReq);
+                data = jcJyItemChargeService.querytYgJyPage(mzYjReq);
+            }else if("5".equals(mzYjReq.getReqType())){
+               IPage page = jcJyItemChargeService.queryXdPage(mzYjReq);
+                count = (int)page.getTotal();
+                data = page.getRecords();
+            }else {
+                count = jcJyItemChargeService.queryCountMzYjReq(mzYjReq);
+                data = jcJyItemChargeService.queryMzYjReqByPatientIdAndReqDateWithPage(mzYjReq);
+            }
             if (data == null) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "查询检查检验列表失败,暂时没有对应的报告");

+ 1 - 1
src/main/java/cn/hnthyy/thmz/entity/his/mz/MzYjReq.java

@@ -57,7 +57,7 @@ public class MzYjReq extends PageBean {
     private String printFlag;
     //接收标志:1:医技已接收;2:结果返回
     private String receiveFlag;
-    //申请单类型:2:检验;3:检查 4.荧光检验
+    //申请单类型:2:检验;3:检查 4.荧光检验 5.心电
     private String reqType;
     //既往结果
     private String resultComment;

+ 19 - 0
src/main/java/cn/hnthyy/thmz/mapper/his/zd/JcJyItemChargeMapper.java

@@ -3,6 +3,7 @@ package cn.hnthyy.thmz.mapper.his.zd;
 import cn.hnthyy.thmz.entity.his.mz.JcJyItemCharge;
 import cn.hnthyy.thmz.entity.his.mz.MzYjReq;
 import cn.hnthyy.thmz.entity.his.zd.JyZdItem;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
@@ -273,4 +274,22 @@ public interface JcJyItemChargeMapper {
             " group by pat_no,times,patient_name) as A WHERE RowNumber >#{pageSize}*#{pageIndex} order by RowNumber asc"
             , "</script>"})
     List<MzYjReq> selectYgJyPage(MzYjReq mzYjReq);
+    @Select({
+            "<script>",
+              "select *  from (" ,
+                                  " select  patient_id,name patient_name  from mzy_reqrec" ,
+                      "      where 1=1" ,
+                    "<when test='mzYjReq.patientName!=null'>",
+                    " and (patient_id like #{mzYjReq.patientName} or name like #{mzYjReq.patientName})",
+                    "</when>",
+                    "<when test='mzYjReq.beginTime!=null'>",
+                    " and visit_date <![CDATA[>=]]> #{mzYjReq.beginTime} ",
+                    "</when>",
+                    "<when test='mzYjReq.endTime!=null'>",
+                    "  and visit_date <![CDATA[<=]]>#{mzYjReq.endTime} ",
+                    "</when>",
+                      "       group by   patient_id ,name)t"
+            , "</script>"
+    })
+    List<MzYjReq> queryXdPage(@Param("page") IPage page, @Param("mzYjReq") MzYjReq mzYjReq);
 }

+ 9 - 0
src/main/java/cn/hnthyy/thmz/service/his/zd/JcJyItemChargeService.java

@@ -6,6 +6,7 @@ import cn.hnthyy.thmz.entity.his.zd.JyZdItem;
 import cn.hnthyy.thmz.entity.his.mz.MzYjReq;
 import cn.hnthyy.thmz.entity.his.zd.ZdChargeItem;
 import cn.hnthyy.thmz.entity.jy.InspectionsIndex;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.List;
 import java.util.Map;
@@ -235,4 +236,12 @@ public interface JcJyItemChargeService {
      * @return: java.util.List<cn.hnthyy.thmz.entity.his.mz.MzYjReq>
      **/
     List<MzYjReq> querytYgJyPage(MzYjReq mzYjReq);
+    /**
+     * @description:查询心电的人
+     * @author: lihong
+     * @date: 2023/10/11 9:21
+     * @param: mzYjReq
+     * @return: com.baomidou.mybatisplus.core.metadata.IPage
+     **/
+    IPage queryXdPage(MzYjReq mzYjReq);
 }

+ 11 - 2
src/main/java/cn/hnthyy/thmz/service/impl/his/zd/JcJyItemChargeServiceImpl.java

@@ -29,6 +29,8 @@ import cn.hnthyy.thmz.service.his.zd.JcJyItemChargeService;
 import cn.hnthyy.thmz.service.his.zd.ZdUnitCodeService;
 //import cn.hnthyy.thmz.service.thmz.JyReportService;
 import cn.hnthyy.thmz.service.thmz.JyReportService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -441,13 +443,11 @@ public class JcJyItemChargeServiceImpl implements JcJyItemChargeService {
 
     @Override
     public Integer queryCountYgJy(MzYjReq mzYjReq) {
-        setLikePatientName(mzYjReq);
         return jcJyItemChargeMapper.selectCountYgJy(mzYjReq);
     }
 
     @Override
     public List<MzYjReq> querytYgJyPage(MzYjReq mzYjReq) {
-        setLikePatientName(mzYjReq);
         return jcJyItemChargeMapper.selectYgJyPage(mzYjReq);
     }
 
@@ -456,4 +456,13 @@ public class JcJyItemChargeServiceImpl implements JcJyItemChargeService {
             mzYjReq.setPatientName("%"+mzYjReq.getPatientName()+"%");
         }
     }
+
+
+    @Override
+    public IPage queryXdPage(MzYjReq mzYjReq) {
+        IPage page = new Page(mzYjReq.getPageIndex()+1,mzYjReq.getPageSize());
+        List<MzYjReq> list = jcJyItemChargeMapper.queryXdPage(page,mzYjReq);
+        page.setRecords(list);
+        return page;
+    }
 }

+ 7 - 1
src/main/resources/static/js/mz/add_mzzyreq.js

@@ -573,7 +573,13 @@ function printZyReq(patientId, printType) {
                 $("#reqDeptZyReq").text(mzZyReq.reqWardName);
                 $("#smallDeptZyReq").text(mzZyReq.smallDeptName);
                 //$("#admissStatusZyReq").text(mzZyReq.admissStatus);
-                $("input:checkbox[value='" + mzZyReq.admissStatus + "']").attr('checked', 'true');
+                // $("input:checkbox[value='" + mzZyReq.admissStatus + "']").prop('checked', true);
+                $("input:checkbox[name='admissStatusZyReq']").each(function (i, e) {
+                        $(this).removeAttr("checked");
+                        if ($(this).val() ==Number(mzZyReq.admissStatus) ||$(this).val()==mzZyReq.admissStatus) {
+                            $(this).attr("checked",true)
+                        }
+                });
                 $("#visitDateZyReq").text(format(mzZyReq.visitDate, "yyyy-MM-dd HH:mm:ss"));
                 $("#deptCodeZyReq").text(mzZyReq.deptName);
                 $("#doctorCodeZyReq").text(mzZyReq.doctorName);

+ 14 - 2
src/main/resources/static/js/mz/clinic.js

@@ -10790,7 +10790,13 @@ function printPrescription(patientId, times, clnicId, payMark, printType) {
                         $("#reqDeptZyReq").text(mzZyReq.reqWardName);
                         $("#smallDeptZyReq").text(mzZyReq.smallDeptName);
                         //$("#admissStatusZyReq").text(mzZyReq.admissStatus);
-                        $("input:checkbox[value='" + mzZyReq.admissStatus + "']").attr('checked', 'true');
+                        // $("input:checkbox[value='" + mzZyReq.admissStatus + "']").attr('checked', 'true');
+                        $("input:checkbox[name='admissStatusZyReq']").each(function (i, e) {
+                            $(this).removeAttr("checked");
+                            if ($(this).val() ==Number(mzZyReq.admissStatus) ||$(this).val()==mzZyReq.admissStatus) {
+                                $(this).attr("checked",true)
+                            }
+                        });
                         $("#visitDateZyReq").text(format(mzZyReq.visitDate, "yyyy-MM-dd HH:mm:ss"));
                         $("#deptCodeZyReq").text(mzZyReq.deptName);
                         $("#doctorCodeZyReq").text(mzZyReq.doctorName);
@@ -11366,7 +11372,13 @@ function printZyReq(patientId, printType) {
                 $("#reqDeptZyReq").text(mzZyReq.reqWardName);
                 $("#smallDeptZyReq").text(mzZyReq.smallDeptName);
                 //$("#admissStatusZyReq").text(mzZyReq.admissStatus);
-                $("input:checkbox[value='" + mzZyReq.admissStatus + "']").attr('checked', 'true');
+                // $("input:checkbox[value='" + mzZyReq.admissStatus + "']").attr('checked', 'true');
+                $("input:checkbox[name='admissStatusZyReq']").each(function (i, e) {
+                    $(this).removeAttr("checked");
+                    if ($(this).val() ==Number(mzZyReq.admissStatus) ||$(this).val()==mzZyReq.admissStatus) {
+                        $(this).attr("checked",true)
+                    }
+                });
                 $("#visitDateZyReq").text(format(mzZyReq.visitDate, "yyyy-MM-dd HH:mm:ss"));
                 $("#deptCodeZyReq").text(mzZyReq.deptName);
                 $("#doctorCodeZyReq").text(mzZyReq.doctorName);

+ 113 - 0
src/main/resources/static/js/mz/jy_jc.js

@@ -69,6 +69,8 @@ function initJcJyTable() {
         $("#jy_detail").removeClass("in").addClass("hide");
         $("#ygjy_detail").removeClass("in").addClass("hide");
         $("#ygjy_iframe_div").html("")
+        $("#xd_detail").removeClass("in").addClass("hide");
+        $("#xd_iframe_div").html("")
         $("#jc_detail").removeClass("hide").addClass("in");
     }else if (typeIndex == 2) {
         $('#tb_jy_pName_table_list').bootstrapTable("destroy");
@@ -76,7 +78,18 @@ function initJcJyTable() {
         initYgJyListTable();
         $("#jy_detail").removeClass("in").addClass("hide");
         $("#jc_detail").removeClass("in").addClass("hide");
+        $("#xd_detail").removeClass("in").addClass("hide");
+        $("#xd_iframe_div").html("")
         $("#ygjy_detail").removeClass("hide").addClass("in");
+    }else if (typeIndex == 3) {
+        $('#tb_jy_pName_table_list').bootstrapTable("destroy");
+        $('#tb_jy_table_list').bootstrapTable("destroy");
+        initxdListTable();
+        $("#jy_detail").removeClass("in").addClass("hide");
+        $("#jc_detail").removeClass("in").addClass("hide");
+        $("#ygjy_detail").removeClass("in").addClass("hide");
+        $("#ygjy_iframe_div").html("")
+        $("#xd_detail").removeClass("hide").addClass("in");
     }
     else {
         $('#tb_table_list').bootstrapTable("destroy");
@@ -84,11 +97,98 @@ function initJcJyTable() {
         $("#jc_detail").removeClass("in").addClass("hide");
         $("#ygjy_detail").removeClass("in").addClass("hide");
         $("#ygjy_iframe_div").html("")
+        $("#xd_detail").removeClass("in").addClass("hide");
+        $("#xd_iframe_div").html("")
         $("#jy_detail").removeClass("hide").addClass("in");
 
     }
 }
 
+/**
+ * 初始化心电检验
+ */
+function initxdListTable() {
+    $('#tb_table_list').bootstrapTable("destroy");
+    $('#tb_table_list').bootstrapTable({
+        url: '/thmz/getJcJyList', //请求后台的URL(*)
+        method: 'post',                      //请求方式(*)
+        toolbar: '#toolbar',                //工具按钮用哪个容器
+        striped: true,                      //是否显示行间隔色
+        cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        pagination: true,                   //是否显示分页(*)
+        sortable: true,                     //是否启用排序
+        sortOrder: "asc",                   //排序方式
+        queryParams: queryxdParams,           //传递参数(*)
+        sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
+        pageNumber: 1,                       //初始化加载第一页,默认第一页
+        pageSize: 10,                       //每页的记录行数(*)
+        pageList: [5, 10, 25, 50, 100],        //可供选择的每页的行数(*)
+        search: false,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
+        strictSearch: true,
+        showColumns: false,                  //是否显示所有的列
+        showRefresh: false,                  //是否显示刷新按钮
+        minimumCountColumns: 2,             //最少允许的列数
+        clickToSelect: true,                //是否启用点击选中行
+        uniqueId: "ID",                     //每一行的唯一标识,一般为主键列
+        showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
+        cardView: false,                    //是否显示详细视图
+        detailView: false,
+        //rowStyle:rowStyle,//通过自定义函数设置行样式
+        ajaxOptions: {
+            headers: {
+                'Accept': 'application/json',
+                'Authorization': 'Bearer ' + localStorage.getItem("token")
+            }
+        },
+        columns: [
+            {
+                field: 'patientId',
+                title: '门诊ID',
+                align: "center",
+                valign: 'middle',
+            }, {
+                field: 'patientName',
+                title: '病人姓名',
+                align: "center",
+                valign: 'middle',
+            }
+        ],
+        onClickRow: function (row) {
+            $("#xd_iframe_div").html("")
+            var window_height = window.innerHeight;
+            var myIframe = document.createElement('iframe');
+            myIframe.width="100%"
+            myIframe.height="100%"
+            myIframe.src = "http://172.16.32.192/website/Service/Search.aspx?id="+row.patientId;
+            document.getElementById("xd_iframe_div").style.height = (window_height/1.2-80)+'px';
+            document.getElementById("xd_iframe_div").appendChild(myIframe);
+        },
+        responseHandler: function (res) {
+            if (res == '401' || res == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            var ress = eval(res);
+            if (ress.code == -1) {
+                if (ress.message != null && ress.message != '') {
+                    errorMesage(ress);
+                }
+                return {
+                    "total": 0,//总页数
+                    "rows": {}   //数据
+                };
+            }
+            return {
+                "total": ress.count,//总页数
+                "rows": ress.data   //数据
+            };
+        },
+        onLoadSuccess: function (data) {
+            $(".pagination-detail").css("display", "none");
+        }
+    });
+}
+
 /**
  * 初始化荧光检验
  */
@@ -306,6 +406,19 @@ function queryYgjyParams(params) {
 };
 
 
+function queryxdParams(params) {
+    var rePortRangeArr = getRePortRangeArr();
+    return {
+        patientName: $("#cardNo").val(),
+        reqType: "5",
+        beginTime: rePortRangeArr[0],
+        endTime: rePortRangeArr[1],
+        pageSize: params.limit,   //页面大小
+        pageIndex: params.offset / params.limit  //页码
+    };
+};
+
+
 /**
  * 加载检查明细
  * @param reqNo

+ 7 - 0
src/main/resources/templates/mz/jy_jc.html

@@ -30,6 +30,8 @@
                         </button>
                         <button class="btn btn-sm btn-default" type="button" onclick="payMarkButtonChange(this)">&nbsp;&nbsp;荧光检验&nbsp;&nbsp;&nbsp;
                         </button>
+                        <button class="btn btn-sm btn-default" type="button" onclick="payMarkButtonChange(this)">&nbsp;&nbsp;心电&nbsp;&nbsp;&nbsp;
+                        </button>
                     </div>
                     <div class="form-group col-md-9 col-sm-9 col-xs-12">
                         <label class="control-label col-md-2 col-sm-2 col-xs-12" for="cardNo">门诊ID/姓名
@@ -254,6 +256,11 @@
                 <div id="ygjy_detail" class="hide" >
                     <div id="ygjy_iframe_div" style="width: 100%">
 
+                    </div>
+                </div>
+                <div id="xd_detail" class="hide" >
+                    <div id="xd_iframe_div" style="width: 100%">
+
                     </div>
                 </div>
             </div>