瀏覽代碼

门诊中药兼容

WANGJIALIANG 3 年之前
父節點
當前提交
5c60e3e672

+ 44 - 2
src/main/java/cn/hnthyy/thmz/controller/mz/MzPharmacyController.java

@@ -7,6 +7,7 @@ import cn.hnthyy.thmz.entity.MzException;
 import cn.hnthyy.thmz.entity.his.mz.*;
 import cn.hnthyy.thmz.entity.his.yp.YpBaseYf;
 import cn.hnthyy.thmz.entity.his.yp.YpZdDict;
+import cn.hnthyy.thmz.entity.his.zd.ZdCommon;
 import cn.hnthyy.thmz.entity.his.zd.ZdUnitCode;
 import cn.hnthyy.thmz.entity.thmz.DispensingWindows;
 import cn.hnthyy.thmz.entity.thmz.RadSendRecord;
@@ -17,6 +18,7 @@ import cn.hnthyy.thmz.service.his.mz.*;
 import cn.hnthyy.thmz.service.his.yp.YpBaseYfService;
 import cn.hnthyy.thmz.service.his.yp.YpZdDictService;
 import cn.hnthyy.thmz.service.his.yp.YpZdManufactoryService;
+import cn.hnthyy.thmz.service.his.zd.MzYshZdFysmService;
 import cn.hnthyy.thmz.service.his.zd.ZdUnitCodeService;
 import cn.hnthyy.thmz.service.thmz.DispensingSocketService;
 import cn.hnthyy.thmz.service.thmz.DispensingWindowsService;
@@ -65,6 +67,8 @@ public class MzPharmacyController {
     private YpBaseYfService ypBaseYfService;
     @Autowired
     private MzBlRecordService mzBlRecordService;
+    @Autowired
+    private MzYshZdFysmService mzYshZdFysmService;
     /**
      * 查询处方信息
      *
@@ -629,12 +633,24 @@ public class MzPharmacyController {
             BigDecimal totalPrice = new BigDecimal("0");//总价
             List<Map<String, Object>> list = new ArrayList<>();
             for (int i = 0; i < mzChargeDetails.size(); i++) {
+                Map<String, Object> map = new HashMap<>();
                 MzChargeDetail chargeDetail =  mzChargeDetails.get(i);
                 if(i == 0){
                     String warnDeptName = zdUnitCodeService.queryDeptNameByIdInCache(chargeDetail.getWarnDept());
                     printMap.put("warnDeptName", warnDeptName);//科室
+                    if(StringUtils.isNotBlank(chargeDetail.getCyDj())){
+                        MzZdSupplyType mzZdSupplyType = mzZdSupplyTypeService.selectMzZdSupplyTypeByCode(chargeDetail.getCyDj());
+                        if(null != mzZdSupplyType){
+                            map.put("cyDj",mzZdSupplyType.getPrintName());
+                        }else{
+                            map.put("cyDj",chargeDetail.getCyDj());
+                        }
+                    }
+                    if(null != chargeDetail.getCyFysm()){
+                        ZdCommon zdCommon = mzYshZdFysmService.queryMzYshZdFysmByCode(chargeDetail.getCyFysm());
+                        map.put("cyFysm",zdCommon.getName());
+                    }
                 }
-                Map<String, Object> map = new HashMap<>();
                 totalPrice = totalPrice.add(chargeDetail.getUnitPrice().multiply(BigDecimal.valueOf(chargeDetail.getQuantity())));
                 map.put("quantity", chargeDetail.getQuantity());//数量
                 map.put("drugQuan", chargeDetail.getDrugQuan());//一次剂量
@@ -644,6 +660,13 @@ public class MzPharmacyController {
                 map.put("instructionText", chargeDetail.getInstructionText());//嘱托说明
                 map.put("tryResult", chargeDetail.getTryResult());//皮试结果
                 map.put("tryFlag", chargeDetail.getTryFlag());//是否需要皮试
+                map.put("drugWin", chargeDetail.getDrugWin());
+                map.put("cyMtjs", chargeDetail.getCyMtjs());
+                map.put("cyJsl", chargeDetail.getCyJsl());
+                map.put("cyZql", chargeDetail.getCyZql());
+                map.put("cyFj", chargeDetail.getCyFj());
+                map.put("cyFfcs", chargeDetail.getCyFfcs());
+                map.put("cyJssm", chargeDetail.getCyJssm());
                 YpZdDict ypZdDict = ypZdDictService.queryYpZdDictByCodeAndSerial(chargeDetail.getChargeItemCode(), chargeDetail.getSerial());
                 map.put("ybZfFlag",chargeDetail.getYbZfFlag());//皮试自备
                 map.put("drugName", ypZdDict.getName());//药品名称
@@ -731,12 +754,24 @@ public class MzPharmacyController {
                 BigDecimal totalPrice = new BigDecimal("0");//总价
                 List<Map<String, Object>> list = new ArrayList<>();
                 for (int i = 0; i < mzChargeDetails.size(); i++) {
+                    Map<String, Object> map = new HashMap<>();
                     MzChargeDetail chargeDetail =  mzChargeDetails.get(i);
                     if(i == 0){
                         String warnDeptName = zdUnitCodeService.queryDeptNameByIdInCache(chargeDetail.getWarnDept());
                         printMap.put("warnDeptName", warnDeptName);//科室
+                        if(StringUtils.isNotBlank(chargeDetail.getCyDj())){
+                            MzZdSupplyType mzZdSupplyType = mzZdSupplyTypeService.selectMzZdSupplyTypeByCode(chargeDetail.getCyDj());
+                            if(null != mzZdSupplyType){
+                                map.put("cyDj",mzZdSupplyType.getPrintName());
+                            }else{
+                                map.put("cyDj",chargeDetail.getCyDj());
+                            }
+                        }
+                        if(null != chargeDetail.getCyFysm()){
+                            ZdCommon zdCommon = mzYshZdFysmService.queryMzYshZdFysmByCode(chargeDetail.getCyFysm());
+                            map.put("cyFysm",zdCommon.getName());
+                        }
                     }
-                    Map<String, Object> map = new HashMap<>();
                     totalPrice = totalPrice.add(chargeDetail.getUnitPrice().multiply(BigDecimal.valueOf(chargeDetail.getQuantity())));
                     map.put("quantity", chargeDetail.getQuantity());//数量
                     map.put("drugQuan", chargeDetail.getDrugQuan());//一次剂量
@@ -746,6 +781,13 @@ public class MzPharmacyController {
                     map.put("instructionText", chargeDetail.getInstructionText());//嘱托说明
                     map.put("tryResult", chargeDetail.getTryResult());//皮试结果
                     map.put("tryFlag", chargeDetail.getTryFlag());//是否需要皮试
+                    map.put("drugWin", chargeDetail.getDrugWin());
+                    map.put("cyMtjs", chargeDetail.getCyMtjs());
+                    map.put("cyJsl", chargeDetail.getCyJsl());
+                    map.put("cyZql", chargeDetail.getCyZql());
+                    map.put("cyFj", chargeDetail.getCyFj());
+                    map.put("cyFfcs", chargeDetail.getCyFfcs());
+                    map.put("cyJssm", chargeDetail.getCyJssm());
                     YpZdDict ypZdDict = ypZdDictService.queryYpZdDictByCodeAndSerial(chargeDetail.getChargeItemCode(), chargeDetail.getSerial());
                     map.put("ybZfFlag",chargeDetail.getYbZfFlag());//皮试自备
                     map.put("drugName", ypZdDict.getName());//药品名称

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

@@ -934,8 +934,9 @@ public interface MzChargeDetailMapper {
     @Select({"<script>" +
             "SELECT c.patient_id,c.times,c.receipt_no,c.order_no,c.real_no,c.bill_item_code," +
             "c.group_no,c.charge_item_code,c.serial,c.warn_dept,c.price_time,c.doctor_code,c.confirm_id," +
-            "c.quantity,c.drug_quan,c.frequency,c.charge_item_code,c.drug_unit,c.supply_code,c.doctor_code,c.unit_price,c.yb_zf_flag,c.jz_flag,instruction_text,try_result,try_flag,  " +
-            " (case when y.class_code = '210100' then 1 else 0 end ) as is_hide,c.print_flag" +
+            "c.quantity,c.drug_quan,c.frequency,c.charge_item_code,c.drug_unit,c.supply_code,c.doctor_code," +
+            "c.unit_price,c.yb_zf_flag,c.jz_flag,instruction_text,try_result,try_flag,  " +
+            " (case when y.class_code = '210100' then 1 else 0 end ) as is_hide,c.print_flag,c.drug_win,cy_jssm,cy_mtjs,cy_jsl,cy_zql,cy_fj,cy_ffcs,cy_fysm,rtrim(cy_dj)cy_dj" +
             "    FROM mz_charge_detail c WITH(NOLOCK) ,yp_zd_dict y WITH(NOLOCK) " +
             " where  1=1 " +
             " and c.charge_item_code = y.code and c.serial = y.serial" +

+ 1 - 1
src/main/java/cn/hnthyy/thmz/mapper/his/zd/MzYshZdFysmMapper.java

@@ -21,7 +21,7 @@ public interface MzYshZdFysmMapper {
      * @return
      */
     @Select("SELECT  mz_ysh_zd_fysm.code ,mz_ysh_zd_fysm.name   FROM mz_ysh_zd_fysm  where code=#{code}")
-    ZdCommon selectMzYshZdFysmByCode(@Param("code") String code);
+    ZdCommon selectMzYshZdFysmByCode(@Param("code") Integer code);
 
 
 }

+ 7 - 0
src/main/java/cn/hnthyy/thmz/service/his/zd/MzYshZdFysmService.java

@@ -10,4 +10,11 @@ public interface MzYshZdFysmService {
      * @return
      */
     List<ZdCommon> queryAllMzYshZdFysm();
+
+    /**
+     * 查询中药服用说明
+     * @param code
+     * @return
+     */
+    ZdCommon queryMzYshZdFysmByCode(Integer code);
 }

+ 5 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/zd/MzYshZdFysmServiceImpl.java

@@ -16,4 +16,9 @@ public class MzYshZdFysmServiceImpl implements MzYshZdFysmService {
     public List<ZdCommon> queryAllMzYshZdFysm() {
         return mzYshZdFysmMapper.selectAllMzYshZdFysm();
     }
+
+    @Override
+    public ZdCommon queryMzYshZdFysmByCode(Integer code) {
+        return mzYshZdFysmMapper.selectMzYshZdFysmByCode(code);
+    }
 }

+ 2 - 0
src/main/java/cn/hnthyy/thmz/vo/MzSendMedicineVo.java

@@ -123,4 +123,6 @@ public class MzSendMedicineVo implements Serializable {
     private String tryFlag;
     //1:自备药
     private String paySelf;
+    //剂量  中药时是副数
+    private Integer drugWin;
 }

+ 16 - 0
src/main/resources/static/js/common/pharmacy-com.js

@@ -795,3 +795,19 @@ function isEmpty(obj) {
         return false;
     }
 }
+/**
+ * 根据编码获取性别
+ * @param code
+ * @returns {string}
+ */
+function getSex(code) {
+    var sex = '';
+    if (code == 1) {
+        sex = '男';
+    } else if (code == 2) {
+        sex = '女';
+    } else {
+        sex = '未知';
+    }
+    return sex
+}

+ 0 - 17
src/main/resources/static/js/index.js

@@ -278,21 +278,4 @@ function getBirthSlot(birthDay,nowDate) {
         age = age.substring(0,age.indexOf('岁')+1);
     }
     return age;
-}
-
-/**
- * 根据编码获取性别
- * @param code
- * @returns {string}
- */
-function getSex(code) {
-    var sex = '';
-    if (code == 1) {
-        sex = '男';
-    } else if (code == 2) {
-        sex = '女';
-    } else {
-        sex = '未知';
-    }
-    return sex
 }

+ 2 - 1
src/main/resources/templates/fy_config.html

@@ -29,8 +29,9 @@
                         <div class="col-md-2 col-sm-2 col-xs-12">
                             <select class="form-control selectpicker show-tick" required="required" id="groupNo" >
                                 <option value="71">门诊西药房</option>
-                                <option value="91">医材药房</option>
+                                <option value="81">门诊中药房</option>
                                 <option value="73">住院药房</option>
+                                <option value="91">医材药房</option>
                             </select>
                         </div>
                         <label class="control-label col-md-1 col-sm-1 col-xs-12" for="groupYk">当前库房

+ 3 - 3
src/main/resources/templates/mz/west_pharmacy_dispensing.html

@@ -82,7 +82,7 @@
         </div>
         <!--打印处方html-->
         <div id="report_table" class="in"
-             style="display: none;width:550px;height: 700px;margin:0 auto;border: 1px solid #337ab7;font-size: 16px;padding: 40px 20px 40px 20px;overflow-y: auto; overflow-x:hidden;">
+             style="display:none;width:550px;height: 700px;margin:0 auto;border: 1px solid #337ab7;font-size: 16px;padding: 40px 20px 40px 20px;overflow-y: auto; overflow-x:hidden;">
             <div id="print_view" style="position: relative;">
                 <div id="report_table_1">
                     <h3 style="margin-left: 160px;">泰和医院处方笺</h3>
@@ -130,8 +130,8 @@
                             <input style="margin-bottom: 5px;font-size: 14px;border-top: 0px;border-left: 0px;border-right: 0px;border-bottom: 1px solid;width: 250px;background-color: white;color: black;"
                                    disabled value="" id="address"/>
                             <span style="margin-bottom: 5px;margin-left: 5px;font-size: 14px;">日期:</span>
-                            <input style="margin-bottom: 5px;font-size: 14px;border-top: 0px;border-left: 0px;border-right: 0px;border-bottom: 1px solid;width: 117px;background-color: white;color: black;" disabled value="" id="priceTime"/>
-                            <br/>
+                            <input style="margin-bottom: 5px;font-size: 14px;border-top: 0px;border-left: 0px;border-right: 0px;border-bottom: 1px solid;width: 117px;background-color: white;color: black;" disabled value="" id="priceTime"/><br/>
+                            <span style="font-weight: bold;font-size: 25px;">Rp</span>
                         </form>
                     </div>
                     <div id="div_yp">

+ 105 - 4
src/main/resources/templates/mz/west_pharmacy_send.html

@@ -8,7 +8,7 @@
 <script src="/thmz/js/common/socket-com.js"></script>
 <script src="/thmz/js/mz/west_pharmacy_send.js"></script>
 <script src="/thmz/js/dependent/LodopFuncs.js"></script>
-<title>门诊西药房发退药</title>
+<title>门诊药房发退药</title>
 <!-- 打印的样式-->
 <style media="print">
     @page {
@@ -116,7 +116,7 @@
             <div id="tb_table_div">
                 <table id="tb_table"></table>
                 <div id="report_table" class="in"
-                     style="display: none;width:850px;height: 500px;margin:0 auto;border: 1px solid #337ab7;font-size: 16px;padding: 40px 20px 40px 20px;overflow-y: auto; overflow-x:hidden;">
+                     style="display:none;width:850px;height: 500px;margin:0 auto;border: 1px solid #337ab7;font-size: 16px;padding: 40px 20px 40px 20px;overflow-y: auto; overflow-x:hidden;">
                     <!--注射单打印开始-->
                     <div id="print_view_zsd" style="position: relative;">
                         <div id="report_table_1">
@@ -224,7 +224,6 @@
                             <br/>
                             <span style="margin-bottom:3px;">性&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;别:</span>
                             <input style="margin-bottom:3px;border: 0px;width: 60px;background-color: white;color: black;"
-
                                    disabled value="" id="ypbq_sex"/>
                             <span style="margin-bottom:3px;margin-left: 5px;">年龄:</span>
                             <input style="margin-bottom:3px;border: 0px;width: 90px;background-color: white;color: black;"
@@ -261,6 +260,32 @@
                         </form>
                     </div>
                     <!--药品标签打印结束-->
+                    <!--中药药品标签打印开始-->
+                    <div id="print_view_zybq">
+                        <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                            <span style="font-size:16px;font-weight: 700;" id="zybq_title"></span>
+                        </span>
+                        <form style="font-size: 14px;margin-bottom: 5px;">
+                            <span>姓名:</span>
+                            <input  type="text" id="zyypbq_name"
+                            style="background-color: white;color: black;width: 50px;border: 0px;"/>
+                            <span>性别:</span>
+                            <input  type="text" id="zyypbq_sex"
+                            style="background-color: white;color: black;width: 30px;border: 0px;"/>
+                            <br/>
+                            <span>年龄:</span>
+                            <input  type="text" id="zyypbq_age"
+                            style="background-color: white;color: black;width: 30px;border: 0px;"/>
+                            <span>日期:</span>
+                            <input  type="text" id="zyypbq_date"
+                            style="background-color: white;color: black;width: 80px;border: 0px;"/>
+                            <br/>
+                            <span>用法用量:</span>
+                            <span id="zyypbq_comm"
+                                  style="width: 100px;"></span>
+                        </form>
+                    </div>
+                    <!--中药药品标签打印结束-->
                     <!--放射科发药打印开始-->
                     <div id="print_view_fsk" style="position: relative;">
                         <span style="text-align:center;font-size:18px;font-weight: 700;display:block;margin-bottom: 20px">放射科发药记录单</span>
@@ -384,7 +409,6 @@
                                     <input id="nameLabel" class="form-control optional" type="text"
                                            style="border-style: none;box-shadow: 0px 0px 0px 0px;color: red;">
                                 </div>
-
                                 <label class="control-label col-md-1 col-sm-1 col-xs-12" for="patientIdLabel">病人ID:
                                 </label>
                                 <div class="col-md-2 col-sm-2 col-xs-12">
@@ -447,6 +471,83 @@
     </div>
 </div>
 <!--处方详细弹窗结尾-->
+<!--中药标签打印弹窗开始-->
+<div class="modal fade bs-example-modal-sm in" tabindex="-1" role="dialog" aria-hidden="true" id="zydybqModal">
+    <div class="modal-dialog modal-sm">
+        <div class="modal-content" style="width: 500px;margin-left: -160px;">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
+                </button>
+                <h4 class="modal-title modal-title-thmz">标签打印设置</h4>
+            </div>
+            <div class="modal-body">
+                <div class="row">
+                    <div class="col-md-12 col-sm-12 col-xs-12">
+                        <form id="zydybqform" class="form-horizontal" autocomplete="off">
+                            <div class="form-group">
+                                <label class="control-label col-md-2 col-sm-2 col-xs-12" for="zydyNameLabel">姓名:
+                                </label>
+                                <div class="col-md-3 col-sm-3 col-xs-12">
+                                    <input id="zydyNameLabel" class="form-control optional" type="text"
+                                           style="border-style: none;box-shadow: 0px 0px 0px 0px;color: red;">
+                                </div>
+                                <label class="control-label col-md-3 col-sm-3 col-xs-12" for="sexLabel">性别:
+                                </label>
+                                <div class="col-md-3 col-sm-3 col-xs-12">
+                                    <input id="sexLabel" class="form-control optional" type="text"
+                                           style="border-style: none;box-shadow: 0px 0px 0px 0px;">
+                                </div>
+                            </div>
+
+                            <div class="form-group">
+                                <label class="control-label col-md-2 col-sm-2 col-xs-12" for="ageLabel">年龄:
+                                </label>
+                                <div class="col-md-3 col-sm-3 col-xs-12">
+                                    <input id="ageLabel" class="form-control optional" type="text"
+                                           style="border-style: none;box-shadow: 0px 0px 0px 0px;">
+                                </div>
+                                <label class="control-label col-md-3 col-sm-3 col-xs-12" for="dateLabel">日期:
+                                </label>
+                                <div class="col-md-3 col-sm-3 col-xs-12">
+                                    <input id="dateLabel" class="form-control optional" type="text"
+                                           style="border-style: none;box-shadow: 0px 0px 0px 0px;">
+                                </div>
+                            </div>
+                            <div class="form-group">
+                                <label class="control-label col-md-2 col-sm-2 col-xs-12" for="yfLabel">用法:
+                                </label>
+                                <div class="col-md-9 col-sm-9 col-xs-12">
+                                    <input id="yfLabel" class="form-control optional" type="text">
+                                </div>
+                            </div>
+                            <div class="form-group">
+                                <label class="control-label col-md-2 col-sm-2 col-xs-12" for="syfsLabel">使用方式:
+                                </label>
+                                <div class="col-md-3 col-sm-3 col-xs-12">
+                                    <select class="form-control selectpicker show-tick" required="required" title="请选择"
+                                            id="syfsLabel">
+                                        <option value="0" selected>口服</option>
+                                        <option value="1">外用</option>
+                                    </select>
+                                </div>
+                                <label class="control-label col-md-3 col-sm-3 col-xs-12" for="yfLabel">打印张数:
+                                </label>
+                                <div class="col-md-3 col-sm-3 col-xs-12">
+                                    <input id="dyslLabel" class="form-control optional" type="number">
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-primary" id="printSend">打印</button>
+                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--处方详细弹窗结尾-->
 
 
 <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>