From 49bb113fa224f1dd84ba20ca7602884a3881da58 Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Thu, 26 Feb 2026 16:01:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE=E8=81=94?= =?UTF-8?q?=E8=B0=83=E4=BF=AE=E6=94=B9002?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/basic/feign/IWorkCenterClient.java | 5 ++ .../desk/basic/pojo/entity/BasicClazz.java | 13 +++++ .../desk/basic/pojo/vo/WorkCenterVO.java | 2 + .../controller/BasicClazzController.java | 36 +++++++++++- .../controller/CraftAbilityController.java | 12 +++- .../desk/basic/controller/OemController.java | 22 ++++--- .../controller/PlanAssignSteerController.java | 2 +- .../basic/controller/PlatingController.java | 22 +++++-- .../controller/WorkCenterController.java | 24 ++++++-- .../basic/controller/WorkTankController.java | 40 +++++++++++-- .../basic/excel/CoatingThicknessExcel.java | 4 +- .../basic/excel/PlanAssignSteerExcel.java | 2 +- .../desk/basic/excel/WorkTankExcel.java | 5 +- .../desk/basic/feign/WorkCenterClient.java | 9 +++ .../src/main/resources/Excel/QA/作业槽.xls | Bin 0 -> 7168 bytes .../main/resources/Excel/QA/外协分派.xls | Bin 7680 -> 7680 bytes .../resources/Excel/QA/镀层厚度对应.xls | Bin 6656 -> 6656 bytes .../system/controller/DeptController.java | 10 ++++ .../system/service/IDeptService.java | 2 + .../system/service/impl/DeptServiceImpl.java | 54 ++++++++++++++++++ 20 files changed, 235 insertions(+), 29 deletions(-) create mode 100644 blade-service/blade-desk/src/main/resources/Excel/QA/作业槽.xls diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java index bee97d05..eb28a859 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java @@ -28,6 +28,7 @@ package org.springblade.desk.basic.feign; import org.springblade.core.launch.constant.AppConstant; import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.BasicClazz; import org.springblade.desk.basic.pojo.entity.TeamSet; import org.springblade.desk.basic.pojo.entity.WorkCenter; import org.springframework.cloud.openfeign.FeignClient; @@ -47,6 +48,7 @@ public interface IWorkCenterClient { String API_PREFIX = "/feign/client/workCenter"; String GET_BY_ID = API_PREFIX + "/getById"; String GET_TeamSet_BY_ID = API_PREFIX + "/getTeamSetById"; + String GET_Clazz_BY_ID = API_PREFIX + "/getClazzById"; /** * 根据id获取作业中心 * @@ -58,4 +60,7 @@ public interface IWorkCenterClient { @GetMapping(GET_TeamSet_BY_ID) R getTeamSetById(@RequestParam("id") Long id); + + @GetMapping(GET_Clazz_BY_ID) + R getClazzById(@RequestParam("id") Long id); } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/BasicClazz.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/BasicClazz.java index 9c513d7e..0928ef1e 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/BasicClazz.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/BasicClazz.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; @@ -10,6 +11,7 @@ import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; import java.io.Serial; +import java.util.List; /** * [基础分类] 实体类 @@ -75,4 +77,15 @@ public class BasicClazz extends BaseEntity { */ @Schema(description = "排序") private Long sort; + + /** + * 班组成员 + */ + @Schema(description = "") + private String teamMember; + @Schema(description = "") + private String teamMemberId; + + @TableField(exist = false) + private List userIds; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/WorkCenterVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/WorkCenterVO.java index 25ee29c9..b759d966 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/WorkCenterVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/WorkCenterVO.java @@ -21,4 +21,6 @@ public class WorkCenterVO extends WorkCenter { @Serial private static final long serialVersionUID = 1L; + private String leaderUserName; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/BasicClazzController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/BasicClazzController.java index 0601010c..0c612ff5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/BasicClazzController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/BasicClazzController.java @@ -32,11 +32,15 @@ import org.springblade.desk.basic.constant.BAModuleConst; import org.springblade.desk.basic.constant.BasicClazzConst; import org.springblade.desk.basic.excel.BasicClazzExcel; import org.springblade.desk.basic.pojo.entity.BasicClazz; +import org.springblade.desk.basic.pojo.entity.TeamSet; import org.springblade.desk.basic.pojo.vo.BasicClazzVO; import org.springblade.desk.basic.service.IBasicClazzService; import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.wrapper.BasicClazzWrapper; +import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.User; import org.springframework.http.ResponseEntity; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -62,7 +66,8 @@ public class BasicClazzController extends BladeController { @Resource private IBasicClazzService service; - + @Resource + private IUserClient iUserClient; /** * [基础分类] 详情 */ @@ -109,6 +114,35 @@ public class BasicClazzController extends BladeController { return R.data(pagesVO); } + @PostMapping("/updateUserId") + @ApiOperationSupport(order = 31) + @Operation(summary = "设置人员Id保存", description = "传入WorkCenter List") + @Transactional + public R updateUserId(@Valid @RequestBody BasicClazz basicClazz) { + QueryWrapper qw = Condition.getQueryWrapper(basicClazz); + BasicClazz detail = service.getOne(qw); + List teamIds = basicClazz.getUserIds(); + String result = null; + String team = null; + if(null != teamIds){ + result = teamIds.stream() + .map(Object::toString) // 或者直接使用String::valueOf,效果相同 + .collect(Collectors.joining(",")); + + + List teams = iUserClient.userListByIds(result); + + team= teams.stream() + .map(user -> String.valueOf(user.getRealName())) + .collect(Collectors.joining(",")); + } + + detail.setTeamMemberId(result); + detail.setTeamMember(team); + service.updateById(detail); + return R.status(true); + } + /** * SELECT * * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java index 08251a4a..cc25241f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java @@ -279,10 +279,20 @@ public class CraftAbilityController extends BladeController { return R.data(list); } +// @GetMapping("/downloadExcelTemplate") +// @ApiOperationSupport(order = 71) +// @Operation(summary = "下载Excel模板", description = "") +// public ResponseEntity downloadExcelTemplate() { +// return ExcelExtUtil.downloadXlsTemplate( +// "Excel/QA/工艺能力.xls", +// "导入模版-工艺能力.xls"); +// } + + @GetMapping("/downloadExcelTemplate") @ApiOperationSupport(order = 71) @Operation(summary = "下载Excel模板", description = "") - public ResponseEntity downloadExcelTemplate() { + public ResponseEntity downloadExcelTemplate() { return ExcelExtUtil.downloadXlsTemplate( "Excel/QA/工艺能力.xls", "导入模版-工艺能力.xls"); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java index 4e739fd6..f6246100 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java @@ -176,16 +176,20 @@ public class OemController extends BladeController { queryWrapperOemCraft.eq("CRAFT_ABILITY_ID",team.getId()); OemCraftAbilityEntity craft = oemCraftAbilityService.getOne(queryWrapperOemCraft); - BeanUtils.copyProperties(craft,team); - team.setId(id); - R user= iUserClient.userInfoById(craft.getDispatcher()); - if(null != user && null != user.getData()){ - team.setDispatcherName(user.getData().getRealName()); - } - R userplan= iUserClient.userInfoById(craft.getPlanner()); - if(null != userplan && null != userplan.getData()){ - team.setPlannerName(userplan.getData().getRealName()); + if(null != craft){ + BeanUtils.copyProperties(craft,team); + + R user= iUserClient.userInfoById(craft.getDispatcher()); + if(null != user && null != user.getData()){ + team.setDispatcherName(user.getData().getRealName()); + } + R userplan= iUserClient.userInfoById(craft.getPlanner()); + if(null != userplan && null != userplan.getData()){ + team.setPlannerName(userplan.getData().getRealName()); + } } + + team.setId(id); } } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlanAssignSteerController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlanAssignSteerController.java index 52b15225..c2f8736f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlanAssignSteerController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlanAssignSteerController.java @@ -284,7 +284,7 @@ public class PlanAssignSteerController extends BladeController { //零件 QueryWrapper queryWrapperPart = new QueryWrapper<>(); - queryWrapperPart.eq("NAME",noticeExcel.getDsPartName()); + queryWrapperPart.eq("PART_CODE",noticeExcel.getDsPartName()); List parts = partService.list(queryWrapperPart); if(null != parts && parts.size() > 0){ notice.setDsPart(parts.get(0).getId()); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlatingController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlatingController.java index ac867c38..e06f53e3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlatingController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlatingController.java @@ -33,10 +33,7 @@ import org.springblade.desk.basic.constant.BaseCol; import org.springblade.desk.basic.constant.BaseValue; import org.springblade.desk.basic.excel.PlatingExcel; import org.springblade.desk.basic.excel.PlatingSmallExcel; -import org.springblade.desk.basic.pojo.entity.BasicClazz; -import org.springblade.desk.basic.pojo.entity.Plating; -import org.springblade.desk.basic.pojo.entity.PlatingSmall; -import org.springblade.desk.basic.pojo.entity.Shifts; +import org.springblade.desk.basic.pojo.entity.*; import org.springblade.desk.basic.pojo.vo.PlatingVO; import org.springblade.desk.basic.service.IBasicClazzService; import org.springblade.desk.basic.service.IPlatingService; @@ -161,6 +158,13 @@ public class PlatingController extends BladeController { @ApiOperationSupport(order = 30) @Operation(summary = "新增一条", description = "传入Plating Obj") public R save(@Valid @RequestBody Plating addOne) { + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("CONFIG_NO",addOne.getConfigNo()); + List list = service.list(queryWrapper); + if(null != list && list.size()>0){ + return R.fail("此配置码已存在"); + } addOne.setId(null); return R.status(service.save(addOne)); } @@ -185,6 +189,16 @@ public class PlatingController extends BladeController { @ApiOperationSupport(order = 40) @Operation(summary = "修改一条", description = "传入Plating Obj") public R update(@Valid @RequestBody Plating updateOne) { + + Plating plate = service.getById(updateOne.getId()); + if(!plate.getConfigNo().equals(updateOne.getConfigNo())){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("CONFIG_NO",updateOne.getConfigNo()); + List list = service.list(queryWrapper); + if(null != list && list.size()>0){ + return R.fail("此配置码已存在"); + } + } return R.status(service.updateById(updateOne)); } 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 080bd08c..7ddcc65a 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 @@ -38,6 +38,7 @@ import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.wrapper.WorkCenterWrapper; import org.springblade.scheduling.pojo.entity.CraftAbilityEntity; import org.springblade.scheduling.pojo.entity.TeamSetEntity; +import org.springblade.system.feign.IUserClient; import org.springblade.system.pojo.entity.User; import org.springframework.beans.BeanUtils; import org.springframework.http.ResponseEntity; @@ -72,7 +73,8 @@ public class WorkCenterController extends BladeController { private ICraftAbilityService craftAbilityService; @Resource private IOemCraftAbilityService oemCraftAbilityService; - + @Resource + private IUserClient iUserClient; /** * [作业中心] 详情 */ @@ -106,6 +108,13 @@ public class WorkCenterController extends BladeController { IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = WorkCenterWrapper.build().pageVO(pages); + List vos = pagesVO.getRecords(); + for(WorkCenterVO one : vos){ + R user= iUserClient.userInfoById(one.getLeaderUser()); + if(null != user && null != user.getData()){ + one.setLeaderUserName(user.getData().getRealName()); + } + } return R.data(pagesVO); } @@ -120,6 +129,13 @@ public class WorkCenterController extends BladeController { IPage pagesVO = service.selectWorkCenterPage( Condition.getPage(query), workCenter ); + List vos = pagesVO.getRecords(); + for(WorkCenterVO one : vos){ + R user= iUserClient.userInfoById(one.getLeaderUser()); + if(null != user && null != user.getData()){ + one.setLeaderUserName(user.getData().getRealName()); + } + } return R.data(pagesVO); } @@ -223,10 +239,10 @@ public class WorkCenterController extends BladeController { queryWrapperOemCraft.eq("OTHER_ID",detail.getId()); queryWrapperOemCraft.eq("CRAFT_ABILITY_ID",team.getId()); OemCraftAbilityEntity craft = oemCraftAbilityService.getOne(queryWrapperOemCraft); - - BeanUtils.copyProperties(craft,team); + if(null != craft){ + BeanUtils.copyProperties(craft,team); + } team.setId(id); - } } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java index ab22d493..bf6d3cf3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java @@ -27,6 +27,7 @@ import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.constant.BAModuleConst; import org.springblade.desk.basic.excel.PlatingSmallExcel; import org.springblade.desk.basic.excel.WorkTankExcel; +import org.springblade.desk.basic.pojo.entity.Plating; import org.springblade.desk.basic.pojo.entity.PlatingSmall; import org.springblade.desk.basic.pojo.entity.WorkTank; import org.springblade.desk.basic.pojo.vo.WorkTankVO; @@ -89,8 +90,15 @@ public class WorkTankController extends BladeController { IPage pagesVO = WorkTankWrapper.build().pageVO(pages); List listVO = pagesVO.getRecords(); for(WorkTankVO one : listVO){ - if(null != one.getOpUserId()){ - R userplan= iUserClient.userInfoById(one.getOpUserId()); +// if(null != one.getOpUserId()){ +// R userplan= iUserClient.userInfoById(one.getOpUserId()); +// one.setOpUserRealName(userplan.getData().getRealName()); +// } + if(null != one.getUpdateUser() && !"".equals(one.getUpdateUser())){ + R userplan= iUserClient.userInfoById(one.getUpdateUser()); + one.setOpUserRealName(userplan.getData().getRealName()); + }else{ + R userplan= iUserClient.userInfoById(one.getCreateUser()); one.setOpUserRealName(userplan.getData().getRealName()); } @@ -137,6 +145,14 @@ public class WorkTankController extends BladeController { @ApiOperationSupport(order = 30) @Operation(summary = "新增一条", description = "传入WorkTank Obj") public R save(@Valid @RequestBody WorkTank addOne) { + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("WORK_TANK_CODE",addOne.getWorkTankCode()); + List list = service.list(queryWrapper); + if(null != list && list.size()>0){ + return R.fail("此槽号已存在"); + } + addOne.setId(null); return R.status(service.save(addOne)); } @@ -161,6 +177,18 @@ public class WorkTankController extends BladeController { @ApiOperationSupport(order = 40) @Operation(summary = "修改一条", description = "传入WorkTank Obj") public R update(@Valid @RequestBody WorkTank updateOne) { + + + WorkTank plate = service.getById(updateOne.getId()); + if(!plate.getWorkTankCode().equals(updateOne.getWorkTankCode())){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("WORK_TANK_CODE",updateOne.getWorkTankCode()); + List list = service.list(queryWrapper); + if(null != list && list.size()>0){ + return R.fail("此槽号已存在"); + } + } + return R.status(service.updateById(updateOne)); } @@ -230,8 +258,8 @@ public class WorkTankController extends BladeController { @Operation(summary = "下载Excel模板", description = "") public ResponseEntity downloadExcelTemplate() { return ExcelExtUtil.downloadXlsTemplate( - "Excel/QA/ImportTemplate-CycleTestItem.xls", - "导入模版-周期试验项目.xls"); + "Excel/QA/作业槽.xls", + "导入模版-作业槽.xls"); } /** @@ -255,6 +283,10 @@ public class WorkTankController extends BladeController { list.forEach(noticeExcel -> { WorkTank notice = BeanUtil.copy(noticeExcel, WorkTank.class); + List userLeaders = iUserClient.listByNameNolike(noticeExcel.getOpUserName()); + if(null != userLeaders && userLeaders.size() > 0){ + notice.setOpUserId(userLeaders.get(0).getId()); + } noticeList.add(notice); }); return R.data(service.saveBatch(noticeList)); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/CoatingThicknessExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/CoatingThicknessExcel.java index 5268db50..7063508c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/CoatingThicknessExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/CoatingThicknessExcel.java @@ -46,13 +46,13 @@ public class CoatingThicknessExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("质量等级") - private Long level; + private Integer levelNum; /** * 是否以21E8-210开头 */ // @ColumnWidth(20) // @ExcelProperty("是否以21E8-210开头") - private Short startF21e8; +// private Short startF21e8; @ColumnWidth(20) @ExcelProperty("是否以21E8-210开头") diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/PlanAssignSteerExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/PlanAssignSteerExcel.java index 873b6b32..e8cbeaac 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/PlanAssignSteerExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/PlanAssignSteerExcel.java @@ -87,7 +87,7 @@ public class PlanAssignSteerExcel implements Serializable { * 维护时间 */ @ColumnWidth(20) - @ExcelProperty("维护时间") + @ExcelProperty("维护时间-示例[1998-08-09 16:33:11]") private LocalDateTime maintainTime; /** * 日分派量 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/WorkTankExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/WorkTankExcel.java index f0231431..63129786 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/WorkTankExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/WorkTankExcel.java @@ -82,6 +82,7 @@ public class WorkTankExcel implements Serializable { * 操作[用户]id */ @ColumnWidth(20) - @ExcelProperty("操作[用户]id") - private BigDecimal opUserId; + @ExcelProperty("操作[用户]") +// private BigDecimal opUserId; + private String opUserName; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java index f28d2d37..84a5ae73 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java @@ -6,8 +6,10 @@ 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.TeamSet; import org.springblade.desk.basic.pojo.entity.WorkCenter; +import org.springblade.desk.basic.service.IBasicClazzService; import org.springblade.desk.basic.service.ITeamSetService; import org.springblade.desk.basic.service.IWorkCenterService; import org.springframework.web.bind.annotation.RestController; @@ -26,6 +28,8 @@ public class WorkCenterClient implements IWorkCenterClient { private final IWorkCenterService workCenterService; @Resource private ITeamSetService service; + @Resource + private IBasicClazzService clazzService; @Override public R getById(Long workCenterId) { WorkCenter workCenter = workCenterService.getById(workCenterId); @@ -36,4 +40,9 @@ public class WorkCenterClient implements IWorkCenterClient { public R getTeamSetById(Long id) { return R.data(service.getById(id)); } + + @Override + public R getClazzById(Long id) { + return R.data(clazzService.getById(id)); + } } diff --git a/blade-service/blade-desk/src/main/resources/Excel/QA/作业槽.xls b/blade-service/blade-desk/src/main/resources/Excel/QA/作业槽.xls new file mode 100644 index 0000000000000000000000000000000000000000..3a802727816c92c12a789d84145a708a9a776d22 GIT binary patch literal 7168 zcmeHLU2IfE6h8O%w%r1yzqI^FT?>W&0d1jDD9{#LgAv(=q7b_TS_;yjU>Y#+U|4@J zL?uEnQ3ys!j7p4%F~LN6Xo(L#fEbk+4G+b{gg2|vAQ8HL-B#nYf$o91Sd&E%DF;E^H%9X-euS+=Y^2Z7|1!LDt|WG+U$gsE*-K>p2Dw7b^j2out9Y~&Q|F~d9!Jn zG%t_LpT3)_{06k`kH{yX#W?GDPP>CAy<6tN)AV?`Wu z26SEg3|$1}Y1rOcD(kTnx5zVq|5m5PI)*NbYm;krp_L&PcxhNsyovdV7Oc6&50)qE^+OFq*+KPjgc>vst4!#npvo@BlR&w8b^BXG0$ zB~BH*y+Eu|`6XP61z!zJ!6I%H!wF(>N4X_Vy=1_Jk~Hs>&TMbm-ND8>%>|k{>T6;QHsut{6>j?8b9}BElQ!CQtf5>Hfy=W zS&0x)VT5^!A>T^?pLxA{2TU~Idmd)G$;KKl%)6Zt+$2p&=Jf0sV)8E0HR9E|5vy}jVrO^I$)%d7Ms^z{ z`$y_N(g>n28r1zt zW_Ybd>+Zs8spE$dcFqpjh`78Sr?y(<7xTj@j$fzzZXTxM__O7pZ#+Q0NnC+UJafH@ zli6eV4Ol)vWX~KMF^kfVS`KzZ%Q=eO(R_;+BY<1@4dYAgvNY?N4)el}V0B6`Fmc(H z-qljH)7l=#$X+qD1N-5bbwjUVn?2nV40KBQwz=J_C5*2>pIpG_AV}L{3UWWE3@#&b2QCjF}W4FrDa-NPm7w^1$27aYqx?$cS84vdazbe1 zrZU<_8m#B=WWaIHnJ;MT7d4-Dwe^Lj=`rQ5ZzIPBN@L_Z!@#bAA{qlxRcf^vd7LVht5#v@t}2bsxV~~r zRcTZomopk6_~jh5&m!iSJFCBQj>}u`e|@ruU&L^q{>ZJse@%6u#=l+X_n?jpYU7JJ zjIvqs9sKZReCD!lCDiShx^6Jq^WSE}(9I|f4)Jf`um^X&{rjcB#@rA0`J`(4r$5$! z$8RHk>+|_L08;1!WQQ~%0pYAW5W;%~ur(!?IkpwJVd;w8 zup~bB>X(e)ObPvCjvT2ESS*Jw9m>q;JEdi*xxAP6UgW!Ns3)dG$}w<`D{(aG5WfU) z8?*sqT!(XoUn-Yx($QA%(i3>;xb@hAxAP8) zpZ8mD@II;m8t1)}n>e=Xr6x2Oa+P?!#wk2^Ws|1R{H8a#o#h8%2l^fTi6+@?v=iD3 z%60fAz_s))Kp&)!)0gSv^q(&Q-T|HhxR$>M;C>p<=XFZo2HbPj0yV&Fl;+`g^V2`cR4`2d literal 0 HcmV?d00001 diff --git a/blade-service/blade-desk/src/main/resources/Excel/QA/外协分派.xls b/blade-service/blade-desk/src/main/resources/Excel/QA/外协分派.xls index 0ea58d31cf44b68b7c89947730f0029491a0ca00..b3713f7e114685a4cd9bb3c028a70d691ab0c450 100644 GIT binary patch delta 426 zcmZp$X|UOl!@_qV=$e{HKb-x2L#Vq=&d1`P7eSrTE4 plcY-6T!4B$FiyTG<+b^UlnvwL6OsaxFGw0p{vgS-nMY;|BLIMZZcP9H delta 322 zcmZp$X|UOl!@|e#`W@G|rFR&a85kH22u-eHsbkzX`6o*?qxs}g)_O*p$zNF?Tm1X~ z|Gx!Lfh7=I0kJg@gT!osv>g!J1F-`TI|8v25QF4gfb?Vmb_vFR69cbr;?Q7Z6qqc? zDUL*nZqDOWWMkYvc>=$Y-lB92`U#3pJB;d+)nQL;N@QKL}1tSGT`5BlPSQu&?5;6b|SJw5O|Nj5~ zuML#f0b*Ss2J!WQv;hzs0aA9I5B}` z6Gs-~<|a-JR-moglkf70donP5{VxDi0s{vW9x#XiIXV#WAL!zmIK(+Yrb*&5O$#JD zIfQ>E3zegch2$nWQ^HyA!NflpF2LJ`i ziFrJrA8`-8v@7LtgzC~o+QWMdRaJ-C`xt+FJ<5KJ8D|1akO?tb?j-vuW||2z5hlvS zn8sz=gk?h(DQt9Avc^FvFM${8stoYW`%SC5-@pNSj+=U01!(CK40p|!VCWy+*i~=$ z*IwAM&H2!Q70T86raR!@qib3EH(qg)?&DwvVhhq_} z48RM2)e7kqx22VjfZP>S3MxrD6YW$`T%zy(JW@GTQiAkUUP=||)A4xZ+|f^PeGTcs QIbXSTMvGu8vp map = deptService.findUserByClazz(clazzId); + return R.data(map); + } + /** * 新增或修改 diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java index 20752109..28f29915 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java @@ -69,6 +69,8 @@ public interface IDeptService extends IService { */ List lazyTree(String tenantId, Long parentId); Map findUserByTeam(Long teamSetId); + Map findUserByClazz(Long clazzId); + /** * 获取部门ID * diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java index f0cf3d1f..56870d99 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java @@ -40,6 +40,7 @@ import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringPool; import org.springblade.core.tool.utils.StringUtil; import org.springblade.desk.basic.feign.IWorkCenterClient; +import org.springblade.desk.basic.pojo.entity.BasicClazz; import org.springblade.desk.basic.pojo.entity.TeamSet; import org.springblade.system.cache.SysCache; import org.springblade.system.mapper.DeptMapper; @@ -166,6 +167,59 @@ public class DeptServiceImpl extends ServiceImpl implements ID return map; } + @Override + public Map findUserByClazz(Long clazzId) { + Map map = new HashMap<>(); + + List teamUnSelects = new ArrayList<>(); + List teamSelects = new ArrayList<>(); + + Map> noChooseMap = new HashMap<>(); + Map> chooseMap = new HashMap<>(); + + BasicClazz detail = workCenterClient.getClazzById(clazzId).getData(); + if(detail != null){ + String teamId = detail.getTeamMemberId(); + if(null != teamId && !"".equals(teamId)){ + List ids = Func.toLongList(teamId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.notIn("id",ids); +// queryWrapper.eq("dept_id",parentId); + teamUnSelects = userService.list(queryWrapper); + }else{ + QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("dept_id",parentId); + teamUnSelects = userService.list(queryWrapper); + } + + + if(null != teamId && !"".equals(teamId)){ + List ids = Func.toLongList(teamId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",ids); +// queryWrapper.eq("dept_id",parentId); + teamSelects = userService.list(queryWrapper); + + } + + + if(teamUnSelects != null && teamUnSelects.size() > 0){ + noChooseMap = teamUnSelects.stream().collect(Collectors.groupingBy(User::getDeptId)); + } + if(teamSelects != null && teamSelects.size() > 0){ + chooseMap = teamSelects.stream().collect(Collectors.groupingBy(User::getDeptId)); + } + } + + Map> deptMap = this.loadDeptMap(); + + // 获取所有父级部门并排序 + List dataList = deptMap.get(0L); + map.put("clazzUnSelects",this.loadDeptUserTreeJSON(dataList, deptMap, noChooseMap)); + map.put("clazzSelects",this.loadDeptUserTreeJSON(dataList, deptMap, chooseMap)); + return map; + } + private JSONArray loadDeptUserTreeJSON(List deptList, Map> map, Map> userMap) { JSONArray array = new JSONArray();