From 59d9ea33f503e363f2e2941c7c00cc9dd9d9d1c7 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Tue, 28 Nov 2023 11:00:42 +0800
Subject: [PATCH] 修改课题管理bug
---
src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java | 104 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 81 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 0e14bda..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;
@@ -128,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<>();
@@ -522,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 = "";
@@ -594,13 +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() != 6){
- break;
+ if (valuesList.size() != 8){
+ FacesUtils.warn("excel数据解析格式失败");
+ return;
}
System.out.println("value : "+valuesList);
sysReagent.setName(valuesList.get(0));//试剂名称
@@ -614,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);
@@ -621,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{
@@ -752,14 +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){
+/* 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));//管制品
@@ -790,7 +833,6 @@
sysReagentsList.add(sysReagent);
}
sysReagentService.insertSysReagentList(sysReagentsList);
- System.out.println("=========导入结束=====");
FacesUtils.info("导入成功。");
} catch (Exception ex) {
ex.printStackTrace();
@@ -811,6 +853,7 @@
if (count > 0) {
list = sysReagentService.getSysReagentListNew(name, cas, supplierId,getType(), first, pageSize,productSn);
}
+ selectedList = new ArrayList<> ();
} catch (Exception e) {
logger.error(e);
}
@@ -819,17 +862,18 @@
@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);
}
};
}
@@ -837,6 +881,20 @@
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() {
return sysReagent;
}
--
Gitblit v1.9.2