zhang_nuo
5 小时以前 455c29191261975c726482a35ee66aa1f6cbb652
feat(production): 新增工序颜色字段并同步到生产任务数据链路

- 在工艺工序实体(TechnologyOperation)新增 color 字段,存储工序颜色值
- 为工序状态 VO(ProcessRouteStatusVo)和生产订单工序任务 VO(ProductionOrderProcessTaskVo)补充颜色属性
- 在生产订单服务实现(ProductionOrderServiceImpl)中,将工序颜色值设置到工序状态对象
- 更新生产工序任务 Mapper XML,关联工艺工序表查询颜色数据,确保前端可直接获取工序配色用于可视化展示
已修改5个文件
13 ■■■■■ 文件已修改
src/main/java/com/ruoyi/production/bean/vo/ProcessRouteStatusVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/bean/vo/ProductionOrderProcessTaskVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/pojo/TechnologyOperation.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductionOperationTaskMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/bean/vo/ProcessRouteStatusVo.java
@@ -12,6 +12,9 @@
    @Schema(description = "工序名称")
    private String name;
    @Schema(description = "工序颜色")
    private String color;
    @Schema(description = "完成进度百分比")
    private BigDecimal percentage;
}
src/main/java/com/ruoyi/production/bean/vo/ProductionOrderProcessTaskVo.java
@@ -15,6 +15,9 @@
    @Schema(description = "工序名称")
    private String operationName;
    @Schema(description = "工序颜色")
    private String operationColor;
    @Schema(description = "完成进度")
    private BigDecimal completionStatus;
}
src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
@@ -802,6 +802,7 @@
                status.setName(task.getOperationName() != null && !task.getOperationName().isBlank()
                        ? task.getOperationName()
                        : "未知工序");
                status.setColor(task.getOperationColor());
                BigDecimal percentage = task.getCompletionStatus() == null
                        ? BigDecimal.ZERO
                        : task.getCompletionStatus();
src/main/java/com/ruoyi/technology/pojo/TechnologyOperation.java
@@ -37,6 +37,9 @@
    @Schema(description = "工艺名称")
    private String name;
    @Schema(description = "工序颜色(如 #FF0000)")
    private String color;
    @Schema(description = "工艺编号")
    private String no;
src/main/resources/mapper/production/ProductionOperationTaskMapper.xml
@@ -218,10 +218,13 @@
    <select id="listProcessStatusByOrderIds" resultType="com.ruoyi.production.bean.vo.ProductionOrderProcessTaskVo">
        select pot.production_order_id as productionOrderId,
               poro.operation_name as operationName,
               topo.color as operationColor,
               ROUND(IFNULL(pot.complete_quantity, 0) / NULLIF(pot.plan_quantity, 0) * 100, 2) AS completionStatus
        from production_operation_task pot
                 left join production_order_routing_operation poro
                           on pot.production_order_routing_operation_id = poro.id
                 left join technology_operation topo
                           on poro.technology_operation_id = topo.id
        where pot.production_order_id in
        <foreach collection="orderIds" item="orderId" open="(" separator="," close=")">
            #{orderId}