lyfO_o
2022-02-28 b6576a4db959d2551e343a8bb0045aa67387aacc
src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -173,6 +173,8 @@
   @Value("${institute.name}")
   String instituteName;
   private boolean isExpired;
   private Hashtable printTable;
   public Hashtable getPrintTable() {
@@ -218,6 +220,8 @@
   //private boolean flag = false;
   //领用单号
   private String receiptNumber;
   //备注
   private String note;
   // 试剂库
    private LazyDataModel<SysReagent> reagentDataModel;
   // 直接入库试剂List
@@ -394,7 +398,7 @@
         String reagentId = selectedOpeWarehouseReserve.getReagentId();
         String articleNumber = selectedOpeWarehouseReserve.getArticleNumber();
         this.setReagentStatusSelectList(opeReagentStatusService.getOpeReagentStatusList(reagentId, articleNumber,
         this.setReagentStatusSelectList(opeReagentStatusService.getOpeReagentStatusList22(reagentId, articleNumber,
               ArrivalStatus.WAREHOUSE.getKey(), reagentCode, null, null, null));
//         System.out.print("this.getReagentStatusSelectList().size(): " + this.reagentStatusSelectList.size());
@@ -413,7 +417,7 @@
         System.out.println(reagentId);
         System.out.println(articleNumber);
         System.out.println(reagentCode);
         this.setReagentStatusSelectListForPerson(opeReagentStatusService.getOpeReagentStatusList(reagentId, articleNumber,
         this.setReagentStatusSelectListForPerson(opeReagentStatusService.getOpeReagentStatusList22(reagentId, articleNumber,
               ArrivalStatus.WAREHOUSE.getKey(), reagentCode, null, null, null));
      }
@@ -424,7 +428,8 @@
      System.out.println(getUser().getSeeFlag().getKey());
      //SysUser u=sysUserService.getSysUser(getUserId());
      //System.out.println(u);
      if (getUser().getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) {
      if (getUser().getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()
            && getUser().getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) {
         editFlag=0;
      }else{
         editFlag=1;
@@ -668,7 +673,11 @@
      checkTable = null;
      //
      this.userId = selectedTmpOrderList.get(0).getApplyUser();
      SysUser sysUser = sysUserService.getSysUser(this.userId);
      if (sysUser == null){
         FacesUtils.info("申领人不存在");
         return;
      }
      this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW_PERSON, Constants.PAGE_WAREHOUSE_STOCK_MNG);
   }
@@ -1212,6 +1221,10 @@
         int sum = 0;
         List<ApplyListDto> applyList = new ArrayList<>();
         SysUser applyPersonInfo = sysUserService.getUser(userId);
         if (applyPersonInfo == null) {
            FacesUtils.warn("申领人不存在或者申领人部门被删除。");
            return;
         }
         printTable.put("head", instituteName);
         printTable.put("title", "领用单");
         printTable.put("applyPerson", applyPersonInfo.getName());
@@ -1264,7 +1277,7 @@
    */
   public void associatedFlowReceiptNumber() {
      try {
         opeUseFlowService.updateReceiptNumberByCode(selectedTmpOrderList, receiptNumber);
         opeUseFlowService.updateReceiptNumberByCode(selectedTmpOrderList, receiptNumber, note);
         //弹出打印窗口
         RequestContext.getCurrentInstance().execute("document.getElementById('indirectPrint').click()");
      } catch (Exception e) {
@@ -1280,7 +1293,7 @@
   public void associatedFlowReceiptNumber2() {
      try {
         opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber);
         opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber,note);
         //弹出打印窗口
         RequestContext.getCurrentInstance().execute("document.getElementById('indirectPrint').click()");
      } catch (Exception e) {
@@ -1292,7 +1305,7 @@
   public void closeDialog() {
      try {
         opeUseFlowService.updateReceiptNumberByCode(selectedTmpOrderList, receiptNumber);
         opeUseFlowService.updateReceiptNumberByCode(selectedTmpOrderList, receiptNumber,note);
         onCancelBtnClick();
      } catch (Exception e) {
         logger.info(e.getMessage());
@@ -1302,7 +1315,7 @@
   public void closeDialog2() {
      try {
         opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber);
         opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber,note);
         onCancelBtnClick();
      } catch (Exception e) {
         logger.info(e.getMessage());
@@ -1493,6 +1506,10 @@
         printTable = new Hashtable();
         List<ApplyListDto> applyList = new ArrayList<>();
         SysUser applyPersonInfo = sysUserService.getUser(userId);
         if (applyPersonInfo == null) {
            FacesUtils.warn("申领人不存在或者申领人部门被删除。");
            return;
         }
         printTable.put("head", instituteName);
         printTable.put("title", "领用单");
         printTable.put("applyPerson", applyPersonInfo.getName());
@@ -1518,9 +1535,36 @@
            if(selectWarehouseReserve.getFlag()==1){
               list.add(selectWarehouseReserve);
            }else{
               if (selectWarehouseReserve.getWarehouseId() == null) {
                  FacesUtils.warn("仓库不存在。");
                  return;
               }
               list2.add(selectWarehouseReserve);
            }
         }
         //list2为补贴条码,检查条码重复
         ArrayList<String> checkList = new ArrayList<>();
         if (list2.size() > 0) {
            for (OpeWarehouseReserve owr : list2) {
               checkList.addAll(owr.getReagentCodes());
            }
         }
         Set<String> checkTable = new HashSet<>();
         if (checkList.size() > 0) {
            for (String reagentCode : checkList) {
               if (checkTable.contains(reagentCode)) {
                  throw new BusinessException(ExceptionEnumCode.PARAM_EXIST, "当前订单条码重复," + reagentCode);
               } else {
                  checkTable.add(reagentCode);
               }
            }
         }
         checkTable = null;
         checkList = null;
         if(list.size()>0&&list!=null){
            for (OpeWarehouseReserve selectWarehouseReserve : list) {
               Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId());
@@ -1610,7 +1654,7 @@
               sum += list2.get(i).getSelectNum();
            }
            this.opeWarehouseReserveService.reagentDStore4(opeList,userId);
            this.opeWarehouseReserveService.reagentDStore4(opeList,userId,receiptNum);
            for(int i=0;i<list2.size();i++){
               List<String> reagentCodes = opeReagentStatusService
@@ -1659,6 +1703,10 @@
         FacesUtils.info("申领成功。");
         RequestContext.getCurrentInstance().execute("PF('printDialog').show()");
//            this.menuController.goToPage(Constants.PAGE_WAREHOUSE_STOCK_MNG, Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW);
      } catch (BusinessException e) {
         logger.error(e.getMessage(), e);
         FacesUtils.warn(e.getMessage());
      } catch (Exception e) {
         logger.error(e.getMessage(), e);
         FacesUtils.warn("操作失败。");
@@ -1741,22 +1789,23 @@
               } catch (Exception e) {
                  logger.error(e);
               }
               selectedList = null;
               return list;
            }
            @Override
            public OpeWarehouseReserve getRowData(String rowKey) {
               Iterator<OpeWarehouseReserve> iterator = this.iterator();
               if (iterator != null) {
                  OpeWarehouseReserve su = null;
                  while (iterator.hasNext()) {
                     su = iterator.next();
                     if (rowKey.equals(su.getId())) {
                        return su;
                     }
                  }
               }
               return null;
//               Iterator<OpeWarehouseReserve> iterator = this.iterator();
//               if (iterator != null) {
//                  OpeWarehouseReserve su = null;
//                  while (iterator.hasNext()) {
//                     su = iterator.next();
//                     if (rowKey.equals(su.getId())) {
//                        return su;
//                     }
//                  }
//               }
               return opeWarehouseReserveService.getRowData(rowKey);
            }
         };
      }
@@ -1774,7 +1823,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();
@@ -1782,31 +1831,32 @@
               }
               try {
                  int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id, reagentId, userName, productSn, applyCode, status, isAllApply);
                  int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id, reagentId, userName, productSn, applyCode, status, isAllApply,isExpired);
                  this.setRowCount(count);
                  if (count > 0) {
                     list = opeApplyService.getOpeApplyReserveListByNameFor(id, reagentId, userName, first,
                           pageSize, productSn, applyCode, status, isAllApply);
                           pageSize, productSn, applyCode, status, isAllApply,isExpired);
                  }
               } catch (Exception e) {
                  logger.error(e);
               }
               selectedListForPerson = null;
               return list;
            }
            @Override
            public OpeApplyReserve getRowData(String rowKey) {
               Iterator<OpeApplyReserve> iterator = this.iterator();
               if (iterator != null) {
                  OpeApplyReserve su = null;
                  while (iterator.hasNext()) {
                     su = iterator.next();
                     if (rowKey.equals(su.getId())) {
                        return su;
                     }
                  }
               }
               return null;
//               Iterator<OpeApplyReserve> iterator = this.iterator();
//               if (iterator != null) {
//                  OpeApplyReserve su = null;
//                  while (iterator.hasNext()) {
//                     su = iterator.next();
//                     if (rowKey.equals(su.getId())) {
//                        return su;
//                     }
//                  }
//               }
               return opeApplyService.getOpeApplyReserveListByNameForRowData(rowKey);
            }
         };
      }
@@ -1881,7 +1931,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();
@@ -1891,7 +1941,7 @@
            realDataList=selectedListForPerson;
         }else {
            realDataList = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, null,
                  null,productSn,applyCode,status,isAllApply);
                  null,productSn,applyCode,status,isAllApply,isExpired);
         }
         List<String> headerList = new ArrayList<>();
         headerList.add("申购编号");
@@ -2297,6 +2347,7 @@
        this.reagentDStore.setReagent((SysReagent)event.getObject());
       this.reagentDStoreEditFlag = Constants.ACTION_ADD;
      onWarehouseSelectChange(null);
       RequestContext.getCurrentInstance().execute("PF('reagentDStoreDialog').show()");
    }
@@ -2306,6 +2357,11 @@
        this.changeWarehouseContainerList(warehouseId);
        this.changeWarehouseContainerPlaceList(null);
    }
   public void onWarehouseContainerSelectChange(String warehouseContainerId) {
      this.warehouseContainerPlaceList = null;
      this.changeWarehouseContainerPlaceList(warehouseContainerId);
   }
    private void changeWarehouseContainerList(String warehouseId) {
        if (StringUtils.isBlank(warehouseId)) {
@@ -2555,6 +2611,10 @@
         }
   }
   public void clearStartAndEndCode(){
      endReagentCode = "";
   }
   public void handleEventForPerson(){
      if(useNum!=null && useNum>0){
         if(startReagentCodeForPerson!=null && !startReagentCodeForPerson.equals("")){
@@ -2647,17 +2707,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.getSysReagentListNewRowData(rowKey);
                }
            };
        }
@@ -2744,6 +2804,7 @@
   public void resetLaboratory(){
      laboratory = null;
      laboratoryId = null;
      laboratoryContainers = null;
      //getLaboratory();
      //getLaboratoryContainers();
@@ -3094,4 +3155,59 @@
   public void setIsAllApply(Integer isAllApply) {
      this.isAllApply = isAllApply;
   }
   public boolean getIsExpired() {
      return isExpired;
   }
   public void setIsExpired(boolean isExpired) {
      this.isExpired = isExpired;
   }
   //过期处理
   public void expireOrder() {
      //1.判断当前订单是否是已入库的状态
      if (this.selectedListForPerson.size() < 1) {
         FacesUtils.warn("请选择数据。");
         return;
      }
      ArrayList<String> ids = new ArrayList<>();
      for (OpeApplyReserve oa : this.selectedListForPerson) {
         ids.add(oa.getId());
         if (oa.getStatus() != ApplyStatus.SUPPLIER_CONFIRM) {
            FacesUtils.warn("只能让已确认状态的单子过期。");
            return;
         }
      }
      opeApplyService.updateOpeApplyStatus(ApplyStatus.EXPIRED, null, ids);
      FacesUtils.warn("操作成功。");
   }
   public void recoverOrder(){
      if (this.selectedListForPerson.size() < 1) {
         FacesUtils.warn("请选择数据。");
         return;
      }
      ArrayList<String> ids = new ArrayList<>();
      for (OpeApplyReserve oa : this.selectedListForPerson) {
         ids.add(oa.getId());
         if (oa.getStatus() != ApplyStatus.EXPIRED) {
            FacesUtils.warn("只能让过期单子恢复确认。");
            return;
         }
      }
      opeApplyService.updateOpeApplyStatus(ApplyStatus.SUPPLIER_CONFIRM, null, ids);
      FacesUtils.warn("操作成功。");
   }
    public String getNote() {
        return note;
    }
    public void setNote(String note) {
        this.note = note;
    }
}