From 29c4fdb451bc9692e8473c70c81de27e7303d122 Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Tue, 10 Feb 2026 14:20:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E4=B8=AD=E5=BF=83=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E7=8F=AD=E7=BB=84=E5=92=8C=E5=B7=A5=E8=89=BA=E8=83=BD?= =?UTF-8?q?=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/basic/pojo/entity/WorkCenter.java | 13 +++ .../springblade/desk/feign/INoticeClient.java | 8 ++ .../controller/WorkCenterController.java | 95 +++++++++++++++++++ .../desk/notice/feign/NoticeClient.java | 20 ++++ .../controller/CraftAbilityController.java | 29 +++++- .../system/controller/UserController.java | 13 +++ 6 files changed, 177 insertions(+), 1 deletion(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/WorkCenter.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/WorkCenter.java index ab5122d8..ccfde8f1 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/WorkCenter.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/WorkCenter.java @@ -3,6 +3,7 @@ */ package org.springblade.desk.basic.pojo.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -11,6 +12,7 @@ import org.springblade.core.mp.base.BaseEntity; import java.io.Serial; import java.math.BigDecimal; +import java.util.List; /** * [作业中心] 实体类 @@ -128,6 +130,8 @@ public class WorkCenter extends BaseEntity { */ @Schema(description = "工艺能力") private String craftAbility; + @Schema(description = "工艺能力Id") + private String craftAbilityId; /** * 业务标识 */ @@ -143,6 +147,8 @@ public class WorkCenter extends BaseEntity { */ @Schema(description = "班组") private String team; + @Schema(description = "班组id") + private String teamId; /** * 面积 */ @@ -208,4 +214,11 @@ public class WorkCenter extends BaseEntity { */ @Schema(description = "备注") private String remarks; + + @TableField(exist = false) + private List teamIds; + + @TableField(exist = false) + private List craftIds; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/feign/INoticeClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/feign/INoticeClient.java index ec3163bd..b5901889 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/feign/INoticeClient.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/feign/INoticeClient.java @@ -27,9 +27,13 @@ package org.springblade.desk.feign; import org.springblade.core.launch.constant.AppConstant; import org.springblade.core.mp.support.BladePage; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.WorkCenter; +import org.springblade.desk.basic.pojo.vo.WorkCenterVO; import org.springblade.desk.pojo.entity.Notice; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; /** @@ -44,6 +48,7 @@ public interface INoticeClient { String API_PREFIX = "/feign/client/notice"; String TOP = API_PREFIX + "/top"; + String DETAIL = API_PREFIX + "/detail"; /** * 获取notice列表 @@ -55,4 +60,7 @@ public interface INoticeClient { @GetMapping(TOP) BladePage top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); + @PostMapping(DETAIL) + WorkCenterVO detail(WorkCenter workCenter); + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java index f540212a..ad7cc664 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java @@ -26,17 +26,23 @@ 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.PlatingSmall; +import org.springblade.desk.basic.pojo.entity.TeamSet; import org.springblade.desk.basic.pojo.entity.WorkCenter; import org.springblade.desk.basic.pojo.vo.WorkCenterVO; +import org.springblade.desk.basic.service.ITeamSetService; import org.springblade.desk.basic.service.IWorkCenterService; import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.wrapper.WorkCenterWrapper; +import org.springblade.scheduling.pojo.entity.TeamSetEntity; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * [作业中心] 控制器 @@ -56,6 +62,10 @@ public class WorkCenterController extends BladeController { @Resource private IWorkCenterService service; + @Resource + private ITeamSetService teamService; + + /** * [作业中心] 详情 */ @@ -137,6 +147,91 @@ public class WorkCenterController extends BladeController { return R.status(service.saveBatch(addList)); } + @PostMapping("/getUnSelectTeam") + @ApiOperationSupport(order = 31) + @Operation(summary = "获取未选择班组", description = "传入WorkCenter List") + public R> getUnSelectTeam(@Valid @RequestBody WorkCenter workCenter) { + List teams = new ArrayList<>(); + QueryWrapper qw = Condition.getQueryWrapper(workCenter); + WorkCenter detail = service.getOne(qw); + if(detail != null){ + String teamId = detail.getTeamId(); + if(null != teamId && !"".equals(teamId)){ + List ids = Func.toLongList(teamId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.notIn("id",ids); + teams = teamService.list(queryWrapper); + }else{ + QueryWrapper queryWrapper = new QueryWrapper<>(); + teams = teamService.list(queryWrapper); + } + + } + return R.data(teams); + } + + @PostMapping("/getSelectTeam") + @ApiOperationSupport(order = 31) + @Operation(summary = "获取已选择班组", description = "传入WorkCenter List") + public R> getSelectTeam(@Valid @RequestBody WorkCenter workCenter) { + List teams = new ArrayList<>(); + QueryWrapper qw = Condition.getQueryWrapper(workCenter); + WorkCenter detail = service.getOne(qw); + if(detail != null){ + String teamId = detail.getTeamId(); + if(null != teamId && !"".equals(teamId)){ + List ids = Func.toLongList(teamId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",ids); + teams = teamService.list(queryWrapper); + } + } + return R.data(teams); + } + + + @PostMapping("/updateTeamId") + @ApiOperationSupport(order = 31) + @Operation(summary = "设置班组Id保存", description = "传入WorkCenter List") + public R updateTeamId(@Valid @RequestBody WorkCenter workCenter) { + QueryWrapper qw = Condition.getQueryWrapper(workCenter); + WorkCenter detail = service.getOne(qw); + List teamIds = workCenter.getTeamIds(); + String result = null; + if(null != teamIds){ + result = teamIds.stream() + .map(Object::toString) // 或者直接使用String::valueOf,效果相同 + .collect(Collectors.joining(",")); + } + + detail.setTeamId(result); + service.updateById(detail); + return R.status(true); + } + + + @PostMapping("/updateCraftAbilityId") + @ApiOperationSupport(order = 31) + @Operation(summary = "设置工艺Id保存", description = "传入WorkCenter List") + public R updateCraftAbilityId(@Valid @RequestBody WorkCenter workCenter) { + QueryWrapper qw = Condition.getQueryWrapper(workCenter); + WorkCenter detail = service.getOne(qw); + List craftIds = workCenter.getCraftIds(); + String result = null; + if(null != craftIds){ + result = craftIds.stream() + .map(Object::toString) // 或者直接使用String::valueOf,效果相同 + .collect(Collectors.joining(",")); + } + + detail.setCraftAbilityId(result); + service.updateById(detail); + return R.status(true); + } + + + + /** * [作业中心] 修改一条 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/notice/feign/NoticeClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/notice/feign/NoticeClient.java index aa399cc5..edba5955 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/notice/feign/NoticeClient.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/notice/feign/NoticeClient.java @@ -25,16 +25,25 @@ */ package org.springblade.desk.notice.feign; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import jakarta.annotation.Resource; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.WorkCenter; +import org.springblade.desk.basic.pojo.vo.WorkCenterVO; +import org.springblade.desk.basic.service.IWorkCenterService; +import org.springblade.desk.basic.wrapper.WorkCenterWrapper; import org.springblade.desk.feign.INoticeClient; import org.springblade.desk.notice.service.INoticeService; import org.springblade.desk.pojo.entity.Notice; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import io.swagger.v3.oas.annotations.Hidden; @@ -50,6 +59,8 @@ import io.swagger.v3.oas.annotations.Hidden; public class NoticeClient implements INoticeClient { private final INoticeService service; + @Resource + private IWorkCenterService workCenterService; @Override @GetMapping(TOP) @@ -61,4 +72,13 @@ public class NoticeClient implements INoticeClient { return BladePage.of(page); } + @Override + @PostMapping(DETAIL) + public WorkCenterVO detail(@RequestBody WorkCenter workCenter) { + QueryWrapper qw = Condition.getQueryWrapper(workCenter); + WorkCenter detail = workCenterService.getOne(qw); + WorkCenterVO detailVO = WorkCenterWrapper.build().entityVO(detail); + return detailVO; + } + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/CraftAbilityController.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/CraftAbilityController.java index 938b58fe..45e65cac 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/CraftAbilityController.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/CraftAbilityController.java @@ -41,7 +41,11 @@ import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.pojo.entity.CoatingThickness; 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.vo.PlatingSmallVO; +import org.springblade.desk.basic.pojo.vo.WorkCenterVO; +import org.springblade.desk.feign.INoticeClient; import org.springblade.scheduling.pojo.entity.CraftAbilityEntity; import org.springblade.scheduling.scheduling.excel.CraftAbilityExcel; import org.springblade.scheduling.scheduling.service.ICraftAbilityService; @@ -76,7 +80,7 @@ import org.springframework.web.multipart.MultipartFile; public class CraftAbilityController extends BladeController { private final ICraftAbilityService craftAbilityService; - + private final INoticeClient noticeClient; /** * 工艺能力 详情 */ @@ -87,6 +91,29 @@ public class CraftAbilityController extends BladeController { CraftAbilityEntity detail = craftAbilityService.getOne(Condition.getQueryWrapper(craftAbility)); return R.data(CraftAbilityWrapper.build().entityVO(detail)); } + + + @PostMapping("/getSelectCraftAbility") + @ApiOperationSupport(order = 31) + @Operation(summary = "获取已选择工艺", description = "传入WorkCenter List") + public R> getSelectCraftAbility(@Valid @RequestBody WorkCenter workCenter) { + List teams = new ArrayList<>(); + + WorkCenterVO detail = noticeClient.detail(workCenter); + if(detail != null){ + String teamId = detail.getCraftAbilityId(); + if(null != teamId && !"".equals(teamId)){ + List ids = Func.toLongList(teamId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",ids); + teams = craftAbilityService.list(queryWrapper); + } + + } + return R.data(teams); + } + + /** * 工艺能力 分页 */ diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java index b0b0e11a..f06f5e28 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java @@ -261,6 +261,19 @@ public class UserController { ExcelUtil.export(response, "用户数据" + DateUtil.time(), "用户数据表", list, UserExcel.class); } + + + @GetMapping("getLeaderUser") + @ApiOperationSupport(order = 13) + @Operation(summary = "获取主管工艺员", description = "传入user") + public R> getLeaderUser(@Parameter(hidden = true) @RequestParam Map user, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(user, User.class); + queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED); + queryWrapper.lambda().like(User::getRoleId, "2000409951566053378"); + List list = userService.list(queryWrapper); + return R.data(list); + } + /** * 导出模板 */