From b02535c9a99324823812f6c2d08f066d8e1ba75f Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期一, 18 一月 2021 09:57:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master --- src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java | 295 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 240 insertions(+), 55 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java index 19fcba6..c27e87d 100644 --- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java +++ b/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.ArrivalStatus; import com.nanometer.smartlab.entity.enumtype.SeeFlag; import com.nanometer.smartlab.entity.enumtype.ValidFlag; @@ -18,6 +19,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 +128,7 @@ private String reagentLogId; private String userName; + private Integer tabValue = 0; private List<SysReagent> reagentSelectList; private List<String> showCodes; @@ -202,6 +205,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; @@ -436,19 +443,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 +471,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 +571,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 +655,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 +792,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 +816,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 +845,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 +857,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 +1061,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 +1086,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{ @@ -1188,11 +1209,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); @@ -1238,12 +1259,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); @@ -1312,6 +1332,130 @@ } 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("课题组负责人"); + 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())); + } + return hssfWorkbook; + } + public void onExportFileBtnClickNew(){ ServletOutputStream out = null; InputStream is = null; @@ -1339,10 +1483,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("供应商"); @@ -1393,8 +1538,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); @@ -1404,15 +1547,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; @@ -1950,10 +2094,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); @@ -2206,4 +2350,45 @@ public void setTrulySelectedOrderList(List<OpeApplyReserve> trulySelectedOrderList) { this.trulySelectedOrderList = trulySelectedOrderList; } + + + public Integer getTabValue() { + return tabValue; + } + + public void setTabValue(Integer tabValue) { + this.tabValue = tabValue; + } + + 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; + } + } -- Gitblit v1.9.2