Browse Source

特殊标志维护增加货位号,优化排队

WANGJIALIANG 3 years ago
parent
commit
3f623c5cc8

+ 5 - 3
src/main/java/cn/hnthyy/thmz/controller/yf/YfSpecialMarkController.java

@@ -66,9 +66,11 @@ public class YfSpecialMarkController {
             }
             List<YpZdBaseYfSpecialVo> ypZdBaseYfSpecialVos = yfSpecialMarkService.queryYpSpecialMark(groupNo, searchText);
             ypZdBaseYfSpecialVos.forEach(ypZdBaseYfSpecialVo ->{
-                List<YpZdClass> ypZdClasses = ypZdClassService.queryYpZdClassesByCode(ypZdBaseYfSpecialVo.getClassCode());
-                if(ypZdClasses.size() > 0){
-                    ypZdBaseYfSpecialVo.setClassName(ypZdClasses.get(0).getName());
+                if(StringUtils.isNotBlank(ypZdBaseYfSpecialVo.getClassCode())){
+                    List<YpZdClass> ypZdClasses = ypZdClassService.queryYpZdClassesByCode(ypZdBaseYfSpecialVo.getClassCode());
+                    if(ypZdClasses.size() > 0){
+                        ypZdBaseYfSpecialVo.setClassName(ypZdClasses.get(0).getName());
+                    }
                 }
             });
             resultMap.put("code", 0);

+ 30 - 17
src/main/java/cn/hnthyy/thmz/mapper/his/yp/YpBaseYfMapper.java

@@ -16,15 +16,15 @@ import java.util.List;
 public interface YpBaseYfMapper {
     /**
      * 减虚拟库存
+     *
      * @return
      */
     @Update("update yp_base_yf set stock_amount_virtual =stock_amount_virtual - #{amountVirtual,jdbcType=DECIMAL} where charge_code =#{chargeCode,jdbcType=CHAR} and serial =#{serial,jdbcType=CHAR} and group_no =#{groupNo,jdbcType=CHAR} ")
     int updateStockAmountVirtual(@Param("chargeCode") String chargeCode, @Param("serial") String serial, @Param("groupNo") String groupNo, @Param("amountVirtual") BigDecimal amountVirtual);
 
-
-
     /**
      * 增加虚拟库存
+     *
      * @return
      */
     @Update("update yp_base_yf set stock_amount_virtual =stock_amount_virtual + #{amountVirtual,jdbcType=DECIMAL} where charge_code =#{chargeCode,jdbcType=CHAR} and serial =#{serial,jdbcType=CHAR} and group_no =#{groupNo,jdbcType=CHAR} ")
@@ -32,6 +32,7 @@ public interface YpBaseYfMapper {
 
     /**
      * 平虚库存
+     *
      * @return
      */
     @Update("update yp_base_yf set stock_amount_virtual =stock_amount where charge_code =#{chargeCode,jdbcType=CHAR} and serial =#{serial,jdbcType=CHAR} and group_no =#{groupNo,jdbcType=CHAR} ")
@@ -39,16 +40,20 @@ public interface YpBaseYfMapper {
 
     /**
      * 更新药房库存信息
+     *
      * @return
      */
     @Update({"<script>",
             "update yp_base_yf ",
             "<trim prefix='set' prefixOverrides=',' suffix=' where charge_code = #{chargeCode} and serial=#{serial} and group_no=#{groupNo} ' >",
             "<when test='groupNo!=null'>",
-            "group_no =#{groupNo,jdbcType=VARCHAR}",
+            ",group_no =#{groupNo,jdbcType=VARCHAR}",
+            "</when>",
+            "<when test='location!=null'>",
+            ",location =#{location,jdbcType=VARCHAR}",
             "</when>",
             "<when test='maxStockAmount!=null'>",
-            "max_stock_amount =#{maxStockAmount,jdbcType=FLOAT}",
+            ",max_stock_amount =#{maxStockAmount,jdbcType=FLOAT}",
             "</when>",
             "<when test='miniStockAmount!=null'>",
             ",mini_stock_amount =#{miniStockAmount,jdbcType=FLOAT}",
@@ -80,6 +85,7 @@ public interface YpBaseYfMapper {
 
     /**
      * 查询药房库存信息
+     *
      * @param chargeCode
      * @param serial
      * @param groupNo
@@ -87,25 +93,27 @@ public interface YpBaseYfMapper {
      */
     @Select({"<script>",
             "select charge_code,serial,stock_amount,stock_value,group_no,location,visible_flag_mz,visible_flag_zy," +
-            "       visible_flag_stop,stock_amount_virtual,stock_amount_virtual2,open_virtual2 " +
-            "from yp_base_yf WITH(NOLOCK) where charge_code=#{chargeCode} and serial=#{serial} and group_no=#{groupNo} ",
+                    "       visible_flag_stop,stock_amount_virtual,stock_amount_virtual2,open_virtual2 " +
+                    "from yp_base_yf WITH(NOLOCK) where charge_code=#{chargeCode} and serial=#{serial} and group_no=#{groupNo} ",
             "<when test='visibleFlagMz!=null'>",
             " and visible_flag_mz =#{visibleFlagMz}",
             "</when>",
             "</script>"})
-    YpBaseYf selectYpBaseYf(@Param("chargeCode") String chargeCode, @Param("serial") String serial,@Param("groupNo") String groupNo,@Param("visibleFlagMz") String visibleFlagMz);
+    YpBaseYf selectYpBaseYf(@Param("chargeCode") String chargeCode, @Param("serial") String serial, @Param("groupNo") String groupNo, @Param("visibleFlagMz") String visibleFlagMz);
 
     /**
      * 查询药品药房最大拆零比例
+     *
      * @param chargeCode
      * @param groupNo
      * @return
      */
     @Select("select split_percent = isnull(max(split_percent),0) from  yp_base_yf WITH(NOLOCK) where group_no = #{groupNo} and  charge_code =#{chargeCode}  group by charge_code,group_no")
-    Double selectSplitPercent(@Param("chargeCode") String chargeCode,@Param("groupNo") String groupNo);
+    Double selectSplitPercent(@Param("chargeCode") String chargeCode, @Param("groupNo") String groupNo);
 
     /**
      * 新药品入库
+     *
      * @param ypBaseYf
      * @return
      */
@@ -114,7 +122,8 @@ public interface YpBaseYfMapper {
     int insertYpBaseYf(YpBaseYf ypBaseYf);
 
     /**
-     *  更新库存
+     * 更新库存
+     *
      * @param chargeCode
      * @param serial
      * @param groupNo
@@ -126,7 +135,8 @@ public interface YpBaseYfMapper {
     int updateStockAmount(@Param("chargeCode") String chargeCode, @Param("serial") String serial, @Param("groupNo") String groupNo, @Param("stockAmount") Double stockAmount, @Param("stockValue") BigDecimal stockValue);
 
     /**
-     *  模糊查询药品信息
+     * 模糊查询药品信息
+     *
      * @param searchText
      * @param groupNo
      * @return
@@ -149,11 +159,12 @@ public interface YpBaseYfMapper {
             "          a.charge_code like '${searchText}%' or" +
             "          b.name like '${searchText}%') and" +
             "          a.group_no = #{groupNo} and " +
-            "          a.stock_amount > 0" )
+            "          a.stock_amount > 0")
     List<YpBaseYfVo> selectYpBaseYfLike(@Param("searchText") String searchText, @Param("groupNo") String groupNo);
 
     /**
-     *  根据编码查询药房药品信息
+     * 根据编码查询药房药品信息
+     *
      * @param chargeCode
      * @return
      */
@@ -171,11 +182,12 @@ public interface YpBaseYfMapper {
             "   WHERE ( a.serial = b.serial )  and" +
             "          a.charge_code = b.code  and" +
             "          a.charge_code = #{chargeCode} and" +
-            "          a.group_no = #{groupNo}" )
-    List<YpBaseYfVo> selectYpByChargeCodeAndGroupNo(@Param("chargeCode") String chargeCode,@Param("groupNo") String groupNo);
+            "          a.group_no = #{groupNo}")
+    List<YpBaseYfVo> selectYpByChargeCodeAndGroupNo(@Param("chargeCode") String chargeCode, @Param("groupNo") String groupNo);
 
     /**
      * 查询盘点药品信息
+     *
      * @param groupNo
      * @param infusionFlag
      * @return
@@ -201,11 +213,12 @@ public interface YpBaseYfMapper {
             "    a.manu_code = m.code and" +
             "    b.group_no=#{groupNo} and" +
             "    isnull(a.infusion_flag,'0') like '${infusionFlag}%')ab " +
-            " where visible_flag like '${visibleFlag}%' order by location" )
-    List<YpBaseYfVo> selectYpInventoryData(@Param("groupNo") String groupNo,@Param("infusionFlag") String infusionFlag,@Param("visibleFlag") String visibleFlag);
+            " where visible_flag like '${visibleFlag}%' order by location")
+    List<YpBaseYfVo> selectYpInventoryData(@Param("groupNo") String groupNo, @Param("infusionFlag") String infusionFlag, @Param("visibleFlag") String visibleFlag);
 
     /**
      * 查询药房药品库存合计(大规格)
+     *
      * @param chargeCode
      * @param groupNo
      * @return
@@ -219,5 +232,5 @@ public interface YpBaseYfMapper {
             "where z.code=x.charge_code and" +
             "       x.charge_code=#{chargeCode} and" +
             "       x.group_no =#{groupNo}")
-    Double selectLargeStockAmount(@Param("chargeCode") String chargeCode,@Param("groupNo") String groupNo);
+    Double selectLargeStockAmount(@Param("chargeCode") String chargeCode, @Param("groupNo") String groupNo);
 }

+ 4 - 3
src/main/java/cn/hnthyy/thmz/mapper/his/yp/YpZdDictMapper.java

@@ -61,13 +61,14 @@ public interface YpZdDictMapper {
             "                a.fix_price," +
             "                a.manu_code," +
             "                a.del_flag," +
+            "                a.class_code," +
             "                a.prescription_limit_days" +
             " FROM yp_zd_dict a WITH(NOLOCK) ,yp_print_name b WITH(NOLOCK) , yp_base c WITH(NOLOCK) " +
             " where" +
-            "  (b.py_code like '${searchTextDrug}%' or a.py_code like '${searchTextDrug}%' or" +
-            "  b.d_code  like '${searchTextDrug}%'  or a.d_code  like '${searchTextDrug}%' or" +
+            "  (b.py_code like '%${searchTextDrug}%' or a.py_code like '%${searchTextDrug}%' or" +
+            "  b.d_code  like '%${searchTextDrug}%'  or a.d_code  like '%${searchTextDrug}%' or" +
             "  b.charge_code = #{searchTextDrug} or" +
-            "  b.print_name like '${searchTextDrug}%' or a.name like '${searchTextDrug}%') and" +
+            "  b.print_name like '%${searchTextDrug}%' or a.name like '%${searchTextDrug}%') and" +
             "    a.code=b.charge_code and" +
             "    a.code=c.charge_code)cc order by del_flag")
     List<YpZdDict> selectYpBySearchText(@Param("searchTextDrug") String searchTextDrug);

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

@@ -67,6 +67,7 @@ public class YfSpecialMarkServiceImpl implements YfSpecialMarkService {
                 ypZdBaseYfSpecialVo.setStockAmountVirtual2(ypBaseYf.getStockAmountVirtual2());
                 ypZdBaseYfSpecialVo.setOpenVirtual2(ypBaseYf.getOpenVirtual2());
                 ypZdBaseYfSpecialVo.setPrescriptionLimitDays(ypZdDict.getPrescriptionLimitDays());
+                ypZdBaseYfSpecialVo.setLocation(ypBaseYf.getLocation());
                 String manufactoryName = ypZdManufactoryMapper.selectYpZdManufactoryByCode(ypZdDict.getManuCode());
                 if(StringUtils.isNotBlank(manufactoryName)){
                     ypZdBaseYfSpecialVo.setManufactoryName(manufactoryName);

+ 14 - 1
src/main/resources/static/js/common/pharmacy-com.js

@@ -389,11 +389,13 @@ function readcardRequest(config) {
                     resolve(JSON.parse(res.data));
                 } else {
                     $("#showErrorModal").modal("show");
+                    hideModelTimeout('showErrorModal',3000);
                     reject(res.message)
                 }
             },
             error: err => {
                 $("#showErrorModal").modal("show");
+                hideModelTimeout('showErrorModal',3000);
                 reject(err)
             }
         });
@@ -478,4 +480,15 @@ function fullScreen(divStr) {
         }
     }
     fullscreen = !fullscreen;
-}
+}
+
+/**
+ * 定时关闭模态框
+ * @param str 模态框id
+ * @param times 毫秒数
+ */
+function hideModelTimeout(str,times){
+    setTimeout(function () {
+        $("#"+str).modal("hide");
+    },times)
+}

+ 13 - 6
src/main/resources/static/js/mz/pharmacy-cell.js

@@ -16,8 +16,6 @@ $(function () {
     };
     $("#patientId").bind("input propertychange", function () {
         if($(this).val().split("-").length === 2 && $(this).val().split("-")[1] !== ""){
-            $("#showErrorModal").modal("hide");
-            $("#showSuccessrModal").modal("hide");
             let data = {
                 patientId: $("#patientId").val()
             };
@@ -38,11 +36,13 @@ $(function () {
                     }
                     if (res.code == 0) {
                         $("#showSuccessModal").modal("show");
+                        hideModelTimeout('showSuccessModal',3000);
                         window.localStorage["lineUpList"] = JSON.stringify(res.data);
                         lineUpList = res.data;
                     } else {
                         $("#errorText").text(res.message);
                         $("#showErrorModal").modal("show");
+                        hideModelTimeout('showErrorModal',3000);
                     }
                     $("#showModal").modal("hide");
                 }
@@ -55,7 +55,7 @@ $(function () {
     });
     //进入页面就加载一次
     CurentTime();
-    fullScreen();
+    fullScreen('fulldiv');
     //每秒获取当前时间
     timeInterval = setInterval(CurentTime, 1000);
     setHeightForTable();
@@ -72,22 +72,29 @@ $(function () {
             }
         }).then((res)=>{
             console.log(res.data);
+            let data = {
+                socialNo: res.data.idNo
+            };
+            if(lineUpList){
+                data.lineUpList = lineUpList
+            }
             $.ajax({
                 type: "POST",
                 url: '/thmz/mzLineUp',
-                data: JSON.stringify({
-                    socialNo: res.data.idNo
-                }),
+                data: JSON.stringify(data),
                 contentType: "application/json;charset=UTF-8",
                 dataType: "json",
                 headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
                 success: function (res) {
                     if (res.code == 0) {
                         $("#showSuccessModal").modal("show");
+                        hideModelTimeout('showSuccessModal',3000);
                         window.localStorage["lineUpList"] = JSON.stringify(res.data);
                         lineUpList = res.data;
                     } else {
+                        $("#errorText").text("排队失败,未找到待取药的处方");
                         $("#showErrorModal").modal("show");
+                        hideModelTimeout('showErrorModal',3000);
                     }
                     $("#showModal").modal("hide");
                 }

+ 3 - 1
src/main/resources/static/js/yf/yf_special_mark.js

@@ -48,7 +48,7 @@ function initTable() {
         cellEdit: true,
         cellsubmit: "remote",
         cellurl: '/thmz/modifYpSpecialMark',
-        colNames: ['门诊停用','住院停用','库存为零','处方限制天数','编码','序号', '药品名', '库存量', '大规格(汇总)', '规格', '虚存2','启用虚存2', '3天用量', '7天用量', '14天用量','30天用量','厂家','药性分类'],
+        colNames: ['门诊停用','住院停用','库存为零','处方限制天数','编码','序号', '药品名', '库存量', '大规格(汇总)', '规格', '虚存2','启用虚存2', '3天用量', '7天用量', '14天用量','30天用量','货位号','厂家','药性分类'],
         colModel: [
             {name: 'visibleFlagMz', index: 'visibleFlagMz',align:'center',width:100,formatter : "checkbox",editable : true,edittype:'checkbox', editoptions:{value:"1:0"}},
             {name: 'visibleFlagZy', index: 'visibleFlagZy',align:'center',width:100,formatter : "checkbox",editable : true,edittype:'checkbox', editoptions:{value:"1:0"}},
@@ -70,6 +70,8 @@ function initTable() {
             {name: 'sevenDayDosage', index: 'sevenDayDosage', formatter: 'number',formatoptions:{decimalPlaces:0},align:'center',width:100},
             {name: 'fourteenDayDosage', index: 'fourteenDayDosage', formatter: 'number',formatoptions:{decimalPlaces:0},align:'center',width:100},
             {name: 'thirtyDayDosage', index: 'thirtyDayDosage', formatter: 'number',formatoptions:{decimalPlaces:0},align:'center',width:100},
+            {name: 'location', index: 'location',width:100,align:'center',editable : true,edittype:'text'
+                ,editrules: {edithidden:false}},
             {name: 'manufactoryName', index: 'manufactoryName',width:180},
             {name: 'className', index: 'className',width:100,align:'center'}
         ],

+ 6 - 6
src/main/resources/templates/mz/pharmacy-cell.html

@@ -22,7 +22,7 @@
     }
 
     #fulldiv {
-        background: url('/thmz/images/back.png');
+        background: url('/thmz/images/back.png')no-repeat;
         background-size: 100%;
         width: 100%;
         text-align: center;
@@ -58,7 +58,7 @@
                 </div>
                 <div class="col-md-9 col-sm-9 col-xs-12" style="border-bottom: 6px solid #8ADCA3;height: 100px;padding-top: 10px;">
                     <div class="col-md-6 col-sm-6 col-xs-12">
-                        <h1 class="title">自助排队终端&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</h1></div>
+                        <h1 class="title">发药排队&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</h1></div>
                     <div class="col-md-6 col-sm-6 col-xs-12">
                         <div style="text-align: right;padding-right: 50px;font-family: fantasy;">
                             <span style="font-size: 32px;" id="timeNow"></span><br>
@@ -95,8 +95,8 @@
     <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-hidden="true" id="showErrorModal">
         <div class="modal-dialog modal-lg">
             <div class="modal-content"
-                 style="width: 250px;height:50px;margin-left: 350px;margin-top: 150px;background-color: red;opacity: 0.7;">
-                <div class="modal-body">
+                 style="width: 500px;height:70px;margin-left: 230px;margin-top: 150px;background-color: red;opacity: 0.7;">
+                <div class="modal-body" style="font-size: 28px;font-weight: bold;">
                     <span id="errorText">排队失败,未找到待取药的处方</span>
                 </div>
             </div>
@@ -107,8 +107,8 @@
     <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-hidden="true" id="showSuccessModal">
         <div class="modal-dialog modal-lg">
             <div class="modal-content"
-                 style="width: 250px;height:50px;margin-left: 350px;margin-top: 150px;background-color: green;opacity: 0.7;">
-                <div class="modal-body">
+                 style="width: 500px;height:70px;margin-left: 230px;margin-top: 150px;background-color: green;opacity: 0.7;">
+                <div class="modal-body" style="font-size: 28px;font-weight: bold;">
                     <span id="successText">排队成功,请等待叫号</span>
                 </div>
             </div>