| | |
| | | import com.mes.rawusage.mapper.RawUsageMapper;
|
| | | import com.mes.rawusage.entity.RawUsage;
|
| | | import com.mes.rawusage.service.RawUsageService;
|
| | | import com.mes.shelfrack.entity.ShelfRack;
|
| | | import com.mes.shelfrack.entity.request.RawUsageAndShelfRack;
|
| | | import com.mes.shelfrack.mapper.ShelfRackMapper;
|
| | | import com.mes.storagetask.entity.StorageTask;
|
| | | import com.mes.storagetask.mapper.StorageTaskMapper;
|
| | | import org.springframework.beans.BeanUtils;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.stereotype.Service;
|
| | |
|
| | | import java.lang.reflect.InvocationTargetException;
|
| | | import java.time.LocalDateTime;
|
| | | import java.util.List;
|
| | |
|
| | | import static cn.hutool.core.date.DateTime.now;
|
| | |
|
| | | /**
|
| | | * @author system
|
| | |
| | |
|
| | | @Autowired
|
| | | private RawUsageMapper rawUsageMapper;
|
| | | @Autowired
|
| | | private ShelfRackMapper shelfRackMapper;
|
| | | @Autowired
|
| | | private StorageTaskMapper storageTaskMapper;
|
| | |
|
| | | @Override
|
| | | public List<RawUsage> findList(RawUsage params){
|
| | |
| | | return rawUsageMapper.selectList(query);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void updateRawPackageAndStorageRack(RawUsage raw) {
|
| | | // Step 1: 查询raw_package_id
|
| | | LambdaQueryWrapper<ShelfRack> queryWrapper = Wrappers.lambdaQuery(ShelfRack.class)
|
| | | .eq(ShelfRack::getNumber, raw.getId());
|
| | | ShelfRack shelfRack = shelfRackMapper.selectOne(queryWrapper);
|
| | | if (shelfRack == null) {
|
| | | throw new RuntimeException("未找到与指定货架ID关联的原料包信息");
|
| | | }
|
| | |
|
| | |
|
| | | // Step 2: 更新raw_package表
|
| | | RawUsage rawUsage=new RawUsage();
|
| | |
|
| | | rawUsage.setState("空闲");
|
| | | rawUsage.setId(shelfRack.getRawPackageId());
|
| | | rawUsageMapper.updateById(rawUsage);
|
| | |
|
| | | // Step 3: 更新storage_rack表
|
| | |
|
| | | ShelfRack rack = new ShelfRack();
|
| | | rack.setState("空闲");
|
| | | rack.setRawPackageId(null); // 设置RawPackageId为特定的空值,例如0
|
| | | LambdaQueryWrapper<ShelfRack> queryWrapper2 = Wrappers.lambdaQuery(ShelfRack.class)
|
| | | .eq(ShelfRack::getNumber, raw.getId());
|
| | | shelfRackMapper.update(rack, queryWrapper2);
|
| | |
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | @Override
|
| | | public void inStorage(RawUsageAndShelfRack raw) {
|
| | | RawUsage rawPackage = new RawUsage();
|
| | | BeanUtils.copyProperties(raw,rawPackage);
|
| | | rawPackage.setRawType(raw.getRawThickness() + raw.getColor());
|
| | | rawPackage.setState("使用中");
|
| | | rawPackage.setLeftPieces(rawPackage.getPieces());
|
| | | rawUsageMapper.insert(rawPackage);
|
| | |
|
| | | // 更新架表
|
| | | ShelfRack rack = new ShelfRack();
|
| | | rack.setState("使用中");
|
| | | rack.setRawPackageId(rawPackage.getId()); // 设置RawPackageId为特定的空值,例如0
|
| | | LambdaQueryWrapper<ShelfRack> queryWrapper = Wrappers.lambdaQuery(ShelfRack.class)
|
| | | .eq(ShelfRack::getNumber, raw.getNumber());
|
| | | shelfRackMapper.update(rack, queryWrapper);
|
| | | StorageTask storageTask=new StorageTask();
|
| | | storageTask.setTaskState("等待中");
|
| | | storageTask.setTaskType("从仓位到吊装位");
|
| | | storageTask.setLoadRack(raw.getLoadRack());
|
| | | storageTask.setShelfRack(raw.getNumber());
|
| | | storageTask.setRouteGroup(1);
|
| | | storageTask.setStartTime(now());
|
| | | storageTask.setFinishTime(now());
|
| | | insertTask(storageTask);
|
| | |
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | | @Override
|
| | | public void outStorage(RawUsageAndShelfRack raw) {
|
| | | ShelfRack rack = new ShelfRack();
|
| | | rack.setState("等待出库");
|
| | | rack.setRawPackageId(null); // 设置RawPackageId为特定的空值,例如0
|
| | | LambdaQueryWrapper<ShelfRack> queryWrapper = Wrappers.lambdaQuery(ShelfRack.class)
|
| | | .eq(ShelfRack::getNumber, raw.getNumber());
|
| | | shelfRackMapper.update(rack, queryWrapper);
|
| | |
|
| | |
|
| | | StorageTask storageTask=new StorageTask();
|
| | | storageTask.setTaskState("等待中");
|
| | | storageTask.setTaskType("从仓位到吊装位");
|
| | | storageTask.setLoadRack(raw.getLoadRack());
|
| | | storageTask.setShelfRack(raw.getNumber());
|
| | | storageTask.setRouteGroup(1);
|
| | | storageTask.setStartTime(now());
|
| | | storageTask.setFinishTime(now());
|
| | | insertTask(storageTask);
|
| | | }
|
| | |
|
| | |
|
| | | public void insertTask(StorageTask storageTask) {
|
| | | storageTaskMapper.insert(storageTask);
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | } |