李宇
2021-01-21 9c9503de4fb1e1b0127f83c8b2b0f645c6ab9e9c
src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -5,6 +5,7 @@
import com.nanometer.smartlab.dao.OpeWarehouseReserveDao;
import com.nanometer.smartlab.entity.*;
import com.nanometer.smartlab.entity.dto.ApplyListDto;
import com.nanometer.smartlab.entity.enumtype.ApplyStatusVo;
import com.nanometer.smartlab.entity.enumtype.ApplyStatus;
import com.nanometer.smartlab.entity.enumtype.ArrivalStatus;
import com.nanometer.smartlab.entity.enumtype.SeeFlag;
@@ -212,6 +213,10 @@
    private OpeApply reagentDStore;
    private String applyNewReagentName;
    private String applyNewCas;
    private String productSn;
   private String applyCode;
   private Integer status;
   private List<ApplyStatusVo> statusSelectList;
    private List<SysWarehouse> warehouseList;
    private List<SysWarehouseContainer> warehouseContainerList;
@@ -1380,11 +1385,11 @@
                  Map<String, Object> filters) {
               List<OpeWarehouseReserve> list = null;
               try {
                  int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCountByName(reagentId, supplierId);
                  int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCountByName(reagentId, supplierId,productSn);
                  this.setRowCount(count);
                  if (count > 0) {
                     list = opeWarehouseReserveService.getOpeWarehouseReserveListByName(reagentId, supplierId, first,
                           pageSize);
                           pageSize,productSn);
                  }
               } catch (Exception e) {
                  logger.error(e);
@@ -1430,12 +1435,11 @@
               }
               try {
                  int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id,reagentId, userName);
                  int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id,reagentId, userName,productSn,applyCode,status);
                  this.setRowCount(count);
                  if (count > 0) {
                     list = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, first,
                           pageSize);
                           pageSize,productSn,applyCode,status);
                  }
               } catch (Exception e) {
                  logger.error(e);
@@ -1504,6 +1508,132 @@
      }
      return reagentStatusDataModel;
   }
   public void onExportFileBtnClickOrder(){
      ServletOutputStream out = null;
      InputStream is = null;
      try {
         FacesContext ctx = FacesContext.getCurrentInstance();
         ctx.responseComplete();
         String contentType = "application/x-download";
         HttpServletResponse response = (HttpServletResponse) ctx
               .getExternalContext().getResponse();
         response.setContentType(contentType);
         StringBuffer contentDisposition = new StringBuffer();
         contentDisposition.append("attachment;");
         contentDisposition.append("filename=\"");
         contentDisposition.append("订单领取导出.xls");
         contentDisposition.append("\"");
         response.setHeader(
               "Content-Disposition",
               new String(contentDisposition.toString().getBytes(
                     System.getProperty("file.encoding")), "ISO8859-1"));
         out = response.getOutputStream();
         Map<String, Integer> tempMap = new HashMap<String,Integer>();
         List<OpeApplyReserve> realDataList = new ArrayList<>();
         //map=null;
         SysUser loginUser = getUser();
         String id="";
         if(loginUser.getSeeFlag()==SeeFlag.MANAGE){
         }else {
            //userName=loginUser.getName();
            id=loginUser.getId();
         }
         if(selectedListForPerson!=null&&selectedListForPerson.size()>0){
            realDataList=selectedListForPerson;
         }else {
            realDataList = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, null,
                  null,productSn,applyCode,status);
         }
         List<String> headerList = new ArrayList<>();
         headerList.add("申购编号");
         headerList.add("产品编号");
         headerList.add("试剂名称");
         headerList.add("管制品");
         headerList.add("规格型号");
         headerList.add("包装");
         headerList.add("价格");
         headerList.add("CAS");
         headerList.add("危险性质");
         headerList.add("厂家");
         headerList.add("申请数量");
         headerList.add("已领用数量");
         headerList.add("申领人");
         headerList.add("订单状态");
         headerList.add("课题组");
         headerList.add("课题组负责人");
         headerList.add("到货时间");
         HSSFWorkbook hssfWorkbook =exportExcelOrder(headerList, realDataList);
         hssfWorkbook.write(out);
         out.flush();
         ctx.responseComplete();
      }catch (Exception e) {
         if(is!=null){
            try {
               is.close();
            } catch (IOException e1) {
               e1.printStackTrace();
            }
         }
         if(out!=null){
            try {
               out.close();
            } catch (IOException e1) {
               e1.printStackTrace();
            }
         }
         e.printStackTrace();
      }finally {
         if (is != null) {
            try {
               is.close();
            } catch (IOException e) {
               e.printStackTrace();
            }
         }
         if (out != null) {
            try {
               out.close();
            } catch (IOException e) {
               e.printStackTrace();
            }
         }
      }
   }
   public  HSSFWorkbook exportExcelOrder(List<String> headerList, List<OpeApplyReserve> dataList){
      HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
      Integer total = null;
      HSSFSheet sheet = hssfWorkbook.createSheet("订单领取导出");
      HSSFRow titlerRow = sheet.createRow(0);
      for(int i = 0; i < headerList.size(); i++) {
         titlerRow.createCell(i).setCellValue(headerList.get(i));
      }
      for (int i = 0; i < dataList.size(); i++) {
         HSSFRow dataRow = sheet.createRow(i + 1);
         dataRow.createCell(0).setCellValue(dataList.get(i).getApplyCode()== null ? "": String.valueOf(dataList.get(i).getApplyCode()));
         dataRow.createCell(1).setCellValue(dataList.get(i).getReagent().getProductSn()== null ? "": String.valueOf(dataList.get(i).getReagent().getProductSn()));
         dataRow.createCell(2).setCellValue(dataList.get(i).getReagent().getName()== null ? "": String.valueOf(dataList.get(i).getReagent().getName()));
         dataRow.createCell(3).setCellValue(dataList.get(i).getReagent().getControlProducts()== null ? "": String.valueOf(dataList.get(i).getReagent().getControlProducts()));
         dataRow.createCell(4).setCellValue(dataList.get(i).getReagent().getReagentFormat()== null ? "": String.valueOf(dataList.get(i).getReagent().getReagentFormat()));
         dataRow.createCell(5).setCellValue(dataList.get(i).getReagent().getMainMetering()== null ? "": String.valueOf(dataList.get(i).getReagent().getMainMetering()));
         dataRow.createCell(6).setCellValue(dataList.get(i).getReagent().getPrice()== null ? "": String.valueOf(dataList.get(i).getReagent().getPrice()));
         dataRow.createCell(7).setCellValue(dataList.get(i).getReagent().getCas()== null ? "": String.valueOf(dataList.get(i).getReagent().getCas()));
         dataRow.createCell(8).setCellValue(dataList.get(i).getReagent().getReagentCharacter()== null ? "": String.valueOf(dataList.get(i).getReagent().getReagentCharacter()));
         dataRow.createCell(9).setCellValue(dataList.get(i).getReagent().getProductHomeName()== null ? "":  String.valueOf(dataList.get(i).getReagent().getProductHomeName()));
         dataRow.createCell(10).setCellValue(dataList.get(i).getNum()== null ? "": String.valueOf(dataList.get(i).getNum()));
         dataRow.createCell(11).setCellValue(dataList.get(i).getUsed()== null ? "": String.valueOf(dataList.get(i).getUsed()));
         dataRow.createCell(12).setCellValue(dataList.get(i).getApplyUserId()== null ? "": String.valueOf(dataList.get(i).getApplyUserId()));
         dataRow.createCell(13).setCellValue(dataList.get(i).getStatus()== null ? "": String.valueOf(dataList.get(i).getStatus().getText()));
         dataRow.createCell(14).setCellValue(dataList.get(i).getProject()== null ? "": String.valueOf(dataList.get(i).getProject()));
         dataRow.createCell(15).setCellValue(dataList.get(i).getProjectManage()== null ? "": String.valueOf(dataList.get(i).getProjectManage()));
         dataRow.createCell(16).setCellValue(dataList.get(i).getArrivalTime()== null ? "": String.valueOf(dataList.get(i).getArrivalTime()));
      }
      return hssfWorkbook;
   }
   public void onExportFileBtnClickNew(){
      ServletOutputStream out = null;
      InputStream is = null;
@@ -1531,10 +1661,11 @@
            realDataList=selectedList;
         }else {
            realDataList = opeWarehouseReserveService.getOpeWarehouseReserveListByName(reagentId, supplierId, null,
                  null);
                  null,productSn);
         }
            List<String> headerList = new ArrayList<>();
            headerList.add("试剂名称");
            headerList.add("产品编号");
            headerList.add("cas");
            headerList.add("厂家");
            headerList.add("供应商");
@@ -1585,8 +1716,6 @@
   public  HSSFWorkbook exportExcelNew(List<String> headerList, List<OpeWarehouseReserve> dataList) {
      HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
      Integer total = null;
      HSSFSheet sheet = hssfWorkbook.createSheet("仓库库存");
      HSSFRow titlerRow = sheet.createRow(0);
@@ -1596,15 +1725,16 @@
      for (int i = 0; i < dataList.size(); i++) {
         HSSFRow dataRow = sheet.createRow(i + 1);
         dataRow.createCell(0).setCellValue(dataList.get(i).getReagent().getName()== null ? "": String.valueOf(dataList.get(i).getReagent().getName()));
         dataRow.createCell(1).setCellValue(dataList.get(i).getReagent().getCas()== null ? "": String.valueOf(dataList.get(i).getReagent().getCas()));
         dataRow.createCell(2).setCellValue(dataList.get(i).getReagent().getProductHomeName()== null ? "":  String.valueOf(dataList.get(i).getReagent().getProductHomeName()));
         dataRow.createCell(3).setCellValue(dataList.get(i).getReagent().getSupplierName()== null ? "": String.valueOf(dataList.get(i).getReagent().getSupplierName()));
         dataRow.createCell(4).setCellValue(dataList.get(i).getReagent().getReagentFormat()== null ? "": String.valueOf(baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentFormat())));
         dataRow.createCell(5).setCellValue(dataList.get(i).getReagent().getMainMetering()== null ? "": String.valueOf(dataList.get(i).getReagent().getMainMetering())+baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentUnit()));
         dataRow.createCell(6).setCellValue(dataList.get(i).getReagent().getPrice()== null ? "": String.valueOf(dataList.get(i).getReagent().getPrice()));
         dataRow.createCell(7).setCellValue(dataList.get(i).getArticleNumber()== null ? "": String.valueOf(dataList.get(i).getArticleNumber()));
         dataRow.createCell(8).setCellValue(dataList.get(i).getReserve()== null ? "": String.valueOf(dataList.get(i).getReserve()));
         dataRow.createCell(9).setCellValue(dataList.get(i).getWarehouseName()== null ? "": String.valueOf(dataList.get(i).getWarehouseName()));
         dataRow.createCell(1).setCellValue(dataList.get(i).getReagent().getProductSn()== null ? "": String.valueOf(dataList.get(i).getReagent().getProductSn()));
         dataRow.createCell(2).setCellValue(dataList.get(i).getReagent().getCas()== null ? "": String.valueOf(dataList.get(i).getReagent().getCas()));
         dataRow.createCell(3).setCellValue(dataList.get(i).getReagent().getProductHomeName()== null ? "":  String.valueOf(dataList.get(i).getReagent().getProductHomeName()));
         dataRow.createCell(4).setCellValue(dataList.get(i).getReagent().getSupplierName()== null ? "": String.valueOf(dataList.get(i).getReagent().getSupplierName()));
         dataRow.createCell(5).setCellValue(dataList.get(i).getReagent().getReagentFormat()== null ? "": String.valueOf(baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentFormat())));
         dataRow.createCell(6).setCellValue(dataList.get(i).getReagent().getMainMetering()== null ? "": String.valueOf(dataList.get(i).getReagent().getMainMetering())+baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentUnit()));
         dataRow.createCell(7).setCellValue(dataList.get(i).getReagent().getPrice()== null ? "": String.valueOf(dataList.get(i).getReagent().getPrice()));
         dataRow.createCell(8).setCellValue(dataList.get(i).getArticleNumber()== null ? "": String.valueOf(dataList.get(i).getArticleNumber()));
         dataRow.createCell(9).setCellValue(dataList.get(i).getReserve()== null ? "": String.valueOf(dataList.get(i).getReserve()));
         dataRow.createCell(10).setCellValue(dataList.get(i).getWarehouseName()== null ? "": String.valueOf(dataList.get(i).getWarehouseName()));
      }
      return hssfWorkbook;
@@ -2142,10 +2272,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.getSysReagentTotalCountNew(applyNewReagentName, applyNewCas, null,null);
                        int count = sysReagentService.getSysReagentTotalCountNew(applyNewReagentName, applyNewCas, null,null,productSn);
                        this.setRowCount(count);
                        if (count > 0) {
                            list = sysReagentService.getSysReagentListNew(applyNewReagentName, applyNewCas, null,null, first, pageSize);
                            list = sysReagentService.getSysReagentListNew(applyNewReagentName, applyNewCas, null,null, first, pageSize,productSn);
                        }
                    } catch (Exception e) {
                        logger.error(e);
@@ -2519,4 +2649,36 @@
   }
   public void setProductSn(String productSn) {
      this.productSn = productSn;
   }
   public String getProductSn() {
      return productSn;
   }
   public String getApplyCode() {
      return applyCode;
   }
   public void setApplyCode(String applyCode) {
      this.applyCode = applyCode;
   }
   public Integer getStatus() {
      return status;
   }
   public void setStatus(Integer status) {
      this.status = status;
   }
   public List<ApplyStatusVo> getStatusSelectList() {
      if (this.statusSelectList == null) {
         this.statusSelectList = Arrays.asList(ApplyStatusVo.values());
      }
      return statusSelectList;
   }
}