浏览代码

入库验收只查询汇总

WANGJIALIANG 2 年之前
父节点
当前提交
2c182d44c4

+ 3 - 4
src/main/java/cn/hnthyy/thmz/controller/yk/YpInDetlController.java

@@ -18,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -199,14 +198,14 @@ public class YpInDetlController {
                 resultMap.put("message", "查询记录详细信息失败,参数为空");
                 return resultMap;
             }
-            List<YpInDetlVo> ypInDetlVos = ypInDetlService.queryYpInDetlDetailed(ypInDetlVo);
+            /*List<YpInDetlVo> ypInDetlVos = ypInDetlService.queryYpInDetlDetailed(ypInDetlVo);
             List<List<YpInDetlVo>> ypInDetlVoGroupList = new ArrayList<>();
             ypInDetlVos.stream().collect(Collectors.groupingBy(YpInDetlVo::getSupplyCode, Collectors.toList())).forEach((model, list) -> {
                 ypInDetlVoGroupList.add(list);
-            });
+            });*/
             List<Map<String,Object>> maps = ypInDetlService.queryYpInDetlAccSum(ypInDetlVo);
             HashMap<Object, Object> map = new HashMap<>();
-            map.put("ypInDetlVoGroupList",ypInDetlVoGroupList);
+            /*map.put("ypInDetlVoGroupList",ypInDetlVoGroupList);*/
             map.put("ypInDetlMaps",maps);
             resultMap.put("data", map);
             resultMap.put("code", 0);

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

@@ -859,6 +859,8 @@ public class YfWardPrescriptionServiceImpl implements YfWardPrescriptionService
                 yfWardVo.setInstruction(yzActOrder.getInstruction());
                 String ypUnitName = mzPharmacyMapper.selectYpUnitName(yzActOrder.getDoseUnit());
                 yfWardVo.setDoseUnit(ypUnitName);
+                ZdUnitCode zdUnitCode = zdUnitCodeMapper.selectByCode(yfWardVo.getWardCode());
+                yfWardVo.setWardName(zdUnitCode.getName());
                 String dosage;
                 if (yzActOrder.getDoseUnit().equals(yzActOrder.getDrugVolUnit())) {
                     dosage = yzActOrder.getDose() / yzActOrder.getDrugVolume() + "";

+ 3 - 2
src/main/resources/static/js/yf/ward_prescription.js

@@ -1509,8 +1509,9 @@ function printLabel(datas, isMx) {
             for (let j = 0; j < tableDatas.length; j++) {
                 if (tableDatas[j].fybz.indexOf("发药") != -1 && tableDatas[j].chargeCode == data.chargeCode
                     && tableDatas[j].serial == data.serial && (tableDatas[j].occTime == data.occTime || isMx == 0)) {
-                    let w_code = $("#wardCode").find("option:selected").text();
-                    $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("(")));
+                    /*let w_code = $("#wardCode").find("option:selected").text();
+                    $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("(")));*/
+                    $(".wardName").text(data.wardName);
                     $(".inpatientNo").text($.trim(data.inpatientNo));
                     $(".bedNo").text($.trim(data.bedNo));
                     $(".name").text($.trim(data.name));

+ 68 - 124
src/main/resources/static/js/yk/in_storage_acc_sum.js

@@ -48,6 +48,8 @@ $(function () {
  * 获取入库单数据,生成数据表格
  */
 function getInStorageData() {
+    $('#YWaitDialog').css('top', $('.xtd').offset().top);
+    $('#YWaitDialog').show();
     let rePortRangeArr = getRePortRangeArr();
     let temp = {
         beginTime: rePortRangeArr[0],
@@ -61,10 +63,9 @@ function getInStorageData() {
         method: 'POST',
         data: JSON.stringify(temp)
     }).then((res) => {
+        $('#YWaitDialog').hide();
         successMesage(res);
-        if (res.data.ypInDetlVoGroupList.length > 0) {
-            setGridPrintDate(res.data);
-        }
+        setGridPrintDate(res.data);
     });
 }
 
@@ -73,131 +74,77 @@ function getInStorageData() {
  */
 function setGridPrintDate(data) {
     console.log(data);
-    let now = format(new Date(), "yyyy-MM-dd HH:mm");
+    let now = format(new Date(), "yy/MM/dd");
     let groupName = getGroupName(groupNo);
     $('.sjh').remove();
-    let html = '';
+    $('.groupName').text(groupName);
+    $('.supplyName').text($('#supplyNameSearch').val());
+    $('.dateRange').text($('#reportrange span').html());
+    $('.printDate').text(now);
     let sum_html = '';
-    for (let j = 0; j < data.ypInDetlVoGroupList.length; j++) {
-        let ypInDetls = data.ypInDetlVoGroupList[j];
-        html+='<div class="qbtj_table"><table class="table table-striped" style="margin-top: 0px;border: transparent !important;">\n' +
-            '                        <tr style="font-weight: 700;background-color: #EBEBE4;height: 70px;">\n' +
-            '                            <td colspan="13" style="font-size: 21px;text-align: center;border: transparent !important;"><span class="title">泰和医院入库验收单</span></td>\n' +
-            '                        </tr>' +
-            '<tr style="font-weight: 700;background-color: #EBEBE4">\n' +
-            '                            <td colspan="2" style="text-align: left;border: transparent !important;">库房:'+groupName+'</td>\n' +
-            '                            <td colspan="4" style="text-align: left;border: transparent !important;">供货单位:'+ypInDetls[0]['supplyName']+'</td>\n' +
-            '                            <td colspan="4" style="text-align: left;border: transparent !important;">日期范围:'+$('#reportrange span').html()+'</td>\n' +
-            '                            <td colspan="3" style="text-align: left;border: transparent !important;">打印日期:'+now+'</td>\n' +
-            '                        </tr>' +
-            '<tr>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 100px;">单号</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 80px;">药品编码/<br>药品批号</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 120px;">药品名称</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 120px;">生产厂家</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 60px;">入库数量</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 100px;">规格</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 40px;">剂型</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 120px;">批准文号</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 60px;">复核人</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 60px;">购入价</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 60px;">购入金额</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 80px;">入库日期/<br>有效期</td>\n' +
-            '                            <td class="xtd" style="text-align: center;width: 60px;">验收结果/<br>验收人</td>\n' +
-            '                        </tr>';
-        for (let i = 0; i < ypInDetls.length; i++) {
-            let d = ypInDetls[i];
-            html += '<tr class="sjh">';
-            if (i > 0 && d['inDocuNo'] === ypInDetls[i - 1]['inDocuNo']) {
-                html += '<td class="xtd" style="text-align: center;"></td>';
-            } else {
-                html += '<td class="xtd" style="text-align: center;">' + d['inDocuNo'] + '</td>';
+    let ypType = '';
+    let buyMoneyMin = 0;
+    let packMoneyMin = 0;
+    let buyMoneyMax = 0;
+    let packMoneyMax = 0;
+    for (let j = 0; j < data.ypInDetlMaps.length; j++) {
+        let ypInDetlMap = data.ypInDetlMaps[j];
+        if (ypType === ypInDetlMap['ypType']) {
+            buyMoneyMin += ypInDetlMap['buyMoney'];
+            packMoneyMin += ypInDetlMap['packMoney'];
+            sum_html += sumHtmlAfter(ypInDetlMap);
+        } else {
+            if (sum_html !== '') {
+                sum_html += sumHtmlCountAfter(buyMoneyMin, packMoneyMin);
+                buyMoneyMax += buyMoneyMin;
+                packMoneyMax += packMoneyMin;
+                buyMoneyMin = 0;
+                packMoneyMin = 0;
             }
-            html += '<td class="xtd" style="text-align: center;">' + d['chargeCode'] + '<br>/' + d['manuNo'] + '</td>';
-            html += '<td class="xtd" style="text-align: left;">' + d['drugName'] + '</td>';
-            html += '<td class="xtd" style="text-align: left;">' + (isEmpty(d['manufactoryName'])?'-':d['manufactoryName']) + '</td>';
-            html += '<td class="xtd" style="text-align: center;">' + d['buyAmt'] + '</td>';
-            html += '<td class="xtd" style="text-align: left;">' + d['specification'] + '</td>';
-            html += '<td class="xtd" style="text-align: center;">' + d['dosageName'] + '</td>';
-            html += '<td class="xtd" style="text-align: left;">' + (isEmpty(d['licenseNo'])?'-':d['licenseNo']) + '</td>';
-            html += '<td class="xtd" style="text-align: center;">' + d['confirmName'] + '</td>';
-            html += '<td class="xtd" style="text-align: center;">' + d['buyPrice'] + '</td>';
-            html += '<td class="xtd" style="text-align: center;">' + (d['buyPrice'] * d['buyAmt']).toFixed(2) + '</td>';
-            html += '<td class="xtd" style="text-align: center;">' + format(d['confirmDate'], "yyyy-MM-dd") + '<br>/' + format(d['effDate'], "yyyy-MM-dd") + '</td>';
-            html += '<td class="xtd" style="text-align: center;">' + (d['hgFlag'] === '1' ? '合格' : '不合格') + '<br>/' + d['acceptName'] + '</td>';
-            html += '</tr>';
-        }
-        if((j+1) == data.ypInDetlVoGroupList.length){
-            html += '<tr>\n' +
-                '                            <td colspan="4" class="xtd" style="text-align: center;">分类</td>\n' +
-                '                            <td colspan="3" class="xtd" style="text-align: center;">购入金额</td>\n' +
-                '                            <td colspan="3" class="xtd" style="text-align: center;">零售金额</td>\n' +
-                '                            <td colspan="3" class="xtd" style="text-align: center;">差额</td>\n' +
-                '                        </tr>';
-            let ypType = '';
-            let buyMoneyMin = 0;
-            let packMoneyMin = 0;
-            let buyMoneyMax = 0;
-            let packMoneyMax = 0;
-            for (let j = 0; j < data.ypInDetlMaps.length; j++) {
-                let ypInDetlMap = data.ypInDetlMaps[j];
-                if (ypType === ypInDetlMap['ypType']) {
-                    buyMoneyMin += ypInDetlMap['buyMoney'];
-                    packMoneyMin += ypInDetlMap['packMoney'];
-                    sum_html += sumHtmlAfter(ypInDetlMap);
-                } else {
-                    if (sum_html !== '') {
-                        sum_html += sumHtmlCountAfter(buyMoneyMin, packMoneyMin);
-                        buyMoneyMax += buyMoneyMin;
-                        packMoneyMax += packMoneyMin;
-                        buyMoneyMin = 0;
-                        packMoneyMin = 0;
-                    }
-                    if (data.ypInDetlMaps.length - 1 === j) {
-                        ypType = ypInDetlMap['ypType'];
-                        sum_html += '<tr class="sjh"><td colspan="13" class="xtd" style="text-align: left;font-weight: bold;">' + getYpTypeName(ypType) + '(汇总)</td></tr>';
-                        buyMoneyMin += ypInDetlMap['buyMoney'];
-                        packMoneyMin += ypInDetlMap['packMoney'];
-                        buyMoneyMax += buyMoneyMin;
-                        packMoneyMax += packMoneyMin;
-                        sum_html += sumHtmlAfter(ypInDetlMap);
-                        sum_html += sumHtmlCountAfter(buyMoneyMin, packMoneyMin);
-                        sum_html += '<tr class="sjh">';
-                        sum_html += '<td colspan="4" class="xtd" style="text-align: center;font-weight: bold;">合计</td>';
-                        sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + buyMoneyMax.toFixed(2);
-                        sum_html += '</td>';
-                        sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + packMoneyMax.toFixed(2);
-                        sum_html += '</td>';
-                        sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + (packMoneyMax - buyMoneyMax).toFixed(2);
-                        sum_html += '</td>';
-                        sum_html += '</tr>';
-                    } else {
-                        ypType = ypInDetlMap['ypType'];
-                        sum_html += '<tr class="sjh"><td colspan="13" class="xtd" style="text-align: left;font-weight: bold;">' + getYpTypeName(ypType) + '(汇总)</td></tr>';
-                        sum_html += sumHtmlAfter(ypInDetlMap);
-                        buyMoneyMin += ypInDetlMap['buyMoney'];
-                        packMoneyMin += ypInDetlMap['packMoney'];
-                    }
-                }
+            if (data.ypInDetlMaps.length - 1 === j) {
+                ypType = ypInDetlMap['ypType'];
+                sum_html += '<tr class="sjh"><td colspan="4" class="xtd" style="text-align: left;font-weight: bold;">' + getYpTypeName(ypType) + '(汇总)</td></tr>';
+                buyMoneyMin += ypInDetlMap['buyMoney'];
+                packMoneyMin += ypInDetlMap['packMoney'];
+                buyMoneyMax += buyMoneyMin;
+                packMoneyMax += packMoneyMin;
+                sum_html += sumHtmlAfter(ypInDetlMap);
+                sum_html += sumHtmlCountAfter(buyMoneyMin, packMoneyMin);
+                sum_html += '<tr class="sjh">';
+                sum_html += '<td class="xtd" style="text-align: center;font-weight: bold;">合计</td>';
+                sum_html += '<td class="xtd" style="text-align: right;">' + buyMoneyMax.toFixed(2);
+                sum_html += '</td>';
+                sum_html += '<td class="xtd" style="text-align: right;">' + packMoneyMax.toFixed(2);
+                sum_html += '</td>';
+                sum_html += '<td class="xtd" style="text-align: right;">' + (packMoneyMax - buyMoneyMax).toFixed(2);
+                sum_html += '</td>';
+                sum_html += '</tr>';
+            } else {
+                ypType = ypInDetlMap['ypType'];
+                sum_html += '<tr class="sjh"><td colspan="4" class="xtd" style="text-align: left;font-weight: bold;">' + getYpTypeName(ypType) + '(汇总)</td></tr>';
+                sum_html += sumHtmlAfter(ypInDetlMap);
+                buyMoneyMin += ypInDetlMap['buyMoney'];
+                packMoneyMin += ypInDetlMap['packMoney'];
             }
-            html+=sum_html;
-        }else {
-            html += '</table></div>';
         }
     }
-    $("#report_table").html(html);
+    sum_html += '<tr class="sjh"><td colspan="4" style="border: transparent !important;">&nbsp;</td></tr><tr class="sjh">\n' +
+        '                            <td colspan="2" style="text-align: left;border: transparent !important;">采购员:</td>\n' +
+        '                            <td colspan="2" style="text-align: left;border: transparent !important;">药剂科主任:</td>\n' +
+        '                        </tr>';
+    $("#sum_tr").after(sum_html);
 }
 
 function sumHtmlAfter(ypInDetlMap) {
     let sum_html = '';
     sum_html += '<tr class="sjh">';
-    sum_html += '<td colspan="4" class="xtd" style="text-align: left;">' + ypInDetlMap['name'];
+    sum_html += '<td class="xtd" style="text-align: left;">' + ypInDetlMap['name'];
     sum_html += '</td>';
-    sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + ypInDetlMap['buyMoney'];
+    sum_html += '<td class="xtd" style="text-align: right;">' + ypInDetlMap['buyMoney'];
     sum_html += '</td>';
-    sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + ypInDetlMap['packMoney'];
+    sum_html += '<td class="xtd" style="text-align: right;">' + ypInDetlMap['packMoney'];
     sum_html += '</td>';
-    sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + (ypInDetlMap['packMoney'] - ypInDetlMap['buyMoney']).toFixed(2);
+    sum_html += '<td class="xtd" style="text-align: right;">' + (ypInDetlMap['packMoney'] - ypInDetlMap['buyMoney']).toFixed(2);
     sum_html += '</td>';
     sum_html += '</tr>';
     return sum_html;
@@ -206,12 +153,12 @@ function sumHtmlAfter(ypInDetlMap) {
 function sumHtmlCountAfter(buyMoneyMin, packMoneyMin) {
     let sum_html = '';
     sum_html += '<tr class="sjh">';
-    sum_html += '<td colspan="4" class="xtd" style="text-align: left;font-weight: bold;">合计</td>';
-    sum_html += '<td colspan="3" class="xtd" style="text-align: left;">' + buyMoneyMin.toFixed(2);
+    sum_html += '<td class="xtd" style="text-align: left;font-weight: bold;">合计</td>';
+    sum_html += '<td class="xtd" style="text-align: left;">' + buyMoneyMin.toFixed(2);
     sum_html += '</td>';
-    sum_html += '<td colspan="3" class="xtd" style="text-align: left;">' + packMoneyMin.toFixed(2);
+    sum_html += '<td class="xtd" style="text-align: left;">' + packMoneyMin.toFixed(2);
     sum_html += '</td>';
-    sum_html += '<td colspan="3" class="xtd" style="text-align: left;">' + (packMoneyMin - buyMoneyMin).toFixed(2);
+    sum_html += '<td class="xtd" style="text-align: left;">' + (packMoneyMin - buyMoneyMin).toFixed(2);
     sum_html += '</td>';
     sum_html += '</tr>';
     return sum_html;
@@ -270,18 +217,15 @@ function cleanParams() {
 function print() {
     setDefaultPrint();
     LODOP = getLodop();
-    LODOP.PRINT_INITA(6, 0, "210mm", "297mm", "泰和医院入库验收单");
-    LODOP.SET_PRINT_PAGESIZE(2, "210mm", "297mm", "A4");
+    LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");
+    LODOP.PRINT_INITA(6, 0, "221mm", "93mm", "泰和医院入库验收单");
+    LODOP.SET_PRINT_PAGESIZE(1, "221mm", "93mm", "");
     //设置默认打印机
     LODOP.SET_PRINTER_INDEX(defaultPrintIndex);
-    LODOP.ADD_PRINT_TEXT('195mm', '140mm', '40mm', '40mm', '第#页/共&页');
     LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
     var strStyle = "<style>table,td,th {border-width: 1px;" +
         "border-style: solid;border-collapse: collapse;table-layout:fixed;word-wrap:break-word;font-size: 14px}</style>";
-    for (let i = 0; i < $(".qbtj_table").length; i++) {
-        LODOP.ADD_PRINT_HTM("2mm", "4mm", "RightMargin:4mm", "BottomMargin:15mm", strStyle + $(".qbtj_table")[i].innerHTML);
-        LODOP.NewPageA();
-    }
+    LODOP.ADD_PRINT_HTM("2mm", "4mm", "RightMargin:4mm", "BottomMargin:15mm", strStyle + document.getElementById("report_div").innerHTML);
     LODOP.PRINT();
     //LODOP.PREVIEW();
 }

+ 11 - 27
src/main/resources/templates/yk/in_storage_acc_sum.html

@@ -64,39 +64,23 @@
             <div id="report_div"
                  style="width:1300px;height: calc(100% - 160px);margin:0 auto;border: 1px solid #337ab7;font-size: 14px;padding: 40px 10px 40px 10px;overflow: scroll">
                 <div id="report_table">
-                    <!--<table id="qbtj_table" class="table table-striped" style="margin-top: 0px;border: transparent !important;">
+                    <table id="qbtj_table" class="table table-striped" style="margin-top: 0px;border: transparent !important;">
                         <tr style="font-weight: 700;background-color: #EBEBE4;height: 70px;">
-                            <td colspan="14" style="font-size: 21px;text-align: center;border: transparent !important;"><span class="title">泰和医院入库验收单</span></td>
+                            <td colspan="4" style="font-size: 21px;text-align: center;border: transparent !important;"><span class="title">泰和医院入库验收统计单</span></td>
                         </tr>
                         <tr style="font-weight: 700;background-color: #EBEBE4">
-                            <td colspan="2" style="text-align: left;border: transparent !important;">库房:<span class="groupName"></span></td>
-                            <td colspan="4" style="text-align: left;border: transparent !important;">供货单位:<span class="supplyName"></span></td>
-                            <td colspan="4" style="text-align: left;border: transparent !important;">日期范围:<span class="dateRange"></span></td>
-                            <td colspan="4" style="text-align: left;border: transparent !important;">打印日期:<span class="printDate"></span></td>
-                        </tr>
-                        <tr id="base_tr">
-                            <td class="xtd" style="text-align: center;width: 100px;">单号</td>
-                            <td class="xtd" style="text-align: center;width: 80px;">药品编码/<br>药品批号</td>
-                            <td class="xtd" style="text-align: center;width: 120px;">药品名称</td>
-                            <td class="xtd" style="text-align: center;width: 120px;">生产厂家</td>
-                            <td class="xtd" style="text-align: center;width: 60px;">入库数量</td>
-                            <td class="xtd" style="text-align: center;width: 100px;">规格</td>
-                            <td class="xtd" style="text-align: center;width: 40px;">剂型</td>
-                            <td class="xtd" style="text-align: center;width: 120px;">批准文号</td>
-                            <td class="xtd" style="text-align: center;width: 60px;">外观情况</td>
-                            <td class="xtd" style="text-align: center;width: 60px;">复核人</td>
-                            <td class="xtd" style="text-align: center;width: 60px;">购入价</td>
-                            <td class="xtd" style="text-align: center;width: 60px;">购入金额</td>
-                            <td class="xtd" style="text-align: center;width: 80px;">入库日期/<br>有效期</td>
-                            <td class="xtd" style="text-align: center;width: 60px;">验收结果/<br>验收人</td>
+                            <td style="text-align: left;border: transparent !important;">库房:<span class="groupName"></span></td>
+                            <td style="text-align: left;border: transparent !important;">供货单位:<span class="supplyName"></span></td>
+                            <td style="text-align: left;border: transparent !important;">日期范围:<span class="dateRange"></span></td>
+                            <td style="text-align: right;border: transparent !important;"><span class="printDate"></span></td>
                         </tr>
                         <tr id="sum_tr">
-                            <td colspan="4" class="xtd" style="text-align: center;">分类</td>
-                            <td colspan="3" class="xtd" style="text-align: center;">购入金额</td>
-                            <td colspan="3" class="xtd" style="text-align: center;">零售金额</td>
-                            <td colspan="3" class="xtd" style="text-align: center;">差额</td>
+                            <td class="xtd" style="text-align: center;width: 15%">分类</td>
+                            <td class="xtd" style="text-align: center;width: 35%">购入金额</td>
+                            <td class="xtd" style="text-align: center;width: 30%">零售金额</td>
+                            <td class="xtd" style="text-align: center;width: 15%">差额</td>
                         </tr>
-                    </table>-->
+                    </table>
                 </div>
             </div>
         </div>