| | |
| | | import com.vincent.rsf.framework.common.Cools; |
| | | import com.vincent.rsf.framework.common.R; |
| | | import com.vincent.rsf.framework.exception.CoolException; |
| | | import com.vincent.rsf.server.api.controller.params.OtherReceiptParams; |
| | | import com.vincent.rsf.server.api.controller.params.ReceiptParams; |
| | | import com.vincent.rsf.server.api.entity.dto.ReceiptDetlsDto; |
| | | import com.vincent.rsf.server.api.entity.enums.OrderWorkType; |
| | | import com.vincent.rsf.server.api.service.MobileService; |
| | | import com.vincent.rsf.server.common.config.ConfigProperties; |
| | | import com.vincent.rsf.server.common.security.JwtSubject; |
| | |
| | | private UserMapper userService; |
| | | @Autowired |
| | | private UserLoginService userLoginService; |
| | | |
| | | @Autowired |
| | | private WarehouseAreasItemService warehouseAreasItemService; |
| | | @Resource |
| | | private AsnOrderItemMapper asnOrderItemMapper; |
| | | @Resource |
| | | private AsnOrderMapper asnOrderMapper; |
| | | @Resource |
| | | private MatnrMapper matnrMapper; |
| | | @Resource |
| | |
| | | if (StringUtils.isEmpty(barcode)) { |
| | | return R.error("标签码不能为空!!"); |
| | | } |
| | | ReceiptDetlsDto detlsDto = new ReceiptDetlsDto(); |
| | | AsnOrderItem asnOrderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getBarcode, barcode)); |
| | | if (Objects.isNull(asnOrderItem)) { |
| | | throw new CoolException("单据明细不存在!!"); |
| | | } |
| | | detlsDto.setAsnCode(asnOrderItem.getAsnCode()) |
| | | .setMatnk(asnOrderItem.getMatnk()) |
| | | .setBarcode(asnOrderItem.getBarcode()) |
| | | .setPoCode(asnOrderItem.getPoCode()) |
| | | .setPurQty(asnOrderItem.getAnfme()) |
| | | .setSplrBatch(asnOrderItem.getSplrBatch()); |
| | | |
| | | Matnr matnr = matnrMapper.selectById(asnOrderItem.getMatnrId()); |
| | | if (Objects.isNull(matnr)) { |
| | | throw new CoolException("数据错误:当前物料不存在!!"); |
| | | } |
| | | //SET 物料最大存放数量 |
| | | detlsDto.setMaxQty(matnr.getMaxQty()) |
| | | .setMatnrId(matnr.getId()) |
| | | .setStockUnit(matnr.getStockUnit()); |
| | | QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>() |
| | | .eq(QlyInspect::getAsnItemId, asnOrderItem.getId()).eq(QlyInspect::getPoItemId, asnOrderItem.getPoDetlId())); |
| | | //set 质检结果 |
| | | detlsDto.setInspect(inspect.getStatus$()); |
| | | //获取当前库存信息 |
| | | StockItem stockItem = stockItemMapper.selectOne(new LambdaQueryWrapper<StockItem>() |
| | | .eq(StockItem::getAsnItemId, asnOrderItem.getId()) |
| | | .eq(StockItem::getMatnrId, asnOrderItem.getMatnrId())); |
| | | //SET 当前库存数量 |
| | | if (Objects.isNull(stockItem)) { |
| | | detlsDto.setStockQty(0.0); |
| | | } else { |
| | | detlsDto.setStockQty(stockItem.getQty() + stockItem.getWorkQty()); |
| | | } |
| | | |
| | | //获取采购单明细信息 |
| | | PurchaseItem purchaseItem = purchaseItemMapper.selectOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, asnOrderItem.getPoDetlId())); |
| | | //SET 平台行号 |
| | | detlsDto.setPlatformId(purchaseItem.getPlatItemId()); |
| | | |
| | | return R.ok(detlsDto); |
| | | return getAsnOrderItem(asnOrderItem); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | return R.ok("操作成功"); |
| | | } |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @description 其它收货 |
| | | * @param params |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R otherReceipt(OtherReceiptParams params) { |
| | | if (Objects.isNull(params.getAsnCode())) { |
| | | throw new CoolException("通知单不能为空!!"); |
| | | } |
| | | if (Objects.isNull(params.getBarcode())) { |
| | | throw new CoolException("物料编码不能为空!!"); |
| | | } |
| | | |
| | | AsnOrderItem asnOrderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>() |
| | | .eq(AsnOrderItem::getAsnCode, params.getAsnCode()) |
| | | .eq(AsnOrderItem::getBarcode, params.getBarcode())); |
| | | |
| | | if (Objects.isNull(asnOrderItem)) { |
| | | throw new CoolException("单据明细不存在!!"); |
| | | } |
| | | |
| | | return getAsnOrderItem(asnOrderItem); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @description 获取所有通知单 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<AsnOrder> getAllAsnOrders() { |
| | | List<AsnOrder> asnOrders = asnOrderMapper.selectList(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getWkType, OrderWorkType.ORDER_PURCHASE_IN.type)); |
| | | return asnOrders; |
| | | } |
| | | |
| | | /** |
| | | * 获取ReceiptDetlsDto |
| | | */ |
| | | private R getAsnOrderItem(AsnOrderItem asnOrderItem) { |
| | | ReceiptDetlsDto detlsDto = new ReceiptDetlsDto(); |
| | | |
| | | detlsDto.setAsnCode(asnOrderItem.getAsnCode()) |
| | | .setMatnk(asnOrderItem.getMatnk()) |
| | | .setBarcode(asnOrderItem.getBarcode()) |
| | | .setPoCode(asnOrderItem.getPoCode()) |
| | | .setPurQty(asnOrderItem.getAnfme()) |
| | | .setSplrBatch(asnOrderItem.getSplrBatch()); |
| | | |
| | | Matnr matnr = matnrMapper.selectById(asnOrderItem.getMatnrId()); |
| | | if (Objects.isNull(matnr)) { |
| | | throw new CoolException("数据错误:当前物料不存在!!"); |
| | | } |
| | | //SET 物料最大存放数量 |
| | | detlsDto.setMaxQty(matnr.getMaxQty()) |
| | | .setMatnrId(matnr.getId()) |
| | | .setStockUnit(matnr.getStockUnit()); |
| | | QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>() |
| | | .eq(QlyInspect::getAsnItemId, asnOrderItem.getId()).eq(QlyInspect::getPoItemId, asnOrderItem.getPoDetlId())); |
| | | //set 质检结果 |
| | | detlsDto.setInspect(inspect.getStatus$()); |
| | | //获取当前库存信息 |
| | | StockItem stockItem = stockItemMapper.selectOne(new LambdaQueryWrapper<StockItem>() |
| | | .eq(StockItem::getAsnItemId, asnOrderItem.getId()) |
| | | .eq(StockItem::getMatnrId, asnOrderItem.getMatnrId())); |
| | | //SET 当前库存数量 |
| | | if (Objects.isNull(stockItem)) { |
| | | detlsDto.setStockQty(0.0); |
| | | } else { |
| | | detlsDto.setStockQty(stockItem.getQty() + stockItem.getWorkQty()); |
| | | } |
| | | |
| | | //获取采购单明细信息 |
| | | PurchaseItem purchaseItem = purchaseItemMapper.selectOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, asnOrderItem.getPoDetlId())); |
| | | //SET 平台行号 |
| | | detlsDto.setPlatformId(purchaseItem.getPlatItemId()); |
| | | |
| | | return R.ok(detlsDto); |
| | | } |
| | | |
| | | |
| | | } |