From 61b0fb5802f31e2f7673ddbf30e6d21220b6c7da Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期日, 07 二月 2021 09:05:42 +0800 Subject: [PATCH] 仓库货柜修改 --- src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java | 97 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 97 insertions(+), 0 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..9dc584a 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,6 +43,14 @@ @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) { @@ -194,5 +208,88 @@ } } + @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<String> ids = new ArrayList<>(); + for (SysWarehouseContainer swc : selectedList) { + SysLaboratoryContainer slc = sysLaboratoryContainerDao.getSysLaboratoryContainerByContainerCode(swc.getContainerCode()); + if (slc != null) { + ids.add(slc.getId()); + } + } + //2.删除实验室临时存储柜 + sysLaboratoryContainerDao.deleteSysLaboratoryContainers(ids); + } + } -- Gitblit v1.9.2