From f5292309a1c2070418bfdc44e626fedaec092878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Tue, 26 Nov 2024 15:45:59 +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=BC=80=E5=A7=8B=E5=93=81?= =?UTF-8?q?=E8=B4=A8=E8=B7=B3=E8=BD=ACcontroller=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=92=8C=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=EF=BC=9B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=93=81=E8=B4=A8=E6=8A=A5=E5=91=8A=E5=8D=95?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E5=AE=A1=E6=89=B9=E9=A1=B5=E9=9D=A2controlle?= =?UTF-8?q?r=E6=8E=A5=E5=8F=A3=E5=92=8C=E5=AE=8C=E6=88=90=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=96=B0=E5=A2=9E=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E7=B1=BB=E5=9E=8B=E8=B7=B3=E8=BD=AC=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=AE=A1=E6=A0=B8=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E5=90=8E=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E8=B4=A8service=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=9D=9E=E7=A9=BA=E9=AA=8C=E8=AF=81=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=A8=E9=83=A8=E5=93=81=E8=B4=A8=E5=90=8E?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=BE=E5=A4=87=E7=8A=B6=E6=80=81=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=EF=BC=9B=20=E6=96=B0=E5=A2=9E=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E5=93=81=E8=B4=A8=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87=E5=90=8E?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AEservice=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=A0=B9=E6=8D=AE=E5=93=81=E8=B4=A8?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E5=8D=95=E7=94=9F=E6=88=90=E9=80=80=E6=8D=A2?= =?UTF-8?q?=E8=B4=A7=E5=8D=95=E3=80=81=E8=AF=A6=E6=83=85=E3=80=81=E9=80=80?= =?UTF-8?q?=E6=8D=A2=E8=B4=A7=E5=85=A5=E5=BA=93service=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=93=81=E8=B4=A8=E5=8D=95?= =?UTF-8?q?=E5=85=B3=E8=81=94=E8=AE=BE=E5=A4=87=E6=9F=A5=E8=AF=A2=E5=93=81?= =?UTF-8?q?=E8=B4=A8=E5=8D=95=E5=85=B3=E8=81=94=E5=87=BA=E8=B4=A7=E8=AE=BE?= =?UTF-8?q?=E5=A4=87mapper=E6=96=B9=E6=B3=95=EF=BC=8C=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E5=93=81=E8=B4=A8=E5=8D=95=E5=8F=B7=E5=92=8C=E8=AE=BE=E5=A4=87?= =?UTF-8?q?ID=E6=9F=A5=E8=AF=A2=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QualityOrderController.java | 6 +- .../QualityOrderReportController.java | 21 +- .../mapper/QualityShippingDeviceMapper.java | 2 +- .../service/IQualityOrderReportService.java | 2 + .../impl/QualityOrderReportServiceImpl.java | 472 ++++++++++++++++-- .../service/impl/QualityOrderServiceImpl.java | 2 +- .../quality/QualityShippingDeviceMapper.xml | 3 +- 7 files changed, 451 insertions(+), 57 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 686bcdb6..92411c09 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 @@ -169,7 +169,7 @@ public class QualityOrderController extends BaseController QualityOrderDetail qualityOrderDetail = detailService.selectQualityOrderDetailByCode(qualityOrder.getQualityOrderCode()); mmap.put("qualityOrderDetail",qualityOrderDetail); // mmap.put("qualityOrder", qualityOrder); - return prefix + "/startingQuality"; + return prefix + "/iqcStartingQuality"; } /** @@ -213,8 +213,10 @@ public class QualityOrderController extends BaseController public String startingQualityDetail(@PathVariable("qualityOrderId") Long qualityOrderId, ModelMap mmap) { QualityOrder qualityOrder = qualityOrderService.selectQualityOrderById(qualityOrderId); + QualityOrderDetail qualityDetail = detailService.selectQualityOrderDetailByCode(qualityOrder.getQualityOrderCode()); mmap.put("qualityOrder", qualityOrder); - return prefix + "/startingQualityDetail"; + mmap.put("qualityDetail", qualityDetail); + return prefix + "/iqcStartingQualityDetail"; } /** 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 5ce02dec..9eb56266 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 @@ -5,11 +5,9 @@ import java.util.HashMap; import java.util.List; import com.ruoyi.process.general.service.IProcessService; -import com.ruoyi.quality.domain.QualityOrderReportUnqualified; -import com.ruoyi.quality.domain.QualityShippingDevice; +import com.ruoyi.quality.domain.*; import com.ruoyi.quality.domain.VO.QualityOrderReportVO; -import com.ruoyi.quality.service.IQualityOrderReportUnqualifiedService; -import com.ruoyi.quality.service.IQualityShippingDeviceService; +import com.ruoyi.quality.service.*; import com.ruoyi.system.domain.Vo.BaseEmpRequisiteOrderVO; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.warehouse.domain.WarehouseInventoryReportDamageChild; @@ -28,8 +26,6 @@ import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.quality.domain.QualityOrderReport; -import com.ruoyi.quality.service.IQualityOrderReportService; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; @@ -53,6 +49,9 @@ public class QualityOrderReportController extends BaseController @Autowired private IQualityOrderReportService qualityOrderReportService; + @Autowired + private IQualityOrderDetailService qualityDetailService; + @Autowired private IQualityShippingDeviceService qualityShippingDeviceService; @@ -162,13 +161,18 @@ public class QualityOrderReportController extends BaseController mmap.put("formData", qualityOrderReportVO); mmap.put("taskId", taskId); String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1); + if(qualityOrderReportVO.getQualityOrderReportType().equals("2")){ + QualityOrderDetail qualityDetail = qualityDetailService.selectQualityOrderDetailByCode(qualityOrderReportVO.getQualityOrderCode()); + mmap.put("qualityDetail", qualityDetail); + return prefix + "/task" + verifyName + "Purchase"; + } return prefix + "/task" + verifyName; } /** * 自动绑定页面字段 */ @ModelAttribute("preloadObj") - public QualityOrderReportVO getObj(@RequestParam(value = "requisiteId", required = false) Long qualityOrderReportId, HttpSession session) { + public QualityOrderReportVO getObj(@RequestParam(value = "qualityOrderReportId", required = false) Long qualityOrderReportId, HttpSession session) { if (qualityOrderReportId != null) { return qualityOrderReportService.selectQualityOrderReportById(qualityOrderReportId); @@ -207,6 +211,9 @@ public class QualityOrderReportController extends BaseController ||tempQualityReport.getQualityOrderReportType().equals("1")){ qualityOrderReportService.updateApprovedInfo(tempQualityReport); } + if(tempQualityReport.getQualityOrderReportType().equals("2")){//采购品质审批 + qualityOrderReportService.updatePurchaseApprovedInfo(tempQualityReport); + } } } qualityOrderReportService.updateMakeOrderQualityReport(tempQualityReport); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityShippingDeviceMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityShippingDeviceMapper.java index 1a0426f3..158c68eb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityShippingDeviceMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityShippingDeviceMapper.java @@ -22,7 +22,7 @@ public interface QualityShippingDeviceMapper /** * 查询品质单关联出货设备 */ - public QualityShippingDevice selectQualityShippingDeviceByDeviceId(String shippingDeviceId); + public QualityShippingDevice selectQualityShippingDeviceByDeviceId(QualityShippingDevice shippingDevice); /** * 查询品质单关联出货设备列表 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/service/IQualityOrderReportService.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/service/IQualityOrderReportService.java index fc977e04..f9fd81e3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/service/IQualityOrderReportService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/service/IQualityOrderReportService.java @@ -115,4 +115,6 @@ public interface IQualityOrderReportService * 审核拒绝后更新数据(生产入库,成品品质) * 更新品质单表、品质单详情表、品质单关联设备表、售后设备表*/ void updateDisApprovedInfo(QualityOrderReportVO qualityOrderReportVO); + + void updatePurchaseApprovedInfo(QualityOrderReportVO qualityOrderReportVO); } 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 b3a184c1..67c56d53 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 @@ -58,6 +58,15 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService @Autowired private QualityRefundsExchangesOrderMapper refundsExchangesOrderMapper; + @Autowired + private QualityRefundsExchangesMapper refundsExchangesMapper; + + @Autowired + private QualityRefundsExchangesDetailMapper refundsExchangesDetailMapper; + + @Autowired + private QualityRefundsExchangesUnqualifiedMapper exchangesUnqualifiedMapper; + @Autowired private QualityShippingDeviceMapper shippingDeviceMapper; @@ -208,7 +217,7 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService return qualityOrderReportMapper.selectQualityOrderReportListByCodes(ids); } /** - * 新增生产成品品质单报告 + * 新增品质单报告 * * @param qualityOrderReportVO 品质管理品质单报告 * @return 结果 @@ -252,7 +261,7 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService } } } - + //生产品质 成品品质 if(qualityOrderReportVO.getQualityOrderReportType().equals("0")){ //品质报告单关联出货设备ID集合 List uniqueDeviceIds = qualityOrderReportVO.getQualityReportDeviceIds(); @@ -264,7 +273,10 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService qualityReportDevice.setShippingDeviceId(deviceId); qualityReportDeviceMapper.insertQualityReportDevice(qualityReportDevice); //更新品质单关联设备表提交/审核状态 - QualityShippingDevice shippingDevice = shippingDeviceMapper.selectQualityShippingDeviceByDeviceId(deviceId); + QualityShippingDevice tempDevice = new QualityShippingDevice(); + tempDevice.setQualityOrderCode(qualityOrderCode); + tempDevice.setShippingDeviceId(deviceId); + QualityShippingDevice shippingDevice = shippingDeviceMapper.selectQualityShippingDeviceByDeviceId(tempDevice); if (shippingDevice == null) { throw new BusinessException(deviceId + "设备不存在于该品质单中"); } @@ -419,8 +431,15 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService if (processIsFinish) { // 审核状态-审核通过 qualityOrderReportVO.setAuditStatus("1"); - //更新审核通过数据 - updateApprovedInfo(qualityOrderReportVO); + //生产品质 + if(qualityOrderReportVO.getQualityOrderReportType().equals("0") + ||qualityOrderReportVO.getQualityOrderReportType().equals("1")){ + updateApprovedInfo(qualityOrderReportVO); + } + //采购品质 + if(qualityOrderReportVO.getQualityOrderReportType().equals("2")){ + updatePurchaseApprovedInfo(qualityOrderReportVO); + } } qualityOrderReportMapper.updateQualityOrderReportById(qualityOrderReportVO); return processInstance; @@ -460,28 +479,32 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService } /* - * 审核通过后更新数据(生产入库,成品品质) + * 审核通过后更新数据(生产入库) * 成品品质更新品质单表、品质单详情表、品质单关联设备表、售后设备表、生产订单、生产订单bom已完成数和状态,新增入库单、入库单详情 * 半成品其他品质更新品质单表、品质单详情表、生产订单、生产订单bom已完成数和状态,新增入库单、入库单详情*/ @Override public void updateApprovedInfo(QualityOrderReportVO qualityOrderReportVO) { - String quaoityOrderCode = qualityOrderReportVO.getQualityOrderCode(); + String qualityOrderCode = qualityOrderReportVO.getQualityOrderCode(); String materialNo = qualityOrderReportVO.getMaterialNo(); String makeNo = qualityOrderReportVO.getRelatedOrderCode(); String loginName = ShiroUtils.getLoginName(); - int qualifiedNum = qualityOrderReportVO.getQualityHasqualifiedNum(); - int unQualifiedNum = qualityOrderReportVO.getProcessBadNum(); - int checkNum = qualityOrderReportVO.getCheckNum(); + int qualifiedNum = Optional.ofNullable(qualityOrderReportVO.getQualityHasqualifiedNum()) + .orElse(0); + int unQualifiedNum = Optional.ofNullable(qualityOrderReportVO.getProcessBadNum()) + .orElse(0); + int checkNum = Optional.ofNullable(qualityOrderReportVO.getCheckNum()) + .orElse(0); /** 更新品质单详情合格数、不良数 */ - QualityOrderDetail qualityOrderDetail = orderDetailMapper.selectQualityOrderDetailByCode(quaoityOrderCode); + QualityOrderDetail qualityOrderDetail = orderDetailMapper.selectQualityOrderDetailByCode(qualityOrderCode); qualityOrderDetail.setQualityQualifiedNum(qualifiedNum); qualityOrderDetail.setQualityUnqualifiedNum(unQualifiedNum); //更新待审核数 - int detailPendingReviewNum = qualityOrderDetail.getPendingReviewNum(); + int detailPendingReviewNum = Optional.ofNullable(qualityOrderDetail.getPendingReviewNum()) + .orElse(0); detailPendingReviewNum = detailPendingReviewNum - checkNum; qualityOrderDetail.setPendingReviewNum(detailPendingReviewNum); qualityOrderDetail.setUpdateBy(loginName); @@ -489,17 +512,20 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService orderDetailMapper.updateQualityOrderDetail(qualityOrderDetail); /** 更新品质单合格数、不良数*/ - QualityOrder qualityOrder = qualityOrderMapper.selectQualityOrderByCode(quaoityOrderCode); + QualityOrder qualityOrder = qualityOrderMapper.selectQualityOrderByCode(qualityOrderCode); qualityOrder.setQualityQualifiedNum(qualifiedNum); qualityOrder.setQualityUnqualifiedNum(unQualifiedNum); //更新待审核数 - int orderPendingReviewNum = qualityOrder.getPendingReviewNum(); + int orderPendingReviewNum = Optional.ofNullable(qualityOrder.getPendingReviewNum()) + .orElse(0); orderPendingReviewNum = orderPendingReviewNum - checkNum; qualityOrder.setPendingReviewNum(orderPendingReviewNum); qualityOrder.setUpdateBy(loginName); qualityOrder.setUpdateTime(DateUtils.getNowDate()); - int orderQualifiedNum = qualityOrder.getQualityQualifiedNum(); - int orderUnqualifiedNum = qualityOrder.getQualityUnqualifiedNum(); + int orderQualifiedNum = Optional.ofNullable(qualityOrder.getQualityQualifiedNum()) + .orElse(0); + int orderUnqualifiedNum = Optional.ofNullable(qualityOrder.getQualityUnqualifiedNum()) + .orElse(0);; int qualityNum = orderQualifiedNum + orderUnqualifiedNum + orderPendingReviewNum; if(qualityNum < qualityOrder.getThisArrivedNum()){ qualityOrder.setQualityStatus("1");//部分品质 @@ -510,22 +536,52 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService qualityOrderMapper.updateQualityOrder(qualityOrder); /* * 更新设备状态*/ - List deviceIds = qualityOrderReportVO.getQualityReportDeviceIds(); - if (StringUtils.isNotEmpty(deviceIds)) { - for (String deviceId : deviceIds) { - //更新品质单关联设备状态 - QualityShippingDevice shippingDevice = shippingDeviceMapper.selectQualityShippingDeviceByDeviceId(deviceId); - shippingDevice.setQualityAuditStatus("1");//审核通过 - shippingDevice.setQualityStatus("3");//品质不合格(审核通过) - shippingDevice.setUpdateBy(loginName); - shippingDevice.setUpdateTime(DateUtils.getNowDate()); - shippingDeviceMapper.updateQualityShippingDevice(shippingDevice); - //更新售后出货设备状态 - AfterSalesShippingDevice afterSalesDevice = afterSalesDeviceMapper.selectAfterSalesShippingDeviceByShippingDeviceId(deviceId); - afterSalesDevice.setQualityStatus("3");//品质不合格(审核通过) - afterSalesDevice.setUpdateBy(loginName); - afterSalesDevice.setUpdateTime(DateUtils.getNowDate()); - afterSalesDeviceMapper.updateAfterSalesShippingDevice(afterSalesDevice); + if(qualityOrderReportVO.getQualityOrderReportType().equals("0")){//生产成品品质 + List deviceIds = qualityOrderReportVO.getQualityReportDeviceIds(); + if (StringUtils.isNotEmpty(deviceIds)) { + for (String deviceId : deviceIds) { + //更新品质单关联设备状态 + QualityShippingDevice tempDevice = new QualityShippingDevice(); + tempDevice.setQualityOrderCode(qualityOrderCode); + tempDevice.setShippingDeviceId(deviceId); + QualityShippingDevice shippingDevice = shippingDeviceMapper.selectQualityShippingDeviceByDeviceId(tempDevice); + shippingDevice.setQualityAuditStatus("1");//审核通过 + shippingDevice.setQualityStatus("3");//品质不合格(审核通过) + shippingDevice.setUpdateBy(loginName); + shippingDevice.setUpdateTime(DateUtils.getNowDate()); + shippingDeviceMapper.updateQualityShippingDevice(shippingDevice); + //更新售后出货设备状态 + AfterSalesShippingDevice afterSalesDevice = afterSalesDeviceMapper.selectAfterSalesShippingDeviceByShippingDeviceId(deviceId); + afterSalesDevice.setQualityStatus("3");//品质不合格(审核通过) + afterSalesDevice.setUpdateBy(loginName); + afterSalesDevice.setUpdateTime(DateUtils.getNowDate()); + afterSalesDeviceMapper.updateAfterSalesShippingDevice(afterSalesDevice); + } + } + //品质单全部品质,则更新该品质单内的设备为品质合格(审核通过) + if(qualityNum == qualityOrder.getThisArrivedNum()){ + QualityShippingDevice tempDevice = new QualityShippingDevice(); + //查找本品质单包含的未被提交为不良的设备 + tempDevice.setQualityAuditStatus("0");//未提交 + tempDevice.setQualityOrderCode(qualityOrderCode); + List qualityShippingDevices = shippingDeviceMapper.selectQualityShippingDeviceList(tempDevice); + if(StringUtils.isNotEmpty(qualityShippingDevices)){ + for (QualityShippingDevice shippingDevice: qualityShippingDevices) { + String deviceId = shippingDevice.getShippingDeviceId(); + //更新品质单设备为品质合格、审核通过 + shippingDevice.setQualityAuditStatus("1");//审核通过 + shippingDevice.setQualityStatus("1");//品质合格 + shippingDevice.setUpdateBy(loginName); + shippingDevice.setUpdateTime(DateUtils.getNowDate()); + shippingDeviceMapper.updateQualityShippingDevice(shippingDevice); + //更新售后出货设备为品质合格 + AfterSalesShippingDevice salesDevice = afterSalesDeviceMapper.selectAfterSalesShippingDeviceByShippingDeviceId(deviceId); + salesDevice.setQualityStatus("2");//品质合格(审核通过) + salesDevice.setUpdateBy(loginName); + salesDevice.setUpdateTime(DateUtils.getNowDate()); + afterSalesDeviceMapper.updateAfterSalesShippingDevice(salesDevice); + } + } } } //更新生产订单bom已完成数 @@ -536,18 +592,20 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService if(makeorderBom == null){ throw new BusinessException("关联生产单bom为空!请检查"); } - int bomFinishNum = makeorderBom.getFinishNum(); + int bomFinishNum = Optional.ofNullable(makeorderBom.getFinishNum()) + .orElse(0); bomFinishNum = bomFinishNum + qualifiedNum; makeorderBom.setFinishNum(bomFinishNum); makeorderBomMapper.updateSysMakeorderBom(makeorderBom); - //更新生产订单已完成数 SysMakeOrder makeOrder = makeOrderMapper.selectMakeOrderByMakeNo(makeNo); if(makeOrder == null){ throw new BusinessException("关联生产订单不存在!请检查"); } - int makeOrderFinishNum = makeOrder.getFinishNum(); - int makeOrderNum = makeOrder.getMaterialSum(); + int makeOrderFinishNum = Optional.ofNullable(makeOrder.getFinishNum()) + .orElse(0); + int makeOrderNum = Optional.ofNullable(makeOrder.getMaterialSum()) + .orElse(0); makeOrderFinishNum = makeOrderFinishNum + qualifiedNum; makeOrder.setFinishNum(makeOrderFinishNum); //订单数>完成数,部分完成,部分品质 @@ -598,17 +656,19 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService * 更新品质单表、品质单详情表、品质单关联设备表、售后设备表*/ @Override public void updateDisApprovedInfo(QualityOrderReportVO qualityOrderReportVO) { - String quaoityOrderCode = qualityOrderReportVO.getQualityOrderCode(); + String qualityOrderCode = qualityOrderReportVO.getQualityOrderCode(); String materialNo = qualityOrderReportVO.getMaterialNo(); String makeNo = qualityOrderReportVO.getRelatedOrderCode(); String loginName = ShiroUtils.getLoginName(); - int checkNum = qualityOrderReportVO.getCheckNum(); + int checkNum = Optional.ofNullable(qualityOrderReportVO.getCheckNum()) + .orElse(0); /** 更新品质单详情待审核数 */ - QualityOrderDetail qualityOrderDetail = orderDetailMapper.selectQualityOrderDetailByCode(quaoityOrderCode); - int detailPendingReviewNum = qualityOrderDetail.getPendingReviewNum(); + QualityOrderDetail qualityOrderDetail = orderDetailMapper.selectQualityOrderDetailByCode(qualityOrderCode); + int detailPendingReviewNum = Optional.ofNullable(qualityOrderDetail.getPendingReviewNum()) + .orElse(0); detailPendingReviewNum = detailPendingReviewNum - checkNum; qualityOrderDetail.setPendingReviewNum(detailPendingReviewNum); qualityOrderDetail.setUpdateBy(loginName); @@ -616,12 +676,16 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService orderDetailMapper.updateQualityOrderDetail(qualityOrderDetail); /** 更新品质单待审核数*/ - QualityOrder qualityOrder = qualityOrderMapper.selectQualityOrderByCode(quaoityOrderCode); - int orderPendingReviewNum = qualityOrder.getPendingReviewNum(); + QualityOrder qualityOrder = qualityOrderMapper.selectQualityOrderByCode(qualityOrderCode); + int orderPendingReviewNum = Optional.ofNullable(qualityOrder.getPendingReviewNum()) + .orElse(0); orderPendingReviewNum = orderPendingReviewNum - checkNum; qualityOrder.setPendingReviewNum(orderPendingReviewNum); - int orderQualifiedNum = qualityOrder.getQualityQualifiedNum(); - int orderUnqualifiedNum = qualityOrder.getQualityUnqualifiedNum(); + int orderQualifiedNum = Optional.ofNullable(qualityOrder.getQualityQualifiedNum()) + .orElse(0); + int orderUnqualifiedNum = Optional.ofNullable(qualityOrder.getQualityUnqualifiedNum()) + .orElse(0); + //更新品质单品质状态 int qualityNum = orderQualifiedNum + orderUnqualifiedNum + orderPendingReviewNum; if(qualityNum == 0){ qualityOrder.setQualityStatus("0");//待品质 @@ -642,7 +706,11 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService if (StringUtils.isNotEmpty(deviceIds)) { for (String deviceId : deviceIds) { //更新品质单关联设备状态 - QualityShippingDevice shippingDevice = shippingDeviceMapper.selectQualityShippingDeviceByDeviceId(deviceId); + QualityShippingDevice tempDevice = new QualityShippingDevice(); + tempDevice.setQualityOrderCode(qualityOrderCode); + tempDevice.setShippingDeviceId(deviceId); + QualityShippingDevice shippingDevice = shippingDeviceMapper.selectQualityShippingDeviceByDeviceId(tempDevice); + shippingDevice.setQualityAuditStatus("2");//审核拒绝 shippingDevice.setQualityStatus("1");//待品质 shippingDevice.setUpdateBy(loginName); @@ -702,5 +770,319 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService storageOrderDetail.setCreateTime(DateUtils.getNowDate()); return storageOrderDetail; } + + /* + * 审核通过后更新数据(采购入库) + * 来料品质更新品质单表、品质单详情表、入库单*/ + @Transactional(rollbackFor = Exception.class) + @Override + public void updatePurchaseApprovedInfo(QualityOrderReportVO qualityOrderReportVO) { + String quaoityOrderCode = qualityOrderReportVO.getQualityOrderCode(); + String materialNo = qualityOrderReportVO.getMaterialNo(); + String makeNo = qualityOrderReportVO.getRelatedOrderCode(); + String loginName = ShiroUtils.getLoginName(); + + int qualifiedNum = Optional.ofNullable(qualityOrderReportVO.getQualityHasqualifiedNum()) + .orElse(0); + int unQualifiedNum = Optional.ofNullable(qualityOrderReportVO.getProcessBadNum()) + .orElse(0); + int checkNum = Optional.ofNullable(qualityOrderReportVO.getCheckNum()) + .orElse(0); + + /** + 更新品质单详情合格数、不良数 + */ + QualityOrderDetail qualityOrderDetail = orderDetailMapper.selectQualityOrderDetailByCode(quaoityOrderCode); + //更新待审核数 + int detailPendingReviewNum = Optional.ofNullable(qualityOrderDetail.getPendingReviewNum()) + .orElse(0); + detailPendingReviewNum = detailPendingReviewNum - checkNum; + qualityOrderDetail.setPendingReviewNum(detailPendingReviewNum); + //更新品质单详情合格数 + int detailQualifiedNum = Optional.ofNullable(qualityOrderDetail.getQualityQualifiedNum()) + .orElse(0); + detailQualifiedNum = detailQualifiedNum + qualifiedNum; + qualityOrderDetail.setQualityQualifiedNum(detailQualifiedNum); + //更新品质单详情不合格数 + int detailUnqualifiedNum = Optional.ofNullable(qualityOrderDetail.getQualityUnqualifiedNum()) + .orElse(0); + detailUnqualifiedNum = detailUnqualifiedNum + unQualifiedNum; + qualityOrderDetail.setQualityUnqualifiedNum(detailUnqualifiedNum); + + qualityOrderDetail.setUpdateBy(loginName); + qualityOrderDetail.setUpdateTime(DateUtils.getNowDate()); + orderDetailMapper.updateQualityOrderDetail(qualityOrderDetail); + /** + 更新品质单合格数、不良数*/ + QualityOrder qualityOrder = qualityOrderMapper.selectQualityOrderByCode(quaoityOrderCode); + + //更新待审核数 + int orderPendingReviewNum = Optional.ofNullable(qualityOrder.getPendingReviewNum()) + .orElse(0); + orderPendingReviewNum = orderPendingReviewNum - checkNum; + + //更新品质单合格数、不良数 + int orderQualifiedNum = Optional.ofNullable(qualityOrder.getQualityQualifiedNum()) + .orElse(0); + int orderUnqualifiedNum = Optional.ofNullable(qualityOrder.getQualityUnqualifiedNum()) + .orElse(0); + orderQualifiedNum = orderQualifiedNum + qualifiedNum; + orderUnqualifiedNum = orderUnqualifiedNum + unQualifiedNum; + int qualityNum = orderQualifiedNum + orderUnqualifiedNum + orderPendingReviewNum; + if(qualityNum < qualityOrder.getThisArrivedNum()){ + qualityOrder.setQualityStatus("1");//部分品质 + } + if(qualityNum == qualityOrder.getThisArrivedNum()){ + qualityOrder.setQualityStatus("2");//全部品质 + } + qualityOrder.setQualityQualifiedNum(orderQualifiedNum); + qualityOrder.setQualityUnqualifiedNum(orderUnqualifiedNum); + qualityOrder.setPendingReviewNum(orderPendingReviewNum); + qualityOrder.setUpdateBy(loginName); + qualityOrder.setUpdateTime(DateUtils.getNowDate()); + qualityOrderMapper.updateQualityOrder(qualityOrder); + + //更新关联入库单详情状态 + String storageCode = qualityOrderReportVO.getInStorageCode(); + WarehouseStorageOrderDetail tempDetail = new WarehouseStorageOrderDetail(); + tempDetail.setWarehouseStorageCode(storageCode); + tempDetail.setSupplierCode(qualityOrderReportVO.getSupplierCode()); + tempDetail.setMaterialNo(materialNo); + WarehouseStorageOrderDetail storageDetail = storageDetailMapper.selectWarehouseStorageOrderByObject(tempDetail); + if(storageDetail == null){ + throw new BusinessException("关联入库单详情为空!"); + } + int storageDetailQualifiedNum = Optional.ofNullable(storageDetail.getQualityQualifiedNum()) + .orElse(0); + storageDetailQualifiedNum = storageDetailQualifiedNum + qualifiedNum; + storageDetail.setQualityQualifiedNum(storageDetailQualifiedNum); + storageDetail.setQualityHasQualifiedNum(storageDetailQualifiedNum);//品质已合格数 + storageDetail.setUpdateBy(loginName); + storageDetail.setUpdateTime(DateUtils.getNowDate()); + storageDetailMapper.updateWarehouseStorageOrderDetail(storageDetail); + + //更新关联入库单状态 + WarehouseStorageOrder storageOrder = storageOrderMapper.selectWarehouseStorageOrderByCode(storageCode); + if(storageOrder == null){ + throw new BusinessException("关联入库单为空!"); + } + int storageQualifiedNum = Optional.ofNullable(storageOrder.getQualityQualifiedNum()) + .orElse(0); + int unStorageQualifiedNum = Optional.ofNullable(storageOrder.getQualityUnqualifiedNum()) + .orElse(0); + storageQualifiedNum = storageQualifiedNum + qualifiedNum; + unStorageQualifiedNum = unStorageQualifiedNum + unQualifiedNum; + + storageOrder.setQualityQualifiedNum(storageQualifiedNum); + storageOrder.setQualityUnqualifiedNum(unStorageQualifiedNum); + int storageQualifyNum = storageQualifiedNum + unStorageQualifiedNum; + if(storageQualifyNum < storageOrder.getTemporaryQualifiedNum()){ + storageOrder.setWarehouseQualityStatus("1");//部分品质 + } + if(storageQualifyNum == storageOrder.getTemporaryQualifiedNum()){ + storageOrder.setWarehouseQualityStatus("2");//全部品质 + } + storageOrder.setUpdateBy(loginName); + storageOrder.setUpdateTime(DateUtils.getNowDate()); + storageOrder.setQualityTime(qualityOrderReportVO.getCheckoutCompletionTime()); + storageOrderMapper.updateWarehouseStorageOrder(storageOrder); + + //不合格数大于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); + + 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 exchangeDetailResult = refundsExchangesDetailMapper.insertQualityRefundsExchangesDetail(refundsExchangesDetail); + if(exchangeDetailResult<=0){ + throw new BusinessException("新增退换货单详情失败"); + } + + int exchangeResult = refundsExchangesMapper.insertQualityRefundsExchanges(refundsExchanges); + if(exchangeResult<=0){ + throw new BusinessException("新增退换货单失败"); + } + + } + } + + //根据品质报告单生成退换货单 + public QualityRefundsExchanges generateQualityRefundsExchange(QualityOrderReportVO qualityReportVO, String refundsCodes){ + QualityRefundsExchanges refundsExchanges = new QualityRefundsExchanges(); + refundsExchanges.setRefundsExchangesCode(refundsCodes); + refundsExchanges.setRefundsExchangesStatus("0");//待结案 + refundsExchanges.setQualityDeliveryStatus("0");//待收货 + refundsExchanges.setQualityPurchaseStatus("0");//待确认 + refundsExchanges.setQualityWarehouseStatus("0");//待入库 + refundsExchanges.setWarehouseStorageType("0");//采购入库 + refundsExchanges.setQualityReturnNode("0");//入库前退货 + refundsExchanges.setRelatedOrderCode(qualityReportVO.getQualityOrderCode()); + refundsExchanges.setInStorageCode(qualityReportVO.getInStorageCode()); + refundsExchanges.setMaterialTotal(1); + refundsExchanges.setNumTotal(qualityReportVO.getProcessBadNum()); + refundsExchanges.setDeliveryInspectionTime(qualityReportVO.getDeliveryInspectionTime()); + refundsExchanges.setCreateBy(ShiroUtils.getLoginName()); + refundsExchanges.setCreateTime(DateUtils.getNowDate()); + return refundsExchanges; + } + + //根据品质单详情生成退换货详情 + public QualityRefundsExchangesDetail generateRefundsExchangesDetail(String refundsExchangesCode,QualityOrderDetail detail,String storageCode){ + QualityRefundsExchangesDetail exchangesDetail = new QualityRefundsExchangesDetail(); + exchangesDetail.setRefundsExchangesCode(refundsExchangesCode); + exchangesDetail.setRefundsExchangesStatus("0");//待结案 + exchangesDetail.setQualityWarehouseStatus("0");//待入库 + exchangesDetail.setQualityPurchaseStatus("0");//待确认 + exchangesDetail.setQualityDeliveryStatus("0");//待收货 + exchangesDetail.setQualityReturnNode("0");//入库前退货 + exchangesDetail.setRelatedOrderCode(detail.getQualityOrderCode()); + exchangesDetail.setInStorageCode(storageCode); + exchangesDetail.setQualityWarehouseStatus(detail.getQualityStorageStatus()); + exchangesDetail.setDeliveryInspectionTime(detail.getDeliveryInspectionTime()); + exchangesDetail.setMaterialNo(detail.getMaterialNo()); + exchangesDetail.setMaterialName(detail.getMaterialName()); + exchangesDetail.setMaterialType(detail.getMaterialType()); + exchangesDetail.setMaterialBrand(detail.getMaterialBrand()); + exchangesDetail.setMaterialPhotourl(detail.getMaterialPhotourl()); + exchangesDetail.setMaterialBrand(detail.getMaterialBrand()); + exchangesDetail.setMaterialProcessMethod(detail.getMaterialProcessMethod()); + exchangesDetail.setMaterialUnit(detail.getMaterialUnit()); + exchangesDetail.setRefundsExchangesNum(detail.getQualityUnqualifiedNum()); + exchangesDetail.setQualityUnqualifiedNum(detail.getQualityUnqualifiedNum()); + exchangesDetail.setSupplierCode(detail.getSupplierCode()); + exchangesDetail.setSupplierName(detail.getSupplierName()); + exchangesDetail.setSupplierAddress(detail.getSupplierAddress()); + exchangesDetail.setCustomerContact(detail.getCustomerContact()); + exchangesDetail.setContactNumber(detail.getContactNumber()); + exchangesDetail.setCreateBy(ShiroUtils.getLoginName()); + exchangesDetail.setCreateTime(DateUtils.getNowDate()); + return exchangesDetail; + } + + //根据品质单详情和品质报告生成退换货报告 + public QualityRefundsExchangesOrder generateQualityRefundsExchangesOrder(String refundsExchangesCode,QualityOrderReport qualityReport,QualityOrderDetail detail){ + QualityRefundsExchangesOrder exchangesOrder = new QualityRefundsExchangesOrder(); + exchangesOrder.setRefundsExchangesCode(refundsExchangesCode); + exchangesOrder.setSupplierCode(detail.getSupplierCode()); + exchangesOrder.setSupplierName(detail.getSupplierName()); + exchangesOrder.setMaterialNo(detail.getMaterialNo()); + exchangesOrder.setMaterialName(detail.getMaterialName()); + exchangesOrder.setMakeTotal(detail.getMakeTotal()); + exchangesOrder.setQualityHasqualifiedNum(detail.getQualityHasqualifiedNum()); + exchangesOrder.setOkAcceptedNum(qualityReport.getOkAcceptedNum()); + exchangesOrder.setOkReportUrl(qualityReport.getOkReportUrl()); + exchangesOrder.setSpecialConcessionsNum(qualityReport.getSpecialConcessionsNum()); + exchangesOrder.setSpecialReportUrl(qualityReport.getSpecialReportUrl()); + exchangesOrder.setCheckoutCompletionTime(qualityReport.getCheckoutCompletionTime()); + exchangesOrder.setProcessBadNum(qualityReport.getProcessBadNum()); + exchangesOrder.setUnqualifiedReportUrl(qualityReport.getUnqualifiedReportUrl()); + exchangesOrder.setCreateBy(ShiroUtils.getLoginName()); + exchangesOrder.setCreateTime(DateUtils.getNowDate()); + return exchangesOrder; + } + + //根据品质单生成退换货入库单 + public WarehouseStorageOrder generateWarehouseStorageOrder(String refundsExchangesCode, QualityOrderReportVO qualityReportVO){ + WarehouseStorageOrder warehouseStorageOrder = new WarehouseStorageOrder(); + warehouseStorageOrder.setWarehouseStorageCode(redisCache.generateBillNo("RK")); + warehouseStorageOrder.setRelatedOrderCode(refundsExchangesCode); + warehouseStorageOrder.setWarehouseStorageStatus("2");//待入库 + warehouseStorageOrder.setWarehouseQualityStatus("2");//全部品质 + warehouseStorageOrder.setWarehouseStorageType("3");//公司退货 + warehouseStorageOrder.setWarehouseOrderType("2");//退换货订单 + warehouseStorageOrder.setWarehouseDeptType("0");//仓库 + warehouseStorageOrder.setNotifyArrivedNum(qualityReportVO.getProcessBadNum()); + warehouseStorageOrder.setQualityQualifiedNum(qualityReportVO.getQualityHasqualifiedNum()); + warehouseStorageOrder.setQualityUnqualifiedNum(qualityReportVO.getProcessBadNum()); + warehouseStorageOrder.setDeliveryInspectionTime(qualityReportVO.getDeliveryInspectionTime()); + warehouseStorageOrder.setQualityTime(qualityReportVO.getCheckoutCompletionTime()); + warehouseStorageOrder.setCreateBy(ShiroUtils.getLoginName()); + warehouseStorageOrder.setCreateTime(DateUtils.getNowDate()); + return warehouseStorageOrder; + } + + //根据品质单详情生成退换货入库单详情 + public WarehouseStorageOrderDetail generateWarehouseStorageOrderDetail(String warehouseStorageCode,String refundsExchangesCode,QualityOrderDetail detail){ + WarehouseStorageOrderDetail storageOrderDetail = new WarehouseStorageOrderDetail(); + storageOrderDetail.setWarehouseStorageCode(warehouseStorageCode); + storageOrderDetail.setRelatedOrderCode(refundsExchangesCode); + storageOrderDetail.setWarehouseStorageStatus("2");//待入库 + storageOrderDetail.setWarehouseQualityStatus("2");//全部品质 + storageOrderDetail.setWarehouseStorageType("3");//公司退货 + storageOrderDetail.setWarehouseDeptType("0");//仓库入库 + storageOrderDetail.setSupplierCode(detail.getSupplierCode()); + storageOrderDetail.setSupplierName(detail.getSupplierName()); + storageOrderDetail.setSupplierAddress(detail.getSupplierAddress()); + storageOrderDetail.setCustomerContact(detail.getCustomerContact()); + storageOrderDetail.setContactNumber(detail.getContactNumber()); + storageOrderDetail.setMaterialNo(detail.getMaterialNo()); + storageOrderDetail.setMaterialName(detail.getMaterialName()); + storageOrderDetail.setMaterialType(detail.getMaterialType()); + storageOrderDetail.setMaterialBrand(detail.getMaterialBrand()); + storageOrderDetail.setMaterialPhotourl(detail.getMaterialPhotourl()); + storageOrderDetail.setMaterialBrand(detail.getMaterialBrand()); + storageOrderDetail.setMaterialProcessMethod(detail.getMaterialProcessMethod()); + storageOrderDetail.setMaterialUnit(detail.getMaterialUnit()); + storageOrderDetail.setMakeTotal(detail.getMakeTotal()); + storageOrderDetail.setActualArriveNum(detail.getQualityQualifiedNum()); + storageOrderDetail.setQualityQualifiedNum(detail.getQualityQualifiedNum()); + storageOrderDetail.setQualityHasQualifiedNum(detail.getQualityHasqualifiedNum()); + storageOrderDetail.setRefundsExchangesNum(detail.getQualityUnqualifiedNum()); + storageOrderDetail.setDeliveryInspectionTime(detail.getDeliveryInspectionTime()); + storageOrderDetail.setCreateBy(ShiroUtils.getLoginName()); + storageOrderDetail.setCreateTime(DateUtils.getNowDate()); + return storageOrderDetail; + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java index 2461bb94..99a2ad2d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java @@ -317,7 +317,7 @@ public class QualityOrderServiceImpl implements IQualityOrderService exchangesUnqualified.setCreateTime(DateUtils.getNowDate()); int exchangeUnqualifiedResult = exchangesUnqualifiedMapper.insertQualityRefundsExchangesUnqualified(exchangesUnqualified); if (exchangeUnqualifiedResult <= 0){ - log.warn("插入入库单详情失败,未影响任何行"); + throw new BusinessException("插入品质报告不合格分类失败,未影响任何行"); } } diff --git a/ruoyi-admin/src/main/resources/mapper/quality/QualityShippingDeviceMapper.xml b/ruoyi-admin/src/main/resources/mapper/quality/QualityShippingDeviceMapper.xml index fa0b78c9..eabc1fab 100644 --- a/ruoyi-admin/src/main/resources/mapper/quality/QualityShippingDeviceMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/quality/QualityShippingDeviceMapper.xml @@ -53,9 +53,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where shipping_device_code = #{shippingDeviceCode} - where shipping_device_id = #{shippingDeviceId} + and quality_order_code = #{qualityOrderCode}