src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -18,6 +18,7 @@
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.primefaces.context.RequestContext;
import org.primefaces.event.SelectEvent;
import org.primefaces.event.TabChangeEvent;
import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortOrder;
import org.primefaces.model.StreamedContent;
@@ -126,6 +127,7 @@
   private String reagentLogId;
   private String userName;
   private Integer tabValue = 0;
   private List<SysReagent> reagentSelectList;
   private List<String> showCodes;
@@ -436,19 +438,18 @@
         return;
      }
         ArrayList<Integer> indexs = new ArrayList<>();
      for (int i =0;i<trulySelectedList.size();i++){
         for (int j = 0; j < selectedTmpList.size(); j++) {
            if(trulySelectedList.get(i).getId().equals(selectedTmpList.get(j).getId()))
            {
               indexs.add(i);
            }
         }
      }
         ArrayList<Object> indexs = new ArrayList<>();
        for (OpeWarehouseReserve warehouseReserve : trulySelectedList) {
            for (OpeWarehouseReserve opeWarehouseReserve : selectedTmpList) {
                if (warehouseReserve.getId().equals(opeWarehouseReserve.getId())) {
                    indexs.add(warehouseReserve);
                }
            }
        }
      if (indexs.size()>0){
         indexs.forEach(index -> {
            selectedTmpList.remove(selectedTmpList.get(index));
         indexs.forEach(obj -> {
            selectedTmpList.remove(obj);
         });
      }
@@ -465,19 +466,18 @@
         return;
      }
      ArrayList<Integer> indexs = new ArrayList<>();
      for (int i =0;i<trulySelectedOrderList.size();i++){
         for (int j = 0; j < selectedTmpOrderList.size(); j++) {
            if(trulySelectedOrderList.get(i).getId().equals(selectedTmpOrderList.get(j).getId()))
            {
               indexs.add(i);
            }
         }
      }
      ArrayList<Object> indexs = new ArrayList<>();
        for (OpeApplyReserve opeApplyReserve : trulySelectedOrderList) {
            for (OpeApplyReserve applyReserve : selectedTmpOrderList) {
                if (opeApplyReserve.getId().equals(applyReserve.getId())) {
                    indexs.add(opeApplyReserve);
                }
            }
        }
      if (indexs.size()>0){
         indexs.forEach(index -> {
            selectedTmpOrderList.remove(selectedTmpOrderList.get(index));
         indexs.forEach(obj -> {
            selectedTmpOrderList.remove(obj);
         });
      }
@@ -566,7 +566,7 @@
            }
         }
         // 将当前选择条形码保存到库存中
         for (OpeApplyReserve opeApplyReserve : this.selectedListForPerson) {
         for (OpeApplyReserve opeApplyReserve : this.selectedTmpOrderList) {
            if (opeApplyReserve.getId().equals(this.selectedOpeApplyReserve.getId())) {
               OpeWarehouseReserve wa=opeWarehouseReserveService.getOpeWarehouseReserve(opeApplyReserve.getReagent().getId(),opeApplyReserve.getArticleNumber());
               if(this.useNum > wa.getReserve())
@@ -650,14 +650,18 @@
         List<String> codeList=new ArrayList<>();
         for (OpeApplyReserve opeApplyReserve : this.selectedTmpOrderList) {
            if (opeApplyReserve.getId().equals(this.selectedOpeApplyReserve.getId())) {
               OpeWarehouseReserve wa=opeWarehouseReserveService.getOpeWarehouseReserve(opeApplyReserve.getReagent().getId(),opeApplyReserve.getArticleNumber());
               if(wa==null){
                  wa=new OpeWarehouseReserve();
                  wa.setReserve(0);
               }
               if(this.useNum > wa.getReserve())
               {
                  FacesUtils.warn("库存不够,请确认或申购!");
//               OpeWarehouseReserve wa=opeWarehouseReserveService.getOpeWarehouseReserve(opeApplyReserve.getReagent().getId(),opeApplyReserve.getArticleNumber());
//               if(wa==null){
//                  wa=new OpeWarehouseReserve();
//                  wa.setReserve(0);
//               }
//               if(this.useNum > wa.getReserve())
//               {
//                  FacesUtils.warn("库存不够,请确认或申购!");
//                  return;
//               }
               if (this.useNum+opeApplyReserve.getUsed() > opeApplyReserve.getNum()){
                  FacesUtils.warn("领用数量超出申请数量!");
                  return;
               }
               opeApplyReserve.setSelectNum(useNum);
@@ -783,7 +787,7 @@
         System.out.println("====onYesBtnClick======");
         // 将当前选择条形码保存到库存中
         for (OpeWarehouseReserve opeWarehouseReserve : this.selectedList) {
         for (OpeWarehouseReserve opeWarehouseReserve : this.selectedTmpList) {
            if (opeWarehouseReserve.getId().equals(this.selectedOpeWarehouseReserve.getId())) {
               if(this.useNum > opeWarehouseReserve.getReserve())
               {
@@ -807,11 +811,23 @@
      }
   }
   public void onTabChange(TabChangeEvent event) {
      if ("firstTab".equals(event.getTab().getId())) {
         tabValue = 0;
      }else{
         tabValue = 1;
      }
   }
   public void onCancelBtnClick() {
      this.selectedTmpOrderList = null;
      this.selectedTmpList = null;
      this.menuController.backToPage();
   }
   public void onClose(){
      this.selectedTmpOrderList = null;
      this.selectedTmpList = null;
      this.menuController.backToPage();
   }
@@ -824,7 +840,7 @@
   public void onSaveBtnClickForPerson(){
      try {
         if (this.selectedListForPerson == null || this.selectedListForPerson.size() == 0) {
         if (this.selectedTmpOrderList == null || this.selectedTmpOrderList.size() == 0) {
            FacesUtils.warn("请选择申领试剂。");
            return;
         }
@@ -836,7 +852,7 @@
         List<OpeApplyReserve> list=new ArrayList<>();
         List<OpeApplyReserve> list2=new ArrayList<>();
         //int size = 0;
         for(OpeApplyReserve app:this.selectedListForPerson){
         for(OpeApplyReserve app:this.selectedTmpOrderList){
            if(app.getFlag()==1){
               list.add(app);
            }else {
@@ -1040,7 +1056,7 @@
   }
   public  void  onSaveBtnClick() {
      try {
         if (this.selectedList == null || this.selectedList.size() == 0) {
         if (this.selectedTmpList == null || this.selectedTmpList.size() == 0) {
            FacesUtils.warn("请选择申领试剂。");
            return;
         }
@@ -1065,7 +1081,7 @@
         int sum = 0;
         List<OpeWarehouseReserve> list=new ArrayList<>();
         List<OpeWarehouseReserve> list2=new ArrayList<>();
         for (OpeWarehouseReserve selectWarehouseReserve : this.selectedList) {
         for (OpeWarehouseReserve selectWarehouseReserve : this.selectedTmpList) {
            if(selectWarehouseReserve.getFlag()==1){
               list.add(selectWarehouseReserve);
            }else{
@@ -2206,4 +2222,13 @@
   public void setTrulySelectedOrderList(List<OpeApplyReserve> trulySelectedOrderList) {
      this.trulySelectedOrderList = trulySelectedOrderList;
   }
   public Integer getTabValue() {
      return tabValue;
   }
   public void setTabValue(Integer tabValue) {
      this.tabValue = tabValue;
   }
}