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 |   53 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java b/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java
index 6114f90..75989d8 100644
--- a/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/ReagentMngController.java
@@ -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);
@@ -624,7 +669,7 @@
             FacesUtils.info("导入成功。");
         } catch (Exception ex) {
             ex.printStackTrace();
-            FacesUtils.info("导入失败。");
+            FacesUtils.info("导入失败,"+ex.getMessage());
         }
     }
     //导入

--
Gitblit v1.9.2