From c3510da29a7974c6af7ff3de1ade3db429d6f848 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 18 八月 2021 14:27:59 +0800
Subject: [PATCH] 申购管理申请履历显示所有历史单据,提交时如有无效试剂耗材报错

---
 src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java |  158 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 106 insertions(+), 52 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
index aa4e293..a9b6d0b 100644
--- a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
@@ -5,6 +5,8 @@
 import com.nanometer.smartlab.entity.SysReagent;
 import com.nanometer.smartlab.entity.SysUser;
 import com.nanometer.smartlab.entity.enumtype.ApplyStatus;
+import com.nanometer.smartlab.entity.enumtype.ValidFlag;
+import com.nanometer.smartlab.exception.BusinessException;
 import com.nanometer.smartlab.service.*;
 import com.nanometer.smartlab.util.Constants;
 import com.nanometer.smartlab.util.FacesUtils;
@@ -15,7 +17,9 @@
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.primefaces.context.RequestContext;
+import org.primefaces.event.FileUploadEvent;
 import org.primefaces.event.SelectEvent;
+import org.primefaces.event.TabChangeEvent;
 import org.primefaces.model.LazyDataModel;
 import org.primefaces.model.SortOrder;
 import org.springframework.context.annotation.Scope;
@@ -77,6 +81,8 @@
     private String applyNewCas;
     private String applyNewSn;
     private SysReagent selectReagent;
+    private int tabValue;
+    private boolean isFlush = false;
 
 
 
@@ -88,6 +94,7 @@
     public void setSelectReagent(SysReagent selectReagent) {
         try {
             sysUserService.updateUserFavor(selectReagent, getUser());
+            this.isFlush = true;
         } catch (Exception e) {
             e.printStackTrace();
             FacesUtils.warn(e.getMessage());
@@ -233,7 +240,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<>();
@@ -293,6 +300,22 @@
         }
 
     }
+
+
+    public void uploadApply(FileUploadEvent event){
+        try {
+            opeApplyService.importApply(event, getUser());
+            FacesUtils.info("导入成功");
+        } catch (BusinessException e) {
+            FacesUtils.warn(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            FacesUtils.warn("导入失败,请联系管理员");
+        }
+
+    }
+
+
     public  HSSFWorkbook exportExcelNew(List<String> headerList, List<OpeApply> dataList) {
         HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
 
@@ -417,6 +440,19 @@
         }
     }
 
+    public void onTabChange(TabChangeEvent event) {
+        if ("reagent".equals(event.getTab().getId())) {
+            tabValue = 0;
+            if (isFlush){
+                RequestContext.getCurrentInstance().execute("document.querySelector('.reagentSearch').click()");
+                isFlush = false;
+            }
+        }else if ("applyHistory".equals(event.getTab().getId())){
+            tabValue = 1;
+        }else{
+            tabValue = 2;
+        }
+    }
     public void onReagentNewBtnClick() {
         this.sysReagent = new SysReagent();
     }
@@ -466,10 +502,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();
@@ -484,22 +520,23 @@
                     } catch (Exception e) {
                         logger.error(e);
                     }
+                    selectedList = null;
                     return list;
                 }
 
                 @Override
                 public OpeApply getRowData(String rowKey) {
-                    Iterator<OpeApply> iterator = this.iterator();
-                    if (iterator != null) {
-                        OpeApply oa = null;
-                        while (iterator.hasNext()) {
-                            oa = iterator.next();
-                            if (rowKey.equals(oa.getId())) {
-                                return oa;
-                            }
-                        }
-                    }
-                    return null;
+//                    Iterator<OpeApply> iterator = this.iterator();
+//                    if (iterator != null) {
+//                        OpeApply oa = null;
+//                        while (iterator.hasNext()) {
+//                            oa = iterator.next();
+//                            if (rowKey.equals(oa.getId())) {
+//                                return oa;
+//                            }
+//                        }
+//                    }
+                    return opeApplyService.getOpeApply(rowKey);
                 }
             };
         }
@@ -514,10 +551,10 @@
                 public List<SysReagent> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
                     List<SysReagent> list = null;
                     try {
-                        int count = sysReagentService.favorCount(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn, 0);
+                        int count = sysReagentService.reagentCount(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn);
                         this.setRowCount(count);
                         if (count > 0) {
-                            list = sysReagentService.favorList(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn, 0, first, pageSize);
+                            list = sysReagentService.reagentList(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn, first, pageSize,count);
                         }
                     } catch (Exception e) {
                         logger.error(e);
@@ -527,17 +564,17 @@
 
                 @Override
                 public SysReagent getRowData(String rowKey) {
-                    Iterator<SysReagent> iterator = this.iterator();
-                    if (iterator != null) {
-                        SysReagent sr = null;
-                        while (iterator.hasNext()) {
-                            sr = iterator.next();
-                            if (rowKey.equals(sr.getId())) {
-                                return sr;
-                            }
-                        }
-                    }
-                    return null;
+//                    Iterator<SysReagent> iterator = this.iterator();
+//                    if (iterator != null) {
+//                        SysReagent sr = null;
+//                        while (iterator.hasNext()) {
+//                            sr = iterator.next();
+//                            if (rowKey.equals(sr.getId())) {
+//                                return sr;
+//                            }
+//                        }
+//                    }
+                    return sysReagentService.getRowData(rowKey);
                 }
             };
         }
@@ -566,17 +603,17 @@
 
                 @Override
                 public SysReagent getRowData(String rowKey) {
-                    Iterator<SysReagent> iterator = this.iterator();
-                    if (iterator != null) {
-                        SysReagent sr = null;
-                        while (iterator.hasNext()) {
-                            sr = iterator.next();
-                            if (rowKey.equals(sr.getId())) {
-                                return sr;
-                            }
-                        }
-                    }
-                    return null;
+//                    Iterator<SysReagent> iterator = this.iterator();
+//                    if (iterator != null) {
+//                        SysReagent sr = null;
+//                        while (iterator.hasNext()) {
+//                            sr = iterator.next();
+//                            if (rowKey.equals(sr.getId())) {
+//                                return sr;
+//                            }
+//                        }
+//                    }
+                    return sysReagentService.getRowData(rowKey);
                 }
             };
         }
@@ -594,12 +631,13 @@
                         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)1);
                         }
                         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)1);
                         }
+                        selectedList = null;
                     } catch (Exception e) {
                         logger.error(e);
                     }
@@ -608,17 +646,17 @@
 
                 @Override
                 public OpeApply getRowData(String rowKey) {
-                    Iterator<OpeApply> iterator = this.iterator();
-                    if (iterator != null) {
-                        OpeApply oa = null;
-                        while (iterator.hasNext()) {
-                            oa = iterator.next();
-                            if (rowKey.equals(oa.getId())) {
-                                return oa;
-                            }
-                        }
-                    }
-                    return null;
+//                    Iterator<OpeApply> iterator = this.iterator();
+//                    if (iterator != null) {
+//                        OpeApply oa = null;
+//                        while (iterator.hasNext()) {
+//                            oa = iterator.next();
+//                            if (rowKey.equals(oa.getId())) {
+//                                return oa;
+//                            }
+//                        }
+//                    }
+                    return opeApplyService.getOpeApply(rowKey);
                 }
             };
         }
@@ -706,7 +744,17 @@
             //申请一个申购编号
             String applyCode = this.sysSequenceService.getApplyCode();
             for (OpeApply opeApply : this.applyNewList) {
-
+                if (opeApply.getReagent().getValidFlag() == null
+                        ||opeApply.getReagent().getValidFlag().equals(ValidFlag.INVALID)){
+                    FacesUtils.warn(opeApply.getReagent().getName()+",该试剂已删除,请选择其他试剂");
+                    return;
+                }
+                if (opeApply.getReagent().getType() == 1
+                        && (opeApply.getReagent().getSupplierFlag() == null
+                        || opeApply.getReagent().getSupplierFlag().equals(ValidFlag.INVALID))){
+                    FacesUtils.warn(opeApply.getReagent().getName()+",该试剂供应商已删除,请选择其他试剂");
+                    return;
+                }
                 opeApply.setId(IDUtils.uuid());
                 opeApply.setApplyCode(applyCode);
                 opeApply.setApplyUserId(applyUser.getId());
@@ -949,5 +997,11 @@
     }
 
 
+    public int getTabValue() {
+        return tabValue;
+    }
 
+    public void setTabValue(int tabValue) {
+        this.tabValue = tabValue;
+    }
 }

--
Gitblit v1.9.2