Merge remote-tracking branch 'origin/qms/develop' into qms/develop
This commit is contained in:
commit
82b3abb564
|
|
@ -1180,7 +1180,7 @@ public class IncomingInspectionTaskControllerService {
|
|||
|
||||
updateWrapper.update();
|
||||
|
||||
if (request.getQualified() && task.getUnqualifiedQty() == 0) {
|
||||
if (request.getQualified() && task.getQualifiedQty() > 0) {
|
||||
// 异步回调需等当前事务提交后再触发,否则异步线程可能读到未提交的旧状态,导致回调数据错误或漏回调
|
||||
Long taskId = task.getId();
|
||||
if (TransactionSynchronizationManager.isSynchronizationActive()) {
|
||||
|
|
|
|||
|
|
@ -90,6 +90,18 @@ public class WmsIncomingInspectionTaskCallbackService {
|
|||
.setQualifiedQty(r.getQualifiedQty()))
|
||||
.toList()
|
||||
);
|
||||
}else if (processingResult == 2){
|
||||
qo.setUnqualifiedQty(taskVO.getInspectionQty());
|
||||
qo.setQualifiedQty(0);
|
||||
qo.setQrCodes(records.stream()
|
||||
.map(r -> new MaterialQrCodeDTO()
|
||||
.setQrCode(r.getMaterialUniqueNo())
|
||||
.setInspectionQty(r.getInspectionQty())
|
||||
.setUnqualifiedQty(r.getInspectionQty())
|
||||
.setQualifiedQty(0)
|
||||
)
|
||||
.toList()
|
||||
);
|
||||
} else {
|
||||
qo.setUnqualifiedQty(taskVO.getUnqualifiedQty());
|
||||
qo.setQrCodes(records.stream()
|
||||
|
|
|
|||
|
|
@ -237,4 +237,9 @@ public class QmsIncomingInspectionTaskVO {
|
|||
* 是否强制使用二维码
|
||||
*/
|
||||
private Boolean mustUseQrCode;
|
||||
|
||||
/**
|
||||
* 检测方式,关联字典项id(字典编码:InspectionStandardTestingMethod)
|
||||
*/
|
||||
private Long testingMethodDictItemId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.nflg.wms.common.pojo.qo.NoScanningQO;
|
|||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
|
@ -132,5 +133,5 @@ public class TransferCompanyTicketVO {
|
|||
/**
|
||||
* 未扫描的物料凭证
|
||||
*/
|
||||
public List<NoScanningQO> noScannings;
|
||||
public List<NoScanningQO> noScannings=new ArrayList<>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.nflg.wms.common.pojo.qo.NoScanningQO;
|
|||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
|
|
@ -143,5 +144,5 @@ public class TransferFactoryTicketVO {
|
|||
/**
|
||||
* 未扫描的物料凭证
|
||||
*/
|
||||
public List<NoScanningQO> noScannings;
|
||||
public List<NoScanningQO> noScannings=new ArrayList<>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -227,7 +227,8 @@
|
|||
t.storage_location,
|
||||
t.storage_days,
|
||||
t.callback_result,
|
||||
t.detection_qty
|
||||
t.detection_qty,
|
||||
t.testing_method_dict_item_id
|
||||
FROM qms_incoming_inspection_task t
|
||||
LEFT JOIN qms_qc_material m ON t.material_id = m.id
|
||||
LEFT JOIN qms_inspection_standard s ON t.inspection_standard_id = s.id
|
||||
|
|
|
|||
|
|
@ -84,6 +84,10 @@ public class QmsController extends BaseController {
|
|||
.throwMessage(StrUtil.format("未找到对应收货明细, 质检单号: {}, 物料: {}, 收货单: {}, 行号: {}",
|
||||
qo.getTaskNo(), qo.getMaterialNo(), qo.getDeliveryOrderNo(), qo.getDeliveryOrderLine()));
|
||||
log.info("匹配到收货明细, 质检单号: {}, 收货明细ID: {}", qo.getTaskNo(), receiveItem.getId());
|
||||
receiveItem.setCheckQty(BigDecimal.valueOf(qo.getQualifiedQty() + qo.getUnqualifiedQty()));
|
||||
WmsQcReceive receive = qcReceiveService.lambdaQuery()
|
||||
.eq(WmsQcReceive::getId, receiveItem.getReceiveId())
|
||||
.one();
|
||||
|
||||
// 检查物料是否生成过二维码
|
||||
boolean hasQrCode = qrCodeMasterService.lambdaQuery()
|
||||
|
|
@ -106,7 +110,7 @@ public class QmsController extends BaseController {
|
|||
.setUnit(receiveItem.getUomCode())
|
||||
// .setReceivedWarehouse("")
|
||||
// .setUnqualifiedReason(data.getUnqualifiedReason())
|
||||
// .setReceiveNum(data.getReceiveNum())
|
||||
.setReceiveNum(receiveItem.getMaterialDoc())
|
||||
.setPoNum(qo.getPurchaseOrderNo())
|
||||
.setUnqualifiedQty(BigDecimal.valueOf(qo.getUnqualifiedQty()))
|
||||
.setQualifiedQty(BigDecimal.valueOf(qo.getQualifiedQty()))
|
||||
|
|
@ -171,9 +175,15 @@ public class QmsController extends BaseController {
|
|||
Pair<String, String> returnDto = sapService.zwm3a18(zwm3A18DTO);
|
||||
log.info("SAP质检入库返回, 物料凭证: {}, 年份: {}", returnDto.getKey(), returnDto.getValue());
|
||||
// 更新收货明细的物料凭证和入库数量
|
||||
if (Objects.isNull(receiveItem.getInQty())) {
|
||||
receiveItem.setInQty(BigDecimal.valueOf(qo.getQualifiedQty()));
|
||||
receiveItem.setMaterialDoc(returnDto.getKey());
|
||||
receiveItem.setMaterialDocYear(returnDto.getValue());
|
||||
} else {
|
||||
receiveItem.setInQty(receiveItem.getInQty().add(BigDecimal.valueOf(qo.getQualifiedQty())));
|
||||
}
|
||||
// receiveItem.setMaterialDoc(returnDto.getKey());
|
||||
// receiveItem.setMaterialDocYear(returnDto.getValue());
|
||||
inspect.setMaterialDoc105(returnDto.getKey());
|
||||
inspect.setMaterialDocYear105(returnDto.getValue());
|
||||
qcReceiveItemService.updateById(receiveItem);
|
||||
|
||||
// 检查并更新收货单完成状态
|
||||
|
|
@ -183,16 +193,10 @@ public class QmsController extends BaseController {
|
|||
boolean allCompleted = allItems.stream()
|
||||
.allMatch(item -> item.getInQty() != null && item.getInQty().compareTo(item.getReceiptNum()) >= 0);
|
||||
if (allCompleted) {
|
||||
qcReceiveService.lambdaUpdate()
|
||||
.eq(WmsQcReceive::getId, receiveItem.getReceiveId())
|
||||
.set(WmsQcReceive::getIsCompleted, (short) 2)
|
||||
.update();
|
||||
receive.setIsCompleted((short) 2);
|
||||
log.info("收货单全部完成, receiveId: {}", receiveItem.getReceiveId());
|
||||
} else {
|
||||
qcReceiveService.lambdaUpdate()
|
||||
.eq(WmsQcReceive::getId, receiveItem.getReceiveId())
|
||||
.set(WmsQcReceive::getIsCompleted, (short) 1)
|
||||
.update();
|
||||
receive.setIsCompleted((short) 1);
|
||||
log.info("收货单部分完成, receiveId: {}", receiveItem.getReceiveId());
|
||||
}
|
||||
}
|
||||
|
|
@ -201,11 +205,10 @@ public class QmsController extends BaseController {
|
|||
qo.getTaskNo(), qo.getUnqualifiedQty());
|
||||
}
|
||||
srmQualityInspectionService.save(inspect);
|
||||
qcReceiveService.lambdaUpdate()
|
||||
.eq(WmsQcReceive::getOrderNo, inspect.getNoteNum())
|
||||
.set(WmsQcReceive::getIsCheck, isCheck)
|
||||
.update();
|
||||
qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), receiveItem.getMaterialDoc());
|
||||
if (!Objects.equals(receive.getIsCheck(), (short) 2)) {
|
||||
receive.setIsCheck(isCheck);
|
||||
}
|
||||
// qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), receiveItem.getMaterialDoc());
|
||||
//更新二维码数量
|
||||
if (CollectionUtil.isNotEmpty(qo.getQrCodes())) {
|
||||
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.getByCodes(qo.getQrCodes().stream().map(MaterialQrCodeDTO::getQrCode).toList());
|
||||
|
|
|
|||
Loading…
Reference in New Issue