17 小时以前 44ceeeee9cd3f76b0f3a2135421407b73dea9bb0
fix(sales): 修复销售台账发货状态查询逻辑

- 在销售台账查询中添加合同类型字段
- 更新发货状态查询条件,支持审核通过和已发货两种状态
- 添加库存出库记录关联查询,确保记录类型为13且审批状态为1
- 修改采购记录工具类中的发货状态更新逻辑,统一使用待审核状态码
已修改3个文件
20 ■■■■ 文件已修改
src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/SalesLedgerMapper.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/SalesLedgerProductMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -160,9 +160,10 @@
     */
    public void shipmentStatus(String recordType, Long recordId) {
        LambdaQueryWrapper<StockOutRecord> queryWrapper = new LambdaQueryWrapper<StockOutRecord>().eq(StockOutRecord::getRecordType, recordType)
                .eq(StockOutRecord::getRecordId, recordId);
        stockOutRecordService.list(queryWrapper).stream().forEach(stockOutRecord -> {
            stockOutRecord.setApprovalStatus(0);
                .eq(StockOutRecord::getRecordId, recordId)
                .eq(StockOutRecord::getApprovalStatus, 3);
        stockOutRecordService.list(queryWrapper).forEach(stockOutRecord -> {
            stockOutRecord.setApprovalStatus(ReviewStatusEnum.PENDING_REVIEW.getCode());
            stockOutRecordService.updateById(stockOutRecord);
        });
    }
src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -56,6 +56,7 @@
        T1.attachment_materials,
        T1.tenant_id,
        T1.contract_amount,
        T1.contract_type,
        T1.net_contract_amount,
        T1.contract_amount AS noInvoiceAmountTotal,
        T1.execution_date,
@@ -147,8 +148,11 @@
        left join (
            select slp.sales_ledger_id, SUM(spd.quantity) AS shipped_quantity
            from sales_ledger_product slp
            inner join shipping_info si on slp.id = si.sales_ledger_product_id and si.status = '已发货'
            inner join shipping_info si on slp.id = si.sales_ledger_product_id and si.status IN ('审核通过', '已发货')
            inner join shipping_product_detail spd on si.id = spd.shipping_info_id
            inner join stock_out_record sor on sor.record_id = si.id
                and TRIM(sor.record_type) = '13'
                and sor.approval_status = 1
            group by slp.sales_ledger_id
        ) shipped on sl.id = shipped.sales_ledger_id
        where sl.parent_contract_id = #{parentContractId}
@@ -160,8 +164,11 @@
        select IFNULL(SUM(spd.quantity), 0)
        from sales_ledger slo
        inner join sales_ledger_product slp on slo.id = slp.sales_ledger_id
        inner join shipping_info si on slp.id = si.sales_ledger_product_id and si.status = '已发货'
        inner join shipping_info si on slp.id = si.sales_ledger_product_id and si.status IN ('审核通过', '已发货')
        inner join shipping_product_detail spd on si.id = spd.shipping_info_id
        inner join stock_out_record sor on sor.record_id = si.id
            and TRIM(sor.record_type) = '13'
            and sor.approval_status = 1
        where slo.parent_contract_id = #{parentContractId}
    </select>
src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -73,7 +73,7 @@
            INNER JOIN stock_out_record sor
                ON sor.record_id = si.id
               AND TRIM(sor.record_type) = '13'
               AND sor.approval_status IN (0, 1, 3)
               AND sor.approval_status = 1
            INNER JOIN stock_inventory inv
                ON inv.id = spd.stock_inventory_id
            INNER JOIN stock_in_record sir