---
url: /dev/basic-data/cost-type/index.md
---
# 费用类型

## 功能概述

## 业务对象

**业务对象名称**：费用类型（CostType）

**业务场景描述**：

## 实体设计

### 料品费用类型实体（CostTypeConfig）

**实体说明**：按料品配置的费用类型主数据，定义每种料品对应的费用参数和价格。

| 字段名称 | 字段编码 | 数据类型 | 必填 | 说明 |
| --- | --- | --- | --- | --- |
| 主键ID | id | 整数 | `自动` | 系统自带 |
| 品名[^1] | materialName | 引用: ==物料清单== | **是** | 唯一性 |
| 料号 | materialCode | 文本 | `自动` | 料品编码(外带字段) |
| 料品ID | materialId | 文本 | `自动` | 料品ID(外带字段、隐藏) |
| 费用类型\[^2] | costTypeName | 文本 | 否 | 成本分类实体 |
| 费用类型编码 | costTypeCode | 文本 | 否 | 成本分类实体编码(隐藏) |
| 费用类型ID | costTypeId | 文本 | 否 | 成本分类实体ID(隐藏) |
| 工资不变价 | salaryPrice | 数值 | 否 | 4位小数 |
| 接头价格 | unionPrice | 数值 | 否 | 4位小数 |
| 合并料品 | subMaterialName | 引用: ==物料清单== | 否 | 用于替换实际领料计算费用 |
| 合并料号 | subMaterialCode | 文本 | 否 | 料品编码(外带字段) |
| 合并料品ID | subMaterialId | 文本 | 否 | 料品ID(外带字段、隐藏) |
| 备注 | remark | 文本 | 否 | 备注说明 |

### 车间费用类型实体（CostTypePlant）

**实体说明**：按车间（部门）配置的费用类型明细，定义不同车间对同一料品的费用归属。

| 字段名称 | 字段编码 | 数据类型 | 必填 | 说明 |
| --- | --- | --- | --- | --- |
| 主键ID | id | 整数 | `自动` | 系统自带 |
| 料号[^1] | materialCode | 引用: ==物料清单== | **是** | 料品编码 |
| 部门\[^3] | deptName | 引用: ==部门== | **是** | 与关联ID联合唯一 |
| 部门编码 | deptCode | 文本 | `自动` | 部门编码(外带字段、隐藏) |
| 部门ID | deptId | 文本 | `自动` | 部门ID(外带字段、隐藏) |
| 费用类型\[^2] | costTypeName | 文本  | **是** | 成本分类实体 |
| 费用类型编码 | costTypeCode | 文本 | **是** | 成本分类实体编码(隐藏) |
| 备注 | remark | 文本 | 否 | 备注说明 |

[^1]: 产成品\(数据过滤条件？\)

\[^2]: 基础设置 -> 料品 -> 分类 -> 成本分类
\[^3]: 生产部门(数据过滤条件？)

## 功能实现

### 读取价格

**功能描述**：根据料品和费用类型，从数据库中读取对应的费用价格。

***功能实现***:

* 从**销售价目表**中读取料品的销售价格，米价=工资不变价、条价=接头价格；
* 如果**销售价目表**中不存在，再从**销售订单**（标准订单）中获取最新的销售价格，逻辑同上；
* 获取到价格的可以直接保存（暂定）

### 获取逻辑

车间费用类型替换配置的通用的费用类型
