Merge remote-tracking branch 'origin/qms/develop' into qms/develop
This commit is contained in:
commit
84df559f22
|
|
@ -448,6 +448,8 @@ public class ComponentOutboundController extends BaseController {
|
||||||
@Transactional
|
@Transactional
|
||||||
@PostMapping("pda/confirmNoScanning")
|
@PostMapping("pda/confirmNoScanning")
|
||||||
public ApiResult<Void> confirmPdaNoScanning(@Valid @RequestBody NoScanningRequest request) {
|
public ApiResult<Void> confirmPdaNoScanning(@Valid @RequestBody NoScanningRequest request) {
|
||||||
|
request.getItems().removeIf(it -> CollectionUtil.isEmpty(it.getDatas()));
|
||||||
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request.getItems())).throwMessage("无效数据");
|
||||||
WmsComponentPacking packing = wmscomponentPackingService.lambdaQuery()
|
WmsComponentPacking packing = wmscomponentPackingService.lambdaQuery()
|
||||||
.eq(Objects.nonNull(request.getId()), WmsComponentPacking::getId, request.getId())
|
.eq(Objects.nonNull(request.getId()), WmsComponentPacking::getId, request.getId())
|
||||||
.eq(StrUtil.isNotBlank(request.getNo()), WmsComponentPacking::getNo, request.getNo())
|
.eq(StrUtil.isNotBlank(request.getNo()), WmsComponentPacking::getNo, request.getNo())
|
||||||
|
|
|
||||||
|
|
@ -99,9 +99,6 @@ public class NormalPGIController extends BaseController {
|
||||||
@Resource
|
@Resource
|
||||||
private IWmsPackageItemService wmsPackageItemService;
|
private IWmsPackageItemService wmsPackageItemService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private IWmsQrCodeMasterService wmsQrCodeMasterService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IWmsQrCodeMasterService qrCodeMasterService;
|
private IWmsQrCodeMasterService qrCodeMasterService;
|
||||||
|
|
||||||
|
|
@ -641,6 +638,7 @@ public class NormalPGIController extends BaseController {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
//收货确认
|
//收货确认
|
||||||
|
@Transactional
|
||||||
@PostMapping("PDA/takeDelivery")
|
@PostMapping("PDA/takeDelivery")
|
||||||
@ApiMark(moduleName = "送货单管理", apiName = "收货确认")
|
@ApiMark(moduleName = "送货单管理", apiName = "收货确认")
|
||||||
public ApiResult<Void> takeDelivery(@Valid @RequestBody List<SrmMaterialReceiptQO> request) {
|
public ApiResult<Void> takeDelivery(@Valid @RequestBody List<SrmMaterialReceiptQO> request) {
|
||||||
|
|
@ -679,7 +677,7 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
for (SrmMaterialReceiptQO item : request) {
|
for (SrmMaterialReceiptQO item : request) {
|
||||||
|
|
||||||
if (item.getReceiptNum().equals(BigDecimal.ZERO))
|
if (item.getReceiptNum().compareTo(BigDecimal.ZERO)==0)
|
||||||
continue;
|
continue;
|
||||||
// 处理二维码
|
// 处理二维码
|
||||||
List<PDAScanCodeQO> autoFindChildCodes = Lists.newArrayList();
|
List<PDAScanCodeQO> autoFindChildCodes = Lists.newArrayList();
|
||||||
|
|
@ -726,7 +724,7 @@ public class NormalPGIController extends BaseController {
|
||||||
setQcMaterialSyncDto(qcMaterialSyncDTOS, item, order, codes, materialInfoInOrder, wmsQcReceiveItems, wmsQcReceive.getId(), orderItemId);
|
setQcMaterialSyncDto(qcMaterialSyncDTOS, item, order, codes, materialInfoInOrder, wmsQcReceiveItems, wmsQcReceive.getId(), orderItemId);
|
||||||
for (PDAScanCodeQO code : item.getScanCodes()) {
|
for (PDAScanCodeQO code : item.getScanCodes()) {
|
||||||
// 处理条码
|
// 处理条码
|
||||||
WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery()
|
WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery()
|
||||||
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
||||||
.one();
|
.one();
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】");
|
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】");
|
||||||
|
|
@ -745,7 +743,7 @@ public class NormalPGIController extends BaseController {
|
||||||
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
|
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
|
||||||
for (PDAScanCodeQO code : item.getScanCodes()) {
|
for (PDAScanCodeQO code : item.getScanCodes()) {
|
||||||
// 处理条码
|
// 处理条码
|
||||||
WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery()
|
WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery()
|
||||||
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
||||||
.one();
|
.one();
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】");
|
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】");
|
||||||
|
|
@ -1656,7 +1654,7 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(scanCode)) {
|
if (CollectionUtil.isNotEmpty(scanCode)) {
|
||||||
scanCode.forEach(code -> {
|
scanCode.forEach(code -> {
|
||||||
WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.getByCode(code.getCodeId());
|
WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.getByCode(code.getCodeId());
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("条码不存在:" + code.getCodeId());
|
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("条码不存在:" + code.getCodeId());
|
||||||
// 库存
|
// 库存
|
||||||
InventoryInDTO inventoryDTO = inventories.stream()
|
InventoryInDTO inventoryDTO = inventories.stream()
|
||||||
|
|
@ -2016,7 +2014,7 @@ public class NormalPGIController extends BaseController {
|
||||||
.map(WmsPackageItemDetailDTO::getBarcodeId).collect(Collectors.toList());
|
.map(WmsPackageItemDetailDTO::getBarcodeId).collect(Collectors.toList());
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(parentIds)) {
|
if (CollectionUtil.isNotEmpty(parentIds)) {
|
||||||
List<WmsQrCodeMaster> childMasters = wmsQrCodeMasterService.lambdaQuery()
|
List<WmsQrCodeMaster> childMasters = qrCodeMasterService.lambdaQuery()
|
||||||
.in(WmsQrCodeMaster::getParentBarcodeId, parentIds).list();
|
.in(WmsQrCodeMaster::getParentBarcodeId, parentIds).list();
|
||||||
childMasters.forEach(child -> {
|
childMasters.forEach(child -> {
|
||||||
WmsPackageItemDetailDTO dto = new WmsPackageItemDetailDTO();
|
WmsPackageItemDetailDTO dto = new WmsPackageItemDetailDTO();
|
||||||
|
|
@ -2136,7 +2134,7 @@ public class NormalPGIController extends BaseController {
|
||||||
setQcMaterialSyncDto(qcMaterialSyncDTOS, item, order, codes, materialInfoInOrder, wmsQcReceiveItems, wmsQcReceive.getId(), orderItemId);
|
setQcMaterialSyncDto(qcMaterialSyncDTOS, item, order, codes, materialInfoInOrder, wmsQcReceiveItems, wmsQcReceive.getId(), orderItemId);
|
||||||
for (PDAScanCodeQO code : item.getScanCodes()) {
|
for (PDAScanCodeQO code : item.getScanCodes()) {
|
||||||
// 处理条码
|
// 处理条码
|
||||||
WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery()
|
WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery()
|
||||||
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
||||||
.one();
|
.one();
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】");
|
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】");
|
||||||
|
|
@ -2155,7 +2153,7 @@ public class NormalPGIController extends BaseController {
|
||||||
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
|
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
|
||||||
for (PDAScanCodeQO code : item.getScanCodes()) {
|
for (PDAScanCodeQO code : item.getScanCodes()) {
|
||||||
// 处理条码
|
// 处理条码
|
||||||
WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery()
|
WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery()
|
||||||
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
||||||
.one();
|
.one();
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】");
|
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】");
|
||||||
|
|
|
||||||
|
|
@ -70,14 +70,11 @@ public class QmsController extends BaseController {
|
||||||
@Transactional
|
@Transactional
|
||||||
@PostMapping("/iqc/incoming")
|
@PostMapping("/iqc/incoming")
|
||||||
public ApiResult<Void> iqcIncoming(@RequestBody @NotNull WmsIncomingInspectionTaskCallbackQO qo) {
|
public ApiResult<Void> iqcIncoming(@RequestBody @NotNull WmsIncomingInspectionTaskCallbackQO qo) {
|
||||||
log.info("质检单解析完成, 单号: {}, 物料: {}, 结果: {}", qo.getDeliveryOrderNo(), qo.getMaterialNo(), qo.getInspectionResult());
|
log.info("IQC检测回调, 单号: {}, 物料: {}, 结果: {}", qo.getDeliveryOrderNo(), qo.getMaterialNo(), qo.getInspectionResult());
|
||||||
List<WmsSrmQualityInspection> inspects = srmQualityInspectionService.lambdaQuery()
|
VUtil.trueThrowBusinessError(srmQualityInspectionService.lambdaQuery()
|
||||||
.eq(WmsSrmQualityInspection::getInspectionNum, qo.getTaskNo())
|
.eq(WmsSrmQualityInspection::getInspectionNum, qo.getTaskNo())
|
||||||
.list();
|
.exists()
|
||||||
if (CollectionUtil.isNotEmpty(inspects)) {
|
).throwMessage("质检单已存在");
|
||||||
log.warn("质检单已存在, 跳过处理: {}", qo.getTaskNo());
|
|
||||||
VUtil.trueThrowBusinessError(true).throwMessage("质检单已存在");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 找到入库的明细
|
// 找到入库的明细
|
||||||
WmsQcReceiveItem receiveItem = qcReceiveItemService.lambdaQuery()
|
WmsQcReceiveItem receiveItem = qcReceiveItemService.lambdaQuery()
|
||||||
|
|
@ -174,12 +171,10 @@ public class QmsController extends BaseController {
|
||||||
Pair<String, String> returnDto = sapService.zwm3a18(zwm3A18DTO);
|
Pair<String, String> returnDto = sapService.zwm3a18(zwm3A18DTO);
|
||||||
log.info("SAP质检入库返回, 物料凭证: {}, 年份: {}", returnDto.getKey(), returnDto.getValue());
|
log.info("SAP质检入库返回, 物料凭证: {}, 年份: {}", returnDto.getKey(), returnDto.getValue());
|
||||||
// 更新收货明细的物料凭证和入库数量
|
// 更新收货明细的物料凭证和入库数量
|
||||||
qcReceiveItemService.lambdaUpdate()
|
receiveItem.setInQty(BigDecimal.valueOf(qo.getQualifiedQty()));
|
||||||
.eq(WmsQcReceiveItem::getId, receiveItem.getId())
|
receiveItem.setMaterialDoc(returnDto.getKey());
|
||||||
.set(WmsQcReceiveItem::getInQty, qo.getQualifiedQty())
|
receiveItem.setMaterialDocYear(returnDto.getValue());
|
||||||
.set(WmsQcReceiveItem::getMaterialDoc, returnDto.getKey())
|
qcReceiveItemService.updateById(receiveItem);
|
||||||
.set(WmsQcReceiveItem::getMaterialDocYear, returnDto.getValue())
|
|
||||||
.update();
|
|
||||||
|
|
||||||
// 检查并更新收货单完成状态
|
// 检查并更新收货单完成状态
|
||||||
List<WmsQcReceiveItem> allItems = qcReceiveItemService.lambdaQuery()
|
List<WmsQcReceiveItem> allItems = qcReceiveItemService.lambdaQuery()
|
||||||
|
|
@ -210,34 +205,34 @@ public class QmsController extends BaseController {
|
||||||
.eq(WmsQcReceive::getOrderNo, inspect.getNoteNum())
|
.eq(WmsQcReceive::getOrderNo, inspect.getNoteNum())
|
||||||
.set(WmsQcReceive::getIsCheck, isCheck)
|
.set(WmsQcReceive::getIsCheck, isCheck)
|
||||||
.update();
|
.update();
|
||||||
qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), inspect.getReceiveNum());
|
qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), receiveItem.getMaterialDoc());
|
||||||
//更新二维码数量
|
//更新二维码数量
|
||||||
if (CollectionUtil.isNotEmpty(qo.getQrCodes())) {
|
if (CollectionUtil.isNotEmpty(qo.getQrCodes())) {
|
||||||
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.getByCodes(qo.getQrCodes().stream().map(MaterialQrCodeDTO::getQrCode).toList());
|
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.getByCodes(qo.getQrCodes().stream().map(MaterialQrCodeDTO::getQrCode).toList());
|
||||||
qrCodeMasters.forEach(qrCodeMaster -> {
|
qrCodeMasters.forEach(qrCodeMaster -> {
|
||||||
MaterialQrCodeDTO dto = qo.getQrCodes().stream()
|
MaterialQrCodeDTO dto = qo.getQrCodes().stream()
|
||||||
.filter(qrCodeDTO -> StrUtil.equals(qrCodeDTO.getQrCode(), qrCodeMaster.getMaterialCode()))
|
.filter(qrCodeDTO -> StrUtil.equals(qrCodeDTO.getQrCode(), qrCodeMaster.getBarcodeCode()))
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.get();
|
.get();
|
||||||
qrCodeMaster.setQuantity(qrCodeMaster.getQuantity().subtract(BigDecimal.valueOf(dto.getUnqualifiedQty())));
|
qrCodeMaster.setQuantity(qrCodeMaster.getQuantity().subtract(BigDecimal.valueOf(dto.getUnqualifiedQty())));
|
||||||
VUtil.trueThrowBusinessError(qrCodeMaster.getQuantity().compareTo(BigDecimal.ZERO) < 0)
|
VUtil.trueThrowBusinessError(qrCodeMaster.getQuantity().compareTo(BigDecimal.ZERO) < 0)
|
||||||
.throwMessage(dto.getQrCode() + "数据异常");
|
.throwMessage(dto.getQrCode() + "数据异常");
|
||||||
if (qrCodeMaster.getQuantity().compareTo(BigDecimal.ZERO) == 0 || qrCodeMaster.getParentBarcodeId() > 0) {
|
if (qrCodeMaster.getQuantity().compareTo(BigDecimal.ZERO) == 0 && qrCodeMaster.getParentBarcodeId() > 0) {
|
||||||
qrCodeMaster.setParentBarcodeId(0L);
|
qrCodeMaster.setParentBarcodeId(0L);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
qrCodeMasterService.updateBarCode(qrCodeMasters);
|
||||||
}
|
}
|
||||||
log.info("质检单处理完成: {}, 结果: {}", qo.getTaskNo(), inspect.getInspectionResult());
|
log.info("IQC检测回调处理完成: {}, 结果: {}", qo.getTaskNo(), inspect.getInspectionResult());
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PDI检测回调
|
* PDI检测回调
|
||||||
*/
|
*/
|
||||||
@Transactional
|
|
||||||
@PostMapping("/pdi")
|
@PostMapping("/pdi")
|
||||||
public ApiResult<Void> pdi(@RequestBody @NotNull PdiInspectionTaskCallbackQO qo) {
|
public ApiResult<Void> pdi(@RequestBody @NotNull PdiInspectionTaskCallbackQO qo) {
|
||||||
log.info("质检单解析完成, 单号: {}, 是否合格: {}", qo.getOrderNo(), qo.isPass());
|
log.info("PDI检测回调, 单号: {}, 是否合格: {}", qo.getOrderNo(), qo.isPass());
|
||||||
WmsInProduceOrder order = produceOrderService.getByNo(qo.getOrderNo());
|
WmsInProduceOrder order = produceOrderService.getByNo(qo.getOrderNo());
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||||
WmsInProduceOrderItem item = produceOrderItemService.lambdaQuery()
|
WmsInProduceOrderItem item = produceOrderItemService.lambdaQuery()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue