4 天以前 e146067ae373f9385b9ddbb57c6eb7a933bf2561
生产工序增加字段
已添加2个文件
已修改7个文件
150 ■■■■■ 文件已修改
doc/20260615_add_plan_person_and_executor_to_routing_operation.sql 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/routing_operation_plan_person.md 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductionOrderRoutingOperation.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/bean/vo/TechnologyOperationVo.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/pojo/TechnologyOperation.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/pojo/TechnologyRoutingOperation.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductionOrderRoutingOperationMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/technology/TechnologyOperationMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/technology/TechnologyRoutingOperationMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/20260615_add_plan_person_and_executor_to_routing_operation.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
# ç”Ÿäº§å·¥åºæ–°å¢žè®¡åˆ’人员、计划执行人员、工序类型字段
ALTER TABLE technology_operation
    ADD plan_person bigint NULL COMMENT '计划人员ID',
    ADD executor bigint NULL COMMENT '计划执行人员ID',
    ADD process_type varchar(255) NULL COMMENT '工序类型';
ALTER TABLE technology_routing_operation
    ADD plan_person bigint NULL COMMENT '计划人员ID',
    ADD executor bigint NULL COMMENT '计划执行人员ID',
    ADD process_type varchar(255) NULL COMMENT '工序类型';
ALTER TABLE production_order_routing_operation
    ADD plan_person bigint NULL COMMENT '计划人员ID',
    ADD executor bigint NULL COMMENT '计划执行人员ID',
    ADD process_type varchar(255) NULL COMMENT '工序类型';
docs/routing_operation_plan_person.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
# ç”Ÿäº§å·¥åºæ–°å¢žè®¡åˆ’人员和计划执行人员
## æ¶‰åŠé¡µé¢
- åŸºç¡€å·¥åºç®¡ç†é¡µé¢ï¼ˆtechnology_operation / å·¥åºç®¡ç†ï¼‰
- å·¥è‰ºè·¯çº¿å·¥åºç®¡ç†é¡µé¢ï¼ˆtechnology_routing_operation)
- ç”Ÿäº§è®¢å•工序(production_order_routing_operation)
## API
### åŸºç¡€å·¥åºï¼ˆtechnologyOperation)
| æ–¹æ³• | è·¯å¾„ | è¯´æ˜Ž |
|------|------|------|
| GET | /technologyOperation/listPage | åˆ†é¡µæŸ¥è¯¢ |
| GET | /technologyOperation/list | æŸ¥è¯¢å…¨éƒ¨ |
| POST | /technologyOperation/add | æ–°å¢ž |
| PUT | /technologyOperation/update | ä¿®æ”¹ |
| DELETE | /technologyOperation/batchDelete | æ‰¹é‡åˆ é™¤ |
### å·¥è‰ºè·¯çº¿å·¥åºï¼ˆtechnologyRoutingOperation)
| æ–¹æ³• | è·¯å¾„ | è¯´æ˜Ž |
|------|------|------|
| GET | /technologyRoutingOperation/page | åˆ†é¡µæŸ¥è¯¢ |
| GET | /technologyRoutingOperation/list | åˆ—表查询 |
| GET | /technologyRoutingOperation/{id} | è¯¦æƒ… |
| POST | /technologyRoutingOperation/add | æ–°å¢ž |
| PUT | /technologyRoutingOperation | ä¿®æ”¹ |
**新增响应/请求字段:**
| å‚æ•° | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|------|------|------|------|
| planPerson | Long | å¦ | è®¡åˆ’人员ID |
| executor | Long | å¦ | è®¡åˆ’执行人员ID |
| planPersonName | String | å¦ | è®¡åˆ’人员姓名(响应字段,后端自动关联查询) |
| executorName | String | å¦ | è®¡åˆ’执行人员姓名(响应字段,后端自动关联查询) |
## å‰ç«¯ä¿®æ”¹ç‚¹
### 1. è¡¨å•新增字段
在工序表单中新增两个人员选择下拉框:
```html
<el-form-item label="计划人员" prop="planPerson">
  <el-select v-model="processForm.planPerson"
             placeholder="请选择计划人员"
             clearable
             filterable
             style="width: 100%">
    <el-option v-for="item in employeeOptions"
               :key="item.id"
               :label="item.staffName"
               :value="item.id" />
  </el-select>
</el-form-item>
<el-form-item label="计划执行人员" prop="executor">
  <el-select v-model="processForm.executor"
             placeholder="请选择计划执行人员"
             clearable
             filterable
             style="width: 100%">
    <el-option v-for="item in employeeOptions"
               :key="item.id"
               :label="item.staffName"
               :value="item.id" />
  </el-select>
</el-form-item>
```
### 2. data æ•°æ®
```js
data() {
  return {
    processForm: {
      planPerson: null,
      executor: null,
      // ...其他字段
    },
    employeeOptions: [],  // å‘˜å·¥åˆ—表,需从接口获取
  }
}
```
### 3. è¡¨æ ¼åˆ—新增
列表中可直接使用后端返回的姓名展示:
```html
<el-table-column label="计划人员" prop="planPersonName" />
<el-table-column label="计划执行人员" prop="executorName" />
```
## æ³¨æ„äº‹é¡¹
- `planPerson` å’Œ `executor` å­˜å‚¨çš„æ˜¯å‘˜å·¥ID(Long类型),提交表单时传ID
- å“åº”中 `planPersonName` å’Œ `executorName` ç”±åŽç«¯é€šè¿‡ `staff_on_job` è¡¨è‡ªåŠ¨å…³è”æŸ¥è¯¢ï¼Œå‰ç«¯æ— éœ€é¢å¤–è½¬æ¢
- å‘˜å·¥ä¸‹æ‹‰åˆ—表数据需从员工接口获取(参考现有 `employeeOptions` æ•°æ®æºï¼‰
- æ•°æ®åº“迁移SQL:`doc/20260615_add_plan_person_and_executor_to_routing_operation.sql`
- ä¸‰å¼ è¡¨å‡æ”¯æŒï¼š`technology_operation`、`technology_routing_operation`、`production_order_routing_operation`
src/main/java/com/ruoyi/production/pojo/ProductionOrderRoutingOperation.java
@@ -76,4 +76,7 @@
    @Schema(description = "计划执行人员ID")
    private Long executor;
    @Schema(description = "工序类型")
    private String processType;
}
src/main/java/com/ruoyi/technology/bean/vo/TechnologyOperationVo.java
@@ -9,4 +9,10 @@
@Data
@Schema(name = "TechnologyOperationVo对象", description = "工序返回对象")
public class TechnologyOperationVo extends TechnologyOperation {
    @Schema(description = "计划人员姓名")
    private String planPersonName;
    @Schema(description = "计划执行人员姓名")
    private String executorName;
}
src/main/java/com/ruoyi/technology/pojo/TechnologyOperation.java
@@ -65,4 +65,13 @@
    @Schema(description = "是否生产")
    private Boolean isProduction;
    @Schema(description = "计划人员ID")
    private Long planPerson;
    @Schema(description = "计划执行人员ID")
    private Long executor;
    @Schema(description = "工序类型")
    private String processType;
}
src/main/java/com/ruoyi/technology/pojo/TechnologyRoutingOperation.java
@@ -67,4 +67,7 @@
    @Schema(description = "计划执行人员ID")
    private Long executor;
    @Schema(description = "工序类型")
    private String processType;
}
src/main/resources/mapper/production/ProductionOrderRoutingOperationMapper.xml
@@ -16,6 +16,7 @@
        <result column="type" property="type" />
        <result column="plan_person" property="planPerson" />
        <result column="executor" property="executor" />
        <result column="process_type" property="processType" />
        <result column="create_user" property="createUser" />
        <result column="dept_id" property="deptId" />
    </resultMap>
src/main/resources/mapper/technology/TechnologyOperationMapper.xml
@@ -14,13 +14,20 @@
        <result column="is_quality" property="isQuality" />
        <result column="type" property="type" />
        <result column="device_ledger_id" property="deviceLedgerId" />
        <result column="plan_person" property="planPerson" />
        <result column="executor" property="executor" />
        <result column="process_type" property="processType" />
        <result column="create_user" property="createUser" />
        <result column="dept_id" property="deptId" />
    </resultMap>
    <select id="listPage" resultType="com.ruoyi.technology.bean.vo.TechnologyOperationVo">
        select *
        select t.*,
               sp.staff_name as planPersonName,
               se.staff_name as executorName
        from technology_operation t
            left join staff_on_job sp on t.plan_person = sp.id
            left join staff_on_job se on t.executor = se.id
        <where>
            <if test="c.name != null and c.name != ''">
                and t.name like concat('%', #{c.name}, '%')
src/main/resources/mapper/technology/TechnologyRoutingOperationMapper.xml
@@ -15,6 +15,7 @@
        <result column="type" property="type" />
        <result column="plan_person" property="planPerson" />
        <result column="executor" property="executor" />
        <result column="process_type" property="processType" />
        <result column="create_user" property="createUser" />
        <result column="dept_id" property="deptId" />
    </resultMap>