From 59d9ea33f503e363f2e2941c7c00cc9dd9d9d1c7 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期二, 28 十一月 2023 11:00:42 +0800 Subject: [PATCH] 修改课题管理bug --- src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java | 149 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 126 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java b/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java index a836046..75989d8 100644 --- a/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java @@ -7,6 +7,7 @@ import com.nanometer.smartlab.util.Constants; import com.nanometer.smartlab.util.FacesUtils; import com.nanometer.smartlab.util.IDUtils; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; @@ -25,6 +26,7 @@ import javax.annotation.Resource; import javax.faces.context.FacesContext; +import javax.faces.event.ActionListener; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -67,6 +69,7 @@ private String cas; private List<SysSupplier> supplierSelectList; private List<Type> typeList; + private String productSn; public List<Type> getTypeList() { if (this.typeList == null) { @@ -86,7 +89,7 @@ private Integer type; public Integer getType() { - return type; + return type == null?0:type; } public void setType(Integer type) { @@ -126,7 +129,6 @@ public void query(){ - System.out.println("start===================="); List<SysReagent> list=this.sysReagentService.query(); Map<String,SysReagent> map=new HashMap<>(); List<SysReagent> list2 =new ArrayList<>(); @@ -520,15 +522,25 @@ Sheet sheet=wb.getSheetAt(0); List<SysReagent> sysReagentsList = new ArrayList<>(); int totalRows = sheet.getPhysicalNumberOfRows(); + Row row=null; int totalCells=0; String dangours = ""; + totalCells=sheet.getRow(0).getLastCellNum(); + if(totalCells>7){ + FacesUtils.warn("导入表格格式不正确"); + return; + } for (int i = 1; i < totalRows; i++) { SysReagent sysReagent = new SysReagent(); List<String> valuesList=new ArrayList<String>(); row=sheet.getRow(i); - totalCells= row.getLastCellNum(); + // totalCells= row.getLastCellNum(); +// if(totalCells>7){ +// FacesUtils.warn("导入表格格式不正确"); +// return; +// } for (int t = 0; t < totalCells; t++) { String cellInfo=""; String groupId = ""; @@ -592,10 +604,42 @@ this.codeList.add(baseMeta); } valuesList.add(id); + }else if(t==5){ + String id=""; + if(!StringUtils.isBlank(cellInfo)){ + SysSupplier sysSupplier=sysSupplierService.getSysSupplierByName(cellInfo); + if(sysSupplier==null){//新建供应商 + FacesUtils.warn("未查询到供该应商信息-"+cellInfo); + return; + } + id=sysSupplier.getId(); + } + valuesList.add(id); + }else if(t==6){ + String id=""; + if(!StringUtils.isBlank(cellInfo)){ + groupId = "reagent_format"; + id=getId(groupId,cellInfo); + if(StringUtils.isBlank(id)){ + BaseMeta baseMeta = new BaseMeta(); + baseMeta.setId(IDUtils.uuid()); + baseMeta.setGroupId(groupId); + baseMeta.setMetaValue(cellInfo); + baseMeta.setMetaKey(cellInfo); + baseMetaService.insertBaseMeta(baseMeta); + id = baseMeta.getId(); + this.codeList.add(baseMeta); + } + } + valuesList.add(id); }else { valuesList.add(cellInfo); } + } + if (valuesList.size() != 8){ + FacesUtils.warn("excel数据解析格式失败"); + return; } System.out.println("value : "+valuesList); sysReagent.setName(valuesList.get(0));//试剂名称 @@ -609,6 +653,12 @@ if(!valuesList.get(5).equals("")){ sysReagent.setPrice(BigDecimal.valueOf(Double.parseDouble(valuesList.get(5))));//含税单价 } + if(StringUtils.isNotBlank(valuesList.get(6))){ + sysReagent.setSupplierId(valuesList.get(6));//供应商id + } + if(StringUtils.isNotBlank(valuesList.get(7))){ + sysReagent.setReagentFormat(valuesList.get(7));//规格id + } DangerousFlag d; d = DangerousFlag.NORMAL; sysReagent.setDangerousFlag(d); @@ -616,16 +666,14 @@ sysReagentsList.add(sysReagent); } sysReagentService.insertSysReagentList2(sysReagentsList); - System.out.println("=========导入结束====="); FacesUtils.info("导入成功。"); } catch (Exception ex) { ex.printStackTrace(); - FacesUtils.info("导入失败。"); + FacesUtils.info("导入失败,"+ex.getMessage()); } } //导入 public void uploadFile(FileUploadEvent event) { - System.out.println("=========导入开始====="); this.codeList=baseMetaService.getAllBaseMeta(); this.sysSupplierList=sysSupplierService.getSysSupplierList(); try{ @@ -661,7 +709,7 @@ throw new Exception("导入文件格式不正确"); }*/ - for (int t = 0; t < totalCells; t++) { + for (int t = 0; t <= totalCells; t++) { //System.out.println(row.getCell(t)); String cellInfo=""; String groupId = ""; @@ -747,11 +795,14 @@ }/*else if(t == 9){ valuesList.add(sysSupplierService.getSysSupplierIdByname(cellInfo)); }*/else{ - valuesList.add(cellInfo); + if(cellInfo!=null) + valuesList.add(cellInfo); } } +/* if (valuesList.size() != 13){ + break; + }*/ - System.out.println("value : "+valuesList); sysReagent.setProductSn(valuesList.get(0));//产品编号 sysReagent.setName(valuesList.get(1));//试剂名称 sysReagent.setControlProducts(valuesList.get(2));//管制品 @@ -782,7 +833,6 @@ sysReagentsList.add(sysReagent); } sysReagentService.insertSysReagentList(sysReagentsList); - System.out.println("=========导入结束====="); FacesUtils.info("导入成功。"); } catch (Exception ex) { ex.printStackTrace(); @@ -798,11 +848,12 @@ public List<SysReagent> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { List<SysReagent> list = null; try { - int count = sysReagentService.getSysReagentTotalCount(name, cas, supplierId,type); + int count = sysReagentService.getSysReagentTotalCountNew(name, cas, supplierId,getType(),productSn); this.setRowCount(count); if (count > 0) { - list = sysReagentService.getSysReagentList(name, cas, supplierId,type, first, pageSize); + list = sysReagentService.getSysReagentListNew(name, cas, supplierId,getType(), first, pageSize,productSn); } + selectedList = new ArrayList<> (); } catch (Exception e) { logger.error(e); } @@ -811,22 +862,37 @@ @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.getSysReagent(rowKey); } }; } return dataModel; + } + + public void export2Excel() { + + List<Map> list = sysReagentService.selectAll(name, cas, supplierId,getType(), productSn); + try{ + boolean isexport = sysReagentService.export2Excel(list,getType()); + if (isexport){ + + } + }catch (Exception e){ + e.printStackTrace(); + FacesUtils.warn("导出失败"); + } } public SysReagent getSysReagent() { @@ -897,4 +963,41 @@ public void setDangerousFlagSelectList(List<DangerousFlag> dangerousFlagSelectList) { this.dangerousFlagSelectList = dangerousFlagSelectList; } + + public String getProductSn() { + return productSn; + } + + public void setProductSn(String productSn) { + this.productSn = productSn; + } + + public void openUpdateSafetyNumDialog() { + if (this.selectedList == null + || this.selectedList.size() == 0) { + FacesUtils.warn("请选择数据。"); + return; + } + if (this.selectedList.size() > 1) { + FacesUtils.warn("只能选择一个数据进行修改。"); + return; + } + this.sysReagent = this.sysReagentService.getSysReagent(this.selectedList.get(0).getId()); + if (this.sysReagent.getType() != 1) { + FacesUtils.warn("只能选择试剂设置安全库存。"); + return; + } + RequestContext.getCurrentInstance().execute("PF('dialog-setSafetynum').show()"); + } + + public void updateSafetyNum(){ + if (this.sysReagent.getSafetynum() == null) { + FacesUtils.warn("请输入安全库存。"); + return; + } + sysReagentService.updateSafetyNum(this.sysReagent); + FacesUtils.warn("修改成功。"); + RequestContext.getCurrentInstance().execute("PF('dialog-setSafetynum').hide()"); + + } } -- Gitblit v1.9.2