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/service/SysWarehouseContainerServiceImpl.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 109 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java index f900c66..dec2a85 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java @@ -9,6 +9,12 @@ import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.Maps; +import com.nanometer.smartlab.dao.SysLaboratoryContainerDao; +import com.nanometer.smartlab.dao.SysLaboratoryDao; +import com.nanometer.smartlab.entity.SysLaboratory; +import com.nanometer.smartlab.entity.SysLaboratoryContainer; +import com.nanometer.smartlab.entity.SysWarehouse; +import com.nanometer.smartlab.util.Constants; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.dao.DataAccessException; @@ -37,9 +43,17 @@ @Resource(name = "sysWarehouseContainerDao") SysWarehouseContainerDao sysWarehouseContainerDao; + @Resource + SysLaboratoryContainerDao sysLaboratoryContainerDao; + @Resource + SysLaboratoryDao sysLaboratoryDao; + @Resource + BaseMetaService baseMetaService; + @Resource + SysWarehouseService sysWarehouseService; @Transactional(propagation = Propagation.REQUIRED) - public List<SysWarehouseContainer> getSysWarehouseContainerList(String warehouseType, String warehouseName, String warehouseId, Integer first, Integer pageSize) { + public List<SysWarehouseContainer> getSysWarehouseContainerList(String warehouseType, String warehouseName, Long warehouseId, Integer first, Integer pageSize) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(warehouseType)) { @@ -48,7 +62,7 @@ if (StringUtils.isNotBlank(warehouseName)) { params.put("warehouseName", "%" + warehouseName + "%"); } - if (StringUtils.isNotBlank(warehouseId)) { + if (warehouseId!=null) { params.put("warehouseId", warehouseId); } params.put("first", first); @@ -61,7 +75,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public List<SysWarehouseContainer> getSysWarehouseContainerList(String warehouseId){ + public List<SysWarehouseContainer> getSysWarehouseContainerList(Long warehouseId){ return getSysWarehouseContainerList(null,null,warehouseId,null,null); } @@ -83,7 +97,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public SysWarehouseContainer getSysWarehouseContainer(String id) { + public SysWarehouseContainer getSysWarehouseContainer(Long id) { try { return this.sysWarehouseContainerDao.getSysWarehouseContainer(id); } catch (DataAccessException e) { @@ -95,9 +109,9 @@ @Transactional(propagation = Propagation.REQUIRED) public SysWarehouseContainer insertSysWarehouseContainer(SysWarehouseContainer sysWarehouseContainer) { try { - if (sysWarehouseContainer.getId() == null) { - sysWarehouseContainer.setId(IDUtils.uuid()); - } +// if (sysWarehouseContainer.getId() == null) { +// sysWarehouseContainer.setId(IDUtils.uuid()); +// } this.sysWarehouseContainerDao.insertSysWarehouseContainer(sysWarehouseContainer); return sysWarehouseContainer; } catch (DuplicateKeyException ex) { @@ -140,7 +154,7 @@ return false; } - List<String> ids = new ArrayList<String>(); + List<Long> ids = new ArrayList<Long>(); for (SysWarehouseContainer sysWarehouseContainer : sysWarehouseContainerList) { ids.add(sysWarehouseContainer.getId()); } @@ -159,9 +173,9 @@ throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex); } } - + @Transactional(propagation = Propagation.REQUIRED) - public boolean isSysWarehouseContainerExist(String containerCode, String editId) { + public boolean isSysWarehouseContainerExist(String containerCode, Long editId) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("containerCode", containerCode); @@ -194,5 +208,90 @@ } } + @Override + @Transactional + public void insertSysWarehouseContainer2(SysWarehouseContainer sysWarehouseContainer) { + //0.新建自己 + this.insertSysWarehouseContainer(sysWarehouseContainer); + SysWarehouse sysWarehouse = sysWarehouseService.getSysWarehouse(sysWarehouseContainer.getWarehouseId()); + //1.新建实验室 + SysLaboratory sl = new SysLaboratory(); + + //sl.setId(IDUtils.uuid()); + sl.setType(baseMetaService.getBaseMetaList(Constants.BASE_META_GROUP_LABORATORY_TYPE).get(0).getId()); + //判断是否已经存在该名称实验室 + SysLaboratory sysLaboratory = sysLaboratoryDao.getSysLaboratoryByName(sysWarehouse.getName()); + if (sysLaboratory == null) { + //新建实验室 + sl.setName(sysWarehouse.getName()); + sl.setInfoCode(sysWarehouse.getInfoCode()); + sl.setBarCode(sysWarehouse.getBarCode()); + sl.setLocation1(sysWarehouse.getLocation1()); + sl.setLocation2(sysWarehouse.getLocation2()); + sl.setDepartment(sysWarehouse.getDepartment()); + sysLaboratoryDao.insertSysLaboratory(sl); + }else{ + sl.setId(sysLaboratory.getId()); + } + + //新建临时存储库 + Map<String,Object> params = new HashMap<>(); + params.put("containerCode", sysWarehouseContainer.getContainerCode()); + int count = sysLaboratoryContainerDao.getSysLaboratoryContainerTotalCount(params); + //判断是否已经存在该条码柜子 + if (count < 1) { + SysLaboratoryContainer slc = new SysLaboratoryContainer(); + // slc.setId(IDUtils.uuid()); + // (#{id}, #{laboratoryId}, #{type}, #{containerCode}, #{infoCode}, #{structure}, + // #{name}, 1, #{characterLeft}, #{characterRight}, now(), now(), #{controllerCode},#{project}) + slc.setLaboratoryId(sl.getId()); + slc.setType(sysWarehouseContainer.getType()); + slc.setContainerCode(sysWarehouseContainer.getContainerCode()); + slc.setInfoCode(sysWarehouseContainer.getInfoCode()); + slc.setStructure(sysWarehouseContainer.getStructure()); + slc.setName(sysWarehouseContainer.getName()); + slc.setCharacterLeft(sysWarehouseContainer.getCharacterLeft()); + slc.setCharacterRight(sysWarehouseContainer.getCharacterRight()); + slc.setControllerCode(sysWarehouseContainer.getControllerCode()); + sysLaboratoryContainerDao.insertSysLaboratoryContainer(slc); + } + + } + + @Override + @Transactional + public void updateSysWarehouseContainer2(SysWarehouseContainer sysWarehouseContainer) { + //1.更新自己 + this.updateSysWarehouseContainer(sysWarehouseContainer); + //2.更新实验室临时货柜 by ContainerCode + SysLaboratoryContainer sysLaboratoryContainer = sysLaboratoryContainerDao.getSysLaboratoryContainerByContainerCode(sysWarehouseContainer.getContainerCode()); + sysLaboratoryContainer.setName(sysWarehouseContainer.getName()); + sysLaboratoryContainer.setInfoCode(sysWarehouseContainer.getInfoCode()); + sysLaboratoryContainer.setControllerCode(sysWarehouseContainer.getControllerCode()); + sysLaboratoryContainer.setStructure(sysWarehouseContainer.getStructure()); + sysLaboratoryContainer.setCharacterRight(sysWarehouseContainer.getCharacterRight()); + sysLaboratoryContainer.setCharacterLeft(sysWarehouseContainer.getCharacterLeft()); + sysLaboratoryContainerDao.updateSysLaboratoryContainer(sysLaboratoryContainer); + + } + + @Override + @Transactional + public void deleteSysWarehouseContainer2(List<SysWarehouseContainer> selectedList) { + //1.删除自己 + this.deleteSysWarehouseContainer(selectedList); + List<Long> ids = new ArrayList<>(); + for (SysWarehouseContainer swc : selectedList) { + SysLaboratoryContainer slc = sysLaboratoryContainerDao.getSysLaboratoryContainerByContainerCode(swc.getContainerCode()); + if (slc != null) { + ids.add(slc.getId()); + } + } + //2.删除实验室临时存储柜 + if (ids.size() > 0){ + sysLaboratoryContainerDao.deleteSysLaboratoryContainers(ids); + } + } + } -- Gitblit v1.9.2