瀏覽代碼

药房上下限分页改为前端,药品筛选不限制条数,

WANGJIALIANG 2 年之前
父節點
當前提交
6d0001f7c5

+ 1 - 7
src/main/java/cn/hnthyy/thmz/controller/yf/YfDrugApplyController.java

@@ -286,16 +286,10 @@ public class YfDrugApplyController {
                 resultMap.put("message", "查询上下限失败,药房编码为空");
                 return resultMap;
             }
-            List<YpBaseBoundVo> ypBaseBoundVos = yfDrugApplyService.queryYpBaseYfBoundPage(searchText.toUpperCase(), groupNo, pageBean);
-            ypBaseBoundVos.forEach(ypBaseBoundVo -> {
-                if (StringUtils.isNotBlank(ypBaseBoundVo.getManuCode())) {
-                    ypBaseBoundVo.setManufactoryName(ypZdManufactoryService.queryYpZdManufactoryByCode(ypBaseBoundVo.getManuCode()));
-                }
-            });
+            List<YpBaseBoundVo> ypBaseBoundVos = yfDrugApplyService.queryYpBaseYfBound(searchText.toUpperCase(), groupNo);
             resultMap.put("code", 0);
             resultMap.put("message", "查询上下限成功");
             resultMap.put("data", ypBaseBoundVos);
-            resultMap.put("total", yfDrugApplyService.countYpBaseYfBound(searchText, groupNo));
             return resultMap;
         } catch (Exception e) {
             e.printStackTrace();

+ 1 - 1
src/main/java/cn/hnthyy/thmz/controller/yf/YfIncomingRecordsController.java

@@ -63,7 +63,7 @@ public class YfIncomingRecordsController {
                 return resultMap;
             }
             List<YpZdDict> list = ypZdDictService.queryYpBySearchText(searchTextDrug.toUpperCase());
-            for (int i = 0; i < list.size() && i< 30; i++) {
+            for (int i = 0; i < list.size(); i++) {
                 YpZdDict ypZdDict = list.get(i);
                 ypZdDict.setManufactoryName(ypZdManufactoryService.queryYpZdManufactoryByCode(ypZdDict.getManuCode()));
             }

+ 8 - 79
src/main/java/cn/hnthyy/thmz/mapper/his/yf/YfDrugApplyMapper.java

@@ -23,16 +23,7 @@ public interface YfDrugApplyMapper {
      * @return
      */
     @Select("<script>" +
-            "SELECT  top ${pageBean.pageSize} * from " +
-            "(SELECT  row_number() over (order by (case when b.mini_stock_amount>=max(isnull(b.stock_amount,0)) then 0 else 1 end) asc," +
-            "(case when max(isnull(b.stock_amount,0))=0 " +
-            "       or isnull(sum(case when datediff(day,confirm_time,getdate()) <![CDATA[>]]> 3 then 0 else quantity end),0)=0" +
-            "       then 0 " +
-            "       else round(max(isnull(b.stock_amount,0))/(isnull(round(sum(case when datediff(day,confirm_time,getdate()) <![CDATA[>]]> 3 then 0 else quantity end),2),0)/3),2) end) asc," +
-            "max(isnull(b.stock_amount,0)) asc," +
-            "isnull(round(sum(case" +
-            "                 when datediff(day,confirm_time,getdate()) > 3 then 0" +
-            "                 else quantity end),2),0) desc) RowNumber," +
+            "SELECT " +
             "  b.charge_code," +
             "  isnull(dd.stock_amount,0) as stock_amount_yk," +
             "  a.name," +
@@ -114,77 +105,15 @@ public interface YfDrugApplyMapper {
             "          a.pack_retprice   ," +
             "          dd.stock_amount   ," +
             "          b.location" +
-            ") as A WHERE RowNumber >#{pageBean.pageSize}*#{pageBean.pageIndex} order by RowNumber asc" +
+            " order by\n" +
+            "  (case when b.mini_stock_amount>=max(isnull(b.stock_amount,0)) then 0 else 1 end) asc,\n" +
+            "  (case when max(isnull(b.stock_amount, 0))=0 or isnull(sum(case when datediff(day, confirm_time, getdate()) > 3 then 0 else quantity end), 0)=0\n" +
+            "    then 0 else round(max(isnull(b.stock_amount, 0))/(isnull(round(sum(case when datediff(day, confirm_time, getdate()) > 3 then 0 else quantity end), 2),0)/3),2) end) asc,\n" +
+            "  max(isnull(b.stock_amount,0)) asc,\n" +
+            "  isnull(round(sum(case when datediff(day,confirm_time,getdate()) > 3 then 0 else quantity end), 2), 0) desc" +
             "</script>")
-    List<YpBaseBoundVo> selectYpBaseYfBoundPage(@Param("searchText")String searchText, @Param("groupNo") String groupNo, @Param("pageBean")PageBean pageBean);
+    List<YpBaseBoundVo> selectYpBaseYfBound(@Param("searchText")String searchText, @Param("groupNo") String groupNo);
 
-    /**
-     * 查询药房药品总条数
-     * @param searchText
-     * @param groupNo
-     * @return
-     */
-    @Select("<script>" +
-            "select count(1) " +
-            "from (SELECT b.charge_code" +
-            " FROM yp_zd_dict a WITH(NOLOCK) ,yp_base_yf b WITH(NOLOCK)," +
-            "     (select c.name,a.charge_item_code code,c.serial,a.confirm_time," +
-            "        round(sum(case when a.serial <![CDATA[<]]> c.serial then quantity*cy_fy/pack_size else quantity*cy_fy end),2) quantity" +
-            "      from yp_mz_fytj a WITH(NOLOCK)," +
-            "           (select a.name,a.code,a.serial,a.specification,a.pack_size" +
-            "            from yp_zd_dict a WITH(NOLOCK),(select code,max(serial) serial" +
-            "                               from yp_zd_dict WITH(NOLOCK) group by code) b" +
-            "            where a.code=b.code and a.serial=b.serial) c" +
-            "      where a.charge_item_code=c.code and datediff(day,confirm_time,getdate()) <![CDATA[<]]> 61 and group_no =#{groupNo}" +
-            "      group by c.name,a.charge_item_code,c.serial,a.confirm_time" +
-            "      union all" +
-            "      select" +
-            "        c.name,a.charge_code code,c.serial,a.confirm_time," +
-            "        round(sum(case when a.serial <![CDATA[<]]> c.serial then amount/pack_size else amount end),2) quantity" +
-            "      from yp_zy_patient a WITH(NOLOCK)," +
-            "           (select a.name,a.code,a.serial,a.specification,a.pack_size" +
-            "            from yp_zd_dict a WITH(NOLOCK),(select code,max(serial) serial" +
-            "                               from yp_zd_dict WITH(NOLOCK) group by code) b" +
-            "            where a.code=b.code and a.serial=b.serial) c" +
-            "      where a.charge_code=c.code and datediff(day,confirm_time,getdate()) <![CDATA[<]]> 61 and acct_sign=2 and group_no =#{groupNo}" +
-            "      group by c.name,a.charge_code,c.serial,a.confirm_time) aa," +
-            "     (select c.name,a.charge_code,c.serial," +
-            "             case when a.group_no='81' then '22' else '11' end group_no," +
-            "             round(sum(case when a.serial <![CDATA[<]]> c.serial then stock_amount/pack_size else stock_amount end),2) stock_amount" +
-            "      from yp_base_yf a WITH(NOLOCK)," +
-            "           (select a.name,a.code,a.serial,a.specification,a.pack_size" +
-            "            from yp_zd_dict a WITH(NOLOCK),(select code,max(serial) serial" +
-            "                               from yp_zd_dict WITH(NOLOCK) group by code) b" +
-            "            where a.code=b.code and a.serial=b.serial) c" +
-            "      where a.charge_code=c.code and a.group_no <![CDATA[<>]]> '91' and a.group_no =#{groupNo}" +
-            "      group by c.name,a.charge_code,c.serial,(case when a.group_no='81' then '22' else'11' end)) bb" +
-            " where   a.code=b.charge_code and" +
-            "        a.serial=b.serial and" +
-            "        b.group_no=#{groupNo} and" +
-            "        a.code*=aa.code and" +
-            "        a.serial*=aa.serial and" +
-            "        a.code*=bb.charge_code and" +
-            "        a.serial*=bb.serial and" +
-            "         (a.py_code like '${searchText}%' or" +
-            "         a.d_code like '${searchText}%' or" +
-            "         a.code like '${searchText}%' or" +
-            "         a.name like '${searchText}%') and" +
-            "        isnull(a.visible_flag,'0') <![CDATA[<>]]> '1' and" +
-            "        isnull(a.del_flag,'0') <![CDATA[<>]]> '1'" +
-            " group by  b.charge_code," +
-            "          a.name," +
-            "          b.serial," +
-            "          b.group_no," +
-            "          a.specification," +
-            "          a.drug_flag," +
-            "          a.visible_flag," +
-            "          a.manu_code," +
-            "          max_stock_amount," +
-            "          mini_stock_amount," +
-            "          a.pack_retprice   ," +
-            "          b.location) as gg" +
-            "</script>")
-    int countYpBaseYfBound(@Param("searchText")String searchText, @Param("groupNo") String groupNo);
 
     /**
      * 查询药库药品上下限信息

+ 1 - 10
src/main/java/cn/hnthyy/thmz/service/his/yf/YfDrugApplyService.java

@@ -18,16 +18,7 @@ public interface YfDrugApplyService {
      * @param groupNo
      * @return
      */
-    List<YpBaseBoundVo> queryYpBaseYfBoundPage(String searchText, String groupNo, PageBean pageBean);
-
-    /**
-     * 查询药房药品总条数
-     * @param searchText
-     * @param groupNo
-     * @return
-     */
-    int countYpBaseYfBound(String searchText, String groupNo);
-
+    List<YpBaseBoundVo> queryYpBaseYfBound(String searchText, String groupNo);
 
     /**
      * 查询药库药品上下限信息

+ 9 - 8
src/main/java/cn/hnthyy/thmz/service/impl/his/yf/YfDrugApplyServiceImpl.java

@@ -35,13 +35,14 @@ public class YfDrugApplyServiceImpl implements YfDrugApplyService {
     private YpZdDictMapper ypZdDictMapper;
 
     @Override
-    public List<YpBaseBoundVo> queryYpBaseYfBoundPage(String searchText, String groupNo, PageBean pageBean) {
-        return yfDrugApplyMapper.selectYpBaseYfBoundPage(searchText, groupNo, pageBean);
-    }
-
-    @Override
-    public int countYpBaseYfBound(String searchText, String groupNo) {
-        return yfDrugApplyMapper.countYpBaseYfBound(searchText, groupNo);
+    public List<YpBaseBoundVo> queryYpBaseYfBound(String searchText, String groupNo) {
+        List<YpBaseBoundVo> ypBaseBoundVos = yfDrugApplyMapper.selectYpBaseYfBound(searchText, groupNo);
+        ypBaseBoundVos.forEach(ypBaseBoundVo -> {
+            if (StringUtils.isNotBlank(ypBaseBoundVo.getManuCode())) {
+                ypBaseBoundVo.setManufactoryName(ypZdManufactoryMapper.selectYpZdManufactoryByCode(ypBaseBoundVo.getManuCode()));
+            }
+        });
+        return ypBaseBoundVos;
     }
 
     @Override
@@ -63,7 +64,7 @@ public class YfDrugApplyServiceImpl implements YfDrugApplyService {
             ypBaseBoundVo.setThirtyDayDosage(ypBaseBoundSum.getThirtyDayDosage());
             ypBaseBoundVo.setSixtyDayDosage(ypBaseBoundSum.getSixtyDayDosage());
             ypBaseBoundVo.setFourteenDayDosage(ypBaseBoundSum.getFourteenDayDosage());
-            ypBaseBoundVo.setAvailableDay(ypBaseBoundVo.getFourteenDayDosage()==0?0:(int)Math.floor(ypBaseBoundVo.getStockAmount()/ypBaseBoundVo.getFourteenDayDosage()));
+            ypBaseBoundVo.setAvailableDay(Double.parseDouble(ypBaseBoundVo.getSevenDayDosage()==0?"0":ypBaseBoundVo.getStockAmount()/ypBaseBoundVo.getSevenDayDosage()+""));
         });
         return ypBaseBoundVos;
     }

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

@@ -50,7 +50,7 @@ public class YfSpecialMarkServiceImpl implements YfSpecialMarkService {
     public List<YpZdBaseYfSpecialVo> queryYpSpecialMark(String groupNo, String searchText) {
         List<YpZdBaseYfSpecialVo> ypZdBaseYfSpecialVos = new ArrayList<>();
         List<YpZdDict> ypZdDicts = ypZdDictMapper.selectYpBySearchText(searchText);
-        for (int j = 0; j < ypZdDicts.size() && j < 30; j++) {
+        for (int j = 0; j < ypZdDicts.size(); j++) {
             YpZdDict ypZdDict = ypZdDicts.get(j);
             YpZdBaseYfSpecialVo ypZdBaseYfSpecialVo = new YpZdBaseYfSpecialVo();
             YpBaseYf ypBaseYf = ypBaseYfMapper.selectYpBaseYf(ypZdDict.getCode(), ypZdDict.getSerial(), groupNo,null);

+ 1 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/yp/YpZdDictServiceImpl.java

@@ -92,7 +92,7 @@ public class YpZdDictServiceImpl implements YpZdDictService {
     public List<YpZdDictVo> queryYpZdDictByLike(String searchText, String groupNo) {
         List<YpZdDict> ypZdDicts = ypZdDictMapper.selectYpZdDictByLike(searchText);
         ArrayList<YpZdDictVo> ypZdDictVos = new ArrayList<>();
-        for (int i = 0; i < ypZdDicts.size() && i < 30; i++) {
+        for (int i = 0; i < ypZdDicts.size(); i++) {
             YpZdDict yp = ypZdDicts.get(i);
             YpZdDictVo vo = new YpZdDictVo();
             BeanUtils.copyProperties(yp,vo);

+ 1 - 1
src/main/java/cn/hnthyy/thmz/vo/YpBaseBoundVo.java

@@ -52,5 +52,5 @@ public class YpBaseBoundVo {
     //60天用量
     private Double sixtyDayDosage;
     //预计可用天数
-    private Integer availableDay;
+    private Double availableDay;
 }

+ 2 - 4
src/main/resources/static/js/yf/drug_apply.js

@@ -606,12 +606,10 @@ function getYpBaseYfBound() {
         queryParams: function (params) {
             return {
                 groupNo: pharmacyGroupNo,
-                searchText: $("#drugSearchText").val(),
-                pageSize: params.limit,//页面大小
-                pageIndex: params.offset / params.limit  //页码
+                searchText: $("#drugSearchText").val()
             }
         },           //传递参数(*)
-        sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
+        sidePagination: "client",           //分页方式:client客户端分页,server服务端分页(*)
         pageNumber: 1,                       //初始化加载第一页,默认第一页
         pageSize: 10,                       //每页的记录行数(*)
         pageList: [10, 15, 25, 50, 100],        //可供选择的每页的行数(*)

+ 0 - 2
src/main/resources/templates/mz/pharmacy-cell-number.html

@@ -37,8 +37,6 @@
 <div class="row" id="fulldiv">
     <div class="col-md-12 col-sm-12 col-xs-12">
         <div class="x_panel">
-            <div class="panel-body">
-            </div>
             <div class="row" id="showDiv">
                 <div class="col-md-3 col-sm-3 col-xs-12">
                     <img src="/thmz/images/logo.png" style="object-fit: contain;width: 300px;"/>