kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
@@ -2,16 +2,14 @@
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.*;
import javax.annotation.Resource;
import com.nanometer.smartlab.entity.BaseMeta;
import com.nanometer.smartlab.entity.SysLaboratory;
import com.nanometer.smartlab.service.SysLaboratoryService;
import com.nanometer.smartlab.service.*;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
@@ -28,9 +26,6 @@
import com.nanometer.smartlab.entity.SysController;
import com.nanometer.smartlab.entity.SysLaboratoryContainer;
import com.nanometer.smartlab.service.BaseMetaService;
import com.nanometer.smartlab.service.SysControllerService;
import com.nanometer.smartlab.service.SysLaboratoryContainerService;
import com.nanometer.smartlab.util.Constants;
import com.nanometer.smartlab.util.FacesUtils;
@@ -54,6 +49,8 @@
    private BaseMetaService baseMetaService;
   @Resource
   private SysLaboratoryService sysLaboratoryService;
   @Resource
   private SysProjectService sysProjectService;
   /**
    * 数据源
    */
@@ -61,7 +58,7 @@
   /**
    * 数据模型
    */
   private SysLaboratoryContainer sysLaboratoryContainer;
   private SysLaboratoryContainer sysLaboratoryContainer=new SysLaboratoryContainer();
   /**
    * 选中的list
    */
@@ -71,6 +68,8 @@
   private String laboratoryType;
   private String laboratoryName;
   private String project;
   private String controllerName;
   private int action;
@@ -136,6 +135,7 @@
   public void onSaveBtnClick() {
      try {
         // 新建
         if (this.action == Constants.ACTION_ADD) {
            if (this.sysLaboratoryContainer == null) {
@@ -170,6 +170,7 @@
               return;
            }
            System.out.println(sysLaboratoryContainer.getContainerCode());
            this.sysLaboratoryContainerService.insertSysLaboratoryContainer(sysLaboratoryContainer);
            FacesUtils.info("新建成功。");
@@ -208,6 +209,9 @@
               return;
            }
//            sysLaboratoryContainer.setProject(null);
//            sysLaboratoryContainer.getProject();
            this.sysLaboratoryContainerService.updateSysLaboratoryContainer(sysLaboratoryContainer);
            FacesUtils.info("修改成功。");
@@ -222,7 +226,7 @@
   public void export2Excel(){
      try {
         List<Map> list = sysLaboratoryContainerService.exportExcelList(laboratoryType, laboratoryName);
         List<Map> list = sysLaboratoryContainerService.exportExcelList(laboratoryType, laboratoryName,project,controllerName);
         sysLaboratoryContainerService.export2Excel(list);
      }catch (Exception e){
         e.printStackTrace();
@@ -286,18 +290,34 @@
               }
               valuesList.add(cellInfo);
            }
            if (valuesList.size() != 10){
               break;
            }
            System.out.println("value :     "+valuesList);
            SysLaboratoryContainer sysLaboratoryContainer=new SysLaboratoryContainer();
            sysLaboratoryContainer.setLaboratoryId(getLabId(sysLaboratories,valuesList.get(0)));
            sysLaboratoryContainer.setControllerCode(getConCode(sysControllers,valuesList.get(1)));
            sysLaboratoryContainer.setContainerCode(valuesList.get(2));
            sysLaboratoryContainer.setType(getBaseMetaId(typeList,valuesList.get(3)));
            sysLaboratoryContainer.setInfoCode(valuesList.get(4));
            sysLaboratoryContainer.setStructure(getBaseMetaId(struList,valuesList.get(5)));
            sysLaboratoryContainer.setName(valuesList.get(6));
            if(valuesList.get(3).equals("智能柜")){
               sysLaboratoryContainer.setCharacterLeft(getBaseMetaId(charList,valuesList.get(7)));
               sysLaboratoryContainer.setCharacterRight(getBaseMetaId(charList,valuesList.get(8)));
            if (!valuesList.get(1).replace(" ","").isEmpty()){
               List<String> projects = Arrays.asList(valuesList.get(1).split(","));
               for (String project : projects) {
                  //不存再就直接推出
                  if (!sysProjectService.isExistProject(project)) {
                     throw new Exception("课题组不存在,(" + i  + "行)");
                  }
               }
               //都存在就设置
               sysLaboratoryContainer.setProject(valuesList.get(1).replace(" ",""));
            }else{
               sysLaboratoryContainer.setProject(null);
            }
            sysLaboratoryContainer.setControllerCode(getConCode(sysControllers,valuesList.get(2)));
            sysLaboratoryContainer.setContainerCode(valuesList.get(3));
            sysLaboratoryContainer.setType(getBaseMetaId(typeList,valuesList.get(4)));
            sysLaboratoryContainer.setInfoCode(valuesList.get(5));
            sysLaboratoryContainer.setStructure(getBaseMetaId(struList,valuesList.get(6)));
            sysLaboratoryContainer.setName(valuesList.get(7));
            if(valuesList.get(4).equals("智能柜")){
               sysLaboratoryContainer.setCharacterLeft(getBaseMetaId(charList,valuesList.get(8)));
               sysLaboratoryContainer.setCharacterRight(getBaseMetaId(charList,valuesList.get(9)));
            }
            sysLaboratoryContainers.add(sysLaboratoryContainer);
         }
@@ -309,8 +329,8 @@
      }
   }
   public String getBaseMetaId(List<BaseMeta> list,String name){
      String id="";
   public Long getBaseMetaId(List<BaseMeta> list,String name){
      Long id=null;
      for(int i=0;i<list.size();i++){
         if(name.equals(list.get(i).getMetaValue())){
            id=list.get(i).getId();
@@ -319,8 +339,8 @@
      return  id;
   }
   public String getLabId(List<SysLaboratory> list,String name){
      String id="";
   public Long getLabId(List<SysLaboratory> list,String name){
      Long id=null;
      for(int i=0;i<list.size();i++){
         if(list.get(i).getName().equals(name)){
            id=list.get(i).getId();
@@ -378,12 +398,13 @@
               List<SysLaboratoryContainer> list = null;
               try {
                  int count = sysLaboratoryContainerService.getSysLaboratoryContainerTotalCount(laboratoryType,
                        laboratoryName,null);
                        laboratoryName,null,project);
                  this.setRowCount(count);
                  if (count > 0) {
                     list = sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryType,
                           laboratoryName,null, first, pageSize);
                           laboratoryName,null,project, first, pageSize);
                  }
                  selectedList = new ArrayList<> ();
               } catch (Exception e) {
                  logger.error(e);
               }
@@ -392,17 +413,18 @@
            @Override
            public SysLaboratoryContainer getRowData(String rowKey) {
               Iterator<SysLaboratoryContainer> iterator = this.iterator();
               if (iterator != null) {
                  SysLaboratoryContainer su = null;
                  while (iterator.hasNext()) {
                     su = iterator.next();
                     if (rowKey.equals(su.getId())) {
                        return su;
                     }
                  }
               }
               return null;
//               Iterator<SysLaboratoryContainer> iterator = this.iterator();
//               if (iterator != null) {
//                  SysLaboratoryContainer su = null;
//                  while (iterator.hasNext()) {
//                     su = iterator.next();
//                     if (rowKey.equals(su.getId())) {
//                        return su;
//                     }
//                  }
//               }
               Long id=Long.valueOf(rowKey);
               return sysLaboratoryContainerService.getSysLaboratoryContainer(id);
            }
         };
      }
@@ -454,10 +476,8 @@
   }
   public List<SysController> getControllers() {
      if(controllers == null)
      {
         this.controllers = sysControllerService.getAllControllerList();
      }
      return controllers;
   }
@@ -465,4 +485,19 @@
      this.controllers = controllers;
   }
   public String getProject() {
      return project;
   }
   public void setProject(String project) {
      this.project = project;
   }
   public String getControllerName() {
      return controllerName;
   }
   public void setControllerName(String controllerName) {
      this.controllerName = controllerName;
   }
}