| | |
| | | import com.vincent.rsf.server.manager.controller.dto.LocStockDto; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.enums.CompanysType; |
| | | import com.vincent.rsf.server.manager.enums.OrderSourceType; |
| | | import com.vincent.rsf.server.manager.enums.OrderType; |
| | | import com.vincent.rsf.server.manager.enums.OrderWorkType; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl; |
| | | import com.vincent.rsf.server.manager.service.impl.TransferItemServiceImpl; |
| | | import com.vincent.rsf.server.system.constant.SerialRuleCode; |
| | | import com.vincent.rsf.server.system.entity.Fields; |
| | | import com.vincent.rsf.server.system.service.FieldsItemService; |
| | |
| | | private WarehouseService warehouseService; |
| | | @Autowired |
| | | private CompanysService companysService; |
| | | @Autowired |
| | | private TransferService transferService; |
| | | @Autowired |
| | | private TransferItemService transferItemService; |
| | | |
| | | |
| | | /** |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @date 2025/8/19 |
| | | * @description: 调拔单据同步 |
| | | * @version 1.0 |
| | | */ |
| | | @Override |
| | | @Transactional(timeout = 60, rollbackFor = Exception.class) |
| | | public R syncTransfer(SyncTransferParams transferParams) { |
| | | Transfer transfer = new Transfer(); |
| | | WarehouseAreas warehouseAreas = warehouseAreasService |
| | | .getOne(new LambdaQueryWrapper<WarehouseAreas>() |
| | | .eq(WarehouseAreas::getName, transfer.getOrgAreaName())); |
| | | if (Objects.isNull(warehouseAreas)) { |
| | | throw new CoolException("原库区不存在!!"); |
| | | } |
| | | |
| | | WarehouseAreas warehouseAreas1 = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>() |
| | | .eq(WarehouseAreas::getName, transfer.getTarAreaName())); |
| | | if (Objects.isNull(warehouseAreas1)) { |
| | | throw new CoolException("目标库区不存在!!"); |
| | | } |
| | | |
| | | transfer.setOrgAreaName(warehouseAreas.getName()) |
| | | .setOrgAreaId(warehouseAreas.getId()) |
| | | .setOrgWareName(warehouseAreas.getWarehouseId$()) |
| | | .setOrgWareId(warehouseAreas.getWarehouseId()) |
| | | .setTarWareName(warehouseAreas1.getWarehouseId$()) |
| | | .setTarAreaName(warehouseAreas1.getName()) |
| | | .setTarAreaId(warehouseAreas1.getId()) |
| | | .setTarWareName(warehouseAreas1.getWarehouseId$()) |
| | | .setTarWareId(warehouseAreas1.getWarehouseId()) |
| | | .setSource(OrderSourceType.ORDER_SOURCE_TYPE_ERP.val); |
| | | |
| | | if (!transferService.save(transfer)) { |
| | | throw new CoolException("调拔单据保存失败!!"); |
| | | } |
| | | |
| | | transferParams.getItems().forEach(item -> { |
| | | TransferItem transferItem = new TransferItem(); |
| | | BeanUtils.copyProperties(item, transferItem); |
| | | Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, item.getMatnrCode())); |
| | | if (Objects.isNull(matnr)) { |
| | | throw new CoolException("物料不存在!!"); |
| | | } |
| | | transferItem.setMatnrId(matnr.getId()) |
| | | .setTransferId(transfer.getId()) |
| | | .setTransferCode(transfer.getCode()); |
| | | |
| | | if (!transferItemService.save(transferItem)) { |
| | | throw new CoolException("调拔单明细保存失败!!"); |
| | | } |
| | | }); |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | } |