From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 01 七月 2024 10:58:35 +0800
Subject: [PATCH] change

---
 src/main/java/com/nanometer/smartlab/controller/WarehouseMngController.java |   61 +++++++++++++++++++++++-------
 1 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseMngController.java
index 9038eeb..eea1130 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseMngController.java
@@ -1,11 +1,21 @@
 package com.nanometer.smartlab.controller;
 
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
 import javax.annotation.Resource;
 
+import com.nanometer.smartlab.dao.SysLaboratoryDao;
+import com.nanometer.smartlab.entity.SysLaboratory;
+import com.nanometer.smartlab.entity.SysLaboratoryContainer;
+import com.nanometer.smartlab.entity.SysWarehouseContainer;
+import com.nanometer.smartlab.exception.BusinessException;
+import com.nanometer.smartlab.exception.ExceptionEnumCode;
+import com.nanometer.smartlab.service.SysLaboratoryContainerService;
+import com.nanometer.smartlab.service.SysLaboratoryService;
+import com.nanometer.smartlab.service.SysWarehouseContainerService;
 import org.apache.log4j.Logger;
 import org.primefaces.context.RequestContext;
 import org.primefaces.model.LazyDataModel;
@@ -31,6 +41,12 @@
 
 	@Resource
 	private SysWarehouseService sysWarehouseService;
+	@Resource
+	private SysLaboratoryDao sysLaboratoryDao;
+	@Resource
+	private SysLaboratoryContainerService sysLaboratoryContainerService;
+	@Resource
+	private SysWarehouseContainerService sysWarehouseContainerService;
 
 	/**
 	 * 数据源
@@ -39,7 +55,7 @@
 	/**
 	 * 数据模型
 	 */
-	private SysWarehouse sysWarehouse;
+	private SysWarehouse sysWarehouse=new SysWarehouse();
 	/**
 	 * 选中的list
 	 */
@@ -99,7 +115,13 @@
 					return;
 				}
 
-				this.sysWarehouseService.updateSysWarehouse(sysWarehouse);
+				SysLaboratory sysLaboratory = sysLaboratoryDao.getSysLaboratoryByName(sysWarehouse.getName());
+				if (sysLaboratory != null) {
+					this.sysWarehouseService.updateSysWarehouse2(sysWarehouse,sysLaboratory);
+				} else {
+					this.sysWarehouseService.updateSysWarehouse(sysWarehouse);
+				}
+
 
 				FacesUtils.info("修改成功。");
 				RequestContext.getCurrentInstance().execute("PF('dialog').hide()");
@@ -116,10 +138,19 @@
 				FacesUtils.warn("请选择数据。");
 				return;
 			}
-
+			//判断下面是否有柜子,有就拒绝删除
+			for (SysWarehouse sysWarehouse : selectedList) {
+				List<SysWarehouseContainer> list = sysWarehouseContainerService.getSysWarehouseContainerList(sysWarehouse.getId());
+				if (list.size() > 0) {
+					throw new BusinessException(ExceptionEnumCode.SYS_ERR, "该仓库下还有货柜,请清除货柜后删除仓库");
+				}
+			}
 			this.sysWarehouseService.deleteSysWarehouse(this.selectedList);
 
 			FacesUtils.info("删除成功。");
+		} catch (BusinessException e) {
+			logger.error(e.getMessage());
+			FacesUtils.warn(e.getMessage());
 		} catch (Exception e) {
 			logger.error("操作失败。", e);
 			FacesUtils.warn("操作失败。");
@@ -140,6 +171,7 @@
 						if (count > 0) {
 							list = sysWarehouseService.getSysWarehouseList(type, name, first, pageSize);
 						}
+						selectedList = new ArrayList<>();
 					} catch (Exception e) {
 						logger.error(e);
 					}
@@ -148,17 +180,18 @@
 
 				@Override
 				public SysWarehouse getRowData(String rowKey) {
-					Iterator<SysWarehouse> iterator = this.iterator();
-					if (iterator != null) {
-						SysWarehouse su = null;
-						while (iterator.hasNext()) {
-							su = iterator.next();
-							if (rowKey.equals(su.getId())) {
-								return su;
-							}
-						}
-					}
-					return null;
+//					Iterator<SysWarehouse> iterator = this.iterator();
+//					if (iterator != null) {
+//						SysWarehouse su = null;
+//						while (iterator.hasNext()) {
+//							su = iterator.next();
+//							if (rowKey.equals(su.getId())) {
+//								return su;
+//							}
+//						}
+//					}
+					Long id=Long.valueOf(rowKey);
+					return sysWarehouseService.getSysWarehouse(id);
 				}
 			};
 		}

--
Gitblit v1.9.2