package com.yuanchu.mom.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.dto.WarehouseDto; import com.yuanchu.mom.mapper.WarehouseCellMapper; import com.yuanchu.mom.mapper.WarehouseHistoryMapper; import com.yuanchu.mom.mapper.WarehouseMapper; import com.yuanchu.mom.mapper.WarehouseShelfMapper; import com.yuanchu.mom.pojo.Warehouse; import com.yuanchu.mom.pojo.WarehouseCell; import com.yuanchu.mom.pojo.WarehouseHistory; import com.yuanchu.mom.pojo.WarehouseShelf; import com.yuanchu.mom.service.WarehouseService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** * @author Administrator * @description 针对表【ins_sample_user(样品负责人记录)】的数据库操作Service实现 * @createDate 2024-03-14 17:12:02 */ @Service @AllArgsConstructor public class WarehouseServiceImpl extends ServiceImpl implements WarehouseService { private WarehouseMapper warehouseMapper; private WarehouseShelfMapper warehouseShelfMapper; private WarehouseCellMapper warehouseCellMapper; private WarehouseHistoryMapper warehouseHistoryMapper; @Override public int addWarehouse(String name) { Warehouse warehouse = new Warehouse(); warehouse.setName(name); return warehouseMapper.insert(warehouse); } @Override public List selectWarehouse() { return warehouseMapper.selectWarehouseList(); } @Override @Transactional(rollbackFor = Exception.class) public int addShelf(WarehouseShelf warehouseShelf) { warehouseShelfMapper.insert(warehouseShelf); List cells = new ArrayList<>(); for (Integer i = 0; i < warehouseShelf.getRow(); i++) { for (Integer a = 0; a < warehouseShelf.getCol(); a++) { WarehouseCell cell = new WarehouseCell(); cell.setRow(i); cell.setCol(a); cell.setState(1); cells.add(cell); } } warehouseCellMapper.saveBatch(cells); return 1; } @Override @Transactional(rollbackFor = Exception.class) public int delWarehouse(Integer id) { warehouseShelfMapper.delete(Wrappers.lambdaUpdate().eq(WarehouseShelf::getWarehouseId, id)); return warehouseMapper.deleteById(id); } @Override public int upWarehouse(Warehouse warehouse) { return warehouseMapper.updateById(warehouse); } }