• - MesCalTeamMemberController:注入 AdminUserApi,合并 list-by-team 与
      list-by-team-ids 为单一接口(支持 teamId / teamIds 参数),新增
      buildMemberRespVOList 方法批量填充用户昵称和手机号
    - MesCalTeamMemberServiceImpl:validateTeamMemberExists 改为 void 返回;
      validateUserUnique 去掉冗余的 excludeId 参数
    - MesCalTeamMemberMapper:selectByUserIdExcludeId 简化为 selectByUserId
    YunaiV authored
     
    Browse Dir »
  • 新增 mes_cal_team / mes_cal_team_member / mes_cal_team_shift 三张表的完整后端实现:
    - SQL:三张表 DDL、菜单 INSERT(5220-5225)、测试数据
    - DO / Mapper / VO / Service / Controller 全套分层实现
    - MesCalTeamShiftServiceImpl 移植 genRecords 算法(单白班/两班倒/三班倒轮换),
      基于 Java 8 时间 API(LocalDate/ChronoUnit)替代原 Date/String 方案,@Async 异步执行
    - ErrorCodeConstants 追加 5 个错误码(CAL_TEAM_CODE_DUPLICATE、CAL_TEAM_MEMBER_NOT_EXISTS 等)
    
    设计说明:
    - mes_cal_team_member 去除冗余字段(user_name/nickname/telephone),通过 userId 关联查询
    - mes_cal_team_shift 去除冗余字段(team_name/shift_name/calendar_type/shift_type),通过外键关联查询
    - 循环依赖通过 @Lazy 注入解决
    
    修复已有 TODO:
    - MesCalPlanTeamDO:补充 @link MesCalTeamDO 关联注释
    - MesCalPlanServiceImpl.confirmPlan:接入 teamShiftService.genRecords(id)
    - MesCalPlanTeamController.getPlanTeamListByPlan:拼装班组编码/名称
    - MesCalPlanTeamRespVO:移除待办注释
    YunaiV authored
     
    Browse Dir »