From f637e02c0894e08395404eb14c514cd0a5fc988e Mon Sep 17 00:00:00 2001 From: zhangrui Date: Thu, 2 Jul 2026 14:22:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=97=E5=A4=A7=E4=B8=89=E5=8D=81=E5=B9=B4?= =?UTF-8?q?=E6=95=99=E8=81=8C=E5=B7=A5=E7=96=97=E4=BC=91=E5=85=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...achTourBranchUserAssignmentController.java | 25 ++++ .../ThirtyTeachTourUserAssignmentService.java | 17 +++ ...rtyTeachTourUserAssignmentServiceImpl.java | 93 +++++++++++++ .../branchUserAssignment/index.html | 124 +++++++++++++++++- 4 files changed, 257 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourBranchUserAssignmentController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourBranchUserAssignmentController.java index cb9085fe..f98c0667 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourBranchUserAssignmentController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourBranchUserAssignmentController.java @@ -131,6 +131,15 @@ public class ThirtyTeachTourBranchUserAssignmentController { return Result.success(tourUserAssignmentService.branchPeriodQuotaInfo(settingId, periodId)); } + /** + * 查询当前配置维护的乘车地点选项,供列表操作列修改乘车地点时选择。 + */ + @At + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.assign") + public Result boardingPlaceOptions(String settingId) { + return Result.success(tourUserAssignmentService.boardingPlaceOptions(settingId)); + } + /** * 保存分工会人员分配,保存时数据来源固定为 BRANCH_UNION。 */ @@ -215,6 +224,22 @@ public class ThirtyTeachTourBranchUserAssignmentController { } } + /** + * 更新当前分工会人员分配记录的乘车地点,地点范围由疗休养配置中的乘车地点列表控制。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.assign") + @SLog(type = "tour", tag = "疗休养分工会人员分配", msg = "更新分工会人员分配乘车地点") + public Result updateBoardingPlace(String id, String boardingPlace) { + try { + tourUserAssignmentService.updateCurrentBranchAssignmentBoardingPlace(id, boardingPlace); + return Result.success(); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + /** * 恢复当前分工会已取消退出的人员分配记录,只恢复状态,不恢复已删除台账。 */ diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourUserAssignmentService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourUserAssignmentService.java index 1b440480..0943419e 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourUserAssignmentService.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourUserAssignmentService.java @@ -212,6 +212,14 @@ public interface ThirtyTeachTourUserAssignmentService extends BaseService boardingPlaceOptions(String settingId); + /** * 保存分工会人员分配。保存前会重新按配置可参加人员范围和当前登录人所在分工会过滤,并校验正式/替补名额。 * 正式人员必须选择出行时间段,并按“当前分工会 + 出行时间段”校验正式名额;替补人员沿用分工会替补名额。 @@ -365,6 +373,15 @@ public interface ThirtyTeachTourUserAssignmentService extends BaseService boardingPlaceOptions(String settingId) { + if (StrUtil.isBlank(settingId)) { + return Collections.emptyList(); + } + ThirtyTeachTourSetting setting = dao().fetch(ThirtyTeachTourSetting.class, Cnd.where(ThirtyTeachTourSetting::getId, "=", settingId) + .and(ThirtyTeachTourSetting::getDelFlag, "=", false)); + return parseBoardingPlaceOptions(setting == null ? "" : setting.getBoardingPlace()); + } + @Override public NutMap switchCurrentBranchPersonType(String id, String personType) { String unionId = SecurityUtil.getUnionId(); @@ -1084,6 +1100,28 @@ public class ThirtyTeachTourUserAssignmentServiceImpl extends BaseServiceImpl options = parseBoardingPlaceOptions(setting == null ? "" : setting.getBoardingPlace()); + if (Lang.isEmpty(options)) { + throw new IllegalArgumentException("当前配置未维护乘车地点"); + } + if (!options.contains(normalizedBoardingPlace)) { + throw new IllegalArgumentException("乘车地点不在当前疗休养配置范围内"); + } + updateAssignmentBoardingPlace(assignment, normalizedBoardingPlace); + } + @Override public void deleteBySource(String id, String assignSource) { deleteBySource(id, assignSource, false); @@ -1424,6 +1462,61 @@ public class ThirtyTeachTourUserAssignmentServiceImpl extends BaseServiceImpl ledgers = dao().query(ThirtyTeachTourLedger.class, Cnd.where(ThirtyTeachTourLedger::getMatterId, "=", assignment.getMatterId()) .and(ThirtyTeachTourLedger::getJobNo, "=", assignment.getLoginName()) diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/branchUserAssignment/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/branchUserAssignment/index.html index bd321394..9b252f8b 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/branchUserAssignment/index.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/branchUserAssignment/index.html @@ -92,9 +92,10 @@ layout("/layouts/platform.html"){ - +