From d49776afb7a7b844b7f2a9aa93c267cf15e5d560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Wed, 27 Nov 2024 13:40:14 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E5=93=81=E8=B4=A8=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E5=93=81=E8=B4=A8=E5=8D=95=20=E4=BF=AE=E6=94=B9=E6=9D=A5?= =?UTF-8?q?=E6=96=99=E5=93=81=E8=B4=A8=E5=8D=95=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=A7=94=E5=A4=96=E5=93=81=E8=B4=A8=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=A7=94?= =?UTF-8?q?=E5=A4=96=E5=93=81=E8=B4=A8=E5=8D=95=E5=BC=80=E5=A7=8B=E5=93=81?= =?UTF-8?q?=E8=B4=A8=E9=A1=B5=E9=9D=A2=EF=BC=8C=E5=AE=9E=E7=8E=B0=E6=96=B0?= =?UTF-8?q?=E7=89=88=E6=95=88=E6=9E=9C=EF=BC=9B=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=93=81=E8=B4=A8=E5=8D=95=E5=A7=94=E5=A4=96=E5=BC=80=E5=A7=8B?= =?UTF-8?q?=E5=93=81=E8=B4=A8controller=EF=BC=8C=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E6=8E=A5=E5=8F=A3=EF=BC=9B=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=9B=B4=E6=96=B0=E5=AE=A1=E6=89=B9=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=93=81=E8=B4=A8=E6=8A=A5=E5=91=8Aservice?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=A7=94=E5=A4=96?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=A4=84=E7=90=86=EF=BC=9B=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=93=81=E8=B4=A8=E6=8A=A5=E5=91=8A=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BB=BB=E5=8A=A1controller=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A7=94=E5=A4=96=E5=AE=A1=E6=89=B9=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E6=9B=B4=E6=96=B0=E8=AF=AD=E5=8F=A5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QualityOrderController.java | 41 +- .../QualityOrderReportController.java | 3 +- .../impl/QualityOrderReportServiceImpl.java | 128 ++--- .../iqcQualityOrder/iqcQualityOrder.html | 2 +- .../qualityOrder/makeOutStartingQuality.html | 481 ++++++++++++++---- 5 files changed, 445 insertions(+), 210 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderController.java index 92411c09..f80f2aec 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderController.java @@ -362,16 +362,6 @@ public class QualityOrderController extends BaseController return toAjax(orderReportService.updateMakeInOrderReport(qualityOrderReport)); } - /** - * 委外加工品质单开始品质 - */ - @GetMapping("/makeOutStartingQuality/{qualityOrderId}") - public String makeOStartingQuality(@PathVariable("qualityOrderId") Long qualityOrderId, ModelMap mmap) - { - QualityOrder qualityOrder = qualityOrderService.selectQualityOrderById(qualityOrderId); - mmap.put("qualityOrder", qualityOrder); - return prefix + "/makeOutStartingQuality"; - } /** * 修改保存委外加工品质单开始品质 */ @@ -393,19 +383,6 @@ public class QualityOrderController extends BaseController mmap.put("qualityOrder", qualityOrder); return prefix + "/makeOutStartingQualityDetail"; } - /** - * 修改委外加工入库单品质报告按钮 - */ - @GetMapping("/makeOutOrderReport") - public String makeOutOrderReport( @RequestParam("materialNo") String materialNo, - @RequestParam("qualityOrderCode") String qualityOrderCode, - ModelMap mmap) - { - QualityOrderReport qualityOrderReport = orderReportService.selectMakeInOrderReportByNoAndCode(materialNo,qualityOrderCode); - mmap.put("qualityOrderReport", qualityOrderReport); - mmap.put("qualityOrderCode",qualityOrderCode); - return prefix + "/makeOutOrderReport"; - } /** * 修改保存委外加工入库单品质报告按钮 @@ -476,22 +453,18 @@ public class QualityOrderController extends BaseController return toAjax(qualityOrderService.qualityOrderDetailSave(qualityOrder)); } - - /** - * 修改委生产入库品质报告按钮 + * 委外入库开始品质 */ - @GetMapping("/makeOrderReport") - public String makeOrderReport( @RequestParam("materialNo") String materialNo, - @RequestParam("qualityOrderCode") String qualityOrderCode, - ModelMap mmap) + @GetMapping("/makeOutStartingQuality/{qualityOrderId}") + public String makeOutStartingQuality(@PathVariable("qualityOrderId") Long qualityOrderId, ModelMap mmap) { - QualityOrderReport qualityOrderReport = orderReportService.selectMakeInOrderReportByNoAndCode(materialNo,qualityOrderCode); - mmap.put("qualityOrderReport", qualityOrderReport); - mmap.put("qualityOrderCode",qualityOrderCode); - return prefix + "/makeOrderReport"; + QualityOrder qualityOrder = qualityOrderService.selectQualityOrderById(qualityOrderId); + mmap.put("qualityOrder", qualityOrder); + return prefix + "/makeOutStartingQuality"; } + /** * 修改保存生产入库品质报告按钮 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderReportController.java index 9eb56266..ecdece79 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderReportController.java @@ -211,7 +211,8 @@ public class QualityOrderReportController extends BaseController ||tempQualityReport.getQualityOrderReportType().equals("1")){ qualityOrderReportService.updateApprovedInfo(tempQualityReport); } - if(tempQualityReport.getQualityOrderReportType().equals("2")){//采购品质审批 + if(tempQualityReport.getQualityOrderReportType().equals("2") + ||tempQualityReport.getQualityOrderReportType().equals("3")){//采购品质审批,委外品质审批 qualityOrderReportService.updatePurchaseApprovedInfo(tempQualityReport); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderReportServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderReportServiceImpl.java index 67c56d53..698a13db 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderReportServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderReportServiceImpl.java @@ -292,6 +292,7 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService } } + qualityOrderReportVO.setDeliveryInspectionTime(qualityOrderDetail.getDeliveryInspectionTime()); qualityOrderReportVO.setQualityHasqualifiedNum(qualifiedNum); qualityOrderReportVO.setCheckNum(pendingReviewNum); qualityOrderReportVO.setQualityOrderReportCode(qualityReportCode); @@ -437,7 +438,8 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService updateApprovedInfo(qualityOrderReportVO); } //采购品质 - if(qualityOrderReportVO.getQualityOrderReportType().equals("2")){ + if(qualityOrderReportVO.getQualityOrderReportType().equals("2") + ||qualityOrderReportVO.getQualityOrderReportType().equals("3")){ updatePurchaseApprovedInfo(qualityOrderReportVO); } } @@ -737,6 +739,7 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService storageOrder.setQualityUnqualifiedNum(qualityReportVO.getProcessBadNum()); storageOrder.setDeliveryInspectionTime(qualityReportVO.getDeliveryInspectionTime()); storageOrder.setQualityTime(qualityReportVO.getCheckoutCompletionTime()); + storageOrder.setStorageNum(0); storageOrder.setArrivedTime(DateUtils.getNowDate()); storageOrder.setCreateBy(ShiroUtils.getLoginName()); storageOrder.setCreateTime(DateUtils.getNowDate()); @@ -765,6 +768,7 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService storageOrderDetail.setMaterialProcessMethod(qualityOrderDetail.getMaterialProcessMethod()); storageOrderDetail.setMaterialDeptType(qualityOrderDetail.getMaterialDeptType()); storageOrderDetail.setMakeTotal(qualityOrderDetail.getMakeTotal()); + storageOrderDetail.setHasStorageNum(0);//已入库数0 storageOrderDetail.setArrivedTime(DateUtils.getNowDate()); storageOrderDetail.setCreateBy(ShiroUtils.getLoginName()); storageOrderDetail.setCreateTime(DateUtils.getNowDate()); @@ -772,7 +776,7 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService } /* - * 审核通过后更新数据(采购入库) + * 审核通过后更新数据(采购入库(有退换货),委外入库(跳过退换货)) * 来料品质更新品质单表、品质单详情表、入库单*/ @Transactional(rollbackFor = Exception.class) @Override @@ -887,72 +891,74 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService storageOrder.setQualityTime(qualityOrderReportVO.getCheckoutCompletionTime()); storageOrderMapper.updateWarehouseStorageOrder(storageOrder); - //不合格数大于0生成退换货单 - if(unQualifiedNum > 0){ - String refundsCodes = redisCache.generateBillNo("THH"); - QualityRefundsExchanges refundsExchanges = generateQualityRefundsExchange(qualityOrderReportVO,refundsCodes); + if(qualityOrderReportVO.getQualityOrderReportType().equals("2")){ + //不合格数大于0生成退换货单 + if(unQualifiedNum > 0){ + String refundsCodes = redisCache.generateBillNo("THH"); + QualityRefundsExchanges refundsExchanges = generateQualityRefundsExchange(qualityOrderReportVO,refundsCodes); - //生成退换货入库单和退换货入库详情 - WarehouseStorageOrder refundStorageOrder = generateWarehouseStorageOrder(refundsCodes,qualityOrderReportVO); - WarehouseStorageOrderDetail refundStorageOrderDetail = generateWarehouseStorageOrderDetail(refundStorageOrder.getWarehouseStorageCode(),refundsCodes,qualityOrderDetail); + //生成退换货入库单和退换货入库详情 + WarehouseStorageOrder refundStorageOrder = generateWarehouseStorageOrder(refundsCodes,qualityOrderReportVO); + WarehouseStorageOrderDetail refundStorageOrderDetail = generateWarehouseStorageOrderDetail(refundStorageOrder.getWarehouseStorageCode(),refundsCodes,qualityOrderDetail); - if(qualityOrderReportVO.getQualityOrderReportType().equals("2")){//采购品质 - refundStorageOrder.setWarehouseOrderType("2");//退换货订单 - refundStorageOrderDetail.setWarehouseOrderType("2");//退换货订单 - } - int refundStorageDetailResult = storageDetailMapper.insertWarehouseStorageOrderDetail(refundStorageOrderDetail); - if(refundStorageDetailResult<=0){ - throw new BusinessException("新增退换货入库单详情失败"); - } - int storageResult = storageOrderMapper.insertWarehouseStorageOrder(refundStorageOrder); - if(storageResult<=0){ - throw new BusinessException("新增退换货入库单失败"); - } - //生成退换货详情 - QualityRefundsExchangesDetail refundsExchangesDetail = generateRefundsExchangesDetail(refundsCodes,qualityOrderDetail,refundStorageOrder.getWarehouseStorageCode()); - //生成退换货单报告 - QualityRefundsExchangesOrder refundsExchangesOrder = generateQualityRefundsExchangesOrder(refundsExchanges.getRefundsExchangesCode(),qualityOrderReportVO,qualityOrderDetail); - - //新增退换货单不良分类 - QualityOrderReportUnqualified tempUnqualify = new QualityOrderReportUnqualified(); - tempUnqualify.setQualityOrderReportCode(qualityOrderReportVO.getQualityOrderReportCode()); - List unqualifieds = unqualifiedMapper.selectQualityOrderReportUnqualifiedList(tempUnqualify); - if(StringUtils.isEmpty(unqualifieds)){ - throw new BusinessException("品质报告不良分类为空!"); - } - for (QualityOrderReportUnqualified unqualify:unqualifieds) { - QualityRefundsExchangesUnqualified exchangesUnqualified = new QualityRefundsExchangesUnqualified(); - exchangesUnqualified.setRefundsExchangesCode(refundsExchanges.getRefundsExchangesCode()); - exchangesUnqualified.setMaterialNo(qualityOrderReportVO.getMaterialNo()); - exchangesUnqualified.setMaterialName(qualityOrderReportVO.getMaterialName()); - exchangesUnqualified.setProcessBadClassification(unqualify.getProcessBadClassification()); - exchangesUnqualified.setProcessBadGrade(unqualify.getProcessBadGrade()); - exchangesUnqualified.setProcessBadNum(unqualify.getProcessBadNum()); - exchangesUnqualified.setUnqualifiedReportUrl(unqualify.getUnqualifiedReportUrl()); - exchangesUnqualified.setInspectionTime(qualityOrderReportVO.getDeliveryInspectionTime()); - exchangesUnqualified.setCreateBy(ShiroUtils.getLoginName()); - exchangesUnqualified.setCreateTime(DateUtils.getNowDate()); - int exchangeUnqualifiedResult = exchangesUnqualifiedMapper.insertQualityRefundsExchangesUnqualified(exchangesUnqualified); - if (exchangeUnqualifiedResult <= 0){ - throw new BusinessException("插入退换货品质报告不合格分类失败,未影响任何行"); + if(qualityOrderReportVO.getQualityOrderReportType().equals("2")){//采购品质 + refundStorageOrder.setWarehouseOrderType("2");//退换货订单 + refundStorageOrderDetail.setWarehouseOrderType("2");//退换货订单 + } + int refundStorageDetailResult = storageDetailMapper.insertWarehouseStorageOrderDetail(refundStorageOrderDetail); + if(refundStorageDetailResult<=0){ + throw new BusinessException("新增退换货入库单详情失败"); + } + int storageResult = storageOrderMapper.insertWarehouseStorageOrder(refundStorageOrder); + if(storageResult<=0){ + throw new BusinessException("新增退换货入库单失败"); + } + //生成退换货详情 + QualityRefundsExchangesDetail refundsExchangesDetail = generateRefundsExchangesDetail(refundsCodes,qualityOrderDetail,refundStorageOrder.getWarehouseStorageCode()); + //生成退换货单报告 + QualityRefundsExchangesOrder refundsExchangesOrder = generateQualityRefundsExchangesOrder(refundsExchanges.getRefundsExchangesCode(),qualityOrderReportVO,qualityOrderDetail); + + //新增退换货单不良分类 + QualityOrderReportUnqualified tempUnqualify = new QualityOrderReportUnqualified(); + tempUnqualify.setQualityOrderReportCode(qualityOrderReportVO.getQualityOrderReportCode()); + List unqualifieds = unqualifiedMapper.selectQualityOrderReportUnqualifiedList(tempUnqualify); + if(StringUtils.isEmpty(unqualifieds)){ + throw new BusinessException("品质报告不良分类为空!"); + } + for (QualityOrderReportUnqualified unqualify:unqualifieds) { + QualityRefundsExchangesUnqualified exchangesUnqualified = new QualityRefundsExchangesUnqualified(); + exchangesUnqualified.setRefundsExchangesCode(refundsExchanges.getRefundsExchangesCode()); + exchangesUnqualified.setMaterialNo(qualityOrderReportVO.getMaterialNo()); + exchangesUnqualified.setMaterialName(qualityOrderReportVO.getMaterialName()); + exchangesUnqualified.setProcessBadClassification(unqualify.getProcessBadClassification()); + exchangesUnqualified.setProcessBadGrade(unqualify.getProcessBadGrade()); + exchangesUnqualified.setProcessBadNum(unqualify.getProcessBadNum()); + exchangesUnqualified.setUnqualifiedReportUrl(unqualify.getUnqualifiedReportUrl()); + exchangesUnqualified.setInspectionTime(qualityOrderReportVO.getDeliveryInspectionTime()); + exchangesUnqualified.setCreateBy(ShiroUtils.getLoginName()); + exchangesUnqualified.setCreateTime(DateUtils.getNowDate()); + int exchangeUnqualifiedResult = exchangesUnqualifiedMapper.insertQualityRefundsExchangesUnqualified(exchangesUnqualified); + if (exchangeUnqualifiedResult <= 0){ + throw new BusinessException("插入退换货品质报告不合格分类失败,未影响任何行"); + } } - } - int exchangeOrderResult = refundsExchangesOrderMapper.insertQualityRefundsExchangesOrder(refundsExchangesOrder); - if(exchangeOrderResult<=0){ - throw new BusinessException("新增退换货单报告失败"); - } + int exchangeOrderResult = refundsExchangesOrderMapper.insertQualityRefundsExchangesOrder(refundsExchangesOrder); + if(exchangeOrderResult<=0){ + throw new BusinessException("新增退换货单报告失败"); + } - int exchangeDetailResult = refundsExchangesDetailMapper.insertQualityRefundsExchangesDetail(refundsExchangesDetail); - if(exchangeDetailResult<=0){ - throw new BusinessException("新增退换货单详情失败"); - } + int exchangeDetailResult = refundsExchangesDetailMapper.insertQualityRefundsExchangesDetail(refundsExchangesDetail); + if(exchangeDetailResult<=0){ + throw new BusinessException("新增退换货单详情失败"); + } - int exchangeResult = refundsExchangesMapper.insertQualityRefundsExchanges(refundsExchanges); - if(exchangeResult<=0){ - throw new BusinessException("新增退换货单失败"); - } + int exchangeResult = refundsExchangesMapper.insertQualityRefundsExchanges(refundsExchanges); + if(exchangeResult<=0){ + throw new BusinessException("新增退换货单失败"); + } + } } } diff --git a/ruoyi-admin/src/main/resources/templates/quality/iqcQualityOrder/iqcQualityOrder.html b/ruoyi-admin/src/main/resources/templates/quality/iqcQualityOrder/iqcQualityOrder.html index f0865026..410ca2d8 100644 --- a/ruoyi-admin/src/main/resources/templates/quality/iqcQualityOrder/iqcQualityOrder.html +++ b/ruoyi-admin/src/main/resources/templates/quality/iqcQualityOrder/iqcQualityOrder.html @@ -224,7 +224,7 @@ } //委外品质 function makeOutStartingQuality(qualityOrderId){ - var url = ctx +'quality/qualityOrder/makeOtherStartingQuality/' + qualityOrderId; + var url = ctx +'quality/qualityOrder/makeOutStartingQuality/' + qualityOrderId; $.modal.open("进行委外入库品质",url); } diff --git a/ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeOutStartingQuality.html b/ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeOutStartingQuality.html index 976e1c50..eb21ed9f 100644 --- a/ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeOutStartingQuality.html +++ b/ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeOutStartingQuality.html @@ -1,65 +1,162 @@ - + + +
- +
- +
- +
- +
- +
- +
- +
-
- +
-
- +
- +
-
- -
-
-
-
+ + +
+
+
+
+
+
+
+ +
+

品质报告:

+
+

合格数

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+ 不良数 +
+
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
-
+ + + +
+ +
+ +
+
+
@@ -67,12 +164,18 @@