feat(wms): 支持通过订单号查询无码操作功能
- 在多个控制器的 getListForNoScan 方法中添加订单号参数支持 - 修改数据库查询逻辑从 getById 改为 lambdaQuery 条件查询 - 新增 NoScanningRequest 类添加订单号字段 - 更新 Service 层接口和实现类添加订单号查询方法 - 完善 SRMController 中的日志记录和错误处理 - 修复转储和调拨相关的无码操作查询逻辑
This commit is contained in:
parent
ee7568d987
commit
4f1980eb0f
|
|
@ -407,10 +407,15 @@ public class ComponentOutboundController extends BaseController {
|
|||
/**
|
||||
* 获取可无码发货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsComponentPacking order = wmscomponentPackingService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsComponentPacking order = wmscomponentPackingService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsComponentPacking::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsComponentPacking::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsComponentPackingItem> items = wmsComponentPackingItemService.lambdaQuery()
|
||||
.eq(WmsComponentPackingItem::getPackingId, orderId)
|
||||
|
|
@ -439,7 +444,10 @@ public class ComponentOutboundController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("pda/confirmNoScanning")
|
||||
public ApiResult<Void> confirmPdaNoScanning(@Valid @RequestBody NoScanningRequest request) {
|
||||
WmsComponentPacking packing = wmscomponentPackingService.getById(request.getId());
|
||||
WmsComponentPacking packing = wmscomponentPackingService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsComponentPacking::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsComponentPacking::getNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(packing)).throwMessage("此装箱单不存在");
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request.getItems())).throwMessage("无发货详情信息");
|
||||
|
||||
|
|
|
|||
|
|
@ -206,10 +206,15 @@ public class InCostCenterBackController extends BaseController {
|
|||
/**
|
||||
* 获取可无码收货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsInCostcenterBack order = inCostcenterBackService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsInCostcenterBack order = inCostcenterBackService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsInCostcenterBack::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsInCostcenterBack::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsInCostcenterBackItem> items = inCostcenterBackItemService.lambdaQuery()
|
||||
.eq(WmsInCostcenterBackItem::getOrderId, orderId)
|
||||
|
|
@ -241,7 +246,10 @@ public class InCostCenterBackController extends BaseController {
|
|||
VUtil.trueThrowBusinessError(noScanningBaseControllerService.existsQrCode(data.getMaterialNo()))
|
||||
.throwMessage("物料" + data.getMaterialNo() + "已生成二维码不支持无码收货")
|
||||
);
|
||||
WmsInCostcenterBack order = inCostcenterBackService.getById(request.getId());
|
||||
WmsInCostcenterBack order = inCostcenterBackService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsInCostcenterBack::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsInCostcenterBack::getNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
VUtil.trueThrowBusinessError(Objects.equals(order.getState(), 2)).throwMessage("该订单已完成");
|
||||
WmsInCostcenterBackTicket ticket = new WmsInCostcenterBackTicket()
|
||||
|
|
|
|||
|
|
@ -215,10 +215,15 @@ public class InProduceBackController extends BaseController {
|
|||
/**
|
||||
* 获取可无码收货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsInProduceBack order = inProduceBackService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsInProduceBack order = inProduceBackService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsInProduceBack::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsInProduceBack::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsInProduceBackItem> items = inProduceBackItemService.lambdaQuery()
|
||||
.eq(WmsInProduceBackItem::getOrderId, orderId)
|
||||
|
|
@ -250,7 +255,10 @@ public class InProduceBackController extends BaseController {
|
|||
VUtil.trueThrowBusinessError(noScanningBaseControllerService.existsQrCode(data.getMaterialNo()))
|
||||
.throwMessage("物料" + data.getMaterialNo() + "已生成二维码不支持无码收货")
|
||||
);
|
||||
WmsInProduceBack order = inProduceBackService.getById(request.getId());
|
||||
WmsInProduceBack order = inProduceBackService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsInProduceBack::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsInProduceBack::getNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
WmsInProduceBackTicket ticket = new WmsInProduceBackTicket()
|
||||
.setNo(serialNumberControllerService.generateSerialNumber(13))
|
||||
|
|
|
|||
|
|
@ -421,10 +421,15 @@ public class InProduceOrderController extends BaseController {
|
|||
/**
|
||||
* 获取可无码收货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsInProduceOrder order = produceOrderService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsInProduceOrder order = produceOrderService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsInProduceOrder::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsInProduceOrder::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsInProduceOrderItem> items = produceOrderItemService.lambdaQuery()
|
||||
.eq(WmsInProduceOrderItem::getOrderId, orderId)
|
||||
|
|
@ -457,7 +462,10 @@ public class InProduceOrderController extends BaseController {
|
|||
VUtil.trueThrowBusinessError(noScanningBaseControllerService.existsQrCode(data.getMaterialNo()))
|
||||
.throwMessage("物料" + data.getMaterialNo() + "已生成二维码不支持无码收货")
|
||||
);
|
||||
WmsInProduceOrder order = produceOrderService.getById(request.getId());
|
||||
WmsInProduceOrder order = produceOrderService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsInProduceOrder::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsInProduceOrder::getNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
VUtil.trueThrowBusinessError(!Objects.equals(order.getState(), (short) 0))
|
||||
.throwMessage("该订单非待收货状态");
|
||||
|
|
|
|||
|
|
@ -480,25 +480,30 @@ public class InProduceOrderSurplusController extends BaseController {
|
|||
/**
|
||||
* 获取可无码收货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsInProduceOrder order = produceOrderService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsInProduceOrderSurplus order = inProduceOrderSurplusService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsInProduceOrderSurplus::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsInProduceOrderSurplus::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsInProduceOrderItem> items = produceOrderItemService.lambdaQuery()
|
||||
.eq(WmsInProduceOrderItem::getOrderId, orderId)
|
||||
List<WmsInProduceOrderSurplusItem> items = inProduceOrderSurplusItemService.lambdaQuery()
|
||||
.eq(WmsInProduceOrderSurplusItem::getOrderId, orderId)
|
||||
.list();
|
||||
items.removeIf(item -> item.getNum().compareTo(BigDecimal.ZERO) <= 0
|
||||
|| noScanningBaseControllerService.existsQrCode(item.getMaterialNo()));
|
||||
items.removeIf(item -> item.getLeftNum().compareTo(BigDecimal.ZERO) <= 0
|
||||
|| noScanningBaseControllerService.existsQrCode(item.getMatnr()));
|
||||
return ApiResult.success(
|
||||
items.stream()
|
||||
.map(item -> new NoScanItemVO()
|
||||
.setRowNo("")
|
||||
.setRowNo(item.getRspos())
|
||||
.setOrderItemId(item.getId())
|
||||
.setMaterialNo(item.getMaterialNo())
|
||||
.setMaterialDesc(item.getMaterialDesc())
|
||||
.setFactoryNo(item.getFactoryNo())
|
||||
.setWarehouseNo(item.getWarehouseNo())
|
||||
.setMaterialNo(item.getMatnr())
|
||||
.setMaterialDesc(item.getMaktx2())
|
||||
.setFactoryNo(order.getDwerk())
|
||||
.setWarehouseNo(order.getLgort2())
|
||||
.setNum(item.getNum())
|
||||
)
|
||||
.toList()
|
||||
|
|
|
|||
|
|
@ -190,10 +190,15 @@ public class NormalPGIController extends BaseController {
|
|||
/**
|
||||
* 获取可无码收货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsSrmOrder order = wmsSrmOrderService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsSrmOrder order = wmsSrmOrderService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsSrmOrder::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsSrmOrder::getNoteNum, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在");
|
||||
List<WmsSrmOrderItem> items = wmsSrmOrderItemService.lambdaQuery()
|
||||
.eq(WmsSrmOrderItem::getOrderId, orderId)
|
||||
|
|
@ -225,7 +230,10 @@ public class NormalPGIController extends BaseController {
|
|||
@PostMapping("noScanSubmit")
|
||||
@ApiMark(moduleName = "送货单管理", apiName = "无码收货确认")
|
||||
public ApiResult<Void> noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) {
|
||||
WmsSrmOrder order = wmsSrmOrderService.getById(request.getId());
|
||||
WmsSrmOrder order = wmsSrmOrderService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsSrmOrder::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsSrmOrder::getNoteNum, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在");
|
||||
|
||||
WmsPoReceipt wmsPoReceipt = new WmsPoReceipt()
|
||||
|
|
@ -343,7 +351,7 @@ public class NormalPGIController extends BaseController {
|
|||
.setItem2(new ArrayList<>());
|
||||
|
||||
SRMInspectionInputDTO srmDto = new SRMInspectionInputDTO();
|
||||
srmDto.setCode("SCAN_RCV_RECEIVE_TO_SRM");
|
||||
srmDto.setCode("WMS_RCV_RECEIVE_TO_SRM");
|
||||
SRMInspectionContentDTO content = new SRMInspectionContentDTO();
|
||||
content.setSupplierName(order.getSupplierName());
|
||||
content.setSupplierNum(order.getSupplierNum());
|
||||
|
|
|
|||
|
|
@ -284,10 +284,15 @@ public class OutAssistanceController extends BaseController {
|
|||
/**
|
||||
* 获取可无码发货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsOutAssistance order = outAssistanceService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsOutAssistance order = outAssistanceService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsOutAssistance::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsOutAssistance::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsOutAssistanceItem> items = outAssistanceItemService.lambdaQuery()
|
||||
.eq(WmsOutAssistanceItem::getOrderId, orderId)
|
||||
|
|
@ -315,7 +320,10 @@ public class OutAssistanceController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("noScanSubmit")
|
||||
public ApiResult<Void> noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) {
|
||||
WmsOutAssistance order = outAssistanceService.getById(request.getId());
|
||||
WmsOutAssistance order = outAssistanceService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsOutAssistance::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsOutAssistance::getNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
request.getItems()
|
||||
.forEach(data ->
|
||||
|
|
|
|||
|
|
@ -285,10 +285,15 @@ public class OutCostCenterController extends BaseController {
|
|||
/**
|
||||
* 获取可无码发货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsOutCostcenter order = outCostcenterService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsOutCostcenter order = outCostcenterService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsOutCostcenter::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsOutCostcenter::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsOutCostcenterItem> items = outCostcenterItemService.lambdaQuery()
|
||||
.eq(WmsOutCostcenterItem::getOrderId, orderId)
|
||||
|
|
@ -316,7 +321,10 @@ public class OutCostCenterController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("noScanSubmit")
|
||||
public ApiResult<Void> noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) {
|
||||
WmsOutCostcenter order = outCostcenterService.getById(request.getId());
|
||||
WmsOutCostcenter order = outCostcenterService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsOutCostcenter::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsOutCostcenter::getNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
request.getItems()
|
||||
.forEach(data ->
|
||||
|
|
|
|||
|
|
@ -412,10 +412,15 @@ public class OutProduceController extends BaseController {
|
|||
/**
|
||||
* 获取可无码发货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsOutProduce order = outProduceService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsOutProduce order = outProduceService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsOutProduce::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsOutProduce::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsOutProduceItem> items = outProduceItemService.lambdaQuery()
|
||||
.eq(WmsOutProduceItem::getOrderId, orderId)
|
||||
|
|
@ -443,7 +448,10 @@ public class OutProduceController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("noScanSubmit")
|
||||
public ApiResult<Void> noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) {
|
||||
WmsOutProduce order = outProduceService.getById(request.getId());
|
||||
WmsOutProduce order = outProduceService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsOutProduce::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsOutProduce::getNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
request.getItems()
|
||||
.forEach(data ->
|
||||
|
|
|
|||
|
|
@ -143,10 +143,15 @@ public class OutPurchaseController extends BaseController {
|
|||
/**
|
||||
* 获取可无码发货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScan")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam Long orderId) {
|
||||
WmsReturnRequest order = returnRequestService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScan(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsReturnRequest order = returnRequestService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsReturnRequest::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsReturnRequest::getApplicationNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsReturnRequestItem> items = returnRequestItemService.lambdaQuery()
|
||||
.eq(WmsReturnRequestItem::getApplicationId, orderId)
|
||||
|
|
@ -174,7 +179,10 @@ public class OutPurchaseController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("noScanSubmit")
|
||||
public ApiResult<Void> noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) {
|
||||
WmsReturnRequest returnRequest = returnRequestService.getById(request.getId());
|
||||
WmsReturnRequest returnRequest = returnRequestService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsReturnRequest::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsReturnRequest::getApplicationNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(returnRequest)).throwMessage("申请单不存在");
|
||||
VUtil.trueThrowBusinessError(returnRequest.getApprovalStatus() != 1)
|
||||
.throwMessage("申请单未审批");
|
||||
|
|
|
|||
|
|
@ -493,10 +493,15 @@ public class TransferCompanyController extends BaseController {
|
|||
/**
|
||||
* 获取可无码发货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScanOut")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScanOut(@RequestParam Long orderId) {
|
||||
WmsTransferCompany order = transferCompanyService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScanOut(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsTransferCompany order = transferCompanyService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsTransferCompany::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsTransferCompany::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsTransferCompanyItem> items = transferCompanyItemService.lambdaQuery()
|
||||
.eq(WmsTransferCompanyItem::getOrderId, orderId)
|
||||
|
|
@ -524,7 +529,10 @@ public class TransferCompanyController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("pda/submitForOutNoScanning")
|
||||
public ApiResult<Void> submitForOutNoScanning(@Valid @RequestBody NoScanningRequest request) {
|
||||
WmsTransferCompany order = transferCompanyService.getById(request.getId());
|
||||
WmsTransferCompany order = transferCompanyService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsTransferCompany::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsTransferCompany::getNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("转储单不存在");
|
||||
List<WmsTransferCompanyItem> datas = transferCompanyItemService.getList(order.getId());
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(datas)).throwMessage("转储单明细不存在");
|
||||
|
|
@ -950,10 +958,15 @@ public class TransferCompanyController extends BaseController {
|
|||
/**
|
||||
* 获取可无码收货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScanIn")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScanIn(@RequestParam Long orderId) {
|
||||
WmsTransferCompanyTicket order = transferCompanyTicketService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScanIn(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsTransferCompanyTicket order = transferCompanyTicketService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsTransferCompanyTicket::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsTransferCompanyTicket::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<TransferCompanyItemVO> items = transferCompanyTicketItemService.getList(orderId);
|
||||
items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0
|
||||
|
|
@ -979,7 +992,7 @@ public class TransferCompanyController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("pda/submitForInNoScanning")
|
||||
public ApiResult<Void> submitForInNoScanning(@Valid @RequestBody NoScanningRequest request) {
|
||||
TransferCompanyTicketVO ticket = transferCompanyTicketService.getInfo(request.getId());
|
||||
TransferCompanyTicketVO ticket = transferCompanyTicketService.getInfo(request.getId(),request.getNo());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("出库单不存在");
|
||||
VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效");
|
||||
|
||||
|
|
|
|||
|
|
@ -519,10 +519,15 @@ public class TransferFactoryController extends BaseController {
|
|||
/**
|
||||
* 获取可无码发货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScanOut")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScanOut(@RequestParam Long orderId) {
|
||||
WmsTransferFactory order = transferFactoryService.getById(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScanOut(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
WmsTransferFactory order = transferFactoryService.lambdaQuery()
|
||||
.eq(Objects.nonNull(orderId), WmsTransferFactory::getId, orderId)
|
||||
.eq(StrUtil.isNotBlank(no), WmsTransferFactory::getNo, no)
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<WmsTransferFactoryItem> items = transferFactoryItemService.lambdaQuery()
|
||||
.eq(WmsTransferFactoryItem::getOrderId, orderId)
|
||||
|
|
@ -550,7 +555,10 @@ public class TransferFactoryController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("pda/submitForOutNoScanning")
|
||||
public ApiResult<Void> submitForOutNoScanning(@Valid @RequestBody NoScanningRequest request) {
|
||||
WmsTransferFactory order = transferFactoryService.getById(request.getId());
|
||||
WmsTransferFactory order = transferFactoryService.lambdaQuery()
|
||||
.eq(Objects.nonNull(request.getId()), WmsTransferFactory::getId, request.getId())
|
||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsTransferFactory::getNo, request.getNo())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("调拨单不存在");
|
||||
List<WmsTransferFactoryItem> datas = transferFactoryItemService.getList(order.getId());
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(datas)).throwMessage("调拨单明细不存在");
|
||||
|
|
@ -904,7 +912,7 @@ public class TransferFactoryController extends BaseController {
|
|||
)
|
||||
);
|
||||
OptRecordDTO optRecordDTO = new OptRecordDTO();
|
||||
optRecordDTO.setOperationType((short)1)
|
||||
optRecordDTO.setOperationType((short) 1)
|
||||
.setOrderId(ticket.getNo());
|
||||
optRecordService.add(optRecordDTO);
|
||||
transferFactoryTicketService.lambdaUpdate()
|
||||
|
|
@ -923,10 +931,12 @@ public class TransferFactoryController extends BaseController {
|
|||
/**
|
||||
* 获取可无码收货单项列表
|
||||
* @param orderId 订单ID
|
||||
* @param no 订单号
|
||||
*/
|
||||
@GetMapping("getListForNoScanIn")
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScanIn(@RequestParam Long orderId) {
|
||||
TransferFactoryTicketInfoVO order = transferFactoryTicketService.getInfo(orderId);
|
||||
public ApiResult<List<NoScanItemVO>> getListForNoScanIn(@RequestParam(required = false) Long orderId
|
||||
, @RequestParam(required = false) String no) {
|
||||
TransferFactoryTicketInfoVO order = transferFactoryTicketService.getInfo(orderId, no);
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<TransferFactoryItemVO> items = transferFactoryTicketItemService.getList(orderId);
|
||||
items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0
|
||||
|
|
@ -1049,7 +1059,7 @@ public class TransferFactoryController extends BaseController {
|
|||
)
|
||||
);
|
||||
OptRecordDTO optRecordDTO = new OptRecordDTO();
|
||||
optRecordDTO.setOperationType((short)1)
|
||||
optRecordDTO.setOperationType((short) 1)
|
||||
.setOrderId(ticket.getNo());
|
||||
optRecordService.add(optRecordDTO);
|
||||
transferFactoryTicketService.lambdaUpdate()
|
||||
|
|
|
|||
|
|
@ -16,9 +16,13 @@ public class NoScanningRequest {
|
|||
/**
|
||||
* 订单id
|
||||
*/
|
||||
@NotNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
*/
|
||||
private String no;
|
||||
|
||||
@Valid
|
||||
@NotEmpty
|
||||
private List<NoScanningItemRequest> items;
|
||||
|
|
|
|||
|
|
@ -25,4 +25,6 @@ public interface WmsTransferCompanyTicketMapper extends BaseMapper<WmsTransferCo
|
|||
TransferCompanyTicketVO getByNo(String no);
|
||||
|
||||
List<TransferCompanyTicketVO> getVOByOrderNo(String no);
|
||||
|
||||
TransferCompanyTicketVO getInfo1(Long id, String no);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,4 +26,6 @@ public interface WmsTransferFactoryTicketMapper extends BaseMapper<WmsTransferFa
|
|||
TransferFactoryTicketInfoVO getByNo(String no);
|
||||
|
||||
List<TransferFactoryTicketVO> getVOByOrderNo(String no);
|
||||
|
||||
TransferFactoryTicketInfoVO getInfo1(Long id, String no);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ public interface IWmsTransferCompanyTicketService extends IService<WmsTransferCo
|
|||
|
||||
TransferCompanyTicketVO getInfo(@Valid @NotNull Long id);
|
||||
|
||||
TransferCompanyTicketVO getInfo(Long id,String no);
|
||||
|
||||
TransferCompanyTicketVO getByNo(String no);
|
||||
|
||||
List<TransferCompanyTicketVO> getVOByOrderNo(@Valid @NotBlank String no);
|
||||
|
|
|
|||
|
|
@ -21,11 +21,13 @@ import java.util.List;
|
|||
*/
|
||||
public interface IWmsTransferFactoryTicketService extends IService<WmsTransferFactoryTicket> {
|
||||
|
||||
IPage<TransferFactoryTicketVO> search(@Valid TransferFactorySearchQO request);
|
||||
IPage<TransferFactoryTicketVO> search(TransferFactorySearchQO request);
|
||||
|
||||
TransferFactoryTicketInfoVO getInfo(@Valid @NotNull Long id);
|
||||
TransferFactoryTicketInfoVO getInfo(Long id);
|
||||
|
||||
TransferFactoryTicketInfoVO getByNo(@Valid @NotBlank String no);
|
||||
TransferFactoryTicketInfoVO getInfo(Long id,String no);
|
||||
|
||||
List<TransferFactoryTicketVO> getVOByOrderNo(@Valid @NotBlank String no);
|
||||
TransferFactoryTicketInfoVO getByNo(String no);
|
||||
|
||||
List<TransferFactoryTicketVO> getVOByOrderNo(String no);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,11 @@ public class WmsTransferCompanyTicketServiceImpl extends ServiceImpl<WmsTransfer
|
|||
return baseMapper.getInfo(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TransferCompanyTicketVO getInfo(Long id, String no) {
|
||||
return baseMapper.getInfo1(id,no);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TransferCompanyTicketVO getByNo(String no) {
|
||||
return baseMapper.getByNo(no);
|
||||
|
|
|
|||
|
|
@ -33,6 +33,11 @@ public class WmsTransferFactoryTicketServiceImpl extends ServiceImpl<WmsTransfer
|
|||
return baseMapper.getInfo(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TransferFactoryTicketInfoVO getInfo(Long id, String no) {
|
||||
return baseMapper.getInfo1(id, no);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TransferFactoryTicketInfoVO getByNo(String no) {
|
||||
return baseMapper.getByNo(no);
|
||||
|
|
|
|||
|
|
@ -62,4 +62,12 @@
|
|||
inner join wms_transfer_company_ticket tct on tc.id = tct.order_id
|
||||
where tct.state=0 and tct.finish and tc."no"=#{no}
|
||||
</select>
|
||||
|
||||
<select id="getInfo1" resultType="com.nflg.wms.common.pojo.vo.TransferCompanyTicketVO">
|
||||
select tct.id,tct.no as "ticket_no",tct.create_by,tct.create_time,tct.update_by,tct.update_time,tct.mat_doc
|
||||
,tct.doc_year,tct.state,tct.finish,tct.audit_state,tc.*
|
||||
from wms_transfer_company tc
|
||||
inner join wms_transfer_company_ticket tct on tc.id = tct.order_id
|
||||
where tct.id=#{id} or tct.no= #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -55,4 +55,20 @@
|
|||
INNER JOIN wms_transfer_factory tf ON tft.order_id=tf."id"
|
||||
WHERE tft.state=0 and tft.finish AND tf."no"= #{no}
|
||||
</select>
|
||||
|
||||
<select id="getInfo1" resultType="com.nflg.wms.common.pojo.vo.TransferFactoryTicketInfoVO">
|
||||
SELECT tft."id",tft."no" AS "ticket_no",tft.create_by,tft.create_time,tft.doc_year,tft.mat_doc,tft.state
|
||||
,tft.audit_state,tft.finish,tf.*
|
||||
FROM wms_transfer_factory_ticket tft
|
||||
INNER JOIN wms_transfer_factory tf ON tft.order_id=tf."id"
|
||||
<where>
|
||||
<if test="id!=null">
|
||||
and tft."id"=#{id}
|
||||
</if>
|
||||
<if test="no!=null and no!=''">
|
||||
and tft."no"= #{no}
|
||||
</if>
|
||||
</where>
|
||||
LIMIT 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -134,16 +134,19 @@ public class SRMController extends BaseController {
|
|||
/**
|
||||
* SRM 推送质检单到WMS
|
||||
*/
|
||||
|
||||
@PostMapping("/SendNFInspect")
|
||||
@Transactional
|
||||
public Object receiveQualityInspection(@RequestBody SRMQualityInspectionResult request) {
|
||||
log.info("接收SRM质检单: {}", request.getJsonstring());
|
||||
SRMQualityInspectionResultDTO data = JSONUtil.toBean(request.getJsonstring(), SRMQualityInspectionResultDTO.class);
|
||||
log.info("质检单解析完成, 单号: {}, 物料: {}, 结果: {}", data.getInspectionNum(), data.getItemCode(), data.getInspectionResult());
|
||||
List<WmsSrmQualityInspection> inspects = srmQualityInspectionService.lambdaQuery()
|
||||
.eq(WmsSrmQualityInspection::getInspectionNum, data.getInspectionNum())
|
||||
.list();
|
||||
if (CollectionUtil.isNotEmpty(inspects))
|
||||
if (CollectionUtil.isNotEmpty(inspects)) {
|
||||
log.warn("质检单已存在, 跳过处理: {}", data.getInspectionNum());
|
||||
return 2;
|
||||
}
|
||||
|
||||
Integer result = 1;
|
||||
// 找到入库的明细
|
||||
|
|
@ -154,14 +157,17 @@ public class SRMController extends BaseController {
|
|||
.eq(WmsQcReceiveItem::getNoteNum, data.getNoteNum())
|
||||
.one();
|
||||
if (Objects.isNull(receiveItem)) {
|
||||
log.error("接收到无效的质检信息" + data.getInspectionNum());
|
||||
log.error("未找到对应收货明细, 质检单号: {}, 物料: {}, 收货单: {}, 行号: {}",
|
||||
data.getInspectionNum(), data.getItemCode(), data.getReceiveNum(), data.getLineNumber());
|
||||
return 2;
|
||||
}
|
||||
log.info("匹配到收货明细, 质检单号: {}, 收货明细ID: {}", data.getInspectionNum(), receiveItem.getId());
|
||||
|
||||
// 检查物料是否生成过二维码
|
||||
boolean hasQrCode = qrCodeMasterService.lambdaQuery()
|
||||
.eq(WmsQrCodeMaster::getMaterialCode, data.getItemCode())
|
||||
.exists();
|
||||
log.info("物料 {} 是否已生成二维码: {}", data.getItemCode(), hasQrCode);
|
||||
|
||||
WmsSrmQualityInspection inspect = new WmsSrmQualityInspection()
|
||||
.setId(IdUtil.getSnowflakeNextId())
|
||||
|
|
@ -194,10 +200,12 @@ public class SRMController extends BaseController {
|
|||
if (inspect.getInspectionResult().equals("合格")) {
|
||||
isCheck = 1;
|
||||
inspect.setReceiveQty(inspect.getQualifiedQty());
|
||||
log.info("质检合格, 质检单号: {}, 合格数量: {}", data.getInspectionNum(), data.getQualifiedQty());
|
||||
|
||||
// 如果物料有二维码,则直接入库(参考NormalPGIController.takeDeliveryConfirm方法)
|
||||
if (hasQrCode) {
|
||||
inspect.setIsIn(true);
|
||||
log.info("物料有二维码, 执行直接入库, 质检单号: {}", data.getInspectionNum());
|
||||
|
||||
// 构建库存入库数据
|
||||
InventoryInDTO inventoryDTO = new InventoryInDTO()
|
||||
|
|
@ -232,10 +240,13 @@ public class SRMController extends BaseController {
|
|||
}
|
||||
|
||||
// 执行库存入库
|
||||
log.info("开始本地库存入库, 数量: {}", data.getQualifiedQty());
|
||||
inventoryService.in(inventories);
|
||||
|
||||
// 推送到SAP
|
||||
log.info("开始推送SAP入库, PO: {}, 物料: {}", data.getPoNum(), data.getItemCode());
|
||||
Pair<Pair<String, String>, Pair<String, String>> returnDto = sapService.zwm3a17(zwm3A17DTO);
|
||||
log.info("SAP入库返回, 物料凭证: {}, 年份: {}", returnDto.getKey().getKey(), returnDto.getValue().getValue());
|
||||
// 更新收货明细的物料凭证和入库数量
|
||||
qcReceiveItemService.lambdaUpdate()
|
||||
.eq(WmsQcReceiveItem::getId, receiveItem.getId())
|
||||
|
|
@ -255,13 +266,18 @@ public class SRMController extends BaseController {
|
|||
.eq(WmsQcReceive::getId, receiveItem.getReceiveId())
|
||||
.set(WmsQcReceive::getIsCompleted, (short) 2)
|
||||
.update();
|
||||
log.info("收货单全部完成, receiveId: {}", receiveItem.getReceiveId());
|
||||
} else {
|
||||
qcReceiveService.lambdaUpdate()
|
||||
.eq(WmsQcReceive::getId, receiveItem.getReceiveId())
|
||||
.set(WmsQcReceive::getIsCompleted, (short) 1)
|
||||
.update();
|
||||
log.info("收货单部分完成, receiveId: {}", receiveItem.getReceiveId());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
log.warn("质检不合格, 质检单号: {}, 不合格数量: {}, 原因: {}",
|
||||
data.getInspectionNum(), data.getUnqualifiedQty(), data.getUnqualifiedReason());
|
||||
}
|
||||
srmQualityInspectionService.save(inspect);
|
||||
qcReceiveService.lambdaUpdate()
|
||||
|
|
@ -269,7 +285,7 @@ public class SRMController extends BaseController {
|
|||
.set(WmsQcReceive::getIsCheck, isCheck)
|
||||
.update();
|
||||
qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), inspect.getReceiveNum());
|
||||
log.error("质检单生成上架任务成功");
|
||||
log.info("质检单处理完成: {}, 结果: {}", data.getInspectionNum(), inspect.getInspectionResult());
|
||||
return 0;
|
||||
} catch (Exception ex) {
|
||||
log.error("SRM送货单保存失败", ex);
|
||||
|
|
|
|||
Loading…
Reference in New Issue