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

View File

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

View File

@ -600,7 +600,8 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl<QmsCoaReviewMapper, Qms
.last("LIMIT 1") .last("LIMIT 1")
.one(); .one();
if (Objects.isNull(supplier)) { if (Objects.isNull(supplier)) {
return false; // 供应商不存在视为没有COA报告放行
return true;
} }
// 根据物料编码查询物料ID // 根据物料编码查询物料ID
@ -609,16 +610,29 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl<QmsCoaReviewMapper, Qms
.last("LIMIT 1") .last("LIMIT 1")
.one(); .one();
if (Objects.isNull(material)) { 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() return lambdaQuery()
.eq(QmsCoaReview::getSupplierId, supplier.getId()) .eq(QmsCoaReview::getSupplierId, supplier.getId())
.eq(QmsCoaReview::getMaterialId, material.getId()) .eq(QmsCoaReview::getMaterialId, material.getId())
.eq(QmsCoaReview::getPurchaseNo, qo.getPurchaseNo()) .eq(QmsCoaReview::getPurchaseNo, qo.getPurchaseNo())
.eq(QmsCoaReview::getStatus, 2) .eq(QmsCoaReview::getStatus, 2)
.ne(QmsCoaReview::getDeleted, false) .eq(QmsCoaReview::getDeleted, false)
.exists(); .exists();
} }