李宇
2021-06-15 d00d1d584875b5b38c70c235963b46543a3eba28
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() {
@@ -531,9 +533,22 @@
      selectedTmpOrderList = null;
   }
   public void hideOrderTmp() {
      //清空
      selectedTmpOrderList = null;
      //隐藏
      RequestContext.getCurrentInstance().execute("document.getElementById('showTabOrder').style.display='none'");
   }
   public void  clearInputStorageTmp(){
      selectedInputStorageTmpOrderList = null;
   }
   public void hideInputStorageTmp(){
        selectedInputStorageTmpOrderList = null;
        RequestContext.getCurrentInstance().execute("document.getElementById('putInStorage').style.display='none'");
    }
   public void cancel(){
      if (trulySelectedList == null || trulySelectedList.size()<=0){
@@ -563,6 +578,10 @@
   }
   public void hide(){
      selectedTmpList = null;
      RequestContext.getCurrentInstance().execute("document.getElementById('showTab').style.display='none'");
   }
   public void cancelOrderTmp(){
      if (trulySelectedOrderList == null || trulySelectedOrderList.size()<=0){
         FacesUtils.info("至少选择一个");
@@ -782,7 +801,7 @@
      //变换条码
      btCodeChange();
   }
   /**
   * 取消一个仓库领取
   */
@@ -1057,6 +1076,7 @@
      this.selectedInputStorageTmpOrderList = null;
      this.endReagentCodeForPerson = null;
      this.startReagentCodeForPerson = null;
      this.laboratoryId = null;
      this.useNum = null;
      this.menuController.backToPage();
   }
@@ -1193,16 +1213,20 @@
         printTable = new Hashtable();
         int sum = 0;
         List<ApplyListDto> applyList = new ArrayList<>();
         Map applyPersonInfo = sysUserService.getUser(userId);
         SysUser applyPersonInfo = sysUserService.getUser(userId);
         printTable.put("head", instituteName);
         printTable.put("title", "领用单");
         printTable.put("applyPerson", applyPersonInfo.get("name"));
         printTable.put("department", applyPersonInfo.get("meta_value"));
         printTable.put("applyPerson", applyPersonInfo.getName());
         printTable.put("department", applyPersonInfo.getDepartment());
         printTable.put("date", Utils.now("yyyy-MM-dd"));
         printTable.put("phone", applyPersonInfo.get("phone"));
         String receiptNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
         printTable.put("receiptNumber", receiptNum);
         printTable.put("project", applyPersonInfo.get("project"));
         if (StringUtils.isNotBlank(applyPersonInfo.getPhone())){
            printTable.put("phone", applyPersonInfo.getPhone());
         }
         if (StringUtils.isNotBlank(applyPersonInfo.getProject())){
            printTable.put("project", applyPersonInfo.getProject());
         }
         SysLaboratory lab = sysLaboratoryService.getSysLaboratory(laboratoryId);
         printTable.put("lab", lab.getName());
         this.receiptNumber = receiptNum;
@@ -1470,14 +1494,18 @@
         printTable = null;
         printTable = new Hashtable();
         List<ApplyListDto> applyList = new ArrayList<>();
         Map applyPersonInfo = sysUserService.getUser(userId);
         SysUser applyPersonInfo = sysUserService.getUser(userId);
         printTable.put("head", instituteName);
         printTable.put("title", "领用单");
         printTable.put("applyPerson", applyPersonInfo.get("name"));
         printTable.put("department", applyPersonInfo.get("meta_value"));
         printTable.put("applyPerson", applyPersonInfo.getName());
         printTable.put("department", applyPersonInfo.getDepartment());
         printTable.put("date", Utils.now("yyyy-MM-dd"));
         printTable.put("phone", applyPersonInfo.get("phone"));
         printTable.put("project", applyPersonInfo.get("project"));
         if (StringUtils.isNotBlank(applyPersonInfo.getPhone())){
            printTable.put("phone", applyPersonInfo.getPhone());
         }
         if (StringUtils.isNotBlank(applyPersonInfo.getProject())){
            printTable.put("project", applyPersonInfo.getProject());
         }
         SysLaboratory lab = sysLaboratoryService.getSysLaboratory(laboratoryId);
         String receiptNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
         printTable.put("receiptNumber", receiptNum);
@@ -1492,11 +1520,19 @@
            if(selectWarehouseReserve.getFlag()==1){
               list.add(selectWarehouseReserve);
            }else{
               if (selectWarehouseReserve.getWarehouseId() == null) {
                  FacesUtils.warn("仓库不存在。");
                  return;
               }
               list2.add(selectWarehouseReserve);
            }
         }
         if(list.size()>0&&list!=null){
            for (OpeWarehouseReserve selectWarehouseReserve : list) {
               Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId());
               if (reagentDetail == null) {
                  throw new Exception("试剂有误,请联系管理员");
               }
               List<String> reagentCodes = selectWarehouseReserve.getReagentCodes();
               if (reagentCodes != null && reagentCodes.size() > 0)
                  for (String opeReagentStatusId : reagentCodes) {
@@ -1523,7 +1559,6 @@
                     //}
                  }
               ApplyListDto lis = new ApplyListDto();
               Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId());
               lis.setNum(String.valueOf(selectWarehouseReserve.getSelectNum())); //数量
               lis.setMainMetering(String.format("%s%s", reagentDetail.get("main_metering"), reagentDetail.get("unit")));
               lis.setControlProducts((String) reagentDetail.get("controlProducts"));
@@ -1546,6 +1581,10 @@
            List<OpeApply> opeList=new ArrayList<>();
            //this.opeApplyService.getOpeApplyList(null,null,null,null,null)
            for(int i=0;i<list2.size();i++){
               Map reagentDetail = sysReagentService.getReagentDetail(list2.get(i).getReagentId());
               if (reagentDetail == null) {
                  throw new Exception("试剂有误,请联系管理员");
               }
               OpeApply opeApply=new OpeApply();
               opeApply.setArticleNumber(list2.get(i).getArticleNumber());
               opeApply.setHouseId(laboratoryId);
@@ -1565,7 +1604,6 @@
               this.opeLaboratoryReserveService.insert(lr);
               //opeList.add(this.opeApplyService.getOpeApply(list2.get(i).getId()));
               ApplyListDto lis = new ApplyListDto();
               Map reagentDetail = sysReagentService.getReagentDetail(list2.get(i).getReagentId());
               lis.setNum(String.valueOf(list2.get(i).getSelectNum())); //数量
               lis.setMainMetering(String.format("%s%s", reagentDetail.get("main_metering"), reagentDetail.get("unit")));
@@ -1637,6 +1675,17 @@
   */
   public void onSaveInputWarehouseClick(){
      try{
          //0.0输入校验
            for (OpeApplyReserve opeApplyReserve : opeApplyList) {
                if (StringUtils.isBlank(opeApplyReserve.getArticleNumber())) {
                    throw new BusinessException(ExceptionEnumCode.PARAM_EXIST, opeApplyReserve.getReagent().getName() + ":批号不能为空");
                }
                SysReagent sysReagent = sysReagentService.getSysReagent(opeApplyReserve.getReagent().getId());
            if (sysReagent == null){
               throw new BusinessException(ExceptionEnumCode.PARAM_EXIST, opeApplyReserve.getReagent().getName() + ":被删除");
            }
            }
         //用来检验提交表单得试剂条码是否重复
         Map<String,Boolean> checkTable= new HashMap<>();
         if (opeApplyList != null && opeApplyList.size() > 0) {
@@ -1739,11 +1788,11 @@
               }
               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);
@@ -1848,7 +1897,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("申购编号");
@@ -2701,17 +2750,20 @@
   public void resetLaboratory(){
      laboratory = null;
      laboratoryId = null;
      laboratoryContainers = null;
      //getLaboratory();
      //getLaboratoryContainers();
   }
//   public void setContainerId(){
//   }
   public void resetLaboratoryContainers() {
      laboratoryContainers = null;
      //getLaboratoryContainers();
   }
   public List<SysLaboratory> getLaboratory() {
      if(userId != null && userId.trim().length() > 0)
       if(userId != null && userId.trim().length() > 0)
      {
         //Todo 修改申领人的实验室显示信息
@@ -2719,15 +2771,15 @@
         if(this.laboratory != null && this.laboratory.size() > 0)
         {
            //flag =true;
            //if(laboratoryId != null && laboratoryId.trim().length() > 0)
            //{
            //   this.oriLaboratoryId = this.laboratoryId;
            //}else
            //{
            //   this.oriLaboratoryId = this.laboratory.get(0).getId();
            //}
            if(laboratoryId != null && laboratoryId.trim().length() > 0)
            {
               this.oriLaboratoryId = this.laboratoryId;
            }else
            {
               this.laboratoryId = this.laboratory.get(0).getId();
            }
            this.laboratoryId = this.laboratory.get(0).getId();
//            this.laboratoryId = this.laboratory.get(0).getId();
            this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId);
         }else {
            this.oriLaboratoryId = null;
@@ -2747,7 +2799,7 @@
   }
   public List<SysLaboratoryContainer> getLaboratoryContainers() {
      if(laboratoryId != null && laboratoryId.trim().length() > 0)
       if(laboratoryId != null && laboratoryId.trim().length() > 0)
      {
         this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId);
      }
@@ -3049,4 +3101,51 @@
   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("操作成功。");
   }
}