huminmin
8 小时以前 466ee077797f7c145fee8462f14029255618aa6a
不合格管理:取消隔离
已修改6个文件
37 ■■■■ 文件已修改
doc/20260317_鹏创电子.sql 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/20260317_Åô´´µç×Ó.sql
@@ -1,3 +1,6 @@
alter table quality_inspect
    add defective_quantity decimal(18, 2) null comment '不良数量',
    add defective_reason varchar(255) default '' not null comment '不良原因';
alter table quality_unqualified
    add quarantine_lifted boolean not null default false comment '是否已取消隔离';
src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
@@ -11,7 +11,8 @@
    PRODUCTION_REPORT_STOCK_IN("2", "生产报工-入库"),
    PURCHASE_STOCK_IN("7", "采购-入库"),
    QUALITYINSPECT_STOCK_IN("6", "质检-合格入库"),
    DEFECTIVE_PASS("11", "不合格-让步放行");
    DEFECTIVE_PASS("11", "不合格-让步放行"),
    LIFT_THE_QUARANTINE("12", "不合格-取消隔离");
    private final String code;
src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
@@ -106,7 +106,7 @@
     * @return
     */
    @PostMapping("/liftTheQuarantine")
    public AjaxResult liftTheQuarantine(QualityUnqualified qualityUnqualified) {
    public AjaxResult liftTheQuarantine(@RequestBody QualityUnqualified qualityUnqualified) {
        return AjaxResult.success(qualityUnqualifiedService.liftTheQuarantine(qualityUnqualified));
    }
}
src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java
@@ -93,6 +93,12 @@
    private String defectivePhenomena;
    /**
     * æ˜¯å¦å·²å–消隔离
     */
    @Excel(name = "是否已取消隔离")
    private Boolean quarantineLifted;
    /**
     * å¤„理结果
     */
    @Excel(name = "处理结果")
src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -29,6 +29,7 @@
import com.ruoyi.stock.service.StockUninventoryService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
@@ -170,19 +171,30 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean liftTheQuarantine(QualityUnqualified qualityUnqualified) {
        if (qualityUnqualified.getDealResult().equals("隔离")) {
        QualityUnqualified unqualified = qualityUnqualifiedMapper.selectById(qualityUnqualified.getId());
        if (unqualified.getQuarantineLifted()) {
            throw new RuntimeException("该不合格品已被取消隔离");
        }
        if (unqualified.getDealResult() == null) {
            throw new RuntimeException("该不合格品未被处理");
        }
        if (!unqualified.getDealResult().equals("隔离")) {
            throw new RuntimeException("该不合格品未被隔离");
        }
        // å–消隔离 è°ƒç”¨æäº¤åˆæ ¼çš„æŽ¥å£
        QualityInspect qualityInspect = qualityInspectService.getById(qualityUnqualified.getInspectId());
        QualityInspect qualityInspect = qualityInspectService.getById(unqualified.getInspectId());
        if (qualityInspect.getInspectType().equals(2)) {
            stockUtils.addStockNoReview(qualityInspect.getProductModelId(), qualityUnqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), qualityUnqualified.getId());
            stockUtils.addStockNoReview(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.LIFT_THE_QUARANTINE.getCode(), unqualified.getId());
        } else {
            stockUtils.addStock(qualityInspect.getProductModelId(), qualityUnqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), qualityUnqualified.getId());
            stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.LIFT_THE_QUARANTINE.getCode(), unqualified.getId());
        }
        return true;
        unqualified.setQuarantineLifted(true);
        return qualityUnqualifiedMapper.updateById(unqualified) > 0;
    }
    @Override
src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
@@ -16,6 +16,7 @@
        qu.deal_result,
        qu.deal_name,
        qu.deal_time,
        qu.quarantine_lifted,
        CASE
        WHEN qu.model = pm.id THEN pm.model
        ELSE qu.model