From a1e90c3da21d88f994bac9c1feb91bf40e53a44d Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 18 八月 2021 13:01:21 +0800
Subject: [PATCH] 耗材无供应商也显示,申购管理试剂库、申请履历、收藏不显示无效试剂和无供应商试剂 可显示无供应商的耗材

---
 src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java          |   10 +++++-----
 src/main/java/com/nanometer/smartlab/service/OpeApplyService.java                |    4 ++--
 src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java           |    2 +-
 src/main/java/com/nanometer/smartlab/controller/RequireMngController.java        |    4 ++--
 src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml                         |    6 ++++++
 src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml                       |   13 +++++++------
 src/main/java/com/nanometer/smartlab/api/ApiAction.java                          |    3 ++-
 src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java            |    6 ++++--
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |    4 ++--
 9 files changed, 31 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
index 73989a6..681306b 100644
--- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java
+++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -618,7 +618,8 @@
             					(String[])wareContainerCodeList.toArray(new String[0])));
 
             }
-            if(user.getSeeFlag().ordinal() == SeeFlag.MANAGE.ordinal()){
+            if(user.getSeeFlag().ordinal() == SeeFlag.MANAGE.ordinal()
+            || user.getSeeFlag().ordinal() == SeeFlag.LEADING.ordinal()){
                 map.put("containerCodeList", containerCodeList);
             }
         }
diff --git a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
index 4f4ff5c..68ddbb9 100644
--- a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
@@ -239,7 +239,7 @@
             if(selectedList!=null&&selectedList.size()>0){
                 realDataList=selectedList;
             }else {
-                realDataList=opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS, null, null,null,applyUserName);
+                realDataList=opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS, null, null,null,applyUserName,(byte)1);
 
             }
              List<String> headerList = new ArrayList<>();
@@ -501,10 +501,10 @@
                 public List<OpeApply> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
                     List<OpeApply> list = null;
                     try {
-                        int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS,null,applyUserName);
+                        int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS,null,applyUserName,(byte)1);
                         this.setRowCount(count);
                         if (count > 0) {
-                            list = opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS, first, pageSize,null,applyUserName);
+                            list = opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS, first, pageSize,null,applyUserName,(byte)1);
                             for(int i=0;i<list.size();i++){
                                 if(list.get(i).getBeforeApproveUserId()!=null&&!list.get(i).getBeforeApproveUserId().equals("")){
                                     String name=list.get(i).getApproveUserName();
@@ -630,11 +630,11 @@
                         String applyUserId = getUserId();
                         int count = 0;
                         if (StringUtils.isNotBlank(applyUserId)) {
-                            count = opeApplyService.getOpeApplyTotalCount(null, null, null, null, applyUserId, null, null,applyCode,null);
+                            count = opeApplyService.getOpeApplyTotalCount(null, null, null, null, applyUserId, null, null,applyCode,null,(byte)0);
                         }
                         this.setRowCount(count);
                         if (count > 0) {
-                            list = opeApplyService.getOpeApplyList(null, null, null, null, applyUserId, null, null, first, pageSize,applyCode,null);
+                            list = opeApplyService.getOpeApplyList(null, null, null, null, applyUserId, null, null, first, pageSize,applyCode,null,(byte)0);
                         }
                         selectedList = null;
                     } catch (Exception e) {
diff --git a/src/main/java/com/nanometer/smartlab/controller/RequireMngController.java b/src/main/java/com/nanometer/smartlab/controller/RequireMngController.java
index 895ec7b..2bf805d 100644
--- a/src/main/java/com/nanometer/smartlab/controller/RequireMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/RequireMngController.java
@@ -143,10 +143,10 @@
                 public List<OpeApply> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
                     List<OpeApply> list = null;
                     try {
-                        int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline, endDeadline, ApplyStatus.APPROVED.getKey(), null, null, null,null,null);
+                        int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline, endDeadline, ApplyStatus.APPROVED.getKey(), null, null, null,null,null,(byte)1);
                         this.setRowCount(count);
                         if (count > 0) {
-                            list = opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, ApplyStatus.APPROVED.getKey(), null, null, null, first, pageSize,null,null);
+                            list = opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, ApplyStatus.APPROVED.getKey(), null, null, null, first, pageSize,null,null,(byte)1);
                         }
                     } catch (Exception e) {
                         logger.error(e);
diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index 57e71cf..4aaf691 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -1817,7 +1817,7 @@
 					List<OpeApplyReserve> list = null;
 					SysUser loginUser = getUser();
 					String id="";
-					if(loginUser.getSeeFlag()==SeeFlag.MANAGE){
+					if(loginUser.getSeeFlag()==SeeFlag.MANAGE||loginUser.getSeeFlag() ==SeeFlag.LEADING){
 
 					}else {
 						//userName=loginUser.getName();
@@ -1925,7 +1925,7 @@
 			//map=null;
 			SysUser loginUser = getUser();
 			String id="";
-			if(loginUser.getSeeFlag()==SeeFlag.MANAGE){
+			if(loginUser.getSeeFlag()==SeeFlag.MANAGE||loginUser.getSeeFlag() == SeeFlag.LEADING){
 
 			}else {
 				//userName=loginUser.getName();
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
index 69bca39..0ef0a7f 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
@@ -174,6 +174,9 @@
       left join sys_user as fir on fir.id=oa.first_user
     left join base_meta as bm on sr.product_home = bm.id
     where oa.valid_flag = 1
+    <if test="isShow != null and isShow ==0">
+        and (ss.valid_flag = 1 or sr.type = 0)
+    </if>
     <include refid="queryWhereSql"/>
     order by oa.create_time desc
     <if test="first != null and pageSize != null">
@@ -192,6 +195,9 @@
       left join sys_user as fir on fir.id=oa.first_user
       left join base_meta as bm on sr.product_home = bm.id
       where oa.valid_flag = 1
+      <if test="isShow != null and isShow ==0">
+          and (ss.valid_flag = 1 or sr.type = 0)
+      </if>
     <include refid="queryWhereSql"/>
   </select>
 
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
index 6cb3fa6..6bef367 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
@@ -118,7 +118,7 @@
     AND f.user_id= #{user}
     WHERE f.id IS NOT NULL
     and sr.valid_flag = 1
-    and supplier.valid_flag = 1
+    and (supplier.valid_flag = 1 or sr.type = 0)
     and sr.type != 3
     <if test="cas != null and cas != ''">
       and sr.cas like concat("%", #{cas} ,"%")
@@ -150,7 +150,7 @@
     AND f.user_id = #{user}
     AND f.id IS NULL
     where sr.valid_flag = 1
-    and supplier.valid_flag = 1
+    and (supplier.valid_flag = 1 or sr.type = 0)
     and sr.type != 3
     <if test="cas != null and cas != ''">
       and sr.cas like concat("%", #{cas} ,"%")
@@ -183,6 +183,7 @@
     left join sys_supplier supplier on supplier.id = sr.supplier_id
     LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user}
     where sr.valid_flag = 1
+    and (supplier.valid_flag = 1 or sr.type = 0)
     <choose>
       <when test="favorFlag != ''">
         and f.id is not null
@@ -224,6 +225,7 @@
     left join sys_supplier supplier on supplier.id = sr.supplier_id
     LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user}
     where sr.valid_flag = 1
+    and (supplier.valid_flag = 1 or sr.type = 0)
     <choose>
       <when test="favorFlag != ''">
        and f.id is not null
@@ -254,7 +256,7 @@
     left join (select reagent_id, sum(reserve) reserve from ope_warehouse_reserve where valid_flag = 1 group by reagent_id) w on w.reagent_id = sr.id
     left join sys_supplier supplier on supplier.id = sr.supplier_id
     where sr.valid_flag = 1
-    and supplier.valid_flag = 1
+    and (supplier.valid_flag = 1 or sr.type = 0)
     <if test="cas != null and cas != ''">
       and sr.cas = #{cas}
     </if>
@@ -282,7 +284,6 @@
     left join base_meta as ss on sr.product_home = ss.id
     left join base_meta bm	on bm.id = sr.control_products
     left join (select reagent_id, sum(reserve) reserve from ope_warehouse_reserve where valid_flag = 1 group by reagent_id) w on w.reagent_id = sr.id
-
     left join sys_supplier supplier on supplier.id = sr.supplier_id
     LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user}
     where sr.valid_flag = 1
@@ -300,7 +301,7 @@
     left join sys_supplier supplier on supplier.id = sr.supplier_id
     LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user}
     where sr.valid_flag = 1
-    and supplier.valid_flag = 1
+    and (supplier.valid_flag = 1 or sr.type = 0)
     <if test="cas != null and cas != ''">
       and sr.cas like concat("%", #{cas} ,"%")
     </if>
@@ -320,7 +321,7 @@
     from sys_reagent as sr
     LEFT JOIN sys_supplier ss on ss.id = sr.supplier_id
     where sr.valid_flag = 1
-    and ss.valid_flag = 1
+    and (ss.valid_flag = 1 or sr.type = 0)
     <if test="cas != null and cas != ''">
         and sr.cas = #{cas}
     </if>
diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
index b773749..c041ebf 100644
--- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
@@ -1009,7 +1009,7 @@
         }else{
           sysUser = sysUserDao.getSysUser(userID);
           // 如果是管理员也可以开柜
-          if(sysUser.getSeeFlag() == SeeFlag.MANAGE){
+          if(sysUser.getSeeFlag() == SeeFlag.MANAGE||sysUser.getSeeFlag() == SeeFlag.LEADING){
         	  return "1";
           } else {
 	          // 不可以打开柜子
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java
index e5e23d3..d25e31e 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java
@@ -17,12 +17,12 @@
 
     public List<OpeApply> getOpeApplyList(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status,
                                           String applyUserId, String approveUserId, String queryCas,
-                                          Integer first, Integer pageSize,String applyCode,String applyUserName);
+                                          Integer first, Integer pageSize,String applyCode,String applyUserName,Byte isShow);
     public List<OpeApply> getOpeApplyListForApproval(String applyUserName,String approvaUserName,String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status,
                                           String applyUserId, String approveUserId, String queryCas,
                                           Integer first, Integer pageSize,String applyCode,String searchApproval);
     public int getOpeApplyTotalCount(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status,
-                                     String applyUserId, String approveUserId, String queryCas,String applyCode,String applyUserName);
+                                     String applyUserId, String approveUserId, String queryCas,String applyCode,String applyUserName,Byte isShow);
     public int getOpeApplyTotalCountForApproval(String applyUserName,String approvaUserName,String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status,
                                      String applyUserId, String approveUserId, String queryCas,String applyCode,String searchApproval);
     public OpeApply getOpeApply(String id);
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
index c1c1861..b1aa118 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
@@ -71,7 +71,7 @@
     @Transactional(propagation = Propagation.REQUIRED)
     public List<OpeApply> getOpeApplyList(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status,
                                           String applyUserId, String approveUserId, String queryCas,
-                                          Integer first, Integer pageSize,String applyCode,String applyUserName) {
+                                          Integer first, Integer pageSize,String applyCode,String applyUserName,Byte isShow) {
         try {
             Map<String, Object> params = new HashMap<String, Object>();
             if (StringUtils.isNotBlank(reagentName)) {
@@ -80,6 +80,7 @@
             params.put("startDeadline", startDeadline);
             params.put("endDeadline", endDeadline);
             params.put("status", status);
+            params.put("isShow", isShow);
 
             if (StringUtils.isNotBlank(applyUserId)) {
     			SysUser sysUser = sysUserService.getSysUser(applyUserId);
@@ -192,7 +193,7 @@
 
     @Transactional(propagation = Propagation.REQUIRED)
     public int getOpeApplyTotalCount(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status,
-                                     String applyUserId, String approveUserId, String queryCas,String applyCode,String applyUserName) {
+                                     String applyUserId, String approveUserId, String queryCas,String applyCode,String applyUserName,Byte isShow) {
         try {
             Map<String, Object> params = new HashMap<String, Object>();
             if (StringUtils.isNotBlank(reagentName)) {
@@ -201,6 +202,7 @@
             params.put("startDeadline", startDeadline);
             params.put("endDeadline", endDeadline);
             params.put("status", status);
+            params.put("isShow", isShow);
 
     		if (StringUtils.isNotBlank(applyUserId)) {
     			SysUser sysUser = sysUserService.getSysUser(applyUserId);

--
Gitblit v1.9.2