| | |
| | | |
| | | 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; |
| | |
| | | |
| | | @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)) { |
| | |
| | | if (StringUtils.isNotBlank(warehouseName)) { |
| | | params.put("warehouseName", "%" + warehouseName + "%"); |
| | | } |
| | | if (StringUtils.isNotBlank(warehouseId)) { |
| | | if (warehouseId!=null) { |
| | | params.put("warehouseId", warehouseId); |
| | | } |
| | | params.put("first", first); |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public List<SysWarehouseContainer> getSysWarehouseContainerList(String warehouseId){ |
| | | public List<SysWarehouseContainer> getSysWarehouseContainerList(Long warehouseId){ |
| | | return getSysWarehouseContainerList(null,null,warehouseId,null,null); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public SysWarehouseContainer getSysWarehouseContainer(String id) { |
| | | public SysWarehouseContainer getSysWarehouseContainer(Long id) { |
| | | try { |
| | | return this.sysWarehouseContainerDao.getSysWarehouseContainer(id); |
| | | } catch (DataAccessException e) { |
| | |
| | | @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) { |
| | |
| | | return false; |
| | | } |
| | | |
| | | List<String> ids = new ArrayList<String>(); |
| | | List<Long> ids = new ArrayList<Long>(); |
| | | for (SysWarehouseContainer sysWarehouseContainer : sysWarehouseContainerList) { |
| | | ids.add(sysWarehouseContainer.getId()); |
| | | } |
| | |
| | | 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); |
| | |
| | | } |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |