Merge remote-tracking branch 'origin/qms/develop' into qms/develop

This commit is contained in:
yf001217 2026-06-13 19:27:33 +08:00
commit cb941c0438
3 changed files with 42 additions and 30 deletions

View File

@ -226,7 +226,7 @@ public class NormalOrderController extends BaseController {
// VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("没有需要打印的数据");
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.getByExtendIds(ids);
qrCodeMasters.forEach(qrCodeMaster->{
VUtil.trueThrowBusinessError(!qmsService.coaReportPass(qrCodeMaster.getSupplierCode(),qrCodeMaster.getMaterialCode(),qrCodeMaster.getPoNumber()))
VUtil.trueThrowBusinessError(qmsService.coaReportFailed(qrCodeMaster.getSupplierCode(), qrCodeMaster.getMaterialCode(), qrCodeMaster.getPoNumber()))
.throwMessage("请先提交物料" + qrCodeMaster.getMaterialCode() + "(采购单" + qrCodeMaster.getPoNumber() + ")的COA报告并完成审核");
});
exportPdfPerPage(qrCodeMasters, response);
@ -251,7 +251,7 @@ public class NormalOrderController extends BaseController {
// exportPdfInAll(convert(orders), response);
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.getByExtendIds(ids);
qrCodeMasters.forEach(qrCodeMaster->{
VUtil.trueThrowBusinessError(!qmsService.coaReportPass(qrCodeMaster.getSupplierCode(),qrCodeMaster.getMaterialCode(),qrCodeMaster.getPoNumber()))
VUtil.trueThrowBusinessError(qmsService.coaReportFailed(qrCodeMaster.getSupplierCode(), qrCodeMaster.getMaterialCode(), qrCodeMaster.getPoNumber()))
.throwMessage("请先提交物料" + qrCodeMaster.getMaterialCode() + "(采购单" + qrCodeMaster.getPoNumber() + ")的COA报告并完成审核");
});
exportPdfInAll(qrCodeMasters, response);
@ -404,7 +404,7 @@ public class NormalOrderController extends BaseController {
// VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("没有需要打印的数据");
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.getByExtendIds(ids);
qrCodeMasters.forEach(qrCodeMaster->{
VUtil.trueThrowBusinessError(!qmsService.coaReportPass(qrCodeMaster.getSupplierCode(),qrCodeMaster.getMaterialCode(),qrCodeMaster.getPoNumber()))
VUtil.trueThrowBusinessError(qmsService.coaReportFailed(qrCodeMaster.getSupplierCode(), qrCodeMaster.getMaterialCode(), qrCodeMaster.getPoNumber()))
.throwMessage("请先提交物料" + qrCodeMaster.getMaterialCode() + "(采购单" + qrCodeMaster.getPoNumber() + ")的COA报告并完成审核");
});
return exportItemImageZip(convertToPrintDTO(qrCodeMasters));

View File

@ -129,29 +129,27 @@ public class QmsService {
/**
* 检查COA报告
*/
public boolean coaReportPass(String supplierCode, String materialNo, String purchaseNo) {
//TODO
return true;
// log.info("检测是否已提交COA报告供应商{},物料编号:{},采购单号:{}", supplierCode, materialNo, purchaseNo);
//
// HttpHeaders headers = new HttpHeaders();
// headers.setContentType(MediaType.APPLICATION_JSON);
// HttpEntity<QmsCoaReportCheckQO> requestEntity = new HttpEntity<>(new QmsCoaReportCheckQO(supplierCode, materialNo, purchaseNo), headers);
//
// ResponseEntity<ApiResult<Boolean>> response = restTemplate.exchange(
// qmsHost + checkReportUrl,
// HttpMethod.POST,
// requestEntity,
// new ParameterizedTypeReference<ApiResult<Boolean>>() {
// }
// );
//
// log.info("检测是否已提交COA报告结果{},{}",
// response.getStatusCode().value(), JSONUtil.toJsonStr(response.getBody()));
// VUtil.trueThrowBusinessError(
// Objects.isNull(response.getBody()) || response.getBody().getCode() != 200
// ).throwMessage("检测是否已提交COA报告失败" + response.getBody().getMessage());
// return !Objects.equals(response.getBody().getResult(), false);
public boolean coaReportFailed(String supplierCode, String materialNo, String purchaseNo) {
log.info("检测是否已提交COA报告供应商{},物料编号:{},采购单号:{}", supplierCode, materialNo, purchaseNo);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<QmsCoaReportCheckQO> requestEntity = new HttpEntity<>(new QmsCoaReportCheckQO(supplierCode, materialNo, purchaseNo), headers);
ResponseEntity<ApiResult<Boolean>> response = restTemplate.exchange(
qmsHost + checkReportUrl,
HttpMethod.POST,
requestEntity,
new ParameterizedTypeReference<ApiResult<Boolean>>() {
}
);
log.info("检测是否已提交COA报告结果{},{}",
response.getStatusCode().value(), JSONUtil.toJsonStr(response.getBody()));
VUtil.trueThrowBusinessError(
Objects.isNull(response.getBody()) || response.getBody().getCode() != 200
).throwMessage("检测是否已提交COA报告失败" + response.getBody().getMessage());
return Objects.equals(response.getBody().getResult(), false);
}
public List<MaterialInspectionCycleVO> getMaterialInspectionCycle() {

View File

@ -600,7 +600,8 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl<QmsCoaReviewMapper, Qms
.last("LIMIT 1")
.one();
if (Objects.isNull(supplier)) {
return false;
// 供应商不存在视为没有COA报告放行
return true;
}
// 根据物料编码查询物料ID
@ -609,16 +610,29 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl<QmsCoaReviewMapper, Qms
.last("LIMIT 1")
.one();
if (Objects.isNull(material)) {
return false;
// 物料不存在视为没有COA报告放行
return true;
}
// 检查是否存在已审核通过status=2且未删除的COA报告
// 判断是否存在COA报告未删除
boolean hasReport = lambdaQuery()
.eq(QmsCoaReview::getSupplierId, supplier.getId())
.eq(QmsCoaReview::getMaterialId, material.getId())
.eq(QmsCoaReview::getPurchaseNo, qo.getPurchaseNo())
.eq(QmsCoaReview::getDeleted, false)
.exists();
// 没有COA报告放行
if (!hasReport) {
return true;
}
// 有COA报告时检查是否存在已审核通过status=2且未删除的COA报告
return lambdaQuery()
.eq(QmsCoaReview::getSupplierId, supplier.getId())
.eq(QmsCoaReview::getMaterialId, material.getId())
.eq(QmsCoaReview::getPurchaseNo, qo.getPurchaseNo())
.eq(QmsCoaReview::getStatus, 2)
.ne(QmsCoaReview::getDeleted, false)
.eq(QmsCoaReview::getDeleted, false)
.exists();
}