liyong
2026-04-16 8a714a4dd3446b057720ee0e02c9552d779fe235
feat(sales): 添加销售台账生产记录状态功能

- 在 SalesLedger 实体类中新增 hasProductionRecord 字段用于标识是否有生产记录
- 优化销售合同号解析查询中的字符串拼接逻辑,提高代码可读性
- 在销售台账列表查询中新增生产记录状态计算字段,通过关联订单、工单和生产主表实现
已修改2个文件
18 ■■■■■ 文件已修改
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/SalesLedgerMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -154,5 +154,9 @@
    @TableField(fill = FieldFill.INSERT)
    private Long deptId;
    @ApiModelProperty(value = "是否有生产记录")
    @TableField(exist = false)
    private Boolean hasProductionRecord;
}
src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -66,7 +66,18 @@
        WHEN shipping_status_counts.total_count = 0 THEN false
        WHEN shipping_status_counts.unshipped_count = 0 THEN true
        ELSE false
        END AS is_fh
        END AS is_fh,
        CASE
        WHEN EXISTS (
        SELECT 1
        FROM product_order po2
        INNER JOIN product_work_order wo2 ON wo2.product_order_id = po2.id
        INNER JOIN production_product_main pm2 ON pm2.work_order_id = wo2.id
        WHERE po2.sales_ledger_id = T1.id
        LIMIT 1
        ) THEN true
        ELSE false
        END AS has_production_record
        FROM sales_ledger T1
        LEFT JOIN sys_user T2 ON T1.entry_person = T2.user_id
        LEFT JOIN (
@@ -76,6 +87,7 @@
        FROM shipping_info
        GROUP BY sales_ledger_id
        ) shipping_status_counts ON T1.id = shipping_status_counts.sales_ledger_id
        <where>
            <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
                AND  T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')