采购台账的对应产品选择质检时,该质检产品手动入库按钮需要置灰,不质检的产品则可以点击手动入库
已修改4个文件
18 ■■■■ 文件已修改
src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/SalesLedgerProductMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
@@ -30,6 +30,9 @@
    @Schema(description = "入库状态")
    private String stockInStatus;
    @Schema(description = "是否所有产品都需要质检")
    private Boolean allNeedQualityCheck;
    private Long id;
    /**
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -217,10 +217,13 @@
     */
    public void addProductionData(SalesLedgerProduct salesLedgerProduct) {
        //先判断该产品是否需要生产
        if (!salesLedgerProduct.getIsProduction()) {
        if (!Boolean.TRUE.equals(salesLedgerProduct.getIsProduction())) {
            return;
        }
        SalesLedger salesLedger = salesLedgerMapper.selectById(salesLedgerProduct.getSalesLedgerId());
        if (salesLedger == null) {
            return;
        }
        ProductionPlan productionPlan = new ProductionPlan();
        productionPlan.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId());
        productionPlan.setSalesLedgerProductId(salesLedgerProduct.getId());
src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -44,7 +44,8 @@
                    WHEN IFNULL(ls.full_product_count, 0) >= IFNULL(ls.total_product_count, 0) THEN '完全入库'
                    WHEN IFNULL(ls.approved_product_count, 0) > 0 OR IFNULL(ls.pending_product_count, 0) > 0 THEN '入库中'
                    ELSE '待入库'
                END AS stock_in_status
                END AS stock_in_status,
                IFNULL(ls.all_need_quality_check, 0) AS all_need_quality_check
            FROM purchase_ledger pl
            LEFT JOIN supplier_manage sm ON pl.supplier_id = sm.id
            LEFT JOIN (
@@ -53,12 +54,14 @@
                    COUNT(1) AS total_product_count,
                    SUM(CASE WHEN product_status.approved_stock_in_num > 0 THEN 1 ELSE 0 END) AS approved_product_count,
                    SUM(CASE WHEN product_status.pending_stock_in_num > 0 THEN 1 ELSE 0 END) AS pending_product_count,
                    SUM(CASE WHEN product_status.approved_stock_in_num >= product_status.product_quantity THEN 1 ELSE 0 END) AS full_product_count
                    SUM(CASE WHEN product_status.approved_stock_in_num >= product_status.product_quantity THEN 1 ELSE 0 END) AS full_product_count,
                    MIN(CASE WHEN product_status.is_checked = 1 THEN 1 ELSE 0 END) AS all_need_quality_check
                FROM (
                    SELECT
                        slp.id AS sales_ledger_product_id,
                        slp.sales_ledger_id,
                        IFNULL(slp.quantity, 0) AS product_quantity,
                        IFNULL(slp.is_checked, 0) AS is_checked,
                        IFNULL(approved_qty.approved_stock_in_num, 0) AS approved_stock_in_num,
                        IFNULL(approved_qty.pending_stock_in_num, 0) AS pending_stock_in_num
                    FROM sales_ledger_product slp
src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -168,6 +168,9 @@
            <if test="salesLedgerProduct.type != null">
                AND T1.type = #{salesLedgerProduct.type}
            </if>
            <if test="salesLedgerProduct.isChecked != null">
                AND T1.is_checked = #{salesLedgerProduct.isChecked}
            </if>
        </where>
        ORDER BY T1.register_date DESC
    </select>