Merge remote-tracking branch 'origin/master'

liweidong
李涛 4 weeks ago
commit 41673953de
  1. 48
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/CenterTeam.java
  2. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/TeamSet.java
  3. 26
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/CenterTeamVO.java
  4. 76
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/TeamSetController.java
  5. 105
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java
  6. 23
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java
  7. 25
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/CenterTeamMapper.java
  8. 21
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/CenterTeamMapper.xml
  9. 26
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ICenterTeamService.java
  10. 46
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/CenterTeamServiceImpl.java
  11. 38
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/wrapper/CenterTeamWrapper.java
  12. 6
      blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java
  13. 3
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java

@ -0,0 +1,48 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
/**
* [班组用户关联] 实体类
*
* @author Tom Shuo
* @since 2026-01-13
*/
@Data
@TableName("BS_CENTER_TEAM")
@Schema(description = "RelTeamSetUser Entity对象")
@EqualsAndHashCode(callSuper = true)
public class CenterTeam extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 作业中心id
*/
public static final String COL_TEAM_SET_ID = "WC_ID";
/**
*班组
*/
public static final String COL_USER_ID = "TS_ID";
/**
* [班组]id
*/
@Schema(description = "[班组]id")
private Long tsId;
/**
* 作业中心id
*/
@Schema(description = "作业中心id")
private Long wcId;
}

@ -180,5 +180,7 @@ public class TeamSet extends BaseEntity {
@TableField(exist = false)
private Long deptId;
@TableField(exist = false)
private String teamId;
}

@ -0,0 +1,26 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.basic.pojo.entity.CenterTeam;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import java.io.Serial;
/**
* [班组] 视图实体类
*
* @author Tom Shuo
* @since 2025-12-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class CenterTeamVO extends CenterTeam {
@Serial
private static final long serialVersionUID = 1L;
}

@ -30,6 +30,7 @@ import org.springblade.desk.basic.excel.PlatingSmallExcel;
import org.springblade.desk.basic.excel.TeamSetExcel;
import org.springblade.desk.basic.pojo.entity.*;
import org.springblade.desk.basic.pojo.vo.TeamSetVO;
import org.springblade.desk.basic.service.IRelTeamSetUserService;
import org.springblade.desk.basic.service.IShiftsService;
import org.springblade.desk.basic.service.ITeamSetService;
import org.springblade.desk.basic.service.ITeamTimeService;
@ -73,6 +74,9 @@ public class TeamSetController extends BladeController {
@Resource
private IShiftsService shiftService;
@Resource
private IRelTeamSetUserService relTeamSetUserService;
/**
* [班组] 详情
*/
@ -93,14 +97,25 @@ public class TeamSetController extends BladeController {
List<User> teams = new ArrayList<>();
QueryWrapper<TeamSet> qw = Condition.getQueryWrapper(teamSet);
TeamSet detail = service.getOne(qw);
if(detail != null){
String teamId = detail.getTeamMemberId();
if(null != teamId && !"".equals(teamId)){
teams = iUserClient.userUNListByIds(teamId);
}else{
teams = iUserClient.userUNListByIds("");
}
QueryWrapper<RelTeamSetUser> qwuser = new QueryWrapper<>();
qwuser.eq("TEAM_SET_ID", detail.getId());
List<RelTeamSetUser> users = relTeamSetUserService.list(qwuser);
if(null != users && users.size() > 0){
List<Long> userIds = users.stream().map(RelTeamSetUser::getUserId).collect(Collectors.toList());
String userId = Func.toStr(userIds);
teams = iUserClient.userUNListByIds(userId);
}else{
teams = iUserClient.userUNListByIds("");
}
// if(detail != null){
// String teamId = detail.getTeamMemberId();
// if(null != teamId && !"".equals(teamId)){
// teams = iUserClient.userUNListByIds(teamId);
// }else{
// teams = iUserClient.userUNListByIds("");
// }
// }
return R.data(teams);
}
@ -111,12 +126,22 @@ public class TeamSetController extends BladeController {
List<User> teams = new ArrayList<>();
QueryWrapper<TeamSet> qw = Condition.getQueryWrapper(teamSet);
TeamSet detail = service.getOne(qw);
if(detail != null){
String teamId = detail.getTeamMemberId();
if(null != teamId && !"".equals(teamId)){
teams = iUserClient.userListByIds(teamId);
}
QueryWrapper<RelTeamSetUser> qwuser = new QueryWrapper<>();
qwuser.eq("TEAM_SET_ID", detail.getId());
List<RelTeamSetUser> users = relTeamSetUserService.list(qwuser);
if(null != users && users.size() > 0){
List<Long> userIds = users.stream().map(RelTeamSetUser::getUserId).collect(Collectors.toList());
String userId = Func.toStr(userIds);
teams = iUserClient.userListByIds(userId);
}
// if(detail != null){
// String teamId = detail.getTeamMemberId();
// if(null != teamId && !"".equals(teamId)){
// teams = iUserClient.userListByIds(teamId);
// }
// }
return R.data(teams);
}
@ -156,6 +181,7 @@ public class TeamSetController extends BladeController {
}
@PostMapping("/updateUserId")
@ApiOperationSupport(order = 31)
@Operation(summary = "设置人员Id保存", description = "传入WorkCenter List")
@ -167,16 +193,22 @@ public class TeamSetController extends BladeController {
String result = null;
String team = null;
if(null != teamIds){
result = teamIds.stream()
.map(Object::toString) // 或者直接使用String::valueOf,效果相同
.collect(Collectors.joining(","));
List<User> teams = iUserClient.userListByIds(result);
team= teams.stream()
.map(user -> String.valueOf(user.getRealName()))
.collect(Collectors.joining(","));
for(Long teamId:teamIds){
RelTeamSetUser relTeamSetUser = new RelTeamSetUser();
relTeamSetUser.setTeamSetId(detail.getId());
relTeamSetUser.setUserId(teamId);
relTeamSetUserService.save(relTeamSetUser);
}
// result = teamIds.stream()
// .map(Object::toString) // 或者直接使用String::valueOf,效果相同
// .collect(Collectors.joining(","));
//
//
// List<User> teams = iUserClient.userListByIds(result);
//
// team= teams.stream()
// .map(user -> String.valueOf(user.getRealName()))
// .collect(Collectors.joining(","));
}
detail.setTeamMemberId(result);

@ -26,15 +26,9 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.WorkCenterExcel;
import org.springblade.desk.basic.pojo.entity.OemCraftAbilityEntity;
import org.springblade.desk.basic.pojo.entity.PlatingSmall;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.pojo.entity.*;
import org.springblade.desk.basic.pojo.vo.WorkCenterVO;
import org.springblade.desk.basic.service.ICraftAbilityService;
import org.springblade.desk.basic.service.IOemCraftAbilityService;
import org.springblade.desk.basic.service.ITeamSetService;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.basic.service.*;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.wrapper.WorkCenterWrapper;
import org.springblade.scheduling.pojo.entity.CraftAbilityEntity;
@ -76,6 +70,8 @@ public class WorkCenterController extends BladeController {
private IOemCraftAbilityService oemCraftAbilityService;
@Resource
private IUserClient iUserClient;
@Resource
private ICenterTeamService teamCenterService;
/**
* [作业中心] 详情
*/
@ -183,19 +179,35 @@ public class WorkCenterController extends BladeController {
List<TeamSet> teams = new ArrayList<>();
QueryWrapper<WorkCenter> qw = Condition.getQueryWrapper(workCenter);
WorkCenter detail = service.getOne(qw);
if(detail != null){
String teamId = detail.getTeamId();
if(null != teamId && !"".equals(teamId)){
List<Long> ids = Func.toLongList(teamId);
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
queryWrapper.notIn("id",ids);
teams = teamService.list(queryWrapper);
}else{
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
teams = teamService.list(queryWrapper);
}
QueryWrapper<CenterTeam> qwteam = new QueryWrapper<>();
qwteam.eq("WC_ID",detail.getId());
List<CenterTeam> teamList = teamCenterService.list(qwteam);
List<Long> ids = new ArrayList<>();
if(null != teamList && teamList.size() > 0){
ids = teamList.stream().map(CenterTeam::getTsId).collect(Collectors.toList());
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
queryWrapper.notIn("id",ids);
teams = teamService.list(queryWrapper);
}else{
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
teams = teamService.list(queryWrapper);
}
// if(detail != null){
// String teamId = detail.getTeamId();
// if(null != teamId && !"".equals(teamId)){
// List<Long> ids = Func.toLongList(teamId);
// QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
// queryWrapper.notIn("id",ids);
// teams = teamService.list(queryWrapper);
// }else{
// QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
// teams = teamService.list(queryWrapper);
// }
//
// }
return R.data(teams);
}
@ -206,15 +218,27 @@ public class WorkCenterController extends BladeController {
List<TeamSet> teams = new ArrayList<>();
QueryWrapper<WorkCenter> qw = Condition.getQueryWrapper(workCenter);
WorkCenter detail = service.getOne(qw);
if(detail != null){
String teamId = detail.getTeamId();
if(null != teamId && !"".equals(teamId)){
List<Long> ids = Func.toLongList(teamId);
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id",ids);
teams = teamService.list(queryWrapper);
}
QueryWrapper<CenterTeam> qwteam = new QueryWrapper<>();
qwteam.eq("WC_ID",detail.getId());
List<CenterTeam> teamList = teamCenterService.list(qwteam);
List<Long> ids = new ArrayList<>();
if(null != teamList && teamList.size() > 0){
ids = teamList.stream().map(CenterTeam::getTsId).collect(Collectors.toList());
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id",ids);
teams = teamService.list(queryWrapper);
}
// if(detail != null){
// String teamId = detail.getTeamId();
// if(null != teamId && !"".equals(teamId)){
// List<Long> ids = Func.toLongList(teamId);
// QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
// queryWrapper.in("id",ids);
// teams = teamService.list(queryWrapper);
// }
// }
return R.data(teams);
}
@ -251,7 +275,6 @@ public class WorkCenterController extends BladeController {
return R.data(teams);
}
@PostMapping("/updateTeamId")
@ApiOperationSupport(order = 31)
@Operation(summary = "设置班组Id保存", description = "传入WorkCenter List")
@ -263,17 +286,25 @@ public class WorkCenterController extends BladeController {
String result = null;
String team = null;
if(null != teamIds){
result = teamIds.stream()
.map(Object::toString) // 或者直接使用String::valueOf,效果相同
.collect(Collectors.joining(","));
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id",teamIds);
List<TeamSet> teams = teamService.list(queryWrapper);
for(Long teamId:teamIds){
CenterTeam centerteam = new CenterTeam();
centerteam.setWcId(detail.getId());
centerteam.setTsId(teamId);
teamCenterService.save(centerteam);
}
team= teams.stream()
.map(user -> String.valueOf(user.getTsName()))
.collect(Collectors.joining(","));
// result = teamIds.stream()
// .map(Object::toString) // 或者直接使用String::valueOf,效果相同
// .collect(Collectors.joining(","));
//
// QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
// queryWrapper.in("id",teamIds);
// List<TeamSet> teams = teamService.list(queryWrapper);
//
// team= teams.stream()
// .map(user -> String.valueOf(user.getTsName()))
// .collect(Collectors.joining(","));
}
detail.setTeamId(result);

@ -1,19 +1,25 @@
package org.springblade.desk.basic.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.v3.oas.annotations.Hidden;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.pojo.entity.BasicClazz;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.service.IBasicClazzService;
import org.springblade.desk.basic.service.IRelTeamSetUserService;
import org.springblade.desk.basic.service.ITeamSetService;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.stream.Collectors;
/**
* 作业中心 Feign接口类
*
@ -30,6 +36,8 @@ public class WorkCenterClient implements IWorkCenterClient {
private ITeamSetService service;
@Resource
private IBasicClazzService clazzService;
@Resource
private IRelTeamSetUserService relTeamSetUserService;
@Override
public R<WorkCenter> getById(Long workCenterId) {
WorkCenter workCenter = workCenterService.getById(workCenterId);
@ -38,7 +46,20 @@ public class WorkCenterClient implements IWorkCenterClient {
@Override
public R<TeamSet> getTeamSetById(Long id) {
return R.data(service.getById(id));
TeamSet teamSet =service.getById(id);
QueryWrapper<RelTeamSetUser> qwuser = new QueryWrapper<>();
qwuser.eq("TEAM_SET_ID", id);
List<RelTeamSetUser> users = relTeamSetUserService.list(qwuser);
if(null != users && users.size() > 0){
String userIds = users.stream()
.map(RelTeamSetUser::getUserId)
.map(Object::toString) // 或者直接使用String::valueOf,效果相同
.collect(Collectors.joining(","));
teamSet.setTeamId(userIds);
}
return R.data(teamSet);
}
@Override

@ -0,0 +1,25 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.desk.basic.excel.TeamSetExcel;
import org.springblade.desk.basic.pojo.entity.CenterTeam;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.vo.TeamSetVO;
import java.util.List;
/**
*
*
* @author Tom Shuo
* @since 2025-12-16
*/
public interface CenterTeamMapper extends BaseMapper<CenterTeam> {
}

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.basic.mapper.CenterTeamMapper">
<!-- 通用查询映射结果 -->
<resultMap id="teamSetResultMap" type="org.springblade.desk.basic.pojo.entity.CenterTeam">
</resultMap>
<select id="selectTeamSetPage" resultMap="teamSetResultMap">
SELECT *
FROM BS_CENTER_TEAM
WHERE is_deleted = 0
</select>
<select id="exportTeamSet" resultType="org.springblade.desk.basic.excel.TeamSetExcel">
SELECT *
FROM BS_CENTER_TEAM ${ew.customSqlSegment}
</select>
</mapper>

@ -0,0 +1,26 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.excel.TeamSetExcel;
import org.springblade.desk.basic.pojo.entity.CenterTeam;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.vo.TeamSetVO;
import org.springblade.system.pojo.entity.User;
import java.util.List;
/**
*
*
* @author Tom Shuo
* @since 2025-12-16
*/
public interface ICenterTeamService extends BaseService<CenterTeam> {
}

@ -0,0 +1,46 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.excel.TeamSetExcel;
import org.springblade.desk.basic.mapper.CenterTeamMapper;
import org.springblade.desk.basic.mapper.TeamSetMapper;
import org.springblade.desk.basic.pojo.entity.CenterTeam;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.vo.TeamSetVO;
import org.springblade.desk.basic.service.ICenterTeamService;
import org.springblade.desk.basic.service.IRelTeamSetUserService;
import org.springblade.desk.basic.service.ITeamSetService;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
*
*
* @author Tom Shuo
* @since 2025-12-16
*/
@Service
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class CenterTeamServiceImpl extends BaseServiceImpl<CenterTeamMapper, CenterTeam> implements ICenterTeamService {
}

@ -0,0 +1,38 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.basic.pojo.entity.CenterTeam;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.vo.CenterTeamVO;
import org.springblade.desk.basic.pojo.vo.TeamSetVO;
import java.util.Objects;
/**
* [班组] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2025-12-16
*/
public class CenterTeamWrapper extends BaseEntityWrapper<CenterTeam, CenterTeamVO> {
public static CenterTeamWrapper build() {
return new CenterTeamWrapper();
}
@Override
public CenterTeamVO entityVO(CenterTeam teamSet) {
CenterTeamVO VO = Objects.requireNonNull(BeanUtil.copyProperties(teamSet, CenterTeamVO.class));
//User createUser = UserCache.getUser(teamSet.getCreateUser());
//User updateUser = UserCache.getUser(teamSet.getUpdateUser());
//teamSetVO.setCreateUserName(createUser.getName());
//teamSetVO.setUpdateUserName(updateUser.getName());
return VO;
}
}

@ -112,7 +112,8 @@ public class UserController {
TeamSet detail = workCenterClient.getTeamSetById(teamSet.getId()).getData();
if(detail != null){
String teamId = detail.getTeamMemberId();
// String teamId = detail.getTeamMemberId();
String teamId = detail.getTeamId();
if(null != teamId && !"".equals(teamId)){
List<Long> ids = Func.toLongList(teamId);
@ -148,7 +149,8 @@ public class UserController {
List<User> teams = new ArrayList<>();
TeamSet detail = workCenterClient.getTeamSetById(teamSet.getId()).getData();
if(detail != null){
String teamId = detail.getTeamMemberId();
// String teamId = detail.getTeamMemberId();
String teamId = detail.getTeamId();
if(null != teamId && !"".equals(teamId)){
List<Long> ids = Func.toLongList(teamId);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();

@ -126,7 +126,8 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
TeamSet detail = workCenterClient.getTeamSetById(teamSetId).getData();
if(detail != null){
String teamId = detail.getTeamMemberId();
// String teamId = detail.getTeamMemberId();
String teamId = detail.getTeamId();
if(null != teamId && !"".equals(teamId)){
List<Long> ids = Func.toLongList(teamId);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();

Loading…
Cancel
Save