李宇
2021-04-26 df938f06da12eddacfc9d2aee52d153222f5aa2c
src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -47,8 +47,8 @@
/**
 * Created by cmower on 17/11/20.
 */
@Controller
@PropertySource(value = "WEB-INF/config.properties",encoding = "utf-8")
@Controller
@Scope("session")
public class WarehouseStockMngController extends BaseController {
@@ -166,6 +166,7 @@
   private String warehouseName;
   private Integer editFlag;
   private Integer isAllApply = 0;
   private StreamedContent file;
   @Value("${pdf.export.file.path}")
   private String pdfExportFilePath;
@@ -530,9 +531,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){
@@ -562,6 +576,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("至少选择一个");
@@ -623,7 +641,7 @@
         FacesUtils.info("至少选择一个");
         return;
      }
      this.userId = getUser().getId();
      this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW, Constants.PAGE_WAREHOUSE_STOCK_MNG);
   }
//
@@ -648,6 +666,8 @@
         }
      }
      checkTable = null;
      //
      this.userId = selectedTmpOrderList.get(0).getApplyUser();
      this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW_PERSON, Constants.PAGE_WAREHOUSE_STOCK_MNG);
   }
@@ -779,7 +799,7 @@
      //变换条码
      btCodeChange();
   }
   /**
   * 取消一个仓库领取
   */
@@ -1148,7 +1168,7 @@
            this.opeWarehouseReserveService.reagentDStore3(opeList,userId);
            //扣库存
            opeWarehouseReserveService.btWarehouseReserveReduce(list2,userId);
            opeWarehouseReserveService.btWarehouseReserveReduce(list2);
         }
         for(int i=0;i<list2.size();i++){
@@ -1190,16 +1210,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;
@@ -1467,14 +1491,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);
@@ -1494,6 +1522,10 @@
         }
         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) {
@@ -1520,7 +1552,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"));
@@ -1538,10 +1569,15 @@
            //}
            this.opeWarehouseReserveService.claim(list, userId,projectNum);
         }
         if(list2.size()>0&&list2!=null){
            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);
@@ -1561,7 +1597,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")));
@@ -1593,7 +1628,7 @@
                  opeUseFlow.setHouseId(list2.get(i).getWarehouseId());
                  opeUseFlow.setContainerId(warehouseReserveInfo.get(0).getContainerId());
                  opeUseFlow.setCreateTime(warehouseReserveInfo.get(0).getUpdateTime());
                  opeUseFlow.setUserId(userId);
                  opeUseFlow.setUserId(warehouseReserveInfo.get(0).getUserId());
                  opeUseFlow.setRemainder(list2.get(i).getReagent().getMainMetering()!=null?list2.get(i).getReagent().getMainMetering():new BigDecimal(0));
                  opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
@@ -1633,6 +1668,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) {
@@ -1735,11 +1781,11 @@
               }
               try {
                  int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id,reagentId, userName,productSn,applyCode,status);
                  int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id, reagentId, userName, productSn, applyCode, status, isAllApply);
                  this.setRowCount(count);
                  if (count > 0) {
                     list = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, first,
                           pageSize,productSn,applyCode,status);
                     list = opeApplyService.getOpeApplyReserveListByNameFor(id, reagentId, userName, first,
                           pageSize, productSn, applyCode, status, isAllApply);
                  }
               } catch (Exception e) {
                  logger.error(e);
@@ -1844,7 +1890,7 @@
            realDataList=selectedListForPerson;
         }else {
            realDataList = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, null,
                  null,productSn,applyCode,status);
                  null,productSn,applyCode,status,isAllApply);
         }
         List<String> headerList = new ArrayList<>();
         headerList.add("申购编号");
@@ -2702,12 +2748,14 @@
      //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 修改申领人的实验室显示信息
@@ -2715,15 +2763,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= laboratoryId==null?this.laboratory.get(0).getId():laboratoryId;
//            this.laboratoryId = this.laboratory.get(0).getId();
            this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId);
         }else {
            this.oriLaboratoryId = null;
@@ -2743,7 +2791,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);
      }
@@ -3037,4 +3085,12 @@
   public void setWarehouseName(String warehouseName) {
      this.warehouseName = warehouseName;
   }
   public Integer getIsAllApply() {
      return isAllApply;
   }
   public void setIsAllApply(Integer isAllApply) {
      this.isAllApply = isAllApply;
   }
}