From 3d0bcabc654b9e4e50021752a612e85f3b462673 Mon Sep 17 00:00:00 2001 From: zhangrui Date: Wed, 24 Jun 2026 10:51:45 +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 | 243 ++ .../ThirtyTeachTourGroupController.java | 641 +++++ .../ThirtyTeachTourLeaveApplyController.java | 78 + .../ThirtyTeachTourLedgerController.java | 1141 +++++++++ .../ThirtyTeachTourLineController.java | 297 +++ .../ThirtyTeachTourMatterController.java | 455 ++++ .../ThirtyTeachTourMySignupController.java | 2080 +++++++++++++++++ .../ThirtyTeachTourPlaceholderController.java | 13 + ...eachTourSchoolUnionApprovalController.java | 600 +++++ ...achTourSchoolUserAssignmentController.java | 279 +++ .../ThirtyTeachTourSettingController.java | 342 +++ .../ThirtyTeachTourSignupController.java | 1911 +++++++++++++++ ...ThirtyTeachTourTravelAgencyController.java | 160 ++ ...hirtyTeachTourUnionApprovalController.java | 600 +++++ .../ThirtyTeachTourUnionLedgerController.java | 912 ++++++++ .../ThirtyTeachTourLedgerImportExcelMode.java | 34 + .../models/ThirtyTeachTourLeaveApply.java | 103 + .../models/ThirtyTeachTourLedger.java | 167 ++ .../ThirtyTeachTourLedgerDirectRelative.java | 73 + .../models/ThirtyTeachTourLedgerFamily.java | 83 + .../models/ThirtyTeachTourLine.java | 106 + .../models/ThirtyTeachTourMatter.java | 129 + .../models/ThirtyTeachTourSetting.java | 167 ++ .../models/ThirtyTeachTourSettingLot.java | 53 + .../ThirtyTeachTourSettingUnionQuota.java | 66 + .../models/ThirtyTeachTourTravelAgency.java | 74 + .../models/ThirtyTeachTourUserAssignment.java | 165 ++ .../ThirtyTeachTourLeaveApplyService.java | 31 + ...yTeachTourLedgerDirectRelativeService.java | 7 + .../ThirtyTeachTourLedgerFamilyService.java | 7 + .../service/ThirtyTeachTourLedgerService.java | 7 + .../service/ThirtyTeachTourLineService.java | 7 + .../service/ThirtyTeachTourMatterService.java | 7 + .../ThirtyTeachTourSettingService.java | 42 + .../ThirtyTeachTourTravelAgencyService.java | 7 + .../ThirtyTeachTourUserAssignmentService.java | 406 ++++ .../ThirtyTeachTourLeaveApplyServiceImpl.java | 169 ++ ...chTourLedgerDirectRelativeServiceImpl.java | 15 + ...hirtyTeachTourLedgerFamilyServiceImpl.java | 15 + .../ThirtyTeachTourLedgerServiceImpl.java | 15 + .../impl/ThirtyTeachTourLineServiceImpl.java | 15 + .../ThirtyTeachTourMatterServiceImpl.java | 15 + .../ThirtyTeachTourSettingServiceImpl.java | 133 ++ ...hirtyTeachTourTravelAgencyServiceImpl.java | 15 + ...rtyTeachTourUserAssignmentServiceImpl.java | 1630 +++++++++++++ .../init_thirty_teach_tour_h5_menu.sql | 39 + .../init_thirty_teach_tour_menu.sql | 170 ++ ...hirty_teach_tour_boarding_place_fields.sql | 13 + .../thirty_teach_tour_dict_init.sql | 253 ++ .../thirty_teach_tour_leave_apply_create.sql | 29 + .../thirty_teach_tour_ledger_add_age.sql | 3 + .../thirty_teach_tour_ledger_add_matter.sql | 7 + .../thirty_teach_tour_ledger_add_mobile.sql | 3 + ...h_tour_ledger_add_over_cost_reimbursed.sql | 2 + ...ty_teach_tour_ledger_add_query_indexes.sql | 9 + .../thirty_teach_tour_ledger_create.sql | 44 + ...ach_tour_ledger_direct_relative_create.sql | 21 + ...thirty_teach_tour_ledger_family_create.sql | 25 + ...hirty_teach_tour_line_add_creator_unit.sql | 10 + ..._tour_line_add_direct_family_unit_line.sql | 3 + .../thirty_teach_tour_line_add_open_flag.sql | 3 + .../thirty_teach_tour_matter_add_creator.sql | 7 + .../thirty_teach_tour_matter_batch_create.sql | 26 + .../thirty_teach_tour_matter_create.sql | 37 + ..._teach_tour_setting_add_activity_group.sql | 6 + ..._tour_setting_add_boarding_place_quota.sql | 4 + ...h_tour_setting_add_cycle_allowed_times.sql | 3 + ...each_tour_setting_add_cycle_total_cost.sql | 2 + ...irty_teach_tour_setting_add_cycle_year.sql | 4 + ...y_teach_tour_setting_add_fill_bed_info.sql | 3 + ...ach_tour_setting_add_home_signup_entry.sql | 4 + ...ur_setting_add_out_province_ratio_type.sql | 3 + ...ur_setting_add_signup_eligibility_mode.sql | 2 + .../thirty_teach_tour_setting_create.sql | 261 +++ ...tting_lot_add_allow_over_reimbursement.sql | 2 + ..._teach_tour_setting_union_quota_create.sql | 17 + ...ach_tour_user_assignment_add_cancelled.sql | 4 + ..._tour_user_assignment_add_confirm_info.sql | 4 + ...irty_teach_tour_user_assignment_create.sql | 42 + .../tour-direct-family-icon.png | Bin 0 -> 19846 bytes .../thirtyTeachTour/tour-direct-family.jpg | Bin 0 -> 93735 bytes .../thirtyTeachTour/tour-h5-banner-1.jpg | Bin 0 -> 68954 bytes .../thirtyTeachTour/tour-h5-banner-2.jpg | Bin 0 -> 57069 bytes .../thirtyTeachTour/tour-in-province.png | Bin 0 -> 7906 bytes .../thirtyTeachTour/tour-out-province.png | Bin 0 -> 6172 bytes .../images/thirtyTeachTour/疗休养logo.png | Bin 0 -> 1384440 bytes .../branchUserAssignment/index.html | 824 +++++++ .../ThirtyTeachTour/group/index.html | 374 +++ .../ThirtyTeachTour/leaveApply/index.html | 192 ++ .../ThirtyTeachTour/ledger/index.html | 686 ++++++ .../ThirtyTeachTour/matter/index.html | 757 ++++++ .../ThirtyTeachTour/mysignup/index.html | 1449 ++++++++++++ .../ThirtyTeachTour/placeholder/index.html | 23 + .../ThirtyTeachTour/route/index.html | 432 ++++ .../schoolUnionApproval/index.html | 546 +++++ .../schoolUserAssignment/index.html | 928 ++++++++ .../ThirtyTeachTour/setting/index.html | 1158 +++++++++ .../ThirtyTeachTour/signup/index.html | 1193 ++++++++++ .../ThirtyTeachTour/travelAgency/index.html | 335 +++ .../ThirtyTeachTour/unionApproval/index.html | 546 +++++ .../ThirtyTeachTour/unionledger/index.html | 609 +++++ .../thirtyTeachTour/mysignup/index.html | 1156 +++++++++ .../schoolUnionApproval/index.html | 480 ++++ .../thirtyTeachTour/signup/apply.html | 702 ++++++ .../thirtyTeachTour/signup/confirm.html | 234 ++ .../thirtyTeachTour/signup/entry.html | 42 + .../thirtyTeachTour/signup/index.html | 347 +++ .../thirtyTeachTour/signup/lineInfo.html | 550 +++++ .../thirtyTeachTour/signup/list.html | 997 ++++++++ .../thirtyTeachTour/signup/noAssignment.html | 70 + .../thirtyTeachTour/unionApproval/index.html | 455 ++++ 111 files changed, 29665 insertions(+) create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourBranchUserAssignmentController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourGroupController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLeaveApplyController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLedgerController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLineController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourMatterController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourMySignupController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourPlaceholderController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSchoolUnionApprovalController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSchoolUserAssignmentController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSettingController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSignupController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourTravelAgencyController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourUnionApprovalController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourUnionLedgerController.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/mode/ThirtyTeachTourLedgerImportExcelMode.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLeaveApply.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedger.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedgerDirectRelative.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedgerFamily.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLine.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourMatter.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSetting.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSettingLot.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSettingUnionQuota.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourTravelAgency.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourUserAssignment.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLeaveApplyService.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerDirectRelativeService.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerFamilyService.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerService.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLineService.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourMatterService.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourSettingService.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourTravelAgencyService.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourUserAssignmentService.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLeaveApplyServiceImpl.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerDirectRelativeServiceImpl.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerFamilyServiceImpl.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerServiceImpl.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLineServiceImpl.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourMatterServiceImpl.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourSettingServiceImpl.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourTravelAgencyServiceImpl.java create mode 100644 src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourUserAssignmentServiceImpl.java create mode 100644 src/main/resources/db/thirtyTeachTour/init_thirty_teach_tour_h5_menu.sql create mode 100644 src/main/resources/db/thirtyTeachTour/init_thirty_teach_tour_menu.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_boarding_place_fields.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_dict_init.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_leave_apply_create.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_age.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_matter.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_mobile.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_over_cost_reimbursed.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_query_indexes.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_create.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_direct_relative_create.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_family_create.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_creator_unit.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_direct_family_unit_line.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_open_flag.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_add_creator.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_batch_create.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_create.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_activity_group.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_boarding_place_quota.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_allowed_times.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_total_cost.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_year.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_fill_bed_info.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_home_signup_entry.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_out_province_ratio_type.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_signup_eligibility_mode.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_create.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_lot_add_allow_over_reimbursement.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_union_quota_create.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_add_cancelled.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_add_confirm_info.sql create mode 100644 src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_create.sql create mode 100644 src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-direct-family-icon.png create mode 100644 src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-direct-family.jpg create mode 100644 src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-h5-banner-1.jpg create mode 100644 src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-h5-banner-2.jpg create mode 100644 src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-in-province.png create mode 100644 src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-out-province.png create mode 100644 src/main/resources/static/assets/platform/images/thirtyTeachTour/疗休养logo.png create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/branchUserAssignment/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/group/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/leaveApply/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/ledger/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/matter/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/mysignup/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/placeholder/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/route/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUnionApproval/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUserAssignment/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/setting/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/signup/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/travelAgency/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/unionApproval/index.html create mode 100644 src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/unionledger/index.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/mysignup/index.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/schoolUnionApproval/index.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/apply.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/confirm.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/entry.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/index.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/lineInfo.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/list.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/noAssignment.html create mode 100644 src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/unionApproval/index.html 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 new file mode 100644 index 00000000..c31faf68 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourBranchUserAssignmentController.java @@ -0,0 +1,243 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourUserAssignmentService; +import org.apache.poi.ss.usermodel.Workbook; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.json.Json; +import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; + +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/branchUserAssignment") +public class ThirtyTeachTourBranchUserAssignmentController { + + @Inject + private ThirtyTeachTourUserAssignmentService tourUserAssignmentService; + + /** + * 分工会人员分配列表入口。 + */ + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/branchUserAssignment/index.html") + @SaCheckPermission("thirtyTeachTour.branchUserAssignment") + public void index() { + } + + /** + * 分页查询当前登录人所在分工会的分配记录,列表数据只来自人员分配表。 + */ + @At + @SaCheckPermission("thirtyTeachTour.branchUserAssignment") + public Result pageData(PageForm pageForm, Integer year, String settingId, String matterId, + String personType, String keyword) { + return Result.success(tourUserAssignmentService.branchAssignmentPage(pageForm, year, settingId, matterId, + personType, keyword)); + } + + /** + * 按分工会人员分配页面当前查询条件导出数据,导出范围不受分页限制。 + */ + @At + @SaCheckPermission("thirtyTeachTour.branchUserAssignment") + @Ok("void") + public void exportData(PageForm pageForm, Integer year, String settingId, String matterId, + String personType, String keyword, HttpServletResponse response) { + List rows = tourUserAssignmentService.branchAssignmentExportRows(pageForm, year, settingId, matterId, + personType, keyword); + ExportParams exportParams = new ExportParams(); + exportParams.setSheetName("分工会人员分配"); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, assignmentExportEntities(), rows); + CommonDownloadUtil.download("分工会人员分配.xlsx", workbook, response); + } + + /** + * 分页查询候选人员,候选范围由疗休养配置可参加人员范围和当前登录人所在分工会共同决定;userIds 仅作为人员选择器筛选条件。 + */ + @At + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.assign") + public Result candidatePageData(PageForm pageForm, String settingId, String keyword, @Param("userIds") String userIds) { + return Result.success(tourUserAssignmentService.branchCandidatePage(pageForm, settingId, keyword, parseUserIds(userIds))); + } + + /** + * 查询可用于分配的疗休养配置。 + */ + @At + @SaCheckPermission("thirtyTeachTour.branchUserAssignment") + public Result settingOptions(Integer year) { + return Result.success(tourUserAssignmentService.listEnabledSettingOptions(year)); + } + + /** + * 查询分工会可分配线路选项,选项携带事项、线路和旅行社快照信息。 + */ + @At + @SaCheckPermission("thirtyTeachTour.branchUserAssignment") + public Result matterOptions(String settingId) { + return Result.success(tourUserAssignmentService.listSignupOpenMatterOptions(settingId)); + } + + /** + * 查询当前登录人所在分工会在指定配置下的名额使用情况。 + */ + @At + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.assign") + public Result quotaInfo(String settingId) { + return Result.success(tourUserAssignmentService.branchQuotaInfo(settingId)); + } + + /** + * 保存分工会人员分配,保存时数据来源固定为 BRANCH_UNION。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.assign") + @SLog(type = "tour", tag = "疗休养分工会人员分配", msg = "保存分工会人员分配") + public Result doAssign(String settingId, String matterId, String personType, @Param("userIds") String userIds) { + List parsedUserIds; + try { + parsedUserIds = parseUserIds(userIds); + } catch (Exception e) { + return Result.error("人员参数错误"); + } + try { + return Result.success(tourUserAssignmentService.assignBranchUsers(settingId, matterId, personType, parsedUserIds)); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 切换当前分工会人员分配记录的正式/替补状态,具体名额和台账保护规则由 service 统一处理。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.switchPersonType") + @SLog(type = "tour", tag = "疗休养分工会人员分配", msg = "切换分工会人员类型") + public Result switchPersonType(String id, String personType) { + try { + return Result.success(tourUserAssignmentService.switchCurrentBranchPersonType(id, personType)); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 给当前分工会已分配正式人员补选分配路线,具体快照回写、代报名和最大成团人数校验由 service 统一处理。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.selectMatter") + @SLog(type = "tour", tag = "疗休养分工会人员分配", msg = "选择分工会分配事项") + public Result selectMatter(String id, String matterId) { + try { + return Result.success(tourUserAssignmentService.selectCurrentBranchAssignmentMatter(id, matterId)); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 恢复当前分工会已取消退出的人员分配记录,只恢复状态,不恢复已删除台账。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.cancelRestore") + @SLog(type = "tour", tag = "疗休养分工会人员分配", msg = "取消退出分工会人员分配") + public Result restoreCancel(String id) { + try { + tourUserAssignmentService.restoreCurrentBranchCancelledAssignment(id); + return Result.success(); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 删除前检查该分配记录是否已经存在对应报名台账。 + */ + @At + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.delete") + public Result deleteInfo(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + return Result.success(tourUserAssignmentService.branchDeleteInfo(id)); + } + + /** + * 删除分工会人员分配记录,只删除 BRANCH_UNION 来源的数据。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.delete") + @SLog(type = "tour", tag = "疗休养分工会人员分配", msg = "删除分工会人员分配") + public Result doDelete(String id, Boolean deleteLedger) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + try { + tourUserAssignmentService.deleteCurrentBranchAssignment(id, Boolean.TRUE.equals(deleteLedger)); + return Result.success(); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + private List parseUserIds(String userIds) { + if (StrUtil.isBlank(userIds)) { + return Collections.emptyList(); + } + List list = Json.fromJsonAsList(String.class, userIds); + return Lang.isEmpty(list) ? Collections.emptyList() : list; + } + + /** + * 定义人员分配导出字段,保持与页面列表核心字段一致并补充人员基础信息。 + */ + private List assignmentExportEntities() { + List entities = new ArrayList<>(); + entities.add(new ExcelExportEntity("年度", "year", 12)); + entities.add(new ExcelExportEntity("疗休养配置", "settingName", 24)); + entities.add(new ExcelExportEntity("姓名", "userName", 14)); + entities.add(new ExcelExportEntity("工号", "loginName", 16)); + entities.add(new ExcelExportEntity("性别", "gender", 10)); + entities.add(new ExcelExportEntity("年龄", "age", 10)); + entities.add(new ExcelExportEntity("身份证号", "idCard", 24)); + entities.add(new ExcelExportEntity("手机号", "mobile", 18)); + entities.add(new ExcelExportEntity("所属分工会", "unionName", 24)); + entities.add(new ExcelExportEntity("所在单位", "unitName", 24)); + entities.add(new ExcelExportEntity("线路", "lineName", 30)); + entities.add(new ExcelExportEntity("出行时间", "travelPeriod", 26)); + entities.add(new ExcelExportEntity("乘车地点", "boardingPlace", 18)); + entities.add(new ExcelExportEntity("分配类别", "assignSourceText", 16)); + entities.add(new ExcelExportEntity("人员类型", "personTypeText", 14)); + entities.add(new ExcelExportEntity("是否退出", "cancelledText", 14)); + entities.add(new ExcelExportEntity("分配时间", "assignedAt", 22)); + entities.add(new ExcelExportEntity("分配人", "assignedName", 14)); + return entities; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourGroupController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourGroupController.java new file mode 100644 index 00000000..12298359 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourGroupController.java @@ -0,0 +1,641 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.constant.RoleConstant; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.sys.models.Sys_union; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourMatterService; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.BorderStyle; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.util.CellRangeAddress; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/group") +public class ThirtyTeachTourGroupController { + + @Inject + private ThirtyTeachTourMatterService tourMatterService; + + @Inject + private ThirtyTeachTourLedgerService tourLedgerService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/group/index.html") + @SaCheckPermission("thirtyTeachTour.group") + public void index() { + } + + @At + @SaCheckPermission("thirtyTeachTour.group") + public Result pageData(PageForm pageForm, Integer year, String lineName, String lineType, String unionId) { + if (StrUtil.isBlank(pageForm.getPageOrderName())) { + pageForm.defaultSortAsc("lineName"); + } + Cnd cnd = buildQueryCnd(year, lineName, lineType, unionId); + + Sql countSql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourMatterService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + m.id AS matterId, + m.`year`, + m.matterName, + m.unionId, + COALESCE(u.name, '校工会') AS unionName, + m.lineId, + l.lineName, + l.lineType, + l.directFamilyUnitLine, + m.travelStartTime, + m.travelEndTime, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod, + m.minGroupPeople, + m.maxGroupPeople, + IFNULL(sc.signupCount, 0) AS signupCount, + CASE + WHEN m.maxGroupPeople IS NOT NULL AND m.maxGroupPeople > 0 AND IFNULL(sc.signupCount, 0) > m.maxGroupPeople THEN 'over' + WHEN m.minGroupPeople IS NOT NULL AND m.minGroupPeople > 0 AND IFNULL(sc.signupCount, 0) >= m.minGroupPeople THEN 'formed' + ELSE 'unformed' + END AS groupStatus, + CASE + WHEN m.maxGroupPeople IS NOT NULL AND m.maxGroupPeople > 0 AND IFNULL(sc.signupCount, 0) > m.maxGroupPeople THEN '超员' + WHEN m.minGroupPeople IS NOT NULL AND m.minGroupPeople > 0 AND IFNULL(sc.signupCount, 0) >= m.minGroupPeople THEN '已成团' + ELSE '未成团' + END AS groupStatusName + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + LEFT JOIN ( + SELECT t.matterId, SUM(1 + IFNULL(f.familyCount, 0)) AS signupCount + FROM thirty_teach_tour_ledger t + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + WHERE t.delFlag = 0 + AND t.matterId IS NOT NULL + AND t.matterId <> '' + GROUP BY t.matterId + ) sc ON sc.matterId = m.id + $condition + ORDER BY $orderColumn $orderBy, m.`year` DESC, m.travelStartTime ASC, l.lineName ASC, m.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "descending".equals(pageForm.getPageOrderBy()) ? "desc" : "asc"); + listSql.setPager(tourMatterService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourMatterService.dao().execute(listSql); + + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, listSql.getList(NutMap.class)); + return Result.success(pagination); + } + + @At + @SaCheckPermission("thirtyTeachTour.group") + public Result unionOptions() { + Cnd cnd = Cnd.NEW(); + cnd.asc("unionCode"); + cnd.asc("name"); + return Result.success(tourMatterService.dao().query(Sys_union.class, cnd)); + } + + @At + @SaCheckPermission("thirtyTeachTour.group") + public Result lineTypeOptions(Integer year) { + Cnd cnd = buildQueryCnd(year, null, null, null); + Sql sql = Sqls.create(""" + SELECT DISTINCT l.lineType + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + $condition + ORDER BY l.lineType ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourMatterService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission("thirtyTeachTour.group") + public Result signupPageData(PageForm pageForm, String matterId, String keyword, String unionId) { + if (StrUtil.isBlank(matterId)) { + return Result.error("参数错误"); + } + if (StrUtil.isBlank(pageForm.getPageOrderName())) { + pageForm.defaultSortDesc("signupTime"); + } + Cnd cnd = buildSignupQueryCnd(matterId, keyword, unionId); + Sql countSql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_ledger t + INNER JOIN thirty_teach_tour_matter m ON m.id = t.matterId + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + t.id, + t.jobNo, + t.userName, + COALESCE(NULLIF(t.mobile, ''), NULLIF(vu.mobile, ''), '') AS mobile, + COALESCE(NULLIF(t.idCard, ''), NULLIF(vu.idCard, ''), '') AS idCard, + t.unionId, + t.unionName, + t.signupTime + FROM thirty_teach_tour_ledger t + INNER JOIN thirty_teach_tour_matter m ON m.id = t.matterId + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN vw_user vu ON vu.loginname = t.jobNo + $condition + ORDER BY $orderColumn $orderBy, t.signupTime DESC, t.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setVar("orderColumn", getSignupOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "ascending".equals(pageForm.getPageOrderBy()) ? "asc" : "desc"); + listSql.setPager(tourLedgerService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(listSql); + + List list = listSql.getList(NutMap.class); + fillSignupFamilies(list); + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, list); + return Result.success(pagination); + } + + @At + @Ok("void") + @SaCheckPermission("thirtyTeachTour.group") + public void exportParticipants(String matterId, HttpServletResponse response) { + if (StrUtil.isBlank(matterId)) { + return; + } + NutMap matter = fetchExportMatter(matterId); + if (matter == null || matter.isEmpty()) { + return; + } + List list = queryExportParticipants(matterId); + Workbook workbook = buildParticipantsWorkbook(matter, list); + String lineName = StrUtil.blankToDefault(matter.getString("lineName", ""), "线路"); + CommonDownloadUtil.download(lineName + "参加人员名单.xls", workbook, response); + } + + private Cnd buildSignupQueryCnd(String matterId, String keyword, String unionId) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.and("t.matterId", "=", matterId); + cnd.and("m.delFlag", "=", false); + cnd.and("m.enabled", "=", true); + cnd.and("m.lineId", "IS NOT", null); + cnd.and("m.lineId", "<>", ""); + cnd.and("l.delFlag", "=", false); + cnd.and("l.enabled", "=", true); + if (StrUtil.isNotBlank(keyword)) { + SqlExpressionGroup keywordGroup = new SqlExpressionGroup(); + keywordGroup.orLike("t.userName", keyword.trim()); + keywordGroup.orLike("t.jobNo", keyword.trim()); + cnd.and(keywordGroup); + } + cnd.andEX("t.unionId", "=", unionId); + applyMatterDataScope(cnd); + return cnd; + } + + private NutMap fetchExportMatter(String matterId) { + Cnd cnd = Cnd.NEW(); + cnd.and("m.delFlag", "=", false); + cnd.and("m.enabled", "=", true); + cnd.and("m.id", "=", matterId); + cnd.and("m.lineId", "IS NOT", null); + cnd.and("m.lineId", "<>", ""); + cnd.and("l.delFlag", "=", false); + cnd.and("l.enabled", "=", true); + applyMatterDataScope(cnd); + + Sql sql = Sqls.create(""" + SELECT + m.id AS matterId, + m.`year`, + m.unionId, + COALESCE(u.name, '校工会') AS unionName, + l.lineName, + l.lineType, + m.travelStartTime, + m.travelEndTime, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + $condition + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.map()); + tourMatterService.dao().execute(sql); + return sql.getObject(NutMap.class); + } + + private List queryExportParticipants(String matterId) { + Cnd cnd = buildSignupQueryCnd(matterId, null, null); + Sql sql = Sqls.create(""" + SELECT + t.id AS ledgerId, + t.jobNo, + t.userName, + COALESCE(NULLIF(t.idCard, ''), NULLIF(vu.idCard, ''), '') AS idCard, + COALESCE(NULLIF(t.mobile, ''), NULLIF(vu.mobile, ''), '') AS mobile, + t.unionName, + l.lineName, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod, + t.signupTime + FROM thirty_teach_tour_ledger t + INNER JOIN thirty_teach_tour_matter m ON m.id = t.matterId + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN vw_user vu ON vu.loginname = t.jobNo + $condition + ORDER BY t.signupTime DESC, t.createdAt DESC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + List list = sql.getList(NutMap.class); + fillExportFamilies(list); + return list; + } + + private void fillExportFamilies(List list) { + if (list == null || list.isEmpty()) { + return; + } + List ledgerIds = new ArrayList<>(); + for (NutMap item : list) { + String ledgerId = item.getString("ledgerId", ""); + if (StrUtil.isNotBlank(ledgerId)) { + ledgerIds.add(ledgerId); + } + } + if (ledgerIds.isEmpty()) { + return; + } + Sql sql = Sqls.create(""" + SELECT + ledgerId, + familyName, + relationship, + idCard + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + AND ledgerId IN (@ledgerIds) + ORDER BY createdAt ASC + """); + sql.setParam("ledgerIds", ledgerIds.toArray(new String[0])); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + + Map> familyMap = new HashMap<>(); + for (NutMap family : sql.getList(NutMap.class)) { + familyMap.computeIfAbsent(family.getString("ledgerId", ""), key -> new ArrayList<>()).add(family); + } + for (NutMap item : list) { + item.put("families", familyMap.getOrDefault(item.getString("ledgerId", ""), List.of())); + } + } + + /** + * 给报名人员列表挂载家属子列表;当前家属台账未保存手机号,mobile 字段先返回空值供前端占位。 + */ + private void fillSignupFamilies(List list) { + if (list == null || list.isEmpty()) { + return; + } + List ledgerIds = new ArrayList<>(); + for (NutMap item : list) { + String ledgerId = item.getString("id", ""); + if (StrUtil.isNotBlank(ledgerId)) { + ledgerIds.add(ledgerId); + } + } + if (ledgerIds.isEmpty()) { + return; + } + Sql sql = Sqls.create(""" + SELECT + ledgerId, + familyName, + age, + gender, + '' AS mobile, + idCard, + relationship + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + AND ledgerId IN (@ledgerIds) + ORDER BY createdAt ASC + """); + sql.setParam("ledgerIds", ledgerIds.toArray(new String[0])); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + + Map> familyMap = new HashMap<>(); + for (NutMap family : sql.getList(NutMap.class)) { + familyMap.computeIfAbsent(family.getString("ledgerId", ""), key -> new ArrayList<>()).add(family); + } + for (NutMap item : list) { + item.put("families", familyMap.getOrDefault(item.getString("id", ""), List.of())); + } + } + + private Workbook buildParticipantsWorkbook(NutMap matter, List list) { + Workbook workbook = new HSSFWorkbook(); + Sheet sheet = workbook.createSheet("参加人员名单"); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 10)); + sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 10)); + + double[] widths = {6, 14, 12, 22, 16, 24, 34, 26, 12, 12, 16}; + for (int i = 0; i < widths.length; i++) { + sheet.setColumnWidth(i, (int) (widths[i] * 256)); + } + + CellStyle titleStyle = createStyle(workbook, "黑体", (short) 16, true, HorizontalAlignment.CENTER, false, false); + CellStyle unionStyle = createStyle(workbook, "宋体", (short) 12, true, HorizontalAlignment.LEFT, false, false); + CellStyle headerStyle = createStyle(workbook, "宋体", (short) 11, true, HorizontalAlignment.CENTER, true, true); + CellStyle bodyStyle = createStyle(workbook, "宋体", (short) 11, false, HorizontalAlignment.CENTER, true, true); + + Row titleRow = sheet.createRow(0); + titleRow.setHeightInPoints(30); + setCell(titleRow, 0, StrUtil.blankToDefault(matter.getString("lineName", ""), ""), titleStyle); + fillMergedCells(titleRow, 1, 10, titleStyle); + + Row unionRow = sheet.createRow(1); + unionRow.setHeightInPoints(26); + setCell(unionRow, 0, "分工会:" + StrUtil.blankToDefault(matter.getString("unionName", ""), ""), unionStyle); + fillMergedCells(unionRow, 1, 10, unionStyle); + + String[] headers = {"序号", "工号", "姓名", "身份证号码", "电话号码", "所属分工会", "所选线路名称", "疗休养时间", "亲属关系", "姓名", "备注"}; + Row headerRow = sheet.createRow(2); + headerRow.setHeightInPoints(35); + for (int i = 0; i < headers.length; i++) { + setCell(headerRow, i, headers[i], headerStyle); + } + + int rowIndex = 3; + int seq = 1; + for (NutMap item : list == null ? List.of() : list) { + Row staffRow = sheet.createRow(rowIndex++); + staffRow.setHeightInPoints(24); + setParticipantRow(staffRow, seq++, item.getString("jobNo", ""), item.getString("userName", ""), + item.getString("idCard", ""), item.getString("mobile", ""), item.getString("unionName", ""), + item.getString("lineName", matter.getString("lineName", "")), item.getString("travelPeriod", matter.getString("travelPeriod", "")), + "", item.getString("userName", ""), bodyStyle); + + Object familiesObj = item.get("families"); + if (familiesObj instanceof List families) { + for (Object obj : families) { + if (!(obj instanceof NutMap family)) { + continue; + } + Row familyRow = sheet.createRow(rowIndex++); + familyRow.setHeightInPoints(24); + setParticipantRow(familyRow, seq++, "", family.getString("familyName", ""), + family.getString("idCard", ""), "", "", + item.getString("lineName", matter.getString("lineName", "")), + item.getString("travelPeriod", matter.getString("travelPeriod", "")), + family.getString("relationship", ""), item.getString("userName", ""), bodyStyle); + } + } + } + + int minRows = Math.max(rowIndex, 23); + while (rowIndex < minRows) { + Row row = sheet.createRow(rowIndex++); + row.setHeightInPoints(24); + for (int i = 0; i < headers.length; i++) { + setCell(row, i, "", bodyStyle); + } + } + return workbook; + } + + private void setParticipantRow(Row row, int seq, String jobNo, String userName, String idCard, String mobile, + String unionName, String lineName, String travelPeriod, String relationship, + String participantName, CellStyle style) { + setCell(row, 0, String.valueOf(seq), style); + setCell(row, 1, jobNo, style); + setCell(row, 2, userName, style); + setCell(row, 3, idCard, style); + setCell(row, 4, mobile, style); + setCell(row, 5, unionName, style); + setCell(row, 6, lineName, style); + setCell(row, 7, travelPeriod, style); + setCell(row, 8, relationship, style); + setCell(row, 9, participantName, style); + setCell(row, 10, "", style); + } + + private CellStyle createStyle(Workbook workbook, String fontName, short fontSize, boolean bold, HorizontalAlignment alignment, boolean wrap, boolean border) { + Font font = workbook.createFont(); + font.setFontName(fontName); + font.setFontHeightInPoints(fontSize); + font.setBold(bold); + + CellStyle style = workbook.createCellStyle(); + style.setFont(font); + style.setAlignment(alignment); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setWrapText(wrap); + if (border) { + style.setBorderLeft(BorderStyle.THIN); + style.setBorderTop(BorderStyle.THIN); + style.setBorderRight(BorderStyle.THIN); + style.setBorderBottom(BorderStyle.THIN); + } + return style; + } + + private void setCell(Row row, int col, String value, CellStyle style) { + Cell cell = row.createCell(col); + cell.setCellValue(StrUtil.blankToDefault(value, "")); + cell.setCellStyle(style); + } + + private void fillMergedCells(Row row, int startCol, int endCol, CellStyle style) { + for (int i = startCol; i <= endCol; i++) { + setCell(row, i, "", style); + } + } + + private Cnd buildQueryCnd(Integer year, String lineName, String lineType, String unionId) { + Cnd cnd = Cnd.NEW(); + cnd.and("m.delFlag", "=", false); + cnd.and("m.enabled", "=", true); + cnd.and("m.lineId", "IS NOT", null); + cnd.and("m.lineId", "<>", ""); + cnd.and("l.delFlag", "=", false); + cnd.and("l.enabled", "=", true); + cnd.andEX("m.`year`", "=", year == null ? LocalDate.now().getYear() : year); + cnd.and(Cnd.likeEX("l.lineName", lineName)); + cnd.andEX("l.lineType", "=", lineType); + cnd.andEX("m.unionId", "=", unionId); + applyMatterDataScope(cnd); + return cnd; + } + + /** + * 线路成团按事项归属控制数据范围:校工会查看全部;分工会查看本工会事项;其它角色仅查看自己创建的事项。 + */ + private void applyMatterDataScope(Cnd cnd) { + if (hasSchoolUnionScope()) { + return; + } + if (hasBranchUnionScope()) { + cnd.and("m.unionId", "=", SecurityUtil.getUnionId()); + return; + } + SqlExpressionGroup creatorGroup = new SqlExpressionGroup(); + creatorGroup.or("m.creatorUserId", "=", SecurityUtil.getUserId()); + creatorGroup.or("m.createdBy", "=", SecurityUtil.getUserId()); + cnd.and(creatorGroup); + } + + private boolean hasSchoolUnionScope() { + return AuthUtil.hasRole(RoleConstant.SYSADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_ADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_CHAIRMAN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_VICE_CHAIRMAN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_WELFARE_ADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_MEMBER_ADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_TC_ADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_WC_ADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_DC_ADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_PROPOSAL_ADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_CLUB_ADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_ACTIVITY_ADMIN.name()); + } + + private boolean hasBranchUnionScope() { + return AuthUtil.hasRole(RoleConstant.BRANCH_UNION_ADMIN.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_VICE_CHAIRMAN.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_OPERATOR.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_GROUP_LEADER.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_ARTICLE_WRITER.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_WY.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_ZUZHI_WY.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_XUANCHUAN_WY.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_NVGONG_WY.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_QINGNIAN_WY.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_WENTI_WY.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_SHENGGHUO_WY.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_TIAOJIE_WY.name()) + || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_WENTI_SPORTS.name()); + } + + private String getOrderColumn(String orderName) { + if ("lineName".equals(orderName)) { + return "l.lineName"; + } + if ("travelPeriod".equals(orderName)) { + return "m.travelStartTime"; + } + if ("matterName".equals(orderName)) { + return "m.matterName"; + } + if ("unionName".equals(orderName)) { + return "u.name"; + } + if ("lineType".equals(orderName)) { + return "l.lineType"; + } + if ("signupCount".equals(orderName)) { + return "signupCount"; + } + if ("minGroupPeople".equals(orderName)) { + return "m.minGroupPeople"; + } + if ("maxGroupPeople".equals(orderName)) { + return "m.maxGroupPeople"; + } + if ("groupStatusName".equals(orderName)) { + return "groupStatus"; + } + return "l.lineName"; + } + + private String getSignupOrderColumn(String orderName) { + if ("jobNo".equals(orderName)) { + return "t.jobNo"; + } + if ("userName".equals(orderName)) { + return "t.userName"; + } + if ("idCard".equals(orderName)) { + return "t.idCard"; + } + if ("unionName".equals(orderName)) { + return "t.unionName"; + } + return "t.signupTime"; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLeaveApplyController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLeaveApplyController.java new file mode 100644 index 00000000..98ab7418 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLeaveApplyController.java @@ -0,0 +1,78 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLeaveApplyService; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/leaveApply") +public class ThirtyTeachTourLeaveApplyController { + + @Inject + private ThirtyTeachTourLeaveApplyService leaveApplyService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/leaveApply/index.html") + @SaCheckPermission("thirtyTeachTour.leaveApply") + public void index() { + } + + /** + * 查询人员分配表中的退出取消数据,旧退出申请表不再作为业务来源。 + */ + @At + @SaCheckPermission("thirtyTeachTour.leaveApply") + public Result pageData(PageForm pageForm, String keyword, String unionName, String status) { + return Result.success(leaveApplyService.pageData(pageForm, keyword, unionName, status)); + } + + /** + * 查询当前登录人在取消管理页的可操作权限,供前端控制按钮显示。 + */ + @At + @SaCheckPermission("thirtyTeachTour.leaveApply") + public Result permissionInfo() { + return Result.success(leaveApplyService.permissionInfo()); + } + + /** + * 取消人员分配记录:标记已退出,并同步删除该人员对应路线的报名台账。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.leaveApply") + @SLog(type = "tour", tag = "疗休养退出取消", msg = "取消疗休养人员分配") + public Result doCancel(String id) { + try { + leaveApplyService.cancelAssignment(id); + return Result.success(); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 恢复人员分配记录退出状态,只恢复人员分配表状态,不恢复已删除台账。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.branchUserAssignment.cancelRestore") + @SLog(type = "tour", tag = "疗休养退出取消", msg = "恢复疗休养人员分配退出状态") + public Result doRestore(String id) { + try { + leaveApplyService.restoreAssignment(id); + return Result.success(); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLedgerController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLedgerController.java new file mode 100644 index 00000000..e8d86e1e --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLedgerController.java @@ -0,0 +1,1141 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.ExcelImportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.constant.RoleConstant; +import com.budwk.app.base.model.ExcelImportRes; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.flow.enums.ProcessInstanceStateEnum; +import com.budwk.app.sys.models.Sys_union; +import com.budwk.app.sys.views.View_user; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.mode.ThirtyTeachTourLedgerImportExcelMode; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedger; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerDirectRelative; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerFamily; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLine; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourTravelAgency; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerDirectRelativeService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerFamilyService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourUserAssignmentService; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.BorderStyle; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.FillPatternType; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.util.CellRangeAddress; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.dao.Chain; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.json.Json; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.AdaptBy; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; +import org.nutz.mvc.upload.TempFile; +import org.nutz.mvc.upload.UploadAdaptor; + +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedOutputStream; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/ledger") +public class ThirtyTeachTourLedgerController { + + @Inject + private ThirtyTeachTourLedgerService tourLedgerService; + + @Inject + private ThirtyTeachTourLedgerFamilyService tourLedgerFamilyService; + + @Inject + private ThirtyTeachTourLedgerDirectRelativeService tourLedgerDirectRelativeService; + + @Inject + private ThirtyTeachTourUserAssignmentService tourUserAssignmentService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/ledger/index.html") + @SaCheckPermission("thirtyTeachTour.ledger") + public void index() { + } + + @At + @SaCheckPermission("thirtyTeachTour.ledger") + public Result pageData(PageForm pageForm, Integer startYear, Integer endYear, String keyword, String unionId, String lineId, String travelPeriod, String lineType, Boolean directFamilyOnly, Boolean overCostOnly) { + Cnd cnd = buildQueryCnd(startYear, endYear, keyword, unionId, lineId, travelPeriod, lineType, directFamilyOnly, overCostOnly); + + Sql countSql = Sqls.create(""" + SELECT COUNT(DISTINCT t.id) + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN thirty_teach_tour_ledger_direct_relative dr ON dr.ledgerId = t.id AND dr.delFlag = 0 + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + t.*, + ins.id AS instanceId, + ins.state AS instanceState, + ins.processDefineId AS instanceProcessDefineId, + IF(IFNULL(l.directFamilyUnitLine, 0) = 1 OR dr.id IS NOT NULL, 1, 0) AS directFamilyUnitLine, + dr.id AS directRelativeId, + COALESCE(NULLIF(l.lineName, ''), t.lineName) AS currentLineName, + COALESCE(NULLIF(vu.sex, ''), t.gender, '') AS currentGender, + COALESCE(t.age, vu.age) AS age, + COALESCE(NULLIF(t.idCard, ''), NULLIF(vu.idCard, ''), '') AS currentIdCard, + COALESCE(NULLIF(t.mobile, ''), NULLIF(vu.mobile, ''), '') AS currentMobile, + IFNULL(f.familyCount, 0) AS familyCount, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE tp.travelPeriod + END AS travelPeriod + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN thirty_teach_tour_ledger_direct_relative dr ON dr.ledgerId = t.id AND dr.delFlag = 0 + LEFT JOIN vw_user vu ON vu.loginname = t.jobNo + LEFT JOIN ( + SELECT + `year`, + lineId, + GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND lineId IS NOT NULL + AND lineId <> '' + GROUP BY `year`, lineId + ) tp ON (t.matterId IS NULL OR t.matterId = '') AND tp.`year` = t.`year` AND tp.lineId = t.lineId + $condition + GROUP BY t.id + ORDER BY $orderColumn $orderBy, t.`year` DESC, t.signupTime DESC, t.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "descending".equals(pageForm.getPageOrderBy()) ? "desc" : "asc"); + listSql.setPager(tourLedgerService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(listSql); + + var list = listSql.getList(NutMap.class); + list.forEach(item -> { + item.put("lineName", item.getString("currentLineName")); + item.put("gender", item.getString("currentGender")); + item.put("idCard", item.getString("currentIdCard")); + item.put("mobile", item.getString("currentMobile")); + }); + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, list); + return Result.success(pagination); + } + + @At + @SaCheckPermission("thirtyTeachTour.ledger") + public Result detail(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + ThirtyTeachTourLedger ledger = tourLedgerService.fetch(id); + if (ledger == null) { + return Result.error("台账记录不存在"); + } + if (!canAccessLedgerUnion(ledger.getUnionId())) { + return Result.error("无权查看该台账记录"); + } + fillLedgerContactFallback(ledger); + ledger.setLineName(getCurrentLineName(ledger)); + Cnd familyCnd = Cnd.NEW(); + familyCnd.and(ThirtyTeachTourLedgerFamily::getLedgerId, "=", id); + familyCnd.and(ThirtyTeachTourLedgerFamily::getDelFlag, "=", false); + familyCnd.asc(ThirtyTeachTourLedgerFamily::getCreatedAt); + ThirtyTeachTourLedgerDirectRelative directRelative = tourLedgerDirectRelativeService.fetch( + Cnd.where(ThirtyTeachTourLedgerDirectRelative::getDelFlag, "=", false) + .and(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + return Result.success(NutMap.NEW() + .addv("ledger", ledger) + .addv("travelPeriod", getTravelPeriod(ledger)) + .addv("families", tourLedgerFamilyService.query(familyCnd)) + .addv("directRelative", directRelative) + .addv("fillBedInfo", isFillBedInfo(ledger)) + .addv("directFamilyUnitLine", isDirectFamilyUnitLine(ledger))); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.ledger") + @SLog(type = "tour", tag = "疗休养台账", msg = "删除疗休养台账") + public Result doDelete(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + ThirtyTeachTourLedger ledger = tourLedgerService.fetch(id); + if (ledger == null) { + return Result.error("台账记录不存在"); + } + if (!canAccessLedgerUnion(ledger.getUnionId())) { + return Result.error("无权删除该台账记录"); + } + // 删除台账时同步清理台账明细和人员分配中的线路快照,避免人员分配列表继续显示已删除报名的路线信息。 + tourLedgerFamilyService.clear(Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", id)); + tourLedgerDirectRelativeService.clear(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", id)); + tourLedgerService.delete(id); + tourUserAssignmentService.clearExistingAssignmentMatterAfterLedgerDelete(ledger.getMatterId(), ledger.getJobNo()); + return Result.success(); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.ledger") + @SLog(type = "tour", tag = "疗休养台账", msg = "设置参加人员") + public Result setParticipants(@Param("ids") String ids) { + List idList = StrUtil.isBlank(ids) ? Collections.emptyList() : Json.fromJsonAsList(String.class, ids); + if (idList.isEmpty()) { + return Result.error("请选择要设置的参加人员"); + } + Cnd cnd = Cnd.where("id", "in", idList); + cnd.andEX("unionId", "=", resolveLedgerUnionId(null)); + tourLedgerService.dao().update(ThirtyTeachTourLedger.class, Chain.make("joined", true), cnd); + return Result.success(); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.ledger") + @SLog(type = "tour", tag = "疗休养台账", msg = "参加人员导入") + @AdaptBy(type = UploadAdaptor.class, args = {"ioc:fileUpload"}) + public Result importParticipants(@Param("file") TempFile file) { + if (file == null) { + return Result.error("请选择导入文件"); + } + List importRows = ExcelImportUtil.importExcel(file.getFile(), ThirtyTeachTourLedgerImportExcelMode.class, new ImportParams()); + ExcelImportRes excelImportRes = new ExcelImportRes<>(); + excelImportRes.setTotalRecords(importRows.size()); + + for (int i = 0; i < importRows.size(); i++) { + ThirtyTeachTourLedgerImportExcelMode row = importRows.get(i); + if (!validateImportRow(row, i)) { + continue; + } + Boolean joined = parseJoined(row.getJoined()); + if (joined == null) { + row.setErrInfo("是否参加只能填写1、0、是、否、true、false、已参加、未参加", i); + continue; + } + ThirtyTeachTourLine line = fetchImportLine(row); + if (line == null) { + row.setErrInfo("未找到唯一匹配的线路", i); + continue; + } + List ledgers = queryImportLedgerCandidates(row); + if (ledgers.isEmpty()) { + Result createResult = insertImportLedger(row, line, joined); + if (createResult.isSuccess()) { + continue; + } + row.setErrInfo(createResult.getMsg(), i); + continue; + } + ThirtyTeachTourLedger ledger = resolveImportLedger(row, ledgers, line); + if (ledger == null) { + row.setErrInfo("匹配到多条台账记录,报名时间或线路未能唯一匹配,请核对年度、工号、报名时间、线路名称", i); + continue; + } + Chain chain = Chain.make("joined", joined) + .add("lineId", line.getId()) + .add("lineName", line.getLineName()) + .add("lineType", line.getLineType()); + String signupTime = normalizeSignupTime(row.getSignupTime()); + if (StrUtil.isNotBlank(signupTime)) { + chain.add("signupTime", signupTime); + } + tourLedgerService.dao().update(ThirtyTeachTourLedger.class, chain, Cnd.where("id", "=", ledger.getId())); + } + + excelImportRes.setErrorDetails(importRows.stream().filter(s -> StrUtil.isNotBlank(s.getErrMsg())).collect(Collectors.toList())); + excelImportRes.setFailedCount(excelImportRes.getErrorDetails().size()); + excelImportRes.setSuccessCount(Math.max(importRows.size() - excelImportRes.getFailedCount(), 0)); + return Result.success(excelImportRes); + } + + @At + @SaCheckPermission("thirtyTeachTour.ledger") + @Ok("void") + public void downloadTemplate(HttpServletResponse response) { + List entities = new ArrayList<>(); + entities.add(new ExcelExportEntity("年度", "year", 12)); + entities.add(new ExcelExportEntity("工号", "jobNo", 18)); + entities.add(new ExcelExportEntity("姓名", "userName", 18)); + entities.add(new ExcelExportEntity("报名时间", "signupTime", 24)); + entities.add(new ExcelExportEntity("线路名称", "lineName", 30)); + entities.add(new ExcelExportEntity("线路类型", "lineType", 18)); + entities.add(new ExcelExportEntity("是否参加", "joined", 14)); + + ExportParams exportParams = new ExportParams(); + exportParams.setSheetName("thirty_teach_tour_ledger"); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, entities, Collections.emptyList()); + CommonDownloadUtil.download("参加人员导入模板.xlsx", workbook, response); + } + + /** + * 按当前查询条件导出台账列表,导出字段与页面列表显示字样保持一致。 + */ + @At + @SaCheckPermission("thirtyTeachTour.ledger") + @Ok("void") + public void exportLedgerData(Integer startYear, Integer endYear, String keyword, String unionId, String lineId, + String travelPeriod, String lineType, Boolean directFamilyOnly, Boolean overCostOnly, + HttpServletResponse response) { + List entities = new ArrayList<>(); + entities.add(new ExcelExportEntity("工号", "jobNo", 16)); + entities.add(new ExcelExportEntity("姓名", "userName", 14)); + entities.add(new ExcelExportEntity("性别", "gender", 10)); + entities.add(new ExcelExportEntity("年龄", "age", 10)); + entities.add(new ExcelExportEntity("身份证号", "idCard", 24)); + entities.add(new ExcelExportEntity("手机号", "mobile", 18)); + entities.add(new ExcelExportEntity("所在单位", "unitName", 26)); + entities.add(new ExcelExportEntity("乘车地点", "boardingPlace", 18)); + entities.add(new ExcelExportEntity("报名线路", "lineName", 30)); + entities.add(new ExcelExportEntity("出行时段", "travelPeriod", 30)); + entities.add(new ExcelExportEntity("线路类型", "lineType", 16)); + entities.add(new ExcelExportEntity("报名时间", "signupTime", 22)); + entities.add(new ExcelExportEntity("携带家属", "familyCountText", 14)); + entities.add(new ExcelExportEntity("是否参加", "joinedText", 14)); + entities.add(new ExcelExportEntity("报销超出费用", "overCostReimbursedText", 18)); + + List rows = queryLedgerExportRows(startYear, endYear, keyword, unionId, lineId, travelPeriod, + lineType, directFamilyOnly, overCostOnly); + rows.forEach(row -> { + Integer familyCount = row.getInt("familyCount"); + row.put("familyCountText", (familyCount == null ? 0 : familyCount) + "人"); + row.put("joinedText", Boolean.TRUE.equals(row.getBoolean("joined")) ? "是" : "否"); + row.put("overCostReimbursedText", Boolean.TRUE.equals(row.getBoolean("overCostReimbursed")) ? "是" : "否"); + }); + + ExportParams exportParams = new ExportParams(); + exportParams.setSheetName("疗休养台账"); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, entities, rows); + CommonDownloadUtil.download("疗休养台账数据.xlsx", workbook, response); + } + + private List queryLedgerExportRows(Integer startYear, Integer endYear, String keyword, String unionId, String lineId, + String travelPeriod, String lineType, Boolean directFamilyOnly, Boolean overCostOnly) { + Cnd cnd = buildQueryCnd(startYear, endYear, keyword, unionId, lineId, travelPeriod, lineType, directFamilyOnly, overCostOnly); + Sql sql = Sqls.create(""" + SELECT + t.id, + t.jobNo, + t.userName, + COALESCE(NULLIF(vu.sex, ''), t.gender, '') AS gender, + COALESCE(t.age, vu.age) AS age, + COALESCE(NULLIF(t.idCard, ''), NULLIF(vu.idCard, ''), '') AS idCard, + COALESCE(NULLIF(t.mobile, ''), NULLIF(vu.mobile, ''), '') AS mobile, + t.unitName, + t.boardingPlace, + COALESCE(NULLIF(l.lineName, ''), t.lineName, '') AS lineName, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE tp.travelPeriod + END AS travelPeriod, + t.lineType, + t.signupTime, + IFNULL(f.familyCount, 0) AS familyCount, + t.joined, + t.overCostReimbursed + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN thirty_teach_tour_ledger_direct_relative dr ON dr.ledgerId = t.id AND dr.delFlag = 0 + LEFT JOIN vw_user vu ON vu.loginname = t.jobNo + LEFT JOIN ( + SELECT + `year`, + lineId, + GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND lineId IS NOT NULL + AND lineId <> '' + GROUP BY `year`, lineId + ) tp ON (t.matterId IS NULL OR t.matterId = '') AND tp.`year` = t.`year` AND tp.lineId = t.lineId + $condition + GROUP BY t.id + ORDER BY t.signupTime DESC, t.createdAt DESC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return sql.getList(NutMap.class); + } + + @At + @SaCheckPermission("thirtyTeachTour.ledger") + @Ok("void") + public void exportUnionSignupZip(Integer startYear, Integer endYear, String keyword, String unionId, String lineId, + String travelPeriod, String lineType, Boolean directFamilyOnly, Boolean overCostOnly, + HttpServletResponse response) throws Exception { + List rows = queryUnionSignupRows(startYear, endYear, keyword, unionId, lineId, travelPeriod, lineType, + directFamilyOnly, overCostOnly); + Map> unionRows = groupRowsByUnion(rows); + + String zipName = URLEncoder.encode("疗休养分工会报名汇总表.zip", StandardCharsets.UTF_8.toString()); + response.setContentType("application/zip"); + response.setHeader("Content-Disposition", "attachment;filename=" + zipName + ";filename*=UTF-8''" + zipName); + try (ZipOutputStream zipOutputStream = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()))) { + if (unionRows.isEmpty()) { + zipOutputStream.putNextEntry(new ZipEntry("无数据报名汇总表.xls")); + try (Workbook workbook = buildUnionSignupWorkbook("无数据", Collections.emptyList())) { + workbook.write(zipOutputStream); + } + zipOutputStream.closeEntry(); + } else { + for (Map.Entry> entry : unionRows.entrySet()) { + String unionName = entry.getValue().isEmpty() ? entry.getKey() : entry.getValue().get(0).getString("unionName", entry.getKey()); + String fileName = safeFileName(unionName + "报名汇总表.xls"); + zipOutputStream.putNextEntry(new ZipEntry(fileName)); + try (Workbook workbook = buildUnionSignupWorkbook(unionName, entry.getValue())) { + workbook.write(zipOutputStream); + } + zipOutputStream.closeEntry(); + } + } + zipOutputStream.flush(); + } + } + + private List queryUnionSignupRows(Integer startYear, Integer endYear, String keyword, String unionId, String lineId, + String travelPeriod, String lineType, Boolean directFamilyOnly, Boolean overCostOnly) { + Cnd cnd = buildQueryCnd(startYear, endYear, keyword, unionId, lineId, travelPeriod, lineType, directFamilyOnly, overCostOnly); + Sql sql = Sqls.create(""" + SELECT + t.id, + t.jobNo, + t.userName, + COALESCE(NULLIF(t.idCard, ''), NULLIF(vu.idCard, ''), '') AS idCard, + t.unionId, + COALESCE(NULLIF(t.unionName, ''), su.name, vu.unionName, '') AS unionName, + COALESCE(NULLIF(su.unionCode, ''), vu.unionCode, '') AS unionCode, + COALESCE(NULLIF(t.mobile, ''), NULLIF(vu.mobile, ''), '') AS mobile, + COALESCE(NULLIF(l.lineName, ''), t.lineName, '') AS lineName, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE tp.travelPeriod + END AS travelPeriod + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN thirty_teach_tour_ledger_direct_relative dr ON dr.ledgerId = t.id AND dr.delFlag = 0 + LEFT JOIN vw_user vu ON vu.loginname = t.jobNo + LEFT JOIN sys_union su ON su.id = t.unionId + LEFT JOIN ( + SELECT + `year`, + lineId, + GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND lineId IS NOT NULL + AND lineId <> '' + GROUP BY `year`, lineId + ) tp ON (t.matterId IS NULL OR t.matterId = '') AND tp.`year` = t.`year` AND tp.lineId = t.lineId + $condition + GROUP BY t.id + ORDER BY unionCode ASC, unionName ASC, t.signupTime DESC, t.createdAt DESC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return sql.getList(NutMap.class); + } + + private Map> groupRowsByUnion(List rows) { + Map> unionRows = new LinkedHashMap<>(); + for (NutMap row : rows) { + String unionName = StrUtil.blankToDefault(row.getString("unionName"), "未分工会"); + String unionCode = StrUtil.blankToDefault(row.getString("unionCode"), ""); + String key = StrUtil.isBlank(unionCode) ? unionName : unionCode + "_" + unionName; + unionRows.computeIfAbsent(key, item -> new ArrayList<>()).add(row); + } + return unionRows; + } + + private Workbook buildUnionSignupWorkbook(String unionName, List rows) { + HSSFWorkbook workbook = new HSSFWorkbook(); + Sheet sheet = workbook.createSheet("报名汇总表"); + sheet.setColumnWidth(0, 8 * 256); + sheet.setColumnWidth(1, 14 * 256); + sheet.setColumnWidth(2, 14 * 256); + sheet.setColumnWidth(3, 24 * 256); + sheet.setColumnWidth(4, 16 * 256); + sheet.setColumnWidth(5, 24 * 256); + sheet.setColumnWidth(6, 36 * 256); + sheet.setColumnWidth(7, 26 * 256); + sheet.setColumnWidth(8, 18 * 256); + + CellStyle titleStyle = createUnionSignupTitleStyle(workbook); + CellStyle headerStyle = createUnionSignupHeaderStyle(workbook); + CellStyle bodyStyle = createUnionSignupBodyStyle(workbook); + + Row titleRow = sheet.createRow(0); + titleRow.setHeightInPoints(28); + Cell titleCell = titleRow.createCell(0); + titleCell.setCellValue(StrUtil.blankToDefault(unionName, "未分工会") + "报名汇总表"); + titleCell.setCellStyle(titleStyle); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 8)); + for (int i = 1; i <= 8; i++) { + titleRow.createCell(i).setCellStyle(titleStyle); + } + + Row headerRow = sheet.createRow(1); + headerRow.setHeightInPoints(24); + String[] headers = {"序号", "工号", "姓名", "身份证号码", "电话号码", "所属分工会", "所选线路名称", "疗休养时间", "备注"}; + for (int i = 0; i < headers.length; i++) { + setCell(headerRow, i, headers[i], headerStyle); + } + + int rowIndex = 2; + int seq = 1; + for (NutMap row : rows) { + Row dataRow = sheet.createRow(rowIndex++); + dataRow.setHeightInPoints(22); + setCell(dataRow, 0, String.valueOf(seq++), bodyStyle); + setCell(dataRow, 1, row.getString("jobNo", ""), bodyStyle); + setCell(dataRow, 2, row.getString("userName", ""), bodyStyle); + setCell(dataRow, 3, row.getString("idCard", ""), bodyStyle); + setCell(dataRow, 4, row.getString("mobile", ""), bodyStyle); + setCell(dataRow, 5, row.getString("unionName", ""), bodyStyle); + setCell(dataRow, 6, row.getString("lineName", ""), bodyStyle); + setCell(dataRow, 7, row.getString("travelPeriod", ""), bodyStyle); + setCell(dataRow, 8, "", bodyStyle); + } + return workbook; + } + + private CellStyle createUnionSignupTitleStyle(Workbook workbook) { + CellStyle style = workbook.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setBorderTop(BorderStyle.THIN); + style.setBorderRight(BorderStyle.THIN); + style.setBorderBottom(BorderStyle.THIN); + style.setBorderLeft(BorderStyle.THIN); + Font font = workbook.createFont(); + font.setBold(true); + font.setFontHeightInPoints((short) 16); + style.setFont(font); + return style; + } + + private CellStyle createUnionSignupHeaderStyle(Workbook workbook) { + CellStyle style = createUnionSignupBodyStyle(workbook); + style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); + style.setFillPattern(FillPatternType.SOLID_FOREGROUND); + Font font = workbook.createFont(); + font.setBold(true); + style.setFont(font); + return style; + } + + private CellStyle createUnionSignupBodyStyle(Workbook workbook) { + CellStyle style = workbook.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setWrapText(true); + style.setBorderTop(BorderStyle.THIN); + style.setBorderRight(BorderStyle.THIN); + style.setBorderBottom(BorderStyle.THIN); + style.setBorderLeft(BorderStyle.THIN); + return style; + } + + private void setCell(Row row, int index, String value, CellStyle style) { + Cell cell = row.createCell(index); + cell.setCellValue(StrUtil.blankToDefault(value, "")); + cell.setCellStyle(style); + } + + private String safeFileName(String fileName) { + String safeName = StrUtil.blankToDefault(fileName, "报名汇总表.xls") + .replaceAll("[\\\\/:*?\"<>|]", "、"); + return safeName.length() > 120 ? safeName.substring(0, 120) : safeName; + } + + private boolean validateImportRow(ThirtyTeachTourLedgerImportExcelMode row, int index) { + if (row.getYear() == null) { + row.setErrInfo("年度为空", index); + return false; + } + if (StrUtil.isBlank(row.getJobNo())) { + row.setErrInfo("工号为空", index); + return false; + } + if (StrUtil.isBlank(row.getLineName())) { + row.setErrInfo("线路名称为空", index); + return false; + } + if (StrUtil.isBlank(row.getLineType())) { + row.setErrInfo("线路类型为空", index); + return false; + } + if (StrUtil.isBlank(row.getJoined())) { + row.setErrInfo("是否参加为空", index); + return false; + } + return true; + } + + private ThirtyTeachTourLine fetchImportLine(ThirtyTeachTourLedgerImportExcelMode row) { + Cnd cnd = Cnd.where(ThirtyTeachTourLine::getDelFlag, "=", false) + .and(ThirtyTeachTourLine::getYear, "=", row.getYear()) + .and(ThirtyTeachTourLine::getLineName, "=", row.getLineName().trim()) + .and(ThirtyTeachTourLine::getLineType, "=", row.getLineType().trim()); + List lines = tourLedgerService.dao().query(ThirtyTeachTourLine.class, cnd); + return lines.size() == 1 ? lines.get(0) : null; + } + + private List queryImportLedgerCandidates(ThirtyTeachTourLedgerImportExcelMode row) { + Cnd cnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getYear, "=", row.getYear()) + .and(ThirtyTeachTourLedger::getJobNo, "=", row.getJobNo().trim()); + return tourLedgerService.query(cnd); + } + + private ThirtyTeachTourLedger resolveImportLedger(ThirtyTeachTourLedgerImportExcelMode row, List ledgers, ThirtyTeachTourLine line) { + if (ledgers.size() == 1) { + return ledgers.get(0); + } + List matched = ledgers; + if (row.getSignupTime() != null) { + String importSignupTime = normalizeSignupTime(row.getSignupTime()); + matched = matched.stream() + .filter(item -> signupTimeEquals(importSignupTime, item.getSignupTime())) + .collect(Collectors.toList()); + if (matched.size() == 1) { + return matched.get(0); + } + } + matched = ledgers.stream() + .filter(item -> ledgerLineEquals(item, line)) + .collect(Collectors.toList()); + return matched.size() == 1 ? matched.get(0) : null; + } + + private boolean ledgerLineEquals(ThirtyTeachTourLedger ledger, ThirtyTeachTourLine line) { + if (ledger == null || line == null) { + return false; + } + if (StrUtil.isNotBlank(ledger.getLineId()) && ledger.getLineId().equals(line.getId())) { + return true; + } + return StrUtil.equals(ledger.getLineName(), line.getLineName()) + && StrUtil.equals(ledger.getLineType(), line.getLineType()); + } + + private Result insertImportLedger(ThirtyTeachTourLedgerImportExcelMode row, ThirtyTeachTourLine line, Boolean joined) { + View_user user = fetchImportUser(row.getJobNo()); + if (user == null) { + return Result.error("系统用户中未找到该工号"); + } + ThirtyTeachTourLedger ledger = new ThirtyTeachTourLedger(); + ledger.setYear(row.getYear()); + ledger.setJobNo(StrUtil.blankToDefault(user.getLoginname(), row.getJobNo().trim())); + ledger.setUserName(StrUtil.blankToDefault(user.getUsername(), row.getUserName())); + ledger.setGender(user.getSex()); + ledger.setIdCard(user.getIdCard()); + ledger.setUnitId(user.getUnitId()); + ledger.setUnitName(user.getUnitName()); + ledger.setUnionId(user.getUnionId()); + ledger.setUnionName(user.getUnionName()); + ledger.setSignupTime(normalizeSignupTime(row.getSignupTime())); + ledger.setLineId(line.getId()); + ledger.setLineName(line.getLineName()); + ledger.setLineType(line.getLineType()); + ledger.setTravelAgencyId(line.getTravelAgencyId()); + ledger.setTravelAgencyName(getTravelAgencyName(line.getTravelAgencyId())); + ledger.setHasFamily(false); + ledger.setJoined(joined); + ledger.setReimbursed(false); + ledger.setOverCostReimbursed(false); + tourLedgerService.insert(ledger); + return Result.success(); + } + + private View_user fetchImportUser(String jobNo) { + if (StrUtil.isBlank(jobNo)) { + return null; + } + return tourLedgerService.dao().fetch(View_user.class, Cnd.where(View_user::getLoginname, "=", jobNo.trim())); + } + + private String getTravelAgencyName(String travelAgencyId) { + if (StrUtil.isBlank(travelAgencyId)) { + return ""; + } + ThirtyTeachTourTravelAgency agency = tourLedgerService.dao().fetch(ThirtyTeachTourTravelAgency.class, travelAgencyId); + return agency == null ? "" : StrUtil.blankToDefault(agency.getAgencyName(), ""); + } + + private boolean signupTimeEquals(String importSignupTime, String ledgerSignupTime) { + if (StrUtil.isBlank(importSignupTime) || StrUtil.isBlank(ledgerSignupTime)) { + return false; + } + String ledgerTime = normalizeSignupTime(ledgerSignupTime); + if (importSignupTime.equals(ledgerTime)) { + return true; + } + return importSignupTime.length() == 16 && ledgerTime.startsWith(importSignupTime) + || ledgerTime.length() == 16 && importSignupTime.startsWith(ledgerTime); + } + + private String normalizeSignupTime(Object value) { + if (value instanceof Date date) { + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); + } + String text = StrUtil.trimToEmpty(value == null ? "" : String.valueOf(value)).replace('T', ' '); + if (StrUtil.isBlank(text)) { + return ""; + } + text = text.replaceAll("\\.0$", ""); + String[] dateTimePatterns = { + "yyyy-MM-dd HH:mm:ss", + "yyyy-MM-dd HH:mm", + "yyyy/M/d H:mm:ss", + "yyyy/M/d H:mm", + "M/d/yy H:mm:ss", + "M/d/yy H:mm", + "M/d/yyyy H:mm:ss", + "M/d/yyyy H:mm" + }; + for (String pattern : dateTimePatterns) { + try { + LocalDateTime dateTime = LocalDateTime.parse(text, DateTimeFormatter.ofPattern(pattern)); + return dateTime.format(DateTimeFormatter.ofPattern(pattern.contains(":ss") ? "yyyy-MM-dd HH:mm:ss" : "yyyy-MM-dd HH:mm")); + } catch (DateTimeParseException ignored) { + } + } + String[] datePatterns = {"yyyy-MM-dd", "yyyy/M/d", "M/d/yy", "M/d/yyyy"}; + for (String pattern : datePatterns) { + try { + LocalDate date = LocalDate.parse(text, DateTimeFormatter.ofPattern(pattern)); + return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + } catch (DateTimeParseException ignored) { + } + } + return text; + } + + private Boolean parseJoined(String value) { + String joined = StrUtil.trimToEmpty(value).toLowerCase(); + if ("1".equals(joined) || "1.0".equals(joined) || "是".equals(joined) || "true".equals(joined) || "已参加".equals(joined)) { + return true; + } + if ("0".equals(joined) || "0.0".equals(joined) || "否".equals(joined) || "false".equals(joined) || "未参加".equals(joined)) { + return false; + } + return null; + } + + @At + @SaCheckPermission("thirtyTeachTour.ledger") + public Result unionOptions() { + Cnd cnd = Cnd.NEW(); + if (isBranchUnionChairmanScope()) { + cnd.and("id", "=", SecurityUtil.getUnionId()); + } + cnd.asc("unionCode"); + cnd.asc("name"); + return Result.success(tourLedgerService.dao().query(Sys_union.class, cnd)); + } + + @At + @SaCheckPermission("thirtyTeachTour.ledger") + public Result lineOptions(Integer startYear, Integer endYear, String travelPeriod, String lineType, String unionId, String keyword, Boolean directFamilyOnly, Boolean overCostOnly) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.and("t.lineName", "IS NOT", null); + cnd.and("t.lineName", "<>", ""); + cnd.andEX("t.unionId", "=", resolveLedgerUnionId(unionId)); + cnd.andEX("t.lineType", "=", lineType); + appendTravelPeriodFilter(cnd, travelPeriod); + appendKeywordFilter(cnd, keyword); + appendScopeFilter(cnd, directFamilyOnly, overCostOnly); + appendApprovedWorkflowFilter(cnd); + + Sql sql = Sqls.create(""" + SELECT DISTINCT + CASE + WHEN IFNULL(t.lineId, '') <> '' THEN t.lineId + ELSE CONCAT('legacy:', t.lineName) + END AS lineId, + COALESCE(NULLIF(l.lineName, ''), t.lineName) AS lineName + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN thirty_teach_tour_ledger_direct_relative dr ON dr.ledgerId = t.id AND dr.delFlag = 0 + $condition + ORDER BY lineName ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission("thirtyTeachTour.ledger") + public Result travelPeriodOptions(Integer startYear, Integer endYear, String lineId, String lineType, String unionId, String keyword, Boolean directFamilyOnly, Boolean overCostOnly) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.and("m.travelStartTime", "IS NOT", null); + cnd.and("m.travelStartTime", "<>", ""); + cnd.and("m.travelEndTime", "IS NOT", null); + cnd.and("m.travelEndTime", "<>", ""); + cnd.andEX("t.unionId", "=", resolveLedgerUnionId(unionId)); + cnd.andEX("t.lineType", "=", lineType); + appendLineFilter(cnd, lineId); + appendKeywordFilter(cnd, keyword); + appendScopeFilter(cnd, directFamilyOnly, overCostOnly); + appendApprovedWorkflowFilter(cnd); + + Sql sql = Sqls.create(""" + SELECT DISTINCT CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) AS travelPeriod + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN thirty_teach_tour_ledger_direct_relative dr ON dr.ledgerId = t.id AND dr.delFlag = 0 + $condition + ORDER BY travelPeriod ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + private Cnd buildQueryCnd(Integer startYear, Integer endYear, String keyword, String unionId, String lineId, String travelPeriod, String lineType, Boolean directFamilyOnly, Boolean overCostOnly) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.andEX("t.unionId", "=", resolveLedgerUnionId(unionId)); + cnd.andEX("t.lineType", "=", lineType); + appendLineFilter(cnd, lineId); + appendTravelPeriodFilter(cnd, travelPeriod); + appendKeywordFilter(cnd, keyword); + appendScopeFilter(cnd, directFamilyOnly, overCostOnly); + appendApprovedWorkflowFilter(cnd); + return cnd; + } + + private boolean hasSchoolLedgerScope() { + return AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name()); + } + + private boolean isBranchUnionChairmanScope() { + return !hasSchoolLedgerScope() && AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name()); + } + + private String resolveLedgerUnionId(String unionId) { + // 分工会主席只能查询当前登录人所在分工会;校工会管理员保留页面传入条件,支持查全部。 + if (isBranchUnionChairmanScope()) { + String currentUnionId = SecurityUtil.getUnionId(); + return StrUtil.isBlank(currentUnionId) ? "__NO_UNION__" : currentUnionId; + } + return unionId; + } + + private boolean canAccessLedgerUnion(String unionId) { + if (!isBranchUnionChairmanScope()) { + return true; + } + String currentUnionId = SecurityUtil.getUnionId(); + return StrUtil.isNotBlank(currentUnionId) && StrUtil.equals(currentUnionId, unionId); + } + + private void fillLedgerContactFallback(ThirtyTeachTourLedger ledger) { + if (ledger == null || (StrUtil.isNotBlank(ledger.getIdCard()) && StrUtil.isNotBlank(ledger.getMobile()))) { + return; + } + // Detail views prefer ledger contact data; blank ledger fields fall back to the user profile snapshot for display only. + View_user user = tourLedgerService.dao().fetch(View_user.class, Cnd.where(View_user::getLoginname, "=", ledger.getJobNo())); + if (user == null) { + return; + } + if (StrUtil.isBlank(ledger.getIdCard())) { + ledger.setIdCard(user.getIdCard()); + } + if (StrUtil.isBlank(ledger.getMobile())) { + ledger.setMobile(user.getMobile()); + } + } + + private void appendApprovedWorkflowFilter(Cnd cnd) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.or("ins.id", "IS", null); + group.or("ins.state", "=", ProcessInstanceStateEnum.FINISHED.getCode()); + cnd.and(group); + } + + private void appendScopeFilter(Cnd cnd, Boolean directFamilyOnly, Boolean overCostOnly) { + if (Boolean.TRUE.equals(directFamilyOnly)) { + cnd.and("IF(IFNULL(l.directFamilyUnitLine, 0) = 1 OR dr.id IS NOT NULL, 1, 0)", "=", 1); + } + if (Boolean.TRUE.equals(overCostOnly)) { + cnd.and("t.overCostReimbursed", "=", true); + } + } + + private void appendKeywordFilter(Cnd cnd, String keyword) { + if (StrUtil.isNotBlank(keyword)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.orLike("t.userName", keyword.trim()); + group.orLike("t.jobNo", keyword.trim()); + cnd.and(group); + } + } + + private String getOrderColumn(String orderName) { + if ("year".equals(orderName)) { + return "t.`year`"; + } + if ("jobNo".equals(orderName)) { + return "t.jobNo"; + } + if ("userName".equals(orderName)) { + return "t.userName"; + } + if ("lineName".equals(orderName)) { + return "COALESCE(NULLIF(l.lineName, ''), t.lineName)"; + } + if ("travelPeriod".equals(orderName)) { + return "COALESCE(m.travelStartTime, tp.travelPeriod)"; + } + if ("lineType".equals(orderName)) { + return "t.lineType"; + } + if ("signupTime".equals(orderName)) { + return "t.signupTime"; + } + if ("familyCount".equals(orderName)) { + return "familyCount"; + } + if ("joined".equals(orderName)) { + return "t.joined"; + } + return "t.`year`"; + } + + private String getTravelPeriod(ThirtyTeachTourLedger ledger) { + if (ledger == null || ledger.getYear() == null || StrUtil.isBlank(ledger.getLineId())) { + return ""; + } + if (StrUtil.isNotBlank(ledger.getMatterId())) { + Sql exactSql = Sqls.create(""" + SELECT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE '' + END AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND id = @matterId + """); + exactSql.setParam("matterId", ledger.getMatterId()); + exactSql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(exactSql); + return exactSql.getString(); + } + Sql sql = Sqls.create(""" + SELECT GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND `year` = @year + AND lineId = @lineId + """); + sql.setParam("year", ledger.getYear()); + sql.setParam("lineId", ledger.getLineId()); + sql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(sql); + return sql.getString(); + } + + private boolean isDirectFamilyUnitLine(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getLineId())) { + return false; + } + Sql sql = Sqls.create(""" + SELECT IFNULL(directFamilyUnitLine, 0) + FROM thirty_teach_tour_line + WHERE delFlag = 0 + AND id = @lineId + """); + sql.setParam("lineId", ledger.getLineId()); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt() > 0; + } + + private boolean isFillBedInfo(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getMatterId())) { + return true; + } + Sql sql = Sqls.create(""" + SELECT IFNULL(MAX(s.fillBedInfo), 1) + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_setting s ON s.id = m.settingId AND s.delFlag = 0 + WHERE t.id = @ledgerId + """); + sql.setParam("ledgerId", ledger.getId()); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt() > 0; + } + + private void appendTravelPeriodFilter(Cnd cnd, String travelPeriod) { + if (StrUtil.isBlank(travelPeriod)) { + return; + } + cnd.and("CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime)", "=", travelPeriod); + } + + private void appendLineFilter(Cnd cnd, String lineId) { + if (StrUtil.isBlank(lineId)) { + return; + } + if (lineId.startsWith("legacy:")) { + SqlExpressionGroup legacyGroup = new SqlExpressionGroup(); + legacyGroup.or("t.lineId", "IS", null); + legacyGroup.or("t.lineId", "=", ""); + cnd.and(legacyGroup); + cnd.and("t.lineName", "=", lineId.substring("legacy:".length())); + return; + } + cnd.and("t.lineId", "=", lineId); + } + + private String getCurrentLineName(ThirtyTeachTourLedger ledger) { + if (ledger == null) { + return ""; + } + if (StrUtil.isBlank(ledger.getLineId())) { + return ledger.getLineName(); + } + Sql sql = Sqls.create(""" + SELECT lineName + FROM thirty_teach_tour_line + WHERE delFlag = 0 + AND id = @lineId + """); + sql.setParam("lineId", ledger.getLineId()); + sql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(sql); + return StrUtil.blankToDefault(sql.getString(), ledger.getLineName()); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLineController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLineController.java new file mode 100644 index 00000000..97636897 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourLineController.java @@ -0,0 +1,297 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.constant.RoleConstant; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.sys.models.Sys_dict; +import com.budwk.app.sys.services.SysDictService; +import com.budwk.app.sys.views.View_user; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLine; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourTravelAgency; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLineService; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/route") +public class ThirtyTeachTourLineController { + + @Inject + private ThirtyTeachTourLineService tourLineService; + + @Inject + private SysDictService sysDictService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/route/index.html") + @SaCheckPermission("thirtyTeachTour.route") + public void index() { + } + + @At + @SaCheckPermission("thirtyTeachTour.route") + public Result pageData(PageForm pageForm, Integer year, String lineName, String lotId) { + if (StrUtil.isBlank(pageForm.getPageOrderName())) { + pageForm.defaultSortDesc("enabled"); + } + + Cnd cnd = Cnd.NEW(); + cnd.and("l.delFlag", "=", false); + cnd.andEX("l.`year`", "=", year); + cnd.and(Cnd.likeEX("l.lineName", lineName)); + cnd.andEX("l.lotId", "=", lotId); + boolean sysAdmin = AuthUtil.hasRole(RoleConstant.SYSADMIN.name()); + boolean branchUnionScope = !sysAdmin && AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name()); + applyDataScope(cnd, sysAdmin, branchUnionScope); + String creatorJoin = branchUnionScope ? """ + LEFT JOIN sys_unit lineUnit ON lineUnit.id = l.unitId + LEFT JOIN sys_user creatorUser ON creatorUser.id = COALESCE(NULLIF(l.creatorUserId, ''), l.createdBy) + LEFT JOIN sys_unit creatorUnit ON creatorUnit.id = creatorUser.unitId + """ : ""; + + Sql countSql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_line l + $creatorJoin + $condition + """); + countSql.setVar("creatorJoin", creatorJoin); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourLineService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + l.*, + a.agencyName AS travelAgencyName, + lot.lotName AS lotName + FROM thirty_teach_tour_line l + LEFT JOIN thirty_teach_tour_travel_agency a ON a.id = l.travelAgencyId + LEFT JOIN thirty_teach_tour_setting_lot lot ON lot.id = l.lotId + $creatorJoin + $condition + ORDER BY $orderColumn $orderBy, l.`year` DESC, l.lineCode ASC, l.createdAt DESC + """); + listSql.setVar("creatorJoin", creatorJoin); + listSql.setCondition(cnd); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "descending".equals(pageForm.getPageOrderBy()) ? "desc" : "asc"); + listSql.setPager(tourLineService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourLineService.dao().execute(listSql); + + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, listSql.getList(NutMap.class)); + return Result.success(pagination); + } + + @At + @SaCheckPermission("thirtyTeachTour.route") + public Result detail(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + ThirtyTeachTourLine line = tourLineService.fetch(id); + return line == null ? Result.error("线路不存在") : Result.success(line); + } + + @At + @SaCheckPermission("thirtyTeachTour.route") + public Result travelAgencyOptions(Integer year) { + Cnd cnd = Cnd.where(ThirtyTeachTourTravelAgency::getEnabled, "=", true); + cnd.andEX(ThirtyTeachTourTravelAgency::getYear, "=", year); + cnd.asc(ThirtyTeachTourTravelAgency::getAgencyCode).asc(ThirtyTeachTourTravelAgency::getAgencyName); + return Result.success(tourLineService.dao().query(ThirtyTeachTourTravelAgency.class, cnd)); + } + + @At + @SaCheckPermission("thirtyTeachTour.route") + public Result lotOptions(Integer year) { + Cnd cnd = Cnd.NEW(); + cnd.andEX("s.`year`", "=", year); + Sql sql = Sqls.create(""" + SELECT lot.id, lot.lotName, lot.lotValue, lot.activityCost + FROM thirty_teach_tour_setting_lot lot + INNER JOIN thirty_teach_tour_setting s ON s.id = lot.settingId + $condition + ORDER BY lot.lotValue DESC, lot.lotName ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLineService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission("thirtyTeachTour.route") + public Result lineTypeOptions() { + List list = sysDictService.getSubListByCode("lineType"); + if (list == null) { + return Result.success(Collections.emptyList()); + } + return Result.success(list.stream().filter(item -> !item.isDisabled()).collect(Collectors.toList())); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.route") + @SLog(type = "tour", tag = "线路管理", msg = "保存线路信息") + public Result doSubmit(ThirtyTeachTourLine line) { + Result checkResult = check(line); + if (checkResult != null) { + return checkResult; + } + + Cnd sameCodeCnd = Cnd.where(ThirtyTeachTourLine::getYear, "=", line.getYear()) + .and(ThirtyTeachTourLine::getLineCode, "=", line.getLineCode()); + if (StrUtil.isNotBlank(line.getId())) { + sameCodeCnd.and(ThirtyTeachTourLine::getId, "<>", line.getId()); + } + if (tourLineService.count(sameCodeCnd) > 0) { + return Result.error("同年度下线路编号已存在"); + } + if (line.getEnabled() == null) { + line.setEnabled(true); + } + if (line.getOpenFlag() == null) { + line.setOpenFlag(true); + } + if (line.getDirectFamilyUnitLine() == null) { + line.setDirectFamilyUnitLine(false); + } + if (StrUtil.isBlank(line.getId())) { + fillCreatorInfo(line, null); + tourLineService.insert(line); + } else { + fillCreatorInfo(line, tourLineService.fetch(line.getId())); + tourLineService.updateIgnoreNull(line); + } + return Result.success(); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.route") + @SLog(type = "tour", tag = "线路管理", msg = "删除线路信息") + public Result doDelete(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + tourLineService.delete(id); + return Result.success(); + } + + private Result check(ThirtyTeachTourLine line) { + if (line == null) { + return Result.error("参数错误"); + } + if (line.getYear() == null) { + return Result.error("创建年度不能为空"); + } + if (StrUtil.isBlank(line.getTravelAgencyId())) { + return Result.error("旅行社名称不能为空"); + } + if (StrUtil.isBlank(line.getLineName())) { + return Result.error("线路名称不能为空"); + } + if (StrUtil.isBlank(line.getLineCode())) { + return Result.error("线路编号不能为空"); + } + if (StrUtil.isBlank(line.getLineType())) { + return Result.error("线路类型不能为空"); + } + if (StrUtil.isBlank(line.getLotId())) { + return Result.error("时间标段不能为空"); + } + if (StrUtil.isBlank(line.getMobileThumb())) { + return Result.error("移动端缩略图不能为空"); + } + return null; + } + + /** + * 创建人和所在单位由当前登录人生成,编辑时保留原创建信息。 + */ + private void fillCreatorInfo(ThirtyTeachTourLine line, ThirtyTeachTourLine oldLine) { + if (oldLine != null) { + line.setCreatorUserId(defaultIfBlank(oldLine.getCreatorUserId(), SecurityUtil.getUserId())); + line.setCreatorName(defaultIfBlank(oldLine.getCreatorName(), SecurityUtil.getUserUsername())); + line.setUnitId(defaultIfBlank(oldLine.getUnitId(), SecurityUtil.getUnitId())); + line.setUnitName(defaultIfBlank(oldLine.getUnitName(), getCurrentUnitName())); + return; + } + line.setCreatorUserId(SecurityUtil.getUserId()); + line.setCreatorName(SecurityUtil.getUserUsername()); + line.setUnitId(SecurityUtil.getUnitId()); + line.setUnitName(getCurrentUnitName()); + } + + private String getCurrentUnitName() { + View_user user = tourLineService.dao().fetch(View_user.class, Cnd.where("id", "=", SecurityUtil.getUserId())); + return user == null ? "" : defaultIfBlank(user.getUnitName(), ""); + } + + private String defaultIfBlank(String value, String defaultValue) { + return StrUtil.isBlank(value) ? defaultValue : value; + } + + /** + * 线路数据范围: + * SYSADMIN 可查看全部;分工会主席查看本工会创建的线路;其它角色保持原逻辑,仅查看自己创建的线路。 + */ + private void applyDataScope(Cnd cnd, boolean sysAdmin, boolean branchUnionScope) { + if (sysAdmin) { + return; + } + if (branchUnionScope) { + SqlExpressionGroup unionGroup = new SqlExpressionGroup(); + unionGroup.or("lineUnit.unionId", "=", SecurityUtil.getUnionId()); + unionGroup.or("creatorUnit.unionId", "=", SecurityUtil.getUnionId()); + cnd.and(unionGroup); + return; + } + SqlExpressionGroup creatorGroup = new SqlExpressionGroup(); + creatorGroup.or("l.creatorUserId", "=", SecurityUtil.getUserId()); + creatorGroup.or("l.createdBy", "=", SecurityUtil.getUserId()); + cnd.and(creatorGroup); + } + + private String getOrderColumn(String orderName) { + if ("year".equals(orderName)) { + return "l.`year`"; + } + if ("lineCode".equals(orderName)) { + return "l.lineCode"; + } + if ("lotName".equals(orderName)) { + return "lot.lotName"; + } + if ("lineType".equals(orderName)) { + return "l.lineType"; + } + if ("enabled".equals(orderName)) { + return "l.enabled"; + } + return "l.`year`"; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourMatterController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourMatterController.java new file mode 100644 index 00000000..727b805f --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourMatterController.java @@ -0,0 +1,455 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.constant.RoleConstant; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.sys.models.Sys_dict; +import com.budwk.app.sys.models.Sys_union; +import com.budwk.app.sys.services.SysDictService; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedger; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourMatter; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourSetting; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourMatterService; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/matter") +public class ThirtyTeachTourMatterController { + + @Inject + private ThirtyTeachTourMatterService tourMatterService; + + @Inject + private SysDictService sysDictService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/matter/index.html") + @SaCheckPermission("thirtyTeachTour.matter") + public void index() { + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result pageData(PageForm pageForm, Integer year, String matterName, String unionId, String organizationType) { + Cnd cnd = Cnd.NEW(); + cnd.and("m.delFlag", "=", false); + cnd.andEX("m.`year`", "=", year); + cnd.and(Cnd.likeEX("m.matterName", matterName)); + cnd.andEX("m.unionId", "=", unionId); + cnd.andEX("m.organizationType", "=", organizationType); + applyMatterDataScope(cnd); + + Sql countSql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_matter m + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourMatterService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + m.*, + s.configName AS settingName, + u.name AS unionName, + d.name AS organizationTypeName, + l.lineName AS lineName, + l.lineType AS lineType, + l.directFamilyUnitLine AS directFamilyUnitLine + FROM thirty_teach_tour_matter m + LEFT JOIN thirty_teach_tour_setting s ON s.id = m.settingId + LEFT JOIN sys_union u ON u.id = m.unionId + LEFT JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_dict d ON d.`code` = m.organizationType + AND d.parentId = (SELECT id FROM sys_dict WHERE `code` = 'organizationType' LIMIT 1) + $condition + ORDER BY $orderColumn $orderBy, m.`year` DESC, m.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "descending".equals(pageForm.getPageOrderBy()) ? "desc" : "asc"); + listSql.setPager(tourMatterService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourMatterService.dao().execute(listSql); + + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, listSql.getList(NutMap.class)); + return Result.success(pagination); + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result detail(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(id); + return matter == null ? Result.error("事项不存在") : Result.success(matter); + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result settingOptions(Integer year) { + Cnd cnd = Cnd.where(ThirtyTeachTourSetting::getEnabled, "=", true); + cnd.andEX(ThirtyTeachTourSetting::getYear, "=", year); + cnd.desc(ThirtyTeachTourSetting::getCreatedAt); + cnd.desc(ThirtyTeachTourSetting::getUpdatedAt); + cnd.asc(ThirtyTeachTourSetting::getConfigName); + return Result.success(tourMatterService.dao().query(ThirtyTeachTourSetting.class, cnd)); + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result unionOptions() { + Cnd cnd = Cnd.NEW(); + cnd.asc("unionCode"); + cnd.asc("name"); + return Result.success(tourMatterService.dao().query(Sys_union.class, cnd)); + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result lineOptions(Integer year) { + Cnd cnd = Cnd.NEW(); + cnd.and("l.delFlag", "=", false); + cnd.and("l.enabled", "=", true); + cnd.and("l.openFlag", "=", true); + + Sql sql = Sqls.create(""" + SELECT + l.*, + lot.lotName AS lotName, + lot.lotValue AS lotValue, + lot.lotValue AS lotDays, + lot.activityCost AS activityCost + FROM thirty_teach_tour_line l + LEFT JOIN thirty_teach_tour_setting_lot lot ON lot.id = l.lotId + $condition + ORDER BY l.lineCode ASC, l.lineName ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourMatterService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result organizationTypeOptions() { + List list = sysDictService.getSubListByCode("organizationType"); + if (list == null) { + return Result.success(Collections.emptyList()); + } + return Result.success(list.stream().filter(item -> !item.isDisabled()).collect(Collectors.toList())); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.matter") + @SLog(type = "tour", tag = "疗休养事项", msg = "保存疗休养事项") + public Result doSubmit(ThirtyTeachTourMatter matter) { + Result checkResult = check(matter); + if (checkResult != null) { + return checkResult; + } + + Cnd sameNameCnd = Cnd.where(ThirtyTeachTourMatter::getYear, "=", matter.getYear()) + .and(ThirtyTeachTourMatter::getMatterName, "=", matter.getMatterName()); + if (StrUtil.isNotBlank(matter.getId())) { + sameNameCnd.and(ThirtyTeachTourMatter::getId, "<>", matter.getId()); + } + if (tourMatterService.count(sameNameCnd) > 0) { + return Result.error("同年度下事项名称已存在"); + } + if (matter.getEnabled() == null) { + matter.setEnabled(true); + } + fillCreatorAndUnion(matter); + if (StrUtil.isBlank(matter.getId())) { + tourMatterService.insert(matter); + } else { + tourMatterService.updateIgnoreNull(matter); + } + return Result.success(); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.matter") + @SLog(type = "tour", tag = "疗休养事项", msg = "删除疗休养事项") + public Result doDelete(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(id); + if (matter == null) { + return Result.error("事项不存在"); + } + long signupCount = countSignup(id); + if (signupCount > 0) { + return Result.error("当前事项对应线路已有人员报名,不能删除"); + } + tourMatterService.delete(id); + return Result.success(); + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result deleteInfo(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(id); + if (matter == null) { + return Result.error("事项不存在"); + } + long signupCount = countSignup(id); + return Result.success(NutMap.NEW() + .addv("signupCount", signupCount) + .addv("canDelete", signupCount <= 0) + .addv("message", signupCount > 0 ? "当前事项已有人员报名,不能删除" : "当前事项暂无人员报名,可删除")); + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result lineConfig(String matterId) { + if (StrUtil.isBlank(matterId)) { + return Result.error("参数错误"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(matterId); + return matter == null ? Result.error("事项不存在") : Result.success(matter); + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result settingPeople(String matterId) { + if (StrUtil.isBlank(matterId)) { + return Result.error("参数错误"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(matterId); + if (matter == null || StrUtil.isBlank(matter.getSettingId())) { + return Result.success(NutMap.NEW()); + } + ThirtyTeachTourSetting setting = tourMatterService.dao().fetch(ThirtyTeachTourSetting.class, matter.getSettingId()); + if (setting == null) { + return Result.success(NutMap.NEW()); + } + return Result.success(NutMap.NEW() + .addv("minGroupPeople", setting.getMinGroupPeople()) + .addv("maxGroupPeople", setting.getMaxGroupPeople())); + } + + @At + @SaCheckPermission("thirtyTeachTour.matter") + public Result settingBoardingPlaces(String settingId) { + if (StrUtil.isBlank(settingId)) { + return Result.error("参数错误"); + } + ThirtyTeachTourSetting setting = tourMatterService.dao().fetch(ThirtyTeachTourSetting.class, settingId); + if (setting == null) { + return Result.error("疗休养配置不存在"); + } + return Result.success(NutMap.NEW().addv("boardingPlace", StrUtil.blankToDefault(setting.getBoardingPlace(), "[]"))); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.matter") + @SLog(type = "tour", tag = "疗休养事项", msg = "保存事项线路配置") + public Result lineConfigDoSubmit(ThirtyTeachTourMatter matter) { + Result checkResult = checkLineConfig(matter); + if (checkResult != null) { + return checkResult; + } + ThirtyTeachTourMatter oldMatter = tourMatterService.fetch(matter.getId()); + if (oldMatter == null) { + return Result.error("事项不存在"); + } + oldMatter.setLineId(matter.getLineId()); + // 默认乘车地点来自疗休养配置中的乘车地点列表,后续代报名和自主报名会优先带出该值。 + oldMatter.setDefaultBoardingPlace(matter.getDefaultBoardingPlace()); + oldMatter.setSignupStartTime(matter.getSignupStartTime()); + oldMatter.setSignupEndTime(matter.getSignupEndTime()); + oldMatter.setTravelStartTime(matter.getTravelStartTime()); + oldMatter.setTravelEndTime(matter.getTravelEndTime()); + oldMatter.setContactName(matter.getContactName()); + oldMatter.setContactPhone(matter.getContactPhone()); + oldMatter.setMinGroupPeople(matter.getMinGroupPeople()); + oldMatter.setMaxGroupPeople(matter.getMaxGroupPeople()); + oldMatter.setEstimatedCost(matter.getEstimatedCost()); + tourMatterService.update(oldMatter); + return Result.success(); + } + + private Result check(ThirtyTeachTourMatter matter) { + if (matter == null) { + return Result.error("参数错误"); + } + if (matter.getYear() == null) { + return Result.error("年度不能为空"); + } + if (StrUtil.isBlank(matter.getMatterName())) { + return Result.error("事项名称不能为空"); + } + if (StrUtil.isBlank(matter.getSettingId())) { + return Result.error("疗休养配置不能为空"); + } + if (StrUtil.isBlank(matter.getOrganizationType())) { + return Result.error("组织形式不能为空"); + } + if (!"schoolUnion".equals(matter.getOrganizationType()) && StrUtil.isBlank(matter.getUnionId())) { + return Result.error("所属工会不能为空"); + } + return null; + } + + private Result checkLineConfig(ThirtyTeachTourMatter matter) { + if (matter == null) { + return Result.error("参数错误"); + } + if (StrUtil.isBlank(matter.getId())) { + return Result.error("事项不能为空"); + } + if (StrUtil.isBlank(matter.getLineId())) { + return Result.error("线路不能为空"); + } + if (StrUtil.isBlank(matter.getSignupStartTime()) || StrUtil.isBlank(matter.getSignupEndTime()) + || StrUtil.isBlank(matter.getTravelStartTime()) || StrUtil.isBlank(matter.getTravelEndTime())) { + return Result.error("时间不能为空"); + } + if (matter.getSignupStartTime().compareTo(matter.getSignupEndTime()) >= 0) { + return Result.error("报名开始时间必须小于报名结束时间"); + } + if (matter.getTravelStartTime().compareTo(matter.getTravelEndTime()) > 0) { + return Result.error("出行开始时间不能晚于出行结束时间"); + } + if (matter.getSignupEndTime().compareTo(matter.getTravelStartTime()) >= 0) { + return Result.error("报名结束时间必须小于出行开始时间"); + } + if (StrUtil.isBlank(matter.getContactName())) { + return Result.error("联系人不能为空"); + } + // 线路联系人电话允许填写座机、分机或其他联系说明,后端只保留必填校验。 + if (StrUtil.isBlank(matter.getContactPhone())) { + return Result.error("联系方式不能为空"); + } + if (matter.getMinGroupPeople() == null || matter.getMinGroupPeople() <= 0) { + return Result.error("最少成团人数必须大于0"); + } + if (matter.getMaxGroupPeople() == null || matter.getMaxGroupPeople() <= 0) { + return Result.error("最多成团人数必须大于0"); + } + if (matter.getMinGroupPeople() > matter.getMaxGroupPeople()) { + return Result.error("最少成团人数不能大于最多成团人数"); + } + if (matter.getEstimatedCost() == null || matter.getEstimatedCost().signum() < 0) { + return Result.error("预计费用不能小于0"); + } + return null; + } + + private void fillCreatorAndUnion(ThirtyTeachTourMatter matter) { + if (StrUtil.isBlank(matter.getId())) { + matter.setCreatorUserId(SecurityUtil.getUserId()); + matter.setCreatorName(SecurityUtil.getUserUsername()); + } else { + ThirtyTeachTourMatter oldMatter = tourMatterService.fetch(matter.getId()); + if (oldMatter != null) { + matter.setCreatorUserId(oldMatter.getCreatorUserId()); + matter.setCreatorName(oldMatter.getCreatorName()); + } + } + if ("schoolUnion".equals(matter.getOrganizationType())) { + matter.setUnionId(""); + } + } + + private long countSignup(String matterId) { + return tourMatterService.dao().count(ThirtyTeachTourLedger.class, Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getMatterId, "=", matterId)); + } + + /** + * 事项数据范围:SYSADMIN 查看全部;分工会主席查看本工会事项;其它角色仅查看自己创建的事项。 + */ + private void applyMatterDataScope(Cnd cnd) { + if (AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) { + return; + } + if (AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name())) { + cnd.and("m.unionId", "=", SecurityUtil.getUnionId()); + return; + } + SqlExpressionGroup creatorGroup = new SqlExpressionGroup(); + creatorGroup.or("m.creatorUserId", "=", SecurityUtil.getUserId()); + creatorGroup.or("m.createdBy", "=", SecurityUtil.getUserId()); + cnd.and(creatorGroup); + } + + /** + * 事项批次选择线路时沿用线路管理的数据范围,避免在事项页面选到权限外线路。 + */ + private void applyLineDataScope(Cnd cnd, boolean sysAdmin, boolean branchUnionScope) { + if (sysAdmin) { + return; + } + if (branchUnionScope) { + SqlExpressionGroup unionGroup = new SqlExpressionGroup(); + unionGroup.or("lineUnit.unionId", "=", SecurityUtil.getUnionId()); + unionGroup.or("creatorUnit.unionId", "=", SecurityUtil.getUnionId()); + cnd.and(unionGroup); + return; + } + SqlExpressionGroup creatorGroup = new SqlExpressionGroup(); + creatorGroup.or("l.creatorUserId", "=", SecurityUtil.getUserId()); + creatorGroup.or("l.createdBy", "=", SecurityUtil.getUserId()); + cnd.and(creatorGroup); + } + + private String getOrderColumn(String orderName) { + if ("year".equals(orderName)) { + return "m.`year`"; + } + if ("matterName".equals(orderName)) { + return "m.matterName"; + } + if ("unionName".equals(orderName)) { + return "u.name"; + } + if ("lineName".equals(orderName)) { + return "l.lineName"; + } + if ("settingName".equals(orderName)) { + return "s.configName"; + } + if ("organizationTypeName".equals(orderName)) { + return "d.location"; + } + if ("enabled".equals(orderName)) { + return "m.enabled"; + } + return "m.`year`"; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourMySignupController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourMySignupController.java new file mode 100644 index 00000000..5b50e85f --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourMySignupController.java @@ -0,0 +1,2080 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaMode; +import cn.hutool.core.lang.Dict; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.flow.constant.FlowConst; +import com.budwk.app.flow.engine.FlowEngine; +import com.budwk.app.flow.entity.ProcessInstance; +import com.budwk.app.flow.entity.ProcessTask; +import com.budwk.app.flow.enums.ProcessInstanceStateEnum; +import com.budwk.app.flow.enums.ProcessSubmitTypeEnum; +import com.budwk.app.flow.enums.ProcessTaskStateEnum; +import com.budwk.app.sys.views.View_user; +import com.budwk.app.sys.models.Sys_dict; +import com.budwk.app.sys.services.SysDictService; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedger; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerDirectRelative; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerFamily; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLine; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourMatter; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourSetting; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourUserAssignment; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerDirectRelativeService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerFamilyService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourMatterService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourUserAssignmentService; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.json.Json; +import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDPageContentStream; +import org.apache.pdfbox.pdmodel.common.PDRectangle; +import org.apache.pdfbox.pdmodel.font.PDType0Font; + +import javax.servlet.http.HttpServletResponse; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/mysignup") +public class ThirtyTeachTourMySignupController { + + private static final String DIRECT_FAMILY_WORKFLOW_KEY = "LXYBZXQSXL"; + + @Inject + private ThirtyTeachTourLedgerService tourLedgerService; + + @Inject + private ThirtyTeachTourLedgerFamilyService tourLedgerFamilyService; + + @Inject + private ThirtyTeachTourLedgerDirectRelativeService tourLedgerDirectRelativeService; + + @Inject + private ThirtyTeachTourMatterService tourMatterService; + + @Inject + private ThirtyTeachTourUserAssignmentService tourUserAssignmentService; + + @Inject + private SysDictService sysDictService; + + @Inject + private ActivityBasicScopeService activityBasicScopeService; + + @Inject + private FlowEngine flowEngine; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/mysignup/index.html") + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public void index() { + } + + @At("/h5") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/mysignup/index.html") + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public void h5() { + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result pageData(PageForm pageForm, Integer startYear, Integer endYear, String lineName) { + Cnd cnd = buildQueryCnd(startYear, endYear, lineName); + + Sql countSql = Sqls.create(""" + SELECT COUNT(DISTINCT t.id) + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN wf_process_task task ON task.processInstanceId = ins.id AND task.taskState = 10 + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + t.*, + ins.id AS instanceId, + ins.businessNo, + ins.state AS instanceState, + ins.variable AS instanceVariable, + ins.processDefineId AS instanceProcessDefineId, + task.id AS taskId, + task.taskName AS taskKey, + task.displayName AS taskName, + task.taskType, + task.performType AS taskPerformType, + task.taskState, + task.finishTime, + task.taskParentId, + task.variable AS taskVariable, + IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = task.taskParentId) = 'startTask', 1, 0) AS canRevoke, + (SELECT MAX(id) FROM wf_process_task WHERE processInstanceId = ins.id AND taskName = 'startTask' AND taskState IN (10, 20)) AS startTaskId, + IF(IFNULL(l.directFamilyUnitLine, 0) = 1 OR dr.id IS NOT NULL, 1, 0) AS directFamilyUnitLine, + dr.id AS directRelativeId, + COALESCE(NULLIF(t.idCard, ''), NULLIF(vu.idCard, ''), '') AS currentIdCard, + COALESCE(NULLIF(t.mobile, ''), NULLIF(vu.mobile, ''), '') AS currentMobile, + IFNULL(GROUP_CONCAT(DISTINCT task.displayName), IF(ins.id IS NULL, '', '结束')) AS curTaskName, + IFNULL(f.familyCount, 0) AS familyCount, + a.id AS assignmentId, + IFNULL(a.cancelled, 0) AS assignmentCancelled, + m.signupEndTime AS actionSignupEndTime, + m.travelStartTime AS actionTravelStartTime, + COALESCE(m.travelEndTime, tp.travelEndTime) AS travelEndTime, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE tp.travelPeriod + END AS travelPeriod + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN wf_process_task task ON task.processInstanceId = ins.id AND task.taskState = 10 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN thirty_teach_tour_ledger_direct_relative dr ON dr.ledgerId = t.id AND dr.delFlag = 0 + LEFT JOIN vw_user vu ON vu.loginname = t.jobNo + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_user_assignment a ON a.matterId = t.matterId + AND a.userId = @currentUserId + AND a.loginName = t.jobNo + AND a.delFlag = 0 + LEFT JOIN ( + SELECT + `year`, + lineId, + GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod, + MAX(travelEndTime) AS travelEndTime + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND lineId IS NOT NULL + AND lineId <> '' + GROUP BY `year`, lineId + ) tp ON (t.matterId IS NULL OR t.matterId = '') AND tp.`year` = t.`year` AND tp.lineId = t.lineId + $condition + GROUP BY t.id + ORDER BY $orderColumn $orderBy, t.`year` DESC, t.signupTime DESC, t.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setParam("currentUserId", SecurityUtil.getUserId()); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "descending".equals(pageForm.getPageOrderBy()) ? "desc" : "asc"); + listSql.setPager(tourLedgerService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(listSql); + + List list = listSql.getList(NutMap.class); + list.forEach(item -> { + item.put("idCard", item.getString("currentIdCard")); + item.put("mobile", item.getString("currentMobile")); + }); + appendMySignupActionFlags(list); + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, list); + return Result.success(pagination); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result detail(String id) { + ThirtyTeachTourLedger ledger = fetchOwnLedger(id); + if (ledger == null) { + return Result.error("报名记录不存在"); + } + fillLedgerContactFallback(ledger); + Cnd familyCnd = Cnd.where(ThirtyTeachTourLedgerFamily::getDelFlag, "=", false) + .and(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId()); + familyCnd.asc(ThirtyTeachTourLedgerFamily::getCreatedAt); + ThirtyTeachTourLedgerDirectRelative directRelative = tourLedgerDirectRelativeService.fetch( + Cnd.where(ThirtyTeachTourLedgerDirectRelative::getDelFlag, "=", false) + .and(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + NutMap signupConfig = getSignupConfig(ledger); + return Result.success(NutMap.NEW() + .addv("ledger", ledger) + .addv("travelPeriod", getTravelPeriod(ledger)) + .addv("families", tourLedgerFamilyService.query(familyCnd)) + .addv("directRelative", directRelative) + .addv("allowFamily", signupConfig.getBoolean("allowFamily", false)) + .addv("fillBedInfo", signupConfig.getBoolean("fillBedInfo", true)) + .addv("directFamilyUnitLine", signupConfig.getBoolean("directFamilyUnitLine", false))); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result exportInfo(String id) { + NutMap exportInfo = buildExportInfo(id); + if (exportInfo == null) { + return Result.error("报名记录不存在"); + } + return Result.success(exportInfo); + } + + @At + @Ok("void") + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public void exportPdf(String id, HttpServletResponse response) { + NutMap exportInfo = buildExportInfo(id); + if (exportInfo == null) { + throw new IllegalArgumentException("报名记录不存在"); + } + byte[] pdfBytes = buildExportPdf(exportInfo); + String fileName = exportInfo.getString("userName", "申请人") + "-5天外超出部分疗休养费用由单位承担申请书.pdf"; + CommonDownloadUtil.download(fileName, pdfBytes, response); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result directRelativeExportInfo(String id) { + NutMap exportInfo = buildDirectRelativeExportInfo(id); + if (exportInfo == null) { + return Result.error("直系亲属线路报名记录不存在"); + } + return Result.success(exportInfo); + } + + @At + @Ok("void") + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public void directRelativeExportPdf(String id, HttpServletResponse response) { + NutMap exportInfo = buildDirectRelativeExportInfo(id); + if (exportInfo == null) { + throw new IllegalArgumentException("直系亲属线路报名记录不存在"); + } + byte[] pdfBytes = buildDirectRelativeExportPdf(exportInfo); + String fileName = exportInfo.getString("userName", "申请人") + "-直系亲属单位疗休养报销申请书.pdf"; + CommonDownloadUtil.download(fileName, pdfBytes, response); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result signupDetail(String id) { + ThirtyTeachTourLedger ledger = fetchOwnLedger(id); + if (ledger == null) { + return Result.error("报名记录不存在"); + } + fillLedgerContactFallback(ledger); + if (StrUtil.isBlank(ledger.getMatterId())) { + return Result.error("历史报名记录缺少事项信息,不能修改"); + } + Sql sql = Sqls.create(""" + SELECT + m.id AS matterId, + m.`year`, + m.matterName, + m.unionId AS matterUnionId, + m.defaultBoardingPlace, + m.signupEndTime, + m.travelStartTime, + m.travelEndTime, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod, + l.id AS lineId, + l.lineName, + l.lineType, + l.directFamilyUnitLine, + l.travelAgencyId, + a.agencyName AS travelAgencyName, + IFNULL(lot.allowOverReimbursement, 0) AS allowOverReimbursement, + s.allowFamily, + IFNULL(s.fillBedInfo, 1) AS fillBedInfo, + s.boardingPlace AS boardingPlaceOptions + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN thirty_teach_tour_travel_agency a ON a.id = l.travelAgencyId + LEFT JOIN thirty_teach_tour_setting_lot lot ON lot.id = l.lotId + LEFT JOIN thirty_teach_tour_setting s ON s.id = m.settingId + WHERE m.delFlag = 0 + AND m.enabled = 1 + AND m.id = @matterId + """); + sql.setParam("matterId", ledger.getMatterId()); + sql.setCallback(Sqls.callback.map()); + tourMatterService.dao().execute(sql); + NutMap matter = sql.getObject(NutMap.class); + if (matter == null || matter.isEmpty()) { + return Result.error("报名事项不存在或已停用"); + } + if (isTravelEnded(matter.getString("travelEndTime"))) { + return Result.error("线路出行已结束,不能修改"); + } + // 修改弹窗内的取消按钮也由后端返回的报名截止状态控制,避免报名结束后仍可操作。 + matter.put("canCancelSignup", isWithinSignupCancelTime(matter.getString("signupEndTime", ""), LocalDateTime.now())); + Cnd familyCnd = Cnd.where(ThirtyTeachTourLedgerFamily::getDelFlag, "=", false) + .and(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId()); + familyCnd.asc(ThirtyTeachTourLedgerFamily::getCreatedAt); + ThirtyTeachTourLedgerDirectRelative directRelative = tourLedgerDirectRelativeService.fetch(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getDelFlag, "=", false) + .and(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + return Result.success(NutMap.NEW() + .addv("matter", matter) + .addv("ledger", ledger) + .addv("families", tourLedgerFamilyService.query(familyCnd)) + .addv("directRelative", directRelative)); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result directRelativeOptions() { + List list = sysDictService.getSubListByCode("directRelative"); + if (list == null) { + return Result.success(Collections.emptyList()); + } + return Result.success(list.stream().filter(item -> !item.isDisabled()).collect(Collectors.toList())); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result outProvinceQuotaNotice(String matterId) { + if (StrUtil.isBlank(matterId)) { + return Result.error("参数错误"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(matterId); + if (matter == null || Boolean.TRUE.equals(matter.getDelFlag()) || !Boolean.TRUE.equals(matter.getEnabled())) { + return Result.error("报名出行时段不存在或已停用"); + } + ThirtyTeachTourLine line = tourLedgerService.dao().fetch(ThirtyTeachTourLine.class, matter.getLineId()); + if (line == null || Boolean.TRUE.equals(line.getDelFlag()) || !Boolean.TRUE.equals(line.getEnabled())) { + return Result.error("报名线路不存在或已停用"); + } + if (!isOutProvinceLine(line.getLineType())) { + return Result.success(NutMap.NEW().addv("canApply", true).addv("noticeRequired", false)); + } + ThirtyTeachTourSetting setting = tourLedgerService.dao().fetch(ThirtyTeachTourSetting.class, matter.getSettingId()); + if (setting == null || Boolean.TRUE.equals(setting.getDelFlag()) || !Boolean.TRUE.equals(setting.getEnabled())) { + return Result.error("报名事项配置不存在或已停用"); + } + Integer activityGroupId = parseInteger(setting.getActivityGroupId()); + if (activityGroupId == null || !activityBasicScopeService.isUserInGroup(activityGroupId, SecurityUtil.getUserId())) { + return Result.error("您不在本次疗休养报名范围内"); + } + ThirtyTeachTourLedger oldLedger = fetchCurrentUserMatterLedger(matter.getId()); + OutProvinceQuota quota = calculateOutProvinceQuota(matter, setting, oldLedger); + return Result.success(NutMap.NEW() + .addv("noticeRequired", true) + .addv("canApply", quota.canApply()) + .addv("ratioType", quota.ratioType()) + .addv("basePeople", quota.basePeople()) + .addv("totalSignupPeople", quota.totalSignupPeople()) + .addv("outProvinceSignupPeople", quota.outProvinceSignupPeople()) + .addv("allowPeople", quota.allowPeople()) + .addv("message", buildOutProvinceQuotaNotice(quota))); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result bedTypeOptions() { + List list = sysDictService.getSubListByCode("bedType"); + if (list == null) { + return Result.success(Collections.emptyList()); + } + return Result.success(list.stream().filter(item -> !item.isDisabled()).collect(Collectors.toList())); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result familyRelationshipOptions() { + Sql sql = Sqls.create(""" + SELECT d.* + FROM sys_dict p + INNER JOIN sys_dict d ON d.path LIKE CONCAT(p.path, '%') + WHERE p.code = 'familyRelationship' + AND d.id <> p.id + AND d.disabled = 0 + AND d.hasChildren = 0 + ORDER BY d.path ASC, d.location ASC + """); + sql.setCallback(Sqls.callback.entities()); + sql.setEntity(tourLedgerService.dao().getEntity(Sys_dict.class)); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(Sys_dict.class)); + } + + /** + * 我的报名修改接口,PC 和 H5 共用。 + * 修改成功后更新疗休养台账,并回填当前用户已存在的人员分配记录事项快照。 + * + * @param ledger 报名台账主信息 + * @param families 家属信息 JSON 数组 + * @param directRelative 直系亲属线路报名信息 JSON + * @return 修改结果;直系亲属线路、超额报销等场景会返回待审核提示 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result doSignup(ThirtyTeachTourLedger ledger, @Param("families") String families, @Param("directRelative") String directRelative) { + Result checkResult = checkSignup(ledger); + if (checkResult != null) { + return checkResult; + } + if (StrUtil.isBlank(ledger.getId())) { + return Result.error("报名记录不存在"); + } + ThirtyTeachTourLedger oldLedger = fetchOwnLedger(ledger.getId()); + if (oldLedger == null) { + return Result.error("报名记录不存在"); + } + List familyList = parseFamilies(families); + Result familyResult = checkFamilies(familyList); + if (familyResult != null) { + return familyResult; + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(ledger.getMatterId()); + Result ruleResult = checkSignupRule(ledger, matter, oldLedger); + if (ruleResult != null) { + return ruleResult; + } + Result maxPeopleResult = checkMaxGroupPeople(matter, oldLedger, familyList); + if (maxPeopleResult != null) { + return maxPeopleResult; + } + ThirtyTeachTourLine line = tourLedgerService.dao().fetch(ThirtyTeachTourLine.class, matter.getLineId()); + boolean directFamilyLine = line != null && Boolean.TRUE.equals(line.getDirectFamilyUnitLine()); + ThirtyTeachTourSetting setting = tourLedgerService.dao().fetch(ThirtyTeachTourSetting.class, matter.getSettingId()); + Result boardingPlaceResult = normalizeBoardingPlace(ledger, matter, setting); + if (boardingPlaceResult != null) { + return boardingPlaceResult; + } + if (setting != null && Boolean.FALSE.equals(setting.getFillBedInfo())) { + clearBedInfo(ledger, familyList); + } + if (!allowOverCostReimbursement(line)) { + ledger.setOverCostReimbursed(false); + } + ledger.setOverCostReimbursed(Boolean.TRUE.equals(ledger.getOverCostReimbursed())); + boolean approvalRequired = directFamilyLine || Boolean.TRUE.equals(ledger.getOverCostReimbursed()); + ThirtyTeachTourLedgerDirectRelative directRelativeInfo = parseDirectRelative(directRelative); + Result directRelativeResult = checkDirectRelative(directFamilyLine, directRelativeInfo); + if (directRelativeResult != null) { + return directRelativeResult; + } + if (approvalRequired) { + Result workflowCheckResult = checkSignupApprovalWorkflowCanSubmit(ledger.getId()); + if (workflowCheckResult != null) { + return workflowCheckResult; + } + } + + ledger.setYear(matter.getYear()); + ledger.setHasFamily(Lang.isNotEmpty(familyList)); + ledger.setJoined(oldLedger.getJoined()); + ledger.setReimbursed(oldLedger.getReimbursed()); + ledger.setSignupTime(defaultIfBlank(oldLedger.getSignupTime(), ledger.getSignupTime())); + fillStaffInfo(ledger); + + tourLedgerService.updateIgnoreNull(ledger); + // 报名台账更新后,仅回填已存在的人员分配记录事项信息,不新增记录、不改变分配来源。 + tourUserAssignmentService.backfillExistingAssignmentAfterSignup(matter.getSettingId(), matter.getId(), SecurityUtil.getUserId(), ledger.getBoardingPlace()); + tourLedgerFamilyService.clear(Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId())); + tourLedgerDirectRelativeService.clear(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + if (Lang.isNotEmpty(familyList)) { + familyList.forEach(item -> { + item.setLedgerId(ledger.getId()); + item.setStaffJobNo(ledger.getJobNo()); + item.setStaffName(ledger.getUserName()); + }); + tourLedgerFamilyService.insert(familyList); + } + if (directFamilyLine) { + directRelativeInfo.setId(null); + directRelativeInfo.setLedgerId(ledger.getId()); + directRelativeInfo.setLineId(line.getId()); + tourLedgerDirectRelativeService.insert(directRelativeInfo); + } + if (approvalRequired) { + Result workflowResult = startOrContinueSignupApprovalWorkflow(ledger, directFamilyLine ? directRelativeInfo : null, matter, line); + if (workflowResult != null) { + return workflowResult; + } + } + return Result.success().addMsg(approvalRequired ? "修改已提交,等待审核" : "修改成功"); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result doCancelSignup(String ledgerId, String matterId) { + ThirtyTeachTourLedger ledger = fetchOwnLedger(ledgerId); + if (ledger == null && StrUtil.isNotBlank(matterId)) { + Cnd cnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getMatterId, "=", matterId) + .and(ThirtyTeachTourLedger::getJobNo, "=", currentJobNo()); + cnd.desc(ThirtyTeachTourLedger::getCreatedAt); + ledger = tourLedgerService.fetch(cnd); + } + if (ledger == null) { + return Result.error("报名记录不存在"); + } + ThirtyTeachTourMatter matter = StrUtil.isBlank(ledger.getMatterId()) ? null : tourMatterService.fetch(ledger.getMatterId()); + if (!isWithinSignupCancelTime(matter)) { + return Result.error("报名已结束,不能取消报名"); + } + tourLedgerFamilyService.clear(Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId())); + tourLedgerDirectRelativeService.clear(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + tourLedgerService.clear(Cnd.where(ThirtyTeachTourLedger::getId, "=", ledger.getId())); + clearAssignmentMatterAfterCancel(ledger); + return Result.success().addMsg("取消报名成功"); + } + + /** + * 移动端我的疗休养退出报名入口。 + * 仅允许当前登录人操作自己的人员分配记录,具体退出截止天数和台账清理逻辑复用 service 层。 + * + * @param assignmentId 人员分配记录ID + * @return 退出结果 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result doLeaveThirtyTeachTour(String assignmentId) { + ThirtyTeachTourUserAssignment assignment = fetchOwnAssignment(assignmentId); + if (assignment == null) { + return Result.error("人员分配记录不存在或无权操作"); + } + try { + tourUserAssignmentService.cancelAssignment(assignment.getId()); + return Result.success().addMsg("退出疗休养报名成功"); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + @SLog(type = "tour", tag = "我的疗休养报名", msg = "删除我的疗休养报名") + public Result doDelete(String id) { + ThirtyTeachTourLedger ledger = fetchOwnLedger(id); + if (ledger == null) { + return Result.error("报名记录不存在"); + } + tourLedgerFamilyService.clear(Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId())); + tourLedgerDirectRelativeService.clear(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + tourLedgerService.clear(Cnd.where(ThirtyTeachTourLedger::getId, "=", ledger.getId())); + clearAssignmentMatterAfterCancel(ledger); + return Result.success().addMsg("取消报名成功"); + } + + private void clearAssignmentMatterAfterCancel(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getMatterId())) { + return; + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(ledger.getMatterId()); + if (matter == null || StrUtil.isBlank(matter.getSettingId())) { + return; + } + tourUserAssignmentService.clearExistingAssignmentMatterAfterCancel(matter.getSettingId(), SecurityUtil.getUserId()); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.mysignup", "h5.thirtyTeachTour.mysignup"}, mode = SaMode.OR) + public Result lineOptions(Integer startYear, Integer endYear) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.and("t.jobNo", "=", currentJobNo()); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear); + cnd.and("t.lineName", "IS NOT", null); + cnd.and("t.lineName", "<>", ""); + + Sql sql = Sqls.create(""" + SELECT DISTINCT t.lineName + FROM thirty_teach_tour_ledger t + $condition + ORDER BY t.lineName ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + private Cnd buildQueryCnd(Integer startYear, Integer endYear, String lineName) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.and("t.jobNo", "=", currentJobNo()); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear); + cnd.andEX("t.lineName", "=", lineName); + return cnd; + } + + private ThirtyTeachTourLedger fetchOwnLedger(String id) { + if (StrUtil.isBlank(id)) { + return null; + } + return tourLedgerService.fetch(Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getId, "=", id) + .and(ThirtyTeachTourLedger::getJobNo, "=", currentJobNo())); + } + + /** + * 查询当前登录人的人员分配记录,避免移动端传入他人分配ID进行退出。 + */ + private ThirtyTeachTourUserAssignment fetchOwnAssignment(String assignmentId) { + if (StrUtil.isBlank(assignmentId)) { + return null; + } + return tourUserAssignmentService.fetch(Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", assignmentId) + .and(ThirtyTeachTourUserAssignment::getUserId, "=", SecurityUtil.getUserId()) + .and(ThirtyTeachTourUserAssignment::getLoginName, "=", currentJobNo()) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + } + + /** + * 给移动端我的疗休养列表追加操作按钮显示标识,退出截止时间与 service 层最终校验保持一致。 + */ + private void appendMySignupActionFlags(List list) { + if (Lang.isEmpty(list)) { + return; + } + int cancelDeadlineDays = tourUserAssignmentService.getCancelDeadlineDays(); + LocalDateTime now = LocalDateTime.now(); + for (NutMap item : list) { + boolean assignmentCancelled = item.getBoolean("assignmentCancelled", false); + String assignmentId = item.getString("assignmentId", ""); + item.put("cancelDeadlineDays", cancelDeadlineDays); + item.put("canLeaveThirtyTeachTour", StrUtil.isNotBlank(assignmentId) + && !assignmentCancelled + && isWithinLeaveTimeRange(item.getString("actionSignupEndTime", ""), item.getString("actionTravelStartTime", ""), cancelDeadlineDays, now)); + item.put("canCancelSignup", isWithinSignupCancelTime(item.getString("actionSignupEndTime", ""), now)); + } + } + + /** + * 判断当前报名是否还处于允许取消的报名截止时间内,报名结束后不再显示或执行取消报名。 + */ + private boolean isWithinSignupCancelTime(ThirtyTeachTourMatter matter) { + if (matter == null) { + return false; + } + return isWithinSignupCancelTime(matter.getSignupEndTime(), LocalDateTime.now()); + } + + /** + * 报名结束时间为空时不允许取消;当前时间小于等于报名结束时间才允许取消。 + */ + private boolean isWithinSignupCancelTime(String signupEndTime, LocalDateTime now) { + try { + String normalizedSignupEnd = normalizeDateTime(signupEndTime, true); + if (StrUtil.isBlank(normalizedSignupEnd)) { + return false; + } + LocalDateTime endTime = LocalDateTime.parse(normalizedSignupEnd, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + return !now.isAfter(endTime); + } catch (Exception e) { + return false; + } + } + + /** + * 判断当前时间是否处于“报名截止时间 < 当前时间 < 出行开始前N天”的可退出范围内。 + */ + private boolean isWithinLeaveTimeRange(String signupEndTime, String travelStartTime, int cancelDeadlineDays, LocalDateTime now) { + try { + String normalizedSignupEnd = normalizeDateTime(signupEndTime, true); + String normalizedTravelStart = normalizeDateTime(travelStartTime, false); + if (StrUtil.isBlank(normalizedSignupEnd) || StrUtil.isBlank(normalizedTravelStart)) { + return false; + } + LocalDateTime signupEnd = LocalDateTime.parse(normalizedSignupEnd, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + LocalDateTime startTime = LocalDateTime.parse(normalizedTravelStart, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + LocalDateTime deadline = startTime.minusDays(cancelDeadlineDays); + return now.isAfter(signupEnd) && now.isBefore(deadline); + } catch (Exception e) { + return false; + } + } + + private Result checkSignup(ThirtyTeachTourLedger ledger) { + if (ledger == null) { + return Result.error("参数错误"); + } + if (ledger.getYear() == null) { + return Result.error("年度不能为空"); + } + if (StrUtil.isBlank(ledger.getLineId())) { + return Result.error("报名线路不能为空"); + } + if (StrUtil.isBlank(ledger.getMatterId())) { + return Result.error("报名出行时段不能为空"); + } + if (StrUtil.isBlank(ledger.getLineName())) { + return Result.error("报名线路不能为空"); + } + return null; + } + + /** + * 修改报名时重新校验乘车地点,确保提交值仍来自当前疗休养配置的乘车地点列表。 + */ + private Result normalizeBoardingPlace(ThirtyTeachTourLedger ledger, ThirtyTeachTourMatter matter, ThirtyTeachTourSetting setting) { + if (ledger == null || setting == null) { + return null; + } + List options = parseBoardingPlaceOptions(setting.getBoardingPlace()); + if (Lang.isEmpty(options)) { + ledger.setBoardingPlace(""); + return null; + } + String boardingPlace = StrUtil.blankToDefault(ledger.getBoardingPlace(), matter == null ? "" : matter.getDefaultBoardingPlace()); + if (StrUtil.isBlank(boardingPlace)) { + return Result.error("请选择乘车地点"); + } + if (!options.contains(boardingPlace)) { + return Result.error("乘车地点不在当前疗休养配置范围内"); + } + ledger.setBoardingPlace(boardingPlace); + return null; + } + + private List parseBoardingPlaceOptions(String value) { + if (StrUtil.isBlank(value)) { + return Collections.emptyList(); + } + try { + List list = Json.fromJson(List.class, value); + if (Lang.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream().map(item -> { + if (item instanceof String) { + return ((String) item).trim(); + } + if (item instanceof java.util.Map) { + Object name = ((java.util.Map) item).get("name"); + return name == null ? "" : String.valueOf(name).trim(); + } + return ""; + }) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + } catch (Exception e) { + return java.util.Arrays.stream(value.split(",")) + .map(String::trim) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + } + } + + private Result checkSignupRule(ThirtyTeachTourLedger ledger, ThirtyTeachTourMatter matter, ThirtyTeachTourLedger oldLedger) { + if (matter == null || Boolean.TRUE.equals(matter.getDelFlag()) || !Boolean.TRUE.equals(matter.getEnabled())) { + return Result.error("报名出行时段不存在或已停用"); + } + if (isTravelEnded(matter.getTravelEndTime())) { + return Result.error("线路出行已结束,不能修改"); + } + if (!ledger.getLineId().equals(matter.getLineId())) { + return Result.error("报名线路与出行时段不匹配"); + } + ThirtyTeachTourLine line = tourLedgerService.dao().fetch(ThirtyTeachTourLine.class, matter.getLineId()); + if (line == null || Boolean.TRUE.equals(line.getDelFlag()) || !Boolean.TRUE.equals(line.getEnabled())) { + return Result.error("报名线路不存在或已停用"); + } + ThirtyTeachTourSetting setting = tourLedgerService.dao().fetch(ThirtyTeachTourSetting.class, matter.getSettingId()); + if (setting == null || Boolean.TRUE.equals(setting.getDelFlag()) || !Boolean.TRUE.equals(setting.getEnabled())) { + return Result.error("报名事项配置不存在或已停用"); + } + Integer activityGroupId = parseInteger(setting.getActivityGroupId()); + if (activityGroupId == null || !activityBasicScopeService.isUserInGroup(activityGroupId, SecurityUtil.getUserId())) { + return Result.error("您不在本次疗休养报名范围内"); + } + if (StrUtil.isBlank(matter.getSignupStartTime()) || StrUtil.isBlank(matter.getSignupEndTime())) { + return Result.error("报名时间未配置"); + } + String now = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + if (now.compareTo(normalizeDateTime(matter.getSignupStartTime(), false)) < 0) { + return Result.error("报名未开始"); + } + if (now.compareTo(normalizeDateTime(matter.getSignupEndTime(), true)) > 0) { + return Result.error("报名已结束"); + } + CycleAllowedTimes cycleAllowedTimes = calculateCycleAllowedTimes(matter, setting, oldLedger); + if (!cycleAllowedTimes.canApply()) { + return Result.error(buildCycleAllowedTimesNotice(cycleAllowedTimes)); + } + CycleTotalCost cycleTotalCost = calculateCycleTotalCost(matter, setting, line, oldLedger); + if (!cycleTotalCost.canApply()) { + return Result.error(buildCycleTotalCostNotice(cycleTotalCost)); + } + String jobNo = currentJobNo(); + if (isOutProvinceLine(line.getLineType())) { + int startYear = setting.getCycleStartYear() == null ? matter.getYear() : setting.getCycleStartYear(); + int endYear = LocalDate.now().getYear(); + Cnd outProvinceCnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getJobNo, "=", jobNo) + .and(ThirtyTeachTourLedger::getYear, ">=", startYear) + .and(ThirtyTeachTourLedger::getYear, "<=", endYear) + .and(ThirtyTeachTourLedger::getLineType, "in", List.of("省外线路", "省外")); + if (oldLedger != null) { + outProvinceCnd.and(ThirtyTeachTourLedger::getId, "<>", oldLedger.getId()); + } + if (tourLedgerService.count(outProvinceCnd) > 0) { + return Result.error("您已参加过省外线路,不能报名省外线路,请选择省内线路"); + } + OutProvinceQuota quota = calculateOutProvinceQuota(matter, setting, oldLedger); + if (!quota.canApply()) { + return Result.error(buildOutProvinceQuotaNotice(quota)); + } + Cnd sameYearDomesticCnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getJobNo, "=", jobNo) + .and(ThirtyTeachTourLedger::getYear, "=", matter.getYear()) + .and(ThirtyTeachTourLedger::getLineType, "in", List.of("省内线路", "省内", "国内线路", "国内")); + if (oldLedger != null) { + sameYearDomesticCnd.and(ThirtyTeachTourLedger::getId, "<>", oldLedger.getId()); + } + ThirtyTeachTourLedger existingDomesticLedger = fetchLatestLedger(sameYearDomesticCnd); + if (existingDomesticLedger != null) { + return Result.error(buildSelectedLineMessage(existingDomesticLedger)); + } + } + if (isInProvinceLine(line.getLineType())) { + Cnd sameYearCnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getJobNo, "=", jobNo) + .and(ThirtyTeachTourLedger::getYear, "=", matter.getYear()); + if (oldLedger != null) { + sameYearCnd.and(ThirtyTeachTourLedger::getId, "<>", oldLedger.getId()); + } + ThirtyTeachTourLedger existingLedger = fetchLatestLedger(sameYearCnd); + if (existingLedger != null) { + return Result.error(buildSelectedLineMessage(existingLedger)); + } + } + return null; + } + + private ThirtyTeachTourLedger fetchLatestLedger(Cnd cnd) { + cnd.desc(ThirtyTeachTourLedger::getSignupTime); + cnd.desc(ThirtyTeachTourLedger::getCreatedAt); + return tourLedgerService.fetch(cnd); + } + + private ThirtyTeachTourLedger fetchCurrentUserMatterLedger(String matterId) { + if (StrUtil.isBlank(matterId)) { + return null; + } + Cnd cnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getMatterId, "=", matterId) + .and(ThirtyTeachTourLedger::getJobNo, "=", currentJobNo()); + cnd.desc(ThirtyTeachTourLedger::getCreatedAt); + return tourLedgerService.fetch(cnd); + } + + private CycleAllowedTimes calculateCycleAllowedTimes(ThirtyTeachTourMatter matter, ThirtyTeachTourSetting setting, ThirtyTeachTourLedger oldLedger) { + int allowedTimes = setting == null || setting.getCycleAllowedTimes() == null ? 0 : setting.getCycleAllowedTimes(); + int endYear = LocalDate.now().getYear(); + int startYear = setting == null || setting.getCycleStartYear() == null ? (matter == null || matter.getYear() == null ? endYear : matter.getYear()) : setting.getCycleStartYear(); + String excludeLedgerId = oldLedger == null ? null : oldLedger.getId(); + int joinedTimes = allowedTimes <= 0 ? 0 : countCycleJoinedTimes(currentJobNo(), startYear, endYear, excludeLedgerId); + return new CycleAllowedTimes(startYear, endYear, allowedTimes, joinedTimes); + } + + private int countCycleJoinedTimes(String jobNo, int startYear, int endYear, String excludeLedgerId) { + if (StrUtil.isBlank(jobNo)) { + return 0; + } + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_ledger + WHERE delFlag = 0 + AND joined = 1 + AND jobNo = @jobNo + AND `year` >= @startYear + AND `year` <= @endYear + """ + excludeSql); + sql.setParam("jobNo", jobNo); + sql.setParam("startYear", startYear); + sql.setParam("endYear", endYear); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private String buildCycleAllowedTimesNotice(CycleAllowedTimes cycleAllowedTimes) { + return "您在 " + cycleAllowedTimes.startYear() + " 至 " + cycleAllowedTimes.endYear() + + " 周期内已参加 " + cycleAllowedTimes.joinedTimes() + " 次,周期允许 " + + cycleAllowedTimes.allowedTimes() + " 次,不能报名"; + } + + private CycleTotalCost calculateCycleTotalCost(ThirtyTeachTourMatter matter, ThirtyTeachTourSetting setting, ThirtyTeachTourLine line, ThirtyTeachTourLedger oldLedger) { + int totalCost = setting == null || setting.getCycleTotalCost() == null ? 0 : setting.getCycleTotalCost(); + int endYear = LocalDate.now().getYear(); + int startYear = setting == null || setting.getCycleStartYear() == null ? (matter == null || matter.getYear() == null ? endYear : matter.getYear()) : setting.getCycleStartYear(); + String excludeLedgerId = oldLedger == null ? null : oldLedger.getId(); + int joinedCost = totalCost <= 0 ? 0 : countCycleJoinedCost(currentJobNo(), startYear, endYear, excludeLedgerId); + int currentCost = totalCost <= 0 ? 0 : getLineActivityCost(line); + return new CycleTotalCost(startYear, endYear, totalCost, joinedCost, currentCost); + } + + private int countCycleJoinedCost(String jobNo, int startYear, int endYear, String excludeLedgerId) { + if (StrUtil.isBlank(jobNo)) { + return 0; + } + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND t.id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT IFNULL(SUM(IFNULL(lot.activityCost, 0)), 0) + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN thirty_teach_tour_setting_lot lot ON lot.id = l.lotId AND lot.delFlag = 0 + WHERE t.delFlag = 0 + AND t.joined = 1 + AND t.jobNo = @jobNo + AND t.`year` >= @startYear + AND t.`year` <= @endYear + """ + excludeSql); + sql.setParam("jobNo", jobNo); + sql.setParam("startYear", startYear); + sql.setParam("endYear", endYear); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private int getLineActivityCost(ThirtyTeachTourLine line) { + if (line == null || StrUtil.isBlank(line.getLotId())) { + return 0; + } + Sql sql = Sqls.create(""" + SELECT IFNULL(activityCost, 0) AS activityCost + FROM thirty_teach_tour_setting_lot + WHERE delFlag = 0 + AND id = @lotId + """); + sql.setParam("lotId", line.getLotId()); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private String buildCycleTotalCostNotice(CycleTotalCost cycleTotalCost) { + return "您在 " + cycleTotalCost.startYear() + " 至 " + cycleTotalCost.endYear() + + " 周期内已参加线路费用合计 " + cycleTotalCost.joinedCost() + + " 元,本次线路费用 " + cycleTotalCost.currentCost() + + " 元,周期内总费用 " + cycleTotalCost.totalCost() + " 元,超过限制,不能报名"; + } + + private OutProvinceQuota calculateOutProvinceQuota(ThirtyTeachTourMatter matter, ThirtyTeachTourSetting setting, ThirtyTeachTourLedger oldLedger) { + String ratioType = normalizeOutProvinceRatioType(setting == null ? null : setting.getOutProvinceRatioType()); + BigDecimal originalRatio = setting == null ? null : setting.getOutProvinceRatio(); + boolean oneThirdRatio = isOneThirdRatio(originalRatio); + BigDecimal ratio = oneThirdRatio ? BigDecimal.ONE.divide(BigDecimal.valueOf(3), 12, RoundingMode.HALF_UP) + : (originalRatio == null ? BigDecimal.ZERO : originalRatio); + int year = matter == null || matter.getYear() == null ? LocalDate.now().getYear() : matter.getYear(); + String excludeLedgerId = oldLedger == null ? null : oldLedger.getId(); + int totalSignupPeople = countYearSignupPeople(year, excludeLedgerId); + int outProvinceSignupPeople = countYearOutProvinceSignupPeople(year, excludeLedgerId); + int basePeople; + if ("可参加教职工人数".equals(ratioType)) { + Integer groupId = parseInteger(setting == null ? null : setting.getActivityGroupId()); + basePeople = countActivityGroupPeople(groupId); + } else if ("固定人数".equals(ratioType)) { + basePeople = setting == null || setting.getOutProvinceFixedPeople() == null ? 0 : setting.getOutProvinceFixedPeople(); + } else { + basePeople = totalSignupPeople; + } + int quotaPeople = oneThirdRatio + ? basePeople / 3 + : ratio.multiply(BigDecimal.valueOf(basePeople)).setScale(0, RoundingMode.FLOOR).intValue(); + int allowPeople = quotaPeople - outProvinceSignupPeople; + return new OutProvinceQuota(ratioType, ratio, basePeople, totalSignupPeople, outProvinceSignupPeople, allowPeople); + } + + private boolean isOneThirdRatio(BigDecimal ratio) { + if (ratio == null) { + return false; + } + return ratio.compareTo(BigDecimal.valueOf(0.33)) >= 0 && ratio.compareTo(BigDecimal.valueOf(0.3333)) <= 0; + } + + private String normalizeOutProvinceRatioType(String ratioType) { + if ("当年参加人数".equals(ratioType) || StrUtil.isBlank(ratioType)) { + return "当年报名人数"; + } + if ("可参加教职工人数".equals(ratioType) || "固定人数".equals(ratioType)) { + return ratioType; + } + return "当年报名人数"; + } + + private String buildOutProvinceQuotaNotice(OutProvinceQuota quota) { + String suffix = quota.canApply() ? "您可以报名,或您稍后报名" : "请稍后报名"; + if ("当年报名人数".equals(quota.ratioType())) { + return "当前报名人数是" + quota.totalSignupPeople() + "人,已经报名省外线路人数是" + + quota.outProvinceSignupPeople() + "人,按照省外人数不超过" + quota.ratioText() + + "的规则,当前时间允许报名人数是" + quota.allowPeople() + "人," + suffix; + } + if ("可参加教职工人数".equals(quota.ratioType())) { + return "今年有权限报名人数是" + quota.basePeople() + "人,已经报名省外线路人数是" + + quota.outProvinceSignupPeople() + "人,按照省外人数不超过" + quota.ratioText() + + "的规则,当前时间允许报名人数是" + quota.allowPeople() + "人," + suffix; + } + return "按照省外人数不超过" + quota.ratioText() + + "的规则,当前时间允许报名人数是" + quota.allowPeople() + "人," + suffix; + } + + private int countYearSignupPeople(int year, String excludeLedgerId) { + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND t.id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + WHERE t.delFlag = 0 + AND t.`year` = @year + AND (ins.id IS NULL OR ins.state = @finishedState) + """ + excludeSql); + sql.setParam("year", year); + sql.setParam("finishedState", ProcessInstanceStateEnum.FINISHED.getCode()); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private int countYearOutProvinceSignupPeople(int year, String excludeLedgerId) { + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND t.id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + WHERE t.delFlag = 0 + AND t.`year` = @year + AND t.lineType IN ('省外线路', '省外') + AND (ins.id IS NULL OR ins.state = @finishedState) + """ + excludeSql); + sql.setParam("year", year); + sql.setParam("finishedState", ProcessInstanceStateEnum.FINISHED.getCode()); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private int countActivityGroupPeople(Integer groupId) { + if (groupId == null) { + return 0; + } + Sql sql = Sqls.create("SELECT COUNT(1) FROM (" + activityBasicScopeService.buildGroupUserIdSubSqlText(groupId) + ") scope_users"); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private boolean isOutProvinceLine(String lineType) { + return "省外线路".equals(lineType) || "省外".equals(lineType); + } + + private boolean isInProvinceLine(String lineType) { + return "省内线路".equals(lineType) || "省内".equals(lineType); + } + + private Integer parseInteger(String value) { + if (StrUtil.isBlank(value)) { + return null; + } + try { + return Integer.valueOf(value); + } catch (NumberFormatException e) { + return null; + } + } + + private String normalizeDateTime(String value, boolean endOfDay) { + if (StrUtil.isBlank(value)) { + return ""; + } + String trimmed = value.trim(); + if (trimmed.length() == 10) { + return trimmed + (endOfDay ? " 23:59:59" : " 00:00:00"); + } + if (trimmed.length() == 16) { + return trimmed + ":00"; + } + return trimmed; + } + + private boolean isTravelEnded(String travelEndTime) { + if (StrUtil.isBlank(travelEndTime)) { + return false; + } + String now = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + return now.compareTo(normalizeDateTime(travelEndTime, true)) > 0; + } + + private void fillStaffInfo(ThirtyTeachTourLedger ledger) { + View_user user = tourLedgerService.dao().fetch(View_user.class, Cnd.where(View_user::getId, "=", SecurityUtil.getUserId())); + ledger.setJobNo(user == null ? SecurityUtil.getUserLoginname() : defaultIfBlank(user.getLoginname(), SecurityUtil.getUserLoginname())); + ledger.setUserName(user == null ? SecurityUtil.getUserUsername() : defaultIfBlank(user.getUsername(), SecurityUtil.getUserUsername())); + ledger.setGender(user == null ? ledger.getGender() : defaultIfBlank(user.getSex(), ledger.getGender())); + ledger.setIdCard(user == null ? ledger.getIdCard() : defaultIfBlank(ledger.getIdCard(), user.getIdCard())); + ledger.setUnitId(user == null ? SecurityUtil.getUnitId() : defaultIfBlank(user.getUnitId(), SecurityUtil.getUnitId())); + ledger.setUnitName(user == null ? ledger.getUnitName() : defaultIfBlank(user.getUnitName(), ledger.getUnitName())); + ledger.setUnionId(user == null ? SecurityUtil.getUnionId() : defaultIfBlank(user.getUnionId(), ledger.getUnionId())); + ledger.setUnionName(user == null ? ledger.getUnionName() : defaultIfBlank(user.getUnionName(), ledger.getUnionName())); + } + + private void fillLedgerContactFallback(ThirtyTeachTourLedger ledger) { + if (ledger == null || (StrUtil.isNotBlank(ledger.getIdCard()) && StrUtil.isNotBlank(ledger.getMobile()))) { + return; + } + // My signup detail keeps ledger contact data first; blank contact fields use the user profile snapshot for display only. + View_user user = tourLedgerService.dao().fetch(View_user.class, Cnd.where(View_user::getLoginname, "=", ledger.getJobNo())); + if (user == null) { + return; + } + if (StrUtil.isBlank(ledger.getIdCard())) { + ledger.setIdCard(user.getIdCard()); + } + if (StrUtil.isBlank(ledger.getMobile())) { + ledger.setMobile(user.getMobile()); + } + } + + private void clearBedInfo(ThirtyTeachTourLedger ledger, List familyList) { + if (ledger != null) { + ledger.setBedType(""); + ledger.setBedInfo(""); + ledger.setIntendedRoommate(""); + } + if (Lang.isNotEmpty(familyList)) { + familyList.forEach(item -> { + item.setBedType(""); + item.setBedInfo(""); + item.setIntendedRoommate(""); + }); + } + } + + private List parseFamilies(String families) { + if (StrUtil.isBlank(families)) { + return Collections.emptyList(); + } + List list = Json.fromJsonAsList(ThirtyTeachTourLedgerFamily.class, families); + if (Lang.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream() + .filter(item -> item != null && StrUtil.isNotBlank(item.getFamilyName())) + .collect(Collectors.toList()); + } + + private Result checkFamilies(List familyList) { + if (Lang.isEmpty(familyList)) { + return null; + } + for (ThirtyTeachTourLedgerFamily family : familyList) { + if (family == null) { + continue; + } + if (StrUtil.isBlank(family.getFamilyName()) || StrUtil.isBlank(family.getGender()) + || StrUtil.isBlank(family.getIdCard()) || StrUtil.isBlank(family.getRelationship())) { + return Result.error("请完善亲属姓名、性别、身份证号码和关系"); + } + String idCard = family.getIdCard().trim().toUpperCase(); + if (!isValidIdCard(idCard)) { + return Result.error("请输入正确的身份证号码"); + } + family.setIdCard(idCard); + } + return null; + } + + private boolean isValidIdCard(String idCard) { + return StrUtil.isNotBlank(idCard) + && idCard.matches("^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dX]$"); + } + + private Result checkMaxGroupPeople(ThirtyTeachTourMatter matter, ThirtyTeachTourLedger oldLedger, List familyList) { + if (matter == null || matter.getMaxGroupPeople() == null || matter.getMaxGroupPeople() <= 0) { + return null; + } + int currentPeople = 1 + (Lang.isEmpty(familyList) ? 0 : familyList.size()); + int signedPeople = countSignupPeople(matter.getId(), oldLedger == null ? null : oldLedger.getId()); + int totalPeople = signedPeople + currentPeople; + if (totalPeople > matter.getMaxGroupPeople()) { + return Result.error("当前报名人数 " + signedPeople + " 人,本次报名 " + currentPeople + + " 人,最多成团人数 " + matter.getMaxGroupPeople() + " 人,报名后将超过人数上限,不能提交"); + } + return null; + } + + private int countSignupPeople(String matterId, String excludeLedgerId) { + if (StrUtil.isBlank(matterId)) { + return 0; + } + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND t.id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT IFNULL(SUM(1 + IFNULL(f.familyCount, 0)), 0) AS signupPeople + FROM thirty_teach_tour_ledger t + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + WHERE t.delFlag = 0 + AND t.matterId = @matterId + """ + excludeSql); + sql.setParam("matterId", matterId); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private String buildSelectedLineMessage(ThirtyTeachTourLedger ledger) { + String selectedLineName = getLedgerLineName(ledger); + return "您已经选择【" + selectedLineName + "】,取消后再重新选择。"; + } + + private String getLedgerLineName(ThirtyTeachTourLedger ledger) { + if (ledger == null) { + return ""; + } + if (StrUtil.isNotBlank(ledger.getLineName())) { + return ledger.getLineName(); + } + if (StrUtil.isBlank(ledger.getLineId())) { + return ""; + } + ThirtyTeachTourLine line = tourLedgerService.dao().fetch(ThirtyTeachTourLine.class, ledger.getLineId()); + return line == null ? "" : defaultIfBlank(line.getLineName(), ""); + } + + private record CycleAllowedTimes(int startYear, + int endYear, + int allowedTimes, + int joinedTimes) { + boolean canApply() { + return allowedTimes <= 0 || joinedTimes < allowedTimes; + } + } + + private record CycleTotalCost(int startYear, + int endYear, + int totalCost, + int joinedCost, + int currentCost) { + boolean canApply() { + return totalCost <= 0 || joinedCost + currentCost <= totalCost; + } + } + + private record OutProvinceQuota(String ratioType, + BigDecimal ratio, + int basePeople, + int totalSignupPeople, + int outProvinceSignupPeople, + int allowPeople) { + boolean canApply() { + return allowPeople > 0; + } + + String ratioText() { + if (ratio == null || BigDecimal.ZERO.compareTo(ratio) == 0) { + return "0"; + } + BigDecimal oneThird = BigDecimal.ONE.divide(BigDecimal.valueOf(3), 8, RoundingMode.HALF_UP); + if (ratio.subtract(oneThird).abs().compareTo(BigDecimal.valueOf(0.01)) <= 0) { + return "1/3"; + } + return ratio.stripTrailingZeros().toPlainString(); + } + } + + private ThirtyTeachTourLedgerDirectRelative parseDirectRelative(String directRelative) { + if (StrUtil.isBlank(directRelative)) { + return null; + } + return Json.fromJson(ThirtyTeachTourLedgerDirectRelative.class, directRelative); + } + + private Result checkDirectRelative(boolean directFamilyLine, ThirtyTeachTourLedgerDirectRelative directRelativeInfo) { + if (!directFamilyLine) { + return null; + } + if (directRelativeInfo == null) { + return Result.error("请填写直系亲属线路信息"); + } + if (StrUtil.isBlank(directRelativeInfo.getRelativeName())) { + return Result.error("亲属姓名不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getUnitName())) { + return Result.error("亲属所在单位不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getRelationshipCode())) { + return Result.error("亲属关系不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getLineName())) { + return Result.error("直系亲属线路名称不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getTravelStartTime())) { + return Result.error("出行开始日期不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getTravelEndTime())) { + return Result.error("出行结束日期不能为空"); + } + List directRelativeOptions = sysDictService.getSubListByCode("directRelative"); + Sys_dict dict = directRelativeOptions == null ? null : directRelativeOptions.stream() + .filter(item -> directRelativeInfo.getRelationshipCode().equals(item.getCode()) && !item.isDisabled()) + .findFirst() + .orElse(null); + if (dict == null) { + return Result.error("亲属关系无效"); + } + directRelativeInfo.setRelationshipName(defaultIfBlank(dict.getName(), directRelativeInfo.getRelationshipName())); + return null; + } + + private boolean allowOverCostReimbursement(ThirtyTeachTourLine line) { + if (line == null || StrUtil.isBlank(line.getLotId())) { + return false; + } + Sql sql = Sqls.create(""" + SELECT IFNULL(allowOverReimbursement, 0) AS allowOverReimbursement + FROM thirty_teach_tour_setting_lot + WHERE id = @lotId + """); + sql.setParam("lotId", line.getLotId()); + sql.setCallback(Sqls.callback.map()); + tourLedgerService.dao().execute(sql); + NutMap lot = sql.getObject(NutMap.class); + return lot != null && lot.getBoolean("allowOverReimbursement", false); + } + + private Result startOrContinueSignupApprovalWorkflow(ThirtyTeachTourLedger ledger, ThirtyTeachTourLedgerDirectRelative directRelativeInfo, ThirtyTeachTourMatter matter, ThirtyTeachTourLine line) { + ProcessInstance instance = tourLedgerService.dao().fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", ledger.getId()) + .and(ProcessInstance::getState, "<>", ProcessInstanceStateEnum.ABANDON.getCode()) + .desc(ProcessInstance::getCreatedAt)); + Dict args = buildSignupApprovalArgs(ledger, directRelativeInfo, matter, line); + if (instance == null) { + ProcessInstance newInstance = flowEngine.startProcessInstanceByKey(DIRECT_FAMILY_WORKFLOW_KEY, ledger.getId(), SecurityUtil.getUserId(), args); + List doingTaskList = flowEngine.processTaskService().getDoingTaskList(newInstance.getId(), null); + for (ProcessTask task : doingTaskList) { + flowEngine.executeProcessTask(task.getId(), SecurityUtil.getUserId(), args); + } + return null; + } + if (!ProcessInstanceStateEnum.DOING.getCode().equals(instance.getState())) { + return Result.error("当前审批流程状态不允许修改提交"); + } + ProcessTask startTask = tourLedgerService.dao().fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", instance.getId()) + .and(ProcessTask::getTaskName, "=", "startTask") + .and(ProcessTask::getTaskState, "=", ProcessTaskStateEnum.DOING.getCode())); + if (startTask == null) { + return Result.error("当前审批流程节点不允许修改提交"); + } + flowEngine.executeProcessTask(startTask.getId(), SecurityUtil.getUserId(), args); + return null; + } + + private Result checkSignupApprovalWorkflowCanSubmit(String ledgerId) { + ProcessInstance instance = tourLedgerService.dao().fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", ledgerId) + .and(ProcessInstance::getState, "<>", ProcessInstanceStateEnum.ABANDON.getCode()) + .desc(ProcessInstance::getCreatedAt)); + if (instance == null) { + return null; + } + if (!ProcessInstanceStateEnum.DOING.getCode().equals(instance.getState())) { + return Result.error("当前审批流程状态不允许修改提交"); + } + ProcessTask startTask = tourLedgerService.dao().fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", instance.getId()) + .and(ProcessTask::getTaskName, "=", "startTask") + .and(ProcessTask::getTaskState, "=", ProcessTaskStateEnum.DOING.getCode())); + if (startTask == null) { + return Result.error("当前审批流程节点不允许修改提交"); + } + return null; + } + + private Dict buildSignupApprovalArgs(ThirtyTeachTourLedger ledger, ThirtyTeachTourLedgerDirectRelative directRelativeInfo, ThirtyTeachTourMatter matter, ThirtyTeachTourLine line) { + Dict args = Dict.create(); + args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode()); + args.set(FlowConst.FORM_DATA, NutMap.NEW() + .addv("ledger", ledger) + .addv("directRelative", directRelativeInfo) + .addv("matter", matter) + .addv("line", line)); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "matterId", ledger.getMatterId()); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "lineId", ledger.getLineId()); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "lineName", ledger.getLineName()); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "directFamilyUnitLine", line != null && Boolean.TRUE.equals(line.getDirectFamilyUnitLine())); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "overCostReimbursed", Boolean.TRUE.equals(ledger.getOverCostReimbursed())); + return args; + } + + private String getTravelPeriod(ThirtyTeachTourLedger ledger) { + if (ledger == null || ledger.getYear() == null || StrUtil.isBlank(ledger.getLineId())) { + return ""; + } + if (StrUtil.isNotBlank(ledger.getMatterId())) { + Sql exactSql = Sqls.create(""" + SELECT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE '' + END AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND id = @matterId + """); + exactSql.setParam("matterId", ledger.getMatterId()); + exactSql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(exactSql); + return exactSql.getString(); + } + Sql sql = Sqls.create(""" + SELECT GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND `year` = @year + AND lineId = @lineId + """); + sql.setParam("year", ledger.getYear()); + sql.setParam("lineId", ledger.getLineId()); + sql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(sql); + return sql.getString(); + } + + private NutMap getSignupConfig(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getId())) { + return NutMap.NEW().addv("allowFamily", false).addv("fillBedInfo", true).addv("directFamilyUnitLine", false); + } + Sql sql = Sqls.create(""" + SELECT + IFNULL(s.allowFamily, 0) AS allowFamily, + IFNULL(s.fillBedInfo, 1) AS fillBedInfo, + IFNULL(l.directFamilyUnitLine, 0) AS directFamilyUnitLine + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_setting s ON s.id = m.settingId AND s.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + WHERE t.id = @ledgerId + """); + sql.setParam("ledgerId", ledger.getId()); + sql.setCallback(Sqls.callback.map()); + tourLedgerService.dao().execute(sql); + NutMap map = sql.getObject(NutMap.class); + if (map == null || map.isEmpty()) { + return NutMap.NEW().addv("allowFamily", false).addv("fillBedInfo", true).addv("directFamilyUnitLine", false); + } + return map; + } + + private NutMap buildExportInfo(String id) { + ThirtyTeachTourLedger ledger = fetchOwnLedger(id); + if (ledger == null || !Boolean.TRUE.equals(ledger.getOverCostReimbursed())) { + return null; + } + + NutMap matterInfo = getMatterExportInfo(ledger); + String travelStartTime = matterInfo.getString("travelStartTime", ""); + String travelEndTime = matterInfo.getString("travelEndTime", ""); + String travelPeriod = StrUtil.isNotBlank(travelStartTime) && StrUtil.isNotBlank(travelEndTime) + ? travelStartTime + " 至 " + travelEndTime + : getTravelPeriod(ledger); + if ((StrUtil.isBlank(travelStartTime) || StrUtil.isBlank(travelEndTime)) && StrUtil.isNotBlank(travelPeriod)) { + String[] dateRange = parseTravelPeriodRange(travelPeriod); + travelStartTime = firstNotBlank(travelStartTime, dateRange[0]); + travelEndTime = firstNotBlank(travelEndTime, dateRange[1]); + } + + NutMap approvalTimes = getApprovalTimes(ledger.getId()); + Integer totalDays = calcDays(travelStartTime, travelEndTime); + + return NutMap.NEW() + .addv("id", ledger.getId()) + .addv("userName", StrUtil.blankToDefault(ledger.getUserName(), "")) + .addv("unionName", StrUtil.blankToDefault(ledger.getUnionName(), "")) + .addv("lineName", StrUtil.blankToDefault(ledger.getLineName(), "")) + .addv("travelPeriod", StrUtil.blankToDefault(travelPeriod, "")) + .addv("travelStartTime", travelStartTime) + .addv("travelEndTime", travelEndTime) + .addv("travelStartYear", parseDatePart(travelStartTime, "year")) + .addv("travelStartMonth", parseDatePart(travelStartTime, "month")) + .addv("travelStartDay", parseDatePart(travelStartTime, "day")) + .addv("travelEndYear", parseDatePart(travelEndTime, "year")) + .addv("travelEndMonth", parseDatePart(travelEndTime, "month")) + .addv("travelEndDay", parseDatePart(travelEndTime, "day")) + .addv("totalDays", totalDays == null ? "" : totalDays) + .addv("estimatedCost", formatAmount(matterInfo.get("estimatedCost"))) + .addv("applyDate", firstNotBlank(approvalTimes.getString("applyDate", ""), ledger.getSignupTime())) + .addv("unionAuditorName", approvalTimes.getString("unionAuditorName", "")) + .addv("unionAuditDate", approvalTimes.getString("unionAuditDate", "")) + .addv("schoolUnionAuditDate", approvalTimes.getString("schoolUnionAuditDate", "")); + } + + private NutMap buildDirectRelativeExportInfo(String id) { + ThirtyTeachTourLedger ledger = fetchOwnLedger(id); + if (ledger == null) { + return null; + } + NutMap signupConfig = getSignupConfig(ledger); + if (!signupConfig.getBoolean("directFamilyUnitLine", false)) { + return null; + } + ThirtyTeachTourLedgerDirectRelative directRelative = tourLedgerDirectRelativeService.fetch(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getDelFlag, "=", false) + .and(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + if (directRelative == null) { + return null; + } + + NutMap matterInfo = getMatterExportInfo(ledger); + String travelStartTime = firstNotBlank(directRelative.getTravelStartTime(), matterInfo.getString("travelStartTime", "")); + String travelEndTime = firstNotBlank(directRelative.getTravelEndTime(), matterInfo.getString("travelEndTime", "")); + String travelPeriod = StrUtil.isNotBlank(travelStartTime) && StrUtil.isNotBlank(travelEndTime) + ? travelStartTime + " 至 " + travelEndTime + : getTravelPeriod(ledger); + if ((StrUtil.isBlank(travelStartTime) || StrUtil.isBlank(travelEndTime)) && StrUtil.isNotBlank(travelPeriod)) { + String[] dateRange = parseTravelPeriodRange(travelPeriod); + travelStartTime = firstNotBlank(travelStartTime, dateRange[0]); + travelEndTime = firstNotBlank(travelEndTime, dateRange[1]); + } + NutMap approvalTimes = getApprovalTimes(ledger.getId()); + + return NutMap.NEW() + .addv("id", ledger.getId()) + .addv("userName", StrUtil.blankToDefault(ledger.getUserName(), "")) + .addv("unionName", StrUtil.blankToDefault(ledger.getUnionName(), "")) + .addv("relativeName", StrUtil.blankToDefault(directRelative.getRelativeName(), "")) + .addv("relativeUnitName", StrUtil.blankToDefault(directRelative.getUnitName(), "")) + .addv("relationshipName", StrUtil.blankToDefault(directRelative.getRelationshipName(), "")) + .addv("lineName", firstNotBlank(directRelative.getLineName(), ledger.getLineName())) + .addv("travelPeriod", StrUtil.blankToDefault(travelPeriod, "")) + .addv("travelStartTime", travelStartTime) + .addv("travelEndTime", travelEndTime) + .addv("travelStartYear", parseDatePart(travelStartTime, "year")) + .addv("travelStartMonth", parseDatePart(travelStartTime, "month")) + .addv("travelStartDay", parseDatePart(travelStartTime, "day")) + .addv("travelEndYear", parseDatePart(travelEndTime, "year")) + .addv("travelEndMonth", parseDatePart(travelEndTime, "month")) + .addv("travelEndDay", parseDatePart(travelEndTime, "day")) + .addv("applyDate", firstNotBlank(approvalTimes.getString("applyDate", ""), ledger.getSignupTime())) + .addv("unionAuditorName", approvalTimes.getString("unionAuditorName", "")) + .addv("unionAuditDate", approvalTimes.getString("unionAuditDate", "")) + .addv("schoolUnionAuditDate", approvalTimes.getString("schoolUnionAuditDate", "")) + .addv("relativeUnitAuditDate", ""); + } + + private NutMap getMatterExportInfo(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getMatterId())) { + return NutMap.NEW(); + } + Sql sql = Sqls.create(""" + SELECT + m.travelStartTime, + m.travelEndTime, + m.estimatedCost + FROM thirty_teach_tour_matter m + WHERE m.delFlag = 0 + AND m.id = @matterId + """); + sql.setParam("matterId", ledger.getMatterId()); + sql.setCallback(Sqls.callback.map()); + tourMatterService.dao().execute(sql); + NutMap map = sql.getObject(NutMap.class); + return map == null ? NutMap.NEW() : map; + } + + private NutMap getApprovalTimes(String ledgerId) { + NutMap result = NutMap.NEW(); + if (StrUtil.isBlank(ledgerId)) { + return result; + } + Sql sql = Sqls.create(""" + SELECT + t.displayName, + t.variable, + DATE_FORMAT(t.finishTime, '%Y-%m-%d') AS finishDate + FROM wf_process_task t + INNER JOIN wf_process_instance ins ON ins.id = t.processInstanceId + WHERE ins.businessNo = @ledgerId + AND t.taskState = @finished + AND t.displayName IN ('申请', '分工会审核', '校工会审核') + ORDER BY t.finishTime ASC + """); + sql.setParam("ledgerId", ledgerId); + sql.setParam("finished", ProcessTaskStateEnum.FINISHED.getCode()); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + for (NutMap item : sql.getList(NutMap.class)) { + String displayName = item.getString("displayName", ""); + String finishDate = item.getString("finishDate", ""); + if ("申请".equals(displayName) && StrUtil.isBlank(result.getString("applyDate", ""))) { + result.put("applyDate", finishDate); + } else if ("分工会审核".equals(displayName)) { + result.put("unionAuditDate", finishDate); + result.put("unionAuditorName", parseTaskUserName(item.getString("variable", ""))); + } else if ("校工会审核".equals(displayName)) { + result.put("schoolUnionAuditDate", finishDate); + } + } + return result; + } + + private String parseTaskUserName(String variable) { + if (StrUtil.isBlank(variable)) { + return ""; + } + try { + NutMap map = Json.fromJson(NutMap.class, variable); + if (map == null) { + return ""; + } + return firstNotBlank( + map.getString(FlowConst.TASK_FORM_DATA_PREFIX + "userName", ""), + map.getString("userName", "") + ); + } catch (Exception e) { + return ""; + } + } + + private Integer calcDays(String start, String end) { + if (StrUtil.isBlank(start) || StrUtil.isBlank(end)) { + return null; + } + try { + LocalDate startDate = LocalDate.parse(start.substring(0, 10)); + LocalDate endDate = LocalDate.parse(end.substring(0, 10)); + return Math.toIntExact(ChronoUnit.DAYS.between(startDate, endDate) + 1); + } catch (Exception e) { + return null; + } + } + + private String parseDatePart(String date, String part) { + if (StrUtil.isBlank(date) || date.length() < 10) { + return ""; + } + try { + LocalDate localDate = LocalDate.parse(date.substring(0, 10)); + if ("year".equals(part)) { + return String.valueOf(localDate.getYear()); + } + return "month".equals(part) ? String.valueOf(localDate.getMonthValue()) : String.valueOf(localDate.getDayOfMonth()); + } catch (Exception e) { + return ""; + } + } + + private String[] parseTravelPeriodRange(String travelPeriod) { + if (StrUtil.isBlank(travelPeriod)) { + return new String[]{"", ""}; + } + String[] parts = travelPeriod.split("至"); + if (parts.length < 2) { + return new String[]{"", ""}; + } + return new String[]{normalizeDate(parts[0]), normalizeDate(parts[1])}; + } + + private String normalizeDate(String value) { + if (StrUtil.isBlank(value)) { + return ""; + } + String date = value.trim(); + return date.length() >= 10 ? date.substring(0, 10) : date; + } + + private String formatAmount(Object value) { + if (value == null) { + return ""; + } + try { + BigDecimal amount = new BigDecimal(String.valueOf(value)); + return amount.stripTrailingZeros().toPlainString(); + } catch (Exception e) { + return String.valueOf(value); + } + } + + private String firstNotBlank(String first, String second) { + return StrUtil.isNotBlank(first) ? first : StrUtil.blankToDefault(second, ""); + } + + private byte[] buildExportPdf(NutMap data) { + try (PDDocument document = new PDDocument(); + ByteArrayOutputStream out = new ByteArrayOutputStream()) { + PDPage page = new PDPage(PDRectangle.A4); + document.addPage(page); + PDType0Font font = loadChineseFont(document, false); + PDType0Font boldFont = loadChineseFont(document, true); + try (PDPageContentStream content = new PDPageContentStream(document, page)) { + PdfWriter writer = new PdfWriter(content, font, boldFont); + writer.center("5天外超出部分疗休养费用由单位承担申请书", 18, 710, true); + writer.text("学校工会:", 18, 90, 665, false); + + List p1 = new ArrayList<>(); + p1.add(PdfSegment.text("本人为")); + p1.add(PdfSegment.field(data.getString("unionName", ""), 54)); + p1.add(PdfSegment.text("的")); + p1.add(PdfSegment.field(data.getString("userName", ""), 54)); + p1.add(PdfSegment.text(",拟参加")); + p1.add(PdfSegment.field(data.getString("unionName", ""), 54)); + p1.add(PdfSegment.text("于")); + p1.add(PdfSegment.field(data.getString("travelStartYear", ""), 42)); + p1.add(PdfSegment.text("年")); + p1.add(PdfSegment.field(data.getString("travelStartMonth", ""), 28)); + p1.add(PdfSegment.text("月")); + p1.add(PdfSegment.field(data.getString("travelStartDay", ""), 28)); + p1.add(PdfSegment.text("日至")); + p1.add(PdfSegment.field(data.getString("travelEndYear", ""), 42)); + p1.add(PdfSegment.text("年")); + p1.add(PdfSegment.field(data.getString("travelEndMonth", ""), 28)); + p1.add(PdfSegment.text("月")); + p1.add(PdfSegment.field(data.getString("travelEndDay", ""), 28)); + p1.add(PdfSegment.text("日组织的")); + p1.add(PdfSegment.field(data.getString("lineName", ""), 72)); + p1.add(PdfSegment.text("线路疗休养,预计总时长")); + p1.add(PdfSegment.field(data.getString("totalDays", ""), 28)); + p1.add(PdfSegment.text("天(含在途时间)、总费用预计")); + p1.add(PdfSegment.field(data.getString("estimatedCost", ""), 48)); + p1.add(PdfSegment.text("元,本人申请5天以外(不含5天)超出部分费用由学校承担。")); + float paragraphEndY = writer.paragraph(p1, 90, 640, 420, 18, 27f, 36); + writer.text("特此申请,请批准。", 18, 126, paragraphEndY - 27f, false); + + writer.text("申请人:", 18, 300, paragraphEndY - 82, false); + writer.text(data.getString("userName", ""), 18, 372, paragraphEndY - 82, false); + drawPlainDateLine(writer, data.getString("applyDate", ""), 330, paragraphEndY - 109, 18); + + writer.text("分工会主席签字:", 18, 246, paragraphEndY - 136, false); + writer.text(data.getString("unionAuditorName", ""), 18, 390, paragraphEndY - 136, false); + drawPlainDateLine(writer, data.getString("unionAuditDate", ""), 330, paragraphEndY - 163, 18); + + writer.text("学校工会:盖章", 18, 300, paragraphEndY - 190, false); + drawPlainDateLine(writer, data.getString("schoolUnionAuditDate", ""), 330, paragraphEndY - 217, 18); + } + document.save(out); + return out.toByteArray(); + } catch (IOException e) { + throw new RuntimeException("导出PDF失败", e); + } + } + + private byte[] buildDirectRelativeExportPdf(NutMap data) { + try (PDDocument document = new PDDocument(); + ByteArrayOutputStream out = new ByteArrayOutputStream()) { + PDPage page = new PDPage(PDRectangle.A4); + document.addPage(page); + PDType0Font font = loadChineseFont(document, false); + PDType0Font boldFont = loadChineseFont(document, true); + try (PDPageContentStream content = new PDPageContentStream(document, page)) { + PdfWriter writer = new PdfWriter(content, font, boldFont); + writer.center("本人随同参加直系亲属单位疗休养活动暨", 18, 760, true); + writer.center("疗休养费用由我校按规定标准给予报销申请书", 18, 733, true); + writer.text("学校工会:", 15, 90, 680, false); + + List p1 = new ArrayList<>(); + p1.add(PdfSegment.text("我本人是")); + p1.add(PdfSegment.field(data.getString("unionName", ""), 54)); + p1.add(PdfSegment.text("的")); + p1.add(PdfSegment.field(data.getString("userName", ""), 54)); + p1.add(PdfSegment.text(",我申请随同参加本人直系亲属(亲属关系为")); + p1.add(PdfSegment.field(data.getString("relationshipName", ""), 42)); + p1.add(PdfSegment.text(")姓名")); + p1.add(PdfSegment.field(data.getString("relativeName", ""), 54)); + p1.add(PdfSegment.text("所在单位")); + p1.add(PdfSegment.field(data.getString("relativeUnitName", ""), 72)); + p1.add(PdfSegment.text("于")); + p1.add(PdfSegment.field(data.getString("travelStartYear", ""), 42)); + p1.add(PdfSegment.text("年")); + p1.add(PdfSegment.field(data.getString("travelStartMonth", ""), 28)); + p1.add(PdfSegment.text("月")); + p1.add(PdfSegment.field(data.getString("travelStartDay", ""), 28)); + p1.add(PdfSegment.text("日至")); + p1.add(PdfSegment.field(data.getString("travelEndYear", ""), 42)); + p1.add(PdfSegment.text("年")); + p1.add(PdfSegment.field(data.getString("travelEndMonth", ""), 28)); + p1.add(PdfSegment.text("月")); + p1.add(PdfSegment.field(data.getString("travelEndDay", ""), 28)); + p1.add(PdfSegment.text("日期间所开展的")); + p1.add(PdfSegment.field(data.getString("lineName", ""), 72)); + p1.add(PdfSegment.text("线路疗休养活动;同时,申请本人此次疗休养费用由我校按规定标准给予报销。")); + float paragraphEndY = writer.paragraph(p1, 90, 635, 420, 15, 22.5f, 30); + writer.text("特此申请,请批准。", 15, 90, paragraphEndY - 22.5f, false); + + float signX = 250; + float signY = paragraphEndY - 80; + writer.text("申请人签名:", 15, signX, signY, false); + writer.text(data.getString("userName", ""), 15, signX + 90, signY, false); + drawPlainDateLine(writer, data.getString("applyDate", ""), signX + 45, signY - 31, 15); + + signY -= 78; + writer.text("分工会主席签字(盖章):", 15, signX - 60, signY, false); + writer.text(data.getString("unionAuditorName", ""), 15, signX + 135, signY, false); + drawPlainDateLine(writer, data.getString("unionAuditDate", ""), signX + 45, signY - 31, 15); + + signY -= 78; + writer.text("学校工会:盖章", 15, signX + 20, signY, false); + drawPlainDateLine(writer, data.getString("schoolUnionAuditDate", ""), signX + 45, signY - 31, 15); + + signY -= 78; + writer.text("直系亲属所在单位工会:盖章", 15, signX - 35, signY, false); + drawPlainDateLine(writer, data.getString("relativeUnitAuditDate", ""), signX + 45, signY - 31, 15); + } + document.save(out); + return out.toByteArray(); + } catch (IOException e) { + throw new RuntimeException("导出PDF失败", e); + } + } + + private void drawDateLine(PdfWriter writer, String date, float x, float y) throws IOException { + writer.text("时间:", 14, x, y, false); + drawDate(writer, date, x + 48, y, 14); + } + + private void drawPlainDateLine(PdfWriter writer, String date, float x, float y, float size) throws IOException { + writer.text("时间:", size, x, y, false); + writer.text(normalizeDate(date), size, x + size * 3, y, false); + } + + private void drawDate(PdfWriter writer, String date, float x, float y, float size) throws IOException { + writer.field(parseDatePart(date, "year"), size, x, y, 42); + writer.text("年", size, x + 44, y, false); + writer.field(parseDatePart(date, "month"), size, x + 68, y, 28); + writer.text("月", size, x + 98, y, false); + writer.field(parseDatePart(date, "day"), size, x + 122, y, 28); + writer.text("日", size, x + 152, y, false); + } + + private PDType0Font loadChineseFont(PDDocument document, boolean bold) throws IOException { + String[] paths = bold + ? new String[]{"C:/Windows/Fonts/simhei.ttf", "C:/Windows/Fonts/msyhbd.ttf", "C:/Windows/Fonts/simsun.ttf"} + : new String[]{"C:/Windows/Fonts/simfang.ttf", "C:/Windows/Fonts/simsun.ttf", "C:/Windows/Fonts/msyh.ttf"}; + for (String path : paths) { + File file = new File(path); + if (file.exists()) { + return PDType0Font.load(document, file); + } + } + throw new IOException("未找到中文字体文件"); + } + + private static class PdfSegment { + private final String text; + private final boolean bold; + private final boolean underline; + private final float minWidth; + + private PdfSegment(String text, boolean bold, boolean underline, float minWidth) { + this.text = text == null ? "" : text; + this.bold = bold; + this.underline = underline; + this.minWidth = minWidth; + } + + private static PdfSegment text(String text) { + return new PdfSegment(text, false, false, 0); + } + + private static PdfSegment field(String text, float minWidth) { + return new PdfSegment(text, false, true, minWidth); + } + } + + private static class PdfWriter { + private final PDPageContentStream content; + private final PDType0Font font; + private final PDType0Font boldFont; + + private PdfWriter(PDPageContentStream content, PDType0Font font, PDType0Font boldFont) { + this.content = content; + this.font = font; + this.boldFont = boldFont; + } + + private void center(String text, float size, float y, boolean bold) throws IOException { + PDType0Font useFont = bold ? boldFont : font; + float width = useFont.getStringWidth(text) / 1000 * size; + text(text, size, (PDRectangle.A4.getWidth() - width) / 2, y, bold); + } + + private void text(String text, float size, float x, float y, boolean bold) throws IOException { + if (StrUtil.isBlank(text)) { + return; + } + content.beginText(); + content.setFont(bold ? boldFont : font, size); + content.newLineAtOffset(x, y); + content.showText(text); + content.endText(); + } + + private void field(String text, float size, float x, float y, float minWidth) throws IOException { + PDType0Font useFont = font; + float textWidth = StrUtil.isBlank(text) ? 0 : useFont.getStringWidth(text) / 1000 * size; + field(text, size, x, y, Math.max(minWidth, textWidth + 6), textWidth); + } + + private void field(String text, float size, float x, float y, float width, float textWidth) throws IOException { + content.moveTo(x, y - 3); + content.lineTo(x + width, y - 3); + content.stroke(); + if (StrUtil.isNotBlank(text)) { + text(text, size, x + Math.max(3, (width - textWidth) / 2), y, false); + } + } + + private float paragraph(List segments, float x, float y, float maxWidth, float size, float lineHeight, float firstLineIndent) throws IOException { + float cursorX = x + firstLineIndent; + float cursorY = y; + boolean lineStart = true; + for (PdfSegment segment : segments) { + if (segment.underline) { + float segmentWidth = fieldWidth(segment.text, size, segment.minWidth); + if (!lineStart && cursorX + segmentWidth > x + maxWidth) { + cursorX = x; + cursorY -= lineHeight; + lineStart = true; + } + if (lineStart && cursorX + segmentWidth > x + maxWidth && StrUtil.isNotBlank(segment.text)) { + segmentWidth = Math.max(segment.minWidth, x + maxWidth - cursorX); + } + float textWidth = StrUtil.isBlank(segment.text) ? 0 : font.getStringWidth(segment.text) / 1000 * size; + field(segment.text, size, cursorX, cursorY, segmentWidth, textWidth); + cursorX += segmentWidth; + lineStart = false; + continue; + } + for (int i = 0; i < segment.text.length(); i++) { + String ch = String.valueOf(segment.text.charAt(i)); + PDType0Font useFont = segment.bold ? boldFont : font; + float charWidth = useFont.getStringWidth(ch) / 1000 * size; + if (!lineStart && cursorX + charWidth > x + maxWidth) { + cursorX = x; + cursorY -= lineHeight; + lineStart = true; + } + text(ch, size, cursorX, cursorY, segment.bold); + cursorX += charWidth; + lineStart = false; + } + } + return cursorY; + } + + private float fieldWidth(String text, float size, float minWidth) throws IOException { + float textWidth = StrUtil.isBlank(text) ? 0 : font.getStringWidth(text) / 1000 * size; + return Math.max(minWidth, textWidth + 6); + } + } + + private String defaultIfBlank(String value, String defaultValue) { + return StrUtil.isBlank(value) ? defaultValue : value; + } + + private String currentJobNo() { + View_user user = tourLedgerService.dao().fetch(View_user.class, Cnd.where(View_user::getId, "=", SecurityUtil.getUserId())); + return user == null ? SecurityUtil.getUserLoginname() : defaultIfBlank(user.getLoginname(), SecurityUtil.getUserLoginname()); + } + + private String getOrderColumn(String orderName) { + if ("year".equals(orderName)) { + return "t.`year`"; + } + if ("jobNo".equals(orderName)) { + return "t.jobNo"; + } + if ("userName".equals(orderName)) { + return "t.userName"; + } + if ("lineName".equals(orderName)) { + return "t.lineName"; + } + if ("travelPeriod".equals(orderName)) { + return "COALESCE(m.travelStartTime, tp.travelPeriod)"; + } + if ("lineType".equals(orderName)) { + return "t.lineType"; + } + if ("signupTime".equals(orderName)) { + return "t.signupTime"; + } + if ("familyCount".equals(orderName)) { + return "familyCount"; + } + if ("joined".equals(orderName)) { + return "t.joined"; + } + if ("curTaskName".equals(orderName)) { + return "curTaskName"; + } + if ("instanceState".equals(orderName)) { + return "ins.state"; + } + return "t.signupTime"; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourPlaceholderController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourPlaceholderController.java new file mode 100644 index 00000000..546d2f76 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourPlaceholderController.java @@ -0,0 +1,13 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.mvc.annotation.At; + +/** + * 分阶段建设的菜单占位入口。 + */ +@IocBean +@At("/platform/thirtyTeachTour") +public class ThirtyTeachTourPlaceholderController { + +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSchoolUnionApprovalController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSchoolUnionApprovalController.java new file mode 100644 index 00000000..7b2bbbea --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSchoolUnionApprovalController.java @@ -0,0 +1,600 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaMode; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.flow.enums.ProcessTaskStateEnum; +import com.budwk.app.sys.views.View_user; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedger; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerDirectRelative; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerFamily; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerDirectRelativeService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerFamilyService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerService; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import java.time.LocalDate; +import java.util.List; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/schoolUnionApproval") +public class ThirtyTeachTourSchoolUnionApprovalController { + + private static final String WORKFLOW_KEY = "LXYBZXQSXL"; + private static final String TASK_DISPLAY_NAME = "校工会审核"; + + @Inject + private ThirtyTeachTourLedgerService tourLedgerService; + + @Inject + private ThirtyTeachTourLedgerFamilyService tourLedgerFamilyService; + + @Inject + private ThirtyTeachTourLedgerDirectRelativeService tourLedgerDirectRelativeService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUnionApproval/index.html") + @SaCheckPermission(value = {"thirtyTeachTour.schoolUnionApproval", "h5.thirtyTeachTour.schoolUnionApproval"}, mode = SaMode.OR) + public void index() { + } + + @At("/h5") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/schoolUnionApproval/index.html") + @SaCheckPermission(value = {"thirtyTeachTour.schoolUnionApproval", "h5.thirtyTeachTour.schoolUnionApproval"}, mode = SaMode.OR) + public void h5() { + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.schoolUnionApproval", "h5.thirtyTeachTour.schoolUnionApproval"}, mode = SaMode.OR) + public Result pageData(PageForm pageForm, Boolean audit, Integer startYear, Integer endYear, String keyword, String unionId, String lineId, String travelPeriod, String lineType) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, unionId, lineId, travelPeriod, lineType); + + Sql countSql = Sqls.create(""" + SELECT COUNT(DISTINCT task.id) + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + t.*, + ins.id AS instanceId, + ins.businessNo, + ins.state AS instanceState, + ins.variable AS instanceVariable, + ins.processDefineId AS instanceProcessDefineId, + task.id AS taskId, + task.taskName AS taskKey, + task.displayName AS taskName, + task.taskType, + task.performType AS taskPerformType, + task.taskState, + task.finishTime, + task.taskParentId, + task.variable AS taskVariable, + IFNULL(GROUP_CONCAT(DISTINCT nt.displayName), '结束') AS curTaskName, + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS currentLineName, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE tp.travelPeriod + END AS travelPeriod, + IFNULL(f.familyCount, 0) AS familyCount + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN wf_process_task nt ON nt.processInstanceId = ins.id AND nt.taskState = 10 + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + LEFT JOIN ( + SELECT + `year`, + lineId, + GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND lineId IS NOT NULL + AND lineId <> '' + GROUP BY `year`, lineId + ) tp ON (t.matterId IS NULL OR t.matterId = '') AND tp.`year` = t.`year` AND tp.lineId = t.lineId + $condition + GROUP BY task.id + ORDER BY $orderColumn $orderBy, task.createdAt DESC, t.signupTime DESC, t.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "ascending".equals(pageForm.getPageOrderBy()) ? "asc" : "desc"); + listSql.setPager(tourLedgerService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(listSql); + + List list = listSql.getList(NutMap.class); + list.forEach(item -> item.put("lineName", item.getString("currentLineName"))); + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, list); + return Result.success(pagination); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.schoolUnionApproval", "h5.thirtyTeachTour.schoolUnionApproval"}, mode = SaMode.OR) + public Result detail(String id) { + ThirtyTeachTourLedger ledger = fetchAuditLedger(id); + if (ledger == null) { + return Result.error("报名记录不存在或无权查看"); + } + fillLedgerContactFallback(ledger); + ledger.setLineName(getCurrentLineName(ledger)); + Cnd familyCnd = Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId()) + .and(ThirtyTeachTourLedgerFamily::getDelFlag, "=", false); + familyCnd.asc(ThirtyTeachTourLedgerFamily::getCreatedAt); + ThirtyTeachTourLedgerDirectRelative directRelative = tourLedgerDirectRelativeService.fetch( + Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId()) + .and(ThirtyTeachTourLedgerDirectRelative::getDelFlag, "=", false)); + NutMap signupConfig = getSignupConfig(ledger); + return Result.success(NutMap.NEW() + .addv("ledger", ledger) + .addv("travelPeriod", getTravelPeriod(ledger)) + .addv("families", tourLedgerFamilyService.query(familyCnd)) + .addv("directRelative", directRelative) + .addv("allowFamily", signupConfig.getBoolean("allowFamily", false)) + .addv("fillBedInfo", signupConfig.getBoolean("fillBedInfo", true)) + .addv("directFamilyUnitLine", signupConfig.getBoolean("directFamilyUnitLine", false))); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.schoolUnionApproval", "h5.thirtyTeachTour.schoolUnionApproval"}, mode = SaMode.OR) + public Result unionOptions(Boolean audit, Integer startYear, Integer endYear, String keyword, String lineId, String travelPeriod, String lineType) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, null, lineId, travelPeriod, lineType); + cnd.and("t.unionId", "IS NOT", null); + cnd.and("t.unionId", "<>", ""); + + Sql sql = Sqls.create(""" + SELECT DISTINCT + t.unionId AS id, + COALESCE(NULLIF(u.name, ''), t.unionName) AS name, + u.unionCode + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union u ON u.id = t.unionId + $condition + ORDER BY u.unionCode ASC, name ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.schoolUnionApproval", "h5.thirtyTeachTour.schoolUnionApproval"}, mode = SaMode.OR) + public Result lineOptions(Boolean audit, Integer startYear, Integer endYear, String travelPeriod, String lineType, String unionId, String keyword) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, unionId, null, travelPeriod, lineType); + cnd.and("t.lineName", "IS NOT", null); + cnd.and("t.lineName", "<>", ""); + + Sql sql = Sqls.create(""" + SELECT DISTINCT + CASE + WHEN IFNULL(t.lineId, '') <> '' THEN CONCAT(t.lineId, '|', IFNULL(m.unionId, '')) + ELSE CONCAT('legacy:', t.lineName, '|', IFNULL(m.unionId, '')) + END AS lineId, + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS lineName + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + $condition + ORDER BY lineName ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.schoolUnionApproval", "h5.thirtyTeachTour.schoolUnionApproval"}, mode = SaMode.OR) + public Result travelPeriodOptions(Boolean audit, Integer startYear, Integer endYear, String lineId, String lineType, String unionId, String keyword) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, unionId, lineId, null, lineType); + cnd.and("m.travelStartTime", "IS NOT", null); + cnd.and("m.travelStartTime", "<>", ""); + cnd.and("m.travelEndTime", "IS NOT", null); + cnd.and("m.travelEndTime", "<>", ""); + + Sql sql = Sqls.create(""" + SELECT DISTINCT CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) AS travelPeriod + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + $condition + ORDER BY travelPeriod ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.schoolUnionApproval", "h5.thirtyTeachTour.schoolUnionApproval"}, mode = SaMode.OR) + public Result lineTypeOptions(Boolean audit, Integer startYear, Integer endYear, String lineId, String travelPeriod, String unionId, String keyword) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, unionId, lineId, travelPeriod, null); + cnd.and("t.lineType", "IS NOT", null); + cnd.and("t.lineType", "<>", ""); + + Sql sql = Sqls.create(""" + SELECT DISTINCT t.lineType + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + $condition + ORDER BY t.lineType ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + private Cnd buildAuditCnd(Boolean audit, Integer startYear, Integer endYear, String keyword, String unionId, String lineId, String travelPeriod, String lineType) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.and("def.name", "=", WORKFLOW_KEY); + cnd.and("task.displayName", "=", TASK_DISPLAY_NAME); + cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId())); + appendAuditStateFilter(cnd, audit); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.andEX("t.unionId", "=", unionId); + cnd.andEX("t.lineType", "=", lineType); + appendLineFilter(cnd, lineId); + appendTravelPeriodFilter(cnd, travelPeriod); + appendKeywordFilter(cnd, keyword); + return cnd; + } + + private void appendAuditStateFilter(Cnd cnd, Boolean audit) { + if (Boolean.TRUE.equals(audit)) { + cnd.and("task.taskState", "in", List.of( + ProcessTaskStateEnum.FINISHED.getCode(), + ProcessTaskStateEnum.WITHDRAW.getCode(), + ProcessTaskStateEnum.INTERRUPT.getCode())); + return; + } + cnd.and("task.taskState", "=", ProcessTaskStateEnum.DOING.getCode()); + } + + private void appendKeywordFilter(Cnd cnd, String keyword) { + if (StrUtil.isBlank(keyword)) { + return; + } + SqlExpressionGroup group = new SqlExpressionGroup(); + group.orLike("t.userName", keyword.trim()); + group.orLike("t.jobNo", keyword.trim()); + group.orLike("t.lineName", keyword.trim()); + group.orLike("l.lineName", keyword.trim()); + cnd.and(group); + } + + private void appendTravelPeriodFilter(Cnd cnd, String travelPeriod) { + if (StrUtil.isBlank(travelPeriod)) { + return; + } + cnd.and("CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime)", "=", travelPeriod); + } + + private void appendLineFilter(Cnd cnd, String lineId) { + if (StrUtil.isBlank(lineId)) { + return; + } + LineFilter lineFilter = parseLineFilter(lineId); + if (lineFilter.getLineId().startsWith("legacy:")) { + SqlExpressionGroup legacyGroup = new SqlExpressionGroup(); + legacyGroup.or("t.lineId", "IS", null); + legacyGroup.or("t.lineId", "=", ""); + cnd.and(legacyGroup); + cnd.and("t.lineName", "=", lineFilter.getLineId().substring("legacy:".length())); + } else { + cnd.and("t.lineId", "=", lineFilter.getLineId()); + } + appendMatterUnionFilter(cnd, lineFilter.getUnionId()); + } + + private LineFilter parseLineFilter(String value) { + int delimiterIndex = value.indexOf("|"); + if (delimiterIndex < 0) { + return new LineFilter(value, null); + } + return new LineFilter(value.substring(0, delimiterIndex), value.substring(delimiterIndex + 1)); + } + + private void appendMatterUnionFilter(Cnd cnd, String unionId) { + if (unionId == null) { + return; + } + if (StrUtil.isBlank(unionId)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.or("m.unionId", "IS", null); + group.or("m.unionId", "=", ""); + cnd.and(group); + return; + } + cnd.and("m.unionId", "=", unionId); + } + + private String getOrderColumn(String orderName) { + if ("jobNo".equals(orderName)) { + return "t.jobNo"; + } + if ("userName".equals(orderName)) { + return "t.userName"; + } + if ("lineName".equals(orderName)) { + return """ + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END + """; + } + if ("travelPeriod".equals(orderName)) { + return "COALESCE(m.travelStartTime, tp.travelPeriod)"; + } + if ("lineType".equals(orderName)) { + return "t.lineType"; + } + if ("signupTime".equals(orderName)) { + return "t.signupTime"; + } + if ("familyCount".equals(orderName)) { + return "familyCount"; + } + if ("instanceState".equals(orderName)) { + return "ins.state"; + } + return "task.createdAt"; + } + + private ThirtyTeachTourLedger fetchAuditLedger(String id) { + if (StrUtil.isBlank(id)) { + return null; + } + Sql sql = Sqls.create(""" + SELECT COUNT(1) + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + WHERE t.delFlag = 0 + AND t.id = @id + AND def.name = @workflowKey + AND task.displayName = @taskDisplayName + AND ta.actorId = @actorId + """); + sql.setParam("id", id); + sql.setParam("workflowKey", WORKFLOW_KEY); + sql.setParam("taskDisplayName", TASK_DISPLAY_NAME); + sql.setParam("actorId", SecurityUtil.getUserId()); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt() > 0 ? tourLedgerService.fetch(id) : null; + } + + private void fillLedgerContactFallback(ThirtyTeachTourLedger ledger) { + if (ledger == null || (StrUtil.isNotBlank(ledger.getIdCard()) && StrUtil.isNotBlank(ledger.getMobile()))) { + return; + } + // Approval detail keeps ledger contact data first; blank contact fields use the user profile snapshot for display only. + View_user user = tourLedgerService.dao().fetch(View_user.class, Cnd.where(View_user::getLoginname, "=", ledger.getJobNo())); + if (user == null) { + return; + } + if (StrUtil.isBlank(ledger.getIdCard())) { + ledger.setIdCard(user.getIdCard()); + } + if (StrUtil.isBlank(ledger.getMobile())) { + ledger.setMobile(user.getMobile()); + } + } + + private String getCurrentLineName(ThirtyTeachTourLedger ledger) { + if (ledger == null) { + return ""; + } + Sql sql = Sqls.create(""" + SELECT CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS lineName + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + WHERE t.id = @ledgerId + """); + sql.setParam("ledgerId", ledger.getId()); + sql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(sql); + return StrUtil.blankToDefault(sql.getString(), ledger.getLineName()); + } + + private String getTravelPeriod(ThirtyTeachTourLedger ledger) { + if (ledger == null || ledger.getYear() == null || StrUtil.isBlank(ledger.getLineId())) { + return ""; + } + if (StrUtil.isNotBlank(ledger.getMatterId())) { + Sql exactSql = Sqls.create(""" + SELECT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE '' + END AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND id = @matterId + """); + exactSql.setParam("matterId", ledger.getMatterId()); + exactSql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(exactSql); + return exactSql.getString(); + } + Sql sql = Sqls.create(""" + SELECT GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND `year` = @year + AND lineId = @lineId + """); + sql.setParam("year", ledger.getYear()); + sql.setParam("lineId", ledger.getLineId()); + sql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(sql); + return sql.getString(); + } + + private NutMap getSignupConfig(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getLineId())) { + return NutMap.NEW().addv("allowFamily", false).addv("fillBedInfo", true).addv("directFamilyUnitLine", false); + } + Sql sql = Sqls.create(""" + SELECT + IFNULL(s.allowFamily, 0) AS allowFamily, + IFNULL(s.fillBedInfo, 1) AS fillBedInfo, + IFNULL(l.directFamilyUnitLine, 0) AS directFamilyUnitLine + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_setting s ON s.id = m.settingId AND s.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + WHERE t.id = @ledgerId + """); + sql.setParam("ledgerId", ledger.getId()); + sql.setCallback(Sqls.callback.map()); + tourLedgerService.dao().execute(sql); + NutMap map = sql.getObject(NutMap.class); + if (map == null || map.isEmpty()) { + return NutMap.NEW().addv("allowFamily", false).addv("fillBedInfo", true).addv("directFamilyUnitLine", false); + } + return map; + } + + private static class LineFilter { + private final String lineId; + private final String unionId; + + private LineFilter(String lineId, String unionId) { + this.lineId = lineId; + this.unionId = unionId; + } + + private String getLineId() { + return lineId; + } + + private String getUnionId() { + return unionId; + } + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSchoolUserAssignmentController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSchoolUserAssignmentController.java new file mode 100644 index 00000000..ae411ca3 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSchoolUserAssignmentController.java @@ -0,0 +1,279 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourUserAssignment; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourUserAssignmentService; +import org.apache.poi.ss.usermodel.Workbook; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.json.Json; +import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; + +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/schoolUserAssignment") +public class ThirtyTeachTourSchoolUserAssignmentController { + + @Inject + private ThirtyTeachTourUserAssignmentService tourUserAssignmentService; + + /** + * 校工会人员分配列表入口。 + */ + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUserAssignment/index.html") + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + public void index() { + } + + /** + * 分页查询人员分配记录,列表数据只来自人员分配表,默认由前端传入校工会分配类别。 + */ + @At + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + public Result pageData(PageForm pageForm, Integer year, String settingId, String matterId, String unionId, + String personType, String keyword, String assignSource, Boolean cancelled) { + return Result.success(tourUserAssignmentService.schoolAssignmentPage(pageForm, year, settingId, matterId, + unionId, personType, keyword, assignSource, cancelled)); + } + + /** + * 按校工会人员分配页面当前查询条件导出数据,导出范围不受分页限制。 + */ + @At + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + @Ok("void") + public void exportData(PageForm pageForm, Integer year, String settingId, String matterId, String unionId, + String personType, String keyword, String assignSource, Boolean cancelled, HttpServletResponse response) { + List rows = tourUserAssignmentService.schoolAssignmentExportRows(pageForm, year, settingId, matterId, + unionId, personType, keyword, assignSource, cancelled); + ExportParams exportParams = new ExportParams(); + exportParams.setSheetName("校工会人员分配"); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, assignmentExportEntities(), rows); + CommonDownloadUtil.download("校工会人员分配.xlsx", workbook, response); + } + + /** + * 按页面当前查询条件给人员分配列表中的可报名人员发送提醒。 + * 参数包括列表筛选条件和 content 提醒内容;返回 Result,data.receiverCount 表示实际接收人数。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + @SLog(type = "tour", tag = "疗休养校工会人员分配", msg = "发送校工会人员分配提醒") + public Result sendReminder(PageForm pageForm, Integer year, String settingId, String matterId, String unionId, + String personType, String keyword, String assignSource, Boolean cancelled, String content) { + if (StrUtil.isBlank(content)) { + return Result.error("请输入提醒内容"); + } + try { + return Result.success(tourUserAssignmentService.sendSchoolAssignmentReminder(pageForm, year, settingId, + matterId, unionId, personType, keyword, assignSource, cancelled, content)); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 分页查询候选人员,候选范围由疗休养配置的可参加人员范围决定;userIds 仅作为人员选择器筛选条件。 + */ + @At + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + public Result candidatePageData(PageForm pageForm, String settingId, String unionId, String keyword, @Param("userIds") String userIds) { + return Result.success(tourUserAssignmentService.schoolCandidatePage(pageForm, settingId, unionId, keyword, parseUserIds(userIds))); + } + + /** + * 查询可用于分配的疗休养配置。 + */ + @At + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + public Result settingOptions(Integer year) { + return Result.success(tourUserAssignmentService.listEnabledSettingOptions(year)); + } + + /** + * 查询校工会可分配线路选项,选项携带事项、线路和旅行社快照信息。 + */ + @At + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + public Result matterOptions(String settingId) { + return Result.success(tourUserAssignmentService.listMatterOptions(settingId)); + } + + /** + * 查询分工会选项,供筛选和候选人员过滤使用。 + */ + @At + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + public Result unionOptions() { + return Result.success(tourUserAssignmentService.listUnionOptions()); + } + + /** + * 保存校工会人员分配,保存时数据来源固定为 SCHOOL_UNION。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + @SLog(type = "tour", tag = "疗休养校工会人员分配", msg = "保存校工会人员分配") + public Result doAssign(String settingId, String matterId, String personType, @Param("userIds") String userIds) { + List parsedUserIds; + try { + parsedUserIds = parseUserIds(userIds); + } catch (Exception e) { + return Result.error("人员参数错误"); + } + try { + return Result.success(tourUserAssignmentService.assignSchoolUsers(settingId, matterId, personType, parsedUserIds)); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 保存校工会人员分配明细,支持弹窗候选列表中每个人单独选择分配线路。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + @SLog(type = "tour", tag = "疗休养校工会人员分配", msg = "保存校工会人员分配明细") + public Result doAssignItems(String settingId, @Param("assignItems") String assignItems) { + List parsedItems; + try { + parsedItems = parseAssignItems(assignItems); + } catch (Exception e) { + return Result.error("人员分配明细参数错误"); + } + try { + return Result.success(tourUserAssignmentService.assignSchoolUsers(settingId, parsedItems)); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 给校工会已分配人员补选分配线路,具体回写分配表和写台账逻辑由 service 统一处理。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + @SLog(type = "tour", tag = "疗休养校工会人员分配", msg = "选择校工会分配事项") + public Result selectMatter(String id, String matterId) { + try { + return Result.success(tourUserAssignmentService.selectSchoolAssignmentMatter(id, matterId)); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 恢复校工会已取消退出的人员分配记录,只恢复状态,不恢复已删除台账。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment.cancelRestore") + @SLog(type = "tour", tag = "疗休养校工会人员分配", msg = "取消退出校工会人员分配") + public Result restoreCancel(String id) { + try { + tourUserAssignmentService.restoreCancelledAssignmentBySource(id, ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_SCHOOL_UNION); + return Result.success(); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 删除前检查该分配记录是否已经存在对应报名台账。 + */ + @At + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + public Result deleteInfo(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + return Result.success(tourUserAssignmentService.schoolDeleteInfo(id)); + } + + /** + * 删除校工会人员分配记录,只删除 SCHOOL_UNION 来源的数据。 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.schoolUserAssignment") + @SLog(type = "tour", tag = "疗休养校工会人员分配", msg = "删除校工会人员分配") + public Result doDelete(String id, Boolean deleteLedger) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + try { + tourUserAssignmentService.deleteBySource(id, ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_SCHOOL_UNION, Boolean.TRUE.equals(deleteLedger)); + return Result.success(); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + private List parseUserIds(String userIds) { + if (StrUtil.isBlank(userIds)) { + return Collections.emptyList(); + } + List list = Json.fromJsonAsList(String.class, userIds); + return Lang.isEmpty(list) ? Collections.emptyList() : list; + } + + private List parseAssignItems(String assignItems) { + if (StrUtil.isBlank(assignItems)) { + return Collections.emptyList(); + } + List list = Json.fromJsonAsList(NutMap.class, assignItems); + return Lang.isEmpty(list) ? Collections.emptyList() : list; + } + + /** + * 定义人员分配导出字段,保持与页面列表核心字段一致并补充人员基础信息。 + */ + private List assignmentExportEntities() { + List entities = new ArrayList<>(); + entities.add(new ExcelExportEntity("年度", "year", 12)); + entities.add(new ExcelExportEntity("疗休养配置", "settingName", 24)); + entities.add(new ExcelExportEntity("姓名", "userName", 14)); + entities.add(new ExcelExportEntity("工号", "loginName", 16)); + entities.add(new ExcelExportEntity("性别", "gender", 10)); + entities.add(new ExcelExportEntity("年龄", "age", 10)); + entities.add(new ExcelExportEntity("身份证号", "idCard", 24)); + entities.add(new ExcelExportEntity("手机号", "mobile", 18)); + entities.add(new ExcelExportEntity("所属分工会", "unionName", 24)); + entities.add(new ExcelExportEntity("所在单位", "unitName", 24)); + entities.add(new ExcelExportEntity("线路", "lineName", 30)); + entities.add(new ExcelExportEntity("出行时间", "travelPeriod", 26)); + entities.add(new ExcelExportEntity("乘车地点", "boardingPlace", 18)); + entities.add(new ExcelExportEntity("分配类别", "assignSourceText", 16)); + entities.add(new ExcelExportEntity("人员类型", "personTypeText", 14)); + entities.add(new ExcelExportEntity("是否退出", "cancelledText", 14)); + entities.add(new ExcelExportEntity("分配时间", "assignedAt", 22)); + entities.add(new ExcelExportEntity("分配人", "assignedName", 14)); + return entities; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSettingController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSettingController.java new file mode 100644 index 00000000..fcd3e819 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSettingController.java @@ -0,0 +1,342 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourSetting; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourSettingLot; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourSettingService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourUserAssignmentService; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.dao.Cnd; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.json.Json; +import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/setting") +public class ThirtyTeachTourSettingController { + + private static final String SIGNUP_ELIGIBILITY_MODE_SCOPE_GROUP = "SCOPE_GROUP"; + private static final String SIGNUP_ELIGIBILITY_MODE_ASSIGNED_USER = "ASSIGNED_USER"; + + @Inject + private ThirtyTeachTourSettingService tourSettingService; + + @Inject + private ThirtyTeachTourUserAssignmentService tourUserAssignmentService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/setting/index.html") + @SaCheckPermission("thirtyTeachTour.setting") + public void index() { + } + + @At + @SaCheckPermission("thirtyTeachTour.setting") + public Result pageData(PageForm pageForm, Integer year, String configName) { + Cnd cnd = Cnd.NEW(); + cnd.andEX(ThirtyTeachTourSetting::getYear, "=", year); + cnd.and(Cnd.likeEX(ThirtyTeachTourSetting::getConfigName, configName)); + + cnd.desc(ThirtyTeachTourSetting::getYear).asc(ThirtyTeachTourSetting::getSortNo).desc(ThirtyTeachTourSetting::getCreatedAt); + Pagination pagination = tourSettingService.listPage( + pageForm.getPageNumber(), + pageForm.getPageSize(), + ThirtyTeachTourSetting.class, + cnd + ); + return Result.success(pagination); + } + + @At + @SaCheckPermission("thirtyTeachTour.setting") + public Result detail(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + ThirtyTeachTourSetting tourSetting = tourSettingService.fetch(id); + if (tourSetting == null) { + return Result.error("配置不存在"); + } + // 编辑页面需要一起带出标段,按标段值倒序保持与老疗休养配置一致。 + Cnd lotCnd = Cnd.NEW(); + lotCnd.desc(ThirtyTeachTourSettingLot::getLotValue); + tourSettingService.dao().fetchLinks(tourSetting, "lots", lotCnd); + tourSetting.setUnionQuotas(tourSettingService.listUnionQuotaRows(id)); + return Result.success(tourSetting); + } + + @At + @SaCheckPermission("thirtyTeachTour.setting") + public Result previousYearInfo(Integer year) { + if (year == null) { + return Result.error("请先选择年度"); + } + List settings = tourSettingService.query(Cnd.where(ThirtyTeachTourSetting::getYear, "=", year - 1) + .and(ThirtyTeachTourSetting::getDelFlag, "=", false) + .desc(ThirtyTeachTourSetting::getUpdatedAt) + .desc(ThirtyTeachTourSetting::getCreatedAt)); + if (Lang.isEmpty(settings)) { + return Result.error("未找到上一年度配置"); + } + ThirtyTeachTourSetting tourSetting = settings.get(0); + Cnd lotCnd = Cnd.NEW(); + lotCnd.desc(ThirtyTeachTourSettingLot::getLotValue); + tourSettingService.dao().fetchLinks(tourSetting, "lots", lotCnd); + tourSetting.setUnionQuotas(tourSettingService.listUnionQuotaRows(tourSetting.getId())); + return Result.success(tourSetting); + } + + @At + @SaCheckPermission("thirtyTeachTour.setting") + public Result unionQuotaRows(String settingId) { + // 新增配置时 settingId 为空,service 会返回所有分工会的空名额行;编辑时合并已保存名额。 + return Result.success(tourSettingService.listUnionQuotaRows(settingId)); + } + + @At + @SaCheckPermission("thirtyTeachTour.setting") + public Result unionQuotaOverview(String settingId) { + int schoolFormalAssignedCount = tourUserAssignmentService.countSchoolFormalAssignedUsers(settingId); + return Result.success(NutMap.NEW().addv("schoolFormalAssignedCount", schoolFormalAssignedCount)); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.setting") + @SLog(type = "tour", tag = "疗休养设置", msg = "保存疗休养配置") + public Result doSubmit(ThirtyTeachTourSetting tourSetting, + @Param(value = "lots") String lots, + @Param(value = "unionQuotas") String unionQuotas, + @Param(value = "lotDeleteList") String[] lotDeleteList) { + Result checkResult = check(tourSetting); + if (checkResult != null) { + return checkResult; + } + + Cnd sameNameCnd = Cnd.where(ThirtyTeachTourSetting::getYear, "=", tourSetting.getYear()) + .and(ThirtyTeachTourSetting::getConfigName, "=", tourSetting.getConfigName()); + if (StrUtil.isNotBlank(tourSetting.getId())) { + sameNameCnd.and(ThirtyTeachTourSetting::getId, "<>", tourSetting.getId()); + } + if (tourSettingService.count(sameNameCnd) > 0) { + return Result.error("同年度下配置名称已存在"); + } + + // 布尔值给默认值,避免前端未传时出现空状态。 + int schoolFormalAssignedCount = tourUserAssignmentService.countSchoolFormalAssignedUsers(tourSetting.getId()); + int branchTotalQuota = Math.max(defaultInt(tourSetting.getTravelPeopleQuota()) - schoolFormalAssignedCount, 0); + String quotaLimitMessage = tourSettingService.checkBranchFormalQuotaLimit(unionQuotas, branchTotalQuota); + if (StrUtil.isNotBlank(quotaLimitMessage)) { + return Result.error(quotaLimitMessage); + } + + if (tourSetting.getEnabled() == null) { + tourSetting.setEnabled(true); + } + if (tourSetting.getAllowFamily() == null) { + tourSetting.setAllowFamily(false); + } + if (tourSetting.getFillBedInfo() == null) { + tourSetting.setFillBedInfo(true); + } + if (tourSetting.getHomeSignupEntryEnabled() == null) { + tourSetting.setHomeSignupEntryEnabled(false); + } + if (!Boolean.TRUE.equals(tourSetting.getHomeSignupEntryEnabled())) { + tourSetting.setHomeSignupEntryImage(""); + } else { + tourSetting.setHomeSignupEntryImage(normalizeSingleHomeSignupEntryImage(tourSetting.getHomeSignupEntryImage())); + } + // 报名资格校验方式默认按人员分配表校验,后续报名校验切换会读取该配置。 + if (StrUtil.isBlank(tourSetting.getSignupEligibilityMode())) { + tourSetting.setSignupEligibilityMode(SIGNUP_ELIGIBILITY_MODE_ASSIGNED_USER); + } + if (StrUtil.isBlank(tourSetting.getOutProvinceRatioType())) { + tourSetting.setOutProvinceRatioType("当年报名人数"); + } + if (!"固定人数".equals(tourSetting.getOutProvinceRatioType())) { + tourSetting.setOutProvinceFixedPeople(0); + } + // 前端按项目既有约定把子表数组序列化提交,这里显式解析,避免自动绑定漏掉标段。 + if (StrUtil.isNotBlank(lots)) { + try { + tourSetting.setLots(Json.fromJsonAsList(ThirtyTeachTourSettingLot.class, lots)); + } catch (Exception e) { + return Result.error("标段值和标段费用必须为整数"); + } + } + tourSetting.setLots(normalizeLots(tourSetting)); + Result lotCheckResult = checkLots(tourSetting.getLots()); + if (lotCheckResult != null) { + return lotCheckResult; + } + if (StrUtil.isBlank(tourSetting.getId())) { + if (Lang.isEmpty(tourSetting.getLots())) { + tourSettingService.insert(tourSetting); + } else { + tourSettingService.insertWith(tourSetting, "lots"); + } + tourSettingService.saveUnionQuotas(tourSetting.getId(), unionQuotas); + } else { + // 编辑时先处理页面删除的标段,再保存配置和当前标段行。 + if (Lang.isNotEmpty(lotDeleteList)) { + tourSettingService.dao().clear(ThirtyTeachTourSettingLot.class, Cnd.where(ThirtyTeachTourSettingLot::getId, "in", lotDeleteList)); + } + tourSettingService.updateIgnoreNull(tourSetting); + saveLots(tourSetting); + tourSettingService.saveUnionQuotas(tourSetting.getId(), unionQuotas); + } + return Result.success(); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.setting") + @SLog(type = "tour", tag = "疗休养设置", msg = "删除疗休养配置") + public Result doDelete(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + tourSettingService.dao().clear(ThirtyTeachTourSettingLot.class, Cnd.where(ThirtyTeachTourSettingLot::getSettingId, "=", id)); + tourSettingService.clearUnionQuotas(id); + tourUserAssignmentService.clearBySettingId(id); + tourSettingService.delete(id); + return Result.success(); + } + + private List normalizeLots(ThirtyTeachTourSetting tourSetting) { + if (tourSetting == null || Lang.isEmpty(tourSetting.getLots())) { + return Collections.emptyList(); + } + // 过滤前端空行,避免误写入只有ID或空字段的标段记录。 + return tourSetting.getLots().stream() + .filter(item -> item != null + && (StrUtil.isNotBlank(item.getLotName()) + || StrUtil.isNotBlank(item.getLotValue()) + || item.getActivityCost() != null)) + .peek(item -> item.setSettingId(tourSetting.getId())) + .collect(Collectors.toList()); + } + + private String normalizeSingleHomeSignupEntryImage(String image) { + // 首页报名入口图片仅允许保存一张,兼容逗号分隔的历史多图路径时只保留第一张。 + if (StrUtil.isBlank(image)) { + return ""; + } + List images = StrUtil.splitTrim(image, ","); + return Lang.isEmpty(images) ? "" : images.get(0); + } + + private void saveLots(ThirtyTeachTourSetting tourSetting) { + List lots = tourSetting.getLots(); + if (Lang.isEmpty(lots)) { + return; + } + lots.forEach(item -> item.setSettingId(tourSetting.getId())); + tourSettingService.dao().insertOrUpdate(lots); + } + + private Result check(ThirtyTeachTourSetting tourSetting) { + if (tourSetting == null) { + return Result.error("参数错误"); + } + if (tourSetting.getYear() == null) { + return Result.error("年度不能为空"); + } + if (StrUtil.isBlank(tourSetting.getConfigName())) { + return Result.error("配置名称不能为空"); + } + Result boardingPlaceCheck = normalizeBoardingPlace(tourSetting); + if (boardingPlaceCheck != null) { + return boardingPlaceCheck; + } + if (tourSetting.getTravelPeopleQuota() != null && tourSetting.getTravelPeopleQuota() < 0) { + return Result.error("出行人数指标不能小于0"); + } + if (StrUtil.isNotBlank(tourSetting.getSignupEligibilityMode()) + && !SIGNUP_ELIGIBILITY_MODE_SCOPE_GROUP.equals(tourSetting.getSignupEligibilityMode()) + && !SIGNUP_ELIGIBILITY_MODE_ASSIGNED_USER.equals(tourSetting.getSignupEligibilityMode())) { + return Result.error("报名资格校验方式不正确"); + } + if (tourSetting.getMinGroupPeople() != null && tourSetting.getMaxGroupPeople() != null + && tourSetting.getMinGroupPeople() > tourSetting.getMaxGroupPeople()) { + return Result.error("最少成团人数不能大于最多成团人数"); + } + if (tourSetting.getCycleStartYear() != null && tourSetting.getCycleEndYear() != null + && tourSetting.getCycleStartYear() > tourSetting.getCycleEndYear()) { + return Result.error("周期开始年度不能大于周期结束年度"); + } + if (StrUtil.isNotBlank(tourSetting.getOutProvinceRatioType()) + && !"当年参加人数".equals(tourSetting.getOutProvinceRatioType()) + && !"当年报名人数".equals(tourSetting.getOutProvinceRatioType()) + && !"可参加教职工人数".equals(tourSetting.getOutProvinceRatioType()) + && !"固定人数".equals(tourSetting.getOutProvinceRatioType())) { + return Result.error("省外人数占比类型不正确"); + } + if ("固定人数".equals(tourSetting.getOutProvinceRatioType()) + && (tourSetting.getOutProvinceFixedPeople() == null || tourSetting.getOutProvinceFixedPeople() < 0)) { + return Result.error("固定人数必须大于等于0"); + } + return null; + } + + private int defaultInt(Integer value) { + return value == null || value < 0 ? 0 : value; + } + + private Result normalizeBoardingPlace(ThirtyTeachTourSetting tourSetting) { + if (StrUtil.isBlank(tourSetting.getBoardingPlace())) { + tourSetting.setBoardingPlace("[]"); + return null; + } + try { + List rows = Json.fromJsonAsList(NutMap.class, tourSetting.getBoardingPlace()); + if (Lang.isEmpty(rows)) { + tourSetting.setBoardingPlace("[]"); + return null; + } + // 乘车路线以 JSON 数组保存,只保留有效路线名称,避免页面空行写入配置。 + List normalizedRows = rows.stream() + .filter(item -> item != null && StrUtil.isNotBlank(item.getString("name"))) + .map(item -> NutMap.NEW().addv("name", item.getString("name").trim())) + .collect(Collectors.toList()); + tourSetting.setBoardingPlace(Json.toJson(normalizedRows)); + return null; + } catch (Exception e) { + return Result.error("乘车路线格式不正确"); + } + } + + private Result checkLots(List lots) { + if (Lang.isEmpty(lots)) { + return null; + } + for (int i = 0; i < lots.size(); i++) { + ThirtyTeachTourSettingLot lot = lots.get(i); + String rowNo = "第" + (i + 1) + "行"; + if (StrUtil.isBlank(lot.getLotValue()) || !lot.getLotValue().matches("^\\d+$")) { + return Result.error(rowNo + "标段值必须为整数"); + } + if (lot.getActivityCost() == null || lot.getActivityCost() < 0) { + return Result.error(rowNo + "标段费用必须为整数"); + } + } + return null; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSignupController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSignupController.java new file mode 100644 index 00000000..0790b740 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourSignupController.java @@ -0,0 +1,1911 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaMode; +import cn.hutool.core.lang.Dict; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.flow.constant.FlowConst; +import com.budwk.app.flow.engine.FlowEngine; +import com.budwk.app.flow.entity.ProcessInstance; +import com.budwk.app.flow.entity.ProcessTask; +import com.budwk.app.flow.enums.ProcessInstanceStateEnum; +import com.budwk.app.flow.enums.ProcessSubmitTypeEnum; +import com.budwk.app.flow.enums.ProcessTaskStateEnum; +import com.budwk.app.sys.models.Sys_dict; +import com.budwk.app.sys.models.Sys_union; +import com.budwk.app.sys.services.SysDictService; +import com.budwk.app.sys.views.View_user; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedger; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerDirectRelative; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerFamily; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLine; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourMatter; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourSetting; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourUserAssignment; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerDirectRelativeService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerFamilyService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourMatterService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourUserAssignmentService; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.json.Json; +import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/signup") +public class ThirtyTeachTourSignupController { + + private static final String DIRECT_FAMILY_WORKFLOW_KEY = "LXYBZXQSXL"; + + @Inject + private ThirtyTeachTourMatterService tourMatterService; + + @Inject + private ThirtyTeachTourUserAssignmentService tourUserAssignmentService; + + @Inject + private ThirtyTeachTourLedgerService tourLedgerService; + + @Inject + private ThirtyTeachTourLedgerFamilyService tourLedgerFamilyService; + + @Inject + private ThirtyTeachTourLedgerDirectRelativeService tourLedgerDirectRelativeService; + + @Inject + private SysDictService sysDictService; + + @Inject + private ActivityBasicScopeService activityBasicScopeService; + + @Inject + private FlowEngine flowEngine; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/signup/index.html") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public void index() { + } + + @At("/h5") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/signup/entry.html") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public void h5() { + } + + /** + * 移动端疗休养报名入口的信息确认页。 + * 用户先确认基础信息并保存到人员分配表,再进入线路选择页面。 + */ + @At("/h5/confirm") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/signup/confirm.html") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public void h5Confirm() { + } + + /** + * 移动端疗休养报名范围外提示页。 + * 当前登录人不存在人员分配记录时,从报名入口跳转到此页并引导返回首页。 + */ + @At("/h5/noAssignment") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/signup/noAssignment.html") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public void h5NoAssignment() { + } + + /** + * 移动端报名成功后展示服务须知页。 + * 用户点击“我已阅读”后返回线路选择页面。 + */ + @At("/h5/notice") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/signup/index.html") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public void h5Notice() { + } + + /** + * 查询移动端信息确认页数据。 + * 数据优先来自人员分配表;人员分配表不存在时返回 vw_user 基础信息供展示。 + * + * @return 信息确认表单数据和乘车地点选项 + */ + @At("/h5/confirmInfo") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result h5ConfirmInfo() { + return Result.success(tourUserAssignmentService.currentH5ConfirmInfo()); + } + + /** + * 保存移动端信息确认页数据。 + * 保存范围限制为当前年度既有人员分配记录,避免新增分配资格影响报名校验。 + * + * @param userName 姓名 + * @param gender 性别 + * @param age 年龄 + * @param idCard 身份证号 + * @param mobile 手机号 + * @param boardingPlace 乘车地点 + * @return 保存结果 + */ + @At("/h5/saveConfirmInfo") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result h5SaveConfirmInfo(String userName, String gender, Integer age, String idCard, String mobile, String boardingPlace) { + try { + tourUserAssignmentService.saveCurrentH5ConfirmInfo(userName, gender, age, idCard, mobile, boardingPlace); + return Result.success(); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + @At("/h5/serviceNotice") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result h5ServiceNotice() { + int currentYear = LocalDate.now().getYear(); + Cnd cnd = Cnd.where(ThirtyTeachTourSetting::getDelFlag, "=", false) + .and(ThirtyTeachTourSetting::getEnabled, "=", true) + .and(ThirtyTeachTourSetting::getYear, "=", currentYear); + cnd.asc(ThirtyTeachTourSetting::getSortNo); + cnd.desc(ThirtyTeachTourSetting::getCreatedAt); + ThirtyTeachTourSetting setting = tourLedgerService.dao().fetch(ThirtyTeachTourSetting.class, cnd); + if (setting == null) { + return Result.success(NutMap.NEW() + .addv("year", currentYear) + .addv("configName", "") + .addv("serviceNotice", "")); + } + return Result.success(NutMap.NEW() + .addv("year", setting.getYear()) + .addv("configName", defaultIfBlank(setting.getConfigName(), "")) + .addv("serviceNotice", defaultIfBlank(setting.getServiceNotice(), ""))); + } + + @At("/h5/signup") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/signup/list.html") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public void h5Signup() { + } + + @At("/h5/apply") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/signup/apply.html") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public void h5Apply() { + } + + @At("/h5/lineInfo") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/signup/lineInfo.html") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public void h5LineInfo() { + } + + @At("/h5/pageData") + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result h5PageData(PageForm pageForm, Integer year, String lineName, String lineType, String unionId, + String travelPeriod, Boolean directFamilyUnitLine) { + if (StrUtil.isBlank(pageForm.getPageOrderName())) { + pageForm.defaultSortAsc("lineName"); + } + Cnd cnd = buildQueryCnd(year, lineName, lineType, unionId); + appendTravelPeriodCnd(cnd, travelPeriod); + cnd.andEX("l.directFamilyUnitLine", "=", directFamilyUnitLine); + String currentJobNo = currentJobNo(); + + Sql countSql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourMatterService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + m.id AS matterId, + m.`year`, + m.unionId, + COALESCE(u.name, '校工会') AS unionName, + m.signupStartTime, + m.signupEndTime, + m.lineId, + l.lineName, + l.lineType, + l.directFamilyUnitLine, + l.mobileThumb AS lineMobileThumb, + a.agencyName AS travelAgencyName, + a.contactPhone, + a.mobileThumb AS agencyMobileThumb, + lot.lotName, + m.travelStartTime, + m.travelEndTime, + IFNULL(sc.signupCount, 0) AS signupCount, + IFNULL(sc.familyCount, 0) AS familyCount, + my.ledgerId, + my.instanceId, + my.instanceState, + my.taskKey, + my.startTaskId, + my.assignmentId, + IFNULL(my.assignmentCancelled, 0) AS assignmentCancelled, + IFNULL(my.canRevoke, 0) AS canRevoke, + CASE WHEN my.ledgerId IS NULL THEN 0 ELSE 1 END AS signed + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + LEFT JOIN thirty_teach_tour_travel_agency a ON a.id = l.travelAgencyId + LEFT JOIN thirty_teach_tour_setting_lot lot ON lot.id = l.lotId + LEFT JOIN ( + SELECT + t.matterId, + COUNT(1) + SUM(IFNULL(f.familyCount, 0)) AS signupCount, + SUM(IFNULL(f.familyCount, 0)) AS familyCount + FROM thirty_teach_tour_ledger t + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + WHERE t.delFlag = 0 + AND t.matterId IS NOT NULL + AND t.matterId <> '' + GROUP BY t.matterId + ) sc ON sc.matterId = m.id + LEFT JOIN ( + SELECT + t.matterId, + t.jobNo, + MAX(t.id) AS ledgerId, + MAX(ins.id) AS instanceId, + MAX(ins.state) AS instanceState, + MAX(task.taskName) AS taskKey, + MAX(ua.id) AS assignmentId, + MAX(IFNULL(ua.cancelled, 0)) AS assignmentCancelled, + MAX((SELECT MAX(st.id) FROM wf_process_task st WHERE st.processInstanceId = ins.id AND st.taskName = 'startTask' AND st.taskState IN (10, 20))) AS startTaskId, + MAX(IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = task.taskParentId) = 'startTask', 1, 0)) AS canRevoke + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_user_assignment ua ON ua.matterId = t.matterId AND ua.loginName = t.jobNo AND ua.delFlag = 0 + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id AND ins.state <> @abandonState + LEFT JOIN wf_process_task task ON task.processInstanceId = ins.id AND task.taskState = 10 + WHERE t.delFlag = 0 + AND t.jobNo = @currentJobNo + AND t.matterId IS NOT NULL + AND t.matterId <> '' + GROUP BY t.matterId, t.jobNo + ) my ON my.matterId = m.id + $condition + ORDER BY $orderColumn $orderBy, m.`year` DESC, m.travelStartTime ASC, l.lineName ASC, m.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setParam("currentJobNo", currentJobNo); + listSql.setParam("abandonState", ProcessInstanceStateEnum.ABANDON.getCode()); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "descending".equals(pageForm.getPageOrderBy()) ? "desc" : "asc"); + listSql.setPager(tourMatterService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourMatterService.dao().execute(listSql); + + List list = listSql.getList(NutMap.class); + appendH5LineActionFlags(list); + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, list); + return Result.success(pagination); + } + + /** + * 移动端退出疗休养入口,复用人员分配退出逻辑并限定只能操作当前登录人的分配记录。 + * + * @param assignmentId 人员分配记录ID + * @return 退出结果 + */ + @At("/h5/doLeaveThirtyTeachTour") + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("h5.thirtyTeachTour.signup") + public Result h5DoLeaveThirtyTeachTour(String assignmentId) { + ThirtyTeachTourUserAssignment assignment = fetchCurrentUserAssignment(assignmentId); + if (assignment == null) { + return Result.error("人员分配记录不存在或无权操作"); + } + try { + tourUserAssignmentService.cancelAssignment(assignment.getId()); + return Result.success(); + } catch (IllegalArgumentException e) { + return Result.error(e.getMessage()); + } + } + + /** + * 移动端取消当前线路,删除本人的报名台账并清空人员分配中的线路快照。 + * + * @param ledgerId 报名台账ID + * @return 取消结果 + */ + @At("/h5/doCancelLine") + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("h5.thirtyTeachTour.signup") + public Result h5DoCancelLine(String ledgerId) { + if (StrUtil.isBlank(ledgerId)) { + return Result.error("报名台账参数错误"); + } + ThirtyTeachTourLedger ledger = tourLedgerService.fetch(Cnd.where(ThirtyTeachTourLedger::getId, "=", ledgerId) + .and(ThirtyTeachTourLedger::getJobNo, "=", currentJobNo()) + .and(ThirtyTeachTourLedger::getDelFlag, "=", false)); + if (ledger == null) { + return Result.error("报名台账不存在或无权操作"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(ledger.getMatterId()); + Result signupTimeResult = checkSignupTime(matter); + if (signupTimeResult != null) { + return signupTimeResult; + } + tourLedgerFamilyService.clear(Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId())); + tourLedgerDirectRelativeService.clear(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + tourLedgerService.delete(ledger.getId()); + tourUserAssignmentService.clearExistingAssignmentMatterAfterLedgerDelete(ledger.getMatterId(), ledger.getJobNo()); + return Result.success(); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result pageData(PageForm pageForm, Integer year, String lineName, String lineType, String unionId, String travelPeriod) { + if (StrUtil.isBlank(pageForm.getPageOrderName())) { + pageForm.defaultSortAsc("lineName"); + } + Cnd cnd = buildQueryCnd(year, lineName, lineType, unionId); + appendTravelPeriodCnd(cnd, travelPeriod); + String currentJobNo = currentJobNo(); + + Sql countSql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourMatterService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + m.id AS matterId, + m.`year`, + m.settingId, + m.matterName, + m.minGroupPeople, + m.maxGroupPeople, + m.unionId, + COALESCE(u.name, '校工会') AS unionName, + m.lineId, + l.lineName, + l.lineType, + l.directFamilyUnitLine, + IFNULL(lot.allowOverReimbursement, 0) AS allowOverReimbursement, + m.travelStartTime, + m.travelEndTime, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod, + IFNULL(sc.signupCount, 0) AS signupCount, + my.ledgerId, + my.instanceId, + my.instanceState, + my.taskKey, + my.startTaskId, + IFNULL(my.canRevoke, 0) AS canRevoke, + CASE WHEN my.ledgerId IS NULL THEN 0 ELSE 1 END AS signed + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + LEFT JOIN thirty_teach_tour_setting_lot lot ON lot.id = l.lotId + LEFT JOIN ( + SELECT t.matterId, SUM(1 + IFNULL(f.familyCount, 0)) AS signupCount + FROM thirty_teach_tour_ledger t + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + WHERE t.delFlag = 0 + AND t.matterId IS NOT NULL + AND t.matterId <> '' + GROUP BY t.matterId + ) sc ON sc.matterId = m.id + LEFT JOIN ( + SELECT + t.matterId, + t.jobNo, + MAX(t.id) AS ledgerId, + MAX(ins.id) AS instanceId, + MAX(ins.state) AS instanceState, + MAX(task.taskName) AS taskKey, + MAX((SELECT MAX(st.id) FROM wf_process_task st WHERE st.processInstanceId = ins.id AND st.taskName = 'startTask' AND st.taskState IN (10, 20))) AS startTaskId, + MAX(IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = task.taskParentId) = 'startTask', 1, 0)) AS canRevoke + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id AND ins.state <> @abandonState + LEFT JOIN wf_process_task task ON task.processInstanceId = ins.id AND task.taskState = 10 + WHERE t.delFlag = 0 + AND t.jobNo = @currentJobNo + AND t.matterId IS NOT NULL + AND t.matterId <> '' + GROUP BY t.matterId, t.jobNo + ) my ON my.matterId = m.id + $condition + ORDER BY $orderColumn $orderBy, m.`year` DESC, m.travelStartTime ASC, l.lineName ASC, m.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setParam("currentJobNo", currentJobNo); + listSql.setParam("abandonState", ProcessInstanceStateEnum.ABANDON.getCode()); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "descending".equals(pageForm.getPageOrderBy()) ? "desc" : "asc"); + listSql.setPager(tourMatterService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourMatterService.dao().execute(listSql); + + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, listSql.getList(NutMap.class)); + return Result.success(pagination); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result unionOptions() { + Cnd cnd = Cnd.NEW(); + cnd.asc("unionCode"); + cnd.asc("name"); + return Result.success(tourMatterService.dao().query(Sys_union.class, cnd)); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result lineTypeOptions(Integer year) { + Cnd cnd = buildQueryCnd(year, null, null, null); + Sql sql = Sqls.create(""" + SELECT DISTINCT l.lineType + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + $condition + ORDER BY l.lineType ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourMatterService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + /** + * Queries distinct travel periods for PC signup and H5 line selection. + * The value uses yyyyMMdd-yyyyMMdd so the frontend can pass it back as a stable filter key. + */ + @At({"/h5/travelPeriodOptions", "/travelPeriodOptions"}) + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result h5TravelPeriodOptions(Integer year, String lineType, Boolean directFamilyUnitLine) { + Cnd cnd = buildQueryCnd(year, null, null, null); + cnd.andEX("l.lineType", "=", lineType); + cnd.andEX("l.directFamilyUnitLine", "=", directFamilyUnitLine); + cnd.and("m.travelStartTime", "IS NOT", null); + cnd.and("m.travelStartTime", "<>", ""); + cnd.and("m.travelEndTime", "IS NOT", null); + cnd.and("m.travelEndTime", "<>", ""); + Sql sql = Sqls.create(""" + SELECT DISTINCT $travelPeriodExpr AS travelPeriod + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN sys_union u ON u.id = m.unionId + $condition + ORDER BY travelPeriod ASC + """); + sql.setVar("travelPeriodExpr", travelPeriodKeyExpr()); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourMatterService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result lineDetail(String lineId) { + if (StrUtil.isBlank(lineId)) { + return Result.error("参数错误"); + } + Sql sql = Sqls.create(""" + SELECT + l.*, + a.agencyName AS travelAgencyName, + a.contactPhone, + lot.lotName AS lotName + FROM thirty_teach_tour_line l + LEFT JOIN thirty_teach_tour_travel_agency a ON a.id = l.travelAgencyId + LEFT JOIN thirty_teach_tour_setting_lot lot ON lot.id = l.lotId + WHERE l.delFlag = 0 + AND l.id = @lineId + """); + sql.setParam("lineId", lineId); + sql.setCallback(Sqls.callback.map()); + tourMatterService.dao().execute(sql); + NutMap line = sql.getObject(NutMap.class); + return line == null || line.isEmpty() ? Result.error("线路不存在") : Result.success(line); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result signupDetail(String matterId) { + if (StrUtil.isBlank(matterId)) { + return Result.error("参数错误"); + } + Sql sql = Sqls.create(""" + SELECT + m.id AS matterId, + m.`year`, + m.settingId, + m.matterName, + m.unionId AS matterUnionId, + m.defaultBoardingPlace, + m.travelStartTime, + m.travelEndTime, + m.contactName, + m.contactPhone, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod, + l.id AS lineId, + l.lineName, + l.lineType, + l.directFamilyUnitLine, + l.travelAgencyId, + a.agencyName AS travelAgencyName, + IFNULL(lot.allowOverReimbursement, 0) AS allowOverReimbursement, + s.allowFamily, + IFNULL(s.fillBedInfo, 1) AS fillBedInfo, + s.boardingPlace AS boardingPlaceOptions, + IFNULL(sc.signupCount, 0) AS signupCount, + IFNULL(sc.familyCount, 0) AS familyCount + FROM thirty_teach_tour_matter m + INNER JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN thirty_teach_tour_travel_agency a ON a.id = l.travelAgencyId + LEFT JOIN thirty_teach_tour_setting_lot lot ON lot.id = l.lotId + LEFT JOIN thirty_teach_tour_setting s ON s.id = m.settingId + LEFT JOIN ( + SELECT + t.matterId, + COUNT(1) + SUM(IFNULL(f.familyCount, 0)) AS signupCount, + SUM(IFNULL(f.familyCount, 0)) AS familyCount + FROM thirty_teach_tour_ledger t + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + WHERE t.delFlag = 0 + AND t.matterId IS NOT NULL + AND t.matterId <> '' + GROUP BY t.matterId + ) sc ON sc.matterId = m.id + WHERE m.delFlag = 0 + AND m.enabled = 1 + AND m.id = @matterId + """); + sql.setParam("matterId", matterId); + sql.setCallback(Sqls.callback.map()); + tourMatterService.dao().execute(sql); + NutMap matter = sql.getObject(NutMap.class); + if (matter == null || matter.isEmpty()) { + return Result.error("报名线路不存在"); + } + View_user user = tourMatterService.dao().fetch(View_user.class, Cnd.where(View_user::getId, "=", SecurityUtil.getUserId())); + NutMap staff = NutMap.NEW() + .addv("jobNo", user == null ? SecurityUtil.getUserLoginname() : defaultIfBlank(user.getLoginname(), SecurityUtil.getUserLoginname())) + .addv("userName", user == null ? SecurityUtil.getUserUsername() : defaultIfBlank(user.getUsername(), SecurityUtil.getUserUsername())) + .addv("gender", user == null ? "" : defaultIfBlank(user.getSex(), "")) + .addv("idCard", user == null ? "" : defaultIfBlank(user.getIdCard(), "")) + .addv("mobile", user == null ? "" : defaultIfBlank(user.getMobile(), "")) + .addv("unitId", user == null ? SecurityUtil.getUnitId() : defaultIfBlank(user.getUnitId(), SecurityUtil.getUnitId())) + .addv("unitName", user == null ? "" : defaultIfBlank(user.getUnitName(), "")) + .addv("unionId", user == null ? SecurityUtil.getUnionId() : defaultIfBlank(user.getUnionId(), SecurityUtil.getUnionId())) + .addv("unionName", user == null ? "" : defaultIfBlank(user.getUnionName(), "")); + NutMap assignment = tourUserAssignmentService.currentUserAssignmentInfo(matter.getString("settingId", "")); + Cnd ledgerCnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getMatterId, "=", matter.getString("matterId")) + .and(ThirtyTeachTourLedger::getJobNo, "=", staff.getString("jobNo")); + ledgerCnd.desc(ThirtyTeachTourLedger::getCreatedAt); + ThirtyTeachTourLedger ledger = tourLedgerService.fetch(ledgerCnd); + // Viewing a line should only load detail data; signup rules are enforced when the user starts or submits signup. + List families = Collections.emptyList(); + ThirtyTeachTourLedgerDirectRelative directRelative = null; + if (ledger != null) { + fillLedgerContactFallback(ledger, staff); + Cnd familyCnd = Cnd.where(ThirtyTeachTourLedgerFamily::getDelFlag, "=", false) + .and(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId()); + familyCnd.asc(ThirtyTeachTourLedgerFamily::getCreatedAt); + families = tourLedgerFamilyService.query(familyCnd); + directRelative = tourLedgerDirectRelativeService.fetch(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getDelFlag, "=", false) + .and(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + } + return Result.success(NutMap.NEW() + .addv("matter", matter) + .addv("staff", staff) + .addv("assignment", assignment) + .addv("ledger", ledger) + .addv("process", getSignupProcessInfo(ledger)) + .addv("families", families) + .addv("directRelative", directRelative)); + } + + /** + * 报名前校验接口,PC 和 H5 共用。 + * 用于在进入报名表单前校验事项、线路、配置状态、人员范围、重复报名和线路报名规则。 + * + * @param matterId 疗休养事项ID + * @return 可报名返回成功;不可报名返回对应业务提示 + */ + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result signupEligibilityNotice(String matterId) { + if (StrUtil.isBlank(matterId)) { + return Result.error("参数错误"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(matterId); + if (matter == null || Boolean.TRUE.equals(matter.getDelFlag()) || !Boolean.TRUE.equals(matter.getEnabled())) { + return Result.error("报名出行时段不存在或已停用"); + } + ThirtyTeachTourLine line = tourLedgerService.dao().fetch(ThirtyTeachTourLine.class, matter.getLineId()); + if (line == null || Boolean.TRUE.equals(line.getDelFlag()) || !Boolean.TRUE.equals(line.getEnabled())) { + return Result.error("报名线路不存在或已停用"); + } + ThirtyTeachTourSetting setting = tourLedgerService.dao().fetch(ThirtyTeachTourSetting.class, matter.getSettingId()); + if (setting == null || Boolean.TRUE.equals(setting.getDelFlag()) || !Boolean.TRUE.equals(setting.getEnabled())) { + return Result.error("报名事项配置不存在或已停用"); + } + Result timeResult = checkSignupTime(matter); + if (timeResult != null) { + return timeResult; + } + Result scopeResult = checkSignupEligibilityScope(setting); + if (scopeResult != null) { + return scopeResult; + } + ThirtyTeachTourLedger oldLedger = fetchCurrentUserMatterLedger(matter.getId()); + CycleAllowedTimes cycleAllowedTimes = calculateCycleAllowedTimes(matter, setting, oldLedger); + if (!cycleAllowedTimes.canApply()) { + return Result.success(NutMap.NEW() + .addv("canApply", false) + .addv("noticeRequired", true) + .addv("noticeType", "cycleAllowedTimes") + .addv("cycleStartYear", cycleAllowedTimes.startYear()) + .addv("cycleEndYear", cycleAllowedTimes.endYear()) + .addv("cycleAllowedTimes", cycleAllowedTimes.allowedTimes()) + .addv("cycleJoinedTimes", cycleAllowedTimes.joinedTimes()) + .addv("message", buildCycleAllowedTimesNotice(cycleAllowedTimes))); + } + CycleTotalCost cycleTotalCost = calculateCycleTotalCost(matter, setting, line, oldLedger); + if (!cycleTotalCost.canApply()) { + return Result.success(NutMap.NEW() + .addv("canApply", false) + .addv("noticeRequired", true) + .addv("noticeType", "cycleTotalCost") + .addv("cycleStartYear", cycleTotalCost.startYear()) + .addv("cycleEndYear", cycleTotalCost.endYear()) + .addv("cycleTotalCost", cycleTotalCost.totalCost()) + .addv("cycleJoinedCost", cycleTotalCost.joinedCost()) + .addv("currentLineCost", cycleTotalCost.currentCost()) + .addv("message", buildCycleTotalCostNotice(cycleTotalCost))); + } + if (isAssignedUserEligibility(setting) || !isOutProvinceLine(line.getLineType())) { + return Result.success(NutMap.NEW().addv("canApply", true).addv("noticeRequired", false)); + } + OutProvinceQuota quota = calculateOutProvinceQuota(matter, setting, oldLedger); + return Result.success(NutMap.NEW() + .addv("noticeRequired", true) + .addv("noticeType", "outProvinceQuota") + .addv("canApply", quota.canApply()) + .addv("ratioType", quota.ratioType()) + .addv("basePeople", quota.basePeople()) + .addv("totalSignupPeople", quota.totalSignupPeople()) + .addv("outProvinceSignupPeople", quota.outProvinceSignupPeople()) + .addv("allowPeople", quota.allowPeople()) + .addv("ratioText", quota.ratioText()) + .addv("message", buildOutProvinceQuotaNotice(quota))); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result outProvinceQuotaNotice(String matterId) { + if (StrUtil.isBlank(matterId)) { + return Result.error("参数错误"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(matterId); + if (matter == null || Boolean.TRUE.equals(matter.getDelFlag()) || !Boolean.TRUE.equals(matter.getEnabled())) { + return Result.error("报名出行时段不存在或已停用"); + } + ThirtyTeachTourLine line = tourLedgerService.dao().fetch(ThirtyTeachTourLine.class, matter.getLineId()); + if (line == null || Boolean.TRUE.equals(line.getDelFlag()) || !Boolean.TRUE.equals(line.getEnabled())) { + return Result.error("报名线路不存在或已停用"); + } + if (!isOutProvinceLine(line.getLineType())) { + return Result.success(NutMap.NEW().addv("canApply", true).addv("noticeRequired", false)); + } + ThirtyTeachTourSetting setting = tourLedgerService.dao().fetch(ThirtyTeachTourSetting.class, matter.getSettingId()); + if (setting == null || Boolean.TRUE.equals(setting.getDelFlag()) || !Boolean.TRUE.equals(setting.getEnabled())) { + return Result.error("报名事项配置不存在或已停用"); + } + Result timeResult = checkSignupTime(matter); + if (timeResult != null) { + return timeResult; + } + Result scopeResult = checkSignupEligibilityScope(setting); + if (scopeResult != null) { + return scopeResult; + } + ThirtyTeachTourLedger oldLedger = fetchCurrentUserMatterLedger(matter.getId()); + OutProvinceQuota quota = calculateOutProvinceQuota(matter, setting, oldLedger); + return Result.success(NutMap.NEW() + .addv("noticeRequired", true) + .addv("canApply", quota.canApply()) + .addv("ratioType", quota.ratioType()) + .addv("basePeople", quota.basePeople()) + .addv("totalSignupPeople", quota.totalSignupPeople()) + .addv("outProvinceSignupPeople", quota.outProvinceSignupPeople()) + .addv("allowPeople", quota.allowPeople()) + .addv("ratioText", quota.ratioText()) + .addv("message", buildOutProvinceQuotaNotice(quota))); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result directRelativeOptions() { + List list = sysDictService.getSubListByCode("directRelative"); + if (list == null) { + return Result.success(Collections.emptyList()); + } + return Result.success(list.stream().filter(item -> !item.isDisabled()).collect(Collectors.toList())); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result bedTypeOptions() { + List list = sysDictService.getSubListByCode("bedType"); + if (list == null) { + return Result.success(Collections.emptyList()); + } + return Result.success(list.stream().filter(item -> !item.isDisabled()).collect(Collectors.toList())); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result familyRelationshipOptions() { + Sql sql = Sqls.create(""" + SELECT d.* + FROM sys_dict p + INNER JOIN sys_dict d ON d.path LIKE CONCAT(p.path, '%') + WHERE p.code = 'familyRelationship' + AND d.id <> p.id + AND d.disabled = 0 + AND d.hasChildren = 0 + ORDER BY d.path ASC, d.location ASC + """); + sql.setCallback(Sqls.callback.entities()); + sql.setEntity(tourLedgerService.dao().getEntity(Sys_dict.class)); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(Sys_dict.class)); + } + + /** + * 报名提交接口,PC 和 H5 共用。 + * 提交成功后写入或更新疗休养台账,并回填当前用户已存在的人员分配记录事项快照。 + * + * @param ledger 报名台账主信息 + * @param families 家属信息 JSON 数组 + * @param directRelative 直系亲属线路报名信息 JSON + * @return 报名或修改结果;直系亲属线路、超额报销等场景会返回待审核提示 + */ + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result doSignup(ThirtyTeachTourLedger ledger, @Param("families") String families, @Param("directRelative") String directRelative) { + Result checkResult = checkSignup(ledger); + if (checkResult != null) { + return checkResult; + } + List familyList = parseFamilies(families); + Result familyResult = checkFamilies(familyList); + if (familyResult != null) { + return familyResult; + } + ThirtyTeachTourLedgerDirectRelative directRelativeInfo = parseDirectRelative(directRelative); + boolean update = StrUtil.isNotBlank(ledger.getId()); + ThirtyTeachTourLedger oldLedger = update ? tourLedgerService.fetch(ledger.getId()) : null; + if (update && oldLedger == null) { + return Result.error("报名记录不存在"); + } + if (update && !currentJobNo().equals(oldLedger.getJobNo())) { + return Result.error("不能修改他人的报名记录"); + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(ledger.getMatterId()); + Result ruleResult = checkSignupRule(ledger, matter, update ? oldLedger : null); + if (ruleResult != null) { + return ruleResult; + } + if (!update) { + oldLedger = fetchCurrentUserMatterLedger(ledger.getMatterId()); + if (oldLedger != null) { + ledger.setId(oldLedger.getId()); + update = true; + } + } + Result maxPeopleResult = checkMaxGroupPeople(matter, oldLedger, familyList); + if (maxPeopleResult != null) { + return maxPeopleResult; + } + ThirtyTeachTourLine line = tourLedgerService.dao().fetch(ThirtyTeachTourLine.class, matter.getLineId()); + boolean directFamilyLine = line != null && Boolean.TRUE.equals(line.getDirectFamilyUnitLine()); + ThirtyTeachTourSetting setting = tourLedgerService.dao().fetch(ThirtyTeachTourSetting.class, matter.getSettingId()); + fillLedgerFromAssignmentConfirmInfo(ledger, matter.getSettingId()); + Result boardingPlaceResult = normalizeBoardingPlace(ledger, matter, setting); + if (boardingPlaceResult != null) { + return boardingPlaceResult; + } + if (setting != null && Boolean.FALSE.equals(setting.getFillBedInfo())) { + clearBedInfo(ledger, familyList); + } + if (!allowOverCostReimbursement(line)) { + ledger.setOverCostReimbursed(false); + } + boolean overCostReimbursed = Boolean.TRUE.equals(ledger.getOverCostReimbursed()); + boolean approvalRequired = directFamilyLine || overCostReimbursed; + Result directRelativeResult = checkDirectRelative(directFamilyLine, directRelativeInfo); + if (directRelativeResult != null) { + return directRelativeResult; + } + if (update) { + Result workflowCheckResult = checkSignupApprovalWorkflowCanSubmit(ledger.getId()); + if (workflowCheckResult != null) { + return workflowCheckResult; + } + } + ledger.setYear(matter.getYear()); + ledger.setHasFamily(Lang.isNotEmpty(familyList)); + if (!update) { + ledger.setJoined(false); + ledger.setReimbursed(false); + ledger.setSignupTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + } else { + ledger.setJoined(oldLedger.getJoined()); + ledger.setReimbursed(oldLedger.getReimbursed()); + ledger.setSignupTime(defaultIfBlank(oldLedger.getSignupTime(), ledger.getSignupTime())); + } + ledger.setOverCostReimbursed(Boolean.TRUE.equals(ledger.getOverCostReimbursed())); + fillStaffInfo(ledger); + fillLedgerFromAssignmentConfirmInfo(ledger, matter.getSettingId()); + + if (update) { + tourLedgerService.updateIgnoreNull(ledger); + tourLedgerFamilyService.clear(Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId())); + tourLedgerDirectRelativeService.clear(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + } else { + tourLedgerService.insert(ledger); + } + // 报名台账落库后,仅回填已存在的人员分配记录事项信息,不新增记录、不改变分配来源。 + tourUserAssignmentService.backfillExistingAssignmentAfterSignup(matter.getSettingId(), matter.getId(), SecurityUtil.getUserId(), ledger.getBoardingPlace()); + if (Lang.isNotEmpty(familyList)) { + familyList.forEach(item -> { + item.setLedgerId(ledger.getId()); + item.setStaffJobNo(ledger.getJobNo()); + item.setStaffName(ledger.getUserName()); + }); + tourLedgerFamilyService.insert(familyList); + } + if (directFamilyLine) { + directRelativeInfo.setId(null); + directRelativeInfo.setLedgerId(ledger.getId()); + directRelativeInfo.setLineId(line.getId()); + tourLedgerDirectRelativeService.insert(directRelativeInfo); + } + if (approvalRequired) { + Result workflowResult = startOrContinueSignupApprovalWorkflow(ledger, directFamilyLine ? directRelativeInfo : null, matter, line); + if (workflowResult != null) { + return workflowResult; + } + } + return Result.success().addMsg(approvalRequired ? (update ? "修改已提交,等待审核" : "申请已提交,等待审核") : (update ? "修改成功" : "恭喜您已报名成功")); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission(value = {"thirtyTeachTour.signup", "h5.thirtyTeachTour.signup"}, mode = SaMode.OR) + public Result doCancelSignup(String ledgerId, String matterId) { + ThirtyTeachTourLedger ledger = null; + if (StrUtil.isNotBlank(ledgerId)) { + ledger = tourLedgerService.fetch(ledgerId); + } + if (ledger == null && StrUtil.isNotBlank(matterId)) { + Cnd cancelCnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getMatterId, "=", matterId) + .and(ThirtyTeachTourLedger::getJobNo, "=", currentJobNo()); + cancelCnd.desc(ThirtyTeachTourLedger::getCreatedAt); + ledger = tourLedgerService.fetch(cancelCnd); + } + if (ledger == null || Boolean.TRUE.equals(ledger.getDelFlag())) { + return Result.error("报名记录不存在"); + } + if (!currentJobNo().equals(ledger.getJobNo())) { + return Result.error("不能取消他人的报名记录"); + } + tourLedgerFamilyService.clear(Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId())); + tourLedgerDirectRelativeService.clear(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + tourLedgerService.clear(Cnd.where(ThirtyTeachTourLedger::getId, "=", ledger.getId())); + clearAssignmentMatterAfterCancel(ledger); + return Result.success().addMsg("取消报名成功"); + } + + private void clearAssignmentMatterAfterCancel(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getMatterId())) { + return; + } + ThirtyTeachTourMatter matter = tourMatterService.fetch(ledger.getMatterId()); + if (matter == null || StrUtil.isBlank(matter.getSettingId())) { + return; + } + tourUserAssignmentService.clearExistingAssignmentMatterAfterCancel(matter.getSettingId(), SecurityUtil.getUserId()); + } + + private Cnd buildQueryCnd(Integer year, String lineName, String lineType, String unionId) { + Cnd cnd = Cnd.NEW(); + cnd.and("m.delFlag", "=", false); + cnd.and("m.enabled", "=", true); + cnd.and("m.lineId", "IS NOT", null); + cnd.and("m.lineId", "<>", ""); + cnd.and("l.delFlag", "=", false); + cnd.and("l.enabled", "=", true); + cnd.andEX("m.`year`", "=", year == null ? LocalDate.now().getYear() : year); + cnd.and(Cnd.likeEX("l.lineName", lineName)); + cnd.andEX("l.lineType", "=", lineType); + cnd.andEX("m.unionId", "=", unionId); + return cnd; + } + + private void appendTravelPeriodCnd(Cnd cnd, String travelPeriod) { + if (cnd == null || StrUtil.isBlank(travelPeriod)) { + return; + } + // 移动端出行时间筛选使用 yyyyMMdd-yyyyMMdd 作为稳定值,避免前端直接依赖数据库原始时间格式。 + cnd.and(travelPeriodKeyExpr(), "=", travelPeriod); + } + + private String travelPeriodKeyExpr() { + return "CONCAT(REPLACE(SUBSTRING(m.travelStartTime, 1, 10), '-', ''), '-', REPLACE(SUBSTRING(m.travelEndTime, 1, 10), '-', ''))"; + } + + private Result checkSignup(ThirtyTeachTourLedger ledger) { + if (ledger == null) { + return Result.error("参数错误"); + } + if (ledger.getYear() == null) { + return Result.error("年度不能为空"); + } + if (StrUtil.isBlank(ledger.getLineId())) { + return Result.error("报名线路不能为空"); + } + if (StrUtil.isBlank(ledger.getMatterId())) { + return Result.error("报名出行时段不能为空"); + } + if (StrUtil.isBlank(ledger.getLineName())) { + return Result.error("报名线路不能为空"); + } + return null; + } + + private Result checkDirectRelative(boolean directFamilyLine, ThirtyTeachTourLedgerDirectRelative directRelativeInfo) { + if (!directFamilyLine) { + return null; + } + if (directRelativeInfo == null) { + return Result.error("请填写直系亲属线路信息"); + } + if (StrUtil.isBlank(directRelativeInfo.getRelativeName())) { + return Result.error("亲属姓名不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getUnitName())) { + return Result.error("亲属所在单位不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getRelationshipCode())) { + return Result.error("亲属关系不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getLineName())) { + return Result.error("直系亲属线路名称不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getTravelStartTime())) { + return Result.error("出行开始日期不能为空"); + } + if (StrUtil.isBlank(directRelativeInfo.getTravelEndTime())) { + return Result.error("出行结束日期不能为空"); + } + List directRelativeOptions = sysDictService.getSubListByCode("directRelative"); + Sys_dict dict = directRelativeOptions == null ? null : directRelativeOptions.stream() + .filter(item -> directRelativeInfo.getRelationshipCode().equals(item.getCode()) && !item.isDisabled()) + .findFirst() + .orElse(null); + if (dict == null) { + return Result.error("亲属关系无效"); + } + directRelativeInfo.setRelationshipName(defaultIfBlank(dict.getName(), directRelativeInfo.getRelationshipName())); + return null; + } + + private Result checkFamilies(List familyList) { + if (Lang.isEmpty(familyList)) { + return null; + } + for (ThirtyTeachTourLedgerFamily family : familyList) { + if (family == null) { + continue; + } + if (StrUtil.isBlank(family.getFamilyName()) || StrUtil.isBlank(family.getGender()) + || StrUtil.isBlank(family.getIdCard()) || StrUtil.isBlank(family.getRelationship())) { + return Result.error("请完善亲属姓名、性别、身份证号码和关系"); + } + String idCard = family.getIdCard().trim().toUpperCase(); + if (!isValidIdCard(idCard)) { + return Result.error("请输入正确的身份证号码"); + } + family.setIdCard(idCard); + } + return null; + } + + private Result checkMaxGroupPeople(ThirtyTeachTourMatter matter, ThirtyTeachTourLedger oldLedger, List familyList) { + if (matter == null || matter.getMaxGroupPeople() == null || matter.getMaxGroupPeople() <= 0) { + return null; + } + int currentPeople = 1 + (Lang.isEmpty(familyList) ? 0 : familyList.size()); + int signedPeople = countSignupPeople(matter.getId(), oldLedger == null ? null : oldLedger.getId()); + int totalPeople = signedPeople + currentPeople; + if (totalPeople > matter.getMaxGroupPeople()) { + return Result.error("当前报名人数 " + signedPeople + " 人,本次报名 " + currentPeople + + " 人,最多成团人数 " + matter.getMaxGroupPeople() + " 人,报名后将超过人数上限,不能提交"); + } + return null; + } + + private boolean isValidIdCard(String idCard) { + return StrUtil.isNotBlank(idCard) + && idCard.matches("^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dX]$"); + } + + private Result checkSignupRule(ThirtyTeachTourLedger ledger, ThirtyTeachTourMatter matter, ThirtyTeachTourLedger oldLedger) { + if (matter == null || Boolean.TRUE.equals(matter.getDelFlag()) || !Boolean.TRUE.equals(matter.getEnabled())) { + return Result.error("报名出行时段不存在或已停用"); + } + if (!ledger.getLineId().equals(matter.getLineId())) { + return Result.error("报名线路与出行时段不匹配"); + } + ThirtyTeachTourLine line = tourLedgerService.dao().fetch(ThirtyTeachTourLine.class, matter.getLineId()); + if (line == null || Boolean.TRUE.equals(line.getDelFlag()) || !Boolean.TRUE.equals(line.getEnabled())) { + return Result.error("报名线路不存在或已停用"); + } + ThirtyTeachTourSetting setting = tourLedgerService.dao().fetch(ThirtyTeachTourSetting.class, matter.getSettingId()); + if (setting == null || Boolean.TRUE.equals(setting.getDelFlag()) || !Boolean.TRUE.equals(setting.getEnabled())) { + return Result.error("报名事项配置不存在或已停用"); + } + Result timeResult = checkSignupTime(matter); + if (timeResult != null) { + return timeResult; + } + Result scopeResult = checkSignupEligibilityScope(setting); + if (scopeResult != null) { + return scopeResult; + } + CycleAllowedTimes cycleAllowedTimes = calculateCycleAllowedTimes(matter, setting, oldLedger); + if (!cycleAllowedTimes.canApply()) { + return Result.error(buildCycleAllowedTimesNotice(cycleAllowedTimes)); + } + CycleTotalCost cycleTotalCost = calculateCycleTotalCost(matter, setting, line, oldLedger); + if (!cycleTotalCost.canApply()) { + return Result.error(buildCycleTotalCostNotice(cycleTotalCost)); + } + String jobNo = currentJobNo(); + if (!isAssignedUserEligibility(setting) && isOutProvinceLine(line.getLineType())) { + int startYear = setting.getCycleStartYear() == null ? matter.getYear() : setting.getCycleStartYear(); + int endYear = LocalDate.now().getYear(); + Cnd outProvinceCnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getJobNo, "=", jobNo) + .and(ThirtyTeachTourLedger::getYear, ">=", startYear) + .and(ThirtyTeachTourLedger::getYear, "<=", endYear) + .and(ThirtyTeachTourLedger::getLineType, "in", List.of("省外线路", "省外")); + if (oldLedger != null) { + outProvinceCnd.and(ThirtyTeachTourLedger::getId, "<>", oldLedger.getId()); + } + if (tourLedgerService.count(outProvinceCnd) > 0) { + return Result.error("您已参加过省外线路,不能报名省外线路,请选择省内线路"); + } + OutProvinceQuota quota = calculateOutProvinceQuota(matter, setting, oldLedger); + if (!quota.canApply()) { + return Result.error(buildOutProvinceQuotaNotice(quota)); + } + Cnd sameYearDomesticCnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getJobNo, "=", jobNo) + .and(ThirtyTeachTourLedger::getYear, "=", matter.getYear()) + .and(ThirtyTeachTourLedger::getLineType, "in", List.of("省内线路", "省内", "国内线路", "国内")); + if (oldLedger != null) { + sameYearDomesticCnd.and(ThirtyTeachTourLedger::getId, "<>", oldLedger.getId()); + } + ThirtyTeachTourLedger existingDomesticLedger = fetchLatestLedger(sameYearDomesticCnd); + if (existingDomesticLedger != null) { + return Result.error(buildSelectedLineMessage(existingDomesticLedger)); + } + } + if (isInProvinceLine(line.getLineType())) { + Cnd sameYearCnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getJobNo, "=", jobNo) + .and(ThirtyTeachTourLedger::getYear, "=", matter.getYear()); + if (oldLedger != null) { + sameYearCnd.and(ThirtyTeachTourLedger::getId, "<>", oldLedger.getId()); + } + ThirtyTeachTourLedger existingLedger = fetchLatestLedger(sameYearCnd); + if (existingLedger != null) { + return Result.error(buildSelectedLineMessage(existingLedger)); + } + } + return null; + } + + private ThirtyTeachTourLedger fetchLatestLedger(Cnd cnd) { + cnd.desc(ThirtyTeachTourLedger::getSignupTime); + cnd.desc(ThirtyTeachTourLedger::getCreatedAt); + return tourLedgerService.fetch(cnd); + } + + private ThirtyTeachTourLedger fetchCurrentUserMatterLedger(String matterId) { + if (StrUtil.isBlank(matterId)) { + return null; + } + Cnd cnd = Cnd.where(ThirtyTeachTourLedger::getDelFlag, "=", false) + .and(ThirtyTeachTourLedger::getMatterId, "=", matterId) + .and(ThirtyTeachTourLedger::getJobNo, "=", currentJobNo()); + cnd.desc(ThirtyTeachTourLedger::getCreatedAt); + return tourLedgerService.fetch(cnd); + } + + private CycleAllowedTimes calculateCycleAllowedTimes(ThirtyTeachTourMatter matter, ThirtyTeachTourSetting setting, ThirtyTeachTourLedger oldLedger) { + int allowedTimes = setting == null || setting.getCycleAllowedTimes() == null ? 0 : setting.getCycleAllowedTimes(); + int endYear = LocalDate.now().getYear(); + int startYear = setting == null || setting.getCycleStartYear() == null ? (matter == null || matter.getYear() == null ? endYear : matter.getYear()) : setting.getCycleStartYear(); + String excludeLedgerId = oldLedger == null ? null : oldLedger.getId(); + int joinedTimes = allowedTimes <= 0 ? 0 : countCycleJoinedTimes(currentJobNo(), startYear, endYear, excludeLedgerId); + return new CycleAllowedTimes(startYear, endYear, allowedTimes, joinedTimes); + } + + private int countCycleJoinedTimes(String jobNo, int startYear, int endYear, String excludeLedgerId) { + if (StrUtil.isBlank(jobNo)) { + return 0; + } + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_ledger + WHERE delFlag = 0 + AND joined = 1 + AND jobNo = @jobNo + AND `year` >= @startYear + AND `year` <= @endYear + """ + excludeSql); + sql.setParam("jobNo", jobNo); + sql.setParam("startYear", startYear); + sql.setParam("endYear", endYear); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private String buildCycleAllowedTimesNotice(CycleAllowedTimes cycleAllowedTimes) { + return "您在 " + cycleAllowedTimes.startYear() + " 至 " + cycleAllowedTimes.endYear() + + " 周期内已参加 " + cycleAllowedTimes.joinedTimes() + " 次,周期允许 " + + cycleAllowedTimes.allowedTimes() + " 次,不能报名"; + } + + private CycleTotalCost calculateCycleTotalCost(ThirtyTeachTourMatter matter, ThirtyTeachTourSetting setting, ThirtyTeachTourLine line, ThirtyTeachTourLedger oldLedger) { + int totalCost = setting == null || setting.getCycleTotalCost() == null ? 0 : setting.getCycleTotalCost(); + int endYear = LocalDate.now().getYear(); + int startYear = setting == null || setting.getCycleStartYear() == null ? (matter == null || matter.getYear() == null ? endYear : matter.getYear()) : setting.getCycleStartYear(); + String excludeLedgerId = oldLedger == null ? null : oldLedger.getId(); + int joinedCost = totalCost <= 0 ? 0 : countCycleJoinedCost(currentJobNo(), startYear, endYear, excludeLedgerId); + int currentCost = totalCost <= 0 ? 0 : getLineActivityCost(line); + return new CycleTotalCost(startYear, endYear, totalCost, joinedCost, currentCost); + } + + private int countCycleJoinedCost(String jobNo, int startYear, int endYear, String excludeLedgerId) { + if (StrUtil.isBlank(jobNo)) { + return 0; + } + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND t.id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT IFNULL(SUM(IFNULL(lot.activityCost, 0)), 0) + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN thirty_teach_tour_setting_lot lot ON lot.id = l.lotId AND lot.delFlag = 0 + WHERE t.delFlag = 0 + AND t.joined = 1 + AND t.jobNo = @jobNo + AND t.`year` >= @startYear + AND t.`year` <= @endYear + """ + excludeSql); + sql.setParam("jobNo", jobNo); + sql.setParam("startYear", startYear); + sql.setParam("endYear", endYear); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private int getLineActivityCost(ThirtyTeachTourLine line) { + if (line == null || StrUtil.isBlank(line.getLotId())) { + return 0; + } + Sql sql = Sqls.create(""" + SELECT IFNULL(activityCost, 0) AS activityCost + FROM thirty_teach_tour_setting_lot + WHERE delFlag = 0 + AND id = @lotId + """); + sql.setParam("lotId", line.getLotId()); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private String buildCycleTotalCostNotice(CycleTotalCost cycleTotalCost) { + return "您在 " + cycleTotalCost.startYear() + " 至 " + cycleTotalCost.endYear() + + " 周期内已参加线路费用合计 " + cycleTotalCost.joinedCost() + + " 元,本次线路费用 " + cycleTotalCost.currentCost() + + " 元,周期内总费用 " + cycleTotalCost.totalCost() + " 元,超过限制,不能报名"; + } + + private OutProvinceQuota calculateOutProvinceQuota(ThirtyTeachTourMatter matter, ThirtyTeachTourSetting setting, ThirtyTeachTourLedger oldLedger) { + String ratioType = normalizeOutProvinceRatioType(setting == null ? null : setting.getOutProvinceRatioType()); + BigDecimal originalRatio = setting == null ? null : setting.getOutProvinceRatio(); + boolean oneThirdRatio = isOneThirdRatio(originalRatio); + BigDecimal ratio = oneThirdRatio ? BigDecimal.ONE.divide(BigDecimal.valueOf(3), 12, RoundingMode.HALF_UP) + : (originalRatio == null ? BigDecimal.ZERO : originalRatio); + int year = matter == null || matter.getYear() == null ? LocalDate.now().getYear() : matter.getYear(); + String excludeLedgerId = oldLedger == null ? null : oldLedger.getId(); + int totalSignupPeople = countYearSignupPeople(year, excludeLedgerId); + int outProvinceSignupPeople = countYearOutProvinceSignupPeople(year, excludeLedgerId); + int basePeople; + if ("可参加教职工人数".equals(ratioType)) { + Integer groupId = parseInteger(setting == null ? null : setting.getActivityGroupId()); + basePeople = countActivityGroupPeople(groupId); + } else if ("固定人数".equals(ratioType)) { + basePeople = setting == null || setting.getOutProvinceFixedPeople() == null ? 0 : setting.getOutProvinceFixedPeople(); + } else { + basePeople = totalSignupPeople; + } + int quotaPeople = oneThirdRatio + ? basePeople / 3 + : ratio.multiply(BigDecimal.valueOf(basePeople)).setScale(0, RoundingMode.FLOOR).intValue(); + int allowPeople = quotaPeople - outProvinceSignupPeople; + return new OutProvinceQuota(ratioType, ratio, basePeople, totalSignupPeople, outProvinceSignupPeople, allowPeople); + } + + private boolean isOneThirdRatio(BigDecimal ratio) { + if (ratio == null) { + return false; + } + return ratio.compareTo(BigDecimal.valueOf(0.33)) >= 0 && ratio.compareTo(BigDecimal.valueOf(0.3333)) <= 0; + } + + private String normalizeOutProvinceRatioType(String ratioType) { + if ("当年参加人数".equals(ratioType) || StrUtil.isBlank(ratioType)) { + return "当年报名人数"; + } + if ("可参加教职工人数".equals(ratioType) || "固定人数".equals(ratioType)) { + return ratioType; + } + return "当年报名人数"; + } + + private boolean isAssignedUserEligibility(ThirtyTeachTourSetting setting) { + return setting != null && "ASSIGNED_USER".equals(setting.getSignupEligibilityMode()); + } + + private void appendH5LineActionFlags(List list) { + if (Lang.isEmpty(list)) { + return; + } + int cancelDeadlineDays = tourUserAssignmentService.getCancelDeadlineDays(); + LocalDateTime now = LocalDateTime.now(); + for (NutMap item : list) { + boolean signed = item.getBoolean("signed", false); + boolean assignmentCancelled = item.getBoolean("assignmentCancelled", false); + String assignmentId = item.getString("assignmentId", ""); + String ledgerId = item.getString("ledgerId", ""); + // Button visibility is calculated on the server so H5 follows the same time rules as backend submit actions. + item.put("cancelDeadlineDays", cancelDeadlineDays); + item.put("canLeaveThirtyTeachTour", signed && StrUtil.isNotBlank(assignmentId) && !assignmentCancelled + && isWithinLeaveTimeRange(item.getString("signupEndTime", ""), item.getString("travelStartTime", ""), cancelDeadlineDays, now)); + item.put("canCancelLine", signed && StrUtil.isNotBlank(ledgerId) + && isWithinSignupRange(item.getString("signupStartTime", ""), item.getString("signupEndTime", ""), now)); + } + } + + private boolean isWithinLeaveTimeRange(String signupEndTime, String travelStartTime, int cancelDeadlineDays, LocalDateTime now) { + LocalDateTime signupEnd = parseDateTimeValue(signupEndTime, true); + LocalDateTime startTime = parseDateTimeValue(travelStartTime, false); + if (signupEnd == null || startTime == null) { + return false; + } + LocalDateTime deadline = startTime.minusDays(cancelDeadlineDays); + // 退出疗休养按钮严格限定在“报名截止时间 < 当前时间 < 出行开始前N天”范围内。 + return now.isAfter(signupEnd) && now.isBefore(deadline); + } + + private boolean isWithinSignupRange(String signupStartTime, String signupEndTime, LocalDateTime now) { + LocalDateTime startTime = parseDateTimeValue(signupStartTime, false); + LocalDateTime endTime = parseDateTimeValue(signupEndTime, true); + if (startTime == null || endTime == null) { + return false; + } + return !now.isBefore(startTime) && !now.isAfter(endTime); + } + + private LocalDateTime parseDateTimeValue(String value, boolean endOfDay) { + String normalized = normalizeDateTime(value, endOfDay); + if (StrUtil.isBlank(normalized)) { + return null; + } + try { + return LocalDateTime.parse(normalized.substring(0, 19), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + } catch (Exception e) { + return null; + } + } + + private ThirtyTeachTourUserAssignment fetchCurrentUserAssignment(String assignmentId) { + if (StrUtil.isBlank(assignmentId)) { + return null; + } + return tourLedgerService.dao().fetch(ThirtyTeachTourUserAssignment.class, Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", assignmentId) + .and(ThirtyTeachTourUserAssignment::getUserId, "=", SecurityUtil.getUserId()) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + } + + /** + * 统一校验疗休养事项报名时间,确保资格名单校验在时间校验通过后再执行。 + */ + private Result checkSignupTime(ThirtyTeachTourMatter matter) { + if (matter == null || StrUtil.isBlank(matter.getSignupStartTime()) || StrUtil.isBlank(matter.getSignupEndTime())) { + return Result.error("报名时间未配置"); + } + String now = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + if (now.compareTo(normalizeDateTime(matter.getSignupStartTime(), false)) < 0) { + return Result.error("报名未开始"); + } + if (now.compareTo(normalizeDateTime(matter.getSignupEndTime(), true)) > 0) { + return Result.error("报名已结束"); + } + return null; + } + + /** + * 报名乘车地点以疗休养配置中的乘车地点列表为准。 + * 页面未传值时优先使用事项默认乘车地点,避免历史页面或代入默认值时丢失乘车地点。 + */ + private Result normalizeBoardingPlace(ThirtyTeachTourLedger ledger, ThirtyTeachTourMatter matter, ThirtyTeachTourSetting setting) { + if (ledger == null || setting == null) { + return null; + } + List options = parseBoardingPlaceOptions(setting.getBoardingPlace()); + if (Lang.isEmpty(options)) { + ledger.setBoardingPlace(""); + return null; + } + String boardingPlace = StrUtil.blankToDefault(ledger.getBoardingPlace(), matter == null ? "" : matter.getDefaultBoardingPlace()); + if (StrUtil.isBlank(boardingPlace)) { + return Result.error("请选择乘车地点"); + } + if (!options.contains(boardingPlace)) { + return Result.error("乘车地点不在当前疗休养配置范围内"); + } + ledger.setBoardingPlace(boardingPlace); + return null; + } + + private List parseBoardingPlaceOptions(String value) { + if (StrUtil.isBlank(value)) { + return Collections.emptyList(); + } + try { + List list = Json.fromJson(List.class, value); + if (Lang.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream().map(item -> { + if (item instanceof String) { + return ((String) item).trim(); + } + if (item instanceof java.util.Map) { + Object name = ((java.util.Map) item).get("name"); + return name == null ? "" : String.valueOf(name).trim(); + } + return ""; + }) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + } catch (Exception e) { + return java.util.Arrays.stream(value.split(",")) + .map(String::trim) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + } + } + + /** + * 根据疗休养配置的报名资格方式切换校验来源。 + * ASSIGNED_USER 模式读取人员分配表,并要求当前用户为正式人员;否则沿用可参加人员范围校验。 + */ + private Result checkSignupEligibilityScope(ThirtyTeachTourSetting setting) { + if (isAssignedUserEligibility(setting)) { + NutMap assignmentResult = tourUserAssignmentService.checkFormalAssignedUser(setting.getId(), SecurityUtil.getUserId()); + if (!assignmentResult.getBoolean("canApply")) { + return Result.error(defaultIfBlank(assignmentResult.getString("message"), "您不在本次疗休养人员分配名单中,无法报名")); + } + return null; + } + Integer activityGroupId = parseInteger(setting.getActivityGroupId()); + if (activityGroupId == null || !activityBasicScopeService.isUserInGroup(activityGroupId, SecurityUtil.getUserId())) { + return Result.error("您不在本次疗休养报名范围内"); + } + return null; + } + + private String buildOutProvinceQuotaNotice(OutProvinceQuota quota) { + String suffix = quota.canApply() ? "您可以报名,或您稍后报名" : "请稍后报名"; + if ("当年报名人数".equals(quota.ratioType())) { + return "当前报名人数是" + quota.totalSignupPeople() + "人,已经报名省外线路人数是" + + quota.outProvinceSignupPeople() + "人,按照省外人数不超过" + quota.ratioText() + + "的规则,当前时间允许报名人数是" + quota.allowPeople() + "人," + suffix; + } + if ("可参加教职工人数".equals(quota.ratioType())) { + return "今年有权限报名人数是" + quota.basePeople() + "人,已经报名省外线路人数是" + + quota.outProvinceSignupPeople() + "人,按照省外人数不超过" + quota.ratioText() + + "的规则,当前时间允许报名人数是" + quota.allowPeople() + "人," + suffix; + } + return "按照省外人数不超过" + quota.ratioText() + + "的规则,当前时间允许报名人数是" + quota.allowPeople() + "人," + suffix; + } + + private int countYearSignupPeople(int year, String excludeLedgerId) { + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND t.id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + WHERE t.delFlag = 0 + AND t.`year` = @year + AND (ins.id IS NULL OR ins.state = @finishedState) + """ + excludeSql); + sql.setParam("year", year); + sql.setParam("finishedState", ProcessInstanceStateEnum.FINISHED.getCode()); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private int countYearOutProvinceSignupPeople(int year, String excludeLedgerId) { + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND t.id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + WHERE t.delFlag = 0 + AND t.`year` = @year + AND t.lineType IN ('省外线路', '省外') + AND (ins.id IS NULL OR ins.state = @finishedState) + """ + excludeSql); + sql.setParam("year", year); + sql.setParam("finishedState", ProcessInstanceStateEnum.FINISHED.getCode()); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private int countActivityGroupPeople(Integer groupId) { + if (groupId == null) { + return 0; + } + Sql sql = Sqls.create("SELECT COUNT(1) FROM (" + activityBasicScopeService.buildGroupUserIdSubSqlText(groupId) + ") scope_users"); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private int countSignupPeople(String matterId, String excludeLedgerId) { + if (StrUtil.isBlank(matterId)) { + return 0; + } + String excludeSql = StrUtil.isBlank(excludeLedgerId) ? "" : " AND t.id <> @excludeLedgerId"; + Sql sql = Sqls.create(""" + SELECT IFNULL(SUM(1 + IFNULL(f.familyCount, 0)), 0) AS signupPeople + FROM thirty_teach_tour_ledger t + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + WHERE t.delFlag = 0 + AND t.matterId = @matterId + """ + excludeSql); + sql.setParam("matterId", matterId); + if (StrUtil.isNotBlank(excludeLedgerId)) { + sql.setParam("excludeLedgerId", excludeLedgerId); + } + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt(); + } + + private String buildSelectedLineMessage(ThirtyTeachTourLedger ledger) { + String selectedLineName = getLedgerLineName(ledger); + return "您已经选择【" + selectedLineName + "】,取消后再重新选择。"; + } + + private String getLedgerLineName(ThirtyTeachTourLedger ledger) { + if (ledger == null) { + return ""; + } + if (StrUtil.isNotBlank(ledger.getLineName())) { + return ledger.getLineName(); + } + if (StrUtil.isBlank(ledger.getLineId())) { + return ""; + } + ThirtyTeachTourLine line = tourLedgerService.dao().fetch(ThirtyTeachTourLine.class, ledger.getLineId()); + return line == null ? "" : defaultIfBlank(line.getLineName(), ""); + } + + private record CycleAllowedTimes(int startYear, + int endYear, + int allowedTimes, + int joinedTimes) { + boolean canApply() { + return allowedTimes <= 0 || joinedTimes < allowedTimes; + } + } + + private record CycleTotalCost(int startYear, + int endYear, + int totalCost, + int joinedCost, + int currentCost) { + boolean canApply() { + return totalCost <= 0 || joinedCost + currentCost <= totalCost; + } + } + + private boolean isOutProvinceLine(String lineType) { + return "省外线路".equals(lineType) || "省外".equals(lineType); + } + + private boolean isInProvinceLine(String lineType) { + return "省内线路".equals(lineType) || "省内".equals(lineType); + } + + private boolean allowOverCostReimbursement(ThirtyTeachTourLine line) { + if (line == null || StrUtil.isBlank(line.getLotId())) { + return false; + } + Sql sql = Sqls.create(""" + SELECT IFNULL(allowOverReimbursement, 0) AS allowOverReimbursement + FROM thirty_teach_tour_setting_lot + WHERE id = @lotId + """); + sql.setParam("lotId", line.getLotId()); + sql.setCallback(Sqls.callback.map()); + tourLedgerService.dao().execute(sql); + NutMap lot = sql.getObject(NutMap.class); + return lot != null && lot.getBoolean("allowOverReimbursement", false); + } + + private record OutProvinceQuota(String ratioType, + BigDecimal ratio, + int basePeople, + int totalSignupPeople, + int outProvinceSignupPeople, + int allowPeople) { + boolean canApply() { + return allowPeople > 0; + } + + String ratioText() { + if (ratio == null || BigDecimal.ZERO.compareTo(ratio) == 0) { + return "0"; + } + BigDecimal oneThird = BigDecimal.ONE.divide(BigDecimal.valueOf(3), 8, RoundingMode.HALF_UP); + if (ratio.subtract(oneThird).abs().compareTo(BigDecimal.valueOf(0.01)) <= 0) { + return "1/3"; + } + return ratio.stripTrailingZeros().toPlainString(); + } + } + + private Integer parseInteger(String value) { + if (StrUtil.isBlank(value)) { + return null; + } + try { + return Integer.valueOf(value); + } catch (NumberFormatException e) { + return null; + } + } + + private String normalizeDateTime(String value, boolean endOfDay) { + if (StrUtil.isBlank(value)) { + return ""; + } + String trimmed = value.trim(); + if (trimmed.length() == 10) { + return trimmed + (endOfDay ? " 23:59:59" : " 00:00:00"); + } + if (trimmed.length() == 16) { + return trimmed + ":00"; + } + return trimmed; + } + + private void fillStaffInfo(ThirtyTeachTourLedger ledger) { + View_user user = tourLedgerService.dao().fetch(View_user.class, Cnd.where(View_user::getId, "=", SecurityUtil.getUserId())); + ledger.setJobNo(user == null ? SecurityUtil.getUserLoginname() : defaultIfBlank(user.getLoginname(), SecurityUtil.getUserLoginname())); + ledger.setUserName(user == null ? SecurityUtil.getUserUsername() : defaultIfBlank(user.getUsername(), SecurityUtil.getUserUsername())); + ledger.setGender(user == null ? ledger.getGender() : defaultIfBlank(user.getSex(), ledger.getGender())); + ledger.setIdCard(user == null ? ledger.getIdCard() : defaultIfBlank(ledger.getIdCard(), user.getIdCard())); + ledger.setUnitId(user == null ? SecurityUtil.getUnitId() : defaultIfBlank(user.getUnitId(), SecurityUtil.getUnitId())); + ledger.setUnitName(user == null ? ledger.getUnitName() : defaultIfBlank(user.getUnitName(), ledger.getUnitName())); + ledger.setUnionId(user == null ? SecurityUtil.getUnionId() : defaultIfBlank(user.getUnionId(), SecurityUtil.getUnionId())); + ledger.setUnionName(user == null ? ledger.getUnionName() : defaultIfBlank(user.getUnionName(), ledger.getUnionName())); + } + + private void fillLedgerFromAssignmentConfirmInfo(ThirtyTeachTourLedger ledger, String settingId) { + if (ledger == null || StrUtil.isBlank(settingId)) { + return; + } + NutMap assignment = tourUserAssignmentService.currentUserAssignmentInfo(settingId); + if (assignment == null || assignment.isEmpty()) { + return; + } + // 移动端信息确认页保存到人员分配表,最终报名时以该确认信息回写台账。 + ledger.setUserName(defaultIfBlank(assignment.getString("userName", ""), ledger.getUserName())); + ledger.setGender(defaultIfBlank(assignment.getString("gender", ""), ledger.getGender())); + Integer assignmentAge = assignment.getInt("age"); + if (assignmentAge != null) { + ledger.setAge(assignmentAge); + } + ledger.setIdCard(defaultIfBlank(assignment.getString("idCard", ""), ledger.getIdCard())); + ledger.setMobile(defaultIfBlank(assignment.getString("mobile", ""), ledger.getMobile())); + ledger.setBoardingPlace(defaultIfBlank(assignment.getString("boardingPlace", ""), ledger.getBoardingPlace())); + ledger.setUnitId(defaultIfBlank(assignment.getString("unitId", ""), ledger.getUnitId())); + ledger.setUnitName(defaultIfBlank(assignment.getString("unitName", ""), ledger.getUnitName())); + ledger.setUnionId(defaultIfBlank(assignment.getString("unionId", ""), ledger.getUnionId())); + ledger.setUnionName(defaultIfBlank(assignment.getString("unionName", ""), ledger.getUnionName())); + } + + private void fillLedgerContactFallback(ThirtyTeachTourLedger ledger, NutMap staff) { + if (ledger == null || staff == null) { + return; + } + // Signup detail keeps saved ledger contact data first; blank contact fields use the user profile snapshot for display only. + if (StrUtil.isBlank(ledger.getIdCard())) { + ledger.setIdCard(staff.getString("idCard", "")); + } + if (StrUtil.isBlank(ledger.getMobile())) { + ledger.setMobile(staff.getString("mobile", "")); + } + } + + private List parseFamilies(String families) { + if (StrUtil.isBlank(families)) { + return Collections.emptyList(); + } + List list = Json.fromJsonAsList(ThirtyTeachTourLedgerFamily.class, families); + if (Lang.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream() + .filter(item -> item != null && StrUtil.isNotBlank(item.getFamilyName())) + .collect(Collectors.toList()); + } + + private ThirtyTeachTourLedgerDirectRelative parseDirectRelative(String directRelative) { + if (StrUtil.isBlank(directRelative)) { + return null; + } + return Json.fromJson(ThirtyTeachTourLedgerDirectRelative.class, directRelative); + } + + private void clearBedInfo(ThirtyTeachTourLedger ledger, List familyList) { + if (ledger != null) { + ledger.setBedType(""); + ledger.setBedInfo(""); + ledger.setIntendedRoommate(""); + } + if (Lang.isNotEmpty(familyList)) { + familyList.forEach(item -> { + item.setBedType(""); + item.setBedInfo(""); + item.setIntendedRoommate(""); + }); + } + } + + private NutMap getSignupProcessInfo(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getId())) { + return NutMap.NEW(); + } + Sql sql = Sqls.create(""" + SELECT + ins.id AS instanceId, + ins.state AS instanceState, + task.taskName AS taskKey, + (SELECT MAX(st.id) FROM wf_process_task st WHERE st.processInstanceId = ins.id AND st.taskName = 'startTask' AND st.taskState IN (10, 20)) AS startTaskId, + IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = task.taskParentId) = 'startTask', 1, 0) AS canRevoke + FROM wf_process_instance ins + LEFT JOIN wf_process_task task ON task.processInstanceId = ins.id AND task.taskState = @doingState + WHERE ins.businessNo = @ledgerId + AND ins.state <> @abandonState + ORDER BY ins.createdAt DESC + LIMIT 1 + """); + sql.setParam("ledgerId", ledger.getId()); + sql.setParam("doingState", ProcessTaskStateEnum.DOING.getCode()); + sql.setParam("abandonState", ProcessInstanceStateEnum.ABANDON.getCode()); + sql.setCallback(Sqls.callback.map()); + tourLedgerService.dao().execute(sql); + NutMap process = sql.getObject(NutMap.class); + return process == null ? NutMap.NEW() : process; + } + + private Result startOrContinueSignupApprovalWorkflow(ThirtyTeachTourLedger ledger, ThirtyTeachTourLedgerDirectRelative directRelativeInfo, ThirtyTeachTourMatter matter, ThirtyTeachTourLine line) { + ProcessInstance instance = tourLedgerService.dao().fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", ledger.getId()) + .and(ProcessInstance::getState, "<>", ProcessInstanceStateEnum.ABANDON.getCode()) + .desc(ProcessInstance::getCreatedAt)); + Dict args = buildSignupApprovalArgs(ledger, directRelativeInfo, matter, line); + if (instance == null) { + ProcessInstance newInstance = flowEngine.startProcessInstanceByKey(DIRECT_FAMILY_WORKFLOW_KEY, ledger.getId(), SecurityUtil.getUserId(), args); + List doingTaskList = flowEngine.processTaskService().getDoingTaskList(newInstance.getId(), null); + for (ProcessTask task : doingTaskList) { + flowEngine.executeProcessTask(task.getId(), SecurityUtil.getUserId(), args); + } + return null; + } + if (!ProcessInstanceStateEnum.DOING.getCode().equals(instance.getState())) { + return Result.error("当前审批流程状态不允许修改提交"); + } + ProcessTask startTask = tourLedgerService.dao().fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", instance.getId()) + .and(ProcessTask::getTaskName, "=", "startTask") + .and(ProcessTask::getTaskState, "=", ProcessTaskStateEnum.DOING.getCode())); + if (startTask == null) { + return Result.error("当前审批流程节点不允许修改提交"); + } + flowEngine.executeProcessTask(startTask.getId(), SecurityUtil.getUserId(), args); + return null; + } + + private Result checkSignupApprovalWorkflowCanSubmit(String ledgerId) { + ProcessInstance instance = tourLedgerService.dao().fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", ledgerId) + .and(ProcessInstance::getState, "<>", ProcessInstanceStateEnum.ABANDON.getCode()) + .desc(ProcessInstance::getCreatedAt)); + if (instance == null) { + return null; + } + if (!ProcessInstanceStateEnum.DOING.getCode().equals(instance.getState())) { + return Result.error("当前审批流程状态不允许修改提交"); + } + ProcessTask startTask = tourLedgerService.dao().fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", instance.getId()) + .and(ProcessTask::getTaskName, "=", "startTask") + .and(ProcessTask::getTaskState, "=", ProcessTaskStateEnum.DOING.getCode())); + if (startTask == null) { + return Result.error("当前审批流程节点不允许修改提交"); + } + return null; + } + + private Dict buildSignupApprovalArgs(ThirtyTeachTourLedger ledger, ThirtyTeachTourLedgerDirectRelative directRelativeInfo, ThirtyTeachTourMatter matter, ThirtyTeachTourLine line) { + Dict args = Dict.create(); + args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode()); + args.set(FlowConst.FORM_DATA, NutMap.NEW() + .addv("ledger", ledger) + .addv("directRelative", directRelativeInfo) + .addv("matter", matter) + .addv("line", line)); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "matterId", ledger.getMatterId()); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "lineId", ledger.getLineId()); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "lineName", ledger.getLineName()); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "directFamilyUnitLine", line != null && Boolean.TRUE.equals(line.getDirectFamilyUnitLine())); + args.set(FlowConst.TASK_FORM_DATA_PREFIX + "overCostReimbursed", Boolean.TRUE.equals(ledger.getOverCostReimbursed())); + return args; + } + + private String defaultIfBlank(String value, String defaultValue) { + return StrUtil.isBlank(value) ? defaultValue : value; + } + + private String currentJobNo() { + View_user user = tourMatterService.dao().fetch(View_user.class, Cnd.where(View_user::getId, "=", SecurityUtil.getUserId())); + return user == null ? SecurityUtil.getUserLoginname() : defaultIfBlank(user.getLoginname(), SecurityUtil.getUserLoginname()); + } + + private String getOrderColumn(String orderName) { + if ("lineName".equals(orderName)) { + return "l.lineName"; + } + if ("travelPeriod".equals(orderName)) { + return "m.travelStartTime"; + } + if ("matterName".equals(orderName)) { + return "m.matterName"; + } + if ("unionName".equals(orderName)) { + return "u.name"; + } + if ("lineType".equals(orderName)) { + return "l.lineType"; + } + if ("minGroupPeople".equals(orderName)) { + return "m.minGroupPeople"; + } + if ("maxGroupPeople".equals(orderName)) { + return "m.maxGroupPeople"; + } + if ("signupCount".equals(orderName)) { + return "signupCount"; + } + return "l.lineName"; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourTravelAgencyController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourTravelAgencyController.java new file mode 100644 index 00000000..af5468c2 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourTravelAgencyController.java @@ -0,0 +1,160 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourTravelAgency; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourTravelAgencyService; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.dao.Cnd; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/travelAgency") +public class ThirtyTeachTourTravelAgencyController { + + private static final String MOBILE_PATTERN = "^1[3-9]\\d{9}$"; + private static final String EMAIL_PATTERN = "^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+$"; + + @Inject + private ThirtyTeachTourTravelAgencyService travelAgencyService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/travelAgency/index.html") + @SaCheckPermission("thirtyTeachTour.travelAgency") + public void index() { + } + + @At + @SaCheckPermission("thirtyTeachTour.travelAgency") + public Result pageData(PageForm pageForm, Integer year, String agencyName, String contactName, String contactPhone) { + Cnd cnd = Cnd.NEW(); + cnd.andEX(ThirtyTeachTourTravelAgency::getYear, "=", year); + cnd.and(Cnd.likeEX(ThirtyTeachTourTravelAgency::getAgencyName, agencyName)); + cnd.and(Cnd.likeEX(ThirtyTeachTourTravelAgency::getContactName, contactName)); + cnd.and(Cnd.likeEX(ThirtyTeachTourTravelAgency::getContactPhone, contactPhone)); + applyOrder(cnd, pageForm); + Pagination pagination = travelAgencyService.listPage( + pageForm.getPageNumber(), + pageForm.getPageSize(), + ThirtyTeachTourTravelAgency.class, + cnd + ); + return Result.success(pagination); + } + + @At + @SaCheckPermission("thirtyTeachTour.travelAgency") + public Result detail(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + ThirtyTeachTourTravelAgency agency = travelAgencyService.fetch(id); + return agency == null ? Result.error("旅行社不存在") : Result.success(agency); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.travelAgency") + @SLog(type = "tour", tag = "旅行社管理", msg = "保存旅行社信息") + public Result doSubmit(ThirtyTeachTourTravelAgency agency) { + Result checkResult = check(agency); + if (checkResult != null) { + return checkResult; + } + + Cnd sameCodeCnd = Cnd.where(ThirtyTeachTourTravelAgency::getYear, "=", agency.getYear()) + .and(ThirtyTeachTourTravelAgency::getAgencyCode, "=", agency.getAgencyCode()); + if (StrUtil.isNotBlank(agency.getId())) { + sameCodeCnd.and(ThirtyTeachTourTravelAgency::getId, "<>", agency.getId()); + } + if (travelAgencyService.count(sameCodeCnd) > 0) { + return Result.error("同年度下旅行社编号已存在"); + } + if (agency.getEnabled() == null) { + agency.setEnabled(true); + } + if (StrUtil.isBlank(agency.getId())) { + travelAgencyService.insert(agency); + } else { + travelAgencyService.updateIgnoreNull(agency); + } + return Result.success(); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.travelAgency") + @SLog(type = "tour", tag = "旅行社管理", msg = "删除旅行社信息") + public Result doDelete(String id) { + if (StrUtil.isBlank(id)) { + return Result.error("参数错误"); + } + travelAgencyService.delete(id); + return Result.success(); + } + + private Result check(ThirtyTeachTourTravelAgency agency) { + if (agency == null) { + return Result.error("参数错误"); + } + if (agency.getYear() == null) { + return Result.error("年度不能为空"); + } + if (StrUtil.isBlank(agency.getAgencyName())) { + return Result.error("旅行社名称不能为空"); + } + if (StrUtil.isBlank(agency.getAgencyCode())) { + return Result.error("旅行社编号不能为空"); + } + if (StrUtil.isBlank(agency.getContactName())) { + return Result.error("联系人不能为空"); + } + if (StrUtil.isBlank(agency.getContactPhone())) { + return Result.error("联系人手机不能为空"); + } +// if (!agency.getContactPhone().matches(MOBILE_PATTERN)) { +// return Result.error("联系人手机格式不正确"); +// } + if (StrUtil.isBlank(agency.getEmail())) { + return Result.error("邮箱不能为空"); + } + if (!agency.getEmail().matches(EMAIL_PATTERN)) { + return Result.error("邮箱格式不正确"); + } + return null; + } + + private void applyOrder(Cnd cnd, PageForm pageForm) { + String orderName = pageForm.getPageOrderName(); + String orderBy = pageForm.getPageOrderBy(); + if (StrUtil.isBlank(orderName)) { + cnd.asc(ThirtyTeachTourTravelAgency::getYear).asc(ThirtyTeachTourTravelAgency::getAgencyCode).desc(ThirtyTeachTourTravelAgency::getCreatedAt); + return; + } + boolean descending = "descending".equals(orderBy); + if ("year".equals(orderName)) { + if (descending) { + cnd.desc(ThirtyTeachTourTravelAgency::getYear); + } else { + cnd.asc(ThirtyTeachTourTravelAgency::getYear); + } + } else if ("agencyCode".equals(orderName)) { + if (descending) { + cnd.desc(ThirtyTeachTourTravelAgency::getAgencyCode); + } else { + cnd.asc(ThirtyTeachTourTravelAgency::getAgencyCode); + } + } else { + cnd.asc(ThirtyTeachTourTravelAgency::getYear).asc(ThirtyTeachTourTravelAgency::getAgencyCode).desc(ThirtyTeachTourTravelAgency::getCreatedAt); + } + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourUnionApprovalController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourUnionApprovalController.java new file mode 100644 index 00000000..0875e906 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourUnionApprovalController.java @@ -0,0 +1,600 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaMode; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.flow.enums.ProcessTaskStateEnum; +import com.budwk.app.sys.views.View_user; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedger; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerDirectRelative; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerFamily; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerDirectRelativeService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerFamilyService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerService; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import java.time.LocalDate; +import java.util.List; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/unionApproval") +public class ThirtyTeachTourUnionApprovalController { + + private static final String WORKFLOW_KEY = "LXYBZXQSXL"; + private static final String TASK_DISPLAY_NAME = "分工会审核"; + + @Inject + private ThirtyTeachTourLedgerService tourLedgerService; + + @Inject + private ThirtyTeachTourLedgerFamilyService tourLedgerFamilyService; + + @Inject + private ThirtyTeachTourLedgerDirectRelativeService tourLedgerDirectRelativeService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/unionApproval/index.html") + @SaCheckPermission(value = {"thirtyTeachTour.unionApproval", "h5.thirtyTeachTour.unionApproval"}, mode = SaMode.OR) + public void index() { + } + + @At("/h5") + @Ok("beetl:/platform/zhghh5/dayofficework/thirtyTeachTour/unionApproval/index.html") + @SaCheckPermission(value = {"thirtyTeachTour.unionApproval", "h5.thirtyTeachTour.unionApproval"}, mode = SaMode.OR) + public void h5() { + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.unionApproval", "h5.thirtyTeachTour.unionApproval"}, mode = SaMode.OR) + public Result pageData(PageForm pageForm, Boolean audit, Integer startYear, Integer endYear, String keyword, String unionId, String lineId, String travelPeriod, String lineType) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, unionId, lineId, travelPeriod, lineType); + + Sql countSql = Sqls.create(""" + SELECT COUNT(DISTINCT task.id) + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + t.*, + ins.id AS instanceId, + ins.businessNo, + ins.state AS instanceState, + ins.variable AS instanceVariable, + ins.processDefineId AS instanceProcessDefineId, + task.id AS taskId, + task.taskName AS taskKey, + task.displayName AS taskName, + task.taskType, + task.performType AS taskPerformType, + task.taskState, + task.finishTime, + task.taskParentId, + task.variable AS taskVariable, + IFNULL(GROUP_CONCAT(DISTINCT nt.displayName), '结束') AS curTaskName, + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS currentLineName, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE tp.travelPeriod + END AS travelPeriod, + IFNULL(f.familyCount, 0) AS familyCount + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN wf_process_task nt ON nt.processInstanceId = ins.id AND nt.taskState = 10 + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + LEFT JOIN ( + SELECT + `year`, + lineId, + GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND lineId IS NOT NULL + AND lineId <> '' + GROUP BY `year`, lineId + ) tp ON (t.matterId IS NULL OR t.matterId = '') AND tp.`year` = t.`year` AND tp.lineId = t.lineId + $condition + GROUP BY task.id + ORDER BY $orderColumn $orderBy, task.createdAt DESC, t.signupTime DESC, t.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "ascending".equals(pageForm.getPageOrderBy()) ? "asc" : "desc"); + listSql.setPager(tourLedgerService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(listSql); + + List list = listSql.getList(NutMap.class); + list.forEach(item -> item.put("lineName", item.getString("currentLineName"))); + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, list); + return Result.success(pagination); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.unionApproval", "h5.thirtyTeachTour.unionApproval"}, mode = SaMode.OR) + public Result detail(String id) { + ThirtyTeachTourLedger ledger = fetchAuditLedger(id); + if (ledger == null) { + return Result.error("报名记录不存在或无权查看"); + } + fillLedgerContactFallback(ledger); + ledger.setLineName(getCurrentLineName(ledger)); + Cnd familyCnd = Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId()) + .and(ThirtyTeachTourLedgerFamily::getDelFlag, "=", false); + familyCnd.asc(ThirtyTeachTourLedgerFamily::getCreatedAt); + ThirtyTeachTourLedgerDirectRelative directRelative = tourLedgerDirectRelativeService.fetch( + Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId()) + .and(ThirtyTeachTourLedgerDirectRelative::getDelFlag, "=", false)); + NutMap signupConfig = getSignupConfig(ledger); + return Result.success(NutMap.NEW() + .addv("ledger", ledger) + .addv("travelPeriod", getTravelPeriod(ledger)) + .addv("families", tourLedgerFamilyService.query(familyCnd)) + .addv("directRelative", directRelative) + .addv("allowFamily", signupConfig.getBoolean("allowFamily", false)) + .addv("fillBedInfo", signupConfig.getBoolean("fillBedInfo", true)) + .addv("directFamilyUnitLine", signupConfig.getBoolean("directFamilyUnitLine", false))); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.unionApproval", "h5.thirtyTeachTour.unionApproval"}, mode = SaMode.OR) + public Result unionOptions(Boolean audit, Integer startYear, Integer endYear, String keyword, String lineId, String travelPeriod, String lineType) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, null, lineId, travelPeriod, lineType); + cnd.and("t.unionId", "IS NOT", null); + cnd.and("t.unionId", "<>", ""); + + Sql sql = Sqls.create(""" + SELECT DISTINCT + t.unionId AS id, + COALESCE(NULLIF(u.name, ''), t.unionName) AS name, + u.unionCode + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union u ON u.id = t.unionId + $condition + ORDER BY u.unionCode ASC, name ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.unionApproval", "h5.thirtyTeachTour.unionApproval"}, mode = SaMode.OR) + public Result lineOptions(Boolean audit, Integer startYear, Integer endYear, String travelPeriod, String lineType, String unionId, String keyword) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, unionId, null, travelPeriod, lineType); + cnd.and("t.lineName", "IS NOT", null); + cnd.and("t.lineName", "<>", ""); + + Sql sql = Sqls.create(""" + SELECT DISTINCT + CASE + WHEN IFNULL(t.lineId, '') <> '' THEN CONCAT(t.lineId, '|', IFNULL(m.unionId, '')) + ELSE CONCAT('legacy:', t.lineName, '|', IFNULL(m.unionId, '')) + END AS lineId, + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS lineName + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + $condition + ORDER BY lineName ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.unionApproval", "h5.thirtyTeachTour.unionApproval"}, mode = SaMode.OR) + public Result travelPeriodOptions(Boolean audit, Integer startYear, Integer endYear, String lineId, String lineType, String unionId, String keyword) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, unionId, lineId, null, lineType); + cnd.and("m.travelStartTime", "IS NOT", null); + cnd.and("m.travelStartTime", "<>", ""); + cnd.and("m.travelEndTime", "IS NOT", null); + cnd.and("m.travelEndTime", "<>", ""); + + Sql sql = Sqls.create(""" + SELECT DISTINCT CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) AS travelPeriod + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + $condition + ORDER BY travelPeriod ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission(value = {"thirtyTeachTour.unionApproval", "h5.thirtyTeachTour.unionApproval"}, mode = SaMode.OR) + public Result lineTypeOptions(Boolean audit, Integer startYear, Integer endYear, String lineId, String travelPeriod, String unionId, String keyword) { + Cnd cnd = buildAuditCnd(audit, startYear, endYear, keyword, unionId, lineId, travelPeriod, null); + cnd.and("t.lineType", "IS NOT", null); + cnd.and("t.lineType", "<>", ""); + + Sql sql = Sqls.create(""" + SELECT DISTINCT t.lineType + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + $condition + ORDER BY t.lineType ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + private Cnd buildAuditCnd(Boolean audit, Integer startYear, Integer endYear, String keyword, String unionId, String lineId, String travelPeriod, String lineType) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.and("def.name", "=", WORKFLOW_KEY); + cnd.and("task.displayName", "=", TASK_DISPLAY_NAME); + cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId())); + appendAuditStateFilter(cnd, audit); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.andEX("t.unionId", "=", unionId); + cnd.andEX("t.lineType", "=", lineType); + appendLineFilter(cnd, lineId); + appendTravelPeriodFilter(cnd, travelPeriod); + appendKeywordFilter(cnd, keyword); + return cnd; + } + + private void appendAuditStateFilter(Cnd cnd, Boolean audit) { + if (Boolean.TRUE.equals(audit)) { + cnd.and("task.taskState", "in", List.of( + ProcessTaskStateEnum.FINISHED.getCode(), + ProcessTaskStateEnum.WITHDRAW.getCode(), + ProcessTaskStateEnum.INTERRUPT.getCode())); + return; + } + cnd.and("task.taskState", "=", ProcessTaskStateEnum.DOING.getCode()); + } + + private void appendKeywordFilter(Cnd cnd, String keyword) { + if (StrUtil.isBlank(keyword)) { + return; + } + SqlExpressionGroup group = new SqlExpressionGroup(); + group.orLike("t.userName", keyword.trim()); + group.orLike("t.jobNo", keyword.trim()); + group.orLike("t.lineName", keyword.trim()); + group.orLike("l.lineName", keyword.trim()); + cnd.and(group); + } + + private void appendTravelPeriodFilter(Cnd cnd, String travelPeriod) { + if (StrUtil.isBlank(travelPeriod)) { + return; + } + cnd.and("CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime)", "=", travelPeriod); + } + + private void appendLineFilter(Cnd cnd, String lineId) { + if (StrUtil.isBlank(lineId)) { + return; + } + LineFilter lineFilter = parseLineFilter(lineId); + if (lineFilter.getLineId().startsWith("legacy:")) { + SqlExpressionGroup legacyGroup = new SqlExpressionGroup(); + legacyGroup.or("t.lineId", "IS", null); + legacyGroup.or("t.lineId", "=", ""); + cnd.and(legacyGroup); + cnd.and("t.lineName", "=", lineFilter.getLineId().substring("legacy:".length())); + } else { + cnd.and("t.lineId", "=", lineFilter.getLineId()); + } + appendMatterUnionFilter(cnd, lineFilter.getUnionId()); + } + + private LineFilter parseLineFilter(String value) { + int delimiterIndex = value.indexOf("|"); + if (delimiterIndex < 0) { + return new LineFilter(value, null); + } + return new LineFilter(value.substring(0, delimiterIndex), value.substring(delimiterIndex + 1)); + } + + private void appendMatterUnionFilter(Cnd cnd, String unionId) { + if (unionId == null) { + return; + } + if (StrUtil.isBlank(unionId)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.or("m.unionId", "IS", null); + group.or("m.unionId", "=", ""); + cnd.and(group); + return; + } + cnd.and("m.unionId", "=", unionId); + } + + private String getOrderColumn(String orderName) { + if ("jobNo".equals(orderName)) { + return "t.jobNo"; + } + if ("userName".equals(orderName)) { + return "t.userName"; + } + if ("lineName".equals(orderName)) { + return """ + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END + """; + } + if ("travelPeriod".equals(orderName)) { + return "COALESCE(m.travelStartTime, tp.travelPeriod)"; + } + if ("lineType".equals(orderName)) { + return "t.lineType"; + } + if ("signupTime".equals(orderName)) { + return "t.signupTime"; + } + if ("familyCount".equals(orderName)) { + return "familyCount"; + } + if ("instanceState".equals(orderName)) { + return "ins.state"; + } + return "task.createdAt"; + } + + private ThirtyTeachTourLedger fetchAuditLedger(String id) { + if (StrUtil.isBlank(id)) { + return null; + } + Sql sql = Sqls.create(""" + SELECT COUNT(1) + FROM wf_process_task task + LEFT JOIN wf_process_instance ins ON ins.id = task.processInstanceId + LEFT JOIN wf_process_define def ON def.id = ins.processDefineId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = task.id + INNER JOIN thirty_teach_tour_ledger t ON t.id = ins.businessNo + WHERE t.delFlag = 0 + AND t.id = @id + AND def.name = @workflowKey + AND task.displayName = @taskDisplayName + AND ta.actorId = @actorId + """); + sql.setParam("id", id); + sql.setParam("workflowKey", WORKFLOW_KEY); + sql.setParam("taskDisplayName", TASK_DISPLAY_NAME); + sql.setParam("actorId", SecurityUtil.getUserId()); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt() > 0 ? tourLedgerService.fetch(id) : null; + } + + private void fillLedgerContactFallback(ThirtyTeachTourLedger ledger) { + if (ledger == null || (StrUtil.isNotBlank(ledger.getIdCard()) && StrUtil.isNotBlank(ledger.getMobile()))) { + return; + } + // Approval detail keeps ledger contact data first; blank contact fields use the user profile snapshot for display only. + View_user user = tourLedgerService.dao().fetch(View_user.class, Cnd.where(View_user::getLoginname, "=", ledger.getJobNo())); + if (user == null) { + return; + } + if (StrUtil.isBlank(ledger.getIdCard())) { + ledger.setIdCard(user.getIdCard()); + } + if (StrUtil.isBlank(ledger.getMobile())) { + ledger.setMobile(user.getMobile()); + } + } + + private String getCurrentLineName(ThirtyTeachTourLedger ledger) { + if (ledger == null) { + return ""; + } + Sql sql = Sqls.create(""" + SELECT CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS lineName + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + WHERE t.id = @ledgerId + """); + sql.setParam("ledgerId", ledger.getId()); + sql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(sql); + return StrUtil.blankToDefault(sql.getString(), ledger.getLineName()); + } + + private String getTravelPeriod(ThirtyTeachTourLedger ledger) { + if (ledger == null || ledger.getYear() == null || StrUtil.isBlank(ledger.getLineId())) { + return ""; + } + if (StrUtil.isNotBlank(ledger.getMatterId())) { + Sql exactSql = Sqls.create(""" + SELECT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE '' + END AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND id = @matterId + """); + exactSql.setParam("matterId", ledger.getMatterId()); + exactSql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(exactSql); + return exactSql.getString(); + } + Sql sql = Sqls.create(""" + SELECT GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND `year` = @year + AND lineId = @lineId + """); + sql.setParam("year", ledger.getYear()); + sql.setParam("lineId", ledger.getLineId()); + sql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(sql); + return sql.getString(); + } + + private NutMap getSignupConfig(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getLineId())) { + return NutMap.NEW().addv("allowFamily", false).addv("fillBedInfo", true).addv("directFamilyUnitLine", false); + } + Sql sql = Sqls.create(""" + SELECT + IFNULL(s.allowFamily, 0) AS allowFamily, + IFNULL(s.fillBedInfo, 1) AS fillBedInfo, + IFNULL(l.directFamilyUnitLine, 0) AS directFamilyUnitLine + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_setting s ON s.id = m.settingId AND s.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + WHERE t.id = @ledgerId + """); + sql.setParam("ledgerId", ledger.getId()); + sql.setCallback(Sqls.callback.map()); + tourLedgerService.dao().execute(sql); + NutMap map = sql.getObject(NutMap.class); + if (map == null || map.isEmpty()) { + return NutMap.NEW().addv("allowFamily", false).addv("fillBedInfo", true).addv("directFamilyUnitLine", false); + } + return map; + } + + private static class LineFilter { + private final String lineId; + private final String unionId; + + private LineFilter(String lineId, String unionId) { + this.lineId = lineId; + this.unionId = unionId; + } + + private String getLineId() { + return lineId; + } + + private String getUnionId() { + return unionId; + } + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourUnionLedgerController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourUnionLedgerController.java new file mode 100644 index 00000000..c2c65bfa --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/controller/ThirtyTeachTourUnionLedgerController.java @@ -0,0 +1,912 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.sys.models.Sys_union; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedger; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerDirectRelative; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerFamily; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerDirectRelativeService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerFamilyService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourUserAssignmentService; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.BorderStyle; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.util.CellRangeAddress; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; +import java.util.List; + +@IocBean +@Ok("json:full") +@At("/platform/thirtyTeachTour/unionledger") +public class ThirtyTeachTourUnionLedgerController { + + @Inject + private ThirtyTeachTourLedgerService tourLedgerService; + + @Inject + private ThirtyTeachTourLedgerFamilyService tourLedgerFamilyService; + + @Inject + private ThirtyTeachTourLedgerDirectRelativeService tourLedgerDirectRelativeService; + + @Inject + private ThirtyTeachTourUserAssignmentService tourUserAssignmentService; + + @At("") + @Ok("beetl:/platform/zhgh/dayofficework/ThirtyTeachTour/unionledger/index.html") + @SaCheckPermission("thirtyTeachTour.unionledger") + public void index() { + } + + @At + @SaCheckPermission("thirtyTeachTour.unionledger") + public Result pageData(PageForm pageForm, Integer startYear, Integer endYear, String keyword, String unionId, String lineId, String travelPeriod, String lineType, String scopeType, Boolean overCostOnly) { + String currentUnionId = currentUnionId(); + if (StrUtil.isBlank(currentUnionId)) { + return Result.error("当前登录人所属工会不能为空"); + } + Cnd cnd = buildQueryCnd(currentUnionId, startYear, endYear, keyword, unionId, lineId, travelPeriod, lineType, scopeType, overCostOnly); + + Sql countSql = Sqls.create(""" + SELECT COUNT(DISTINCT t.id) + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN wf_process_task task ON task.processInstanceId = ins.id AND task.taskState = 10 + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + $condition + """); + countSql.setCondition(cnd); + countSql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(countSql); + int count = countSql.getInt(); + + Sql listSql = Sqls.create(""" + SELECT + t.*, + ins.id AS instanceId, + ins.state AS instanceState, + ins.processDefineId AS instanceProcessDefineId, + IFNULL(l.directFamilyUnitLine, 0) AS directFamilyUnitLine, + IFNULL(GROUP_CONCAT(DISTINCT task.displayName), IF(ins.id IS NULL, '', '结束')) AS curTaskName, + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS currentLineName, + IFNULL(f.familyCount, 0) AS familyCount, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE tp.travelPeriod + END AS travelPeriod + FROM thirty_teach_tour_ledger t + LEFT JOIN wf_process_instance ins ON ins.businessNo = t.id + LEFT JOIN wf_process_task task ON task.processInstanceId = ins.id AND task.taskState = 10 + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + LEFT JOIN ( + SELECT + `year`, + lineId, + GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND lineId IS NOT NULL + AND lineId <> '' + GROUP BY `year`, lineId + ) tp ON (t.matterId IS NULL OR t.matterId = '') AND tp.`year` = t.`year` AND tp.lineId = t.lineId + $condition + GROUP BY t.id + ORDER BY $orderColumn $orderBy, t.`year` DESC, t.signupTime DESC, t.createdAt DESC + """); + listSql.setCondition(cnd); + listSql.setVar("orderColumn", getOrderColumn(pageForm.getPageOrderName())); + listSql.setVar("orderBy", "descending".equals(pageForm.getPageOrderBy()) ? "desc" : "asc"); + listSql.setPager(tourLedgerService.dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize())); + listSql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(listSql); + + var list = listSql.getList(NutMap.class); + list.forEach(item -> item.put("lineName", item.getString("currentLineName"))); + Pagination pagination = new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), count, list); + return Result.success(pagination); + } + + @At + @Ok("void") + @SaCheckPermission("thirtyTeachTour.unionledger") + public void exportOverCostSummary(PageForm pageForm, Integer startYear, Integer endYear, String keyword, String unionId, String lineId, String travelPeriod, String lineType, String scopeType, HttpServletResponse response) { + String currentUnionId = currentUnionId(); + if (StrUtil.isBlank(currentUnionId)) { + return; + } + Cnd cnd = buildQueryCnd(currentUnionId, startYear, endYear, keyword, unionId, lineId, travelPeriod, lineType, scopeType, true); + List list = queryOverCostSummaryList(cnd, pageForm); + Workbook workbook = buildOverCostSummaryWorkbook(currentUnionName(), list); + CommonDownloadUtil.download("5天外超出部分疗休养费用由单位承担申请人员汇总表.xls", workbook, response); + } + + @At + @SaCheckPermission("thirtyTeachTour.unionledger") + public Result detail(String id) { + ThirtyTeachTourLedger ledger = fetchScopedLedger(id); + if (ledger == null) { + return Result.error("台账记录不存在或无权查看"); + } + ledger.setLineName(getCurrentLineName(ledger)); + Cnd familyCnd = Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", id) + .and(ThirtyTeachTourLedgerFamily::getDelFlag, "=", false); + familyCnd.asc(ThirtyTeachTourLedgerFamily::getCreatedAt); + ThirtyTeachTourLedgerDirectRelative directRelative = tourLedgerDirectRelativeService.fetch( + Cnd.where(ThirtyTeachTourLedgerDirectRelative::getDelFlag, "=", false) + .and(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + return Result.success(NutMap.NEW() + .addv("ledger", ledger) + .addv("travelPeriod", getTravelPeriod(ledger)) + .addv("families", tourLedgerFamilyService.query(familyCnd)) + .addv("directRelative", directRelative) + .addv("fillBedInfo", isFillBedInfo(ledger)) + .addv("directFamilyUnitLine", isDirectFamilyUnitLine(ledger))); + } + + @At + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("thirtyTeachTour.unionledger") + @SLog(type = "tour", tag = "分工会疗休养台账", msg = "删除分工会疗休养台账") + public Result doDelete(String id) { + ThirtyTeachTourLedger ledger = fetchScopedLedger(id); + if (ledger == null) { + return Result.error("台账记录不存在或无权删除"); + } + // 删除分工会台账时同步清理台账明细和人员分配中的线路快照,避免人员分配列表继续显示已删除报名的路线信息。 + tourLedgerFamilyService.clear(Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "=", ledger.getId())); + tourLedgerDirectRelativeService.clear(Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "=", ledger.getId())); + tourLedgerService.clear(Cnd.where(ThirtyTeachTourLedger::getId, "=", ledger.getId())); + tourUserAssignmentService.clearExistingAssignmentMatterAfterLedgerDelete(ledger.getMatterId(), ledger.getJobNo()); + return Result.success(); + } + + @At + @SaCheckPermission("thirtyTeachTour.unionledger") + public Result unionOptions(Integer startYear, Integer endYear) { + String currentUnionId = currentUnionId(); + if (StrUtil.isBlank(currentUnionId)) { + return Result.error("当前登录人所属工会不能为空"); + } + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.and("t.unionId", "IS NOT", null); + cnd.and("t.unionId", "<>", ""); + applyUnionLedgerScope(cnd, currentUnionId); + + Sql sql = Sqls.create(""" + SELECT DISTINCT + t.unionId AS id, + COALESCE(NULLIF(u.name, ''), t.unionName) AS name, + u.unionCode + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN sys_union u ON u.id = t.unionId + $condition + ORDER BY + CASE WHEN t.unionId = @currentUnionId THEN 0 ELSE 1 END, + u.unionCode ASC, + name ASC + """); + sql.setCondition(cnd); + sql.setParam("currentUnionId", currentUnionId); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission("thirtyTeachTour.unionledger") + public Result lineOptions(Integer startYear, Integer endYear, String travelPeriod, String lineType, String unionId, String keyword, String scopeType) { + String currentUnionId = currentUnionId(); + if (StrUtil.isBlank(currentUnionId)) { + return Result.error("当前登录人所属工会不能为空"); + } + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.and("t.lineName", "IS NOT", null); + cnd.and("t.lineName", "<>", ""); + cnd.andEX("t.unionId", "=", unionId); + cnd.andEX("t.lineType", "=", lineType); + appendTravelPeriodFilter(cnd, travelPeriod); + appendScopeFilter(cnd, currentUnionId, scopeType); + appendKeywordFilter(cnd, keyword); + + Sql sql = Sqls.create(""" + SELECT DISTINCT + CASE + WHEN IFNULL(t.lineId, '') <> '' THEN CONCAT(t.lineId, '|', IFNULL(m.unionId, '')) + ELSE CONCAT('legacy:', t.lineName, '|', IFNULL(m.unionId, '')) + END AS lineId, + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS lineName + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + $condition + ORDER BY lineName ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission("thirtyTeachTour.unionledger") + public Result travelPeriodOptions(Integer startYear, Integer endYear, String lineId, String lineType, String unionId, String keyword, String scopeType) { + String currentUnionId = currentUnionId(); + if (StrUtil.isBlank(currentUnionId)) { + return Result.error("当前登录人所属工会不能为空"); + } + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.and("m.travelStartTime", "IS NOT", null); + cnd.and("m.travelStartTime", "<>", ""); + cnd.and("m.travelEndTime", "IS NOT", null); + cnd.and("m.travelEndTime", "<>", ""); + cnd.andEX("t.unionId", "=", unionId); + cnd.andEX("t.lineType", "=", lineType); + appendLineFilter(cnd, lineId); + appendScopeFilter(cnd, currentUnionId, scopeType); + appendKeywordFilter(cnd, keyword); + + Sql sql = Sqls.create(""" + SELECT DISTINCT CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) AS travelPeriod + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + $condition + ORDER BY travelPeriod ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission("thirtyTeachTour.unionledger") + public Result lineTypeOptions(Integer startYear, Integer endYear, String lineId, String travelPeriod, String unionId, String keyword, String scopeType) { + String currentUnionId = currentUnionId(); + if (StrUtil.isBlank(currentUnionId)) { + return Result.error("当前登录人所属工会不能为空"); + } + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.and("t.lineType", "IS NOT", null); + cnd.and("t.lineType", "<>", ""); + cnd.andEX("t.unionId", "=", unionId); + appendLineFilter(cnd, lineId); + appendTravelPeriodFilter(cnd, travelPeriod); + appendScopeFilter(cnd, currentUnionId, scopeType); + appendKeywordFilter(cnd, keyword); + + Sql sql = Sqls.create(""" + SELECT DISTINCT t.lineType + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + $condition + ORDER BY t.lineType ASC + """); + sql.setCondition(cnd); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + return Result.success(sql.getList(NutMap.class)); + } + + @At + @SaCheckPermission("thirtyTeachTour.unionledger") + public Result summaryStats(Integer startYear, Integer endYear, String unionId, String lineId, String travelPeriod, String lineType) { + String currentUnionId = currentUnionId(); + if (StrUtil.isBlank(currentUnionId)) { + return Result.error("当前登录人所属工会不能为空"); + } + Cnd ownCnd = buildSummaryCnd(currentUnionId, startYear, endYear, unionId, lineId, travelPeriod, lineType, "ownUnionJoined"); + Cnd organizedCnd = buildSummaryCnd(currentUnionId, startYear, endYear, unionId, lineId, travelPeriod, lineType, "organizedLineJoined"); + + Sql ownSql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + $condition + """); + ownSql.setCondition(ownCnd); + ownSql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(ownSql); + + Sql organizedSql = Sqls.create(""" + SELECT CAST(IFNULL(SUM(1 + IFNULL(f.familyCount, 0)), 0) AS SIGNED) + FROM thirty_teach_tour_ledger t + INNER JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + $condition + """); + organizedSql.setCondition(organizedCnd); + organizedSql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(organizedSql); + + return Result.success(NutMap.NEW() + .addv("ownUnionJoinedStaffCount", ownSql.getInt()) + .addv("organizedLineJoinedTotalCount", organizedSql.getInt())); + } + + private List queryOverCostSummaryList(Cnd cnd, PageForm pageForm) { + Sql sql = Sqls.create(""" + SELECT + t.id, + t.userName, + COALESCE(NULLIF(t.idCard, ''), NULLIF(vu.idCard, ''), '') AS idCard, + t.unionName, + COALESCE(NULLIF(t.mobile, ''), NULLIF(vu.mobile, ''), '') AS mobile, + m.travelStartTime, + m.travelEndTime, + m.estimatedCost, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE tp.travelPeriod + END AS travelPeriod, + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS currentLineName + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + LEFT JOIN vw_user vu ON vu.loginname = t.jobNo + LEFT JOIN ( + SELECT + `year`, + lineId, + GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND lineId IS NOT NULL + AND lineId <> '' + GROUP BY `year`, lineId + ) tp ON (t.matterId IS NULL OR t.matterId = '') AND tp.`year` = t.`year` AND tp.lineId = t.lineId + $condition + ORDER BY $orderColumn $orderBy, t.`year` DESC, t.signupTime DESC, t.createdAt DESC + """); + sql.setCondition(cnd); + sql.setVar("orderColumn", getOrderColumn(pageForm == null ? null : pageForm.getPageOrderName())); + sql.setVar("orderBy", pageForm != null && "ascending".equals(pageForm.getPageOrderBy()) ? "asc" : "desc"); + sql.setCallback(Sqls.callback.maps()); + tourLedgerService.dao().execute(sql); + List list = sql.getList(NutMap.class); + for (NutMap item : list) { + item.put("lineName", item.getString("currentLineName")); + item.put("totalDays", calcDays(item.getString("travelStartTime", ""), item.getString("travelEndTime", ""))); + item.put("estimatedCostText", formatAmount(item.get("estimatedCost"))); + } + return list; + } + + private Workbook buildOverCostSummaryWorkbook(String unionName, List list) { + Workbook workbook = new HSSFWorkbook(); + Sheet sheet = workbook.createSheet("汇总表"); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 9)); + sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 9)); + sheet.addMergedRegion(new CellRangeAddress(2, 2, 0, 9)); + + double[] widths = {5.14, 14.14, 21.29, 15.71, 27, 40, 50.43, 13.71, 22.57, 15.43}; + for (int i = 0; i < widths.length; i++) { + sheet.setColumnWidth(i, (int) (widths[i] * 256)); + } + + CellStyle attachStyle = createStyle(workbook, "宋体", (short) 12, false, HorizontalAlignment.LEFT, false, false); + CellStyle titleStyle = createStyle(workbook, "黑体", (short) 18, true, HorizontalAlignment.CENTER, false, false); + CellStyle unionStyle = createStyle(workbook, "仿宋_GB2312", (short) 14, true, HorizontalAlignment.LEFT, false, false); + unionStyle.setBorderBottom(BorderStyle.THIN); + CellStyle headerStyle = createStyle(workbook, "宋体", (short) 12, true, HorizontalAlignment.CENTER, true, true); + CellStyle bodyStyle = createStyle(workbook, "宋体", (short) 12, false, HorizontalAlignment.CENTER, false, true); + + Row row1 = sheet.createRow(0); + row1.setHeightInPoints(32); + setCell(row1, 0, "附件12", attachStyle); + fillMergedCells(row1, 1, 9, attachStyle); + + Row row2 = sheet.createRow(1); + row2.setHeightInPoints(32); + setCell(row2, 0, "5天外超出部分疗休养费用由单位承担申请人员汇总表", titleStyle); + fillMergedCells(row2, 1, 9, titleStyle); + + Row row3 = sheet.createRow(2); + row3.setHeightInPoints(32); + setCell(row3, 0, "分工会:" + StrUtil.blankToDefault(unionName, ""), unionStyle); + fillMergedCells(row3, 1, 9, unionStyle); + + String[] headers = {"序号", "姓名", "身份证号码", "电话号码", "所属分工会", "所选线路名称", "疗休养时间", "疗休养时长", "疗休养费用总额(元)", "备注"}; + Row header = sheet.createRow(3); + header.setHeightInPoints(43); + for (int i = 0; i < headers.length; i++) { + setCell(header, i, headers[i], headerStyle); + } + + int rowCount = Math.max(list == null ? 0 : list.size(), 20); + for (int i = 0; i < rowCount; i++) { + Row row = sheet.createRow(i + 4); + row.setHeightInPoints(25); + NutMap item = list != null && i < list.size() ? list.get(i) : null; + setCell(row, 0, String.valueOf(i + 1), bodyStyle); + setCell(row, 1, item == null ? "" : item.getString("userName", ""), bodyStyle); + setCell(row, 2, item == null ? "" : item.getString("idCard", ""), bodyStyle); + setCell(row, 3, item == null ? "" : item.getString("mobile", ""), bodyStyle); + setCell(row, 4, item == null ? "" : item.getString("unionName", ""), bodyStyle); + setCell(row, 5, item == null ? "" : item.getString("lineName", ""), bodyStyle); + setCell(row, 6, item == null ? "" : item.getString("travelPeriod", ""), bodyStyle); + setCell(row, 7, item == null ? "" : item.getString("totalDays", ""), bodyStyle); + setCell(row, 8, item == null ? "" : item.getString("estimatedCostText", ""), bodyStyle); + setCell(row, 9, "", bodyStyle); + } + return workbook; + } + + private CellStyle createStyle(Workbook workbook, String fontName, short fontSize, boolean bold, HorizontalAlignment alignment, boolean wrap, boolean border) { + Font font = workbook.createFont(); + font.setFontName(fontName); + font.setFontHeightInPoints(fontSize); + font.setBold(bold); + + CellStyle style = workbook.createCellStyle(); + style.setFont(font); + style.setAlignment(alignment); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setWrapText(wrap); + if (border) { + style.setBorderLeft(BorderStyle.THIN); + style.setBorderTop(BorderStyle.THIN); + style.setBorderRight(BorderStyle.THIN); + style.setBorderBottom(BorderStyle.THIN); + } + return style; + } + + private void setCell(Row row, int col, String value, CellStyle style) { + Cell cell = row.createCell(col); + cell.setCellValue(StrUtil.blankToDefault(value, "")); + cell.setCellStyle(style); + } + + private void fillMergedCells(Row row, int startCol, int endCol, CellStyle style) { + for (int i = startCol; i <= endCol; i++) { + setCell(row, i, "", style); + } + } + + private Integer calcDays(String start, String end) { + if (StrUtil.isBlank(start) || StrUtil.isBlank(end)) { + return null; + } + try { + LocalDate startDate = LocalDate.parse(start.substring(0, 10)); + LocalDate endDate = LocalDate.parse(end.substring(0, 10)); + return Math.toIntExact(ChronoUnit.DAYS.between(startDate, endDate) + 1); + } catch (Exception e) { + return null; + } + } + + private String formatAmount(Object value) { + if (value == null) { + return ""; + } + try { + BigDecimal amount = new BigDecimal(String.valueOf(value)); + return amount.stripTrailingZeros().toPlainString(); + } catch (Exception e) { + return String.valueOf(value); + } + } + + private Cnd buildQueryCnd(String currentUnionId, Integer startYear, Integer endYear, String keyword, String unionId, String lineId, String travelPeriod, String lineType, String scopeType, Boolean overCostOnly) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.andEX("t.unionId", "=", unionId); + cnd.andEX("t.lineType", "=", lineType); + if (Boolean.TRUE.equals(overCostOnly)) { + cnd.and("t.overCostReimbursed", "=", true); + } + appendLineFilter(cnd, lineId); + appendTravelPeriodFilter(cnd, travelPeriod); + appendScopeFilter(cnd, currentUnionId, scopeType); + appendKeywordFilter(cnd, keyword); + return cnd; + } + + private Cnd buildSummaryCnd(String currentUnionId, Integer startYear, Integer endYear, String unionId, String lineId, String travelPeriod, String lineType, String scopeType) { + Cnd cnd = Cnd.NEW(); + cnd.and("t.delFlag", "=", false); + cnd.andEX("t.`year`", ">=", startYear); + cnd.andEX("t.`year`", "<=", endYear == null ? LocalDate.now().getYear() : endYear); + cnd.andEX("t.unionId", "=", unionId); + cnd.andEX("t.lineType", "=", lineType); + appendLineFilter(cnd, lineId); + appendTravelPeriodFilter(cnd, travelPeriod); + appendScopeFilter(cnd, currentUnionId, scopeType); + return cnd; + } + + private void appendKeywordFilter(Cnd cnd, String keyword) { + if (StrUtil.isNotBlank(keyword)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.orLike("t.userName", keyword.trim()); + group.orLike("t.jobNo", keyword.trim()); + cnd.and(group); + } + } + + private void applyUnionLedgerScope(Cnd cnd, String currentUnionId) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.or("t.unionId", "=", currentUnionId); + group.or("m.unionId", "=", currentUnionId); + cnd.and(group); + } + + private void appendScopeFilter(Cnd cnd, String currentUnionId, String scopeType) { + if ("ownUnionJoined".equals(scopeType)) { + cnd.and("t.unionId", "=", currentUnionId); + return; + } + if ("organizedLineJoined".equals(scopeType)) { + cnd.and("m.unionId", "=", currentUnionId); + return; + } + applyUnionLedgerScope(cnd, currentUnionId); + } + + private String buildYearCondition(Integer startYear, Integer endYear) { + StringBuilder builder = new StringBuilder(); + if (startYear != null) { + builder.append(" AND t.`year` >= ").append(startYear); + } + if (endYear != null) { + builder.append(" AND t.`year` <= ").append(endYear); + } + return builder.toString(); + } + + private ThirtyTeachTourLedger fetchScopedLedger(String id) { + if (StrUtil.isBlank(id) || StrUtil.isBlank(currentUnionId())) { + return null; + } + Sql sql = Sqls.create(""" + SELECT COUNT(1) + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + WHERE t.delFlag = 0 + AND t.id = @id + AND (t.unionId = @unionId OR m.unionId = @unionId) + """); + sql.setParam("id", id); + sql.setParam("unionId", currentUnionId()); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt() > 0 ? tourLedgerService.fetch(id) : null; + } + + private String getTravelPeriod(ThirtyTeachTourLedger ledger) { + if (ledger == null || ledger.getYear() == null || StrUtil.isBlank(ledger.getLineId())) { + return ""; + } + if (StrUtil.isNotBlank(ledger.getMatterId())) { + Sql exactSql = Sqls.create(""" + SELECT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE '' + END AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND id = @matterId + """); + exactSql.setParam("matterId", ledger.getMatterId()); + exactSql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(exactSql); + return exactSql.getString(); + } + Sql sql = Sqls.create(""" + SELECT GROUP_CONCAT( + DISTINCT CASE + WHEN IFNULL(travelStartTime, '') <> '' AND IFNULL(travelEndTime, '') <> '' + THEN CONCAT(travelStartTime, ' 至 ', travelEndTime) + ELSE NULL + END + ORDER BY travelStartTime ASC + SEPARATOR ';' + ) AS travelPeriod + FROM thirty_teach_tour_matter + WHERE delFlag = 0 + AND `year` = @year + AND lineId = @lineId + """); + sql.setParam("year", ledger.getYear()); + sql.setParam("lineId", ledger.getLineId()); + sql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(sql); + return sql.getString(); + } + + private boolean isDirectFamilyUnitLine(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getLineId())) { + return false; + } + Sql sql = Sqls.create(""" + SELECT IFNULL(directFamilyUnitLine, 0) + FROM thirty_teach_tour_line + WHERE delFlag = 0 + AND id = @lineId + """); + sql.setParam("lineId", ledger.getLineId()); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt() > 0; + } + + private boolean isFillBedInfo(ThirtyTeachTourLedger ledger) { + if (ledger == null || StrUtil.isBlank(ledger.getMatterId())) { + return true; + } + Sql sql = Sqls.create(""" + SELECT IFNULL(MAX(s.fillBedInfo), 1) + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_setting s ON s.id = m.settingId AND s.delFlag = 0 + WHERE t.id = @ledgerId + """); + sql.setParam("ledgerId", ledger.getId()); + sql.setCallback(Sqls.callback.integer()); + tourLedgerService.dao().execute(sql); + return sql.getInt() > 0; + } + + private void appendTravelPeriodFilter(Cnd cnd, String travelPeriod) { + if (StrUtil.isBlank(travelPeriod)) { + return; + } + cnd.and("CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime)", "=", travelPeriod); + } + + private void appendLineFilter(Cnd cnd, String lineId) { + if (StrUtil.isBlank(lineId)) { + return; + } + LineFilter lineFilter = parseLineFilter(lineId); + if (lineFilter.getLineId().startsWith("legacy:")) { + SqlExpressionGroup legacyGroup = new SqlExpressionGroup(); + legacyGroup.or("t.lineId", "IS", null); + legacyGroup.or("t.lineId", "=", ""); + cnd.and(legacyGroup); + cnd.and("t.lineName", "=", lineFilter.getLineId().substring("legacy:".length())); + } else { + cnd.and("t.lineId", "=", lineFilter.getLineId()); + } + appendMatterUnionFilter(cnd, lineFilter.getUnionId()); + } + + private LineFilter parseLineFilter(String value) { + int delimiterIndex = value.indexOf("|"); + if (delimiterIndex < 0) { + return new LineFilter(value, null); + } + return new LineFilter(value.substring(0, delimiterIndex), value.substring(delimiterIndex + 1)); + } + + private void appendMatterUnionFilter(Cnd cnd, String unionId) { + if (unionId == null) { + return; + } + if (StrUtil.isBlank(unionId)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.or("m.unionId", "IS", null); + group.or("m.unionId", "=", ""); + cnd.and(group); + return; + } + cnd.and("m.unionId", "=", unionId); + } + + private String getCurrentLineName(ThirtyTeachTourLedger ledger) { + if (ledger == null) { + return ""; + } + Sql sql = Sqls.create(""" + SELECT CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END AS lineName + FROM thirty_teach_tour_ledger t + LEFT JOIN thirty_teach_tour_matter m ON m.id = t.matterId AND m.delFlag = 0 + LEFT JOIN thirty_teach_tour_line l ON l.id = t.lineId AND l.delFlag = 0 + LEFT JOIN sys_union mu ON mu.id = m.unionId + WHERE t.id = @ledgerId + """); + sql.setParam("ledgerId", ledger.getId()); + sql.setCallback(Sqls.callback.str()); + tourLedgerService.dao().execute(sql); + return StrUtil.blankToDefault(sql.getString(), ledger.getLineName()); + } + + private static class LineFilter { + private final String lineId; + private final String unionId; + + private LineFilter(String lineId, String unionId) { + this.lineId = lineId; + this.unionId = unionId; + } + + private String getLineId() { + return lineId; + } + + private String getUnionId() { + return unionId; + } + } + + private String currentUnionId() { + return SecurityUtil.getUnionId(); + } + + private String currentUnionName() { + String unionId = currentUnionId(); + if (StrUtil.isBlank(unionId)) { + return ""; + } + Sys_union union = tourLedgerService.dao().fetch(Sys_union.class, unionId); + return union == null ? "" : StrUtil.blankToDefault(union.getName(), ""); + } + + private String getOrderColumn(String orderName) { + if ("year".equals(orderName)) { + return "t.`year`"; + } + if ("jobNo".equals(orderName)) { + return "t.jobNo"; + } + if ("userName".equals(orderName)) { + return "t.userName"; + } + if ("lineName".equals(orderName)) { + return """ + CASE + WHEN m.id IS NULL THEN COALESCE(NULLIF(l.lineName, ''), t.lineName) + ELSE CONCAT( + COALESCE(NULLIF(l.lineName, ''), t.lineName), + '(', + CASE + WHEN IFNULL(m.unionId, '') = '' THEN '校工会' + ELSE IFNULL(mu.name, '') + END, + ')' + ) + END + """; + } + if ("travelPeriod".equals(orderName)) { + return "COALESCE(m.travelStartTime, tp.travelPeriod)"; + } + if ("lineType".equals(orderName)) { + return "t.lineType"; + } + if ("signupTime".equals(orderName)) { + return "t.signupTime"; + } + if ("familyCount".equals(orderName)) { + return "familyCount"; + } + if ("joined".equals(orderName)) { + return "t.joined"; + } + return "t.`year`"; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/mode/ThirtyTeachTourLedgerImportExcelMode.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/mode/ThirtyTeachTourLedgerImportExcelMode.java new file mode 100644 index 00000000..3192ea38 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/mode/ThirtyTeachTourLedgerImportExcelMode.java @@ -0,0 +1,34 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.mode; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.budwk.app.base.model.ExcelImportError; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@EqualsAndHashCode(callSuper = true) +@Data +public class ThirtyTeachTourLedgerImportExcelMode extends ExcelImportError { + + @Excel(name = "年度") + private Integer year; + + @Excel(name = "工号") + private String jobNo; + + @Excel(name = "姓名") + private String userName; + + @Excel(name = "报名时间", format = "yyyy-MM-dd HH:mm:ss") + private Date signupTime; + + @Excel(name = "线路名称") + private String lineName; + + @Excel(name = "线路类型") + private String lineType; + + @Excel(name = "是否参加") + private String joined; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLeaveApply.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLeaveApply.java new file mode 100644 index 00000000..240f889d --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLeaveApply.java @@ -0,0 +1,103 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.ColDefine; +import org.nutz.dao.entity.annotation.ColType; +import org.nutz.dao.entity.annotation.Column; +import org.nutz.dao.entity.annotation.Comment; +import org.nutz.dao.entity.annotation.Name; +import org.nutz.dao.entity.annotation.Table; +import org.nutz.dao.entity.annotation.TableMeta; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; + +/** + * 疗休养退出申请。 + * 仅作为不能参加人员的维护台账,不直接关联报名、疗休养台账、人员分配等业务流程。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_leave_apply") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("疗休养退出申请") +public class ThirtyTeachTourLeaveApply extends BaseModel implements Serializable { + + public static final String STATUS_PENDING = "PENDING"; + public static final String STATUS_APPROVED = "APPROVED"; + public static final String STATUS_REJECTED = "REJECTED"; + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("疗休养事项ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String matterId; + + @Column + @Comment("线路ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String lineId; + + @Column + @Comment("工号") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String jobNo; + + @Column + @Comment("姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String userName; + + @Column + @Comment("用户ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String userId; + + @Column + @Comment("所属工会ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unionId; + + @Column + @Comment("所属工会") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unionName; + + @Column + @Comment("不能参加原因") + @ColDefine(type = ColType.TEXT) + private String reason; + + @Column + @Comment("状态") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String status; + + @Column + @Comment("审核人ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String auditBy; + + @Column + @Comment("审核人姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String auditName; + + @Column + @Comment("审核时间") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String auditTime; + + @Column + @Comment("审核备注") + @ColDefine(type = ColType.TEXT) + private String auditRemark; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedger.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedger.java new file mode 100644 index 00000000..d208542c --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedger.java @@ -0,0 +1,167 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; + +/** + * 疗休养教职工报名台账。 + * 后续报名模块完成后,将已报名或已参加的教职工写入本表,台账页负责跨年度查询和详情查看。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_ledger") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("普惠疗休养台账") +public class ThirtyTeachTourLedger extends BaseModel implements Serializable { + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("年度") + @ColDefine(type = ColType.INT, width = 4) + private Integer year; + + @Column + @Comment("工号") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String jobNo; + + @Column + @Comment("姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String userName; + + @Column + @Comment("性别") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String gender; + + @Column + @Comment("年龄") + @ColDefine(type = ColType.INT, width = 3) + private Integer age; + + @Column + @Comment("身份证号") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String idCard; + + @Column + @Comment("手机号") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String mobile; + + @Column + @Comment("所在单位ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unitId; + + @Column + @Comment("所在单位") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unitName; + + @Column + @Comment("所在工会ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unionId; + + @Column + @Comment("所在工会") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unionName; + + @Column + @Comment("报名时间") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String signupTime; + + @Column + @Comment("报名事项ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String matterId; + + @Column + @Comment("报名线路ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String lineId; + + @Column + @Comment("报名线路") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String lineName; + + @Column + @Comment("线路类型") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String lineType; + + @Column + @Comment("报名酒店") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String hotelName; + + @Column + @Comment("旅行社ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String travelAgencyId; + + @Column + @Comment("旅行社") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String travelAgencyName; + + @Column + @Comment("乘车地点") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String boardingPlace; + + @Column + @Comment("是否携带家属") + @ColDefine(type = ColType.BOOLEAN) + @Default("0") + private Boolean hasFamily; + + @Column + @Comment("意向拼床人") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String intendedRoommate; + + @Column + @Comment("床型") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String bedType; + + @Column + @Comment("床位信息") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String bedInfo; + + @Column + @Comment("是否参加") + @ColDefine(type = ColType.BOOLEAN) + @Default("0") + private Boolean joined; + + @Column + @Comment("是否报销") + @ColDefine(type = ColType.BOOLEAN) + @Default("0") + private Boolean reimbursed; + + @Column + @Comment("报销超出费用") + @ColDefine(type = ColType.BOOLEAN) + @Default("0") + private Boolean overCostReimbursed; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedgerDirectRelative.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedgerDirectRelative.java new file mode 100644 index 00000000..e4a267c6 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedgerDirectRelative.java @@ -0,0 +1,73 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; + +/** + * 直系亲属线路报名信息。 + * 与普通携带亲属信息分表存放,用于直系亲属线路的专属申请信息。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_ledger_direct_relative") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("普惠疗休养直系亲属线路报名信息") +public class ThirtyTeachTourLedgerDirectRelative extends BaseModel implements Serializable { + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("台账ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String ledgerId; + + @Column + @Comment("亲属姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String relativeName; + + @Column + @Comment("所在单位") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unitName; + + @Column + @Comment("亲属关系编码") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String relationshipCode; + + @Column + @Comment("亲属关系") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String relationshipName; + + @Column + @Comment("线路ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String lineId; + + @Column + @Comment("线路名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String lineName; + + @Column + @Comment("出行开始日期") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String travelStartTime; + + @Column + @Comment("出行结束日期") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String travelEndTime; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedgerFamily.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedgerFamily.java new file mode 100644 index 00000000..353cd8b6 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLedgerFamily.java @@ -0,0 +1,83 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; + +/** + * 疗休养台账家属信息。 + * 与教职工台账通过 ledgerId 关联,用于查看教职工携带家属的历史记录。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_ledger_family") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("普惠疗休养台账家属信息") +public class ThirtyTeachTourLedgerFamily extends BaseModel implements Serializable { + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("台账ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String ledgerId; + + @Column + @Comment("教职工工号") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String staffJobNo; + + @Column + @Comment("教职工姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String staffName; + + @Column + @Comment("家属姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String familyName; + + @Column + @Comment("性别") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String gender; + + @Column + @Comment("身份证号码") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String idCard; + + @Column + @Comment("年龄") + @ColDefine(type = ColType.INT, width = 3) + private Integer age; + + @Column + @Comment("床型") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String bedType; + + @Column + @Comment("床位") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String bedInfo; + + @Column + @Comment("意向拼床人") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String intendedRoommate; + + @Column + @Comment("关系") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String relationship; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLine.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLine.java new file mode 100644 index 00000000..f0fd86bc --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourLine.java @@ -0,0 +1,106 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; + +/** + * 疗休养线路管理。 + * 当前阶段先维护线路基础信息,后续报名、台账等模块可通过线路ID继续关联。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_line") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("普惠疗休养线路") +public class ThirtyTeachTourLine extends BaseModel implements Serializable { + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("创建年度") + @ColDefine(type = ColType.INT, width = 4) + private Integer year; + + @Column + @Comment("线路编号") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String lineCode; + + @Column + @Comment("线路名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String lineName; + + @Column + @Comment("旅行社ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String travelAgencyId; + + @Column + @Comment("创建人ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String creatorUserId; + + @Column + @Comment("创建人") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String creatorName; + + @Column + @Comment("所在单位ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unitId; + + @Column + @Comment("所在单位") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unitName; + + @Column + @Comment("线路类型") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String lineType; + + @Column + @Comment("时间标段ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String lotId; + + @Column + @Comment("线路内容") + @ColDefine(type = ColType.TEXT) + private String lineContent; + + @Column + @Comment("移动端缩略图") + @ColDefine(type = ColType.VARCHAR, width = 500) + private String mobileThumb; + + @Column + @Comment("是否对外开放") + @ColDefine(type = ColType.BOOLEAN) + @Default("1") + private Boolean openFlag; + + @Column + @Comment("是否直系亲属线路") + @ColDefine(type = ColType.BOOLEAN) + @Default("0") + private Boolean directFamilyUnitLine; + + @Column + @Comment("激活状态") + @ColDefine(type = ColType.BOOLEAN) + @Default("1") + private Boolean enabled; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourMatter.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourMatter.java new file mode 100644 index 00000000..3f44abbd --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourMatter.java @@ -0,0 +1,129 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 疗休养事项。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_matter") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("普惠疗休养事项") +public class ThirtyTeachTourMatter extends BaseModel implements Serializable { + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("年度") + @ColDefine(type = ColType.INT, width = 4) + private Integer year; + + @Column + @Comment("事项名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String matterName; + + @Column + @Comment("疗休养配置ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String settingId; + + @Column + @Comment("创建人ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String creatorUserId; + + @Column + @Comment("创建人") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String creatorName; + + @Column + @Comment("所属工会ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unionId; + + @Column + @Comment("组织形式") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String organizationType; + + @Column + @Comment("移动端缩略图") + @ColDefine(type = ColType.VARCHAR, width = 500) + private String mobileThumb; + + @Column + @Comment("线路ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String lineId; + + @Column + @Comment("默认乘车地点") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String defaultBoardingPlace; + + @Column + @Comment("报名开始时间") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String signupStartTime; + + @Column + @Comment("报名结束时间") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String signupEndTime; + + @Column + @Comment("出行开始时间") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String travelStartTime; + + @Column + @Comment("出行结束时间") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String travelEndTime; + + @Column + @Comment("联系人") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String contactName; + + @Column + @Comment("联系方式") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String contactPhone; + + @Column + @Comment("最少成团人数") + @ColDefine(type = ColType.INT) + private Integer minGroupPeople; + + @Column + @Comment("最多成团人数") + @ColDefine(type = ColType.INT) + private Integer maxGroupPeople; + + @Column + @Comment("预计费用") + @ColDefine(customType = "decimal(10,2)") + private BigDecimal estimatedCost; + + @Column + @Comment("事项状态") + @ColDefine(type = ColType.BOOLEAN) + @Default("1") + private Boolean enabled; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSetting.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSetting.java new file mode 100644 index 00000000..1bc7587a --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSetting.java @@ -0,0 +1,167 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * 疗休养基础配置。 + * 这里先沉淀创建事项会复用的基础字段,后续线路、报名等阶段可以继续通过配置ID关联扩展。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_setting") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("普惠疗休养配置") +public class ThirtyTeachTourSetting extends BaseModel implements Serializable { + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("年度") + @ColDefine(type = ColType.INT, width = 4) + private Integer year; + + @Column + @Comment("疗休养配置名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String configName; + + @Column + @Comment("疗休养类型") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String tourType; + + @Column + @Comment("乘车地点列表JSON") + @ColDefine(type = ColType.TEXT) + private String boardingPlace; + + @Column + @Comment("出行人数指标") + @ColDefine(type = ColType.INT) + @Default("0") + private Integer travelPeopleQuota; + + @Column + @Comment("可参加人员范围ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String activityGroupId; + + @Column + @Comment("报名资格校验方式") + @ColDefine(type = ColType.VARCHAR, width = 30) + @Default("ASSIGNED_USER") + private String signupEligibilityMode; + + @Column + @Comment("排序编号") + @ColDefine(type = ColType.INT) + private Integer sortNo; + + @Column + @Comment("最少成团人数") + @ColDefine(type = ColType.INT) + private Integer minGroupPeople; + + @Column + @Comment("最多成团人数") + @ColDefine(type = ColType.INT) + private Integer maxGroupPeople; + + @Column + @Comment("省外几年去一次") + @ColDefine(type = ColType.INT) + private Integer outProvinceYears; + + @Column + @Comment("省外人数占比") + @ColDefine(customType = "decimal(10,2)") + private BigDecimal outProvinceRatio; + + @Column + @Comment("省外人数占比类型") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String outProvinceRatioType; + + @Column + @Comment("省外固定人数") + @ColDefine(type = ColType.INT) + private Integer outProvinceFixedPeople; + + @Column + @Comment("周期开始年度") + @ColDefine(type = ColType.INT, width = 4) + private Integer cycleStartYear; + + @Column + @Comment("周期结束年度") + @ColDefine(type = ColType.INT, width = 4) + private Integer cycleEndYear; + + @Column + @Comment("周期内总费用") + @ColDefine(type = ColType.INT) + private Integer cycleTotalCost; + + @Column + @Comment("周期允许次数") + @ColDefine(type = ColType.INT) + private Integer cycleAllowedTimes; + + @Column + @Comment("是否允许携带家属") + @ColDefine(type = ColType.BOOLEAN) + @Default("0") + private Boolean allowFamily; + + @Column + @Comment("是否填报床位信息") + @ColDefine(type = ColType.BOOLEAN) + @Default("1") + private Boolean fillBedInfo; + + @Column + @Comment("是否启用") + @ColDefine(type = ColType.BOOLEAN) + @Default("1") + private Boolean enabled; + + @Column + @Comment("是否展示PC首页报名入口") + @ColDefine(type = ColType.BOOLEAN) + @Default("0") + private Boolean homeSignupEntryEnabled; + + @Column + @Comment("PC首页报名入口图片") + @ColDefine(type = ColType.VARCHAR, width = 500) + private String homeSignupEntryImage; + + /** + * 标段管理沿用老疗休养配置的子表设计,后续线路、旅行社等模块可通过标段ID继续关联。 + */ + @Many(field = "settingId") + private List lots; + + /** + * 分工会名额分配,仅用于配置弹窗回显与提交,不作为 thirty_teach_tour_setting 表字段保存。 + */ + private List unionQuotas; + + @Column + @Comment("服务须知") + @ColDefine(type = ColType.TEXT) + private String serviceNotice; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSettingLot.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSettingLot.java new file mode 100644 index 00000000..0d5a2077 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSettingLot.java @@ -0,0 +1,53 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; + +/** + * 疗休养配置标段。 + * 标段从基础配置中拆成子表,便于后续线路、目的地、报名等模块复用同一标段口径。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_setting_lot") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("普惠疗休养配置标段") +public class ThirtyTeachTourSettingLot extends BaseModel implements Serializable { + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("所属配置ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String settingId; + + @Column + @Comment("标段名称") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String lotName; + + @Column + @Comment("标段值") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String lotValue; + + @Column + @Comment("标段费用") + @ColDefine(type = ColType.INT) + private Integer activityCost; + + @Column + @Comment("允许超出报销") + @ColDefine(type = ColType.BOOLEAN) + private Boolean allowOverReimbursement; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSettingUnionQuota.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSettingUnionQuota.java new file mode 100644 index 00000000..7e855195 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourSettingUnionQuota.java @@ -0,0 +1,66 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.ColDefine; +import org.nutz.dao.entity.annotation.ColType; +import org.nutz.dao.entity.annotation.Column; +import org.nutz.dao.entity.annotation.Comment; +import org.nutz.dao.entity.annotation.Default; +import org.nutz.dao.entity.annotation.Name; +import org.nutz.dao.entity.annotation.Table; +import org.nutz.dao.entity.annotation.TableMeta; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; + +/** + * 疗休养配置下的分工会名额分配。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_setting_union_quota") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("疗休养配置分工会名额分配") +public class ThirtyTeachTourSettingUnionQuota extends BaseModel implements Serializable { + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("所属疗休养配置ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String settingId; + + @Column + @Comment("分工会ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unionId; + + @Column + @Comment("分工会名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unionName; + + @Column + @Comment("正式人员名额") + @ColDefine(type = ColType.INT) + @Default("0") + private Integer formalQuota; + + @Column + @Comment("替补人员名额") + @ColDefine(type = ColType.INT) + @Default("0") + private Integer backupQuota; + + /** + * 页面展示用实时会员数,不落库。 + */ + private Integer memberCount; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourTravelAgency.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourTravelAgency.java new file mode 100644 index 00000000..e948a98f --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourTravelAgency.java @@ -0,0 +1,74 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; + +/** + * 旅行社管理。 + * 先维护疗休养线路创建会复用的旅行社基础信息,后续线路模块可通过旅行社ID关联。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_travel_agency") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("普惠疗休养旅行社") +public class ThirtyTeachTourTravelAgency extends BaseModel implements Serializable { + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("年度") + @ColDefine(type = ColType.INT, width = 4) + private Integer year; + + @Column + @Comment("旅行社编号") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String agencyCode; + + @Column + @Comment("旅行社名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String agencyName; + + @Column + @Comment("联系人") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String contactName; + + @Column + @Comment("联系人手机") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String contactPhone; + + @Column + @Comment("邮箱") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String email; + + @Column + @Comment("备注") + @ColDefine(type = ColType.TEXT) + private String remark; + + @Column + @Comment("移动端缩略图") + @ColDefine(type = ColType.VARCHAR, width = 500) + private String mobileThumb; + + @Column + @Comment("激活状态") + @ColDefine(type = ColType.BOOLEAN) + @Default("1") + private Boolean enabled; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourUserAssignment.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourUserAssignment.java new file mode 100644 index 00000000..cca419a8 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/models/ThirtyTeachTourUserAssignment.java @@ -0,0 +1,165 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.ColDefine; +import org.nutz.dao.entity.annotation.ColType; +import org.nutz.dao.entity.annotation.Column; +import org.nutz.dao.entity.annotation.Comment; +import org.nutz.dao.entity.annotation.Default; +import org.nutz.dao.entity.annotation.Name; +import org.nutz.dao.entity.annotation.Table; +import org.nutz.dao.entity.annotation.TableMeta; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; + +/** + * 疗休养人员分配表。 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("thirty_teach_tour_user_assignment") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("疗休养人员分配") +public class ThirtyTeachTourUserAssignment extends BaseModel implements Serializable { + + public static final String ASSIGN_SOURCE_SCHOOL_UNION = "SCHOOL_UNION"; + public static final String ASSIGN_SOURCE_BRANCH_UNION = "BRANCH_UNION"; + public static final String PERSON_TYPE_FORMAL = "FORMAL"; + public static final String PERSON_TYPE_BACKUP = "BACKUP"; + + @Column + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("疗休养配置ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String settingId; + + @Column + @Comment("疗休养事项ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String matterId; + + @Column + @Comment("疗休养事项名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String matterName; + + @Column + @Comment("旅行社ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String travelAgencyId; + + @Column + @Comment("旅行社名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String travelAgencyName; + + @Column + @Comment("线路ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String lineId; + + @Column + @Comment("线路名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String lineName; + + @Column + @Comment("乘车地点") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String boardingPlace; + + @Column + @Comment("人员ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String userId; + + @Column + @Comment("工号") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String loginName; + + @Column + @Comment("姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String userName; + + @Column + @Comment("性别") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String gender; + + @Column + @Comment("年龄") + @ColDefine(type = ColType.INT, width = 3) + private Integer age; + + @Column + @Comment("身份证号") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String idCard; + + @Column + @Comment("手机号") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String mobile; + + @Column + @Comment("所在单位ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unitId; + + @Column + @Comment("所在单位") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unitName; + + @Column + @Comment("所在分工会ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unionId; + + @Column + @Comment("所在分工会") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unionName; + + @Column + @Comment("分配来源") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String assignSource; + + @Column + @Comment("人员类型") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String personType; + + @Column + @Comment("是否已退出") + @ColDefine(type = ColType.BOOLEAN) + @Default("0") + private Boolean cancelled; + + @Column + @Comment("分配人ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String assignedBy; + + @Column + @Comment("分配人姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String assignedName; + + @Column + @Comment("分配时间") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String assignedAt; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLeaveApplyService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLeaveApplyService.java new file mode 100644 index 00000000..7a4bfb5c --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLeaveApplyService.java @@ -0,0 +1,31 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service; + +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLeaveApply; +import org.nutz.lang.util.NutMap; + +public interface ThirtyTeachTourLeaveApplyService extends BaseService { + + /** + * 分页查询人员分配表中的退出/取消管理数据,关键词同时匹配工号和姓名。 + * 数据权限:系统管理员、校工会主席看全部;分工会主席看本分工会;普通用户看本人。 + */ + Pagination pageData(PageForm pageForm, String keyword, String unionName, String status); + + /** + * 查询当前登录人在退出取消管理页的按钮权限。 + */ + NutMap permissionInfo(); + + /** + * 取消指定人员分配记录,同时删除对应报名台账并标记已退出。 + */ + void cancelAssignment(String id); + + /** + * 恢复指定人员分配记录的退出状态,不恢复已删除台账。 + */ + void restoreAssignment(String id); +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerDirectRelativeService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerDirectRelativeService.java new file mode 100644 index 00000000..1bce0741 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerDirectRelativeService.java @@ -0,0 +1,7 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerDirectRelative; + +public interface ThirtyTeachTourLedgerDirectRelativeService extends BaseService { +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerFamilyService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerFamilyService.java new file mode 100644 index 00000000..19ccf384 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerFamilyService.java @@ -0,0 +1,7 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerFamily; + +public interface ThirtyTeachTourLedgerFamilyService extends BaseService { +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerService.java new file mode 100644 index 00000000..adf1a14d --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLedgerService.java @@ -0,0 +1,7 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedger; + +public interface ThirtyTeachTourLedgerService extends BaseService { +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLineService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLineService.java new file mode 100644 index 00000000..ee2dc4f6 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourLineService.java @@ -0,0 +1,7 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLine; + +public interface ThirtyTeachTourLineService extends BaseService { +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourMatterService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourMatterService.java new file mode 100644 index 00000000..c35134eb --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourMatterService.java @@ -0,0 +1,7 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourMatter; + +public interface ThirtyTeachTourMatterService extends BaseService { +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourSettingService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourSettingService.java new file mode 100644 index 00000000..8e0f7f2c --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourSettingService.java @@ -0,0 +1,42 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourSetting; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourSettingUnionQuota; + +import java.util.List; + +public interface ThirtyTeachTourSettingService extends BaseService { + + /** + * 查询所有分工会在指定疗休养配置下的名额,实时补充当前工会会员数供页面分配时参考。 + * + * @param settingId 疗休养配置ID,新增时可为空 + * @return 按分工会编码排序后的名额列表 + */ + List listUnionQuotaRows(String settingId); + + /** + * 保存指定疗休养配置下的分工会名额,前端传入的是 JSON 数组字符串。 + * + * @param settingId 疗休养配置ID + * @param unionQuotas 分工会名额 JSON + */ + void saveUnionQuotas(String settingId, String unionQuotas); + + /** + * 校验分工会正式人员名额合计是否超过分工会总名额。 + * + * @param unionQuotas 分工会名额 JSON + * @param branchTotalQuota 分工会总名额 + * @return 通过返回空字符串;不通过返回业务提示 + */ + String checkBranchFormalQuotaLimit(String unionQuotas, int branchTotalQuota); + + /** + * 清理指定疗休养配置下的分工会名额。 + * + * @param settingId 疗休养配置ID + */ + void clearUnionQuotas(String settingId); +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourTravelAgencyService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourTravelAgencyService.java new file mode 100644 index 00000000..d9bca3c4 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourTravelAgencyService.java @@ -0,0 +1,7 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourTravelAgency; + +public interface ThirtyTeachTourTravelAgencyService extends BaseService { +} 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 new file mode 100644 index 00000000..49ef76a2 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/ThirtyTeachTourUserAssignmentService.java @@ -0,0 +1,406 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service; + +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourUserAssignment; +import org.nutz.lang.util.NutMap; + +import java.util.List; + +public interface ThirtyTeachTourUserAssignmentService extends BaseService { + + /** + * 分页查询校工会人员分配记录,列表只读取人员分配表,不读取报名台账。 + * + * @param pageForm 分页、排序参数 + * @param year 疗休养年度 + * @param settingId 疗休养配置ID + * @param matterId 疗休养事项ID + * @param unionId 所属分工会ID + * @param personType 人员类型:FORMAL 正式人员,BACKUP 替补人员 + * @param keyword 姓名或工号关键字 + * @param assignSource 分配类别:SCHOOL_UNION 校工会分配,BRANCH_UNION 分工会分配;为空时查询全部 + * @param cancelled 是否退出:true 已退出,false 未退出,空时查询全部 + * @return 校工会分配记录分页数据 + */ + Pagination schoolAssignmentPage(PageForm pageForm, Integer year, String settingId, String matterId, + String unionId, String personType, String keyword, String assignSource, + Boolean cancelled); + + /** + * 按校工会人员分配页面当前筛选条件查询导出数据,不做分页截断。 + * + * @param pageForm 排序参数,导出顺序与页面当前排序保持一致 + * @param year 疗休养年度 + * @param settingId 疗休养配置ID + * @param matterId 疗休养事项ID + * @param unionId 所属分工会ID + * @param personType 人员类型:FORMAL 正式人员,BACKUP 替补人员 + * @param keyword 姓名或工号关键字 + * @param assignSource 分配类别:SCHOOL_UNION 校工会分配,BRANCH_UNION 分工会分配;为空时查询全部 + * @param cancelled 是否退出:true 已退出,false 未退出,空时查询全部 + * @return 符合当前页面查询条件的人员分配导出数据 + */ + List schoolAssignmentExportRows(PageForm pageForm, Integer year, String settingId, String matterId, + String unionId, String personType, String keyword, String assignSource, + Boolean cancelled); + + /** + * 按校工会人员分配页面当前筛选条件发送报名提醒。 + * + * @param pageForm 排序参数,提醒接收人范围与当前列表筛选口径保持一致,不按当前分页截断 + * @param year 疗休养年度 + * @param settingId 疗休养配置ID + * @param matterId 疗休养事项ID + * @param unionId 所属分工会ID + * @param personType 人员类型:FORMAL 正式人员,BACKUP 替补人员 + * @param keyword 姓名或工号关键字 + * @param assignSource 分配类别:SCHOOL_UNION 校工会分配,BRANCH_UNION 分工会分配;为空时查询全部 + * @param cancelled 是否退出:true 已退出,false 未退出,空时查询全部 + * @param content 提醒内容,由页面弹框输入,不能为空 + * @return 发送结果,receiverCount 表示本次去重后的接收人数 + */ + NutMap sendSchoolAssignmentReminder(PageForm pageForm, Integer year, String settingId, String matterId, + String unionId, String personType, String keyword, String assignSource, + Boolean cancelled, String content); + + /** + * 分页查询校工会可分配候选人,候选人来自疗休养配置的可参加人员范围,并排除同一配置下已分配人员。 + * + * @param pageForm 分页、排序参数 + * @param settingId 疗休养配置ID + * @param unionId 所属分工会ID + * @param keyword 姓名或工号关键字 + * @param userIds 指定候选人员ID列表,人员选择器多选查询时使用 + * @return 可分配候选人分页数据 + */ + Pagination schoolCandidatePage(PageForm pageForm, String settingId, String unionId, String keyword, List userIds); + + /** + * 分页查询当前登录人所在分工会的人员分配记录,列表只读取人员分配表,不读取报名台账。 + * + * @param pageForm 分页、排序参数 + * @param year 疗休养年度 + * @param settingId 疗休养配置ID + * @param matterId 疗休养事项ID + * @param personType 人员类型:FORMAL 正式人员,BACKUP 替补人员 + * @param keyword 姓名或工号关键字 + * @return 分工会分配记录分页数据 + */ + Pagination branchAssignmentPage(PageForm pageForm, Integer year, String settingId, String matterId, + String personType, String keyword); + + /** + * 按分工会人员分配页面当前筛选条件查询导出数据,不做分页截断。 + * + * @param pageForm 排序参数,导出顺序与页面当前排序保持一致 + * @param year 疗休养年度 + * @param settingId 疗休养配置ID + * @param matterId 疗休养事项ID + * @param personType 人员类型:FORMAL 正式人员,BACKUP 替补人员 + * @param keyword 姓名或工号关键字 + * @return 当前登录人所在分工会下符合页面查询条件的人员分配导出数据 + */ + List branchAssignmentExportRows(PageForm pageForm, Integer year, String settingId, String matterId, + String personType, String keyword); + + /** + * 分页查询当前登录人所在分工会可分配候选人,候选人来自疗休养配置的可参加人员范围。 + * + * @param pageForm 分页、排序参数 + * @param settingId 疗休养配置ID + * @param keyword 姓名或工号关键字 + * @param userIds 指定候选人员ID列表,人员选择器多选查询时使用 + * @return 当前分工会可分配候选人分页数据 + */ + Pagination branchCandidatePage(PageForm pageForm, String settingId, String keyword, List userIds); + + /** + * 查询启用的疗休养配置选项,供人员分配列表筛选和分配弹窗复用。 + * + * @param year 疗休养年度 + * @return 配置选项列表 + */ + List listEnabledSettingOptions(Integer year); + + /** + * 查询指定配置下已配置线路的分配线路选项,用于人员分配时指定事项、线路和旅行社。 + * + * @param settingId 疗休养配置ID + * @return 事项选项列表 + */ + List listMatterOptions(String settingId); + + /** + * 查询指定配置下当前处于报名时间内的分配线路选项,供分工会人员选择线路时使用。 + * + * @param settingId 疗休养配置ID + * @return 当前报名时间内的事项选项列表 + */ + List listSignupOpenMatterOptions(String settingId); + + /** + * 查询分工会选项,供校工会分配候选人和列表筛选使用。 + * + * @return 分工会选项列表 + */ + List listUnionOptions(); + + /** + * 保存校工会人员分配。保存前会重新按配置可参加人员范围过滤,防止写入范围外人员。 + * 分配线路为可选;正式人员选择线路时视为代报名并同步写入疗休养台账,替补人员不能分配线路。 + * + * @param settingId 疗休养配置ID + * @param matterId 疗休养事项ID,可为空 + * @param personType 人员类型:FORMAL 正式人员,BACKUP 替补人员 + * @param userIds 待分配人员ID列表 + * @return 保存结果,包含实际分配数量、跳过数量和代报名台账写入数量 + */ + NutMap assignSchoolUsers(String settingId, String matterId, String personType, List userIds); + + /** + * 保存校工会人员分配,支持每个候选人员单独选择分配线路。 + * assignItems 中每项包含 userId、matterId;matterId 为空时只保存人员分配,不写台账。 + * + * @param settingId 疗休养配置ID + * @param assignItems 人员和分配线路明细 + * @return 保存结果,包含实际分配数量、跳过数量和代报名台账写入数量 + */ + NutMap assignSchoolUsers(String settingId, List assignItems); + + /** + * 给校工会已分配的正式人员补选分配线路,并按代报名写入疗休养台账。 + * 只处理 SCHOOL_UNION 来源且尚未选择线路的分配记录,避免覆盖既有台账。 + * + * @param id 人员分配记录ID + * @param matterId 疗休养事项ID + * @return 处理结果,包含台账写入数量 + */ + NutMap selectSchoolAssignmentMatter(String id, String matterId); + + /** + * 给当前分工会已分配的正式人员补选分配路线,并按代报名写入疗休养台账。 + * 只处理当前登录人所在分工会、BRANCH_UNION 来源且尚未选择路线的记录;写台账前校验最多成团人数。 + * + * @param id 人员分配记录ID + * @param matterId 疗休养事项ID + * @return 处理结果,包含台账写入数量 + */ + NutMap selectCurrentBranchAssignmentMatter(String id, String matterId); + + /** + * 保存分工会人员分配。保存前会重新按配置可参加人员范围和当前登录人所在分工会过滤,并校验正式/替补名额。 + * 疗休养事项为可选;正式人员选择事项时视为代报名并同步写入疗休养台账,替补人员不能分配事项。 + * + * @param settingId 疗休养配置ID + * @param matterId 疗休养事项ID,可为空 + * @param personType 人员类型:FORMAL 正式人员,BACKUP 替补人员 + * @param userIds 待分配人员ID列表 + * @return 保存结果,包含实际分配数量、跳过数量、代报名台账写入数量和剩余名额 + */ + NutMap assignBranchUsers(String settingId, String matterId, String personType, List userIds); + + /** + * 切换当前分工会人员分配记录的正式/替补状态。 + * 切换时会校验当前登录人所在分工会、分配来源和目标类型剩余名额;已分配事项的正式人员不能切换为替补。 + * + * @param id 人员分配记录ID + * @param personType 目标人员类型:FORMAL 正式人员,BACKUP 替补人员 + * @return 切换后的人员类型和最新名额信息 + */ + NutMap switchCurrentBranchPersonType(String id, String personType); + + /** + * 查询移动端疗休养信息确认页所需的当前用户信息。 + * 优先读取当前年度人员分配表;无分配记录时读取 vw_user 基础信息用于页面展示。 + * + * @return 当前登录人的信息确认数据和乘车地点选项 + */ + NutMap currentH5ConfirmInfo(); + + /** + * 保存移动端信息确认页填写的人员基础信息到当前年度人员分配表。 + * 仅更新既有人员分配记录,不新增分配名单,避免绕过疗休养报名资格控制。 + * + * @param userName 姓名 + * @param gender 性别 + * @param age 年龄 + * @param idCard 身份证号 + * @param mobile 手机号 + * @param boardingPlace 乘车地点 + */ + void saveCurrentH5ConfirmInfo(String userName, String gender, Integer age, String idCard, String mobile, String boardingPlace); + + /** + * 查询指定配置下当前登录人的人员分配确认信息。 + * 报名详情和最终提交报名时使用该信息回填台账,保证移动端确认信息能落到报名台账。 + * + * @param settingId 疗休养配置ID + * @return 人员分配确认信息;不存在时返回空 Map + */ + NutMap currentUserAssignmentInfo(String settingId); + + /** + * 用户报名写入台账后,回填该用户在同一疗休养配置下已存在的人员分配记录。 + * 仅更新事项、线路、旅行社快照字段,不新增记录,不修改 assignSource 和人员类型。 + * + * @param settingId 疗休养配置ID + * @param matterId 疗休养事项ID + * @param userId 报名用户ID + * @param boardingPlace 用户报名时最终选择的乘车地点 + * @return 更新记录数 + */ + int backfillExistingAssignmentAfterSignup(String settingId, String matterId, String userId, String boardingPlace); + + /** + * 用户取消报名删除台账后,清空该用户在同一疗休养配置下已存在人员分配记录的事项快照。 + * 仅清空事项、线路、旅行社字段,不删除记录,不修改 assignSource 和人员类型。 + * + * @param settingId 疗休养配置ID + * @param userId 报名用户ID + * @return 更新记录数 + */ + int clearExistingAssignmentMatterAfterCancel(String settingId, String userId); + + /** + * 台账管理删除报名台账后,按原台账的事项和工号清空对应人员分配记录的事项快照。 + * 仅清空事项、线路、旅行社和乘车地点字段;出行时间由事项关联展示,清空事项后页面不再显示原出行时间。 + * + * @param matterId 台账原报名事项ID + * @param jobNo 台账原报名人工号 + * @return 更新记录数 + */ + int clearExistingAssignmentMatterAfterLedgerDelete(String matterId, String jobNo); + + /** + * 查询当前登录人所在分工会在指定疗休养配置下的名额使用情况。 + * + * @param settingId 疗休养配置ID + * @return 正式/替补名额、已用名额和剩余名额 + */ + NutMap branchQuotaInfo(String settingId); + + /** + * 查询校工会人员分配记录是否已存在对应报名台账,用于删除前二次确认。 + * + * @param id 人员分配记录ID + * @return hasLedger 表示是否存在台账,ledgerCount 表示对应台账数量 + */ + NutMap schoolDeleteInfo(String id); + + /** + * 查询当前分工会人员分配记录是否已存在对应报名台账,用于删除前二次确认。 + * + * @param id 人员分配记录ID + * @return hasLedger 表示是否存在台账,ledgerCount 表示对应台账数量 + */ + NutMap branchDeleteInfo(String id); + + /** + * 删除指定来源的人员分配记录,避免校工会页面误删分工会分配的数据。 + * + * @param id 人员分配记录ID + * @param assignSource 分配来源 + */ + void deleteBySource(String id, String assignSource); + + /** + * 删除指定来源的人员分配记录,可选择是否同步删除该分配记录对应的报名台账。 + * + * @param id 人员分配记录ID + * @param assignSource 分配来源 + * @param deleteLedger 是否同步删除 matterId + loginName 对应的台账及明细 + */ + void deleteBySource(String id, String assignSource, boolean deleteLedger); + + /** + * 删除当前登录人所在分工会的人员分配记录,避免分工会页面删除其它分工会的数据。 + * + * @param id 人员分配记录ID + */ + void deleteCurrentBranchAssignment(String id); + + /** + * 删除当前登录人所在分工会的人员分配记录,可选择是否同步删除该分配记录对应的报名台账。 + * + * @param id 人员分配记录ID + * @param deleteLedger 是否同步删除 matterId + loginName 对应的台账及明细 + */ + void deleteCurrentBranchAssignment(String id, boolean deleteLedger); + + /** + * 判断用户是否已存在于指定疗休养配置的人员分配表中。 + * + * @param settingId 疗休养配置ID + * @param userId 用户ID + * @return 存在返回 true,不存在返回 false + */ + boolean existsAssignedUser(String settingId, String userId); + + /** + * 校验用户是否为指定疗休养配置下的正式分配人员。 + * 用于报名资格方式为 ASSIGNED_USER 时,拦截未分配人员和替补人员。 + * 已退出人员也会被拦截,避免取消后再次报名。 + * + * @param settingId 疗休养配置ID + * @param userId 用户ID + * @return canApply 表示是否可报名,message 表示不可报名原因 + */ + NutMap checkFormalAssignedUser(String settingId, String userId); + + /** + * 实时统计指定疗休养配置下校工会来源的正式分配人数。 + * 已退出人员不再占用工会名额,统计时需要排除。 + * + * @param settingId 疗休养配置ID + * @return 当前配置下校工会正式人员分配数量 + */ + int countSchoolFormalAssignedUsers(String settingId); + + /** + * 将人员分配记录标记为已退出,并删除该记录对应事项下的报名台账。 + * 取消前会校验路线出行开始时间,只有出行开始前指定天数之前允许取消。 + * + * @param id 人员分配记录ID + */ + void cancelAssignment(String id); + + /** + * 查询疗休养退出取消的出行开始前限制天数,供移动端按钮展示和实际退出校验保持一致。 + * + * @return 出行开始前允许退出的天数 + */ + int getCancelDeadlineDays(); + + /** + * 将人员分配记录从已退出恢复为未退出。 + * 只恢复人员分配表状态,不自动恢复已删除的报名台账。 + * + * @param id 人员分配记录ID + */ + void restoreCancelledAssignment(String id); + + /** + * 按分配来源恢复已退出人员,避免校工会和分工会页面互相恢复对方数据。 + * + * @param id 人员分配记录ID + * @param assignSource 分配来源 + */ + void restoreCancelledAssignmentBySource(String id, String assignSource); + + /** + * 恢复当前登录人所在分工会的已退出人员分配记录。 + * 用于分工会人员分配列表的“取消退出”按钮,防止跨分工会恢复数据。 + * + * @param id 人员分配记录ID + */ + void restoreCurrentBranchCancelledAssignment(String id); + + /** + * 按疗休养配置清理人员分配数据,供删除配置或后续重置分配时复用。 + * + * @param settingId 疗休养配置ID + */ + void clearBySettingId(String settingId); +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLeaveApplyServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLeaveApplyServiceImpl.java new file mode 100644 index 00000000..a40cf7d5 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLeaveApplyServiceImpl.java @@ -0,0 +1,169 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.constant.RoleConstant; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLeaveApply; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourUserAssignment; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLeaveApplyService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourUserAssignmentService; +import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; + +@IocBean(args = {"refer:dao"}) +public class ThirtyTeachTourLeaveApplyServiceImpl extends BaseServiceImpl implements ThirtyTeachTourLeaveApplyService { + + @Inject + private ThirtyTeachTourUserAssignmentService tourUserAssignmentService; + + public ThirtyTeachTourLeaveApplyServiceImpl(Dao dao) { + super(dao); + } + + @Override + public Pagination pageData(PageForm pageForm, String keyword, String unionName, String status) { + Sql sql = Sqls.create(""" + SELECT + a.*, + s.`year` AS `year`, + s.configName AS settingName, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod, + m.travelStartTime AS travelStartTime, + IF(IFNULL(a.cancelled, 0) = 1, 'CANCELLED', 'NORMAL') AS cancelStatus + FROM thirty_teach_tour_user_assignment a + LEFT JOIN thirty_teach_tour_setting s ON s.id = a.settingId + LEFT JOIN thirty_teach_tour_matter m ON m.id = a.matterId AND m.delFlag = 0 + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.and("a.delFlag", "=", false); + // 退出取消只针对已选路线的数据,未分配路线的人员没有出行时间和台账可处理。 + cnd.and("a.matterId", "is not", null); + cnd.and("a.matterId", "<>", ""); + cnd.and("a.lineId", "is not", null); + cnd.and("a.lineId", "<>", ""); + cnd.and("a.personType", "=", ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL); + applyDataPermission(cnd); + if (StrUtil.isNotBlank(keyword)) { + SqlExpressionGroup keywordGroup = new SqlExpressionGroup(); + keywordGroup.orLike("a.loginName", keyword); + keywordGroup.orLike("a.userName", keyword); + cnd.and(keywordGroup); + } + cnd.and(Cnd.likeEX("a.unionName", unionName)); + if ("CANCELLED".equals(status)) { + cnd.and("a.cancelled", "=", true); + } else if ("NORMAL".equals(status)) { + cnd.and(Cnd.exps("a.cancelled", "=", false).or("a.cancelled", "is", null)); + } + applyOrder(cnd, pageForm); + sql.setCondition(cnd); + return listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + } + + @Override + public NutMap permissionInfo() { + return NutMap.NEW() + .addv("isAllDataRole", isAllDataRole()) + .addv("isBranchUnionChairman", AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name())) + .addv("canRestore", StpUtil.hasPermission("thirtyTeachTour.branchUserAssignment.cancelRestore")); + } + + @Override + public void cancelAssignment(String id) { + checkCanOperateAssignment(id); + tourUserAssignmentService.cancelAssignment(id); + } + + @Override + public void restoreAssignment(String id) { + checkCanOperateAssignment(id); + tourUserAssignmentService.restoreCancelledAssignment(id); + } + + /** + * 退出取消管理读取人员分配表,按用户角色收窄可见范围。 + */ + private void applyDataPermission(Cnd cnd) { + if (isAllDataRole()) { + return; + } + if (AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name())) { + cnd.andEX("a.unionId", "=", SecurityUtil.getUnionId()); + return; + } + cnd.and("a.userId", "=", SecurityUtil.getUserId()); + } + + private boolean isAllDataRole() { + return AuthUtil.hasRole(RoleConstant.SYSADMIN.name()) + || AuthUtil.hasRole(RoleConstant.SCHOOL_UNION_CHAIRMAN.name()); + } + + /** + * 操作前按同一数据权限校验,避免前端绕过列表直接提交其它人员记录。 + */ + private void checkCanOperateAssignment(String id) { + if (StrUtil.isBlank(id)) { + throw new IllegalArgumentException("参数错误"); + } + Cnd cnd = Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", id) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false); + if (!isAllDataRole()) { + if (AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name())) { + cnd.and(ThirtyTeachTourUserAssignment::getUnionId, "=", SecurityUtil.getUnionId()); + } else { + cnd.and(ThirtyTeachTourUserAssignment::getUserId, "=", SecurityUtil.getUserId()); + } + } + if (dao().count(ThirtyTeachTourUserAssignment.class, cnd) <= 0) { + throw new IllegalArgumentException("人员分配记录不存在或无权操作"); + } + } + + /** + * 仅开放页面使用到的排序字段,避免前端传入任意字段名影响查询。 + */ + private void applyOrder(Cnd cnd, PageForm pageForm) { + String orderName = pageForm.getPageOrderName(); + String orderBy = pageForm.getPageOrderBy(); + boolean descending = "descending".equals(orderBy); + if ("loginName".equals(orderName)) { + order(cnd, "a.loginName", descending); + } else if ("userName".equals(orderName)) { + order(cnd, "a.userName", descending); + } else if ("unionName".equals(orderName)) { + order(cnd, "a.unionName", descending); + } else if ("cancelStatus".equals(orderName)) { + order(cnd, "a.cancelled", descending); + } else if ("assignedAt".equals(orderName)) { + order(cnd, "a.assignedAt", descending); + } else { + cnd.desc("a.assignedAt"); + cnd.desc("a.createdAt"); + } + } + + private void order(Cnd cnd, String field, boolean descending) { + if (descending) { + cnd.desc(field); + } else { + cnd.asc(field); + } + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerDirectRelativeServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerDirectRelativeServiceImpl.java new file mode 100644 index 00000000..0ebbc72f --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerDirectRelativeServiceImpl.java @@ -0,0 +1,15 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.impl; + +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerDirectRelative; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerDirectRelativeService; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.IocBean; + +@IocBean(args = {"refer:dao"}) +public class ThirtyTeachTourLedgerDirectRelativeServiceImpl extends BaseServiceImpl implements ThirtyTeachTourLedgerDirectRelativeService { + + public ThirtyTeachTourLedgerDirectRelativeServiceImpl(Dao dao) { + super(dao); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerFamilyServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerFamilyServiceImpl.java new file mode 100644 index 00000000..08215f7b --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerFamilyServiceImpl.java @@ -0,0 +1,15 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.impl; + +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedgerFamily; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerFamilyService; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.IocBean; + +@IocBean(args = {"refer:dao"}) +public class ThirtyTeachTourLedgerFamilyServiceImpl extends BaseServiceImpl implements ThirtyTeachTourLedgerFamilyService { + + public ThirtyTeachTourLedgerFamilyServiceImpl(Dao dao) { + super(dao); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerServiceImpl.java new file mode 100644 index 00000000..29519ee1 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLedgerServiceImpl.java @@ -0,0 +1,15 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.impl; + +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLedger; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLedgerService; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.IocBean; + +@IocBean(args = {"refer:dao"}) +public class ThirtyTeachTourLedgerServiceImpl extends BaseServiceImpl implements ThirtyTeachTourLedgerService { + + public ThirtyTeachTourLedgerServiceImpl(Dao dao) { + super(dao); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLineServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLineServiceImpl.java new file mode 100644 index 00000000..47bd8e80 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourLineServiceImpl.java @@ -0,0 +1,15 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.impl; + +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourLine; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourLineService; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.IocBean; + +@IocBean(args = {"refer:dao"}) +public class ThirtyTeachTourLineServiceImpl extends BaseServiceImpl implements ThirtyTeachTourLineService { + + public ThirtyTeachTourLineServiceImpl(Dao dao) { + super(dao); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourMatterServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourMatterServiceImpl.java new file mode 100644 index 00000000..745b6101 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourMatterServiceImpl.java @@ -0,0 +1,15 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.impl; + +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourMatter; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourMatterService; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.IocBean; + +@IocBean(args = {"refer:dao"}) +public class ThirtyTeachTourMatterServiceImpl extends BaseServiceImpl implements ThirtyTeachTourMatterService { + + public ThirtyTeachTourMatterServiceImpl(Dao dao) { + super(dao); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourSettingServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourSettingServiceImpl.java new file mode 100644 index 00000000..3bb13bf2 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourSettingServiceImpl.java @@ -0,0 +1,133 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.sys.models.Sys_union; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourSetting; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourSettingUnionQuota; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourSettingService; +import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.json.Json; +import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@IocBean(args = {"refer:dao"}) +public class ThirtyTeachTourSettingServiceImpl extends BaseServiceImpl implements ThirtyTeachTourSettingService { + + public ThirtyTeachTourSettingServiceImpl(Dao dao) { + super(dao); + } + + @Override + public List listUnionQuotaRows(String settingId) { + // 一次性查出所有分工会、已保存名额和实时会员数,避免页面打开时按分工会循环统计造成 N+1 查询。 + Sql sql = Sqls.create(""" + SELECT + quota.id AS id, + @settingId AS settingId, + un.id AS unionId, + un.name AS unionName, + COALESCE(quota.formalQuota, 0) AS formalQuota, + COALESCE(quota.backupQuota, 0) AS backupQuota, + COALESCE(user_count.memberCount, 0) AS memberCount + FROM sys_union un + LEFT JOIN thirty_teach_tour_setting_union_quota quota + ON quota.unionId = un.id + AND quota.settingId = @settingId + LEFT JOIN ( + SELECT unionId, COUNT(1) AS memberCount + FROM vw_user + WHERE member = 1 + GROUP BY unionId + ) user_count ON user_count.unionId = un.id + ORDER BY un.unionCode ASC + """); + sql.setParam("settingId", settingId == null ? "" : settingId); + List rows = listMap(sql); + return rows.stream().map(row -> { + ThirtyTeachTourSettingUnionQuota quota = new ThirtyTeachTourSettingUnionQuota(); + quota.setId(row.getString("id")); + quota.setSettingId(row.getString("settingId")); + quota.setUnionId(row.getString("unionId")); + quota.setUnionName(row.getString("unionName")); + quota.setFormalQuota(defaultInt(row.getInt("formalQuota"))); + quota.setBackupQuota(defaultInt(row.getInt("backupQuota"))); + quota.setMemberCount(defaultInt(row.getInt("memberCount"))); + return quota; + }).collect(Collectors.toList()); + } + + @Override + public void saveUnionQuotas(String settingId, String unionQuotas) { + if (StrUtil.isBlank(settingId)) { + return; + } + clearUnionQuotas(settingId); + if (StrUtil.isBlank(unionQuotas)) { + return; + } + List quotaList = Json.fromJsonAsList(ThirtyTeachTourSettingUnionQuota.class, unionQuotas); + if (Lang.isEmpty(quotaList)) { + return; + } + Map unionMap = dao().query(Sys_union.class, Cnd.NEW()).stream() + .collect(Collectors.toMap(Sys_union::getId, item -> item, (a, b) -> a)); + List saveList = quotaList.stream() + .filter(item -> item != null && StrUtil.isNotBlank(item.getUnionId())) + .map(item -> normalizeUnionQuota(settingId, item, unionMap)) + .filter(item -> item.getFormalQuota() > 0 || item.getBackupQuota() > 0) + .collect(Collectors.toList()); + if (Lang.isNotEmpty(saveList)) { + dao().insert(saveList); + } + } + + @Override + public String checkBranchFormalQuotaLimit(String unionQuotas, int branchTotalQuota) { + if (StrUtil.isBlank(unionQuotas)) { + return ""; + } + List quotaList = Json.fromJsonAsList(ThirtyTeachTourSettingUnionQuota.class, unionQuotas); + if (Lang.isEmpty(quotaList)) { + return ""; + } + int formalTotal = quotaList.stream() + .filter(item -> item != null) + .mapToInt(item -> defaultInt(item.getFormalQuota())) + .sum(); + if (formalTotal > branchTotalQuota) { + return "当前正式人员总数 " + formalTotal + ",分工会总名额 " + branchTotalQuota + ",分配后总人数不能超过分工会总名额"; + } + return ""; + } + + @Override + public void clearUnionQuotas(String settingId) { + if (StrUtil.isNotBlank(settingId)) { + dao().clear(ThirtyTeachTourSettingUnionQuota.class, Cnd.where(ThirtyTeachTourSettingUnionQuota::getSettingId, "=", settingId)); + } + } + + private ThirtyTeachTourSettingUnionQuota normalizeUnionQuota(String settingId, ThirtyTeachTourSettingUnionQuota item, Map unionMap) { + Sys_union union = unionMap.get(item.getUnionId()); + ThirtyTeachTourSettingUnionQuota quota = new ThirtyTeachTourSettingUnionQuota(); + quota.setSettingId(settingId); + quota.setUnionId(item.getUnionId()); + quota.setUnionName(union == null ? item.getUnionName() : union.getName()); + quota.setFormalQuota(defaultInt(item.getFormalQuota())); + quota.setBackupQuota(defaultInt(item.getBackupQuota())); + return quota; + } + + private Integer defaultInt(Integer value) { + return value == null || value < 0 ? 0 : value; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourTravelAgencyServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourTravelAgencyServiceImpl.java new file mode 100644 index 00000000..615669db --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourTravelAgencyServiceImpl.java @@ -0,0 +1,15 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.impl; + +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.ThirtyTeachTourTravelAgency; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourTravelAgencyService; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.IocBean; + +@IocBean(args = {"refer:dao"}) +public class ThirtyTeachTourTravelAgencyServiceImpl extends BaseServiceImpl implements ThirtyTeachTourTravelAgencyService { + + public ThirtyTeachTourTravelAgencyServiceImpl(Dao dao) { + super(dao); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourUserAssignmentServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourUserAssignmentServiceImpl.java new file mode 100644 index 00000000..76c6efeb --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/thirtyTeachTour/service/impl/ThirtyTeachTourUserAssignmentServiceImpl.java @@ -0,0 +1,1630 @@ +package com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONObject; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.sys.models.Sys_config; +import com.budwk.app.sys.services.SysConfigService; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.web.commons.base.Globals; +import com.budwk.app.zhgh.dayofficework.message.service.GlobalMessageSendService; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.models.*; +import com.budwk.app.zhgh.dayofficework.thirtyTeachTour.service.ThirtyTeachTourUserAssignmentService; +import org.nutz.dao.Chain; +import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; +import java.util.stream.Collectors; + +@IocBean(args = {"refer:dao"}) +public class ThirtyTeachTourUserAssignmentServiceImpl extends BaseServiceImpl implements ThirtyTeachTourUserAssignmentService { + + private static final String TOUR_CANCEL_DEADLINE_DAYS_KEY = "tourLeaveCancelDays"; + + @Inject + private SysConfigService sysConfigService; + + @Inject + private GlobalMessageSendService globalMessageSendService; + + public ThirtyTeachTourUserAssignmentServiceImpl(Dao dao) { + super(dao); + } + + @Override + public Pagination schoolAssignmentPage(PageForm pageForm, Integer year, String settingId, String matterId, + String unionId, String personType, String keyword, String assignSource, + Boolean cancelled) { + Sql sql = Sqls.create(""" + SELECT + a.*, + s.`year` AS `year`, + s.configName AS settingName, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod + FROM thirty_teach_tour_user_assignment a + LEFT JOIN thirty_teach_tour_setting s ON s.id = a.settingId + LEFT JOIN thirty_teach_tour_matter m ON m.id = a.matterId AND m.delFlag = 0 + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.and("a.delFlag", "=", false); + // 分配类别由页面筛选控制;为空时校工会页面可查看全部来源,默认值仍由前端传入校工会分配。 + cnd.andEX("a.assignSource", "=", assignSource); + cnd.andEX("s.`year`", "=", year); + cnd.andEX("a.settingId", "=", settingId); + cnd.andEX("a.matterId", "=", matterId); + cnd.andEX("a.unionId", "=", unionId); + cnd.andEX("a.personType", "=", personType); + appendCancelledCondition(cnd, cancelled); + if (StrUtil.isNotBlank(keyword)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.orLike("a.userName", keyword); + group.orLike("a.loginName", keyword); + cnd.and(group); + } + appendAssignmentOrder(cnd, pageForm); + sql.setCondition(cnd); + return listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + } + + @Override + public List schoolAssignmentExportRows(PageForm pageForm, Integer year, String settingId, String matterId, + String unionId, String personType, String keyword, String assignSource, + Boolean cancelled) { + List rows = assignmentExportRows(pageForm, year, settingId, matterId, unionId, personType, keyword, assignSource, cancelled); + fillAssignmentExportText(rows); + return rows; + } + + @Override + public NutMap sendSchoolAssignmentReminder(PageForm pageForm, Integer year, String settingId, String matterId, + String unionId, String personType, String keyword, String assignSource, + Boolean cancelled, String content) { + if (StrUtil.isBlank(content)) { + throw new IllegalArgumentException("请输入提醒内容"); + } + List rows = assignmentExportRows(pageForm, year, settingId, matterId, unionId, personType, keyword, assignSource, cancelled); + List receiverIds = rows.stream() + .map(row -> row.getString("userId")) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + if (Lang.isEmpty(receiverIds)) { + throw new IllegalArgumentException("当前查询条件下暂无可发送人员"); + } + JSONObject config = new JSONObject(); + config.set("pcUrl", Globals.AppDomain + "/platform/thirtyTeachTour/schoolUserAssignment"); + config.set("mobileUrl", Globals.AppDomain + "/platform/tooltip/h5"); + globalMessageSendService.sendMessage("疗休养报名提醒", content.trim(), 1, receiverIds, config); + return NutMap.NEW().addv("receiverCount", receiverIds.size()); + } + + @Override + public Pagination schoolCandidatePage(PageForm pageForm, String settingId, String unionId, String keyword, List userIds) { + ThirtyTeachTourSetting setting = fetchSettingForAssignment(settingId); + if (setting == null || StrUtil.isBlank(setting.getActivityGroupId())) { + return emptyPagination(pageForm); + } + Sql sql = buildCandidateSql(settingId); + Cnd cnd = buildCandidateCnd(settingId, setting.getActivityGroupId(), unionId, keyword); + List normalizedUserIds = normalizeUserIds(userIds); + // 人员选择器多选查询时,候选范围仍受活动组、分工会、已分配排除规则约束,再按指定人员ID精确过滤。 + if (!Lang.isEmpty(normalizedUserIds)) { + cnd.and("u.id", "in", normalizedUserIds); + } + cnd.asc("u.unionname"); + cnd.asc("u.unitname"); + cnd.asc("u.loginname"); + sql.setCondition(cnd); + return listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + } + + @Override + public Pagination branchAssignmentPage(PageForm pageForm, Integer year, String settingId, String matterId, + String personType, String keyword) { + String unionId = SecurityUtil.getUnionId(); + if (StrUtil.isBlank(unionId)) { + return emptyPagination(pageForm); + } + return assignmentPage(pageForm, year, settingId, matterId, unionId, personType, keyword, + ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_BRANCH_UNION); + } + + @Override + public List branchAssignmentExportRows(PageForm pageForm, Integer year, String settingId, String matterId, + String personType, String keyword) { + String unionId = SecurityUtil.getUnionId(); + if (StrUtil.isBlank(unionId)) { + return Collections.emptyList(); + } + List rows = assignmentExportRows(pageForm, year, settingId, matterId, unionId, personType, keyword, + ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_BRANCH_UNION, null); + fillAssignmentExportText(rows); + return rows; + } + + @Override + public Pagination branchCandidatePage(PageForm pageForm, String settingId, String keyword, List userIds) { + String unionId = SecurityUtil.getUnionId(); + if (StrUtil.isBlank(unionId)) { + return emptyPagination(pageForm); + } + return schoolCandidatePage(pageForm, settingId, unionId, keyword, userIds); + } + + /** + * 构建人员分配导出查询,筛选条件与页面分页列表保持一致,但导出时不追加分页。 + */ + private List assignmentExportRows(PageForm pageForm, Integer year, String settingId, String matterId, + String unionId, String personType, String keyword, String assignSource, + Boolean cancelled) { + Sql sql = Sqls.create(""" + SELECT + a.*, + s.`year` AS `year`, + s.configName AS settingName, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod + FROM thirty_teach_tour_user_assignment a + LEFT JOIN thirty_teach_tour_setting s ON s.id = a.settingId + LEFT JOIN thirty_teach_tour_matter m ON m.id = a.matterId AND m.delFlag = 0 + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.and("a.delFlag", "=", false); + cnd.andEX("a.assignSource", "=", assignSource); + cnd.andEX("s.`year`", "=", year); + cnd.andEX("a.settingId", "=", settingId); + cnd.andEX("a.matterId", "=", matterId); + cnd.andEX("a.unionId", "=", unionId); + cnd.andEX("a.personType", "=", personType); + appendCancelledCondition(cnd, cancelled); + if (StrUtil.isNotBlank(keyword)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.orLike("a.userName", keyword); + group.orLike("a.loginName", keyword); + cnd.and(group); + } + appendAssignmentOrder(cnd, pageForm); + sql.setCondition(cnd); + return listMap(sql); + } + + /** + * 按是否退出筛选人员分配记录;未退出需要兼容历史空值,与页面展示逻辑保持一致。 + */ + private void appendCancelledCondition(Cnd cnd, Boolean cancelled) { + if (cancelled == null) { + return; + } + if (Boolean.TRUE.equals(cancelled)) { + cnd.and("a.cancelled", "=", true); + return; + } + cnd.and(Cnd.exps("a.cancelled", "=", false).or("a.cancelled", "is", null)); + } + + /** + * 为 Excel 导出补充字典文本,避免前端标签渲染值直接出现在表格里。 + */ + private void fillAssignmentExportText(List rows) { + if (Lang.isEmpty(rows)) { + return; + } + rows.forEach(row -> { + row.put("assignSourceText", assignmentSourceText(row.getString("assignSource"))); + row.put("personTypeText", assignmentPersonTypeText(row.getString("personType"))); + row.put("cancelledText", Boolean.TRUE.equals(row.getBoolean("cancelled")) ? "已退出" : "未退出"); + }); + } + + /** + * 转换分配来源编码为页面可读文本。 + */ + private String assignmentSourceText(String assignSource) { + if (ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_BRANCH_UNION.equals(assignSource)) { + return "分工会分配"; + } + if (ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_SCHOOL_UNION.equals(assignSource)) { + return "校工会分配"; + } + return StrUtil.isBlank(assignSource) ? "" : assignSource; + } + + /** + * 转换人员类型编码为页面可读文本。 + */ + private String assignmentPersonTypeText(String personType) { + return ThirtyTeachTourUserAssignment.PERSON_TYPE_BACKUP.equals(personType) ? "替补人员" : "正式人员"; + } + + @Override + public List listEnabledSettingOptions(Integer year) { + Sql sql = Sqls.create(""" + SELECT id, `year`, configName, activityGroupId + FROM thirty_teach_tour_setting + $condition + ORDER BY `year` DESC, sortNo ASC, createdAt DESC + """); + Cnd cnd = Cnd.NEW(); + cnd.and("delFlag", "=", false); + cnd.and("enabled", "=", true); + cnd.andEX("`year`", "=", year); + sql.setCondition(cnd); + return listMap(sql); + } + + @Override + public List listMatterOptions(String settingId) { + return listMatterOptions(settingId, false); + } + + @Override + public List listSignupOpenMatterOptions(String settingId) { + return listMatterOptions(settingId, true); + } + + /** + * 统一查询人员分配可选线路;分工会选择线路时只返回当前报名期内的事项。 + */ + private List listMatterOptions(String settingId, boolean onlySignupOpen) { + if (StrUtil.isBlank(settingId)) { + return Collections.emptyList(); + } + Sql sql = Sqls.create(""" + SELECT + m.id AS matterId, + m.matterName, + m.`year` AS `year`, + m.settingId, + m.signupStartTime, + m.signupEndTime, + m.lineId, + l.lineName, + l.lineType, + l.travelAgencyId, + ta.agencyName AS travelAgencyName + FROM thirty_teach_tour_matter m + LEFT JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN thirty_teach_tour_travel_agency ta ON ta.id = l.travelAgencyId + $condition + ORDER BY m.`year` DESC, m.createdAt DESC + """); + Cnd cnd = Cnd.NEW(); + cnd.and("m.delFlag", "=", false); + cnd.and("m.enabled", "=", true); + cnd.and("m.settingId", "=", settingId); + cnd.and("l.id", "is not", null); + cnd.and("l.delFlag", "=", false); + cnd.and("l.enabled", "=", true); + if (onlySignupOpen) { + String now = DateUtil.now(); + cnd.and("m.signupStartTime", "<=", now); + cnd.and("m.signupEndTime", ">=", now); + } + sql.setCondition(cnd); + return listMap(sql); + } + + @Override + public List listUnionOptions() { + Sql sql = Sqls.create(""" + SELECT id, name, unionCode + FROM sys_union + ORDER BY unionCode ASC, name ASC + """); + return listMap(sql); + } + + @Override + public NutMap assignSchoolUsers(String settingId, String matterId, String personType, List userIds) { + List distinctUserIds = normalizeUserIds(userIds); + if (StrUtil.isBlank(settingId) || Lang.isEmpty(distinctUserIds)) { + throw new IllegalArgumentException("请选择疗休养配置和分配人员"); + } + // 校工会人员分配均按正式人员处理,避免前端绕过页面提交替补类型。 + String normalizedPersonType = ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL; + NutMap matterInfo = prepareMatterInfoForAssignment(settingId, matterId, normalizedPersonType); + ThirtyTeachTourSetting setting = fetchSettingForAssignment(settingId); + if (setting == null) { + throw new IllegalArgumentException("疗休养配置不存在"); + } + if (StrUtil.isBlank(setting.getActivityGroupId())) { + throw new IllegalArgumentException("疗休养配置未设置可参加人员范围"); + } + + // 保存前重新按“配置人员范围 + 未分配”查询,防止前端绕过候选列表提交范围外人员。 + Sql userSql = buildCandidateSql(settingId); + Cnd userCnd = buildCandidateCnd(settingId, setting.getActivityGroupId(), null, null); + userCnd.and("u.id", "in", distinctUserIds); + userSql.setCondition(userCnd); + List candidateUsers = listMap(userSql); + List assignments = candidateUsers.stream() + .map(user -> buildSchoolAssignment(settingId, matterInfo, normalizedPersonType, user)) + .collect(Collectors.toList()); + if (Lang.isNotEmpty(assignments)) { + dao().insert(assignments); + } + // 分配线路为空时只写人员分配表;选择分配线路时按代报名写入台账。 + int ledgerCount = insertProxySignupLedgers(matterInfo, candidateUsers); + return NutMap.NEW() + .addv("assignCount", assignments.size()) + .addv("skipCount", distinctUserIds.size() - assignments.size()) + .addv("ledgerCount", ledgerCount); + } + + @Override + public NutMap assignSchoolUsers(String settingId, List assignItems) { + if (StrUtil.isBlank(settingId) || Lang.isEmpty(assignItems)) { + throw new IllegalArgumentException("请选择疗休养配置和分配人员"); + } + ThirtyTeachTourSetting setting = fetchSettingForAssignment(settingId); + if (setting == null) { + throw new IllegalArgumentException("疗休养配置不存在"); + } + if (StrUtil.isBlank(setting.getActivityGroupId())) { + throw new IllegalArgumentException("疗休养配置未设置可参加人员范围"); + } + + Map matterByUserId = new HashMap<>(); + List userIds = assignItems.stream() + .map(item -> item == null ? "" : item.getString("userId", "")) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + assignItems.forEach(item -> { + if (item == null) { + return; + } + String userId = item.getString("userId", ""); + if (StrUtil.isBlank(userId)) { + return; + } + matterByUserId.put(userId, item.getString("matterId", "")); + }); + if (Lang.isEmpty(userIds)) { + throw new IllegalArgumentException("请选择分配人员"); + } + + Map matterInfoMap = new HashMap<>(); + matterByUserId.values().stream() + .filter(StrUtil::isNotBlank) + .distinct() + .forEach(matterId -> { + NutMap matterInfo = fetchMatterInfo(settingId, matterId); + if (matterInfo == null) { + throw new IllegalArgumentException("分配线路不存在或未配置线路"); + } + matterInfoMap.put(matterId, matterInfo); + }); + + // 保存前重新按“配置人员范围 + 未分配”查询,防止前端绕过候选列表提交范围外人员。 + Sql userSql = buildCandidateSql(settingId); + Cnd userCnd = buildCandidateCnd(settingId, setting.getActivityGroupId(), null, null); + userCnd.and("u.id", "in", userIds); + userSql.setCondition(userCnd); + List candidateUsers = listMap(userSql); + + List assignments = candidateUsers.stream() + .map(user -> { + String userId = user.getString("userId", ""); + NutMap matterInfo = matterInfoMap.get(matterByUserId.get(userId)); + return buildSchoolAssignment(settingId, matterInfo, ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL, user); + }) + .collect(Collectors.toList()); + if (Lang.isNotEmpty(assignments)) { + dao().insert(assignments); + } + + int ledgerCount = 0; + for (Map.Entry entry : matterInfoMap.entrySet()) { + String matterId = entry.getKey(); + List users = candidateUsers.stream() + .filter(user -> matterId.equals(matterByUserId.get(user.getString("userId", "")))) + .collect(Collectors.toList()); + ledgerCount += insertProxySignupLedgers(entry.getValue(), users); + } + return NutMap.NEW() + .addv("assignCount", assignments.size()) + .addv("skipCount", userIds.size() - assignments.size()) + .addv("ledgerCount", ledgerCount); + } + + @Override + public NutMap selectSchoolAssignmentMatter(String id, String matterId) { + if (StrUtil.isBlank(id) || StrUtil.isBlank(matterId)) { + throw new IllegalArgumentException("请选择人员分配记录和分配线路"); + } + ThirtyTeachTourUserAssignment assignment = fetch(Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", id) + .and(ThirtyTeachTourUserAssignment::getAssignSource, "=", ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_SCHOOL_UNION) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + if (assignment == null) { + throw new IllegalArgumentException("人员分配记录不存在"); + } + if (StrUtil.isNotBlank(assignment.getMatterId())) { + throw new IllegalArgumentException("该人员已选择分配线路"); + } + String personType = normalizePersonType(assignment.getPersonType()); + if (!ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL.equals(personType)) { + throw new IllegalArgumentException("只有正式人员可以选择分配线路"); + } + NutMap matterInfo = fetchMatterInfo(assignment.getSettingId(), matterId); + if (matterInfo == null) { + throw new IllegalArgumentException("分配线路不存在或未配置线路"); + } + updateAssignmentMatterSnapshot(id, matterInfo, ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_SCHOOL_UNION); + int ledgerCount = insertProxySignupLedgers(matterInfo, Collections.singletonList(fetchAssignmentUserSnapshot(assignment))); + return NutMap.NEW().addv("ledgerCount", ledgerCount); + } + + @Override + public NutMap selectCurrentBranchAssignmentMatter(String id, String matterId) { + if (StrUtil.isBlank(id) || StrUtil.isBlank(matterId)) { + throw new IllegalArgumentException("请选择人员分配记录和分配路线"); + } + ThirtyTeachTourUserAssignment assignment = fetchCurrentBranchAssignment(id); + if (assignment == null) { + throw new IllegalArgumentException("人员分配记录不存在"); + } + if (StrUtil.isNotBlank(assignment.getMatterId())) { + throw new IllegalArgumentException("该人员已选择分配路线"); + } + String personType = normalizePersonType(assignment.getPersonType()); + if (!ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL.equals(personType)) { + throw new IllegalArgumentException("只有正式人员可以选择分配路线"); + } + NutMap matterInfo = fetchMatterInfoForUpdate(assignment.getSettingId(), matterId); + if (matterInfo == null) { + throw new IllegalArgumentException("分配路线不存在或未配置线路"); + } + if (!isMatterSignupOpen(matterInfo)) { + throw new IllegalArgumentException("当前线路不在报名时间内,不能选择"); + } + List users = Collections.singletonList(fetchAssignmentUserSnapshot(assignment)); + checkProxySignupMaxGroupPeople(matterInfo, users); + updateAssignmentMatterSnapshot(id, matterInfo, ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_BRANCH_UNION); + int ledgerCount = insertProxySignupLedgers(matterInfo, users); + return NutMap.NEW().addv("ledgerCount", ledgerCount); + } + + @Override + public NutMap assignBranchUsers(String settingId, String matterId, String personType, List userIds) { + String unionId = SecurityUtil.getUnionId(); + if (StrUtil.isBlank(unionId)) { + throw new IllegalArgumentException("当前登录人未绑定分工会"); + } + List distinctUserIds = normalizeUserIds(userIds); + if (StrUtil.isBlank(settingId) || Lang.isEmpty(distinctUserIds)) { + throw new IllegalArgumentException("请选择疗休养配置和分配人员"); + } + String normalizedPersonType = normalizePersonType(personType); + NutMap matterInfo = prepareMatterInfoForAssignment(settingId, matterId, normalizedPersonType); + // 分工会代报名占用事项最大成团人数;在同一事务中锁定事项行,避免多个分工会同时校验通过后并发写入导致超额。 + if (matterInfo != null) { + matterInfo = fetchMatterInfoForUpdate(settingId, matterInfo.getString("matterId")); + if (matterInfo == null) { + throw new IllegalArgumentException("疗休养事项不存在或未配置线路"); + } + } + ThirtyTeachTourSetting setting = fetchSettingForAssignment(settingId); + if (setting == null) { + throw new IllegalArgumentException("疗休养配置不存在"); + } + if (StrUtil.isBlank(setting.getActivityGroupId())) { + throw new IllegalArgumentException("疗休养配置未设置可参加人员范围"); + } + NutMap quotaInfo = branchQuotaInfo(settingId); + int remainingQuota = defaultInt(quotaInfo.getInt(remainingQuotaKey(normalizedPersonType))); + if (remainingQuota <= 0) { + throw new IllegalArgumentException("当前分工会该人员类型暂无剩余名额"); + } + + // 保存前重新按“配置人员范围 + 当前分工会 + 未分配”查询,防止前端提交范围外或其它分工会人员。 + Sql userSql = buildCandidateSql(settingId); + Cnd userCnd = buildCandidateCnd(settingId, setting.getActivityGroupId(), unionId, null); + userCnd.and("u.id", "in", distinctUserIds); + userSql.setCondition(userCnd); + List candidateUsers = listMap(userSql); + if (candidateUsers.size() > remainingQuota) { + throw new IllegalArgumentException("选择人数超过当前分工会剩余名额"); + } + // 分工会代报名会占用线路成团人数,人员分配和台账写入前先做后端兜底校验。 + checkProxySignupMaxGroupPeople(matterInfo, candidateUsers); + final NutMap assignmentMatterInfo = matterInfo; + List assignments = candidateUsers.stream() + .map(user -> buildAssignment(settingId, assignmentMatterInfo, normalizedPersonType, user, + ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_BRANCH_UNION)) + .collect(Collectors.toList()); + if (Lang.isNotEmpty(assignments)) { + dao().insert(assignments); + } + // 事项为空时只写人员分配表;正式人员选择事项时按代报名写入台账。 + int ledgerCount = insertProxySignupLedgers(matterInfo, candidateUsers); + NutMap newQuotaInfo = branchQuotaInfo(settingId); + return NutMap.NEW() + .addv("assignCount", assignments.size()) + .addv("skipCount", distinctUserIds.size() - assignments.size()) + .addv("ledgerCount", ledgerCount) + .addv("formalRemaining", defaultInt(newQuotaInfo.getInt("formalRemaining"))) + .addv("backupRemaining", defaultInt(newQuotaInfo.getInt("backupRemaining"))); + } + + @Override + public NutMap branchQuotaInfo(String settingId) { + String unionId = SecurityUtil.getUnionId(); + if (StrUtil.isBlank(settingId) || StrUtil.isBlank(unionId)) { + return emptyQuotaInfo(); + } + Sql sql = Sqls.create(""" + SELECT + COALESCE(q.formalQuota, 0) AS formalQuota, + COALESCE(q.backupQuota, 0) AS backupQuota, + COALESCE(used_quota.formalUsed, 0) AS formalUsed, + COALESCE(used_quota.backupUsed, 0) AS backupUsed + FROM thirty_teach_tour_setting_union_quota q + LEFT JOIN ( + SELECT + settingId, + unionId, + SUM(CASE WHEN personType = @formalType THEN 1 ELSE 0 END) AS formalUsed, + SUM(CASE WHEN personType = @backupType THEN 1 ELSE 0 END) AS backupUsed + FROM thirty_teach_tour_user_assignment + WHERE delFlag = 0 + AND assignSource = @assignSource + AND settingId = @settingId + AND unionId = @unionId + AND (cancelled = 0 OR cancelled IS NULL) + GROUP BY settingId, unionId + ) used_quota ON used_quota.settingId = q.settingId AND used_quota.unionId = q.unionId + WHERE q.settingId = @settingId + AND q.unionId = @unionId + LIMIT 1 + """); + sql.setParam("formalType", ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL); + sql.setParam("backupType", ThirtyTeachTourUserAssignment.PERSON_TYPE_BACKUP); + sql.setParam("assignSource", ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_BRANCH_UNION); + sql.setParam("settingId", settingId); + sql.setParam("unionId", unionId); + List rows = listMap(sql); + NutMap quotaInfo = Lang.isEmpty(rows) ? emptyQuotaInfo() : rows.get(0); + int formalQuota = defaultInt(quotaInfo.getInt("formalQuota")); + int backupQuota = defaultInt(quotaInfo.getInt("backupQuota")); + int formalUsed = defaultInt(quotaInfo.getInt("formalUsed")); + int backupUsed = defaultInt(quotaInfo.getInt("backupUsed")); + return NutMap.NEW() + .addv("formalQuota", formalQuota) + .addv("backupQuota", backupQuota) + .addv("formalUsed", formalUsed) + .addv("backupUsed", backupUsed) + .addv("formalRemaining", Math.max(formalQuota - formalUsed, 0)) + .addv("backupRemaining", Math.max(backupQuota - backupUsed, 0)); + } + + @Override + public NutMap switchCurrentBranchPersonType(String id, String personType) { + String unionId = SecurityUtil.getUnionId(); + if (StrUtil.isBlank(id) || StrUtil.isBlank(unionId)) { + throw new IllegalArgumentException("参数错误"); + } + String targetPersonType = normalizePersonType(personType); + ThirtyTeachTourUserAssignment assignment = fetch(Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", id) + .and(ThirtyTeachTourUserAssignment::getAssignSource, "=", ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_BRANCH_UNION) + .and(ThirtyTeachTourUserAssignment::getUnionId, "=", unionId) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + if (assignment == null) { + throw new IllegalArgumentException("人员分配记录不存在"); + } + String currentPersonType = normalizePersonType(assignment.getPersonType()); + if (currentPersonType.equals(targetPersonType)) { + return branchTypeSwitchResult(targetPersonType, branchQuotaInfo(assignment.getSettingId())); + } + // 已退出人员保留台账痕迹时允许转为替补;未退出且已生成台账的人员仍禁止降为替补。 + if (ThirtyTeachTourUserAssignment.PERSON_TYPE_BACKUP.equals(targetPersonType) + && StrUtil.isNotBlank(assignment.getMatterId()) + && !Boolean.TRUE.equals(assignment.getCancelled())) { + throw new IllegalArgumentException("已分配疗休养事项并生成台账,不能切换为替补人员"); + } + NutMap quotaInfo = branchQuotaInfo(assignment.getSettingId()); + int remainingQuota = defaultInt(quotaInfo.getInt(remainingQuotaKey(targetPersonType))); + if (remainingQuota <= 0) { + throw new IllegalArgumentException("当前分工会目标人员类型暂无剩余名额"); + } + // 切换为替补后不允许继续保留报名台账,删除范围限制在当前分配记录对应的事项和工号。 + update(Chain.make("personType", targetPersonType), Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", id) + .and(ThirtyTeachTourUserAssignment::getAssignSource, "=", ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_BRANCH_UNION) + .and(ThirtyTeachTourUserAssignment::getUnionId, "=", unionId)); + if (ThirtyTeachTourUserAssignment.PERSON_TYPE_BACKUP.equals(targetPersonType)) { + deleteAssignmentLedgers(assignment); + } + return branchTypeSwitchResult(targetPersonType, branchQuotaInfo(assignment.getSettingId())); + } + + @Override + public NutMap currentH5ConfirmInfo() { + ThirtyTeachTourSetting setting = fetchCurrentYearEnabledSetting(); + NutMap userInfo = fetchCurrentUserViewInfo(); + NutMap assignmentInfo = setting == null ? NutMap.NEW() : currentUserAssignmentInfo(setting.getId()); + boolean existsAssignment = assignmentInfo != null && StrUtil.isNotBlank(assignmentInfo.getString("assignmentId", "")); + NutMap source = existsAssignment ? assignmentInfo : userInfo; + return NutMap.NEW() + .addv("settingId", setting == null ? "" : setting.getId()) + .addv("year", setting == null ? LocalDate.now().getYear() : setting.getYear()) + .addv("existsAssignment", existsAssignment) + .addv("boardingPlaceOptions", setting == null ? "[]" : StrUtil.blankToDefault(setting.getBoardingPlace(), "[]")) + .addv("assignment", assignmentInfo == null ? NutMap.NEW() : assignmentInfo) + .addv("user", userInfo) + .addv("form", NutMap.NEW() + .addv("userName", source.getString("userName", "")) + .addv("gender", source.getString("gender", "")) + .addv("age", source.get("age")) + .addv("idCard", source.getString("idCard", "")) + .addv("mobile", source.getString("mobile", "")) + .addv("boardingPlace", source.getString("boardingPlace", ""))); + } + + @Override + public void saveCurrentH5ConfirmInfo(String userName, String gender, Integer age, String idCard, String mobile, String boardingPlace) { + ThirtyTeachTourSetting setting = fetchCurrentYearEnabledSetting(); + if (setting == null) { + throw new IllegalArgumentException("当前年度暂无启用的疗休养配置"); + } + if (StrUtil.isBlank(userName) || StrUtil.isBlank(gender) + || StrUtil.isBlank(idCard) || StrUtil.isBlank(mobile) || StrUtil.isBlank(boardingPlace)) { + throw new IllegalArgumentException("请完善姓名、性别、身份证号、手机号和乘车地点"); + } + String normalizedIdCard = idCard.trim().toUpperCase(); + if (!isValidIdCard(normalizedIdCard)) { + throw new IllegalArgumentException("请输入正确的身份证号"); + } + Integer calculatedAge = calculateAge(normalizedIdCard, ""); + if (calculatedAge == null) { + throw new IllegalArgumentException("请填写正确的身份证号以计算年龄"); + } + Cnd cnd = Cnd.where(ThirtyTeachTourUserAssignment::getSettingId, "=", setting.getId()) + .and(ThirtyTeachTourUserAssignment::getUserId, "=", SecurityUtil.getUserId()) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false); + if (count(cnd) <= 0) { + throw new IllegalArgumentException("未找到当前年度人员分配记录,暂不能确认报名信息"); + } + // 移动端信息确认只更新既有分配记录的人员基础信息,不创建分配资格。 + update(Chain.make("userName", userName.trim()) + .add("gender", gender.trim()) + .add("age", calculatedAge) + .add("idCard", normalizedIdCard) + .add("mobile", mobile.trim()) + .add("boardingPlace", boardingPlace.trim()), + cnd); + } + + @Override + public NutMap currentUserAssignmentInfo(String settingId) { + if (StrUtil.isBlank(settingId)) { + return NutMap.NEW(); + } + Sql sql = Sqls.create(""" + SELECT + id AS assignmentId, + settingId, + matterId, + userId, + loginName AS jobNo, + userName, + gender, + age, + idCard, + mobile, + unitId, + unitName, + unionId, + unionName, + boardingPlace, + personType, + assignSource, + IFNULL(cancelled, 0) AS cancelled + FROM thirty_teach_tour_user_assignment + WHERE delFlag = 0 + AND settingId = @settingId + AND userId = @userId + ORDER BY CASE WHEN personType = 'FORMAL' THEN 0 ELSE 1 END ASC, createdAt DESC + LIMIT 1 + """); + sql.setParam("settingId", settingId); + sql.setParam("userId", SecurityUtil.getUserId()); + sql.setCallback(Sqls.callback.map()); + dao().execute(sql); + NutMap map = sql.getObject(NutMap.class); + return map == null ? NutMap.NEW() : map; + } + + @Override + public int backfillExistingAssignmentAfterSignup(String settingId, String matterId, String userId, String boardingPlace) { + if (StrUtil.isBlank(settingId) || StrUtil.isBlank(matterId) || StrUtil.isBlank(userId)) { + return 0; + } + NutMap matterInfo = fetchMatterInfo(settingId, matterId); + if (matterInfo == null) { + return 0; + } + // 用户报名后只回填已存在的人员分配记录,不新增来源,不修改 assignSource 和人员类型。 + return update(Chain.make("matterId", matterInfo.getString("matterId")) + .add("matterName", matterInfo.getString("matterName")) + .add("lineId", matterInfo.getString("lineId")) + .add("lineName", matterInfo.getString("lineName")) + .add("travelAgencyId", matterInfo.getString("travelAgencyId")) + .add("travelAgencyName", matterInfo.getString("travelAgencyName")) + .add("boardingPlace", StrUtil.blankToDefault(boardingPlace, matterInfo.getString("defaultBoardingPlace"))), + Cnd.where(ThirtyTeachTourUserAssignment::getSettingId, "=", settingId) + .and(ThirtyTeachTourUserAssignment::getUserId, "=", userId) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + } + + @Override + public int clearExistingAssignmentMatterAfterCancel(String settingId, String userId) { + if (StrUtil.isBlank(settingId) || StrUtil.isBlank(userId)) { + return 0; + } + // 取消报名只清空报名回填的事项快照,不删除人员分配记录,也不改变来源和人员类型。 + return update(Chain.make("matterId", null) + .add("matterName", null) + .add("lineId", null) + .add("lineName", null) + .add("travelAgencyId", null) + .add("travelAgencyName", null) + .add("boardingPlace", null), + Cnd.where(ThirtyTeachTourUserAssignment::getSettingId, "=", settingId) + .and(ThirtyTeachTourUserAssignment::getUserId, "=", userId) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + } + + @Override + public int clearExistingAssignmentMatterAfterLedgerDelete(String matterId, String jobNo) { + if (StrUtil.isBlank(matterId) || StrUtil.isBlank(jobNo)) { + return 0; + } + ThirtyTeachTourMatter matter = dao().fetch(ThirtyTeachTourMatter.class, matterId); + Cnd cnd = Cnd.where(ThirtyTeachTourUserAssignment::getMatterId, "=", matterId) + .and(ThirtyTeachTourUserAssignment::getLoginName, "=", jobNo) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false); + if (matter != null && StrUtil.isNotBlank(matter.getSettingId())) { + cnd.and(ThirtyTeachTourUserAssignment::getSettingId, "=", matter.getSettingId()); + } + // 台账管理按原台账删除时无法依赖当前登录人,需用台账工号精准清空同事项的人员分配快照。 + return update(Chain.make("matterId", null) + .add("matterName", null) + .add("lineId", null) + .add("lineName", null) + .add("travelAgencyId", null) + .add("travelAgencyName", null) + .add("boardingPlace", null), + cnd); + } + + @Override + public NutMap schoolDeleteInfo(String id) { + return assignmentDeleteInfo(fetchAssignmentBySource(id, ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_SCHOOL_UNION)); + } + + @Override + public NutMap branchDeleteInfo(String id) { + return assignmentDeleteInfo(fetchCurrentBranchAssignment(id)); + } + + @Override + public void deleteBySource(String id, String assignSource) { + deleteBySource(id, assignSource, false); + } + + @Override + public void deleteBySource(String id, String assignSource, boolean deleteLedger) { + ThirtyTeachTourUserAssignment assignment = fetchAssignmentBySource(id, assignSource); + deleteAssignmentWithLedgerOption(assignment, deleteLedger); + } + + @Override + public void deleteCurrentBranchAssignment(String id) { + deleteCurrentBranchAssignment(id, false); + } + + @Override + public void deleteCurrentBranchAssignment(String id, boolean deleteLedger) { + ThirtyTeachTourUserAssignment assignment = fetchCurrentBranchAssignment(id); + deleteAssignmentWithLedgerOption(assignment, deleteLedger); + } + + @Override + public boolean existsAssignedUser(String settingId, String userId) { + if (StrUtil.isBlank(settingId) || StrUtil.isBlank(userId)) { + return false; + } + return count(Cnd.where(ThirtyTeachTourUserAssignment::getSettingId, "=", settingId) + .and(ThirtyTeachTourUserAssignment::getUserId, "=", userId) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)) > 0; + } + + @Override + public NutMap checkFormalAssignedUser(String settingId, String userId) { + NutMap result = NutMap.NEW().addv("canApply", false); + if (StrUtil.isBlank(settingId) || StrUtil.isBlank(userId)) { + return result.addv("message", "报名资格参数不完整"); + } + List assignments = query(Cnd.where(ThirtyTeachTourUserAssignment::getSettingId, "=", settingId) + .and(ThirtyTeachTourUserAssignment::getUserId, "=", userId) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + if (Lang.isEmpty(assignments)) { + return result.addv("message", "您不在本次疗休养人员分配名单中,无法报名"); + } + boolean hasFormal = assignments.stream() + .anyMatch(item -> ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL.equals(item.getPersonType())); + if (!hasFormal) { + return result.addv("message", "您当前为替补人员,暂不能报名"); + } + boolean hasAvailableFormal = assignments.stream() + .anyMatch(item -> ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL.equals(item.getPersonType()) + && !Boolean.TRUE.equals(item.getCancelled())); + if (!hasAvailableFormal) { + return result.addv("message", "您已取消本次疗休养报名,不能再次报名"); + } + return result.setv("canApply", true).addv("message", ""); + } + + @Override + public int countSchoolFormalAssignedUsers(String settingId) { + if (StrUtil.isBlank(settingId)) { + return 0; + } + return count(Cnd.where(ThirtyTeachTourUserAssignment::getDelFlag, "=", false) + .and(ThirtyTeachTourUserAssignment::getSettingId, "=", settingId) + .and(ThirtyTeachTourUserAssignment::getAssignSource, "=", ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_SCHOOL_UNION) + .and(ThirtyTeachTourUserAssignment::getPersonType, "=", ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL) + // 已退出的校工会正式人员不再占用分工会名额计算中的校工会分配数量。 + .and(Cnd.exps(ThirtyTeachTourUserAssignment::getCancelled, "=", false) + .or(ThirtyTeachTourUserAssignment::getCancelled, "is", null))); + } + + @Override + public void cancelAssignment(String id) { + ThirtyTeachTourUserAssignment assignment = fetch(Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", id) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + if (assignment == null) { + throw new IllegalArgumentException("人员分配记录不存在"); + } + if (Boolean.TRUE.equals(assignment.getCancelled())) { + throw new IllegalArgumentException("该人员已取消退出"); + } + checkAssignmentCancelDeadline(assignment); + // 取消退出时先删除对应事项台账,并仅清空当前人员分配记录的线路快照,避免误处理同配置下其它分配记录。 + deleteAssignmentLedgers(assignment); + clearAssignmentMatterSnapshot(assignment.getId()); + // 标记人员分配表取消状态,防止后续移动端再次报名。 + update(Chain.make("cancelled", true), + Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", assignment.getId())); + } + + @Override + public void restoreCancelledAssignment(String id) { + ThirtyTeachTourUserAssignment assignment = fetch(Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", id) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + if (assignment == null) { + throw new IllegalArgumentException("人员分配记录不存在"); + } + restoreCancelledAssignment(assignment); + } + + @Override + public void restoreCancelledAssignmentBySource(String id, String assignSource) { + ThirtyTeachTourUserAssignment assignment = fetchAssignmentBySource(id, assignSource); + if (assignment == null) { + throw new IllegalArgumentException("人员分配记录不存在"); + } + restoreCancelledAssignment(assignment); + } + + @Override + public void restoreCurrentBranchCancelledAssignment(String id) { + ThirtyTeachTourUserAssignment assignment = fetchCurrentBranchAssignment(id); + if (assignment == null) { + throw new IllegalArgumentException("人员分配记录不存在"); + } + checkRestoreBranchQuota(assignment); + restoreCancelledAssignment(assignment); + } + + @Override + public void clearBySettingId(String settingId) { + if (StrUtil.isNotBlank(settingId)) { + clear(Cnd.where(ThirtyTeachTourUserAssignment::getSettingId, "=", settingId)); + } + } + + private Pagination assignmentPage(PageForm pageForm, Integer year, String settingId, String matterId, + String unionId, String personType, String keyword, String assignSource) { + Sql sql = Sqls.create(""" + SELECT + a.*, + s.`year` AS `year`, + s.configName AS settingName, + CASE + WHEN IFNULL(m.travelStartTime, '') <> '' AND IFNULL(m.travelEndTime, '') <> '' + THEN CONCAT(m.travelStartTime, ' 至 ', m.travelEndTime) + ELSE '' + END AS travelPeriod + FROM thirty_teach_tour_user_assignment a + LEFT JOIN thirty_teach_tour_setting s ON s.id = a.settingId + LEFT JOIN thirty_teach_tour_matter m ON m.id = a.matterId AND m.delFlag = 0 + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.and("a.delFlag", "=", false); + cnd.and("a.assignSource", "=", assignSource); + cnd.andEX("s.`year`", "=", year); + cnd.andEX("a.settingId", "=", settingId); + cnd.andEX("a.matterId", "=", matterId); + cnd.andEX("a.unionId", "=", unionId); + cnd.andEX("a.personType", "=", personType); + if (StrUtil.isNotBlank(keyword)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.orLike("a.userName", keyword); + group.orLike("a.loginName", keyword); + cnd.and(group); + } + appendAssignmentOrder(cnd, pageForm); + sql.setCondition(cnd); + return listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + } + + private Sql buildCandidateSql(String settingId) { + return Sqls.create(""" + SELECT + u.id AS userId, + u.loginname AS loginName, + u.username AS userName, + u.sex AS gender, + u.age AS age, + u.idcard AS idCard, + u.mobile AS mobile, + u.birthday AS birthday, + u.unitid AS unitId, + u.unitname AS unitName, + u.unionid AS unionId, + u.unionname AS unionName + FROM activity_user_scope aus + LEFT JOIN vw_user u ON u.id = aus.userId + LEFT JOIN thirty_teach_tour_user_assignment a + ON a.settingId = @settingId + AND a.userId = aus.userId + AND a.delFlag = 0 + $condition + """).setParam("settingId", settingId); + } + + private Cnd buildCandidateCnd(String settingId, String activityGroupId, String unionId, String keyword) { + Cnd cnd = Cnd.NEW(); + cnd.and("aus.groupId", "=", activityGroupId); + cnd.and("u.id", "is not", null); + cnd.and("a.id", "is", null); + cnd.andEX("u.unionid", "=", unionId); + if (StrUtil.isNotBlank(keyword)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.orLike("u.username", keyword); + group.orLike("u.loginname", keyword); + cnd.and(group); + } + return cnd; + } + + private NutMap assignmentDeleteInfo(ThirtyTeachTourUserAssignment assignment) { + int ledgerCount = countAssignmentLedgers(assignment); + return NutMap.NEW() + .addv("hasLedger", ledgerCount > 0) + .addv("ledgerCount", ledgerCount); + } + + private ThirtyTeachTourUserAssignment fetchAssignmentBySource(String id, String assignSource) { + if (StrUtil.isBlank(id) || StrUtil.isBlank(assignSource)) { + return null; + } + return fetch(Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", id) + .and(ThirtyTeachTourUserAssignment::getAssignSource, "=", assignSource) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + } + + private ThirtyTeachTourUserAssignment fetchCurrentBranchAssignment(String id) { + String unionId = SecurityUtil.getUnionId(); + if (StrUtil.isBlank(id) || StrUtil.isBlank(unionId)) { + return null; + } + return fetch(Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", id) + .and(ThirtyTeachTourUserAssignment::getAssignSource, "=", ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_BRANCH_UNION) + .and(ThirtyTeachTourUserAssignment::getUnionId, "=", unionId) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + } + + private void deleteAssignmentWithLedgerOption(ThirtyTeachTourUserAssignment assignment, boolean deleteLedger) { + if (assignment == null) { + return; + } + int ledgerCount = countAssignmentLedgers(assignment); + if (ledgerCount > 0 && !deleteLedger) { + throw new IllegalArgumentException("该人员已报名,请确认是否同步删除台账数据"); + } + if (ledgerCount > 0) { + // 台账删除范围严格限制在当前分配记录对应的事项和工号,避免影响同人其它疗休养报名。 + deleteAssignmentLedgers(assignment); + } + clear(Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", assignment.getId()) + .and(ThirtyTeachTourUserAssignment::getAssignSource, "=", assignment.getAssignSource())); + } + + private int countAssignmentLedgers(ThirtyTeachTourUserAssignment assignment) { + if (assignment == null || StrUtil.isBlank(assignment.getMatterId()) || StrUtil.isBlank(assignment.getLoginName())) { + return 0; + } + return dao().count(ThirtyTeachTourLedger.class, Cnd.where(ThirtyTeachTourLedger::getMatterId, "=", assignment.getMatterId()) + .and(ThirtyTeachTourLedger::getJobNo, "=", assignment.getLoginName()) + .and(ThirtyTeachTourLedger::getDelFlag, "=", false)); + } + + private void deleteAssignmentLedgers(ThirtyTeachTourUserAssignment assignment) { + List ledgers = dao().query(ThirtyTeachTourLedger.class, Cnd.where(ThirtyTeachTourLedger::getMatterId, "=", assignment.getMatterId()) + .and(ThirtyTeachTourLedger::getJobNo, "=", assignment.getLoginName()) + .and(ThirtyTeachTourLedger::getDelFlag, "=", false)); + if (Lang.isEmpty(ledgers)) { + return; + } + List ledgerIds = ledgers.stream() + .map(ThirtyTeachTourLedger::getId) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toList()); + if (Lang.isEmpty(ledgerIds)) { + return; + } + dao().clear(ThirtyTeachTourLedgerFamily.class, Cnd.where(ThirtyTeachTourLedgerFamily::getLedgerId, "in", ledgerIds)); + dao().clear(ThirtyTeachTourLedgerDirectRelative.class, Cnd.where(ThirtyTeachTourLedgerDirectRelative::getLedgerId, "in", ledgerIds)); + dao().clear(ThirtyTeachTourLedger.class, Cnd.where(ThirtyTeachTourLedger::getId, "in", ledgerIds)); + } + + /** + * 清空当前人员分配记录中的线路相关快照,不删除人员分配表数据。 + * 出行时间由 matterId 关联事项表展示,清空 matterId 后列表不再展示原出行时间。 + * + * @param assignmentId 人员分配记录ID + */ + private void clearAssignmentMatterSnapshot(String assignmentId) { + if (StrUtil.isBlank(assignmentId)) { + return; + } + update(Chain.make("matterId", null) + .add("matterName", null) + .add("lineId", null) + .add("lineName", null) + .add("travelAgencyId", null) + .add("travelAgencyName", null) + .add("boardingPlace", null), + Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", assignmentId) + .and(ThirtyTeachTourUserAssignment::getDelFlag, "=", false)); + } + + private void restoreCancelledAssignment(ThirtyTeachTourUserAssignment assignment) { + if (!Boolean.TRUE.equals(assignment.getCancelled())) { + throw new IllegalArgumentException("该人员未取消退出,无需恢复"); + } + // 取消退出仅恢复人员分配状态,台账需由用户重新报名或管理员重新选择分配线路生成。 + update(Chain.make("cancelled", false), + Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", assignment.getId())); + } + + private void checkRestoreBranchQuota(ThirtyTeachTourUserAssignment assignment) { + if (!Boolean.TRUE.equals(assignment.getCancelled())) { + return; + } + String personType = normalizePersonType(assignment.getPersonType()); + NutMap quotaInfo = branchQuotaInfo(assignment.getSettingId()); + int remainingQuota = defaultInt(quotaInfo.getInt(remainingQuotaKey(personType))); + // 恢复已退出人员会重新占用当前人员类型名额,因此恢复前必须按正式/替补剩余名额校验。 + if (remainingQuota <= 0) { + throw new IllegalArgumentException("当前分工会目标人员类型暂无剩余名额"); + } + } + + private void checkAssignmentCancelDeadline(ThirtyTeachTourUserAssignment assignment) { + if (StrUtil.isBlank(assignment.getMatterId())) { + throw new IllegalArgumentException("该人员未分配路线,无法取消退出"); + } + ThirtyTeachTourMatter matter = dao().fetch(ThirtyTeachTourMatter.class, Cnd.where(ThirtyTeachTourMatter::getId, "=", assignment.getMatterId()) + .and(ThirtyTeachTourMatter::getDelFlag, "=", false)); + if (matter == null) { + throw new IllegalArgumentException("分配路线不存在,无法取消退出"); + } + LocalDateTime signupEndTime = parseMatterDateTime(matter.getSignupEndTime(), true, "分配路线未设置报名截止时间,无法取消退出", "分配路线报名截止时间格式不正确,无法取消退出"); + LocalDateTime travelStartTime = parseMatterDateTime(matter.getTravelStartTime(), false, "分配路线未设置出行开始时间,无法取消退出", "分配路线出行开始时间格式不正确,无法取消退出"); + int days = getCancelDeadlineDays(); + LocalDateTime deadline = travelStartTime.minusDays(days); + LocalDateTime now = LocalDateTime.now(); + // 退出报名仅允许在“报名截止时间 < 当前时间 < 出行开始前N天”之间办理,两个边界时刻均不可办理。 + if (!now.isAfter(signupEndTime) || !now.isBefore(deadline)) { + throw new IllegalArgumentException("当前不在退出时间范围内,需在报名截止后至出行开始前" + days + "天之前办理"); + } + } + + @Override + public int getCancelDeadlineDays() { + try { + Sys_config config = sysConfigService == null ? null : sysConfigService.getValueByKey(TOUR_CANCEL_DEADLINE_DAYS_KEY); + String value = config == null ? "" : config.getConfigValue(); + int days = Integer.parseInt(StrUtil.blankToDefault(value, "15")); + return days < 0 ? 15 : days; + } catch (Exception e) { + return 15; + } + } + + private LocalDateTime parseMatterDateTime(String value, boolean endOfDay, String blankMessage, String formatMessage) { + if (StrUtil.isBlank(value)) { + throw new IllegalArgumentException(blankMessage); + } + String normalizedTime = value.trim(); + try { + if (normalizedTime.length() <= 10) { + LocalDate date = LocalDate.parse(normalizedTime.substring(0, 10), DateTimeFormatter.ofPattern("yyyy-MM-dd")); + return endOfDay ? date.atTime(23, 59, 59) : date.atStartOfDay(); + } + if (normalizedTime.length() == 16) { + normalizedTime = normalizedTime + ":00"; + } + return LocalDateTime.parse(normalizedTime.substring(0, 19), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + } catch (DateTimeParseException e) { + throw new IllegalArgumentException(formatMessage); + } + } + + private ThirtyTeachTourSetting fetchSettingForAssignment(String settingId) { + if (StrUtil.isBlank(settingId)) { + return null; + } + return dao().fetch(ThirtyTeachTourSetting.class, Cnd.where(ThirtyTeachTourSetting::getId, "=", settingId) + .and(ThirtyTeachTourSetting::getDelFlag, "=", false)); + } + + private ThirtyTeachTourSetting fetchCurrentYearEnabledSetting() { + Cnd cnd = Cnd.where(ThirtyTeachTourSetting::getDelFlag, "=", false) + .and(ThirtyTeachTourSetting::getEnabled, "=", true) + .and(ThirtyTeachTourSetting::getYear, "=", LocalDate.now().getYear()); + cnd.asc(ThirtyTeachTourSetting::getSortNo); + cnd.desc(ThirtyTeachTourSetting::getCreatedAt); + return dao().fetch(ThirtyTeachTourSetting.class, cnd); + } + + private NutMap fetchCurrentUserViewInfo() { + Sql sql = Sqls.create(""" + SELECT + id AS userId, + loginname AS jobNo, + username AS userName, + sex AS gender, + idcard AS idCard, + mobile, + unitId, + unitName, + unionId, + unionName, + birthday + FROM vw_user + WHERE id = @userId + LIMIT 1 + """); + sql.setParam("userId", SecurityUtil.getUserId()); + sql.setCallback(Sqls.callback.map()); + dao().execute(sql); + NutMap user = sql.getObject(NutMap.class); + if (user == null) { + user = NutMap.NEW() + .addv("userId", SecurityUtil.getUserId()) + .addv("jobNo", SecurityUtil.getUserLoginname()) + .addv("userName", SecurityUtil.getUserUsername()) + .addv("gender", "") + .addv("idCard", "") + .addv("mobile", "") + .addv("unitId", SecurityUtil.getUnitId()) + .addv("unitName", "") + .addv("unionId", SecurityUtil.getUnionId()) + .addv("unionName", ""); + } + user.put("age", calculateAge(user.getString("idCard", ""), user.getString("birthday", ""))); + user.put("boardingPlace", ""); + return user; + } + + private NutMap fetchMatterInfo(String settingId, String matterId) { + return fetchMatterInfo(settingId, matterId, false); + } + + /** + * 在分工会代报名容量校验前锁定事项行,保证同一事项的“统计人数-校验上限-写入台账”串行执行。 + * 该方法必须在 controller 已开启的事务中调用,FOR UPDATE 锁会持续到事务提交或回滚。 + */ + private NutMap fetchMatterInfoForUpdate(String settingId, String matterId) { + return fetchMatterInfo(settingId, matterId, true); + } + + /** + * 查询事项和线路快照信息;forUpdate 为 true 时追加行锁,用于并发容量控制。 + */ + private NutMap fetchMatterInfo(String settingId, String matterId, boolean forUpdate) { + Sql sql = Sqls.create(""" + SELECT + m.id AS matterId, + m.matterName, + m.`year` AS `year`, + m.settingId, + m.signupStartTime, + m.signupEndTime, + m.defaultBoardingPlace, + m.maxGroupPeople, + m.lineId, + l.lineName, + l.lineType, + l.travelAgencyId, + ta.agencyName AS travelAgencyName + FROM thirty_teach_tour_matter m + LEFT JOIN thirty_teach_tour_line l ON l.id = m.lineId + LEFT JOIN thirty_teach_tour_travel_agency ta ON ta.id = l.travelAgencyId + $condition + """ + (forUpdate ? " FOR UPDATE" : "")); + Cnd cnd = Cnd.NEW(); + cnd.and("m.delFlag", "=", false); + cnd.and("m.enabled", "=", true); + cnd.and("m.id", "=", matterId); + cnd.and("m.settingId", "=", settingId); + cnd.and("l.id", "is not", null); + cnd.and("l.delFlag", "=", false); + cnd.and("l.enabled", "=", true); + sql.setCondition(cnd); + List list = listMap(sql); + return Lang.isEmpty(list) ? null : list.get(0); + } + + /** + * 判断事项当前是否处于报名时间范围内,用于分工会选择线路的最终提交保护。 + */ + private boolean isMatterSignupOpen(NutMap matterInfo) { + if (matterInfo == null) { + return false; + } + String signupStartTime = matterInfo.getString("signupStartTime", ""); + String signupEndTime = matterInfo.getString("signupEndTime", ""); + if (StrUtil.isBlank(signupStartTime) || StrUtil.isBlank(signupEndTime)) { + return false; + } + String now = DateUtil.now(); + return signupStartTime.compareTo(now) <= 0 && signupEndTime.compareTo(now) >= 0; + } + + private ThirtyTeachTourUserAssignment buildSchoolAssignment(String settingId, NutMap matterInfo, String personType, NutMap user) { + return buildAssignment(settingId, matterInfo, personType, user, ThirtyTeachTourUserAssignment.ASSIGN_SOURCE_SCHOOL_UNION); + } + + private ThirtyTeachTourUserAssignment buildAssignment(String settingId, NutMap matterInfo, String personType, NutMap user, String assignSource) { + ThirtyTeachTourUserAssignment assignment = new ThirtyTeachTourUserAssignment(); + assignment.setSettingId(settingId); + fillMatterSnapshot(assignment, matterInfo); + assignment.setUserId(user.getString("userId")); + assignment.setLoginName(user.getString("loginName")); + assignment.setUserName(user.getString("userName")); + assignment.setGender(user.getString("gender")); + Integer age = user.getInt("age"); + assignment.setAge(age == null ? calculateAge(user.getString("idCard"), user.getString("birthday")) : age); + assignment.setIdCard(user.getString("idCard")); + assignment.setMobile(user.getString("mobile")); + assignment.setUnitId(user.getString("unitId")); + assignment.setUnitName(user.getString("unitName")); + assignment.setUnionId(user.getString("unionId")); + assignment.setUnionName(user.getString("unionName")); + assignment.setAssignSource(assignSource); + assignment.setPersonType(personType); + assignment.setAssignedBy(SecurityUtil.getUserId()); + assignment.setAssignedName(SecurityUtil.getUserUsername()); + assignment.setAssignedAt(DateUtil.now()); + return assignment; + } + + private void fillMatterSnapshot(ThirtyTeachTourUserAssignment assignment, NutMap matterInfo) { + if (matterInfo == null) { + return; + } + assignment.setMatterId(matterInfo.getString("matterId")); + assignment.setMatterName(matterInfo.getString("matterName")); + assignment.setLineId(matterInfo.getString("lineId")); + assignment.setLineName(matterInfo.getString("lineName")); + assignment.setTravelAgencyId(matterInfo.getString("travelAgencyId")); + assignment.setTravelAgencyName(matterInfo.getString("travelAgencyName")); + assignment.setBoardingPlace(matterInfo.getString("defaultBoardingPlace")); + } + + private void updateAssignmentMatterSnapshot(String id, NutMap matterInfo, String assignSource) { + // 补选事项时同时回写人员分配表事项快照,后续列表筛选无需再跨表追溯事项信息。 + update(Chain.make("matterId", matterInfo.getString("matterId")) + .add("matterName", matterInfo.getString("matterName")) + .add("lineId", matterInfo.getString("lineId")) + .add("lineName", matterInfo.getString("lineName")) + .add("travelAgencyId", matterInfo.getString("travelAgencyId")) + .add("travelAgencyName", matterInfo.getString("travelAgencyName")) + .add("boardingPlace", matterInfo.getString("defaultBoardingPlace")), + Cnd.where(ThirtyTeachTourUserAssignment::getId, "=", id) + .and(ThirtyTeachTourUserAssignment::getAssignSource, "=", assignSource)); + } + + private NutMap prepareMatterInfoForAssignment(String settingId, String matterId, String personType) { + if (ThirtyTeachTourUserAssignment.PERSON_TYPE_BACKUP.equals(personType) && StrUtil.isNotBlank(matterId)) { + throw new IllegalArgumentException("替补人员不能分配疗休养事项"); + } + if (StrUtil.isBlank(matterId)) { + return null; + } + NutMap matterInfo = fetchMatterInfo(settingId, matterId); + if (matterInfo == null) { + throw new IllegalArgumentException("疗休养事项不存在或未配置线路"); + } + return matterInfo; + } + + private int insertProxySignupLedgers(NutMap matterInfo, List users) { + if (matterInfo == null || Lang.isEmpty(users)) { + return 0; + } + List ledgers = users.stream() + // 已存在同事项台账时不重复插入,避免覆盖用户自主报名或历史代报名记录。 + .filter(user -> !existsMatterLedger(matterInfo.getString("matterId"), user.getString("loginName"))) + .map(user -> buildProxySignupLedger(matterInfo, user)) + .collect(Collectors.toList()); + if (Lang.isEmpty(ledgers)) { + return 0; + } + dao().insert(ledgers); + return ledgers.size(); + } + + private void checkProxySignupMaxGroupPeople(NutMap matterInfo, List users) { + if (matterInfo == null || Lang.isEmpty(users)) { + return; + } + Integer maxGroupPeople = matterInfo.getInt("maxGroupPeople"); + if (maxGroupPeople == null || maxGroupPeople <= 0) { + return; + } + String matterId = matterInfo.getString("matterId"); + List newSignupUsers = users.stream() + // 已存在同事项台账的人员不会重复代报名,也不再计入本次新增人数。 + .filter(user -> !existsMatterLedger(matterId, user.getString("loginName"))) + .collect(Collectors.toList()); + if (Lang.isEmpty(newSignupUsers)) { + return; + } + int signedPeople = countMatterSignupPeople(matterId); + int totalPeople = signedPeople + newSignupUsers.size(); + if (totalPeople > maxGroupPeople) { + throw new IllegalArgumentException("当前报名人数 " + signedPeople + " 人,本次代报名 " + + newSignupUsers.size() + " 人,最多成团人数 " + maxGroupPeople + " 人,报名后将超过人数上限,不能提交"); + } + } + + private int countMatterSignupPeople(String matterId) { + if (StrUtil.isBlank(matterId)) { + return 0; + } + Sql sql = Sqls.create(""" + SELECT IFNULL(SUM(1 + IFNULL(f.familyCount, 0)), 0) AS signupPeople + FROM thirty_teach_tour_ledger t + LEFT JOIN ( + SELECT ledgerId, COUNT(1) AS familyCount + FROM thirty_teach_tour_ledger_family + WHERE delFlag = 0 + GROUP BY ledgerId + ) f ON f.ledgerId = t.id + WHERE t.delFlag = 0 + AND t.matterId = @matterId + """); + sql.setParam("matterId", matterId); + sql.setCallback(Sqls.callback.integer()); + dao().execute(sql); + return sql.getInt(); + } + + private boolean existsMatterLedger(String matterId, String loginName) { + if (StrUtil.isBlank(matterId) || StrUtil.isBlank(loginName)) { + return false; + } + return dao().count(ThirtyTeachTourLedger.class, Cnd.where(ThirtyTeachTourLedger::getMatterId, "=", matterId) + .and(ThirtyTeachTourLedger::getJobNo, "=", loginName) + .and(ThirtyTeachTourLedger::getDelFlag, "=", false)) > 0; + } + + private NutMap fetchAssignmentUserSnapshot(ThirtyTeachTourUserAssignment assignment) { + Sql sql = Sqls.create(""" + SELECT + u.id AS userId, + u.loginname AS loginName, + u.username AS userName, + u.sex AS gender, + u.idcard AS idCard, + u.unitid AS unitId, + u.unitname AS unitName, + u.unionid AS unionId, + u.unionname AS unionName + FROM vw_user u + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.andEX("u.id", "=", assignment.getUserId()); + cnd.andEX("u.loginname", "=", assignment.getLoginName()); + sql.setCondition(cnd); + List users = listMap(sql); + if (Lang.isNotEmpty(users)) { + return users.get(0); + } + // 视图中找不到人员时使用分配表快照兜底,保证补选事项不会因非关键字段缺失中断。 + return NutMap.NEW() + .addv("userId", assignment.getUserId()) + .addv("loginName", assignment.getLoginName()) + .addv("userName", assignment.getUserName()) + .addv("gender", assignment.getGender()) + .addv("idCard", "") + .addv("unitId", assignment.getUnitId()) + .addv("unitName", assignment.getUnitName()) + .addv("unionId", assignment.getUnionId()) + .addv("unionName", assignment.getUnionName()); + } + + private ThirtyTeachTourLedger buildProxySignupLedger(NutMap matterInfo, NutMap user) { + ThirtyTeachTourLedger ledger = new ThirtyTeachTourLedger(); + ledger.setYear(matterInfo.getInt("year")); + ledger.setJobNo(user.getString("loginName")); + ledger.setUserName(user.getString("userName")); + ledger.setGender(user.getString("gender")); + ledger.setIdCard(user.getString("idCard")); + ledger.setUnitId(user.getString("unitId")); + ledger.setUnitName(user.getString("unitName")); + ledger.setUnionId(user.getString("unionId")); + ledger.setUnionName(user.getString("unionName")); + ledger.setSignupTime(DateUtil.now()); + ledger.setMatterId(matterInfo.getString("matterId")); + ledger.setLineId(matterInfo.getString("lineId")); + ledger.setLineName(matterInfo.getString("lineName")); + ledger.setLineType(matterInfo.getString("lineType")); + ledger.setTravelAgencyId(matterInfo.getString("travelAgencyId")); + ledger.setTravelAgencyName(matterInfo.getString("travelAgencyName")); + ledger.setBoardingPlace(matterInfo.getString("defaultBoardingPlace")); + ledger.setHasFamily(false); + ledger.setJoined(false); + ledger.setReimbursed(false); + ledger.setOverCostReimbursed(false); + return ledger; + } + + private NutMap branchTypeSwitchResult(String personType, NutMap quotaInfo) { + return NutMap.NEW() + .addv("personType", personType) + .addv("formalRemaining", defaultInt(quotaInfo.getInt("formalRemaining"))) + .addv("backupRemaining", defaultInt(quotaInfo.getInt("backupRemaining"))); + } + + private void appendAssignmentOrder(Cnd cnd, PageForm pageForm) { + String orderName = pageForm == null ? "" : pageForm.getPageOrderName(); + String orderBy = pageForm != null && "ascending".equals(pageForm.getPageOrderBy()) ? "asc" : "desc"; + if ("year".equals(orderName)) { + cnd.orderBy("s.`year`", orderBy); + } else if ("settingName".equals(orderName)) { + cnd.orderBy("s.configName", orderBy); + } else if ("matterName".equals(orderName)) { + cnd.orderBy("a.matterName", orderBy); + } else if ("unionName".equals(orderName)) { + cnd.orderBy("a.unionName", orderBy); + } else if ("userName".equals(orderName)) { + cnd.orderBy("a.userName", orderBy); + } else if ("lineName".equals(orderName)) { + cnd.orderBy("a.lineName", orderBy); + } else if ("personType".equals(orderName)) { + cnd.orderBy("a.personType", orderBy); + } else if ("assignSource".equals(orderName)) { + cnd.orderBy("a.assignSource", orderBy); + } else if ("assignedAt".equals(orderName)) { + cnd.orderBy("a.assignedAt", orderBy); + } + cnd.desc("a.assignedAt"); + cnd.desc("a.createdAt"); + } + + private String normalizePersonType(String personType) { + if (ThirtyTeachTourUserAssignment.PERSON_TYPE_BACKUP.equals(personType)) { + return ThirtyTeachTourUserAssignment.PERSON_TYPE_BACKUP; + } + return ThirtyTeachTourUserAssignment.PERSON_TYPE_FORMAL; + } + + private List normalizeUserIds(List userIds) { + if (Lang.isEmpty(userIds)) { + return Collections.emptyList(); + } + return userIds.stream() + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + } + + private Pagination emptyPagination(PageForm pageForm) { + int pageNumber = pageForm == null || pageForm.getPageNumber() == null ? 1 : pageForm.getPageNumber(); + int pageSize = pageForm == null || pageForm.getPageSize() == null ? 10 : pageForm.getPageSize(); + return new Pagination<>(pageNumber, pageSize, 0, Collections.emptyList()); + } + + private NutMap emptyQuotaInfo() { + return NutMap.NEW() + .addv("formalQuota", 0) + .addv("backupQuota", 0) + .addv("formalUsed", 0) + .addv("backupUsed", 0) + .addv("formalRemaining", 0) + .addv("backupRemaining", 0); + } + + private String remainingQuotaKey(String personType) { + return ThirtyTeachTourUserAssignment.PERSON_TYPE_BACKUP.equals(personType) ? "backupRemaining" : "formalRemaining"; + } + + private int defaultInt(Integer value) { + return value == null || value < 0 ? 0 : value; + } + + private Integer calculateAge(String idCard, String birthday) { + LocalDate birthDate = null; + try { + if (StrUtil.isNotBlank(idCard) && idCard.trim().length() >= 14) { + String normalizedIdCard = idCard.trim(); + birthDate = LocalDate.parse(normalizedIdCard.substring(6, 14), DateTimeFormatter.ofPattern("yyyyMMdd")); + } else if (StrUtil.isNotBlank(birthday) && birthday.length() >= 10) { + birthDate = LocalDate.parse(birthday.substring(0, 10), DateTimeFormatter.ofPattern("yyyy-MM-dd")); + } + } catch (Exception e) { + birthDate = null; + } + if (birthDate == null) { + return null; + } + LocalDate today = LocalDate.now(); + int age = today.getYear() - birthDate.getYear(); + if (today.getMonthValue() < birthDate.getMonthValue() + || (today.getMonthValue() == birthDate.getMonthValue() && today.getDayOfMonth() < birthDate.getDayOfMonth())) { + age--; + } + return Math.max(age, 0); + } + + private boolean isValidIdCard(String idCard) { + return StrUtil.isNotBlank(idCard) + && idCard.matches("^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dX]$"); + } +} diff --git a/src/main/resources/db/thirtyTeachTour/init_thirty_teach_tour_h5_menu.sql b/src/main/resources/db/thirtyTeachTour/init_thirty_teach_tour_h5_menu.sql new file mode 100644 index 00000000..be873ad6 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/init_thirty_teach_tour_h5_menu.sql @@ -0,0 +1,39 @@ +-- 30年教龄疗休养移动端菜单。 +-- H5 菜单挂载在 30年教龄疗休养根菜单下,权限统一使用 h5.thirtyTeachTour.*,避免与 PC 端权限混用。 +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a9a8c4f3d3bh5a10001', p.id, CONCAT(p.path, '0101'), '30年教龄疗休养报名', 'Thirty Teach Tour Signup H5', 'menu', '/platform/thirtyTeachTour/signup/h5', 'data-pjax', '', 1, 0, 'h5.thirtyTeachTour.signup', NULL, 101, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'H5', NULL, NULL, 's', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'h5.thirtyTeachTour.signup') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a9a8c4f3d3bh5a10002', p.id, CONCAT(p.path, '0102'), '我的30年教龄疗休养', 'My Thirty Teach Tour H5', 'menu', '/platform/thirtyTeachTour/mysignup/h5', 'data-pjax', '', 1, 0, 'h5.thirtyTeachTour.mysignup', NULL, 102, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'H5', NULL, NULL, 'w', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'h5.thirtyTeachTour.mysignup') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a9a8c4f3d3bh5a10003', p.id, CONCAT(p.path, '0103'), '分工会审核', 'Union Approval H5', 'menu', '/platform/thirtyTeachTour/unionApproval/h5', 'data-pjax', '', 1, 0, 'h5.thirtyTeachTour.unionApproval', NULL, 103, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'H5', NULL, NULL, 'f', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'h5.thirtyTeachTour.unionApproval') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a9a8c4f3d3bh5a10004', p.id, CONCAT(p.path, '0104'), '校工会审核', 'School Union Approval H5', 'menu', '/platform/thirtyTeachTour/schoolUnionApproval/h5', 'data-pjax', '', 1, 0, 'h5.thirtyTeachTour.schoolUnionApproval', NULL, 104, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'H5', NULL, NULL, 'x', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'h5.thirtyTeachTour.schoolUnionApproval') t); + +-- 默认授权给超级管理员,便于初始化后直接在移动端验证新模块菜单。 +INSERT INTO sys_role_menu (roleId, menuId) +SELECT r.id, m.id +FROM sys_role r +JOIN sys_menu m ON m.permission IN ( + 'h5.thirtyTeachTour.signup', + 'h5.thirtyTeachTour.mysignup', + 'h5.thirtyTeachTour.unionApproval', + 'h5.thirtyTeachTour.schoolUnionApproval' +) +LEFT JOIN sys_role_menu rm ON rm.roleId = r.id AND rm.menuId = m.id +WHERE r.code = 'SYSADMIN' + AND rm.roleId IS NULL; diff --git a/src/main/resources/db/thirtyTeachTour/init_thirty_teach_tour_menu.sql b/src/main/resources/db/thirtyTeachTour/init_thirty_teach_tour_menu.sql new file mode 100644 index 00000000..304ea42f --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/init_thirty_teach_tour_menu.sql @@ -0,0 +1,170 @@ +-- 30年教龄疗休养平台电脑端菜单。 +-- 使用 permission 做幂等判断,避免同一环境重复执行时插入重复菜单。 +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT + 'a8c4f3d3bb1a10001', + '', + LPAD(IFNULL(MAX(CAST(path AS UNSIGNED)), 0) + 1, 4, '0'), + '30年教龄疗休养', + 'ThirtyTeachTour', + 'menu', + '', + '', + 'ti-map-alt', + 1, + 0, + 'thirtyTeachTour', + NULL, + 991, + 1, + '', + UNIX_TIMESTAMP(NOW()) * 1000, + '', + UNIX_TIMESTAMP(NOW()) * 1000, + 0, + 'PC', + NULL, + NULL, + 'p', + 0, + 0 +FROM sys_menu +WHERE (parentId = '' OR parentId IS NULL) + AND CHAR_LENGTH(path) = 4 +HAVING NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10002', p.id, CONCAT(p.path, '0001'), '疗休养设置', 'ThirtyTeachTour Setting', 'menu', '/platform/thirtyTeachTour/setting', 'data-pjax', '', 1, 0, 'thirtyTeachTour.setting', NULL, 1, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'l', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.setting') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10003', p.id, CONCAT(p.path, '0002'), '旅行社管理', 'Travel Agency', 'menu', '/platform/thirtyTeachTour/travelAgency', 'data-pjax', '', 1, 0, 'thirtyTeachTour.travelAgency', NULL, 2, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'l', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.travelAgency') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10004', p.id, CONCAT(p.path, '0003'), '线路管理', 'Route Manage', 'menu', '/platform/thirtyTeachTour/route', 'data-pjax', '', 1, 0, 'thirtyTeachTour.route', NULL, 3, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'x', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.route') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10005', p.id, CONCAT(p.path, '0004'), '疗休养事项', 'ThirtyTeachTour Matter', 'menu', '/platform/thirtyTeachTour/matter', 'data-pjax', '', 1, 0, 'thirtyTeachTour.matter', NULL, 4, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'l', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.matter') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10006', p.id, CONCAT(p.path, '0005'), '疗休养报名', 'ThirtyTeachTour Signup', 'menu', '/platform/thirtyTeachTour/signup', 'data-pjax', '', 1, 0, 'thirtyTeachTour.signup', NULL, 5, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'l', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.signup') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10008', p.id, CONCAT(p.path, '0006'), '我的报名', 'My Signup', 'menu', '/platform/thirtyTeachTour/mysignup', 'data-pjax', '', 1, 0, 'thirtyTeachTour.mysignup', NULL, 6, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'w', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.mysignup') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10009', p.id, CONCAT(p.path, '0007'), '分工会查询', 'Union Ledger', 'menu', '/platform/thirtyTeachTour/unionledger', 'data-pjax', '', 1, 0, 'thirtyTeachTour.unionledger', NULL, 7, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'f', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.unionledger') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10011', p.id, CONCAT(p.path, '0010'), '分工会审核', 'Union Approval', 'menu', '/platform/thirtyTeachTour/unionApproval', 'data-pjax', '', 1, 0, 'thirtyTeachTour.unionApproval', NULL, 8, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'f', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.unionApproval') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10012', p.id, CONCAT(p.path, '0011'), '校工会审核', 'School Union Approval', 'menu', '/platform/thirtyTeachTour/schoolUnionApproval', 'data-pjax', '', 1, 0, 'thirtyTeachTour.schoolUnionApproval', NULL, 9, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'x', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.schoolUnionApproval') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10007', p.id, CONCAT(p.path, '0008'), '疗休养台账', 'ThirtyTeachTour Ledger', 'menu', '/platform/thirtyTeachTour/ledger', 'data-pjax', '', 1, 0, 'thirtyTeachTour.ledger', NULL, 10, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'l', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.ledger') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10010', p.id, CONCAT(p.path, '0009'), '线路成团', 'ThirtyTeachTour Group', 'menu', '/platform/thirtyTeachTour/group', 'data-pjax', '', 1, 0, 'thirtyTeachTour.group', NULL, 11, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'x', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.group') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10013', p.id, CONCAT(p.path, '0012'), '分工会人员分配', 'Branch User Assignment', 'menu', '/platform/thirtyTeachTour/branchUserAssignment', 'data-pjax', '', 1, 0, 'thirtyTeachTour.branchUserAssignment', NULL, 12, 1, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'f', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.branchUserAssignment') t); + +-- 分工会人员分配按钮级权限,页面按钮展示和后端接口权限保持一致。 +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10101', p.id, CONCAT(p.path, '0001'), '人员分配', 'Assign', 'data', '', '', '', 0, 0, 'thirtyTeachTour.branchUserAssignment.assign', NULL, 1, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'r', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour.branchUserAssignment' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.branchUserAssignment.assign') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10102', p.id, CONCAT(p.path, '0002'), '选择路线', 'Select Matter', 'data', '', '', '', 0, 0, 'thirtyTeachTour.branchUserAssignment.selectMatter', NULL, 2, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'x', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour.branchUserAssignment' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.branchUserAssignment.selectMatter') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10103', p.id, CONCAT(p.path, '0003'), '切换人员类型', 'Switch Person Type', 'data', '', '', '', 0, 0, 'thirtyTeachTour.branchUserAssignment.switchPersonType', NULL, 3, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'q', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour.branchUserAssignment' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.branchUserAssignment.switchPersonType') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10104', p.id, CONCAT(p.path, '0004'), '取消退出', 'Cancel Restore', 'data', '', '', '', 0, 0, 'thirtyTeachTour.branchUserAssignment.cancelRestore', NULL, 4, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'q', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour.branchUserAssignment' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.branchUserAssignment.cancelRestore') t); + +INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService) +SELECT 'a8c4f3d3bb1a10105', p.id, CONCAT(p.path, '0005'), '删除', 'Delete', 'data', '', '', '', 0, 0, 'thirtyTeachTour.branchUserAssignment.delete', NULL, 5, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 's', 0, 0 +FROM sys_menu p +WHERE p.permission = 'thirtyTeachTour.branchUserAssignment' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'thirtyTeachTour.branchUserAssignment.delete') t); + +UPDATE sys_menu p +JOIN (SELECT DISTINCT parentId FROM sys_menu WHERE type = 'data' AND delFlag = 0) c ON c.parentId = p.id +SET p.hasChildren = 1 +WHERE p.permission = 'thirtyTeachTour.branchUserAssignment'; + +-- 给系统管理员默认授权,其他角色可在角色管理中按需分配。 +INSERT INTO sys_role_menu (roleId, menuId) +SELECT r.id, m.id +FROM sys_role r +JOIN sys_menu m ON m.permission IN ( + 'thirtyTeachTour', + 'thirtyTeachTour.setting', + 'thirtyTeachTour.travelAgency', + 'thirtyTeachTour.route', + 'thirtyTeachTour.matter', + 'thirtyTeachTour.signup', + 'thirtyTeachTour.group', + 'thirtyTeachTour.mysignup', + 'thirtyTeachTour.unionledger', + 'thirtyTeachTour.unionApproval', + 'thirtyTeachTour.schoolUnionApproval', + 'thirtyTeachTour.ledger', + 'thirtyTeachTour.branchUserAssignment', + 'thirtyTeachTour.branchUserAssignment.assign', + 'thirtyTeachTour.branchUserAssignment.selectMatter', + 'thirtyTeachTour.branchUserAssignment.switchPersonType', + 'thirtyTeachTour.branchUserAssignment.cancelRestore', + 'thirtyTeachTour.branchUserAssignment.delete' +) +LEFT JOIN sys_role_menu rm ON rm.roleId = r.id AND rm.menuId = m.id +WHERE r.code = 'SYSADMIN' + AND rm.roleId IS NULL; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_boarding_place_fields.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_boarding_place_fields.sql new file mode 100644 index 00000000..bd91b7e4 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_boarding_place_fields.sql @@ -0,0 +1,13 @@ +-- 疗休养乘车地点字段升级脚本。 +-- 配置表保存乘车地点列表 JSON;事项、人员分配、台账保存最终/默认乘车地点。 +ALTER TABLE `thirty_teach_tour_setting` + MODIFY COLUMN `boardingPlace` text COMMENT '乘车地点列表JSON'; + +ALTER TABLE `thirty_teach_tour_matter` + ADD COLUMN `defaultBoardingPlace` varchar(100) DEFAULT NULL COMMENT '默认乘车地点' AFTER `lineId`; + +ALTER TABLE `thirty_teach_tour_user_assignment` + ADD COLUMN `boardingPlace` varchar(100) DEFAULT NULL COMMENT '乘车地点' AFTER `lineName`; + +ALTER TABLE `thirty_teach_tour_ledger` + ADD COLUMN `boardingPlace` varchar(100) DEFAULT NULL COMMENT '乘车地点' AFTER `travelAgencyName`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_dict_init.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_dict_init.sql new file mode 100644 index 00000000..7dde6176 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_dict_init.sql @@ -0,0 +1,253 @@ +-- 普惠疗休养系统字典初始化。 +-- 执行后可在 /platform/sys/dict 页面看到:疗休养(ThirtyTeachTour) -> 组织形式/疗休养类型/线路类型/床型。 + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict001', '', '9500', '疗休养', '普惠疗休养平台字典', 'ThirtyTeachTour', 0, 9500, 1, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'ThirtyTeachTour') t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict002', p.id, CONCAT(p.path, '0001'), '组织形式', '疗休养组织形式', 'organizationType', 0, 1, 1, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'ThirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'organizationType' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict003', p.id, CONCAT(p.path, '0001'), '校工会组织', '疗休养组织形式', 'schoolUnion', 0, 1, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'organizationType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'schoolUnion' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict004', p.id, CONCAT(p.path, '0002'), '分工会组织', '疗休养组织形式', 'branchUnion', 0, 2, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'organizationType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'branchUnion' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict005', p.id, CONCAT(p.path, '0003'), '个人组织', '疗休养组织形式', 'personal', 0, 3, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'organizationType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'personal' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict006', p.id, CONCAT(p.path, '0002'), '疗休养类型', '疗休养类型', 'tourType', 0, 2, 1, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'ThirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'tourType' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict007', p.id, CONCAT(p.path, '0001'), '普惠性疗休养', '疗休养类型', 'inclusiveThirtyTeachTour', 0, 1, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'tourType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'inclusiveThirtyTeachTour' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict008', p.id, CONCAT(p.path, '0002'), '优秀职工疗休养', '疗休养类型', 'excellentWorkerThirtyTeachTour', 0, 2, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'tourType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'excellentWorkerThirtyTeachTour' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict009', p.id, CONCAT(p.path, '0003'), '线路类型', '线路类型', 'lineType', 0, 3, 1, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'ThirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'lineType' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict010', p.id, CONCAT(p.path, '0001'), '省内线路', '线路类型', 'inProvinceLine', 0, 1, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'lineType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'inProvinceLine' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict011', p.id, CONCAT(p.path, '0002'), '省外线路', '线路类型', 'outProvinceLine', 0, 2, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'lineType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'outProvinceLine' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict020', p.id, CONCAT(p.path, '0004'), '床型', '床型', 'bedType', 0, 4, 1, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'ThirtyTeachTour' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'bedType' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict021', p.id, CONCAT(p.path, '0001'), '双人床', '床型', 'doubleBed', 0, 1, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'bedType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'doubleBed' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict022', p.id, CONCAT(p.path, '0002'), '单人床', '床型', 'singleBed', 0, 2, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'bedType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'singleBed' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict023', p.id, CONCAT(p.path, '0003'), '大床', '床型', 'kingBed', 0, 3, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'bedType' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'kingBed' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict012', '', '9600', '亲属关系', '亲属关系', 'familyRelationship', 0, 9600, 1, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'familyRelationship') t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict013', p.id, CONCAT(p.path, '0001'), '直系亲属', '亲属关系', 'directRelative', 0, 1, 1, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'familyRelationship' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'directRelative' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict014', p.id, CONCAT(p.path, '0001'), '父亲', '直系亲属', 'father', 0, 1, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'directRelative' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'father' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict015', p.id, CONCAT(p.path, '0002'), '母亲', '直系亲属', 'mother', 0, 2, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'directRelative' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'mother' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict016', p.id, CONCAT(p.path, '0003'), '丈夫', '直系亲属', 'husband', 0, 3, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'directRelative' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'husband' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict017', p.id, CONCAT(p.path, '0004'), '妻子', '直系亲属', 'wife', 0, 4, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'directRelative' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'wife' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict018', p.id, CONCAT(p.path, '0005'), '儿子', '直系亲属', 'son', 0, 5, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'directRelative' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'son' AND `parentId` = p.id) t); + +INSERT INTO `sys_dict` ( + `id`, `parentId`, `path`, `name`, `remark`, `code`, `disabled`, `location`, `hasChildren`, + `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag` +) +SELECT + 'c30a63f0c73a44a9a8c4f3d3bdict019', p.id, CONCAT(p.path, '0006'), '女儿', '直系亲属', 'daughter', 0, 6, 0, + '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0 +FROM `sys_dict` p +WHERE p.`code` = 'directRelative' + AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM `sys_dict` WHERE `code` = 'daughter' AND `parentId` = p.id) t); + +UPDATE `sys_dict` SET `hasChildren` = 1 WHERE `code` IN ('ThirtyTeachTour', 'organizationType', 'tourType', 'lineType', 'bedType', 'familyRelationship', 'directRelative'); diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_leave_apply_create.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_leave_apply_create.sql new file mode 100644 index 00000000..2677db24 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_leave_apply_create.sql @@ -0,0 +1,29 @@ +-- 疗休养退出申请表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_leave_apply` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `matterId` varchar(32) DEFAULT NULL COMMENT '疗休养事项ID', + `lineId` varchar(32) DEFAULT NULL COMMENT '线路ID', + `jobNo` varchar(50) DEFAULT NULL COMMENT '工号', + `userName` varchar(100) DEFAULT NULL COMMENT '姓名', + `userId` varchar(32) DEFAULT NULL COMMENT '用户ID', + `unionId` varchar(32) DEFAULT NULL COMMENT '所属工会ID', + `unionName` varchar(100) DEFAULT NULL COMMENT '所属工会', + `reason` text COMMENT '不能参加原因', + `status` varchar(30) DEFAULT NULL COMMENT '状态', + `auditBy` varchar(32) DEFAULT NULL COMMENT '审核人ID', + `auditName` varchar(100) DEFAULT NULL COMMENT '审核人姓名', + `auditTime` varchar(30) DEFAULT NULL COMMENT '审核时间', + `auditRemark` text COMMENT '审核备注', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_leave_apply_user` (`userId`), + KEY `idx_thirty_teach_tour_leave_apply_job_no` (`jobNo`), + KEY `idx_thirty_teach_tour_leave_apply_union` (`unionId`), + KEY `idx_thirty_teach_tour_leave_apply_status` (`status`), + KEY `idx_thirty_teach_tour_leave_apply_matter` (`matterId`), + KEY `idx_thirty_teach_tour_leave_apply_line` (`lineId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疗休养退出申请'; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_age.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_age.sql new file mode 100644 index 00000000..8a14f789 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_age.sql @@ -0,0 +1,3 @@ +-- Add signup ledger age field for mobile confirmation snapshot. +ALTER TABLE `thirty_teach_tour_ledger` + ADD COLUMN `age` int DEFAULT NULL COMMENT '年龄' AFTER `gender`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_matter.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_matter.sql new file mode 100644 index 00000000..503647d6 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_matter.sql @@ -0,0 +1,7 @@ +-- Add matter reference so signup records are unique per travel period/matter. +ALTER TABLE `thirty_teach_tour_ledger` + ADD COLUMN `matterId` varchar(32) DEFAULT NULL COMMENT '报名事项ID' AFTER `signupTime`; + +ALTER TABLE `thirty_teach_tour_ledger` + ADD KEY `idx_thirty_teach_tour_ledger_matter` (`matterId`), + ADD KEY `idx_thirty_teach_tour_ledger_matter_job` (`matterId`, `jobNo`); diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_mobile.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_mobile.sql new file mode 100644 index 00000000..9d40c0c4 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_mobile.sql @@ -0,0 +1,3 @@ +-- Add signup ledger mobile field; signup mobile is stored with the ledger and does not update user profile data. +ALTER TABLE `thirty_teach_tour_ledger` + ADD COLUMN `mobile` varchar(30) DEFAULT NULL COMMENT '手机号' AFTER `idCard`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_over_cost_reimbursed.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_over_cost_reimbursed.sql new file mode 100644 index 00000000..af9396ba --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_over_cost_reimbursed.sql @@ -0,0 +1,2 @@ +ALTER TABLE `thirty_teach_tour_ledger` + ADD COLUMN `overCostReimbursed` tinyint(1) DEFAULT 0 COMMENT '报销超出费用' AFTER `reimbursed`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_query_indexes.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_query_indexes.sql new file mode 100644 index 00000000..992d4532 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_add_query_indexes.sql @@ -0,0 +1,9 @@ +-- 疗休养台账查询加速索引。 +ALTER TABLE `thirty_teach_tour_ledger` + ADD KEY `idx_thirty_teach_tour_ledger_year_signup` (`year`, `delFlag`, `signupTime`), + ADD KEY `idx_thirty_teach_tour_ledger_year_line` (`year`, `lineId`, `delFlag`), + ADD KEY `idx_thirty_teach_tour_ledger_year_union_type` (`year`, `unionId`, `lineType`, `delFlag`), + ADD KEY `idx_thirty_teach_tour_ledger_year_job` (`year`, `jobNo`, `delFlag`); + +ALTER TABLE `wf_process_instance` + ADD KEY `idx_wf_process_instance_business_state` (`businessNo`, `state`); diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_create.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_create.sql new file mode 100644 index 00000000..39a98baf --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_create.sql @@ -0,0 +1,44 @@ +-- 30年教龄疗休养教职工报名台账表。 +-- 本表对应 ThirtyTeachTourLedger 模型,用于保存最终报名成功后的教职工报名快照。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_ledger` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `year` int DEFAULT NULL COMMENT '年度', + `jobNo` varchar(50) DEFAULT NULL COMMENT '工号', + `userName` varchar(100) DEFAULT NULL COMMENT '姓名', + `gender` varchar(20) DEFAULT NULL COMMENT '性别', + `age` int DEFAULT NULL COMMENT '年龄', + `idCard` varchar(30) DEFAULT NULL COMMENT '身份证号', + `mobile` varchar(30) DEFAULT NULL COMMENT '手机号', + `unitId` varchar(32) DEFAULT NULL COMMENT '所在单位ID', + `unitName` varchar(100) DEFAULT NULL COMMENT '所在单位', + `unionId` varchar(32) DEFAULT NULL COMMENT '所在工会ID', + `unionName` varchar(100) DEFAULT NULL COMMENT '所在工会', + `signupTime` varchar(30) DEFAULT NULL COMMENT '报名时间', + `matterId` varchar(32) DEFAULT NULL COMMENT '报名事项ID', + `lineId` varchar(32) DEFAULT NULL COMMENT '报名线路ID', + `lineName` varchar(100) DEFAULT NULL COMMENT '报名线路', + `lineType` varchar(50) DEFAULT NULL COMMENT '线路类型', + `hotelName` varchar(100) DEFAULT NULL COMMENT '报名酒店', + `travelAgencyId` varchar(32) DEFAULT NULL COMMENT '旅行社ID', + `travelAgencyName` varchar(100) DEFAULT NULL COMMENT '旅行社', + `boardingPlace` varchar(100) DEFAULT NULL COMMENT '乘车地点', + `hasFamily` tinyint(1) DEFAULT 0 COMMENT '是否携带家属', + `intendedRoommate` varchar(100) DEFAULT NULL COMMENT '意向拼床人', + `bedType` varchar(50) DEFAULT NULL COMMENT '床型', + `bedInfo` varchar(100) DEFAULT NULL COMMENT '床位信息', + `joined` tinyint(1) DEFAULT 0 COMMENT '是否参加', + `reimbursed` tinyint(1) DEFAULT 0 COMMENT '是否报销', + `overCostReimbursed` tinyint(1) DEFAULT 0 COMMENT '报销超出费用', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_ledger_year_signup` (`year`, `delFlag`, `signupTime`), + KEY `idx_thirty_teach_tour_ledger_year_line` (`year`, `lineId`, `delFlag`), + KEY `idx_thirty_teach_tour_ledger_year_union_type` (`year`, `unionId`, `lineType`, `delFlag`), + KEY `idx_thirty_teach_tour_ledger_year_job` (`year`, `jobNo`, `delFlag`), + KEY `idx_thirty_teach_tour_ledger_matter` (`matterId`), + KEY `idx_thirty_teach_tour_ledger_matter_job` (`matterId`, `jobNo`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='30年教龄疗休养台账'; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_direct_relative_create.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_direct_relative_create.sql new file mode 100644 index 00000000..1645af8f --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_direct_relative_create.sql @@ -0,0 +1,21 @@ +-- 直系亲属线路报名信息表,独立于普通携带亲属信息表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_ledger_direct_relative` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `ledgerId` varchar(32) DEFAULT NULL COMMENT '台账ID', + `relativeName` varchar(100) DEFAULT NULL COMMENT '亲属姓名', + `unitName` varchar(100) DEFAULT NULL COMMENT '所在单位', + `relationshipCode` varchar(50) DEFAULT NULL COMMENT '亲属关系编码', + `relationshipName` varchar(50) DEFAULT NULL COMMENT '亲属关系', + `lineId` varchar(32) DEFAULT NULL COMMENT '线路ID', + `lineName` varchar(100) DEFAULT NULL COMMENT '线路名称', + `travelStartTime` varchar(20) DEFAULT NULL COMMENT '出行开始日期', + `travelEndTime` varchar(20) DEFAULT NULL COMMENT '出行结束日期', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_ledger_direct_relative_ledger` (`ledgerId`), + KEY `idx_thirty_teach_tour_ledger_direct_relative_line` (`lineId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养直系亲属线路报名信息'; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_family_create.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_family_create.sql new file mode 100644 index 00000000..91b3bb25 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_ledger_family_create.sql @@ -0,0 +1,25 @@ +-- 30年教龄疗休养台账家属信息表。 +-- 本表对应 ThirtyTeachTourLedgerFamily 模型,用于保存报名台账关联的随行家属快照。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_ledger_family` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `ledgerId` varchar(32) DEFAULT NULL COMMENT '台账ID', + `staffJobNo` varchar(50) DEFAULT NULL COMMENT '教职工工号', + `staffName` varchar(100) DEFAULT NULL COMMENT '教职工姓名', + `familyName` varchar(100) DEFAULT NULL COMMENT '家属姓名', + `gender` varchar(20) DEFAULT NULL COMMENT '性别', + `idCard` varchar(30) DEFAULT NULL COMMENT '身份证号码', + `age` int DEFAULT NULL COMMENT '年龄', + `bedType` varchar(50) DEFAULT NULL COMMENT '床型', + `bedInfo` varchar(100) DEFAULT NULL COMMENT '床位', + `intendedRoommate` varchar(100) DEFAULT NULL COMMENT '意向拼床人', + `relationship` varchar(50) DEFAULT NULL COMMENT '关系', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_ledger_family_ledger` (`ledgerId`), + KEY `idx_thirty_teach_tour_ledger_family_staff` (`staffJobNo`), + KEY `idx_thirty_teach_tour_ledger_family_id_card` (`idCard`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='30年教龄疗休养台账家属信息'; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_creator_unit.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_creator_unit.sql new file mode 100644 index 00000000..94a31079 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_creator_unit.sql @@ -0,0 +1,10 @@ +-- 线路管理增加创建人和所在单位业务字段。 +ALTER TABLE `thirty_teach_tour_line` + ADD COLUMN `creatorUserId` varchar(32) DEFAULT NULL COMMENT '创建人ID' AFTER `travelAgencyId`, + ADD COLUMN `creatorName` varchar(100) DEFAULT NULL COMMENT '创建人' AFTER `creatorUserId`, + ADD COLUMN `unitId` varchar(32) DEFAULT NULL COMMENT '所在单位ID' AFTER `creatorName`, + ADD COLUMN `unitName` varchar(100) DEFAULT NULL COMMENT '所在单位' AFTER `unitId`; + +ALTER TABLE `thirty_teach_tour_line` + ADD KEY `idx_thirty_teach_tour_line_creator` (`creatorUserId`), + ADD KEY `idx_thirty_teach_tour_line_unit` (`unitId`); diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_direct_family_unit_line.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_direct_family_unit_line.sql new file mode 100644 index 00000000..54020492 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_direct_family_unit_line.sql @@ -0,0 +1,3 @@ +-- 线路管理增加是否直系亲属线路字段,默认否。 +ALTER TABLE `thirty_teach_tour_line` + ADD COLUMN `directFamilyUnitLine` tinyint(1) DEFAULT 0 COMMENT '是否直系亲属线路' AFTER `openFlag`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_open_flag.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_open_flag.sql new file mode 100644 index 00000000..cf590405 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_line_add_open_flag.sql @@ -0,0 +1,3 @@ +-- 线路管理增加是否对外开放字段,默认是。 +ALTER TABLE `thirty_teach_tour_line` + ADD COLUMN `openFlag` tinyint(1) DEFAULT 1 COMMENT '是否对外开放' AFTER `mobileThumb`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_add_creator.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_add_creator.sql new file mode 100644 index 00000000..e9b69df2 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_add_creator.sql @@ -0,0 +1,7 @@ +-- 疗休养事项增加创建人字段。 +ALTER TABLE `thirty_teach_tour_matter` + ADD COLUMN `creatorUserId` varchar(32) DEFAULT NULL COMMENT '创建人ID' AFTER `settingId`, + ADD COLUMN `creatorName` varchar(100) DEFAULT NULL COMMENT '创建人' AFTER `creatorUserId`; + +ALTER TABLE `thirty_teach_tour_matter` + ADD KEY `idx_thirty_teach_tour_matter_creator` (`creatorUserId`); diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_batch_create.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_batch_create.sql new file mode 100644 index 00000000..10f2dccd --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_batch_create.sql @@ -0,0 +1,26 @@ +-- 疗休养事项批次表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_matter_batch` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `matterId` varchar(32) DEFAULT NULL COMMENT '事项ID', + `lineId` varchar(32) DEFAULT NULL COMMENT '线路ID', + `batchName` varchar(100) DEFAULT NULL COMMENT '批次名称', + `signupStartTime` varchar(20) DEFAULT NULL COMMENT '报名开始时间', + `signupEndTime` varchar(20) DEFAULT NULL COMMENT '报名结束时间', + `travelStartTime` varchar(20) DEFAULT NULL COMMENT '出行开始时间', + `travelEndTime` varchar(20) DEFAULT NULL COMMENT '出行结束时间', + `changeDeadline` varchar(20) DEFAULT NULL COMMENT '变更截止时间', + `contactName` varchar(30) DEFAULT NULL COMMENT '联系人', + `contactPhone` varchar(30) DEFAULT NULL COMMENT '联系方式', + `minGroupPeople` int DEFAULT NULL COMMENT '最少成团人数', + `maxGroupPeople` int DEFAULT NULL COMMENT '最多成团人数', + `estimatedCost` decimal(10,2) DEFAULT NULL COMMENT '预计费用', + `enabled` tinyint(1) DEFAULT 1 COMMENT '状态', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_matter_batch_matter` (`matterId`), + KEY `idx_thirty_teach_tour_matter_batch_line` (`lineId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养事项批次'; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_create.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_create.sql new file mode 100644 index 00000000..92bd3a54 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_matter_create.sql @@ -0,0 +1,37 @@ +-- 疗休养事项表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_matter` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `year` int DEFAULT NULL COMMENT '年度', + `matterName` varchar(100) DEFAULT NULL COMMENT '事项名称', + `settingId` varchar(32) DEFAULT NULL COMMENT '疗休养配置ID', + `creatorUserId` varchar(32) DEFAULT NULL COMMENT '创建人ID', + `creatorName` varchar(100) DEFAULT NULL COMMENT '创建人', + `unionId` varchar(32) DEFAULT NULL COMMENT '所属工会ID', + `organizationType` varchar(100) DEFAULT NULL COMMENT '组织形式', + `mobileThumb` varchar(500) DEFAULT NULL COMMENT '移动端缩略图', + `lineId` varchar(32) DEFAULT NULL COMMENT '线路ID', + `defaultBoardingPlace` varchar(100) DEFAULT NULL COMMENT '默认乘车地点', + `signupStartTime` varchar(20) DEFAULT NULL COMMENT '报名开始时间', + `signupEndTime` varchar(20) DEFAULT NULL COMMENT '报名结束时间', + `travelStartTime` varchar(20) DEFAULT NULL COMMENT '出行开始时间', + `travelEndTime` varchar(20) DEFAULT NULL COMMENT '出行结束时间', + `contactName` varchar(30) DEFAULT NULL COMMENT '联系人', + `contactPhone` varchar(30) DEFAULT NULL COMMENT '联系方式', + `minGroupPeople` int DEFAULT NULL COMMENT '最少成团人数', + `maxGroupPeople` int DEFAULT NULL COMMENT '最多成团人数', + `estimatedCost` decimal(10,2) DEFAULT NULL COMMENT '预计费用', + `enabled` tinyint(1) DEFAULT 1 COMMENT '事项状态', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_thirty_teach_tour_matter_year_name` (`year`, `matterName`), + KEY `idx_thirty_teach_tour_matter_year` (`year`), + KEY `idx_thirty_teach_tour_matter_creator` (`creatorUserId`), + KEY `idx_thirty_teach_tour_matter_setting` (`settingId`), + KEY `idx_thirty_teach_tour_matter_union` (`unionId`), + KEY `idx_thirty_teach_tour_matter_org_type` (`organizationType`), + KEY `idx_thirty_teach_tour_matter_line` (`lineId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养事项'; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_activity_group.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_activity_group.sql new file mode 100644 index 00000000..52a26b52 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_activity_group.sql @@ -0,0 +1,6 @@ +-- Add activity user scope reference for tour settings. +ALTER TABLE `thirty_teach_tour_setting` + ADD COLUMN `activityGroupId` varchar(32) DEFAULT NULL COMMENT '可参加人员范围ID' AFTER `tourType`; + +ALTER TABLE `thirty_teach_tour_setting` + ADD KEY `idx_thirty_teach_tour_setting_activity_group` (`activityGroupId`); diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_boarding_place_quota.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_boarding_place_quota.sql new file mode 100644 index 00000000..5bd27cd0 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_boarding_place_quota.sql @@ -0,0 +1,4 @@ +-- 疗休养配置新增乘车地点、出行人数指标。 +ALTER TABLE `thirty_teach_tour_setting` + ADD COLUMN `boardingPlace` text COMMENT '乘车地点列表JSON' AFTER `tourType`, + ADD COLUMN `travelPeopleQuota` int DEFAULT 0 COMMENT '出行人数指标' AFTER `boardingPlace`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_allowed_times.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_allowed_times.sql new file mode 100644 index 00000000..2c774be3 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_allowed_times.sql @@ -0,0 +1,3 @@ +-- 疗休养配置增加周期允许次数字段。 +ALTER TABLE `thirty_teach_tour_setting` + ADD COLUMN `cycleAllowedTimes` int DEFAULT NULL COMMENT '周期允许次数' AFTER `cycleTotalCost`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_total_cost.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_total_cost.sql new file mode 100644 index 00000000..c13cf9d5 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_total_cost.sql @@ -0,0 +1,2 @@ +ALTER TABLE `thirty_teach_tour_setting` + ADD COLUMN `cycleTotalCost` int DEFAULT NULL COMMENT '周期内总费用' AFTER `cycleEndYear`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_year.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_year.sql new file mode 100644 index 00000000..1901390f --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_cycle_year.sql @@ -0,0 +1,4 @@ +-- Add optional cycle year range for tour settings. +ALTER TABLE `thirty_teach_tour_setting` + ADD COLUMN `cycleStartYear` int DEFAULT NULL COMMENT '周期开始年度' AFTER `outProvinceRatio`, + ADD COLUMN `cycleEndYear` int DEFAULT NULL COMMENT '周期结束年度' AFTER `cycleStartYear`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_fill_bed_info.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_fill_bed_info.sql new file mode 100644 index 00000000..0c14f549 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_fill_bed_info.sql @@ -0,0 +1,3 @@ +-- 疗休养配置增加是否填报床位信息字段,默认开启以兼容历史配置。 +ALTER TABLE `thirty_teach_tour_setting` + ADD COLUMN `fillBedInfo` tinyint(1) DEFAULT 1 COMMENT '是否填报床位信息' AFTER `allowFamily`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_home_signup_entry.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_home_signup_entry.sql new file mode 100644 index 00000000..4b4ccae3 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_home_signup_entry.sql @@ -0,0 +1,4 @@ +-- 疗休养配置增加PC首页报名浮动入口控制字段。 +ALTER TABLE `thirty_teach_tour_setting` + ADD COLUMN `homeSignupEntryEnabled` tinyint(1) DEFAULT 0 COMMENT '是否展示PC首页报名入口' AFTER `enabled`, + ADD COLUMN `homeSignupEntryImage` varchar(500) DEFAULT NULL COMMENT 'PC首页报名入口图片' AFTER `homeSignupEntryEnabled`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_out_province_ratio_type.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_out_province_ratio_type.sql new file mode 100644 index 00000000..e527e24f --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_out_province_ratio_type.sql @@ -0,0 +1,3 @@ +ALTER TABLE `thirty_teach_tour_setting` + ADD COLUMN `outProvinceRatioType` varchar(50) DEFAULT '当年报名人数' COMMENT '省外人数占比类型' AFTER `outProvinceRatio`, + ADD COLUMN `outProvinceFixedPeople` int DEFAULT 0 COMMENT '省外固定人数' AFTER `outProvinceRatioType`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_signup_eligibility_mode.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_signup_eligibility_mode.sql new file mode 100644 index 00000000..c4c6871e --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_add_signup_eligibility_mode.sql @@ -0,0 +1,2 @@ +ALTER TABLE `thirty_teach_tour_setting` + ADD COLUMN `signupEligibilityMode` varchar(30) DEFAULT 'ASSIGNED_USER' COMMENT '报名资格校验方式' AFTER `activityGroupId`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_create.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_create.sql new file mode 100644 index 00000000..3f549e5f --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_create.sql @@ -0,0 +1,261 @@ +-- 普惠疗休养基础配置表。 +-- 若生产环境未开启 Nutz 自动建表,请先执行本脚本再使用“疗休养设置”菜单。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_setting` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `year` int DEFAULT NULL COMMENT '年度', + `configName` varchar(100) DEFAULT NULL COMMENT '疗休养配置名称', + `tourType` varchar(50) DEFAULT NULL COMMENT '疗休养类型', + `boardingPlace` text COMMENT '乘车地点列表JSON', + `travelPeopleQuota` int DEFAULT 0 COMMENT '出行人数指标', + `activityGroupId` varchar(32) DEFAULT NULL COMMENT '可参加人员范围ID', + `signupEligibilityMode` varchar(30) DEFAULT 'ASSIGNED_USER' COMMENT '报名资格校验方式', + `sortNo` int DEFAULT NULL COMMENT '排序编号', + `minGroupPeople` int DEFAULT NULL COMMENT '最少成团人数', + `maxGroupPeople` int DEFAULT NULL COMMENT '最多成团人数', + `outProvinceYears` int DEFAULT NULL COMMENT '省外几年去一次', + `outProvinceRatio` decimal(10,2) DEFAULT NULL COMMENT '省外人数占比', + `outProvinceRatioType` varchar(50) DEFAULT '当年报名人数' COMMENT '省外人数占比类型', + `outProvinceFixedPeople` int DEFAULT 0 COMMENT '省外固定人数', + `cycleStartYear` int DEFAULT NULL COMMENT '周期开始年度', + `cycleEndYear` int DEFAULT NULL COMMENT '周期结束年度', + `cycleTotalCost` int DEFAULT NULL COMMENT '周期内总费用', + `cycleAllowedTimes` int DEFAULT NULL COMMENT '周期允许次数', + `allowFamily` tinyint(1) DEFAULT 0 COMMENT '是否允许携带家属', + `fillBedInfo` tinyint(1) DEFAULT 1 COMMENT '是否填报床位信息', + `enabled` tinyint(1) DEFAULT 1 COMMENT '是否启用', + `homeSignupEntryEnabled` tinyint(1) DEFAULT 0 COMMENT '是否展示PC首页报名入口', + `homeSignupEntryImage` varchar(500) DEFAULT NULL COMMENT 'PC首页报名入口图片', + `serviceNotice` text COMMENT '服务须知', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_setting_year` (`year`), + KEY `idx_thirty_teach_tour_setting_activity_group` (`activityGroupId`), + KEY `idx_thirty_teach_tour_setting_sort` (`sortNo`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养配置'; + +-- 疗休养配置标段表。 +-- 标段先挂在配置上维护,后续线路、旅行社、报名等模块可继续通过 lotId 做业务关联。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_setting_lot` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `settingId` varchar(32) DEFAULT NULL COMMENT '所属配置ID', + `lotName` varchar(50) DEFAULT NULL COMMENT '标段名称', + `lotValue` varchar(50) DEFAULT NULL COMMENT '标段值', + `activityCost` int DEFAULT NULL COMMENT '标段费用', + `allowOverReimbursement` tinyint(1) DEFAULT 0 COMMENT '允许超出报销', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_setting_lot_setting` (`settingId`), + KEY `idx_thirty_teach_tour_setting_lot_value` (`lotValue`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养配置标段'; + +-- 疗休养配置分工会名额分配表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_setting_union_quota` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `settingId` varchar(32) DEFAULT NULL COMMENT '所属疗休养配置ID', + `unionId` varchar(32) DEFAULT NULL COMMENT '分工会ID', + `unionName` varchar(100) DEFAULT NULL COMMENT '分工会名称', + `formalQuota` int DEFAULT 0 COMMENT '正式人员名额', + `backupQuota` int DEFAULT 0 COMMENT '替补人员名额', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_setting_union_quota_setting` (`settingId`), + KEY `idx_thirty_teach_tour_setting_union_quota_union` (`unionId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疗休养配置分工会名额分配'; + +-- 疗休养人员分配表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_user_assignment` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `settingId` varchar(32) DEFAULT NULL COMMENT '疗休养配置ID', + `matterId` varchar(32) DEFAULT NULL COMMENT '疗休养事项ID', + `matterName` varchar(100) DEFAULT NULL COMMENT '疗休养事项名称', + `travelAgencyId` varchar(32) DEFAULT NULL COMMENT '旅行社ID', + `travelAgencyName` varchar(100) DEFAULT NULL COMMENT '旅行社名称', + `lineId` varchar(32) DEFAULT NULL COMMENT '线路ID', + `lineName` varchar(100) DEFAULT NULL COMMENT '线路名称', + `boardingPlace` varchar(100) DEFAULT NULL COMMENT '乘车地点', + `userId` varchar(32) DEFAULT NULL COMMENT '人员ID', + `loginName` varchar(50) DEFAULT NULL COMMENT '工号', + `userName` varchar(100) DEFAULT NULL COMMENT '姓名', + `gender` varchar(20) DEFAULT NULL COMMENT '性别', + `age` int DEFAULT NULL COMMENT '年龄', + `idCard` varchar(30) DEFAULT NULL COMMENT '身份证号', + `mobile` varchar(30) DEFAULT NULL COMMENT '手机号', + `unitId` varchar(32) DEFAULT NULL COMMENT '所在单位ID', + `unitName` varchar(100) DEFAULT NULL COMMENT '所在单位', + `unionId` varchar(32) DEFAULT NULL COMMENT '所在分工会ID', + `unionName` varchar(100) DEFAULT NULL COMMENT '所在分工会', + `assignSource` varchar(30) DEFAULT NULL COMMENT '分配来源', + `personType` varchar(30) DEFAULT NULL COMMENT '人员类型', + `cancelled` tinyint(1) DEFAULT 0 COMMENT '是否已退出', + `assignedBy` varchar(32) DEFAULT NULL COMMENT '分配人ID', + `assignedName` varchar(100) DEFAULT NULL COMMENT '分配人姓名', + `assignedAt` varchar(30) DEFAULT NULL COMMENT '分配时间', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_thirty_teach_tour_user_assignment_setting_user` (`settingId`, `userId`), + KEY `idx_thirty_teach_tour_user_assignment_setting` (`settingId`), + KEY `idx_thirty_teach_tour_user_assignment_user` (`userId`), + KEY `idx_thirty_teach_tour_user_assignment_union` (`unionId`), + KEY `idx_thirty_teach_tour_user_assignment_source` (`assignSource`), + KEY `idx_thirty_teach_tour_user_assignment_person_type` (`personType`), + KEY `idx_thirty_teach_tour_user_assignment_cancelled` (`cancelled`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疗休养人员分配'; + +-- 旅行社管理表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_travel_agency` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `year` int DEFAULT NULL COMMENT '年度', + `agencyCode` varchar(50) DEFAULT NULL COMMENT '旅行社编号', + `agencyName` varchar(100) DEFAULT NULL COMMENT '旅行社名称', + `contactName` varchar(30) DEFAULT NULL COMMENT '联系人', + `contactPhone` varchar(30) DEFAULT NULL COMMENT '联系人手机', + `email` varchar(100) DEFAULT NULL COMMENT '邮箱', + `remark` text COMMENT '备注', + `mobileThumb` varchar(500) DEFAULT NULL COMMENT '移动端缩略图', + `enabled` tinyint(1) DEFAULT 1 COMMENT '激活状态', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_thirty_teach_tour_travel_agency_year_code` (`year`, `agencyCode`), + KEY `idx_thirty_teach_tour_travel_agency_name` (`agencyName`), + KEY `idx_thirty_teach_tour_travel_agency_contact` (`contactName`, `contactPhone`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养旅行社'; + +-- 线路管理表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_line` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `year` int DEFAULT NULL COMMENT '创建年度', + `lineCode` varchar(50) DEFAULT NULL COMMENT '线路编号', + `lineName` varchar(100) DEFAULT NULL COMMENT '线路名称', + `travelAgencyId` varchar(32) DEFAULT NULL COMMENT '旅行社ID', + `creatorUserId` varchar(32) DEFAULT NULL COMMENT '创建人ID', + `creatorName` varchar(100) DEFAULT NULL COMMENT '创建人', + `unitId` varchar(32) DEFAULT NULL COMMENT '所在单位ID', + `unitName` varchar(100) DEFAULT NULL COMMENT '所在单位', + `lineType` varchar(50) DEFAULT NULL COMMENT '线路类型', + `lotId` varchar(32) DEFAULT NULL COMMENT '时间标段ID', + `lineContent` text COMMENT '线路内容', + `mobileThumb` varchar(500) DEFAULT NULL COMMENT '移动端缩略图', + `openFlag` tinyint(1) DEFAULT 1 COMMENT '是否对外开放', + `directFamilyUnitLine` tinyint(1) DEFAULT 0 COMMENT '是否直系亲属线路', + `enabled` tinyint(1) DEFAULT 1 COMMENT '激活状态', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_thirty_teach_tour_line_year_code` (`year`, `lineCode`), + KEY `idx_thirty_teach_tour_line_year` (`year`), + KEY `idx_thirty_teach_tour_line_name` (`lineName`), + KEY `idx_thirty_teach_tour_line_agency` (`travelAgencyId`), + KEY `idx_thirty_teach_tour_line_creator` (`creatorUserId`), + KEY `idx_thirty_teach_tour_line_unit` (`unitId`), + KEY `idx_thirty_teach_tour_line_lot` (`lotId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养线路'; + +-- 疗休养事项表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_matter` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `year` int DEFAULT NULL COMMENT '年度', + `matterName` varchar(100) DEFAULT NULL COMMENT '事项名称', + `settingId` varchar(32) DEFAULT NULL COMMENT '疗休养配置ID', + `creatorUserId` varchar(32) DEFAULT NULL COMMENT '创建人ID', + `creatorName` varchar(100) DEFAULT NULL COMMENT '创建人', + `unionId` varchar(32) DEFAULT NULL COMMENT '所属工会ID', + `organizationType` varchar(100) DEFAULT NULL COMMENT '组织形式', + `mobileThumb` varchar(500) DEFAULT NULL COMMENT '移动端缩略图', + `lineId` varchar(32) DEFAULT NULL COMMENT '线路ID', + `defaultBoardingPlace` varchar(100) DEFAULT NULL COMMENT '默认乘车地点', + `signupStartTime` varchar(20) DEFAULT NULL COMMENT '报名开始时间', + `signupEndTime` varchar(20) DEFAULT NULL COMMENT '报名结束时间', + `travelStartTime` varchar(20) DEFAULT NULL COMMENT '出行开始时间', + `travelEndTime` varchar(20) DEFAULT NULL COMMENT '出行结束时间', + `contactName` varchar(30) DEFAULT NULL COMMENT '联系人', + `contactPhone` varchar(30) DEFAULT NULL COMMENT '联系方式', + `minGroupPeople` int DEFAULT NULL COMMENT '最少成团人数', + `maxGroupPeople` int DEFAULT NULL COMMENT '最多成团人数', + `estimatedCost` decimal(10,2) DEFAULT NULL COMMENT '预计费用', + `enabled` tinyint(1) DEFAULT 1 COMMENT '事项状态', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_thirty_teach_tour_matter_year_name` (`year`, `matterName`), + KEY `idx_thirty_teach_tour_matter_year` (`year`), + KEY `idx_thirty_teach_tour_matter_creator` (`creatorUserId`), + KEY `idx_thirty_teach_tour_matter_setting` (`settingId`), + KEY `idx_thirty_teach_tour_matter_union` (`unionId`), + KEY `idx_thirty_teach_tour_matter_org_type` (`organizationType`), + KEY `idx_thirty_teach_tour_matter_line` (`lineId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养事项'; + +-- 疗休养事项批次表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_matter_batch` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `matterId` varchar(32) DEFAULT NULL COMMENT '事项ID', + `lineId` varchar(32) DEFAULT NULL COMMENT '线路ID', + `batchName` varchar(100) DEFAULT NULL COMMENT '批次名称', + `signupStartTime` varchar(20) DEFAULT NULL COMMENT '报名开始时间', + `signupEndTime` varchar(20) DEFAULT NULL COMMENT '报名结束时间', + `travelStartTime` varchar(20) DEFAULT NULL COMMENT '出行开始时间', + `travelEndTime` varchar(20) DEFAULT NULL COMMENT '出行结束时间', + `changeDeadline` varchar(20) DEFAULT NULL COMMENT '变更截止时间', + `contactName` varchar(30) DEFAULT NULL COMMENT '联系人', + `contactPhone` varchar(30) DEFAULT NULL COMMENT '联系方式', + `minGroupPeople` int DEFAULT NULL COMMENT '最少成团人数', + `maxGroupPeople` int DEFAULT NULL COMMENT '最多成团人数', + `estimatedCost` decimal(10,2) DEFAULT NULL COMMENT '预计费用', + `enabled` tinyint(1) DEFAULT 1 COMMENT '状态', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_matter_batch_matter` (`matterId`), + KEY `idx_thirty_teach_tour_matter_batch_line` (`lineId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养事项批次'; + +-- 直系亲属线路报名信息表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_ledger_direct_relative` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `ledgerId` varchar(32) DEFAULT NULL COMMENT '台账ID', + `relativeName` varchar(100) DEFAULT NULL COMMENT '亲属姓名', + `unitName` varchar(100) DEFAULT NULL COMMENT '所在单位', + `relationshipCode` varchar(50) DEFAULT NULL COMMENT '亲属关系编码', + `relationshipName` varchar(50) DEFAULT NULL COMMENT '亲属关系', + `lineId` varchar(32) DEFAULT NULL COMMENT '线路ID', + `lineName` varchar(100) DEFAULT NULL COMMENT '线路名称', + `travelStartTime` varchar(20) DEFAULT NULL COMMENT '出行开始日期', + `travelEndTime` varchar(20) DEFAULT NULL COMMENT '出行结束日期', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_ledger_direct_relative_ledger` (`ledgerId`), + KEY `idx_thirty_teach_tour_ledger_direct_relative_line` (`lineId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='普惠疗休养直系亲属线路报名信息'; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_lot_add_allow_over_reimbursement.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_lot_add_allow_over_reimbursement.sql new file mode 100644 index 00000000..5e21afef --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_lot_add_allow_over_reimbursement.sql @@ -0,0 +1,2 @@ +ALTER TABLE `thirty_teach_tour_setting_lot` + ADD COLUMN `allowOverReimbursement` tinyint(1) DEFAULT 0 COMMENT '允许超出报销' AFTER `activityCost`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_union_quota_create.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_union_quota_create.sql new file mode 100644 index 00000000..9ec95d05 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_setting_union_quota_create.sql @@ -0,0 +1,17 @@ +-- 疗休养配置分工会名额分配表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_setting_union_quota` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `settingId` varchar(32) DEFAULT NULL COMMENT '所属疗休养配置ID', + `unionId` varchar(32) DEFAULT NULL COMMENT '分工会ID', + `unionName` varchar(100) DEFAULT NULL COMMENT '分工会名称', + `formalQuota` int DEFAULT 0 COMMENT '正式人员名额', + `backupQuota` int DEFAULT 0 COMMENT '替补人员名额', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + KEY `idx_thirty_teach_tour_setting_union_quota_setting` (`settingId`), + KEY `idx_thirty_teach_tour_setting_union_quota_union` (`unionId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疗休养配置分工会名额分配'; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_add_cancelled.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_add_cancelled.sql new file mode 100644 index 00000000..f0ab1598 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_add_cancelled.sql @@ -0,0 +1,4 @@ +-- 疗休养人员分配新增退出状态。 +ALTER TABLE `thirty_teach_tour_user_assignment` + ADD COLUMN `cancelled` tinyint(1) DEFAULT 0 COMMENT '是否已退出' AFTER `personType`, + ADD KEY `idx_thirty_teach_tour_user_assignment_cancelled` (`cancelled`); diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_add_confirm_info.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_add_confirm_info.sql new file mode 100644 index 00000000..87cf722c --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_add_confirm_info.sql @@ -0,0 +1,4 @@ +-- Add mobile H5 signup confirmation fields to tour user assignment. +ALTER TABLE `thirty_teach_tour_user_assignment` + ADD COLUMN `age` int DEFAULT NULL COMMENT '年龄' AFTER `gender`, + ADD COLUMN `idCard` varchar(30) DEFAULT NULL COMMENT '身份证号' AFTER `age`; diff --git a/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_create.sql b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_create.sql new file mode 100644 index 00000000..10462d28 --- /dev/null +++ b/src/main/resources/db/thirtyTeachTour/thirty_teach_tour_user_assignment_create.sql @@ -0,0 +1,42 @@ +-- 疗休养人员分配表。 +CREATE TABLE IF NOT EXISTS `thirty_teach_tour_user_assignment` ( + `id` varchar(32) NOT NULL COMMENT 'ID', + `settingId` varchar(32) DEFAULT NULL COMMENT '疗休养配置ID', + `matterId` varchar(32) DEFAULT NULL COMMENT '疗休养事项ID', + `matterName` varchar(100) DEFAULT NULL COMMENT '疗休养事项名称', + `travelAgencyId` varchar(32) DEFAULT NULL COMMENT '旅行社ID', + `travelAgencyName` varchar(100) DEFAULT NULL COMMENT '旅行社名称', + `lineId` varchar(32) DEFAULT NULL COMMENT '线路ID', + `lineName` varchar(100) DEFAULT NULL COMMENT '线路名称', + `boardingPlace` varchar(100) DEFAULT NULL COMMENT '乘车地点', + `userId` varchar(32) DEFAULT NULL COMMENT '人员ID', + `loginName` varchar(50) DEFAULT NULL COMMENT '工号', + `userName` varchar(100) DEFAULT NULL COMMENT '姓名', + `gender` varchar(20) DEFAULT NULL COMMENT '性别', + `age` int DEFAULT NULL COMMENT '年龄', + `idCard` varchar(30) DEFAULT NULL COMMENT '身份证号', + `mobile` varchar(30) DEFAULT NULL COMMENT '手机号', + `unitId` varchar(32) DEFAULT NULL COMMENT '所在单位ID', + `unitName` varchar(100) DEFAULT NULL COMMENT '所在单位', + `unionId` varchar(32) DEFAULT NULL COMMENT '所在分工会ID', + `unionName` varchar(100) DEFAULT NULL COMMENT '所在分工会', + `assignSource` varchar(30) DEFAULT NULL COMMENT '分配来源', + `personType` varchar(30) DEFAULT NULL COMMENT '人员类型', + `cancelled` tinyint(1) DEFAULT 0 COMMENT '是否已退出', + `assignedBy` varchar(32) DEFAULT NULL COMMENT '分配人ID', + `assignedName` varchar(100) DEFAULT NULL COMMENT '分配人姓名', + `assignedAt` varchar(30) DEFAULT NULL COMMENT '分配时间', + `createdBy` varchar(32) DEFAULT NULL COMMENT '创建人', + `createdAt` bigint DEFAULT NULL COMMENT '创建时间', + `updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人', + `updatedAt` bigint DEFAULT NULL COMMENT '修改时间', + `delFlag` tinyint(1) DEFAULT 0 COMMENT '删除标记', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_thirty_teach_tour_user_assignment_setting_user` (`settingId`, `userId`), + KEY `idx_thirty_teach_tour_user_assignment_setting` (`settingId`), + KEY `idx_thirty_teach_tour_user_assignment_user` (`userId`), + KEY `idx_thirty_teach_tour_user_assignment_union` (`unionId`), + KEY `idx_thirty_teach_tour_user_assignment_source` (`assignSource`), + KEY `idx_thirty_teach_tour_user_assignment_person_type` (`personType`), + KEY `idx_thirty_teach_tour_user_assignment_cancelled` (`cancelled`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疗休养人员分配'; diff --git a/src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-direct-family-icon.png b/src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-direct-family-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4c97f1fa2c81713c9639a857a6f7d4f64a6da22c GIT binary patch literal 19846 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-direct-family.jpg b/src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-direct-family.jpg new file mode 100644 index 0000000000000000000000000000000000000000..530371e66994007643a2e13ab99497a57f32bfa6 GIT binary patch literal 93735 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�r5pYJ*5?tWYBPU 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 z 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-h5-banner-2.jpg b/src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-h5-banner-2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f304104d5ee2f4499ff9792ecfecebab90b37107 GIT binary patch literal 57069 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

YcIlpMX`E_cSjTs}e2a#yn+8Xy z>dFhT-a1eN5~b3>%aR(a)+xoK&#U%R#!}&HwbYF2@18#zb=M(mcLZjWL*2!Y<)TvL z#dZy8$6}ePAE#4wdc)JL&r4 z!YC<%|3;v>G!6ajX7eu5RKqB!A1vjXxTW8E6RV(l_E6KYe=Wt1bXz@2z0aopIXSlJ`_Jch!?I zS}A-=8q@NAiEwdT$E=4J)8hG9WS?5gW)dQ1+VkMPF0~h98Uz?UX*RzSxlK>xK97R# z>n?W~LQhQQ>ZV=FM;XV_1vU$qYX4`^u5_Ph3tBf^j#pY-&S;XIvw8yChIFk@6e47C z7-B|UM4vd5(@*EbB-Xg*kQ|9Mt3(x(<3?~x^Ioy23N;p2|2QrS0UJU5e$cy6&p=0@ zRVG0_f!D<&XTp9a6${j z9nO~nkRYeui;RHmp%^vbO7<8~?*djbb^gdOx|-^bwH8AvszS+yP+pL%N#a#6Huoy? zB_u7luhb)+?@XOE&*N76ugINUp;~zL5N9ooZi?i_bO|7)kvhoIRUUcFrlnguZgj

(IU8 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 D70)Fw literal 0 HcmV?d00001 diff --git a/src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-in-province.png b/src/main/resources/static/assets/platform/images/thirtyTeachTour/tour-in-province.png new file mode 100644 index 0000000000000000000000000000000000000000..82be97923579c984ac247441be1dcec0434e538a GIT binary patch literal 7906 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

lVSb=$m&D3%0n*k#Ym=J}V1+NN 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%0DVA;IjIRveJLAD`{kye75DEv| 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 Jm{w*X90mT0E*S0n=e@15!yvuI# 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

9ojcGYSs@L-TZt%JD| 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 z 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�hf!EupvR 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

7QSfTI(Uu(L~bkqM5F>0k!eqHcmXVZ)j|&- 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

;cS95WMZ+}ed_b(F^Q@WLJA0F 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

XaydSFkD80~Zm`D_lH2~3Zr|8c7L1J| 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%0AOL9n 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 + + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/group/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/group/index.html new file mode 100644 index 00000000..d69eb8c9 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/group/index.html @@ -0,0 +1,374 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + +
报名人员列表
+ + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/leaveApply/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/leaveApply/index.html new file mode 100644 index 00000000..0e070cf8 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/leaveApply/index.html @@ -0,0 +1,192 @@ + + +
+ + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/ledger/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/ledger/index.html new file mode 100644 index 00000000..5e145c6e --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/ledger/index.html @@ -0,0 +1,686 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + +
+
+ +
+
+ 参加人员导入 + 设置参加人员 + 导出台账数据 + 导出分工会报名压缩包 +
+
+ + 参加直系亲属单位线路人员 + + + 申请超出费用由单位承担人员 + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
温馨提醒:走审核流程的报名,审核通过后才在台账中显示
+
+
+ + + + + +
+
教职工信息
+ + {{ detail.jobNo || '' }} + {{ detail.userName || '' }} + {{ detail.gender || '' }} + {{ detail.idCard || '' }} + {{ detail.unitName || '' }} + {{ detail.unionName || '' }} + +
+ +
+
+ 报名信息 + 点击查看流程图 +
+ + {{ detail.signupTime || '' }} + {{ detail.lineName || '' }} + {{ detail.lineType || '' }} + {{ detail.hotelName || '' }} + {{ detail.travelAgencyName || '' }} + {{ detail.travelPeriod || '' }} + {{ detail.bedType || '' }} + {{ detail.bedInfo || '' }} + {{ detail.intendedRoommate || '' }} + {{ familyText() }} + {{ detail.joined ? '是' : '否' }} + {{ detail.reimbursed ? '是' : '否' }} + {{ detail.overCostReimbursed ? '是' : '否' }} + +
+ +
+
直系亲属线路
+ + {{ directRelative.relativeName || '' }} + {{ directRelative.unitName || '' }} + {{ directRelative.relationshipName || '' }} + {{ directRelative.lineName || '' }} + {{ directRelative.travelStartTime || '' }} + {{ directRelative.travelEndTime || '' }} + +
+ +
+
家属信息
+ + + + + + + + + + + +
+ + + + + + + 确定 + +
+
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/matter/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/matter/index.html new file mode 100644 index 00000000..f3c47983 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/matter/index.html @@ -0,0 +1,757 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + + 新增 + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + 启用 + 禁用 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 取消 + 保存 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 取消 + 确定 + + +
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/mysignup/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/mysignup/index.html new file mode 100644 index 00000000..6a9dcd70 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/mysignup/index.html @@ -0,0 +1,1449 @@ + + +
+ + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
教职工信息
+ + {{ detail.jobNo || '' }} + {{ detail.userName || '' }} + {{ detail.gender || '' }} + {{ detail.idCard || '' }} + {{ staffAge(detail) }} + {{ detail.unitName || '' }} + {{ detail.unionName || '' }} + +
+ +
+
+ 报名信息 + 点击查看流程图 +
+ + {{ detail.signupTime || '' }} + {{ detail.lineName || '' }} + {{ detail.lineType || '' }} + {{ detail.travelAgencyName || '' }} + {{ detail.travelPeriod || '' }} + {{ detail.bedType || '' }} + {{ detail.bedInfo || '' }} + {{ detail.intendedRoommate || '' }} + {{ detailFamilyText() }} + {{ detail.joined ? '是' : '否' }} + {{ detail.reimbursed ? '是' : '否' }} + {{ detail.overCostReimbursed ? '是' : '否' }} + +
+ +
+
直系亲属线路
+ + {{ detailDirectRelative.relativeName || '' }} + {{ detailDirectRelative.unitName || '' }} + {{ detailDirectRelative.relationshipName || '' }} + {{ detailDirectRelative.lineName || '' }} + {{ detailDirectRelative.travelStartTime || '' }} + {{ detailDirectRelative.travelEndTime || '' }} + +
+ +
+
家属信息
+ + + + + + + + + + + +
+ + + + + + + 确定 + +
+ + + +
教职工信息
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
报名信息
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
直系亲属线路
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
亲属信息
+
+ 增加一条 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + 返回 + 取消报名 + 提交 + +
+ + +
+
+
{{ exportType === "directRelative" ? "直系亲属疗休养申请书预览" : "费用承担申请书预览" }}
+
+ 下载PDF + 打印 + 关闭 +
+
+
+
+

5天外超出部分疗休养费用由单位承担申请书

+
学校工会:
+

+ 本人为{{ exportForm.unionName }}{{ exportForm.userName }},拟参加{{ exportForm.unionName }}于 + {{ exportForm.travelStartYear }}{{ exportForm.travelStartMonth }}{{ exportForm.travelStartDay }}日至{{ exportForm.travelEndYear }}{{ exportForm.travelEndMonth }}{{ exportForm.travelEndDay }}日组织的{{ exportForm.lineName }}线路疗休养,预计总时长{{ exportForm.totalDays }}天(含在途时间)、总费用预计{{ exportForm.estimatedCost }}元,本人申请5天以外(不含5天)超出部分费用由学校承担。 +

+

特此申请,请批准。

+ +
+
申请人:{{ exportForm.userName }}
+
时间:{{ formatDate(exportForm.applyDate) }}
+
+
+
分工会主席签字:{{ exportForm.unionAuditorName }}
+
时间:{{ formatDate(exportForm.unionAuditDate) }}
+
+
+
学校工会:盖章
+
时间:{{ formatDate(exportForm.schoolUnionAuditDate) }}
+
+
+
+

本人随同参加直系亲属单位疗休养活动暨疗休养费用由我校按规定标准给予报销申请书

+
学校工会:
+

+ 我本人是{{ directRelativeExportForm.unionName }}{{ directRelativeExportForm.userName }},我申请随同参加本人直系亲属(亲属关系为{{ directRelativeExportForm.relationshipName }})姓名{{ directRelativeExportForm.relativeName }}所在单位{{ directRelativeExportForm.relativeUnitName }}于 + {{ directRelativeExportForm.travelStartYear }}{{ directRelativeExportForm.travelStartMonth }}{{ directRelativeExportForm.travelStartDay }}日至{{ directRelativeExportForm.travelEndYear }}{{ directRelativeExportForm.travelEndMonth }}{{ directRelativeExportForm.travelEndDay }}日期间所开展的{{ directRelativeExportForm.lineName }}线路疗休养活动;同时,申请本人此次疗休养费用由我校按规定标准给予报销。 +

+

特此申请,请批准。

+ +
+
申请人签名:{{ directRelativeExportForm.userName }}
+
时间:{{ formatDate(directRelativeExportForm.applyDate) }}
+
+
+
分工会主席签字(盖章):{{ directRelativeExportForm.unionAuditorName }}
+
时间:{{ formatDate(directRelativeExportForm.unionAuditDate) }}
+
+
+
学校工会:盖章
+
时间:{{ formatDate(directRelativeExportForm.schoolUnionAuditDate) }}
+
+
+
直系亲属所在单位工会:盖章
+
时间:{{ formatDate(directRelativeExportForm.relativeUnitAuditDate) }}
+
+
+
+
+
+ +
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/placeholder/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/placeholder/index.html new file mode 100644 index 00000000..69a541ec --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/placeholder/index.html @@ -0,0 +1,23 @@ + + +
+ + + + + +
+ + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/route/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/route/index.html new file mode 100644 index 00000000..9fae71f2 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/route/index.html @@ -0,0 +1,432 @@ + + +
+ + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + + 新增 + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 启用 + 禁用 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
支持jpg、jpeg、png格式,大小不超过20MB。
+
+
+ + 取消 + 保存 + +
+
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUnionApproval/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUnionApproval/index.html new file mode 100644 index 00000000..177c7c95 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUnionApproval/index.html @@ -0,0 +1,546 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + 已审核 + 未审核 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUserAssignment/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUserAssignment/index.html new file mode 100644 index 00000000..dd329c73 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/schoolUserAssignment/index.html @@ -0,0 +1,928 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + + 人员分配 + + 发送提醒 + 导出 + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + 取消 + 发送 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + 查询 + 重置 + 已选 {{ selectedCandidates.length }} 人 +
+ + + + + + + + + + + + + + + + + + + 取消 + 保存分配 + +
+ + + + + + + + + + + + + + 取消 + 保存 + + +
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/setting/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/setting/index.html new file mode 100644 index 00000000..b0b2cc55 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/setting/index.html @@ -0,0 +1,1158 @@ + + +
+ + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + + 新建 + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ 延用上一年信息 +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + 设置 +
+
+
+ + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+
+ 乘车地点 + 新增 +
+ + + + + + + + + +
+
+
+
+ +
+
+ 增加一条 +
+ + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+ 出行人数指标 + {{ travelPeopleQuota }} +
+
+ 校工会正式分配数量 + {{ quotaOverview.schoolFormalAssignedCount }} +
+
+ 分工会总名额 + {{ branchTotalQuota }} +
+
+ 分工会总会员数 + {{ branchTotalMemberCount }} +
+ + + 按比例分配 +
+ + + + + + + + + + + +
+
+ + + + + +
+
+ + 取消 + 确认 + +
+ + +
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/signup/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/signup/index.html new file mode 100644 index 00000000..81f8bc11 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/signup/index.html @@ -0,0 +1,1193 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + +
+ +
+
+ +
+
可选择指定出行时间,快速查看对应路线
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 返回 + 取消报名 + 提交 + + + + +
+ + + {{ lineDetail.year || '' }} + {{ lineDetail.lineCode || '' }} + {{ lineDetail.lineName || '' }} + {{ lineDetail.lotName || '' }} + {{ lineDetail.lineType || '' }} + {{ isDirectFamilyLine(lineDetail) ? '是' : '否' }} + {{ lineDetail.travelAgencyName || '' }} + {{ lineDetail.creatorName || '' }} + {{ lineDetail.unitName || '' }} + {{ lineDetail.openFlag ? '是' : '否' }} + {{ lineDetail.enabled ? '启用' : '禁用' }} + + + +
+
+ +
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/travelAgency/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/travelAgency/index.html new file mode 100644 index 00000000..9be5d19f --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/travelAgency/index.html @@ -0,0 +1,335 @@ + + +
+ + + + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + + 新增 + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + 启用 + 禁用 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
支持jpg、jpeg、png格式,大小不超过20MB。
+
+
+ + 取消 + 保存 + +
+
+ + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/unionApproval/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/unionApproval/index.html new file mode 100644 index 00000000..1c880162 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/unionApproval/index.html @@ -0,0 +1,546 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + + + + 已审核 + 未审核 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/unionledger/index.html b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/unionledger/index.html new file mode 100644 index 00000000..5739cf6b --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/unionledger/index.html @@ -0,0 +1,609 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 搜索 + 重置 +
+
+
+ + +
+
+ +
+
+ + 本工会参加疗休养教职工({{ summaryStats.ownUnionJoinedStaffCount || 0 }}) + + + 参加本工会组织线路人员(含其他工会及家属)({{ summaryStats.organizedLineJoinedTotalCount || 0 }}) + + + 超出费用由单位承担 + + + 导出 + +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
教职工信息
+ + {{ detail.jobNo || '' }} + {{ detail.userName || '' }} + {{ detail.gender || '' }} + {{ detail.idCard || '' }} + {{ detail.unitName || '' }} + {{ detail.unionName || '' }} + +
+ +
+
+ 报名信息 + 点击查看流程图 +
+ + {{ detail.signupTime || '' }} + {{ detail.lineName || '' }} + {{ detail.lineType || '' }} + {{ detail.hotelName || '' }} + {{ detail.travelAgencyName || '' }} + {{ detail.travelPeriod || '' }} + {{ detail.bedType || '' }} + {{ detail.bedInfo || '' }} + {{ detail.intendedRoommate || '' }} + {{ familyText() }} + {{ detail.joined ? '是' : '否' }} + {{ detail.reimbursed ? '是' : '否' }} + {{ detail.overCostReimbursed ? '是' : '否' }} + +
+ +
+
直系亲属线路
+ + {{ directRelative.relativeName || '' }} + {{ directRelative.unitName || '' }} + {{ directRelative.relationshipName || '' }} + {{ directRelative.lineName || '' }} + {{ directRelative.travelStartTime || '' }} + {{ directRelative.travelEndTime || '' }} + +
+ +
+
家属信息
+ + + + + + + + + + + +
+ + + + + + + 确定 + +
+
+ + + + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/mysignup/index.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/mysignup/index.html new file mode 100644 index 00000000..7c76ba62 --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/mysignup/index.html @@ -0,0 +1,1156 @@ + + + + +
+ + +
+
+ + + + +
+
+ +
+ +
+
{{ row.lineName || '未命名线路' }}
+
+ {{ row.year || '' }}年度 + {{ row.lineType }} + 直系亲属 + 报销超出费用 +
+
+
+ 出行时间 + {{ row.travelPeriod || '暂无' }} +
+
+ 报名时间 + {{ row.signupTime || '暂无' }} +
+
+ 携带家属 + {{ row.familyCount || 0 }}人 +
+
+ 当前节点 + {{ row.curTaskName || statusText(row) }} +
+
+
+ 查看 + 修改 + 撤回 + 退出疗休养报名 + 取消报名 + 报销申请 + 亲属线路申请 +
+
+
+ +
+ + +
+
选择年度
+
+ + + +
+
+
+ + + +
+
+
教职工信息
+ + + + + + + +
+
+
报名信息
+ + + + + + + + + + +
+
+
直系亲属线路
+ + + + + + +
+
+
家属信息
+
+
家属{{ index + 1 }}
+ + + + + + + +
+
+
+
流程记录
+ +
+
+
+ + + +
+
+
教职工信息
+ + + + + +
+ +
+
报名信息
+ + + + + + + + + + +
+ 提醒:您选择了报销超出费用,会影响到下一年度的疗休养,请认真思考。 +
+
+ +
+
直系亲属线路
+ + + + + + +
+ +
+
家属信息
+
+
+ 家属{{ index + 1 }} + 删除 +
+ + + + + + + + + + +
+ +
+
+
+ 取消报名 + 提交 +
+
+ + + + + + + + + + + + + +
+ + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/schoolUnionApproval/index.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/schoolUnionApproval/index.html new file mode 100644 index 00000000..ae82450a --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/schoolUnionApproval/index.html @@ -0,0 +1,480 @@ + + + + +
+ + + + + + + + + + + + + +
+ + + + +
+ + +
+
{{ formData.taskName || '审核' }}
+ + + + +
+ 退回 + 拒绝 + 同意 +
+
+
+ +
+ + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/apply.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/apply.html new file mode 100644 index 00000000..7d2e1303 --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/apply.html @@ -0,0 +1,702 @@ + + + + +
+ + +
+ 加载中... + + +
+ +
+ 提交报名 +
+ + + + + + + + + + + + + + + + +
+ + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/confirm.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/confirm.html new file mode 100644 index 00000000..2e61e62e --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/confirm.html @@ -0,0 +1,234 @@ + + + + +
+ + +
+ 加载中... + +
+ + + + + + + + + + +
+ + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/entry.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/entry.html new file mode 100644 index 00000000..2d761fd2 --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/entry.html @@ -0,0 +1,42 @@ + + + + +
+ 加载中... +
+ + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/index.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/index.html new file mode 100644 index 00000000..e83db819 --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/index.html @@ -0,0 +1,347 @@ + + + + + + + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/lineInfo.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/lineInfo.html new file mode 100644 index 00000000..678cac05 --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/lineInfo.html @@ -0,0 +1,550 @@ + + + + +
+ + +
+ 加载中... + +
+ + +
+ + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/list.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/list.html new file mode 100644 index 00000000..dd50f0dd --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/list.html @@ -0,0 +1,997 @@ + + + + +
+ + +
+
+ + + + +
+
+
+ 省内线路 +
+
省内线路
+
+
+
+ 省外线路 +
+
省外线路
+
+
+
+ 直系亲属 +
+
直系亲属
+
+
+
+
+
+ +
+
可选择指定出行时间,快速查看对应线路。
+
+
+ +
+ +
+
+
+ + + + +
暂无图片
+
+
+
+
+
{{ row.lineName || '未命名线路' }}
+ {{ lineTypeBadge(row.lineType) }} + + + +
+ +
+
+ {{ row.lotName }} + {{ row.unionName }} +
+
+
出行开始时间:{{ row.travelStartTime || '暂无' }}
+
出行结束时间:{{ row.travelEndTime || '暂无' }}
+ +
+
+ + + +
+
+
+
+
+ + +
+ + +
+
选择分工会
+
+ + + +
+
+
+ +
+ + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/noAssignment.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/noAssignment.html new file mode 100644 index 00000000..329fb2ac --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/signup/noAssignment.html @@ -0,0 +1,70 @@ + + + + +
+
+
温馨提示
+
您不在本次疗休养的报名范围内,请等待下次机会!
+
+ 确定 +
+
+
+ + + + diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/unionApproval/index.html b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/unionApproval/index.html new file mode 100644 index 00000000..a518609f --- /dev/null +++ b/src/main/resources/views/platform/zhghh5/dayofficework/thirtyTeachTour/unionApproval/index.html @@ -0,0 +1,455 @@ + + + + +
+ + + + + + + + + + + + +
+ + + + +
+ + +
+
{{ formData.taskName || '审核' }}
+ + + + +
+ 退回 + 拒绝 + 同意 +
+
+
+
+ + + +

Dl@5`Ps?&`N84IbUv@@mN?ltU;u*%Spg`MM+y@aPFwVJ#lGXg(lkh#MRsxK zVf@ae;b9d)!+JXOM-i{e|3iw1*)F=I0jEB(ird#n!KR}xH#f+LCW53(f6Mo!^V==c zh}gDS(l2$+ZyV|8#=Cki4L?c1PrYR8jeB)!J74a3#S>!lf6ld~ll(Prf1-^5qI(`G zC(8Jl@i$u}u>UQ;q9>d8@66JO0QHyn@&=V|x4HQ&jVaEZk$fd}SW^|N{tN~|lvJ5` z(zf&Ytg2GZy@m~cy2dSoeEQ|{#aAzmFHWbk>7=PMQ72d-uccp;5G-GV zr7~A|*fJqhHARvG05X@2VB)q$7S;wrLbAO2DpEKzSsHd`QFL9-Stz8MLb%257dAQ;Ld6;XjLg3XkQ z({14zUjNu2Kao`>(gI!vA4?Ny{2MPY=p9z5=f^Y1WmVI9QIl-LO6;etYm}_hMk=n5 zS155J2rF|q)7Y`?iP_24$Ko5+GS!9qo)VJ>eJeq;uss{fepfMs#Hf@!&M^i!tlzK@ zKEp2i6F^plj$GNNCghP<_80>L3b0`42Y@1Hl`O=AQv%Wb!^7p(<>PWWo6e7pPbRau$#Ij(kg})YU?MYO0}5r+_c(DH>r@v7!uhI5 zH&*gcQ#o|V8V|yEMxxNfOcd^6C7eUaD-9Bnc}SEzVhmOq3Qw@jBtfl=sDN2Zq7g!* zVE{nzXf##NAfgH)5wRE=-vTbqINh>o5-Am3euVFN>JR|#_W?kW;&sM^VzVp9eu!kQ zsw62OwVj@2$Ed~hS)EAhCc6U!NB4{^nCp&ZoKaNRn;zf)C07x2M`GkgySs4x zU(>p7fB2Qp#Z&voxT{}?NA}|UUwqN8d}O$J#AE%Ng8a8eTIBpt5teo~S`J;_#-rto z232FpV%rE@2JhV(@NH}vr?!!axyXO}#FO%2M^GsYU>N++t+84u_Bntt+}P}Jc@U$i z3?Z;!mk~N2X2BjYs^!9@gP$T!LXe_Kv}ovLQaA1N{N&`~cy`pL385K{*I+>DmgPDk zqRDje=C@z}{r}>BNlf?GAAwG~b>FY0YP42TuD}gfi>j{M`FwGBcz7~DIGi6G9Uh;Y zoSq$@oXiduv&C#WomEW>=UjlD2Wpj>EeVXdf(1gS&|4c83zd>#uaN*#0$@;>OPQS! zZ!iBh0vKi)G0WIqB@K+ZrDHO4Vldjl#yh6(k^XbM>IQYTv`-_uN?EzB9Ue!D4&RuJ zv#B8TK4A~ZJ-N>}S&Wv}ww!LpgBX4IJXfRW*wFc%X3Ga1{fl8;q~U)2+=u^s1;-wjLbav;ETI1i5?nE*sHp*0VdM;}>K5bq;aIca0d|#x5we5ACMd zSewjxgDhik6s-(L^@z&Kld)MS4u;Z;#F6}(q)N1y%?}O^QeCYd9w3@3N<_Wn^=fT- z(Kr_wO%+gvil)Sgt64iqRkCV)9HEwmL^D^CCP+;t$&`pwMNO6!A%iS<9a1S)}oJKrm9X=dy*!{&zdhz4*u@9iw}Q${{8#gKYjo4yB}`e zep+4LtgdhG9wl|sD9@BypaLvQAVW<{%c6lW!(e4`#O#$WB~#A1|8T$lc)$AdyZe+b z7ZZJTRDb>I=(jHqzIbu);@SM>G(ymj^BqG|A+M+>KAfAa3<1Dg) z0Z28Q%dW*08`YT-n9L(WS;0(I;>0XHx?Zf#z(BPGc+zs>vH;31J{8YLb@p5AYbH7P zuG8Sm3MGLjBNHi9K;mcBu*1X>!pGe(7sewC@*r4=64P!Bhmh5x)8V+yCQMKqiGHNU6V5&q1j))#ogwIZ$hiGtDN<@-jaKR|3)UbCip`sX|QMd>fNI(FymFU2@ zTLGNxVbk0s%g2N+Yo9G*Bunm8R`Y3kesS>p;^6S0s*-eFPDE9eQmQD`oGK+IWtD8k z;Y6G`S>Z!fEFT{)udeRzAE(pV>B;GIKBq)kbhTWg!QsLD?BwkJ{$9JadU_WYh3Pk)Ma*z z&KX;I^*WCT+q>tGvaE+twVJtz(tqOc+%#)p3nSOny5^7&2i6$4**8qZ!QLoTpp+by zxk4BYmweL`C~&AbteCRW2Opf!TnLT&)ExRfM{ShRwNNicQV)GK{uzmEN7@2Augs?> zM1Kp*B68;)VovH>6ZgVmuv+Lsf#?7Q|FRQORXiCak*j-L@#p*1a`B*e#hHR5gGs97 zS)m>3dNc@w!;y=LnNzAr7)a(-)YNr5T`bq#H{bnuaB$enCU0K6m`$6>;`Hp3CE zxqHy8KqRgmNqa_Q{)NVYVSntxv28qMlsuLyH(TF)Yy>?u}zd*(fST;hE z#niO<%57jCpmu0^^Y(b}4n{4&Y;4%~SB!NW@sp0)*@EJG`m-~qWzzRUF{x9s1!!y{R>luq*@R^MuXXXYIy6upEkZ4 z&BU%Gu&wlpzp3mB-5t?WlF^1J=BGTsgjrKRJ3efiW-^%`9n2REPocH9(zj%#M%ddN4n<+loHvqpdE~4E9 zrgE0;919!Yj2Zldk`ho*e>eG61`g;21 z%d>y@-QkC;^}COc-@m*0?uSp`zPo?>adrFHEmsU`kfy{_)e4+Yih_Y4!tV1;E}EI| zF)2}FbuC3Y!CGYbaKE~`@Bi}Q>i_#sSLcV-v(xs)^Tq2|2d`foot;kRvx7-}G->;! zE6pqFm!!RjKr?}ep-jUxYO&i9XaI5qW>x@VHbaZwjv`wGR9rEU2>P{14y;dB&eszl zj${ja%of>X;j+uNx6>BAkHXFdv>Hs@98V1NTb4l~k3bH~LWF!-8a7LR4;Ym9QkY7X zw9lnCDxx|x6b1e&l_3mE%@nL&U(YtRYZE{g{JfzZ)i`aeG2&3sdy5+0Na6V5U%9ji z0@x5{c9$88fDQp8Hom{qHDgwC1xyNyvoPI&kc+u+wn0DyGXSPdvKWj&Cbl=tS0nbG z6p5e1oDc$6jF-R)vwquj3}DH3H{z`sBC3)_dJ)MvONQh`2}$SkbapyFK5Uyx091@r zrBtUP9#g7TUGDmvv$%vvR8e+U0&Va-_H&XPLEG#^96|eUaJIRQqsDrPfm`n z?{2O>e#n}M5{P<{oK5@US(%1#&0xh8>K}8F=Wv_xWizf5+5pR#qV5G#;E+O9%&i_A zqBj$Sfj)%(uFHM4+6$}}-M~gXYAGkZ$}A6)&&(F|Fl;Dgq7oN@p$kmrNMe|YEvUei zQ^Fk4rJfU$5UWo9jQOz@=NhM8<)ZQ$c5rx@nldf4y^aft{?F3*a^}Yss<<32q>c{&H+XU{^Vf+9t9*KQK|vP1g&ra%xyv)M-x#N&s@M> zFT@XAfx_xgTAZ9{sVv1rn#HsRi8&F-lgYAL%}e%>9ZDns7{rM^pGx zg`*a{Lp0pK@i+jW8h3ku0O3bwDhF3XmI*CQ6{?C>pPKP4n9ieBw_gYS%|^qUdI$Kd z?Rm$R4kE-z9ZkZv*rtQ-Y%|1Oqn)8wn=duRBu^5bAIuKslbX|{rb@MPeixyPF%k_c zhz)WY#kvH4msRY_=x=z-i-*UeWNp5d~ZX=KH6o4|2X~x3@xEhJ}@NS z4zm>$CB+$rFgd6(pa_{KO2pbU^}%8>nM^*Zbba5{O-dC3>*caruiLg&M?>aM#1>(j zg{PCr;o(7BSF6W}^bZdSLQ-n3ANW6gf7>thi{t)$ULQ`T(@B$L&GlMknY$GvOEv%r zVz4E~i$vWNHM$H!nlowwgIFzbnIgf;@%f44yfS1D_L;QOa+aB%NQ?0f<%Cj;7M5%# zAuyO!vV(q;k|bxFG#AQ0Cn$|39#Tt^K zSwxrwl#F6M)tDP34aFz*2!2KJ?>A=-qgx_QoD!>|?{dzefp#fdJqWZJW$6@H6_fx$MAWz!cBCx}>U03c(PuwhIr7zk$$|*rsSZSKf0Sbn9suEt z#r+0?6{u(wFC-!nP%;Q15@yjNK1Fl{VC!HfsSuHsxFAX#Vu5FjCq%}#*zMk>IEhF4 z31f0l6&JDM?>MxS3d(TC2PRUhmP|rG^1>3LqGIm%A_S>enu?B&nxlhe(x7JTvm~zS zx~i%~j9$@DVoIvH??ptpPE;l41f+Ghy1Kr;e|%^svy+q4`N1KWa~2g$=k3Yq38}7D ztI4cAJ~>`4A9Z!FM5@|#x$iwmDX3sR@u()ZBP$4EIY2|3LzJ)3q*6(kZSfKCdO0-;d%dYEE7Ee+(MnV)wW#l9?XeBr0 ztu3ItWslR59EF`Heahm`EeyOLkB&qzjP4w;LNOg|_HgU|Xlz@)7=OR}c)7ofdJLWm zO5c5W+b$JwQ8!<=A?MmRPs8l-N^D73V|Y&(1f|jUyR8N1cgZ*&84bmZe*>*sJi=v@f36Q(-W#du zppY5eGi-ywV_;vKBM+KEdX3h%2-fd%OdjtUxTzfpQIXxUU4g55wm6v0=PJ7Hy4g&a zz|8CQYPDP*EEc86v}RF|dq5_hwC!{qm5J={nM^y?cj(D1lWy+tX-CRTUg^zt5PMX|E_M##3oh z{;=U(7BNei5_ug*mt_%1Hfp)4DA+=bvqm{GhN_5=zsF2}mZ;zVXPg|RqJSz%C;dtY zO81m*E2>ZG+3Bmvn~Rgb`Re4SPmkZfz5eFMPv8Fa`t8q;mp7|r&skfNN;MHrK#eMs zD+t7GhBhvRcT!DdLJA?RiIq5K=~cS>O#kI(F?)AtxS}dAy{{kvshkaxbU9* z?9}3R2|p4kloDprFB^mcEpMH;=Ida)ivo;oSbE81Hid;rBZOob&J<6O5nF|s+58JE zwZF#pk)X{H>MBEr>i_~Lhhi@L*n${s|Bklq2wPI9Q;5i7ZekuhGlHop+(hif+F}6) zED2B|)nP*Xec~k$2_nM8oIDSH;Vc~T9C=8EHE!*MNDn3E7=Up!GD+DZ5fEplAB6@F z$jMWRP1)_O1MS37YcWQlk`a;2RFRhh^!r7XRG4y=WHznNj%G)PZB;3dEfHW{HElbk zs*;Wrq?S$I^pUBmQk|-Lz3x6;UESQ>O`6%s`I&hZ+2bd#bLo}4sMKP@EaX27mR%9>8XJ#bJ zglPMOLDXeguSGHe9OONuYqg{@hVl|8_PVO>$-pHtBv71L+D!^D^@eL0sCXEd&p;3~ zfwb6)7>M{Adj#r92qM9$22LP{1WM$(P-Zr9*m{lP=%rDF%gp#jbIc;8!US`8xu}&+ zR52xsS>^^k2swWtWn=T)@fC{Jr1lhQZ^Afd0v{mA|PF{i%YV6cmgr&{_QA!|IhCsW#&eCP+`_*#!c&q3& z_c?dhHxKs@S3mycFUKc~>2x-oOqh{HmdoX8wOl^lt@B#@%!%p>)Nxg7Q=`eZ2S@ij z?N1l!&8wp?UN*C~*KYlA|8RfTbJO>|9St(VF7eL>l-I!Cqg_Em(E0yd*OvIO{~F7c zdzyFx(*7%Z@}zLEUliK+x?jrXum|V=|Nj~R*NvqG2GMEf5iMGh;Y*;}t)B-f&4sw; zC&%cy&5xyph$C?&#|E&*lj|C<9pr@FG#a{Zt~X%xJ_%&}D*_E+M1CbJ%1BSoN zP*JG?#lhm}>}0uIt7c|y+jcUU z)>TDrJ~1?74ceIiRW}$o=2M4Vk ztQ~eVRl8S^iE6pqS8RiD3df4S3+O?aKx>DGgy|a?c-ZRuG>Zl9`g=#AapOtYor>|e zb(0Rq1043n&V#i1LB}_Yn;Pw`@oh40WNTZEUcEICdt`WOJR7@ORREp|+%>pdx;IuO z?C46phY_QWooky5>@3Y*uDWM~k8YzF0`1K9SSvg-9a=l(Imm8)`|0nF-+owr`@_vQ-(SA{aDV@Z-0Stj!`0p0a?OesG$n3; z3S7Y;b;(Nx0!XqFb5=mjWw#=3h(vfQX|d97)vvCuS3g{J|NO(%qW*Yx)I2+yyf~Y_ zIG?;Yo4$UwczHfMIhwbXlCB}0N><5PgjJXoP?26Ws!O`7Fogi9V6}rQCARW;xs%-Y zkOt}*;v(U`sZ~UfhVqwQbC1fQ82)U^T1q8$pcV7}O zV5$%ibq^AN%*PM02s&-f5ZhOs3{$RM9fx-#d1uz z!C3(zl2l_dt>?4pY&uDt1f)oyRM*X9GEb@Pm))xCYgELks_O()Rl`WD)%xn@`u^^| zttTfZr;GVKRdp8UDXO|$uI}&e7xP7xYU0#Rr;EkG{q@Hsaj&#m_si9zW^=yj1Ia&&PGOIQ${mR=~U{t5Qx|-Q$kJe9O?o~6C|QtCw&gjcESh~iHYs3 zNX%7TrR3HqcK01egT@oh0YSu_+LS0+ZWhn^r{=H&CI&H47Gs+{)-M>(RCq@LN|t<7 zJr^QFiC}J9tggLsy;`9eD*GUkji_%w6uTEQ0fG#ptzs}{s5wR{yW&d$Ps@6Ib`&c_M0)W_vTl%R z^-xu8>Vi14iEIGO8XCk%4YKZ**WKeM5q-RwT*_l=TNNabN)O1j%7^z{H}!lzsZy#d zhGdWu@}%L(te(&6wxvm<(+SOHsm82As;OPH-Qj^8HfxsU!~NaW<<0$l)g0)0)lYMu z9BNn&hY>a^h+F++(lK_yFeN}4-~e61qoUk4mL9foA4YfV|83u$C`>p$l<&DL)~^un zfBm(KJawzvBP>0(>uh!Vzq}hy{xq7~K|A2FLd9lNRx{euU}f>UpI{@|fdT{BRqgK= zMSGinN2tr@3|I#@@i)pA`^?D8ARQPw(QXWSPrpWVvn8ZGu{Jy6Tsa-eijD<`k@P}a zkRJp}p5G*_1EW1ga8W*ZRjeBvm5@7AfyPez%uU-?b-h?P<8cs2j>7C6Av6?uC(Hw7 zYq~EYBPE8J&b2M~u#5%`JV(S{onHY1O?YnlqEEK!%w$0TkeB7|v zwweROGgP{?^+wvI!0`|^)La{yD~)N{y5T7Wgk?qprt2n7zn+vEcH1j6jbDu^b`<97VUabR&z0^>U#b7xL$YDNlHXe zxxc$zuTE!mrRJNj3S!C9ck9G7pG_yzsi-WMkB^U!M$9Urq|#@AQkoE@j!r(_&+o6U zet3WTPk+AsAOGd*w{H&r_ID>=y`DWknJuP^Hub4lYu`!NsrHgHvl|)1J_EBnMs;yt z7O$ru!kR4%0Os~gW5}Y;@XSJ0d=R!y80VH6rNWHN72t3m0LY_f#WTYKP%9o0TGWB^ z)rd!3Iwb)y63B8uXuoFZHFuO&hgEZU+PpqK{F^ThfBxI^pRXV8?)%l6e)@3#&wu{; zoA0l#@9vk&MrZ<_LRxSQsw2U9vIJ{@<%2Xqf=D%++=vELD_T@jqO8&{bGKaepWdy% zdB2?e`F_#L#Yyv<7YBd%&B@na9KC$LI5}P{CaG$Kq@%oobgFBWUMYjag_<#DZp57J zbZ2H_E5Dn2>3fr2P0|i|5x^)FnyS+1+;db7U$78G;;iD>A>q<)lo_1NM6z$3i=Q&j;^j=)1X4vMf*@T*vhcw z!=r)*4{Z?%3pS~W85%sJ23u@S)EzJ~Rlt+Vt6FG@3pXYo8v7m4o^6rPI;c8wR`CVn z!h8VNsfFI3%1#7`tZpVir2v4>5!^c)q$0wcK%}mKP;tpEawH8iq5##Y63_I^s^)hM z0*NX!>MAkUUB<&>H)&^e-DEInVxlUwOikA#WOlUak8qr7S{FWC6J3#U^}_ zm7ya7^m#6nt>sQ~Q4wAk`q zgTjJj1Nb3;x~criHnV|6}mH#Uua10x)5tkERx zySIpb1@p%rySRF*!7aIHw*&tLkZ-GwKU(WdW%vB&e%4Wc#;kGBiEMV&eA0&7Ff2eEt>)*wZ|6j_+Z!i3 zv)zY?2;TZ~{M2}xY>Y8dT*q^T9G|#$lpw^j}P~Kx1P7BI%#k3@0P1xCFee` zmX8Os>Cxfwq?z=++~40lK0X2vuXzYnRY6KgfF7;zA?o!i-@m=Szr4BoPv6}9`+t7- z)vMVbzdrxno0BhJ9Gx62+KE=pD)%c{FGV}eYf?!B)oij;Szi}MJdRX}!&n3WDk|hT zbdh;DL)8M}GdLLrBxWX2Km{sR zO~E|L2El+-m6?c!rHnzq0FV$pTlDc#(6|K^XU|NQO8@4mnO>yNh| zuGiQ1-Kwi{-+)@H$jDrSl95lOXR!G(%xQmGo>~?pN=-^20nlez-}TG;`}O5A|M=C(t&JqiB30+G6DE*`KD-sU#!*Hf~J}yv7sY(ez z*Qx0X4Eoz)7WKhK9(jsE9e`Mt;1t7o7Xr}03!ML(&_*fBUli54aZnc<2&CrVM_G#5 zgrFn}ODe_|+ApdK%kl;Wn>F1}G8s;BGlx;qa9fBmD3nC}?d;SbFW4!#WWbY8@q>MY*tSW>cB?@NaQ&uY0SDqlVLgQ6geKZ znN@(4m{MI=b(=f+>D>pBEWb(5PA92uGE%Rd5L2oYNkF2SfU0ez$7;2{y}MmLF59|2 zIzE~mEUJ`@S@~OunUJNsySu%;yKR~}rHWFbl-k)`h*w#cy{>!o=82>VwNfvv$O1~l z&}=M6EgnJra3HI!X`Tkm5_vM9?)+kI^B^ntK?JKWl58!U@3ECoA*Q5Y(WI0tONauY z5y}C;;Oa28!Ybyi5>-M}RVCa|9iTY1!r~%Si`R=r&4)0%+Z)(*V@hPT1ANV4EY|+Z z$z32!fxzyX!kjGHi@d0bi=uGFg&m87RsmLf(^3sGLBpGce1=s`C1PyfVh7C2LzUf2 zfd<@#A;y}#dp1m?=maa;gN;xQwl<)V0FsF9U#NmaBD4-F#6-lVd;^){Qkhw-FfEiB z%zz3+h&+4(Duh0)gRWL1)s&1O3bbQ=oLBm{U(73carwx(nsibpu7H&4#C2+#R5$fv z-cBazV|*2G*p@8cMm-yw z3pS5lu>q|fyPw9~ImdZF<*g>J_3e5|LIKevcZW4#CAf1hl#A(`y1=$0I{wSJ!! z51yJk+WN)!4?f#&5PLCr1r9EAV*H?);oq5yTxIbKsThR(q!3G8uyL#B?W2jG`B%c8{Hmh&9zM0pb0DQ`Mj7s z^mF?@4Ryei&r*2qZZe4RZW~51`VeHW{m8Gf((ft}KTF=f=1zU$&;1jE%|-eA8~19R zusdh_4x-WH+YGBT=*GmI?>Cjr-Fu;?ecLc3JdNBk!Gku1UYNpL$oHIb83<1 zefMzn@NoC-{a=6l`JcbJ{`&Rd-~R6TAAWQ8<;#L_fuE84tMM^RgM!8t1 z2<$Q>6atY*r>$WCF@H;8_lF02n*tThonV=`ttSVwrdE~1hF_eV|MAPS4<8?Xcz64k z_YdFv<@&pyZr}fWfB*QfmWF7exnXLU8c%2-00^9Nq@xq@Z216#vZ;zVfvM75aheda zLhfa~ynK9rwfav#zB~HIcNeFVFJ2se_3HHXvxD=~+2K*UnACOMke3r*BWDc!)LQq_ zV0B$JO$9}tEq?(+4Nr$pT2aK<&SA45?$GrZkvZLmvU=DME&;hUCTKi#2IB6-wk8CG znm+X8j^HiszzQUYs%H1mhBBC;J;oB1*FiJ^Arp}zdm=zTk;PrCT|E-#O>9>hNEk3R z$k^Z@8u}B3qiUC{;Zs5wtO8IZQ6^$d1dt#xlVwH9k>A7Sj#LDhAewWf%pNLF>YfX* zVsZeyEWIU`7XU0|(u*RBHz3p%WIIj>krjbT1|%9l4g$si0#4cs0A?2DF}GFE9j8o? zETE)be~>sd$4uN*ZI#+?y}bSTcKNWXxSg~|C&vpYcm2B0nyPv>KTP$cN);tyuGanX z_UiiK;h~*O4i67!^M!E^CQgZR&gK!4#VVPqh^&@bl&YqlEf!7FQfk(j);+pjbA~2k ztj>1`4D+=Id!1J*F$li&ObTLiYyk+6F)j+~5N8@iGa3|Elme!*RAsTcA7ItuRBag| z!vjh|R{VolRju@vy1K6*pQ2Y&hUpYAoJ&M7)4KJ~D1e{P zB2yoDmzc^D7|>^iYA^l$ypq59V*2uIcE9Eos$Og2Itz2fsH>_;RYj9FH4Rr)muOjW zX6^}@kU1$Klk}{sgx*yBq@7etG zDY(9c+V+~z##YtwWPRq^>Om2cb>r)ej_pbr!L~;y@VHlY+Y|791GE#MT5Z11z4L(0 zbsC-@4I+5t=pY^6x6>yKYcmktru??`$ba^=S5B~wmAHv5k+ImNHzaK;638&+J3-J) zsvGlVZzzB3@V<@Z985dL2w}M-3LoCMeyN>4()5;r?7ZSaMlPuhBRpIUG{u%f5gd^5&7_OmkZejYJW8GPp1 zUB$r`S(R_bTMGN=mNtLdo`$m3pVo%%@7}Ira_jG>8_}JccX!-2g=}uDji&Yz)2N5K zdH;4-KflDI9%A40?!Cr6qF`~uD>gPU#-L~D`FKl~y||%Yc#3`^kZ`z9wqK1n;BP3H6Y!GRLGt`q62RHu~s`+R+K4Z@q(ub-WrA>;1)X1QLSoIU%)*Iz$7 zKLg?6@$u&7X4S0$jXG*-4$>kP9Lu1Z(u7zPHPV#wLhyL6cRyUNuJ7*t`gZjn|M}-X zetG!YSI^$OIzBsTCe1KMgsgW{HHXV0-wT*FA=2CGcTqGUBk zQe|zGCQ1#E6bVAA(16939MNP3k0B>gf+jBm#>@gy9Ehx!-SYC&@`tPLpa1&dcz$(u z)IL9JU!6@}oL67IS-g2Zn>3KMRZs^jfh0p2q)bA>Bu$m-I)RXTD}RTL{U8bzw@yMm z>@jp52Ga{8){Xr_et?!EM~iEm&3r5mkfBgbo`1(QO>Tb?&S2YZ4XjvM3SOP+%`3VlB)J=Vbb+_ z+4bwXu8)omXR{e4GGBf#s3%z@YZfDGCQ6Bzh*MR!?R+}poSSwc;9j}!AwsAUQBp-{ z2LRJ5g)@ukffQa?&$4K`=qZKYDBwx>H<|RR7+Df1# z{PohMUcAB8YvuXq18)(1|J&J^(Y{US`-a7+o}v`E9&cKVBqg6_iL{Vj?s53RDP z=Ezw{#1JGV5qATkP(708EpP@!5sTpw9k7Ip1tOaI*sv{3!AM@TReGZ#A~Gi(RVb>8 zn`BuhLuFv0J4R%xq{7MxqS`TX({zir>2vC-19jl06JoBAm|G$iN)JQ|IK#=p9P@3V;ypXlE9 zi#EsdbTgm3_TEthOhh+m-}f7rLV;>yg~-1T9bnln19mO@W+c+lc=`PXBcU>&P0bLV zn5n0Xio3%_AoaZ~JsP9Gao|sI}Dx827U%akqpe8ohwLT(ZyK&^O%}Q~;4E zKNBbmJ8FUmPblgP#_knPlbgg27sdU_T@f!vJlb$iY0-9<>@yPM)|?MF4AZXRpuJCM z8qL%=u%W1WMijfnvWi$Xyn5X84H_;`b@SC*z1UAzalRHYa?cA=CtTgbZ$EprI`DjvMqUBWP$&mRN(wnfag@yp_A5H5MfUPd!YL~5R#0#ec3 z_3QPzBjLKO+xGDIxM`cN?{c4;wr<)=Rp0&e_M1O{^SdvhbLZLkq zK~zPPsz^tZ-07!|KrEy z$4~bU%X*Cl)r@(fsEI0*JKagwWfbC)oKL}=0ESYADiU!m+>*|KK2x{uS67$o?=So5 z_a6?b)yY)<*Z-@tfA`=2?d#K-b}J-dD+6fJj}U7X|{hcijji!d4da|D)}{-Xuwq{6O$0qGry5CaEl5)odC)zzi1H#gcCqizDAY z-re7OPdMxc>@6?=dN8D?yQfLc#U{H+L(`e>b1cQ^V8QbTL1eFBTx`HXF523RO$8p9q}L zPTEO3Y1_7Ko5`eY+DU3>v!kP{i^b95F}T@u+GWnl=G{_^WCCqql`bRwU?I)Hi1jS4 zRnJ!Tc&Wlyn3s|&d_kOwGKcpJNK`CK$)=O#y33-GJ%Z!LBqlb>X74kXNGY$mX=zUg z!Oao?cjh;+E%iX~pSE>Q!|bh^sj%xs37W-*H$hj6yGW$^cOIAEY(jAhV?WY8yBE~j z;ulQPb5$-P?%g~Ww5Z@5;o=MxErxnzi1w)k+;Z;`P(%u4m^&Jg2P>F(Zv})cY_ni@ z%-xgPSQT2*qCE2;G=#RHI2IA0l5-X-??e6iNt4hvlmZp}HxZATAO=BI7}`Q5uT?h8 ziIt{GU=~RewX&L&I;NyVS)^kUK!9xiBdnGc*jCB1w`MYBrfrdcDP_}IC<#=EGMG|J zsa4aWdP$C+LRW0OEq%|B6a}c02V`~WZv)sy`i zQrzyP**=0YT!5WAxE(ue!$td=w;e+`Y`;?>vAzC~cCjN%Zk@n?)18Mg*~5JEeWvuGCSbVJ>w+azuu zJa~9?d~*5v)h5e=XgZm+O>=#D{kz}%=Et9Z`oa6}{qXZoo;-SRb9>iLCez6@XA#Ml zSC?mJXY18^I-S_@^fF-p6K6|YNDMHDQ)&QZ?tn&>vo_2#X=E+Sv*q&QZu!ld^S}As z+4~QkfB5+D2S0rBgAY#LKbbCCZiuKM+EU2&G75l;K-AJBaD`c!g8qq zSwTReBFWfcQ2~>PTAuf?@L54~4WeSP#%$S1EDt1Cc826!9n?ioDKfGXC5fIYv5Xk# zG?_SW9_b1d0p+}03o|u$skuFFW(Ob7KmYLPPk-{>)%E7-i|gNh@$z?Ho`3)R=GDdW zdUK*Nm;CQd04q3fjUvY5MXkOfb2F6H^b}3r4PL9P=8jvq?)@510LvL`(>HnT?jG(ilT}GDxfuBBbQYe z#E`5-gs@3SgzXzVDuA$ipBS7f#yn7;jvkc2Nwq~Y;WW9^_Ucm4uWrA4e)awH%jYl7 z&#yO^*WKMlZkMvok~<;dN!y&9EFK;oK7P13IZTfpOg?xt{rsboM<<7~wxf21ZY_C3 z8pZ#DwICudVy^=8#IaNzB7s0;h^;W)jceX&*44zLvd=@l-BG~w1OnG&5hsX>C!Am? zn+HCp)TERWS?WUOmRm5VoV#_`y?A}up}E^o7JT#V^WS{&667GT+7KM98W$?W%!ybeQp0$MR)yFuIgSipzJO%;3mkwP^a`P~P$Ejq zl2xShr6yL%MzNSY!34ydk-&ruOJ&JK%HR@{*MO8%q$7w$d31`zoK+#pnVV!=vw>z$ z1Yx?E3~GohOicZfjXyt!StRBMsTPw}7Q(CZon<@o*#;?D}^nAGljtu!|ww z7Fl|>dZaAa{|wX<@zs4V_6xA1tDQsas*eCGb=tedQ^ob}kOcNXUyEcrXSo|$YjDdX zhZociNVfQLs$MVfQ^DP0TXqy381^e~VJ&M~B;*0=^u|!UnH0ab6bJ%t!`2eqW?f7V>Le%~?W z@Ebf8uB9kU4wa|%Z16gl$ zlRIg7qU{l6wZ`W1ding~?l<4Q{M#=tK7M@glTRLg^8Uex?@dn+(v;T?FB5lJav~6A zuqx$h4GjVcTnc(DMd)`UyQ*5vIARwBoplujv2kQhw4H9M$?>ss1D%wmtvB-Gi4#ae zU!j8?RUt`EvVD;VWeA}K zlB7ujQFpt>bd6cIYJr*5eQVWi!k$4um?ce1zYIWj@W3WYG6A+RbH1ekVy+NSJau;P532x9NNsk0-Im>em#)~Iw&htC1({b+>2cF+KsPEXd1VXW|ClY-3KNK#C`kweAt)uw4{0k=BJ6!(VrM)Q zpTdR1wTI&G+4>tVA|er%Z--PRWItQ6hB+ll$z)%&O{ z`};3{_vKf&x64U0oiuIE`TYDG(Dxoarc+Qu6Jnk;Ez@i^nNHg2bUK?&4;S_VWKWqGlo3u8p(^TrL@E}HQO-XBc8t_rzFZ(T zVqi&0VXhAFG&M|xK*zOhR)44GhC%=$=?#H{$dj@wBrM1VP>U*au7kkD>gwXK${8|q zVUDRNWmSP}1D1-n68Eot=_w7f)D%r5x0(|h15L9(tDa-vw4HB%KBD=Ih`5v;dKuqPQHJATfnY>mQja08*j6Yffp6eU2*%B zxpE**@8`B_0UkR?tiF8vGh|mrJ&fcC_+?tLkdFMrW$$McfY6>f5eU?T;JgctVUIh0 z-}8M9LL5H_qV8+3PZiQ^k2vVCYX1*D~_-VUgne4uUzJ2ec{lTY4KlYBYw zt!frxw?dbC0fIiKlKCBg5QbC&7_i#w1Td3=AOho{IZ_zd`dJ=q6;TLD_^c9%h?VJL zi)eK|QWT&P78|r0WYJ<=*lyoO&!?afMeGEH6RV15HJhL;*MeK!+%h+lcKZIwbjW<576e^~(g1 znyDDcxIxKibiy>3MmpXCjvo4x-Pr7ImP7xB|;=Q6Tf$ypRUnd z04myQI9V%-Ng^vEXx4YAx*Sq;+lGf$8N;NZ>QI2o>ehFu%l9_AL~V5Emn2mFst~a} zWX|9UTspRZXOBsiC|vIcJ)CB>T(^J%SyV(6nUx8NDRD}Y6)py(EGi)7CN;B-&acNuV4J?tBa?vmX~)}ZW=UG@LVZ%tXT;YsKp#v1T(OKE|>Xixqf+*pPt`+ z@$}oj`}^lV`;#|6`{9!x{ouVv$45SNBtZh}jY_ z2D>KJrfNk~#SkH`D%bfWA`szWwg$dYumskB*Ozr|sl!b$4@ny;|K}U0pnW{P6VfWICPBXVYohEasEhbT*q! zo3@#@sYy+8$x}^y-iT(EPC2#Bg9i^zPaj^~PBSWqaIk4Q&Rb4oQnpVj& z4H(v_M16(At%YN~Qz!+IA`uiKp_CvO(~J=nY z6{b=IL7lyf@I6t-0kPVyKnXT;YOLnu;gljuUOx;2V~(5rlF zA7G^36Gw_@N{K8xp=H z)GyMwVmQIpHkMu8myZaV!^wqGlxe7LGznX!Le%+J!jHy_~(GH|D)a|!U#9K+jzGgeWFQ*^n zV%s`^v~$pR)&XocBpP7PXxB!2iXFST7pi)WBSHn^4u&gi3~7Hnf{n7z{R#|~Q?g4x zJ(yaB#-r)%JlzNx1zU?yo)Lm=uhMSnv;|-<#@2VPajPZ#O{ z;_B)5-#>l&biH0TsWC5f3yNhgXo#G<&1P-3XfNXBvW3-#N=?(Kb~$$&=_m`bfEuQm z(p1yIGOw@S+Y7^R`<|xM{disBQ=XlYcQF zI>BMM3E2V-$SgpNk}b?wb+Za_c&GZQrqGm{p-GM5R7-W@MeawxB>V356`hpe+?s(p9Dr-mPf@9hi$pTH35+&w_xFJd@sbwiAFo=;_#r!(A-@jh|?(0{-{N35#e|7%l z_qT6ud7WozIzuy|W@6jXiGsuFgDoW^F()E)5Yf#>ySvruYQ27OzWVL=-~9Ynum9VB zeD%-%?1LYDa(FaJ(p_nHO%QX9fP$DLD~h|M3W;foD3k@3uniW@6BD#|;j9gjp_3AY zKaFn=h#(pfMqpz1ijLA2CWH~djKm-av{UUi>t&a7*KM+DN{P9-Tjggjo`3btw>P)T zlcUp<^+%#uORI z!1C&k#(2A$kW@KYK!cm=nJFAco9p%`4t7ChYvl!P~E2 zsK8Jc1xqp@cq~=)f`X%aAB7_7BUt;f8fYY|XpI9}mZmyY7&tjp+7HC{HS5)*;z*rS z^)~i3*wR!1V|=cZviqN*>^JDF-t#R?8}`vpxdLRs-w%K22N;R)eJ6cWQ^pc{Qlsc? zY&*f)0WA%FMLo22rTtI)(Z#?B+xxCPF!poT_U!Dh>UPwRZk@5x|IXb9boA|b@Ao4^ znaewZy+cv@t}~7`eAl+ME*!vMg=>1W)0=D54|d?{_~|j=UO3-*wtHWp?F|~gQ0TVq z_s+2_0bWU6-u(F6RoM|2>8LXXVS6KmEZ*+?AONYR8iffBeTtsQk(eX zaQ@+=2Pc_mHq&OZUN?^)Jv@E*@a)a&PO^wJZ8|zST(6erZ{B?U^;eVGWHOt!ljd>z z-nz@rpTGFsZ-4jV#d9dyNn6wbM8r%frQCI!Zj*C%Y-ENgyZ^s&g+z%V4I_iQuG^^O zu(K1hN}hpd8=aq>o&Wy3ix;o*^x%`Du*SbtWIcY(6TUM9WkWN=Zd5B7x&* z^r|jWE#Y8AzA_S95*$!S&R|cEtr-LoGSj+bfpFF(K-5f#n`zrDPN$ELXFvSG;eY#Q zAHI0C{QCQgufMgnZ+v)i-lyPM^5wMj}1^AwnXr;3(9M9GXmg^Eh2uB8yb!%Zl> z%ULw{!AYSnQ3w%|Np+D3fWT_C+=>RzM1~<^SG2=E_BXrpnYH!QI976*licAwPMqiM zsw~)2oCm0MND(w55HON?c>}5t@*)}Tq!Tx)2w5%zxJ!XM7uw74WoRW~-O72+W(ol7QMEt;LCQ1>zZPTZ~9&@Pi%=F31VZd3lns*|Q3IxI-!YP5l zN=O7{_;@`pP6`s$ta(MUX_6>J1A~9o|sOBzjq{}&HB{WQmrfFu=dE2zmtlG!IkolRD3u7Uq z1TXCx1cYmE5Mw*-;)^FC$GK~Pc_x80;x!NnP*h=I`bsfmYE~^@6#?Fuxodtne zNfb(8@~R9DhwFJ2Ah^BVV(CM;&nB9}n=zTXv{%s=AF6P>F};sbVBd2l78UZWi36@d z3n?~@g6R&JvWUkzl(C4cSfvGAPz3BSaUypAFH%5~mv+=B&}bCivPA}3EBc@zB7hPp zd-aDZiox|Awz5oYxgIPA2dZ6I4V5D3EfIU-U#KFn$DIKLFk9*%s5^#4HFR<>y|RPu z%x=y)g2W1B6;f79cVcc<+>=hYc1MBacZn~X-C{``;J z9sxYr_FnqHpCPLpkfCQ#UbLz+y{Jn5SRlh?y zA4Qum62rDz-h)7ILD|6xU@n@JxW-10R{vHvn|)i{=61YP+j~ZUZ%dV2{oEty$k}1* z%^jp=*mGz#2ea^Qs%5Cn!h>n(Xb2t9z6yrA=SsxuN9h}khlu^&_5Du0hGOu>SnMA+ z3?R4UQmWjvsM=F42e9fvcLD<-@_yf^DHvMaN4>}}HN&Vu#W(HfVTAC59o+@6laxY& zxnfakN7xa0DM%jJ7(7@1W&ey+nNRSU}!!Jp+*dz}P9G)5VNaBb+);R~xywe*22)00961Nkl;dHus5{TRewe(}ZE-+X;{w`@|w7R+pxT!LF{ zpzGB-XEA33?OimTVH6Vq$ZUJWOhP$#Yp5_Q%kZ9}sePZFAj5=&xI>MXS(pc>o29v#hU(zkPL296iUGi8P^D{lv^QIO-WMD-KNX3$>b{ufVgQ=YPo4V z6h{S`RkI=s)|57Po8{N9mzO_(eSZ7fv&+x^=l|yY504-4hDEOg$|A%_ZGzj~RV_P` zl6HptJ%gb{VkIJt@@S!l7Di4YVarv81+%N^HCR2W!~#hY7h)@7ne_<55Y`T|nKbhF z^x)CsCqlH@tUKMT?lu=!x68ZB>#K7TIXqk}76(kUS*}D?voI%6Vxq--ae6R2XxTLb zmIXe{kG6B!lCG%2K3O#u5PMxrh=|89Dc}h~EK`Hp&Fki5=X>1n>qnb{nJ}{C46&^r zE5dYZo2Wf;HmLQ?fD1}1G_@6orxYKaYWxyPqkj9}57mC0D*ZaBaL8NtvHlb*Mdx%fW*)si$tYacT=}+I9a8RC`JKvBUJaz@WT@tn;>d>Y6~;_)WI~Og9W5`$jiQm^ z!@F`+FJKLy9jxi-3j&7nX2m)W`l~F|&J*sGN4AHe{x2G?M`-tk(qT30u>>*dJg&@O z^dhlyznQ}c6j1&4s)XplxK0~(4Lg*ccsPov_3BP9g|8Mx727gYCAg;~Q0F_`Rs)UL z{n6eG{}{aN*3oV6fbAED-`C^skWB88c}Cq1TW-rRBVdMyrJ9Y___Aa4EnF`LdMvf} zr)mcjV|cbd_apjmyFDKUYuMjyH2SgPd3Is#y-&ZA`xp71x9|rJw|j`;k=WbJ$KLC2 zau2}69(ND755q^mI1GRI)8h)oeNihr{_8z&?d$%{eV6Agc)#`2nE3P^jdzoRbdFvb zVyA`yXYW|s(7qMa`$<_vGse56kxs&)9ueMwB8&QaC)yQJn1NZ7Qc6l#144Y4cs`pR zA0N+V^NX{aP2Px1Qfdwl4>p_Sdb51<>g?zL`RCt#``ss>es*wpcz1Vqb$#75sY#6q zPnJ9n04D~c%iX5is0x=NE-}eM=~Ogy&54;HBxIK9ED)v^D#R%@Q*I89AAa<~=YRUa zkN<~*l$U3pUA+9w-NhHHyXWi89b+|JX`AwVCX*($EtsicO{}0S(t-Nu*s@9rL?H>g zbQ0M&&hYtqOIg)kfbDlFQ4(jl{HO^5R>~eOH>jGRnuyqA;}swz%eHUKC<{bgZg$N< z<#KDD3uc7n1TRf*N&8qKDoPAhA4cu zA!qG6aScoGgz9eQ%s>Yqe7D_M9nSa0I+MA0Mio@kg01Hqz^;n1n5GM5uaP;o_vI2IXJKp}nBDB>tv$Lgv7 zS;d8Jh~!R%TS<%MX7=l^F8{xO{moze-Rm!(udi0^hNjxilqVug+5ik~vY^XACKV=X z6H`N}X%nTUX{X#w(sWAPFtdmNN}8crx;3HG&6;Gn+}!-_?{BV_U#wS~fB8=zfB5hu zO_4UYlGm0&(&Bd_djUbRkRpTG(mqJkyinDweFjqTtZD>z=ccm92*n)KbvlI~RwOnJ z6rd^s5<({Jpc}^K@F0Ek;iFGK`+zvD)_0xetIOMG&)+7 zdDP=?Fo+Uv8IJbe#JqDDky3ydS_x93V3jVLEayq{*+(>d6j573s{IdKb!k@sx!7$7 zq-sJ2LnuGV&*7!;g2e4|3NSJT3h7l~COEALkbp3AgQ&toD|>Zd3`OlwF0 z;a`|sDG3x3K@mtKB0>@MgQg*z3!<`Ay8xUJFt;4P9>u6U|;X&XSL}1MqvM%y&Jp>}jt4O!H8Rky=!?SI-*V~zS84K&7&vs% zdcAHZi}|!|+oPjnRn?61i}RZcuq7?q@I%pNtSHs3vIjI?5cK`1=FcaNQs!J%aXh7x3{Nz2=2n} zEeH)*D_eT<6F#^C;J0WTIXkVM0Y26@Hn+NcEs~f3fs{C{$`w=8Bj{ZXqW)TuUQ8|m zq_DX?Ut>b9Sa`kJIfOt`x&DAWP#si>Ca{A-?vSHI3T6_JWKnH|TWt?7ZqqM*_u}9F zgxw%Gs4U#XHBeD9r3-D{Y7EUozz&hdkEHe!evDrLjYnloZICz0jVDV8fiJEgc@D z!$l&Z`Lx{#Pn$X6^y#ys>6GMr-EG#AbJM0Ku`qACwPs;L*LAO7zxn3bi=%^uRa=-$ zn#rVXQkxPiyB-uNB>>1mi5gK+2ytQ(&6~}7v)Py;DXiZh0>b6UHdiA30>^8Y;#izNd1tvltWN*jQ^11z z-F{4tx^d7#X<|<41-+}Q-o;7we4i-Sn7It~w-^zz<@>U*p$JfBwlIaB_b|!Wh>YjG z1fuML%ViX~M?8v0P~u{UB8P+Ns!%kMVE$Ie=1+bJcMK5G?hb5FysEAsD zH6rpVJWiB@z7nbhgnIo~+bMREr-6o+Z-M|~u`}(0jR%0l`iDH;Z#k;Js&oW9cp`Gr zphaa-XhBV9djYs-DN(WXBbE$->u?Bbb8RhM-t$m@`)HteVSNYh_k?UP)8QoJuGlrw z*j^s$v5J{5$8hl8n7i&fw58l?uciIaf*3OyF#o3Fq@FB~8;nNp6{AB4OM}K0q#8K7 z^$fHLTXP!;FopJ@Z0eAwcZPnCBvU`TH)em!d;1!9)poO1j&32vsCwwR zrMMw#gmdLHB4^9nX0%g=8O)&~BJ~L_D_`pfwB(N+3{l}k1=7BwsBhbmclmX@-&#!C z(N&yo8Uk>?S%2JkKWy9ByL)SFJ@=2fS0;bkpc)ue|2iJJ25)rG-vN?+&Gr($3P`Fp zNP}A42ko9`u&_hgS_su{;uEi97pjyS$l1Mm?pt~;RQJcuXZKw8zoI)k9A1zbchy#} zAz>D1hYCdP@kD)!9{TMsYFyp`Hi}i&wPMqOnGTN*KKbOsm(M?Y{o?uE?e%85>AJ*B z)5+}cK#9`P$*N-_0=ijf$M#D12uk2n=nw{aP4 zo~vqkyK~N~H8z*vCbb6-W{ZkK}AWruFIQj-oswT%tw^!LKHw6PKkNF&Ru8m$0-b>#x@xX?0d`*r9^Rw zDxje<2#(ZIoGKYe-MgXeknbLO{D$jlobv%mNMa5th0nIe<(vqSYtc$V`!<;a0N6r8 zLQG+(J2Hpr>}nT_3iV! zW`$PMoTz2AO01e-Ss^6NXNw1?kB*Ly7L&<*K3z;F2h&;GaMQMmw9a~Yx4gK%zP!3w zt=9?ynL#?KiA4>d3CeAg@`}ED{rcbjr)QJdV)oyCxOjMyrXrn!voD`Xw<<)eIRmUs zWO@Ls_@sJDJCFV<(HM5ZY(>Pw<(1$b_H4mEoFblF?2wTvLs$hWP+_$qeVMU=tQ8;@ z()Dyg502-L9-bT?EWVdFH@8>w!{fGX2_&6#n{K^c1C%&jUEh55?RTk74L8$Cvslay z4h{}x^XYWbBu+#`R{51Qt1_ulc8wuc%hmGkE_a=3%ap)GnV6Xs5qj^j=5UvPznda7 z&!qAYSN#kX0SOALI7tvCt7Frf@zipAs)`abC!z#+S7TDxz5;B#IT;nlmDmVmN)9D+D7{m}(@JD3xAo z;jMqQFHB)sNXzv=p%#UzC-$MBRIE^lgyIUMBnnYVN+=eHxF!qM4OqJ(SQj~AEb#;+ z{tJy5%J4bUZ62v!&z>`M>DRw50*zk{wb;5P%hXW!4De9Uh9ARn*C>La?Hfm{;Q#~i zXfX3?N`v3_1yJt+y8vJH=k$cOmad0sk07AK_Qulek_-9`FY6W>^KsvHhk~kj1Z?rf zZ<9@;Sx?gX-s^4KX8Omo8ZOn2A*z0M!%&9a^J{T$=^Kv~T07qD@kT>)K!Y~}l~nf( zT@7J}HD*(dsOV=M;@Uv+*(FGgF?u-GSS_^O#%{HBFne z%c*G=2Zyu8LdCBKG8b7QfH)HRCCkeU>VVB=Bhsk~v1Yg7$6{+7rtsSKQ)TJMRUr`3 zoCVO_<<+`-aD4iMAO85k;}4o<3L<63qM6JOCi!EQbzWW_-kvS5UM#PkU7tN&-Mrqc z&hq-2R(H#_v?)&~(y+8Gr6kOmIWttWBNFHL)FsPavu}aE#l*mti91+i?)OeqIe22W zM2o7H6Pw&y!8gQNJ_X#mL#|v9EyI$F)P)4L5|G*J^{I2l!74cetq_7IWl$B9 zUzlJS+@w>0a<`QAg>svk+50DlA3i+z$!GIF``P2KpWS}(?e!PmpMUf8>cyMo`OWq1 z>MrMom3EAy_X7CExfh<-x z);}2Ag1_#DtO^^SiGW(Ck(?c5Mj6YuTIhL?jtX4VnW@N3SpS-~a8`|K>k@{p)Y< z&eqcn&jk}f5^6yW2@AN(n%ddJM~|O8`QYKhM@L5oZIjx>E%T&FOaPI9T5z*CoGuR9 z$>r7c_08>Vx3&-=cxZyM2~4Vl_5pGG^7_?(_{*n@#IyhI{f|zLd6J~Nf^?2uWESdJ zhr*5&`M|G7iBf_gX!?p#=wpZgCdv>h5#~_U3`*>!C{3DELRRfWGC@hR>SnW9<-FvS zBzK9SSrjszw#UZ@P2%P1?)L7colF6}y}etm?f^MDIy`;&pqWgrZf-YO6q1N$v&nQe zn@?wx$)s)CNlK|n#3`kQBblWtn%TT*n#;?p)pG4TA|`->K0g6O8E&8!1F#>&~)I$iIwYHoXA%eL{+#~tHCW#V9 zD1Y<-*LaEPPl~lXHj>q{#8!;0A98}K7KeOr6wRm?6SbhdD<3WDFXJBvAtfVMa= z{}(BIi4-k|>kZulrMN)3NFgFBPNwX3QGmegiGW~f6>Y5p2J>q3g_ej2SMz-c_5qHZ zc6$7YNr6Qo4hD*nxX_nJN&DbT21>FaL>NeM{wi4+gABx^gTTf=^)uqOQNcZERG{7^ z8CBvy%?O)Ur0yZGI~AU5d5LVw{JyTi&AaT4#u*UoBC#3 z+JT+V?$yIyzJI%;{y^QUujn;6mCB$O~+q{!fsgSR&t>50zF$g`_8p}Ie|F8ho!_^@9qV1aFyWqKE zE3L?u#=^B@1{?D@0no7+j-ny;g| zZo2Tp6z=y>1vA((zJZ7+B?3|Iy7gwA!-`^nXjURCtt}vDbj<9iDxT&|vdu+ARWwV^ zn@yMHG{Azvk=KA9K^7=)0^Ln$n zT&-^I)~kj#la^B2Oj>Q4E+t`Z8qUmOHyA_VHcvCr_bgVaJTs|z)RS#E zgrP(U+DW%jy_NN~tj>s<*<|tg&}Kf1nbmt48PBqEBi z16m@niir4`)^HoNyy~J%0EuK+PIOhu%HXNc!K=&sfBw}s|N1|E{rBIkFE@)7Eiz3q zC8b6r5v<+;&E|^-kDh$|>1U4~J!#v98-fCfyR4pc5Xhv=pthOwQEF$0hexm9yuP@+ zSl-=rod94a$!t_5i&7#=yxHhCuh0LFzj@v?^xyyK=|@kFQX|NBDjk#+7IPs!O%F@S zhWRdZNs;O5J5~|WR4*c%_?nA`hayv*i&CaLR53>!F%?+eY&Pq4mp2Vr;y7GgFJHXA zytsTbo21jD!|OZQY?e2-*MP3q%iOIWK6vnhAN=s+Pd}SZC(F&I%a-F%^z5D!^YBZzxc(>- z8r%)~gowTlBCdjR_6(suVG6%qi25Ofmb3?fZzkeVvR$_FdKjOg!6lo(fEItNxNBUl zCx(bQT$oc8%$LfrN2B1OxZPbDWD#XdOklB03a&!(1d4D1>kH=vC#?peD2GcxoF79O zyIO5sAXfT90U~u>i2@`N-cRcKj&Qe+ds`#Kz`X7xB6$hSNph~ZC#xT4aS2vF)3(I@ zz?dz<&J(pJW+wKtT^1T(X7XewqISm_jZs%Gfx%2oG95-aGtO~wQ5*EP3Wt`*WdkP4 zYN%F)!uec{2C~a^RM-bqaW2GfwRF6ipRn9(Ed1K}>UCt*O|*LIQgm z#!ynK`EykK?U-lVeg@oe{|q|ZX14}ScmJl_eMd^19;%9^t<(hjSjhXHopapD!PZdk zlcDx4SH0SU@5wQ#$aFEW?Vif2l#ri+m%+~F4MJ1kUunPYWeG<^_1thJoz_CsKxl~` zw4UBjnY8yAc1ZC}zgRlh_3FL-@h$bn427#okcj{FkvoIlbO=CPi+!J4(JujGjI;OH z6uB;xLR;Y1oKrc+h0)yw?(mx$lg2~aIuyKd;KyrQ%_~#}!-4M6Ae5!Ek?L(K_*Src zM-;`b*_B?#-&bTSx*qQ1+XUv(j7o?5uxpG+yMEOn((YZUezxzdE!h8zPDKBCsKvnc z7QDkb9j@sXv_na_SCMRWLZi1rd$|vW0a}(b6?2-;+LQU@q@@L8^62Q#fA+Iy-+uGU zzyHm8wSt0}MI~+%MJ577`c%;7$p8UC{=P~?B4`>G)#Y-zTCG$iSVI>Mj70>wNeK$c zt}n=4R(Rn8QBU?Is;kxNmVpI@8EL=WrxSE8k<~|CPJignKgM$dA;8yfi!cpPUtmzUI@T%Yf zkY+0YsgmJ(ee$h$eo>(+nqd|^RaIegIwsLgmt~dLcSwnv*>O8Re1HDw2gkQReQ zufMZ6LSJHPXz|FBXIZpSd+lGi^ods)ajeyW@~wyiOXF8szbv$hh2M4?e!QPoqyTa1id zFQP~cWDtnhd>Cw(RILU)Twh~K3ssx7hKsm5@e*U24MGOx3{cWE&upFr-~H?V@b%w) zySmncjt@JX2$Fz^8W2fl0UsWnJbCZKCm()%baK*8Cpk;E5w@^-*KVmqs!ViVG%XaR{=qT`%33p&ASmDgPsGq4N2 zxxD!L+vndteR_U=-8TH$XP+$B)FI`LvdHPl;`H$7$3ObXPyW$AIygGIzPWk%>eczx zRTeLJU`0PgvFQXV&u(lW!EV)C6nr?u+?yK09KDl3U&)1NQsBH zyeMkL89?MU?#NNM=o5@;!%q!`;|+yU!URq0#uNzdQsmUdw2NXU-;_9|DDNPorNm%Z znw|L|qetWcS%Lowqv1@Hp|A)Y_ZANxphN+|L-fs+#GzF$rsz{5^UGnOPU7ZpVhQw_ z6vBDU;~Lb|b5@Ksr~(js;JlpC3sR0;0)AD9i`npw!}SZrpQE@jig;B7aTB~@uIXW+ zP&FbUASNYJkH+xfthbV<(kTEb)Dy)*C1;gfaRa{ioS3O$KRk*kbsuULC5EUb-bbD;_E zNksWi-DS}QZ?oLK-DTKHLM&c@J0y-Fa0AJ-oS9y!>5WE%;y#wUh}u3OKZU5cwZ3x- zE@H?5ZUMh*kiiuC32t%e+i>m!e!Ht(uU1gpCwBDxRAPevx6wY_vTnP6yPmQDgR#rdRgX1P)kz^5zgZ*F03511 z*)iq7QICwRMa@bN1nfA{J0YlFj~^I!uWyAbCk_ytw$K>qSb z*@9S;UCLA{FlZS9`|0rzL#hsG@SoCgJ>o7TEabQZaQgLCUDmdSO_S!+>4{1^nI0W1 zj;8H`kVM*s|Iz24y!`V&d-?L^^XD&!xM>?A67^E)P^IL-2qo^6OR^-D+{x{7xm>N( zl4t`KWuR6LLB#kWQq5*)DG$P44G=ML%Gf~lCqMepzxW^i`wu>PpV@c`c7vI(fEj?G zG~uR2n(_4TVDWH%`eAqb>Ei0u?Dcnd=TGl0U+4AJYIC{n?ij1ob&O53+B8i!o${pCa&K`bn^vRRQ|Kv|jzyHS%pFjP6*6L^PA0%Bu)=-Oa4Uxu?kx8H|Oh|;B zvDv6(1}p(XZEOSJu^AQ(9eMOMP`BW%>k>S9LD_A<*jNp2S2Da9 zuP@SxZ2U47$>uB!L=Cxe;`$kDd?pv_?DSS;WIgc2gcdj!kP?$-^0`w|Ny1ZY4$f}U zfBL)c|3Cl!>tB7lzLLcnhv2ztQc56bCIu-sCx;I{`sA}mk3U!(9V%$E>Flt8EDgFb z^^~2)T1t7*tVA@O&mPbt0)y%5;sK#cr@wx7crshe-+Op? z49)27M2xazUj{*>3q{0VxRgVI{l0bXq7+eIR??EJXdIK89LTDqjI4lFmb62EzU{^fVy{{D+EFD@<>&2)D7$;pG+{K2N<%j+8m-v8jq4}S22 z&p-Y2@q-gixV$+zJUn>$`qi6@%d5M)PK3EhDGAK^zva{i8j%adscG6S%gyq3({(8^ zrDW&cHFGYk8#WYrJK(%fh@3my*qUg$Jyn%BnI8p#h&h5Gz|0bfJuM|GD~p<%3;=_; z2>zs$qbP~#v6wk=<8;aoNbDCpcu7?RN-+1B@J3U(jzO~%DD^gxFBSk2D1>YCp&@sm zQg%VzuWjn}YvDA+pim|Bq6j-CS;;|HFNq?s)O9U|Ga++EgIdrAiJDYPN=%km!RU;# z2P>%`T4qzGCbpuq8kZy02UpdqFsh5$q-=UQPyZ>s?}P6Nhc42uGV@CCx~u}}vg8c0 zq?lyCkWy+IwzFe|&7*Qm84-~sM9jqG^fDZ!;wCf=02D$HMJa^Juw*#yBLI-HdnmZC zA3;IP5LFW2OJ|0`WlY5XtDsjgj2S`{SgLKcr7nIqLu)*W&|f&ieQe$~(?g?X6|Z%l zq_c}7t9k5gkpZreu4EjEOU)-yfFD?l>__sZ{UDY9+JHN!Ef|Jf^;5fFl-r(cFDBIe z1l!+t+uzpxjQV%fE^QCn8*75<&O@))?EJZEH|Tr>^oY|PX-Brdr~NP1!%-~UKBj*x zZ&c#$cC(!WmA|zXFY7n`ztrokf|;m0(DDAiWxofk*-lVv+x~v^*{??GHLUOY#N}VH zj1k^58h`(w^-dMYbq|~cFL&Y!>Ya7wxu;pW_0o8kYXyXAIgT|(^`npWeGE%XWvE}= z1~>rO-Qhm8M@3b4J_W)ZT@A_l=&09PgPmJ&5B`iA^z?lnsKc&ykbqqc2>o6URK;7* zPNEO&B@T6ietCz)bRTB!8={Bs-nZU*?gqG89l9L@mF9*}TBsh?U0FTF2ge5o2h%pS zvo^J=O_+Hf9L)adpZ@Im_uv1!i}TynEzyEg0^Dt?C<|;UIAoQuUh8JFzP-NQtX7hR zQele$q1kLQIcX0c&rUwv+`L&{y}CYsadrNEcl#!WP%gy?hH_O#VZj(-1v`ME; zLW`6H*qG&?R6yBQnS$+h?$YF0!$%`sB!j*2)Z9?dg(NDLLfq?(Srz~n^qf5-x2I7s z7QQkBczQXe;zAPjsT1`tsJm&nRO@x)RWw3&J*G**$jQ8Vcu7gViT1C`ceB603iP z2*5_qwHTvDM% zqs$!^4=7LrK$)1l^c#eFBPt@p+29xxg%*#Yl$E8KX>)wFZ2$VVFaFJc{`&8}zPngY zyLKToQ%MSoK|oejO%EPE{_L|KKYs5?GnopJ*w#l73IH=HIv*!WoZyENq>@!Q@yUY+ zDW$~e>hf~ET3ZHwQ*SY|lKnqAl5bzW`HP=_dvehJi$8sQ&>X1)TBw0|0*T*Fdr=; zKnlQ3@`U1gM&wx)IP{oC>MZpjk!2e+fy* zX~|XH#LuQ<1Sm2iR?MEOZS2d8i1`Rps?S48P79}JRt1KOKDVrDoZui_O0GZc8L@#h zH6(TSFkYjt)qkX_)ecF=+HpysT9QN*sy^i0_K$xLUyZ7(9lZ@-^ecE9XdV5x{xc?8 zGu;?)YTE;i!FwAEYA7*a8i$^+Z)G^k7`;3cUpwV4UwN~)M3?vV6y4pmX7{!H^OmPx zXBPlQ0wI^Hxo=Xwq}%H~_-B{*6h5n240b9EKYL<52AZ|OboK(= zze*T>Q}r>{@gT6g5JajV^sZt7$NN_6EQ6Z7_326Z78dOyGw1<`S4s~${2tYU5Buz= zK-HJqv~Q%CtpBWcYM-=Ue=mFHIC@G0uBJ0+u=B0Aby&l<|5$Ak^I_viY+2Mp`>#T4 zzGE?W0~s%rrhw(NySJZx%f6q0Y=0R;#|blTk$kc(a5!m1n`Duh%qo`HA4K}`dk_EH zfA-&e{q47Z^Q&JbPSfd(8%CHp$O>3#h(zYwtV&GM$?eU}-OX+8IzT0pXN-$*ghcEq z{tIA{S+EZ}hp2Sx&FbXn`2YH^{xARA|Mq|X^y3fP#J)sYFB}E>v5U!0fD@3w4ccaM zayU8pV6nPBxH&sKe|B^B-Szp4&E3W3?t(T~Dz~f6GHtqbmlJR1t*pB|ZO}9=voP6i zF;O^?Dg>6<-z^5BQ71h#7*MsaRz)aQR3aR~&105lppUP2`%5s`@RzJknCnB-N*Xc= zOe*w1ax(W=7eqwVU7|fRRYE`=mi1V|;wmFixzUsj$dD}Es-vdicAgrb(@iI`hGz2Y z=}E(;uO<}{h|#3fPLgRv003+>H?9OCW=;u|)dDNjCQPK^h>Re}s#LOWd0>Fw*-Rvs zMV}NDQnsLqrcMFV08i>N4$j~;yb z>5ty~;KRvu+GUBO!sc&c(hLx_@j&Y7%hcE>QLzN?ocQqgn48qJ?W-5Bq}#v^!$gUd zSUC~66Ta>6n{Qv8{Pow5jwgTe$zhWOqUctB)@)aLb!rHh?uP9~6DpbU9IY9a{=y=6 zfRcMs$n5J*<+38Np%xM`h(#07+}!H7PtVYNmu2(j&CBIVk4_#=C+%{%0`Y9xPG=Kc zs^$)fCX;5?GKq9zsyl95K0cZgKOts%@%+`Bi}iZNscokdRfuXzhJ6eI6SYkP#qG`Q z^5!mQNr{`35_4kaNRA&-|58{oGO`yGLV{ypTQULEeXp`f-R`IbSPl$T5(_soanyo( z{Pc<$gb7M)$P{v-VT9*i?3dgRLB*Gw;trL~$MOcix6S+!Tt+jE8zM3&_LoCl>DF!) zTQ@dJrTtB>{-vnv?>s@G*M?yZHDNHTRyTpkvoo@~#()?O8$`u|8Ty;RQUba+yU#7i zf_V&)Q#lJmu$rt0qqi}?qU41t)T+af`9DQgU)xm`v0|!L=cJc^2vEtPVo980T{w<} zX6Yh;%a4t!fHX0fl~jVBC<<5r5jZiig2XeYGQ1`%o70Dy0@1VKWFjUoGu*Dvusk}E zUL<5kS6PJ96?@`JRo$E>67{W-9P)*t)^K4&VCd z)}IdK)&kea`Y!7?>Yuhg_+PZm`fp1vgTJZT8A13%1|PI{oy#aYw|`(?*?KEx{Z6ae zYg4z3=S6olQ~~VkrZjT`Q;VtlfEl94=&6q7TW0`Y>D}nyFbp&=yNBC#wyVSQZl`ev zB9*@0<@M2vyCyT9$j*KX!1af1Q0uRB&yMVyIBor@LzLEC&GrFoBN+hier$c{J@?A? z`6}P+SdD$FR3Y|1fie09{=OCB-E14?g|mpa0W8 z|Nhzcug@-!!oAveO)!pr_X0gnOOi)-^EFuIG$>z0hW$vvS zLI$ZwhN$M87@xfV!N2?;|L6bL|MUOxkAL>l`D}{9{JQ$XQ*IYJM8Vd8$ShzAFtvh2 z5X{=y?09U1Y1^PR zm;OY?P7-NW;~iWU62JsSlW0A&mv4!$KQW7DDpZo3ri0jQ)gXBBH40A3?baZIh;aX| zi-f&>qjxWJ211KT&-`7@V&x^uL4_q^A~DBRlc(TDQ-%v!vXRdCNYA-wEKf<4rF}HB z0%+Q%ZJ8KZVBXV~ZCjumTqvk;mF8-ltTJ9@kS|PUAxC3uH>Zg(pJ}8Zk0`uY{^AB& z6f=cmR#mVPgP2oF@F0%J)JWw#A@UHEBM2Z&!#%xl{fnDvk;nrnk>XAK`Cc+qKAjapMCbj_dfWjolLVJt2zIhegf_Y zL;Z@`fm18JNr(^(0wIflad3FZAj$dl>o?uHYg-UEN}5tjtU$_4V7bk!Uwm=?==i&X zgCBqN-Vtk;L?oMbN<@Ujlq8k_pDpu%mIbR4d^lFShKotEWs!jIBgHPOT68u+pjH-v z8Jt)tDe)%r>o?cR&zngDX&yX$|M++zd9}_Pre->A39?!*Z*Ojz)T~!`(rt9oLY0X& zId4D=TFfU;-g}(dhN*pd_GZ1=Y}VAK2`84E31|{0=EO88s=I0BQFW0DHMQz?+DSY^_%J^GbX ziGW_`CEOY+zB$gD>rR;>1z~R~;h3?hb4n^-zY%;&?pq&((@1O77ck^Av5kr+MVy?d zQ|o8d(vi3-+f|iz%%VJ{#<2s{+832L#=`lx%@$u$M#-oeF+QO%5JRwf>d zAgaTl!>)Wux3;4e*Lw*wBH^izkqtMHs)ua>Nwi`hQjTiJN7g>McXRM75q` zfH(2F-DbU>eCL6>$G2v*k_DvEl2(`8c%jC#8U8kM?4b(ydRk>tBRF?xD6H8Q095^o z(J~I<*@kH}Du++Q! z)@QrfHb`1njN#&s-`%yFy6gM02kds%vWBs07HL*;>?zE;LatOWa_6G1h#oCw|MZ{y ziSIASL@BC%56p?oAqk5Zd+*+ zwK-2%+O}y^Hj5e*1R-J(3Gu-~Z*;fAKf3Uf!UisnQJ8C|H#(C1_TiOco!1^x20We>$DdyDZsp zA_$>V52y$kCYU`@AyI%&Rhih%g18`n`N6?^kDsj9-TC>s83E0VZ>iiZ3R{}TXUolB z{_54^)5T))>BFN#r0nrO(q&c3URuz}3$gZhEQm~mCcuC3aB79RiLrVFaOHzfE{gyH z5^^%d&?HE!jV#x4Jf9yN&yNom^C@3lzsXsemM6_5cd}lubJvm5dbwJ!HwO!-T5qu3 z1+bX5{P0nmCe!Kk>5CV)%XJ43O{``GM2V?MiHO##yUUBq<#I{Psc9n~NTCW*Hg9%` zXbRJqSOFQwhp6r6lCqQ7kU%ZkK29CfE$Fs%=3rx3B|a+D0-L-C4V{&XE()lfR+wgr zIWZG6cR3rrnl3`2&_qlTjG!=Wo}F>FS}-ahTq;0H*52KiTo36cX=gQj|5WXEHA&o# zp@gHqWjeG;2G?qEnWm{>@{)s=Ucs^#s1mVZHCrWC7&@srFj!m(ndu+lZDiY`2p@d5 zm)t$TGevsF8FySVjW(=YBUwHh=P<;ZDJUg^s)~60jnfEwgQ zA_%mlz(}cqk!m8iD!aeCijt)wOmV3Vxm2zGtJN2^TB*EHSfkQs)$RBRHpc-Q@zT3s z=)2M_-n-_?MhyxuCFvFQ9aA+!SLoA_2M*)m~AZO`_jTOVq;?|-qz&imkaw@3ewPWq{hlm)|G z-x^_WZ+?KNr*iQ_KU`s(syFKH2P%U>=l4!z)K%YuDnexdxJX({?4uXUDZ2j|NVc?V zBD>xhOP+hjxv#SwLiN_0_o2aX?*G-Fe&~O|KsEfjMX+|X-%`i=L!r7a7sCio-c7~u zE^z*F&(4Ei1G$efybE3WulQ^ach7yc{~0gXuJ@_>4+T$9qm{ECQ3oryIt{mKD1esu z!zb_kFaOj3c(-2u&98pFUax1fhM6g`n(LiigZt4<0;taC&loyyDUo9s;|Mi!D@r!5QzRs((;N}3-s5XM+#$?f^oqY81C!c)!`QqT9)8Mid zlt^;6{%vY5WA=Pv9E4azW-2)>M1_fF2lFRS-WS!Y%S$MTOd*wsSviTKgXVVq{pE|l z_^YSKM~i>fC-)5Uz6^Uc-u&E4H{F*_hjVy9qEL|Cm>n{MOzD>W`u3(yd4 z6Fq!zJejtsNzY!qxV~9-s!cOdkWf}l4JTE(zP`S`zUp$GHf=j;lV`6Jr~p=bPX~_5 zKAOaiXlR)X-EEav3pJo#0|j%2xAg-VS`r9KV%jlE7L1fd#1jQF9NEbYJg89xg z%n8^8bx}V9PM17gqe9v0Dgp#baR`WD^>O@dQD(}fQZRgDVhtB}joPFoHA9(x>47vt zDNOp77zag%T_}r&5icAkf~JJRwO4hATbHUuxsa+-A_*#2;BhEi9@3zka0!phL4nEv z5)n&kiJo{{s22%YddY~%AR@;-0x80E%v?M`N-Ei^fQI9Rp?D&06ElHCtZ<_xEip9# zh=^Gu>mf)D&kc~C)lp?;?_Hq^Ry%H{YZ4(R^AX-rze+)kRSb1)rJ0+iZQDuWL=jIz z;m=Y?_3-JbpDpIrQ@=U*x#wE<@uI^n_Kj`a?7Og7G#nQdV>U9~?HsYcRDd{!@BaJ& zOz1sLYjJ(_(;vp-2BR2cqJ&Ef`yAZs+dpmhO3esRY)P0^^S61YM}uvCdJN6Ie|lF1 zlEQ}c)||m+mS1;vJHX`{yjpPDtG`mz2v_c@GONPa#^(%wlpQRV&kEix1w{0v_QIBCZtoMyKMe8b9y}SFXR9#=Jq!lkODFbH zxnT$86IGp+b2;k%?Nn*hz;>!=@P^>&fP>!A*EZM=zNj!)mbc*YBvhC@gk8oeI?5SJ$o{N++~yI-~1xxE}}# z5GzxY)^e`50jN)OKWIg;!lTL9G4hgCfJ>Q!WeXt#iJ_v4N&C|u|3IKkJN@Nvez#h# zGa@w@N9IBz6Df1oU0q(By?(vCy(1zbRU&MV5;3Pq+q9FmZ4!gPXq)!%@Zey6aBz5V ze0cQU<45m5`QXV1Pfm`HPfw4J4;IG<2Z_01Qc-qMS$#t&R>@eWUiHp}hdznbN^pV9J}62aG&+!c#S+2C-l#PrNOntEupf1rL3~a>m-!8WxX0WXTZ$O12xKRyv{JD}lr>LkyUL9)Yz8Ra7JZGYJwXTcN|?&ZF%B zOHjz5r+)y0S;N2EOtPNz+7fw+605J3nf}Q8(SCDHtb-@DbQ#8g5CP2Aj}(U6cBbv& z<+Ay!-#-6$|K+>iJY6j@5k63AiJB~K!BYjOdGO%zr=Naye0rKi#T~y5g(7lQ&AmdC zVI9=)O?{W$ncXsy8h2r9m_<@bCnqO4cim>a*{mUgloTLJsw6y7Rixt^+5GzX>%+f& zcDR`R><15KP0rmNkN|-SnXQ&R#E8O0oIHIv5dlPfff+bjWZz#cUM;NJSs1!xvv8}b zSiC=pl2XG>JI#XSdee2n)TE}lyUSz1q4a=FSmCuXu> zctz4}gZanrf6%1#^y%~K+q-VF(wv(nQNs+Z?^fsM=XbYvO=@QCv~8A*HED)s zRVzMX$}|%k)KhA}Jv%JWKQ^I~vP{b6$gu9I1E|J#5UB_u>W3JO3Br&A84ANlP8})x znnD2vCzDoHJt08ulq_SPU(gEDa6k&~k^0CeH(&KyFi{HQy&W587;PUzuC`!$B8p=T zB}>@KiL3aY@K`XWiZvqfjeHq$Ffm!2zbm~|0p=u8p1_t(yf&>H>Tpq@>_kVGk~5OYJ3UX5(^eNv%Q zHB1n(L^W;Gwv*QP)iKyLxB~`9`~UW7Jhz?^7ql%~41|*@mI! zX=`DpAA0oG9v+zDb1+twaMyR+UtRZ$3OiSArv$eRu&dhuqyLk(n{7EW`{&WF|FO@`*GJg7t=}q(9A6YgLTS)T z3)-KJ(P+Du^d0S$qoo@^#a2)N94;Dd3HBqQXz#+_s}aB-z9S>4Ov^uoAe2DvchQcTWQy?!rHi4*YS?h(`BY6Y_4|xZ1d_J8TQz2GlK1T$sDUx&VrETp;Z{|dD2rTOo4?VxCQ>M~8=x-+TP{!Na4Yqv>QanYKp)hli%QiZ81N7vfhI`OEavU}^x))!qetgQ*Du#s z&o|evHh1Ui+n0HHCf%jTZN^I19qWoy=G0Bvlv;2DP$qyNKxWFpWQ&HB5ZkJv%3cpJ zJamo6u>^7gK~^;ERdPBjIkrQ&#;n; zWFjQXFiEP=a2Qed7%?>D-kGeZKS-50Dlqn(N<=m|U3T{e zOR{OZ=XuO+uW4JoPo9@S6dqkHQMxjGPzv&wsrPh3>t9`;grcaim;$L3J&Hb@CnN^T z_8&Mz(Uoa)z-~?sEY&^}7&%#@37Uf?roZ|2{9pf{zx^+N|K@z%pgp8CgEW>jl8CaX zf({Rk-hcn2qvKO0%9^u?WVO;}1b7xXD9p=15z=GtSL_miD5BCXtQrM~6RUs|PEJnO z>($GbFGM6!GTcpxp-HHrG+XE6v(@tFzrHw_Jv}%&`uyR7+6B6GmNhZMN~6R=IYNcw zOj$~2t5u2Fg&aEwB90*lx@Vnq8AXSst))1-OR z%!%9Fp>5j3qocdKyVZJqb$$KbFc=_V&;%d{a z7!#gOy3OX|{Nnu0`DU}3Pv`Sl+tMv)1HbY-$6I89vxQfqEDWHIcvEupkND1tVR5F> zP)Fl@n;VcR6hhE->%S7ZES-q!6+@OI>Ydp&9Nq0#qBu}>c@+YH94ljohFtSt_;0k7 zD^oE^7SjP18WoWN;iy2pvcYHv4QPt(b?8b$8%#kbO_Gz2mYF94z(S}rTF0?(vkJM4iZ z-icM8XqcH*&~;hdJptkWrIx~gh>E0bIey#$!~i#1N|pj7a!{~BSv)HQsc51kP(ZBO zaU{#7IA^M)R&_GyWc;fhYe(Rm&Dn|=lv2~AhErq93W94m0-Fni66d^<7j&nMdJmJ^ zU+`PcI}3@UVX%wA+h)QCH_h8cY#lTzx8puuvtFV9|2*5`y??)_y;h6UuSU7LN*V?1WqW-rL#jHnqZNxhUA#cRT-Y zS1a}^=)NhoiRP~93>xeLX=nRdDBbC`fw&d>nZBF0Yy8AX)M5WxO^^o7cOUlB6{=Ty zYxSO%WrGV0qn28524i&6Q72{Gy3OcAOlpXf-k?mG!k4wcRzYB+kPgw%K_i6T0A_K{ zDu>g_pZwtS*=+Xk^z`q4_r=TCXVVZ z9vmzdi}~T<;mPswqeqV(o*W+?9JFmSX`4yY&ZbjlvTR(&&svx$1sC0OB;hRDixcDm zc(qrKK?7xHEiNjUNCvL^$zM|fC)E}_otzv^4j=2oPdCepZgsZ2da=5Ey1aZU%Qty_ zz24lguCQ6sX5Dp?){-Wew454MWOCutvRlDiP^B*)qH4wHnTafVwx=kTO@ac6MZ2OZ zu?XP^$skV&?sO)CjJ0@N1F&Ri!jvqVh2>%_=4J6v+^ptjs{lkuVcE(`Je;c#yiX=% zMWn7Y=HB9IDI8lBP-djWq>yZ${k}sAVI+j4(kpz5aH}O?qUTvidyW+7g#jo~ikoTl zX}LK(%>}u0bHQyBWNqqXXMok5jV&Vwpb8Nc?fSa$<^FZ000k9PV%N5mb44LH+u4(d zA$NRJBA)Q%V2%0L&+q<^pMUw6zdU<+MKV3$bO36kNQ0`P)U=Za4ryc0% z#ntW4fBowHhsVeN{KH2l$2s4r3TxI3Y8mE8VSd!4DoRoLz~aH(L)y=J_+q$}YdgkP zHpJYa0aX!Db~`D9NJ&A&DYacE7nhgk7gzJyoYU;|^u6_Z#m#)3k+Tvvv&BMyoV%-= zo7>fT(oS6I7H$uHWi}!P4rbHl{rBdx$#nAK&E=(Jg~;{w&C6G>E-o*jG?~pO(=~UN zP{2&`7I;lWL?rGBZ@vMc9taf%`5uy5nmr~FW#&>WBtQ@l z*&K+;2ml#eL`2C>f+>#3y)xV_!MzOBkXY5+^3|l^&_{^9>4jk{E=x(dWI%8XS8$0> zF$&}Rp-f&6h(L)*BpboABO_iaQaytSG)nmR0h3tk*k>QZquk5a z?%)**coo~&uSfMyKOj}jdQoK1Ma@qRyQX3DVb^;Y=k0HIF436D91Y!%va`#*-PX@g zUr;<~f|sQ|;0^}gDV%J5Su@9P6({;DXixi5@3iX`-Sz8^r;h6HzblvVjzRrk*G+nZ zU}-}mT&uzm2A{VlM;;t^Pn+G-8DNZR=w)f}YtP&6!ntvli@_k{gSG4RLHm0p$8GU= z7eUdmxa@)?{xH#Fn|1`R7;*~2m7r1?pitI&T#-WQdXhH)tb9LsS3GCi+mXCn;rlc% z`#KpR`CBRG+acNNdGKXuPRP?k^?fRO<;zZFLUoSn>G-C+jXrH3z}kVOrcUF|hi|?0 z**!`PoyUrgVUsOV;~(}b$9_qi;IiZX3fNH+p6YIK6-LEU%db1$&)AVJ%0S?@L(~Y&*szV zY&M-VZPRc|oZPPzYMh~}nKaBm85$#UVJw6khrhQw+ftW<$ktPT7K{mXGcd!-Flh8a zfE!|i7IQLhZBa6Bsk!5>eT|dZS9E)@uY&>X6tg!ES0)sFr!luQHh!1HMl4Y zi#|7~*VMA01XI7L07y(?k^mGCPwZ|(CZ^B`3>eZ9CxH-XOz7%0IAq@vX-Xi1bfS{Y z$G;f400nFC$sr{b3LM;O!Bb=U3$DAt-&H9N67^0FR80PE+VxE?DhZ#Ct7-tZm`1Wh zi%QRu#m$Vxk3s>cc#bxWrS|*5hi14jH0px-sII6Ha7we(9$sHJfBmcP{^MW2e14`p zIV3(3O`znmq#~<==Xl~L|2sC8Uzmoa0kT0zDV9Ez2vf^}^A>>Xi!UU!yoUU)~o;`gr zpUxki9-TgXvR>Z-X}Qi8D3h9IGFhxwch@(!mzURz`Jzdrt|3DlF(d+!W&sm5i>6Jd zZPUzV^NY*t64#8k1&-KoTG#o7`n}Oy+qyyKbq|mcCfCyd zK%yYdaYc|x{#ELhZ0Fl+96iXKZl^{(<1;~oPdPPwt@>C+^1Ryj8p$F-=#Hlq%#1$;= z+3)lx+!l=F5D|&fIe5_l1uPiGsCLoXk&?&AkO&bqiJ76f)LsyB^%z-24y&Swa0IiN zMm-#Im5Rr(s4B>Kk0_`};rhZ2se(i){F9>QLbx=DAqBfSCAFLyE1(;PJpL&z_@Rj1 z=E&d1XHx&4inDtc39c}5`})7<`*-5BcfY*Nbr+aJ+!%>`#fnjJhEyo@u1UQM^Em{n ze?#A4WoZ1-_pe;T{##*3tBc;9iKsWk?&!ag(WvAvC@;7!3WF6H&tzL`G87nSmlU*9 z4haS~S`J0o0k^TUhtcPuo?^!8~91O3>1I$o_+m`L$}H} zvO#@zm_I9w!LAjk<&9psHR@-3!<#k!dLI> za7*;1F-{I=v=h$#Fqcq{-S6zz1fd-H8u#Lr(cvxlKP2G&i-qP41|JQ$Yc@Mn13M<6 z7_E7Q0E6RJDWS&i4@X6XW83ttrXE@mikO!%S;3GDmH`?aM&sCWQBq8aK74q5dUWvP z&py4mySuo&Ilnl+xx0nPbT&^-TFjH`i}ubtcP8?JgxRyKcG3(o#-|D0R$8iJGJ!u{Z%{RmlRi zI%Vor5(seV&(yqy+A@Kfqyj|-nH`Tj*Pj;gR8&0yBwXo0WYM$kZ>y1Q+hqpd-wA7QF9ipDF?{Emwmm*Mxw^SNzc^D7 zt9TNUD|4FUJlDzT-Fo%gXSaX*n^*5W{Pg{kLv**Qxsx23CIw-Nh9S3w%u}#6u0Bw7 zfOCwoq_&$1B4*XB;hBNnILHKxQD~cnw7I=qJ%9FcI-SmDvxCI}h&StQy;g;!B+Qm} zuDQNjonKs@o}Mfgvx@jxkx_SON{JN^)zl_FI?_zboArx}7cXACxVgIF)V8yE@`U#y zS#nlYfhdU!38buuQk*>}tyWggr)}G3Th@E3fO;B8_P6u0;))0{-<*oMP*usArRSt= zIn8Onk0O~ih+XQni5G#!Iesmh<0<`}tW=B&fe_gU6wD+hcAHCriRy(Wn}0k?5)eQA zT(F4%r6|_ob5-PWTQRd}c7#yR>%hMFP*rAT3MVNdwmPt0UDxd9B`%_;CMJb5u^mZ} z+Vx~JHsWHL5ec66!>F8TmZ}u9aVN!=5t%cAn!d%yBZ!Ku$Q)km6%1u$5}dw zCUGKyC(lKkR3jbiG?1jEU?_K3@MWZ)bplnJKr$u2S%{z(W=0ihEj|UYMP8o9Jph># zaU!)OixE9kXlUUZg0a@I(X*)4Fnn~-6@1eP17TzbAJjJwHgeF%knPzcf$n4727LIg z_9KR{;-YIgZGUzX|)4fc2nUC(8nA9vgdA6s~@)edR&S?J`+dWrPC>ghQ zPtivh* z02X}@+w|Ja!M8hyt>;)24cqMs+Vnpah1AY7Q{zv0W4OJe_0jFudne7kyX=%SxYv5) z?pr!?4{Qyuf2RM~|GjR&*XCdz>U1^0T&P(_M@jUGCUY2qoQ~ZNw4`v zl)CIy8VHQ_%JH7+TRn$a5=_8T znjg$252q&|PEJ1UZqB-!SL>@6%gdMf?)7GMF8NM$MVSEML~Wv`RU%Fe5~~IOx+Lft zDvdA&NVzoO>J8Utgt;0TS|B2gbm<|4^=y?zvqRi9R&4!6z5cpbe*R$GoZSqBacNr> z3SoCsb4)7U2jqJZ_Jx9SMqB_um6=i^5JV(f{`OKYz@>foc!7D`Ul$$%Oz4$67!;Z) zxL?EGvlGR!w(NMQN&4}%T!41j6Ntfy6DL^yy8aNVr->-|)Bol5D-5hyno>E!+Hn8@ z5lU%>$>Ql7{rRt-|Kj(TH`4O-P^bxCWk8{x#xTtnhYub;p3Ud#iQ`B_*uzJJVQ$hz zCIl4u3?WHx#5@WFC*x4gY2xS^Gpy!L#W0EaZ&yt;k< zSHFDz@dt;;|KxNrInL`9Np9>cF++3BG1~|A6CVfDk6XkBsR@~Ys;4&vBWcb;YS}bc zi7B~!1ZZlQFqzL5=a=W-egAYinSJ)j$CK%ds9P@AMp$yr1fs;7ym@ne_Tb@z>1;+s znk|K1Y#Apqmk1y$C{agPuhwVh=g*!$zc{}jqUmhWHdEq_h;)*r>qH>p;U*PMh)BtV zFX;7XM(bQW_p+x>fwXs;(NI}dcJ{HR**Qf32noZwoQ&Gwwx@IQzFAN zt6W0j`4^%XM2Kl(Dkr0VEGiagU|MN%a>a=l9>vAB@KF#`fhc4eT(J{jS8b$3iHKF% zeLplPswqd|I@`(=TCge(NYA(RBC%6vs@^aUy-JiFa|1yA`RxM3u7}>`#Ub;#J>rm0 zE3P?Xsazs1FK$5pUzv8rAJV%_XCEg!n$&hzyIw0770P|9F^7J~T%XkI1>y(~Sg{?N z3qb4q1v{lvjozKPyH^O@$31UL4lWnav}Zr#vZz}7wR_jGXAvu{;*G%H%jp~iPFSr0K60l@YRP7_PHsnA0NI6)sxKvXx71_XXnOA&M5ySUe6LOHn;(Mf2ISaC@yU zK+Q>_mDEz2O(v())1@pgyW2Oj^Y8D@zFS^C!|Kgub*Y;xLc>`$lzF2~lGK2cGD(vX zCu9YaEti_ICT?FK())#J$aDv!szgat6+(SN!!mO#laB5vn5WQe^nrHr{P zTQA&m-W9?Iq(;;|rG;2ta`&q*TnBoe$B-V>vR6n}AY`3D4#(1DZYYX~#CL&(0JflH zo2F&g2Vj{JV%)M0&UG_Uq_kuJ%B`mPYSaGytJnYWufKnGrfG60X|BqmmdTA={iB-N z$?@sQ(a}+Anl5LU?=kt_d*ZjiTCyS_S$pLY%t)`rRfhnA8)6wMp}31$j8N5-($V4J z_2J=qwGvf!A*i^%w9G1LzRJ@tzPYM4L{rKaL+IFUz zvTE+~W+SO#V$Q34ad~-maei`gGO;x8uKRKTyFf(0kB3B16{3_9FE{e$?Ba{BzWn{~ zzj*cfjR>{V#bi3;lvLN!W$m(RhA`CYZ@TY#*b`tbJ7I&a(#}gEK}1kx=eJc&$wx(> zW_b;XK;oVV15T7+N?1U>GDu;SFy zzJZO#n|r`O4vVWG{IN(qlu6XdFaeRH*LAqIq!Gx{SpI^t0{u--y*yG*L7A)1xc|C8 z2Ywyc?cp3c1)A^Ty$6d}ULO7Mj=bR?@=&iv89(|~0e8@Nixu@BfNF877DZn0`R-yY zd-iWqVE}=np_D~_2Y9TK} zLAQJvobtA%x`+_9=CyBDMCA&)0)Kr*-VJ91(TWsQEtC%0ZNF)!PO*g_{bAbzyT`VA z0W0~OXqSF#7m{wf190$LadmE);!9(rq=j3LIc}>A>aj4~+2L}G4cddxMLjdhdlGE- z_EBIX_rqzHZ$|irf?AbMt^nNM^?Q^@rP<)`GV|elo%t(rQYEQwpVfX|MbI0bvhrEC z+L!U`mZTce3`Pw`KyGixxaHP9)^7~X^637kN7+RprP9u90~dF2-@|rqs4%l0dW02a z7X7-Tu zs`VPF<;XKSd1z%+Ytl%p6po*6y&8ZTE?-0hW~frNMTIX!cwhn;(FcXukV-$*;+Se* zQT)c^D4=L7d?|Vxe~&v>h>Dn*%{ot*D9@DyhY#9=58C7RC#N6JE}m_!pDoXyZEj!X z<(YJM$Sc+^cU{UtoQ+{miBeK#Nu~N5FRqdIxn1-@Dyb>AXs}}YS zC~GKw0OM%Qp#UHvhGv+u#u8;St4SN49@8>bkeIu%#}N}CR18Wzn^&YFL|}vE+XKTL z8gger7>0mqCS`>XrO0s!P#?62345D5Aib_S=lU?f^g(E?2!^6=!A#p8$2Q zMOH4_Ew->`f+}V4#AtBDD>)Q2dNE{99L3kD7aDs?+2c92X}SQBq z<nl3vsvW-FkQWN}>cXQPH`OT75^j&dj(eaxu(pny_T&o6b)Q7G2A zvXezlzKA?O2y5wF1)Rbk$}aytd?T1Z6_rla?hQj>OL-_hX%XTQD`6XnsNK_FX-+l! ziv#^-j$n|S0#rOw#Z(tQsxX8_TiVl_N_g33Wf7lyOdd%|rIT%Lid?Z8_rTzisi(N_ zp~0sC_c(lp>}AZfX6$w`+=aN5FShtVEo(dmx1U$}UdNO1`@WC-cII5Q(D(lP0)rd2 z35^!Duwz1Di&rnfQw}1P)JNw)EFnG2F+5*NOHBi4>TVmdLn7WuF8?4u#0^R~T= zWwPUwx%E&r<()0H4jCAJe{aWw4&zk!Xs{Co3@^OuXX7w~O!r!kkc#SiGQ3z<5 z-6&!~ssTmGEamJRTzIl%1RB?CF~Eje&^&Kr9s1kfg0Y-0)3J85Ov;rKw1>1*j0aWp zSj#Lc)j~+GW$BzVB2bFt{{T(Ic?Bh!0&^@Dlj+0u;DdbkdV2b@yMA_i@%{Shl`PLC z-)33myk_khNGBa<;Up>L#FCg=65^cPYeIrmQew0GXtD2-E2@m6we*m_U}jSTyuOtQ zynUcPgNz}CS(Kewch=I%2LuujdgT&@hjw_h#%d`sX*RApl4GeVu>izkT&g5@(v_UW z!c0g3$vWJr;z;3ZuRxCyJI<2R@nD)AfvILJgFm6d`&wE%B_d1jC#vSTZ$}{#t~=TR zP!Y-Eh1`i;a}c!{IO^Nk$e{uwnCAsEM9j&#KqMe=(@qX<*3ECe{O*^(eSN)Rnk+Ik zAx=ihIaLFe1-{c*@Emticn&JNIu3DlYC> zl2N#GzAA}IlhWeg;OOY+_V%{xIyT%P5GV^opxS~LxjlM$arx`tKmU^-KKlHk& ziFBM?awLVt4yh=TtDWpmGDCA*$R>Cg_S)G}v1$lPicT{)S%S=zxM?^sQX(c+W=cGr zEx1Wce0FxZ*?iGudGh4_*?iG7Q$RMGtcs?YtTy@T>gMYD=H%#znna{bU`4W8B}`qX z*Ee@xKYRJBzyIB@e*5K{v#XRQ(}P87Ce365KqW&nK`fnNb@VJ@gb>s-VQ9gPI9P_w z#F6AyLp*{ZmFZrJIhO04!sc;LW~h5B8iQO^+|Gi6uj&Sb`3W7BI( zUD>D#2AGoqYIQBcso%(P4%ZcHO_U5Jl_^3!Ts7-aGD7OgO;aCxrG{u{wsc!UCYPe! zLx(hM<^-q;1T{4e%r^1a+-aCtP465!#L(+7%6keZlAUXF8nR_n*fF$IPkqR0?FM7` zZAupNrm&QuuMkPa1N=@5NDLjaTG!-R# z=xsSNp7j20sI&#|_}IDF&s$PqP0AZXd7-`x{=l){4Z0mL?G;Hh7&EFHZ+B4fpF2C+ z!O`vM;XXM1w;jvdJ2vh5!F${#X;2A?y?3>#YI^L$2wKi2?+-94D8Gi2s9W``E|^(2t|!r)^i&GV0;E^3>@HF`76+- z42^=2R3cp+tBcZPumZJyx2QG-gdqSM0$i^ZMi)T&97kyfxK@1ZTc!jKU4t5<0TY1DU5847(yzs&t6BE)jP<&Ad? zF{W@mJpn0w7b(3~VbzAk7>IfnV(Yr3?J3*PK4LYK!ArFp6!pz$u${3=+^?aZTR*)$ zZ&5*3#6S1$L~ksDhA`^9HA53pqQ$(KJ#3CX%y*wm9z0)Nytuo3zPf$g-JMH!ExJ@} z2rI=V=Z#3toD-`sQet6YQldnVNcv^wV_RI44@n8ip*(RX0&;KVs8|Mfu=e{b_8Pr) z91In4sldDj*hO%6;w>2>oQ*byHzJX3=3qw<mz{RX3Ust$#I|x5#+2Q1WNsF z3#n^~nX0A8jE)SBUIawSF%eKAZm5|G&7YsGe(}YtZ{BP=o+8aa$uhz_LiusxgT>*) zhmQ{q4ov%?WHx6nSYV?_te29>mtNjNp{xlouN~EjGL!FY5yt#z$K(}6S(Q^dK0dv^ zy}dX;6A>?%=K&K0ZmF5m{Pb#d_xtaze*5*s!;>dRlVj~xBH41zg#-#)(6DW|G;H4C ze%!ohhFDm>Y6uz5qzE&0R-2xPIWIKR05;KPqj zPEOi((lktru1l(<%(r*TyXCq$np+M=JKLS;W}V->x%}#zZ-4ol-+%Sp_czOKx;UIn z7tM5Hf}rHC;mo?hW+mN9^9I7Iq9X3e-_tCVtP&{pG&{2r2rWWn*$2ucNTIRRitak< z+Nl>yCcz0x0uqZKAm=VLOwguS@_xnQ&N;FtkkfYxU2n-|#mjG3XN>8T35Eav7 zdeE4fe!vR{Qt>$Rqszsy1@^9UU_P#o(VrLUQHDU_ep+dwgE42aN>Uzy?~Y5wm84*g zc)kKHi&@-?4d3k&ahNRnf^5@NBaezb?y#ty_fXLvbtM&_V9{;ESIx9yOsTJ^3rNnA zB{I#rBSvC0O_P`{t&eH_fKV49^1oPMR9V=-uSmt{TPa4GnM~=ctg6aNlp1qDaSuMf z8O<{$=mb~=1h#WV0HrjW9n9uOlv))P>4>-}c1Xp4~3R(jWTleBTc3HolH0QZ9%6{rm%; z!BOnb-i`ss=YM}!+Yh}1+Kk3}y9)09XM6~^=R>3Y-3MPS(!cBAJIUp{tpII()~%n0 zn-xq|pbCb+zT;!IB?^XW&I@k7oyur>7s!uHLLJ->hz5=H;8s?O9%5YImt}L%LR7 zvt*I3qb>;=)+Q;CEjF7O;sx`}UM5+=te|4>0=bdg64sf>z{Ki6a=oN(X=5cdn;b{2 zHS>^_TqO8PW8%!L|75=v4^sk^!?idTP)$k_s4#O%3_@09g_$Z9R`{Hl7@v8m1YLH+=N;&BfpS=GEsPpB{d6DBYDvCT5^hC|EUzYQ_t8B1&YyeAit) z1yUup0-wg*o3jHl`HYw-nFN(m0}?2hlTace0U_~pallO?N*9;sUw-w?#r4g5kKTLu z=+WW9!DP}hH?#R1s;kxJ_HMbDPpNI7yw01|a&vxu_3G7|Z@&HR%WuAYb#?(thli(= zgF}Hwe<%dlXuj>%m)+f)?&j69S*aWlZ3wwg4-=(*mLW5RikEtVVgy$#Jb^tmC3^-K zN1;el7d`Y>r8rqi7oy9g2NEEvCGy7 za4NCJGj6)zZE5ieio%=-)bkgb7>vkMfIc*oNTXjSWGI!i7pBxG8YuN5FBU;S%jll%*_D86vp{fvLn; z4aFF+kUE=T96me!BJk{}NNPnBv|(xpZAz22olob-li3OLG-pFI&7!8;P}AL*=ZK?X ztgRo7a!dEboa(z{^t?^*buwPH9|*&{I_%%t#h%ri(jLq8yFMdMW}C4YiIdxWCJFRwT8Mp&D<>5iVNB zeZ$mB-+EBnvin1LsQ5T+b-V*%>JNeTpgJ+se1ra-xh%H;qMhy?@@VkS;NOKC>!@oe(m z^!PTfuk-S3bNgy@^YZrU>H7ACt}Y>WqHE4;V3SocNfreq<}NX_F_$1_C99Md?5sdR zoK-=}kz~z^j>9EyF^}lDMV$AqwnZqW6?9p{mQS|CY>uo16Ar8(p8s0tyfetIa}n*G zqyZ%6)Ffi4c)d3#3NAEiK^h}17Smu-er@rD3o6uaT;w&dKwYhTQ4DddI|R4HU{mQZ zEM2$+t5Ipw%nP8=M3gwhG??hami`eCOYQ(D*hQ4e!Nt+YMX$W+q*GN+iI6}{&6L{t z>$A7JNc6M@nx;QvgBF!o$un?Jfx=3p#ZQ5&=<~>vg zWWo|raxVvRByb3Wo`f<;iqb<=Etwn8J=b#h5 z7!+{?)SLFJOTY*sH(smVeE?Wbgl$g!dIv*i-N*e zrrcsi11X%iY~2_>94kVP<@a0=4XYRna@9&}5E`uIrnVF?q>=H_G$<;BWGnBEVd9z(1z0%| z5{W7A8qfhZ&17~sTg+$k!*((Uw+c>P!@~V}do^jLI1M?fNH@KhL{tKU3Gt;NveD%c zbN+U-$}SOO^lmSS6mCj~M&%K69)FHTuh^Tdv37#?7SIO`sNx(p!qDx5<#uj<|4lK&7TRu8T2 z7`F!Xo*wqKsh7fgdt2Pj{ZDz5MjxEnq*1d!=BY_rwL4p_-pL?O_lQNKL3h$e^qhD# zzr6KjRbHDZyHZ?L-I7dqgHmQ`sDg?ANoze8T$(!crgIT_l zyEoIz@9!?Yy}S6XyL*#Ym#TM+l_Gbt=_Dr>=4MSBLf15!7)imDh$$h9WJ<=4MSeny zre`v-j3``YjZs%C3lDhp0l&?uI3c-F&K*+KiZmMkY5X~eNWumv0DGDULmN+GX|D!F zSF_Iv2q`6VrI*MJ;OM5|TFb`Yih4$|ASA)XX%GwhPGc7+1h5K$olg#Qkhn#uCy2qW z8rip6XfBGVg1|sZ+$8R^f?ILG!UK8pa)Ak8x&s9gM_w_AcAKutYj9$oa66GSLwj(y zX@39Rn_qo(@#YpCO$d!50qj-Im?f*Kg429)aCmf@+KDK-oTcbG5&Tzx)Ta~!W!F;| zeS%3!6w{}kt5o!BZpy=|Pg74Y^JLo27mLfw%bYusgji6fq)=`MId9VOvy02W|KiP0 zfB58w9~@zGB|=FV$i<-R{Gwx+M&^xhl5ln;Tv-5$)C?9_ZbGdsZAzZGz=W(wTF**i zNl7P*#mQvSwzJF2%jNR+^{dzCug~U-$z(E}&!>~Nolcs>X)>KK(Pp#0yu7-&ytux( z=`z~c?CAJ-I-7y>MsB;!26?4mFd&6!FZ0_QbGhEx5n8=2B~`8 z0aJNt*!3cN!vBxB|9qAt$MHqMA3*nrI3jgrWr@}^-P3cQu(x*i%UiSE|Nq0<-o0v6 z&$KL&m0BDT;qC=>1V*i;m=_mS{gIs{9qtCmWoIW>W}P zxx|{E(ZY7lc%vy({YmG7S(~M!wF$k$3{9BRNxz{PPy#iTnlNewG_^Gnanj?Y>{knN zBk0reBmW({wETu|+68;)dW_MOglVm%l4&w)Q*VMP#D2U@*>DtXB1X(ydB%oA?=@M! z3fLKntb&0xhn$HWvMLjVjOyvCr+NwVY!XHt*i>2N)K|*{jOu5dBJ`};vVmvK7Q^)% zo(WP`Ku&kgCn!R_bBY4=B+AuL)l<4GKj~+!pfLhUljW!ogQ^D$7ohvc;5y@9$;K05xfYc|VM!lnqy9AM58|ea zonBN1^ZsX*u^jd|3MyS-#Gkn`rL1Pzl12#&T45rrkK-R92?VLeZ~sg|BUE!css_S} zP^_3bg>$~Vh3t*s6h#9N+USY!Gxc4VqVF6DX3OU`9{3SZ4}4@f$e33GJW;^>FdccC zvA-b8p5Z{9T_#Y9!7`|!W~c2v+B~>8|7`d0tF!mt-oF3t_QMO=zd?7ca*KQm>9h7C z1CW4z$UUc=NK+zCNW={@Jnxn`om5{q0^AMM0I(&H3}b>#bf~l&J~9`k3C^fzn5{Qf z(<(Z*2SBT|KU0>2EZ{*SdzOfqwHOf5EaJvDiVOg@#$03JX!IyYROK|O4sVf#%2^Zq zzKil2H3J>SO|W<L@80?$Q%*L&#hZ>8Ji-rhaK5*($Pq9a?UEMLd?vm)ztE4 zhxYvC+x$O%_rsrF9QN2MZB-L-mG3~oKrh58-M{zX-n|D3&RJAdBtwySJRmhvfhxkt z7rE#_VsZ`KfyO1n*lp@!lnGrxF%gN~by^yyTk1TrYt*7H5Pf(bz5(PIb63JWQ;>_aB zV${ShMP-zG6fHal=Au$0YS?WGaax0(chYFZC(C7tV=W4m=XG}_h6!}fO4-46# zn2PFHB99{>8Z(IyCm5;l4WI%fazRj38cMMH5puRS0%{0QO@yZ5CczVD`e9W}xCE#S zSrc4ZR?i{{P6Qquvq(WuW+4z08WLhKgH(tF5Mcp&rJ+Yw8Zr$7by>3xBASKspu-^h zz1&>qk00dq`%X8z?k~@OxcdKK^H6wqwmZLfe);6lh zD$9|UuRWs+fFpEeubOeZMP;zsNGVp^Y(gMkmez{p{9SlAy#?}xJOQ~i~^Os?-U!e1)a@dq5RF*#`K}; zC@2|I6n5M5d_Cq2X#i4l_DdjY7-=1f>DMwxrwdQb&Na`mL^WU?@joeM%nF~zQG$g~ zjk8le$?Wfwj~xU>*emNy1sDGcOa3u&C~&$gO`#XZwk1t}kEG$pME#$@gqZ|TW7@H< zkM=^v9;vAtP!p(;ehMBddpcGi0x4Le%*NS94 zIcUZzv$2g_T6tZ0nvG9fK8+AmtWs33&-wyW?WMMuhxs%RJe^$`M^G4d+{An^^)fpr zIQ?7`&Co;>9mN~Jn80DH_C>5|@p=c~%{WW#_A#iNs%&O#oFYU?w_9#6FV3E9AAEg& z{j$G$*z2+ffpq!PYNwjIvz_JL!giDVYh@EV&9V*ev z@MF*!r_R;>r{JSi)mKwv&y!!M?gygDmS$mtlBhVht>dDFfT|#YWho;_7U?a1!mwIg z4z!E?n3a{(!!5{T1U$*ME5RmMQw_D^4$6`dK}(u-IL45VIW_}DdI*OY#`?prUS~t@ z@IhwBBC>lIofu?OVwcWCh^R?T+H9#w!YOUfdfI&R;^ja5{`K3BDru+GswM)3 zXEj+SI}+Wr+xwRfcDpku55pj;dB^~u+$4`0ASSX|4vQYCPFY{ud#=CBCi{6{0%;5~ zPJ@_SH{Qa8XaeoFyNip<+uK_+`BT9T6TQ-g=uG(h^}DzK_J`O1>n|QXc=$kukE|V; zt+v{HHCF{yg!$R93kthjB4SB6wkiXpU`EPn23;E$sSq*y1R{ALi3l-qqIA}@O>=Q^ zCVij#L*MU*;V^WEJREY)q=TxY#G6gK-ENzv*>2OO9X18{nY9qw<_ zStA=7TJE5%(avGp5D&``F9rq~dU$^mERPgYlu*_1g=VIqm0CJ+KKCqDw!8EYpN zMxEmNOsGnhoMpV>L;=;rXd6zX&;gnY|5Xx^iwaaBs*+=w7+|Iis8!1uL7Z6a77it5 zZWKHWG^qAD_k-LHy6^M8&-<)5d%f*szn6U{w};#hI%MR`dBCC1hrJ9PcOCUPT|T`3 zKELk1$p_i?!c5Js-8_Es_@`fe`L}=ji=X}ECl4+!n}*qP8I&_$Mt%Ia`HP|x80WcI z9FDMCesAuS@eW$@DF!WAN)1tTCR&!~?t;c$o~2kZ8C~T9P;5)}xV%&)qn+Y-C*(Cc zJtEK*vE@fU4lTkev_4^Fd8_pz0F9HFLjEeaeT0<;h2lpU44f$o$g44os;1Jy6t+@e zoC1e+{$}!fZT^;Z=Q8b7dZ}AO$TsDZ0lm5;GlSyM1*_)pNP$UhU&9JJ7M8tHgB1*6 zB`{Z5SlZBPQBcpuQv0DzHD7Fw{F^)pI-5e`1QpwvMOaS#-PXaSDI5wcHWYm0sut7h|7K#1WD`**F?OZd2N~ z0C$2UGg`6iV)k?scEMpKF_w;w0T0U z0IkVa{a;0hXfv-d%!XVnnWe~)7RRQR%VaxmY+xiL;h7$7kTb7dY)YNNc#c zF3xk?#Z-{7!QwZRlXJu>VpA(-MkJyVtO~I>1;FoC5HrQYt*O>(Vo$4|D@-z#05QQ- z22_af!dMihsfwFa%X{YNS!sF$MTq7(XcX?16`C7zUuys+Y!gvjEk;aiP+6pbE5`^L zV*QAz1xfs(z>yXbV7VTNnA$cqXGpu-1O5KbZ~yZA`X(nd8&E<~_mgu+l0n257nk?$ z-EUHpRRLtPAY1ZwlXO5KP5R2SI}5n_z$~Snl>kJ3={*o8)-?X z+VjiH_Tz`c?JYZ6k*@(aN>JMJ=E1(Z{llN$eE0n0mya$t=|c3t(lJq135ZR4V5+v1 z=~{?ImAKr?I!-@0v}UHXGig+-{_8s7cZ^(zep_u;G5g`yCw`J#fC!eADDE>7Hay z=$Nv?AaQ7Yyy84snfsWA&_M;MGyek}-KEt(E8N*13UeB<`~X3|1Tg;s3Gvi+s(MTe zjN@>ux9y414jDUb^_JU)beJUys0arbkCR8EzXci>9$3TJ1ls5^9m2`mC3kMjYC;@D@ zPznHQkv5|3ZJ&CfK>#FJ*oX~_Xi&a0N+u^p8n}hZ} z`W{(XEWAYtXjK!ZP2zUb?uPXAW;p9Wz33oWG=IFldGqf5x8HpG?RVe)_V0f4+u!{9 zt1my_v`smssraQ-#)pw_(D+e5qXSY+BR>5U!_3mM?eC+h8TVB)HY?oktc;<;QJ$}= zex%6q?ObJm(N7`pZqk-60bR5|wbqRc*fGm%&1z~5WF?8vtio#VE_odR&io6CntEAs zoN@biq3&3%Rn_TF6CU6;XDf1s@56hWuV%}PgOl?fyx zN@?|DwVj!HbNO|q99bGgKl#kYdwN-C?az>+ZXp!C{>)U26PTCXtim5>2vud4Tj)5# z-{~nk+{Rh+lBNaMY3aJ(dg_iX03lRV$JS`}n#MNc&7A0+UaVzDcT~jE0+!kKUs4R5 zR(#%B1FRVJ9mesTM(O279@(PBL9)`_6qo9rCK!8icZ~aJk^W#>ZnA@%X`9UU=(9bA za=pvQK^IKlbY<#8eY*QlA8pm>G{T~%N{6aQv{EwemsZB$-x}cJS#U?HM58WZ`o2uv zbY?}hFvwPJvJ=NsU19#SaQ>7kPX)itE-WU-Guwm^Cxu-wp9rehYC5O$2kmy>-n-pC ze3x%tA3pwY`0)Mp+wTsyFLM7r$v$x+NdsW&{j384+43crknR}ER3+!Z2LI55S6 z5p0;zquY5+JRp!~IP(iEs2tA#6S3yL?>Z!H(ndK^v(a{wv3dFS_Fw<}=Jk8cyd%#| z;eHPQo8M&?O{u-Se0XtjAH+kS?Ur;RB8JK!3Ia1Hv#%0Dp;EAWoIDV@r+_LY_eX$a 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 iOm-7AHM^}#>E5JEg1SHF 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 KMNUMnLSTZ}e;=U$ literal 0 HcmV?d00001 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 new file mode 100644 index 00000000..65fe4795 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/ThirtyTeachTour/branchUserAssignment/index.html @@ -0,0 +1,824 @@ + + +