hsy
12 小时以前 0a30f9a5e0d91d157724a7afd89bd9263f35c6d9
feat(mes): 生产任务报工人下拉源调整为工作站人力配置

- 后端: `MesMdWorkstationWorkerController` 新增 `list-user-by-workstation` 接口,支持按工作站拉取关联岗位对应的精简用户信息。
- 前端: `task-form.vue` 移除原依赖生产订单 `feedbackRole`(报工人角色)获取报工人员的废弃逻辑。
- 前端: 调整新增生产任务表单,报工人下拉列表与“工作站”联动,切换工作站时动态拉取对应人员。
- 前端: 增加缺失配置预警,当所选工作站未配置人力资源时,自动弹出“当前工作站没有配置人力资源”的警告提示。
- 修复: 修复因下拉组件传参类型不匹配,导致弹窗刚打开时触发“请求参数缺失:workstationId”报错的问题。
已修改1个文件
23 ■■■■■ 文件已修改
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationWorkerController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationWorkerController.java
@@ -10,6 +10,8 @@
import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationWorkerService;
import cn.iocoder.yudao.module.system.api.dept.PostApi;
import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -37,6 +39,9 @@
    @Resource
    private PostApi postApi;
    @Resource
    private AdminUserApi adminUserApi;
    @PostMapping("/create")
    @Operation(summary = "创建人力资源")
@@ -72,6 +77,24 @@
        return success(buildWorkstationWorkerRespVOList(list));
    }
    @GetMapping("/list-user-by-workstation")
    @Operation(summary = "获得工作站对应岗位的员工列表")
    @Parameter(name = "workstationId", description = "工作站编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')")
    public CommonResult<List<AdminUserRespDTO>> getUserListByWorkstation(
            @RequestParam("workstationId") Long workstationId) {
        List<MesMdWorkstationWorkerDO> list = workstationWorkerService.getWorkstationWorkerListByWorkstationId(workstationId);
        if (CollUtil.isEmpty(list)) {
            return success(Collections.emptyList());
        }
        List<Long> postIds = cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList(list, MesMdWorkstationWorkerDO::getPostId);
        if (CollUtil.isEmpty(postIds)) {
            return success(Collections.emptyList());
        }
        List<AdminUserRespDTO> userList = adminUserApi.getUserListByPostIds(postIds);
        return success(userList);
    }
    // ==================== 拼接 VO ====================
    private List<MesMdWorkstationWorkerRespVO> buildWorkstationWorkerRespVOList(List<MesMdWorkstationWorkerDO> list) {