From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Mon, 01 Jul 2024 10:58:35 +0800
Subject: [PATCH] change
---
src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java | 320 ++++++++++++++++++++++++++---------------------------
1 files changed, 158 insertions(+), 162 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..ad5261d 100644
--- a/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java
@@ -2,11 +2,13 @@
import com.nanometer.smartlab.entity.*;
import com.nanometer.smartlab.entity.enumtype.DangerousFlag;
+import com.nanometer.smartlab.entity.enumtype.ReagentTypeFlag;
import com.nanometer.smartlab.entity.enumtype.Type;
import com.nanometer.smartlab.service.*;
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 +27,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;
@@ -63,10 +66,11 @@
private SysReagent sysReagent;
private List<SysReagent> selectedList;
private String name;
- private String supplierId;
+ private Long supplierId;
private String cas;
private List<SysSupplier> supplierSelectList;
private List<Type> typeList;
+ private String productSn;
public List<Type> getTypeList() {
if (this.typeList == null) {
@@ -83,6 +87,7 @@
private List<BaseMeta> codeList;
private List<SysSupplier> sysSupplierList;
private List<DangerousFlag> dangerousFlagSelectList;
+ private List<ReagentTypeFlag> reagentTypeFlagList;
private Integer type;
public Integer getType() {
@@ -126,7 +131,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<>();
@@ -134,11 +138,11 @@
for (int i=0;i<list.size();i++) {
System.out.println("i=========="+i);
SysReagent re=list.get(i);
- BaseMeta baseMeta=baseMetaService.getBaseMeta(re.getReagentUnit());
- String value="";
- if(baseMeta!=null){
- value=baseMeta.getMetaValue().toUpperCase();
- }
+ // BaseMeta baseMeta=baseMetaService.getBaseMeta(re.getReagentUnit());
+ String value=re.getReagentUnit();
+// if(baseMeta!=null){
+// value=baseMeta.getMetaValue().toUpperCase();
+// }
if(re.getCas()!=null && !re.getCas().equals("")){
String key=re.getCas()+re.getMainMetering()+value+re.getReagentFormat()+re.getProductHome();
System.out.println("value================="+map.get(key));
@@ -299,26 +303,7 @@
}
public static void main(String[] args){
- Map<String,SysReagent> map=new HashMap<>();
- SysReagent s1=new SysReagent();
- s1.setCas("1");
- s1.setMainMetering(new BigDecimal(1));
- s1.setReagentUnit("0ae7ecb85f2940499680a0baa2cfc201");
- s1.setProductHome("e9cda39ea42149158e5a36618ef0bde7");
- s1.setReagentFormat("b2790196662c40529c28e616244c6d65");
- SysReagent s2=new SysReagent();
- s2.setCas("1");
- s2.setMainMetering(new BigDecimal(1));
- s2.setReagentUnit("0ae7ecb85f2940499680a0baa2cfc201");
- s2.setProductHome("e9cda39ea42149158e5a36618ef0bde7");
- s2.setReagentFormat("b2790196662c40529c28e616244c6d65");
- String key=s1.getCas()+s1.getMainMetering()+s1.getReagentUnit()+s1.getReagentFormat()+s1.getProductHome();
- map.put(key,s1);
- String key2=s2.getCas()+s2.getMainMetering()+s2.getReagentUnit()+s2.getReagentFormat()+s2.getProductHome();
- map.put(key2,s2);
- System.out.println(map.size());
- System.out.println(map.get(key));
- System.out.println(map.get(key2));
+
}
public void onNewBtnClick() {
@@ -419,9 +404,6 @@
return;
}
this.sysReagent.setType(1);
- if(this.sysReagent.getControlProducts().equals("")){
- this.sysReagent.setControlProducts(null);
- }
this.sysReagentService.insertSysReagent(this.sysReagent);
FacesUtils.info("新建成功。");
@@ -464,12 +446,11 @@
}
//判断字典表里是否存在这组键值对
- public String getId(String groupId,String metaValue){
- String id="";
+ public Long getId(String groupCode,String metaValue){
+ Long id=null;
if(this.codeList.size()>0){
for (BaseMeta bm:this.codeList){
-
- if(bm.getGroupId().equals(groupId)&&bm.getMetaValue().equals(metaValue)){
+ if(bm.getGroupCode().equals(groupCode)&&bm.getMetaValue().equals(metaValue)){
id=bm.getId();
}
}
@@ -477,12 +458,12 @@
return id;
}
//判断字典表里计量单位是否存在这组键值对,忽略大小写
- public String getIdForUnit(String groupId,String metaValue){
- String id="";
+ public Long getIdForUnit(String groupCode,String metaValue){
+ Long id=null;
if(this.codeList.size()>0){
for (BaseMeta bm:this.codeList){
- if(bm.getGroupId().equals(groupId)&&bm.getMetaValue().toUpperCase().equals(metaValue.toUpperCase())){
+ if(bm.getGroupCode().equals(groupCode)&&bm.getMetaValue().toUpperCase().equals(metaValue.toUpperCase())){
id=bm.getId();
}
}
@@ -492,8 +473,8 @@
//判断是否存在改供应商
- public String getSysSupplierId(String name){
- String id="";
+ public Long getSysSupplierId(String name){
+ Long id=null;
for (SysSupplier sup:this.sysSupplierList) {
if(sup.getName().equals(name)){
id=sup.getId();
@@ -520,18 +501,28 @@
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>();
+ List<Object> valuesList=new ArrayList<Object>();
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 = "";
+ String groupCode = "";
if (row.getCell(t) != null) {
if (row.getCell(t).getCellTypeEnum().toString().equals("NUMERIC")) {
cellInfo = String.valueOf(row.getCell(t).getNumericCellValue());
@@ -539,21 +530,7 @@
cellInfo = row.getCell(t).getStringCellValue();
}
}
- if(t == 1 ){
- groupId = "product_name";
- String id=getId(groupId,cellInfo);
- if(id == "" && cellInfo!=null && cellInfo!="" ) {
- 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 if(t==3){
+ if(t==3){
String numberStr = "";
String ChartStr = "";
char[] strArr = cellInfo.toCharArray();
@@ -566,30 +543,17 @@
}
numberStr=cellInfo.substring(0,index);
ChartStr=cellInfo.substring(index,cellInfo.length());
- System.out.println("ChartStr========"+ChartStr);
- /*for (char string : strArr) {
- // 判断是否为字母
- if ((string+"").matches("^[a-zA-Z\\u4e00-\\u9fa5]+$")||(string+"").equals("/")){
- ChartStr += string;
- }
- // 判断是否为数字
- if ((string+"").matches("[0-9]")){
- numberStr += string;
- }
-
- }*/
valuesList.add(numberStr);
- groupId = "reagent_unit";
- String id=getIdForUnit(groupId,ChartStr);
- if(id == "" && cellInfo!=null && cellInfo!="") {
- BaseMeta baseMeta = new BaseMeta();
- baseMeta.setId(IDUtils.uuid());
- baseMeta.setGroupId(groupId);
- baseMeta.setMetaValue(ChartStr.toUpperCase());
- baseMeta.setMetaKey(ChartStr.toUpperCase());
- baseMetaService.insertBaseMeta(baseMeta);
- id = baseMeta.getId();
- this.codeList.add(baseMeta);
+ valuesList.add(ChartStr.toUpperCase());
+ }else if(t==5){
+ Long id=null;
+ if(!StringUtils.isBlank(cellInfo)){
+ SysSupplier sysSupplier=sysSupplierService.getSysSupplierByName(cellInfo);
+ if(sysSupplier==null){//新建供应商
+ FacesUtils.warn("未查询到供该应商信息-"+cellInfo);
+ return;
+ }
+ id=sysSupplier.getId();
}
valuesList.add(id);
}else {
@@ -597,17 +561,27 @@
}
}
- System.out.println("value : "+valuesList);
- sysReagent.setName(valuesList.get(0));//试剂名称
- sysReagent.setProductHome(valuesList.get(1));//厂家
- sysReagent.setProductSn(valuesList.get(2));//产品编号
- sysReagent.setCas(valuesList.get(2));//产品编号
- if(!valuesList.get(3).equals("")){
- sysReagent.setMainMetering(new BigDecimal(valuesList.get(3)));//包装(数值)
+ if (valuesList.size() != 8){
+ FacesUtils.warn("excel数据解析格式失败");
+ return;
}
- sysReagent.setReagentUnit(valuesList.get(4));//包装(单位)
+ System.out.println("value : "+valuesList);
+ sysReagent.setName(valuesList.get(0).toString());//试剂名称
+ sysReagent.setProductHome(valuesList.get(1).toString());//厂家
+ sysReagent.setProductSn(valuesList.get(2).toString());//产品编号
+ sysReagent.setCas(valuesList.get(2).toString());//产品编号
+ if(!valuesList.get(3).equals("")){
+ sysReagent.setMainMetering(new BigDecimal(valuesList.get(3).toString()));//包装(数值)
+ }
+ sysReagent.setReagentUnit(valuesList.get(4).toString());//包装(单位)
if(!valuesList.get(5).equals("")){
- sysReagent.setPrice(BigDecimal.valueOf(Double.parseDouble(valuesList.get(5))));//含税单价
+ sysReagent.setPrice(BigDecimal.valueOf(Double.parseDouble(valuesList.get(5).toString())));//含税单价
+ }
+ if(StringUtils.isNotBlank(valuesList.get(6).toString())){
+ sysReagent.setSupplierId(Long.valueOf(valuesList.get(6).toString()));//供应商id
+ }
+ if(StringUtils.isNotBlank(valuesList.get(7).toString())){
+ sysReagent.setReagentFormat(valuesList.get(7).toString());//规格
}
DangerousFlag d;
d = DangerousFlag.NORMAL;
@@ -616,16 +590,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,10 +633,10 @@
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 = "";
+ String groupCode = "";
if (row.getCell(t) != null) {
@@ -674,33 +646,7 @@
cellInfo = row.getCell(t).getStringCellValue();
}
}
- if(t == 2 || t == 3 || t == 7 || t == 10 || t == 9){
- if( t == 2){
- groupId = "control_products";
- }else if(t == 3){
- groupId = "reagent_format";
- }else if (t==7){
- groupId = "reagent_character";
- dangours = cellInfo;
- }else if(t == 10){
- groupId = "reagent_type";
- }else if(t == 9){
- groupId = "product_name";
- }
- //String id = sysSupplierService.getSysSupplierId(cellInfo,groupId);
- String id=getId(groupId,cellInfo);
- if(id == "" && cellInfo!=null && cellInfo!="" ) {
- 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 if(t == 4){
+ if(t == 4){
String numberStr = "";
String ChartStr = "";
char[] strArr = cellInfo.toCharArray();
@@ -709,31 +655,15 @@
if ((string+"").matches("^[a-zA-Z\\u4e00-\\u9fa5]|[μ]+$")||(string+"").equals("/")){
ChartStr += string;
}
-
}
numberStr = cellInfo.replace(ChartStr, "");
-
valuesList.add(numberStr);
- groupId = "reagent_unit";
- //String id = sysSupplierService.getSysSupplierId(ChartStr,groupId);
- String id=getIdForUnit(groupId,ChartStr.toUpperCase());
- if(id == "" && cellInfo!=null && cellInfo!="") {
- BaseMeta baseMeta = new BaseMeta();
- baseMeta.setId(IDUtils.uuid());
- baseMeta.setGroupId(groupId);
- baseMeta.setMetaValue(ChartStr.toUpperCase());
- baseMeta.setMetaKey(ChartStr.toUpperCase());
- baseMetaService.insertBaseMeta(baseMeta);
- id = baseMeta.getId();
- this.codeList.add(baseMeta);
- }
- //System.out.println(getId(groupId,cellInfo));
- valuesList.add(id);
+ valuesList.add(ChartStr.toUpperCase());
}else if(t == 11){
- String id=getSysSupplierId(cellInfo);
- if(id == "" && cellInfo!=null && cellInfo!="") {
+ Long id=getSysSupplierId(cellInfo);
+ if(id == null && cellInfo!=null && cellInfo!="") {
SysSupplier sup=new SysSupplier();
- sup.setId(IDUtils.uuid());
+ // sup.setId(IDUtils.uuid());
sup.setName(cellInfo);
sup.setPersonName("");
sup.setPhone("");
@@ -743,15 +673,18 @@
this.sysSupplierList.add(sup);
this.supplierSelectList.add(sup);
}
- valuesList.add(id);
+ valuesList.add(String.valueOf(id));
}/*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));//管制品
@@ -770,7 +703,7 @@
}
sysReagent.setProductHome(valuesList.get(10));//厂家
sysReagent.setReagentType(valuesList.get(11));//试剂类型
- sysReagent.setSupplierId(valuesList.get(12));//供应商
+ sysReagent.setSupplierId(Long.valueOf(valuesList.get(12)));//供应商
DangerousFlag d;
if(dangours.equals("普货")){
d = DangerousFlag.NORMAL;
@@ -782,7 +715,6 @@
sysReagentsList.add(sysReagent);
}
sysReagentService.insertSysReagentList(sysReagentsList);
- System.out.println("=========导入结束=====");
FacesUtils.info("导入成功。");
} catch (Exception ex) {
ex.printStackTrace();
@@ -798,11 +730,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 +744,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;
+// }
+// }
+// }
+ Long id=Long.valueOf(rowKey);
+ return sysReagentService.getSysReagent(id);
}
};
}
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() {
@@ -838,7 +786,7 @@
}
public List<SysReagent> getSelectedList() {
- return selectedList;
+ return this.selectedList;
}
public void setSelectedList(List<SysReagent> selectedList) {
@@ -853,11 +801,11 @@
this.name = name;
}
- public String getSupplierId() {
+ public Long getSupplierId() {
return supplierId;
}
- public void setSupplierId(String supplierId) {
+ public void setSupplierId(Long supplierId) {
this.supplierId = supplierId;
}
@@ -894,7 +842,55 @@
return dangerousFlagSelectList;
}
+ public List<ReagentTypeFlag> getReagentTypeFlagList() {
+ if (this.reagentTypeFlagList == null) {
+ this.reagentTypeFlagList = Arrays.asList(ReagentTypeFlag.values());
+ }
+
+ return reagentTypeFlagList;
+ }
+
+
+
+
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