Kaynağa Gözat

Merge branch 'dev-1.1.4' of https://172.16.32.165/hurugang/thmz_system into dev-1.1.4

hurugang 2 yıl önce
ebeveyn
işleme
6e9c2e1bce

+ 1 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/yf/YfWardPrescriptionServiceImpl.java

@@ -511,7 +511,7 @@ public class YfWardPrescriptionServiceImpl implements YfWardPrescriptionService
                     }
                 }
             }
-            if(i == 0 || count == 0){
+            if((i == 0 || count == 0) && !pageClass.equals("T") && !pageClass.equals("HT")){
                 throw new MzException("请检查后重发,含空药单:"+pageNoStr);
             }
             if (i == count || pageClass.equals("T") || pageClass.equals("HT")) {

+ 95 - 67
src/main/resources/static/js/yf/ward_prescription.js

@@ -11,6 +11,7 @@ var nfdPrintIndex = window.localStorage["nfdPrintIndex"];
 var tableInterval;
 var lastrow;//最后编辑单元格的行
 var lastcell;//最后编辑单元格的列
+var searchData = {};//搜索条件
 $(function () {
     init_daterangepicker();
     $('#reportrange span').html(moment().subtract(10, 'days').format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD'));
@@ -54,6 +55,12 @@ $(function () {
         });
         $("#qld").removeClass("btn-default").addClass("btn-primary");
         initTbTable();
+        searchData = {
+            wardCode: ($("#wardCode").val() == null ? null : wardCode = $("#wardCode").val()[0]),
+            pageNo: $("#pageNoSearch").val() == "" ? null : $("#pageNoSearch").val(),
+            submitFlag: $("#submitFlagSearch").val(),
+            pageClass: $("#pageClassSearch").val() == "" ? null : $("#pageClassSearch").val()
+        }
     });
     $("#printSend").click(function (t) {
         $('#zydybqModal').modal('hide');
@@ -81,33 +88,33 @@ $(function () {
         //LODOP.PREVIEW();
     });
     $("#barCode").on('blur', function (t) {
-        let rowid = $("#tb_detail_table").jqGrid("getGridParam","selrow");
+        let rowid = $("#tb_detail_table").jqGrid("getGridParam", "selrow");
         setTimeout(function () {//延时防止编辑单元格输入框未生效
-            if($("input[name='manuNo']").length == 0 && $("select[name='fybz']").length == 0){
+            if ($("input[name='manuNo']").length == 0 && $("select[name='fybz']").length == 0) {
                 return $("#barCode").focus();
             }
-            $("#"+rowid+"_manuNo,#"+rowid+"_fybz").on('blur', function (t) {
+            $("#" + rowid + "_manuNo,#" + rowid + "_fybz").on('blur', function (t) {
                 $("#barCode").focus();
             });
-            if($("input[name='manuNo']").length > 0){
-                if(!$("#"+rowid+"_manuNo").is(':focus')){
+            if ($("input[name='manuNo']").length > 0) {
+                if (!$("#" + rowid + "_manuNo").is(':focus')) {
                     return $("#barCode").focus();
                 }
-            }else if($("select[name='fybz']").length > 0){
-                if(!$("#"+rowid+"_fybz").is(':focus')){
+            } else if ($("select[name='fybz']").length > 0) {
+                if (!$("#" + rowid + "_fybz").is(':focus')) {
                     return $("#barCode").focus();
                 }
             }
-        },500)
+        }, 500)
     });
 
 
     /**
      * 扫码条码
      */
-    $("#barCode").on('input', debounce(e=>{
+    $("#barCode").on('input', debounce(e => {
         autoBar(e.delegateTarget.value)
-    },500));
+    }, 500));
 });
 
 
@@ -124,26 +131,26 @@ function autoBar(value) {
         }
     }).then((res) => {
         $("#barCode").val("");
-        if(Object.keys(res.data).length === 0){
+        if (Object.keys(res.data).length === 0) {
             return warningMesageSimaple("未找到该条码对应的批号");
         }
-        let rowId=$("#tb_detail_table").jqGrid("getGridParam", "selrow");
-        var rowData=$("#tb_detail_table").jqGrid('getRowData', rowId);
+        let rowId = $("#tb_detail_table").jqGrid("getGridParam", "selrow");
+        var rowData = $("#tb_detail_table").jqGrid('getRowData', rowId);
         let chargeCode = '';
-        for(let key in res.data){
+        for (let key in res.data) {
             chargeCode = key
         }
-        if(chargeCode != rowData.chargeCode){
+        if (chargeCode != rowData.chargeCode) {
             return warningMesageSimaple("该条码对应的药品编码和表格选中药品不一致");
         }
-        if(!isEmpty(rowData.manuNo)){
+        if (!isEmpty(rowData.manuNo)) {
             let oldManuNos = rowData.manuNo.split(",");
-            if(oldManuNos.indexOf(res.data[chargeCode]) != -1){
+            if (oldManuNos.indexOf(res.data[chargeCode]) != -1) {
                 return warningMesageSimaple("条码重复扫描");
             }
         }
-        $("#tb_detail_table").jqGrid("setCell", rowId,'manuNo', (isEmpty(rowData.manuNo)?"":(rowData.manuNo+","))+res.data[chargeCode]);
-        $("#tb_detail_table").setSelection(rowId+1, false);
+        $("#tb_detail_table").jqGrid("setCell", rowId, 'manuNo', (isEmpty(rowData.manuNo) ? "" : (rowData.manuNo + ",")) + res.data[chargeCode]);
+        $("#tb_detail_table").setSelection(rowId + 1, false);
         successMesageSimaple("扫描条码赋值批号成功");
     });
 }
@@ -161,7 +168,23 @@ function initButtonChange(object, realIndex) {
     });
     $(object).removeClass("btn-default").addClass("btn-primary");
     if (realIndex == 0) {
-        cleanParams();
+        $("#pageNoSearch").val(searchData.pageNo);
+        $("#pageClassSearch").val(searchData.pageClass);
+        $("#wardCode").val(searchData.wardCode);
+        if (searchData.submitFlag == null) {
+            groupNo === '81' ?$("#submitFlagSearch").val(3):$("#submitFlagSearch").val(1);
+        } else {
+            $("#submitFlagSearch").val(searchData.submitFlag);
+        }
+        $("#submitFlagSearch").selectpicker('refresh');
+        $("#wardCode").removeAttr('disabled');
+        $("#pageNoSearch").removeAttr('disabled');
+        $("#pageClassSearch").removeAttr('disabled');
+        $("#wardCode").selectpicker('refresh');
+        $("#pageClassSearch").selectpicker('refresh');
+        $("#btn_query").removeAttr('disabled');
+        $("#btn_clean").removeAttr('disabled');
+        $("#barCode").attr('disabled', true);
         initTbTable();
     } else if (realIndex == 1) {
         setFrom();
@@ -569,8 +592,8 @@ function initSummarizingTable() {
             groupText: ['<b>单号:' + pageNo + '</b>'],//组名的展示文字
             groupCollapse: false,//是否收起
         },
-        colNames: ['发药', '拒退', '单号', '批号','住院号', '床号', '姓名', '货位号', '药品编码', '药品名称', '规格', '数量/剂数','代煎剂数','处方金额', '代煎单价',
-            '每天剂数','煎药说明','加水量','煮取量','复煎次数','几次服用','服用说明','医生','每剂数量', '发药量', '原发药量', '库存量', '零售价', '金额', '生产厂家', '药单类型', '规格编号', '医保编码'],
+        colNames: ['发药', '拒退', '单号', '批号', '住院号', '床号', '姓名', '货位号', '药品编码', '药品名称', '规格', '数量/剂数', '代煎剂数', '处方金额', '代煎单价',
+            '每天剂数', '煎药说明', '加水量', '煮取量', '复煎次数', '几次服用', '服用说明', '医生', '每剂数量', '发药量', '原发药量', '库存量', '零售价', '金额', '生产厂家', '药单类型', '规格编号', '医保编码'],
         colModel: [
             {
                 name: 'fybz',
@@ -638,7 +661,13 @@ function initSummarizingTable() {
             {name: 'cyFfcs', index: 'cyFfcs', hidden: true},
             {name: 'fysmContent', index: 'fysmContent', hidden: true},
             {name: 'doctorName', index: 'doctorName', hidden: true},
-            {name: 'minAmount', index: 'minAmount', align: 'center', width: 30,hidden: groupNo === '81' ? false : true},
+            {
+                name: 'minAmount',
+                index: 'minAmount',
+                align: 'center',
+                width: 30,
+                hidden: groupNo === '81' ? false : true
+            },
             {
                 name: 'amountCount',
                 index: 'amountCount',
@@ -660,9 +689,9 @@ function initSummarizingTable() {
             {
                 name: 'totalMoney', index: 'totalMoney', align: 'center', width: 30,
                 formatter: function (cellvalue, options, rowObject) {
-                    if(groupNo === '81'){
+                    if (groupNo === '81') {
                         return keepTwoDecimal(rowObject.retprice * rowObject.amount * rowObject.minAmount)
-                    }else{
+                    } else {
                         return keepTwoDecimal(rowObject.retprice * rowObject.amount)
                     }
                 }
@@ -692,12 +721,12 @@ function initSummarizingTable() {
         jsonReader: {
             root: "data", repeatitems: false
         },
-        beforeEditCell:function(rowid, cellname, v, iRow, iCol){
+        beforeEditCell: function (rowid, cellname, v, iRow, iCol) {
             lastrow = iRow;
             lastcell = iCol;
         },
         afterSaveCell: function (rowid, celname, value, iRow, iCol) {
-            if(celname === 'manuNo'){
+            if (celname === 'manuNo') {
                 return true
             }
             let data = $("#tb_summarizing_table").getRowData(rowid);
@@ -726,7 +755,7 @@ function initSummarizingTable() {
     $("#t_tb_summarizing_table").append("<button class='registration-no-color-foot-button' title='打印口服标签' onclick='printLabelData(0)' style='color: green;margin-left: 10px;'><i class='fa fa-print'></i></button>");
     if (($("#submitFlagSearch").val() === '1' && groupNo !== '81') || ($("#submitFlagSearch").val() === '3' && groupNo === '81')) {
         $("#t_tb_summarizing_table").append("<button class='registration-no-color-foot-button' title='保存药单' id='collect_save' onclick='save(0)' style='color: green;margin-left: 10px;'><i class='fa fa-floppy-o'></i></button>");
-    }else{
+    } else {
         $("#t_tb_summarizing_table").append("<button class='registration-no-color-foot-button' title='保存批号' id='manu_save_hz' style='color: green;margin-left: 10px;'><i class='fa fa-floppy-o'></i></button>");
     }
     $("#manu_save_hz").click(function (t) {
@@ -736,7 +765,7 @@ function initSummarizingTable() {
         if (rowIds.length > 0) {
             for (var i = 0; i < rowIds.length; i++) {
                 let rowDate = obj.getRowData(rowIds[i]);
-                if(!isEmpty(rowDate.manuNo)){
+                if (!isEmpty(rowDate.manuNo)) {
                     arrayData.push({
                         pageNo: rowDate.pageNo,
                         chargeCode: rowDate.chargeCode,
@@ -913,12 +942,12 @@ function initDetailTable() {
         jsonReader: {
             root: "data", repeatitems: false
         },
-        beforeEditCell:function(rowid, cellname, v, iRow, iCol){
+        beforeEditCell: function (rowid, cellname, v, iRow, iCol) {
             lastrow = iRow;
             lastcell = iCol;
         },
         afterSaveCell: function (rowid, celname, value, iRow, iCol) {
-            if(celname === 'manuNo'){
+            if (celname === 'manuNo') {
                 return true
             }
             let data = $("#tb_detail_table").getRowData(rowid);
@@ -940,8 +969,8 @@ function initDetailTable() {
             }
             if (res.code == -1) {
                 errorMesage(res);
-            }else{
-                if(!isEmpty(res.data) && res.data.length > 0){
+            } else {
+                if (!isEmpty(res.data) && res.data.length > 0) {
                     $("#tb_detail_table").setSelection(1, false)
                 }
             }
@@ -951,7 +980,7 @@ function initDetailTable() {
     $("#t_tb_detail_table").append("<button class='registration-no-color-foot-button' title='打印口服标签' onclick='printLabelData(1)' style='color: green;margin-left: 10px;'><i class='fa fa-print'></i></button>");
     if ($("#submitFlagSearch").val() === '1') {
         $("#t_tb_detail_table").append("<button class='registration-no-color-foot-button' title='确认药单' id='detail_save' onclick='save(1)' style='color: green;margin-left: 10px;'><i class='fa fa-floppy-o'></i></button>");
-    }else{
+    } else {
         $("#t_tb_detail_table").append("<button class='registration-no-color-foot-button' title='保存批号' id='manu_save_mx' style='color: green;margin-left: 10px;'><i class='fa fa-floppy-o'></i></button>");
     }
     $("#manu_save_mx").click(function (t) {
@@ -961,7 +990,7 @@ function initDetailTable() {
         if (rowIds.length > 0) {
             for (var i = 0; i < rowIds.length; i++) {
                 let rowDate = obj.getRowData(rowIds[i]);
-                if(!isEmpty(rowDate.manuNo)){
+                if (!isEmpty(rowDate.manuNo)) {
                     arrayData.push({
                         actOrderNo: rowDate.actOrderNo,
                         chargeCode: rowDate.chargeCode,
@@ -1001,12 +1030,7 @@ function getRePortRangeArr() {
  */
 function queryParams(params) {
     var rePortRangeArr = getRePortRangeArr();
-    let wardCode;
-    if ($("#wardCode").val() == null) {
-        wardCode = null;
-    } else {
-        wardCode = $("#wardCode").val()[0]
-    }
+    let wardCode = ($("#wardCode").val() == null ? null : $("#wardCode").val()[0]);
     var temp = {
         submitBeginDate: rePortRangeArr[0],
         submitEndDate: rePortRangeArr[1],
@@ -1025,6 +1049,7 @@ function queryParams(params) {
  * 清空查询条件
  */
 function cleanParams() {
+    searchData = {};
     $("#pageNoSearch").val(null);
     $("#pageClassSearch").val(null);
     $("#wardCode").selectpicker('val', '');
@@ -1033,6 +1058,7 @@ function cleanParams() {
     } else {
         $("#submitFlagSearch").val(1);
     }
+    $('#reportrange span').html(moment().subtract(10, 'days').format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD'));
     $("#submitFlagSearch").selectpicker('refresh');
     $("#wardCode").removeAttr('disabled');
     $("#pageNoSearch").removeAttr('disabled');
@@ -1051,7 +1077,7 @@ function printXyCount(flag) {
     let html = '';
     let totalMoney = 0;
     let title = (pageClass == "T" || pageClass == "HT") ? '病房退药单' : '病房汇总领药单(' + $("#pageClassSearch").find("option:selected").text() + ')';
-    $(".title").text(flag == 0?title+"(重打)":title);
+    $(".title").text(flag == 0 ? title + "(重打)" : title);
     $(".groupName").text(groupNo == 71 ? '门诊西药房' : '住院药房');
     let w_code = $("#wardCode").find("option:selected").text();
     $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("(")));
@@ -1107,9 +1133,9 @@ function printCyCount(flag) {
     $(".pageNo").text($("#pageNoSearch").val());
     $(".printDate").html(format(new Date(), "yyyy-MM-dd HH:mm"));
     $('.sjh').remove();
-    for (var i = 0; i < datas.length; ) {
+    for (var i = 0; i < datas.length;) {
         let data = datas[i];
-        if(i === 0){
+        if (i === 0) {
             $(".inpatientNo").text(data.inpatientNo);
             $(".name").text(data.name);
             $(".bedNo").text(data.bedNo);
@@ -1119,20 +1145,20 @@ function printCyCount(flag) {
         html += '<td class="xtd" style="text-align: center;">' + data.specification + '</td>';
         html += '<td class="xtd" style="text-align: center;">' + data.minAmount + '</td>';
         html += '<td class="xtd" style="text-align: left;">' + '' + '</td>';
-        if(i !== datas.length-1){
-            html += '<td class="xtd" style="text-align: center;">' + datas[i+1].drugName + '</td>';
-            html += '<td class="xtd" style="text-align: center;">' + datas[i+1].specification + '</td>';
-            html += '<td class="xtd" style="text-align: center;">' + datas[i+1].minAmount + '</td>';
+        if (i !== datas.length - 1) {
+            html += '<td class="xtd" style="text-align: center;">' + datas[i + 1].drugName + '</td>';
+            html += '<td class="xtd" style="text-align: center;">' + datas[i + 1].specification + '</td>';
+            html += '<td class="xtd" style="text-align: center;">' + datas[i + 1].minAmount + '</td>';
             html += '<td class="xtd" style="text-align: left;">' + '' + '</td>';
             html += '</tr>';
         }
-        i+=2;
+        i += 2;
     }
     $("#trContent").append(html);
-    let totalContent = '共 '+datas[0].amount+' 剂,'+datas[0].orderJe+' 元/剂,院内代煎 '+datas[0].quantityDj+' 剂,'+
-        '药费总金额:'+datas[0].orderJe*datas[0].amount+',代煎费:'+datas[0].quantityDj*datas[0].orderJeDj+'。';
-    let fyfsContent = '每天 '+datas[0].cyMtjs+' 剂,'+datas[0].cyJssm+datas[0].cyJsl+'ml,煮取'+datas[0].cyZql+'ml,复煎 '+datas[0].cyFj+' 次,'+
-        '分 '+datas[0].cyFfcs+' 次,'+datas[0].fysmContent+'。';
+    let totalContent = '共 ' + datas[0].amount + ' 剂,' + datas[0].orderJe + ' 元/剂,院内代煎 ' + datas[0].quantityDj + ' 剂,' +
+        '药费总金额:' + datas[0].orderJe * datas[0].amount + ',代煎费:' + datas[0].quantityDj * datas[0].orderJeDj + '。';
+    let fyfsContent = '每天 ' + datas[0].cyMtjs + ' 剂,' + datas[0].cyJssm + datas[0].cyJsl + 'ml,煮取' + datas[0].cyZql + 'ml,复煎 ' + datas[0].cyFj + ' 次,' +
+        '分 ' + datas[0].cyFfcs + ' 次,' + datas[0].fysmContent + '。';
     $(".total").text(totalContent);
     $(".fyfs").text(fyfsContent);
     $(".doctorName").text(datas[0].doctorName);
@@ -1144,9 +1170,9 @@ function printCyCount(flag) {
  * @param flag 0:手动打印 1:保存后自动打印
  */
 function printCount(flag) {
-    if(groupNo === '81'){
+    if (groupNo === '81') {
         printCyCount(flag);
-    }else{
+    } else {
         printXyCount(flag);
     }
 }
@@ -1291,9 +1317,9 @@ function printDetailHtml(datas, flag) {
         html += '<tr class="sjh">';
         if (pageClass == "5") {
             $(".zyh").hide();
-            if(oldInpatientNo == '' || oldInpatientNo != data.inpatientNo){
+            if (oldInpatientNo == '' || oldInpatientNo != data.inpatientNo) {
                 html += '<td class="xtd" style="text-align: center;">' + data.name + '</td>';
-            }else{
+            } else {
                 html += '<td class="xtd" style="text-align: center;border:0;"></td>';
             }
         } else {
@@ -1345,7 +1371,7 @@ function printDetailHtml(datas, flag) {
             html += '<td class="xtd" style="text-align: center;">' + data.supplyName + '</td>';
             html += '<td class="xtd" style="text-align: center;">' + data.doctorNameStr + '</td>';
         }
-        html += '<td class="xtd" style="text-align: center;">' + (isEmpty(data.manuNo)?"":data.manuNo) + '</td>';
+        html += '<td class="xtd" style="text-align: center;">' + (isEmpty(data.manuNo) ? "" : data.manuNo) + '</td>';
         html += '</tr>';
         totalMoney += parseFloat(data.totalMoney);
     }
@@ -1376,12 +1402,13 @@ function printDetailHtml(datas, flag) {
  * @param isByj 是否使用摆药机
  */
 function printLabelData(flag, isByj) {
-    if(groupNo === '81'){
+    if (groupNo === '81') {
         printZyLabelData();
-    }else{
+    } else {
         printXyLabelData(flag, isByj);
     }
 }
+
 /**
  * 西药打印标签
  * @param flag 当前是否为明细栏
@@ -1434,7 +1461,7 @@ function printZyLabelData() {
     $('#zydyNameLabel').val(data.name);
     $('#bedNoLabel').val(data.bedNo);
     $('#wardLabel').val(w_code.substring(0, w_code.lastIndexOf("(")));
-    $('#dyslLabel').val(data.amount*2);
+    $('#dyslLabel').val(data.amount * 2);
     $('#dateLabel').val(format(new Date(), "MM-dd"));
     $('#zydybqModal').modal();
 }
@@ -1554,7 +1581,7 @@ function save(flag) {
     if (groupNo === '81') {
         sendZy();
     } else {
-        $("#"+(flag == 0 ? "tb_summarizing_table" : "tb_detail_table")).jqGrid("saveCell",lastrow,lastcell);//当前单元格退出编辑模式
+        $("#" + (flag == 0 ? "tb_summarizing_table" : "tb_detail_table")).jqGrid("saveCell", lastrow, lastcell);//当前单元格退出编辑模式
         sendXy(flag);
     }
 }
@@ -1567,12 +1594,13 @@ function sendZy() {
     request({
         url: '/sendZyWard',
         method: 'GET',
-        data: {pageNo: pageNo,isTy: 0}
+        data: {pageNo: pageNo, isTy: 0}
     }).then((res) => {
         successMesage(res);
         initButtonChange("#qld", 0);
     });
 }
+
 /**
  * 西药确认发药
  * @param flag
@@ -1584,7 +1612,7 @@ function sendXy(flag) {
     var arrayData = new Array();
     if (rowIds.length > 0) {
         for (var i = 0; i < rowIds.length; i++) {
-            if(obj.getRowData(rowIds[i]).fybz.indexOf('暂缓') == -1){
+            if (obj.getRowData(rowIds[i]).fybz.indexOf('暂缓') == -1) {
                 arrayData.push(obj.getRowData(rowIds[i]));
             }
         }
@@ -1641,9 +1669,9 @@ function cancelSubmit(pageNo, wardName, pageClass) {
     if (!confirm("确定要撤销【" + wardName + "】提交的(" + pageNo + ")药单吗?")) {
         return;
     }
-    if(groupNo === '81'){
+    if (groupNo === '81') {
         cancelZySubmit(pageNo)
-    }else{
+    } else {
         cancelXySubmit(pageNo, pageClass)
     }
 }
@@ -1656,7 +1684,7 @@ function cancelZySubmit(pageNo) {
     request({
         url: '/sendZyWard',
         method: 'GET',
-        data: {pageNo: pageNo,isTy: 1}
+        data: {pageNo: pageNo, isTy: 1}
     }).then((res) => {
         successMesage(res);
         initTbTable();

+ 1 - 4
src/main/resources/templates/yf/ward_prescription.html

@@ -49,8 +49,7 @@
                             </label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
                                 <select class="form-control selectpicker show-tick" data-live-search="true" required="required" multiple data-max-options="1"
-                                        title="请选择" onchange="initTbTable()"
-                                        id="wardCode">
+                                        title="请选择" id="wardCode">
                                 </select>
                             </div>
                         </div>
@@ -64,7 +63,6 @@
                                    for="pageClassSearch">类型</label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
                                 <select class="form-control selectpicker show-tick" required="required" title="请选择"
-                                        onchange="initTbTable()"
                                         id="pageClassSearch">
                                     <option value="" selected>全部</option>
                                     <option value="1">出院带药</option>
@@ -103,7 +101,6 @@
                                    for="submitFlagSearch">状态</label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
                                 <select class="form-control selectpicker show-tick" required="required" title="请选择"
-                                        onchange="initTbTable()"
                                         id="submitFlagSearch">
                                     <option value="1" selected>待发</option>
                                     <option value="2">已取消</option>