Forráskód Böngészése

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/main/resources/sqlScript/20250414_sql.sql
大数据与最优化研究所 7 hónapja
szülő
commit
69a1490d38
52 módosított fájl, 1101 hozzáadás és 91 törlés
  1. 51 0
      src/main/java/com/xjrsoft/module/job/OfficialDocumentReceivedHandleTask.java
  2. 6 1
      src/main/java/com/xjrsoft/module/oa/controller/MessageController.java
  3. 22 3
      src/main/java/com/xjrsoft/module/oa/controller/NewsController.java
  4. 8 1
      src/main/java/com/xjrsoft/module/oa/controller/OfficialDocumentPostController.java
  5. 8 1
      src/main/java/com/xjrsoft/module/oa/controller/OfficialDocumentReceivedController.java
  6. 118 0
      src/main/java/com/xjrsoft/module/oa/controller/OfficialDocumentReceivedHandleController.java
  7. 22 3
      src/main/java/com/xjrsoft/module/oa/controller/ProclamationController.java
  8. 8 1
      src/main/java/com/xjrsoft/module/oa/controller/ScheduleController.java
  9. 28 4
      src/main/java/com/xjrsoft/module/oa/controller/WfMeetingApplyController.java
  10. 1 7
      src/main/java/com/xjrsoft/module/oa/dto/AddMeetingConfereeOpinionDto.java
  11. 29 0
      src/main/java/com/xjrsoft/module/oa/dto/AddOfficialDocumentReceivedHandleAlertSetDto.java
  12. 53 0
      src/main/java/com/xjrsoft/module/oa/dto/AddOfficialDocumentReceivedHandleDto.java
  13. 0 3
      src/main/java/com/xjrsoft/module/oa/dto/MeetingConfereeListDto.java
  14. 0 6
      src/main/java/com/xjrsoft/module/oa/dto/MeetingRoomListDto.java
  15. 3 2
      src/main/java/com/xjrsoft/module/oa/dto/NewsPageDto.java
  16. 56 0
      src/main/java/com/xjrsoft/module/oa/dto/OfficialDocumentReceivedHandlePageDto.java
  17. 0 1
      src/main/java/com/xjrsoft/module/oa/dto/TodayMeetingMobilePageDto.java
  18. 24 0
      src/main/java/com/xjrsoft/module/oa/dto/UpdateOfficialDocumentReceivedHandleDto.java
  19. 0 4
      src/main/java/com/xjrsoft/module/oa/dto/WfMeetingApplyPageDto.java
  20. 2 6
      src/main/java/com/xjrsoft/module/oa/entity/MeetingConferee.java
  21. 2 6
      src/main/java/com/xjrsoft/module/oa/entity/MeetingConfereeOpinion.java
  22. 2 6
      src/main/java/com/xjrsoft/module/oa/entity/MeetingRoom.java
  23. 5 1
      src/main/java/com/xjrsoft/module/oa/entity/OfficialDocumentPost.java
  24. 19 1
      src/main/java/com/xjrsoft/module/oa/entity/OfficialDocumentReceived.java
  25. 104 0
      src/main/java/com/xjrsoft/module/oa/entity/OfficialDocumentReceivedHandle.java
  26. 0 1
      src/main/java/com/xjrsoft/module/oa/mapper/MeetingConfereeMapper.java
  27. 0 1
      src/main/java/com/xjrsoft/module/oa/mapper/MeetingConfereeOpinionMapper.java
  28. 0 1
      src/main/java/com/xjrsoft/module/oa/mapper/MeetingRoomMapper.java
  29. 2 2
      src/main/java/com/xjrsoft/module/oa/mapper/NewsMapper.java
  30. 14 0
      src/main/java/com/xjrsoft/module/oa/mapper/NewsRelationMapper.java
  31. 21 0
      src/main/java/com/xjrsoft/module/oa/mapper/OfficialDocumentReceivedHandleMapper.java
  32. 0 1
      src/main/java/com/xjrsoft/module/oa/mapper/WfMeetingApplyMapper.java
  33. 9 1
      src/main/java/com/xjrsoft/module/oa/service/INewsService.java
  34. 27 0
      src/main/java/com/xjrsoft/module/oa/service/IOfficialDocumentReceivedHandleService.java
  35. 19 2
      src/main/java/com/xjrsoft/module/oa/service/IWfMeetingApplyService.java
  36. 42 4
      src/main/java/com/xjrsoft/module/oa/service/impl/NewsServiceImpl.java
  37. 84 0
      src/main/java/com/xjrsoft/module/oa/service/impl/OfficialDocumentReceivedHandleServiceImpl.java
  38. 30 7
      src/main/java/com/xjrsoft/module/oa/service/impl/WfMeetingApplyServiceImpl.java
  39. 11 2
      src/main/java/com/xjrsoft/module/oa/service/impl/WfSubscriptionServiceImpl.java
  40. 23 0
      src/main/java/com/xjrsoft/module/oa/vo/LastOfficialDocumentReceivedHandleAlertVo.java
  41. 0 3
      src/main/java/com/xjrsoft/module/oa/vo/MeetingConfereeOpinionListVo.java
  42. 0 1
      src/main/java/com/xjrsoft/module/oa/vo/MeetingMobileInfoVo.java
  43. 0 3
      src/main/java/com/xjrsoft/module/oa/vo/MeetingRoomListVo.java
  44. 54 0
      src/main/java/com/xjrsoft/module/oa/vo/OfficialDocumentReceivedHandlePageVo.java
  45. 55 0
      src/main/java/com/xjrsoft/module/oa/vo/OfficialDocumentReceivedHandleVo.java
  46. 0 1
      src/main/java/com/xjrsoft/module/oa/vo/TodayMeetingMobilePageVo.java
  47. 1 1
      src/main/java/com/xjrsoft/module/system/service/impl/MenuServiceImpl.java
  48. 5 3
      src/main/resources/mapper/oa/NewsMapper.xml
  49. 27 0
      src/main/resources/mapper/oa/NewsRelationMapper.xml
  50. 48 0
      src/main/resources/mapper/oa/OfficialDocumentReceivedHandleMapper.xml
  51. 33 0
      src/main/resources/sqlScript/20250414_sql.sql
  52. 25 0
      src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

+ 51 - 0
src/main/java/com/xjrsoft/module/job/OfficialDocumentReceivedHandleTask.java

@@ -0,0 +1,51 @@
+package com.xjrsoft.module.job;
+
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.enums.EnabledMark;
+import com.xjrsoft.module.oa.service.IOfficialDocumentReceivedHandleService;
+import com.xjrsoft.module.student.dto.EnrollmentStatisticsCalendarInfoDto;
+import com.xjrsoft.module.student.dto.EnrollmentStatisticsGraduationInfoDto;
+import com.xjrsoft.module.student.dto.EnrollmentStatisticsInfoDto;
+import com.xjrsoft.module.student.entity.EnrollmentStatisticsInfo;
+import com.xjrsoft.module.student.mapper.EnrollmentStatisticsInfoMapper;
+import com.xjrsoft.module.student.service.IPbCseFeeobjupdateService;
+import com.xjrsoft.module.student.vo.EnrollmentStatisticsCalendarInfoVo;
+import com.xjrsoft.module.student.vo.EnrollmentStatisticsGraduationInfoVo;
+import com.xjrsoft.module.student.vo.EnrollmentStatisticsInfoVo;
+import com.yomahub.liteflow.util.JsonUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.TemporalAdjusters;
+import java.util.Date;
+
+/**
+ * 将招生计划数据固化
+ *
+ * @author dzx
+ * @date 2025年3月17日
+ */
+@Component
+@Slf4j
+public class OfficialDocumentReceivedHandleTask {
+
+
+    @Autowired
+    private IOfficialDocumentReceivedHandleService officialDocumentReceivedHandleService;
+
+    @Async
+    @Scheduled(cron = "00 0/30 * * * ?")
+    public void execute() {
+        doExecute();
+    }
+
+    void doExecute() {
+
+    }
+}

+ 6 - 1
src/main/java/com/xjrsoft/module/oa/controller/MessageController.java

@@ -25,7 +25,12 @@ import com.xjrsoft.module.organization.dto.ResetPasswordDto;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.time.Duration;
 import java.time.LocalDateTime;

+ 22 - 3
src/main/java/com/xjrsoft/module/oa/controller/NewsController.java

@@ -18,7 +18,14 @@ import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.VoToColumnUtil;
-import com.xjrsoft.module.oa.dto.*;
+import com.xjrsoft.module.oa.dto.AddNewsDto;
+import com.xjrsoft.module.oa.dto.ChangeNewsDto;
+import com.xjrsoft.module.oa.dto.DeleteNewsRelationDto;
+import com.xjrsoft.module.oa.dto.NewsPageDto;
+import com.xjrsoft.module.oa.dto.NewsRelationPageDto;
+import com.xjrsoft.module.oa.dto.NewsReplyDto;
+import com.xjrsoft.module.oa.dto.UpdateNewsDto;
+import com.xjrsoft.module.oa.dto.UpdateNewsRelationDto;
 import com.xjrsoft.module.oa.entity.News;
 import com.xjrsoft.module.oa.entity.NewsAppendix;
 import com.xjrsoft.module.oa.entity.NewsRelation;
@@ -27,7 +34,12 @@ import com.xjrsoft.module.oa.service.INewsAppendixService;
 import com.xjrsoft.module.oa.service.INewsRelationConfigService;
 import com.xjrsoft.module.oa.service.INewsRelationService;
 import com.xjrsoft.module.oa.service.INewsService;
-import com.xjrsoft.module.oa.vo.*;
+import com.xjrsoft.module.oa.vo.NewsAppendixVo;
+import com.xjrsoft.module.oa.vo.NewsCountTypeVo;
+import com.xjrsoft.module.oa.vo.NewsPageVo;
+import com.xjrsoft.module.oa.vo.NewsRelationConfigVo;
+import com.xjrsoft.module.oa.vo.NewsRelationVo;
+import com.xjrsoft.module.oa.vo.NewsVo;
 import com.xjrsoft.module.organization.entity.Department;
 import com.xjrsoft.module.organization.mapper.DepartmentMapper;
 import com.xjrsoft.module.system.entity.File;
@@ -40,7 +52,14 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.BooleanUtils;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;

+ 8 - 1
src/main/java/com/xjrsoft/module/oa/controller/OfficialDocumentPostController.java

@@ -19,7 +19,14 @@ import com.xjrsoft.module.oa.vo.OfficialDocumentPostVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;

+ 8 - 1
src/main/java/com/xjrsoft/module/oa/controller/OfficialDocumentReceivedController.java

@@ -19,7 +19,14 @@ import com.xjrsoft.module.oa.vo.OfficialDocumentReceivedVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;

+ 118 - 0
src/main/java/com/xjrsoft/module/oa/controller/OfficialDocumentReceivedHandleController.java

@@ -0,0 +1,118 @@
+package com.xjrsoft.module.oa.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xjrsoft.common.annotation.XjrLog;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.oa.dto.AddOfficialDocumentReceivedHandleDto;
+import com.xjrsoft.module.oa.dto.OfficialDocumentReceivedHandlePageDto;
+import com.xjrsoft.module.oa.dto.AddOfficialDocumentReceivedHandleAlertSetDto;
+import com.xjrsoft.module.oa.entity.OfficialDocumentReceivedHandle;
+import com.xjrsoft.module.oa.service.IOfficialDocumentReceivedHandleService;
+import com.xjrsoft.module.oa.vo.LastOfficialDocumentReceivedHandleAlertVo;
+import com.xjrsoft.module.oa.vo.OfficialDocumentReceivedHandlePageVo;
+import com.xjrsoft.module.oa.vo.OfficialDocumentReceivedHandleVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+* @title: 公文收文-承办表
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/oa" + "/officialDocumentReceivedHandle")
+@Api(value = "/oa"  + "/officialDocumentReceivedHandle",tags = "公文收文-承办表代码")
+@AllArgsConstructor
+public class OfficialDocumentReceivedHandleController {
+
+    private final IOfficialDocumentReceivedHandleService officialDocumentReceivedHandleService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="公文收文-承办表列表(分页)")
+    @SaCheckPermission("officialdocumentreceivedhandle:detail")
+    @XjrLog(value = "公文收文-承办表列表(分页)")
+    public RT<PageOutput<OfficialDocumentReceivedHandlePageVo>> page(@Valid OfficialDocumentReceivedHandlePageDto dto){
+        Page<OfficialDocumentReceivedHandlePageVo> page = officialDocumentReceivedHandleService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<OfficialDocumentReceivedHandlePageVo> pageOutput = ConventPage.getPageOutput(page, OfficialDocumentReceivedHandlePageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询公文收文-承办表信息")
+    @SaCheckPermission("officialdocumentreceivedhandle:detail")
+    @XjrLog(value = "根据id查询公文收文-承办表信息")
+    public RT<OfficialDocumentReceivedHandleVo> info(@RequestParam Long id){
+        OfficialDocumentReceivedHandle officialDocumentReceivedHandle = officialDocumentReceivedHandleService.getById(id);
+        if (officialDocumentReceivedHandle == null) {
+           return RT.error("找不到此数据!");
+        }
+        return RT.ok(BeanUtil.toBean(officialDocumentReceivedHandle, OfficialDocumentReceivedHandleVo.class));
+    }
+
+    @PostMapping(value = "last-alert-time")
+    @ApiOperation(value = "新增公文收文-承办表-最新提醒时间")
+    @SaCheckPermission("officialdocumentreceivedhandle:add")
+    @XjrLog(value = "新增公文收文-承办表-最新提醒时间")
+    public RT<LastOfficialDocumentReceivedHandleAlertVo> lastAlertTime(@RequestParam Long id){
+        List<OfficialDocumentReceivedHandle> list = officialDocumentReceivedHandleService.list(
+                new QueryWrapper<OfficialDocumentReceivedHandle>().lambda()
+                        .eq(OfficialDocumentReceivedHandle::getDeleteMark, DeleteMark.NODELETE.getCode())
+                        .eq(OfficialDocumentReceivedHandle::getIsTransfer, 0)
+                        .eq(OfficialDocumentReceivedHandle::getOfficialDocumentReceivedId, id)
+                        .eq(OfficialDocumentReceivedHandle::getReceiveUserId, StpUtil.getLoginIdAsLong())
+                        .orderByDesc(OfficialDocumentReceivedHandle::getId)
+
+        );
+        if(!list.isEmpty()){
+            OfficialDocumentReceivedHandle receivedHandle = list.get(0);
+            LastOfficialDocumentReceivedHandleAlertVo alertVo = BeanUtil.toBean(receivedHandle, LastOfficialDocumentReceivedHandleAlertVo.class);
+            alertVo.setId(receivedHandle.getOfficialDocumentReceivedId());
+            return RT.ok(alertVo);
+        }
+        return RT.ok(new LastOfficialDocumentReceivedHandleAlertVo());
+    }
+
+    @PostMapping(value = "alert-set")
+    @ApiOperation(value = "新增公文收文-承办表-提醒设置")
+    @SaCheckPermission("officialdocumentreceivedhandle:add")
+    @XjrLog(value = "新增公文收文-承办表-提醒设置")
+    public RT<Boolean> alertSet(@Valid @RequestBody AddOfficialDocumentReceivedHandleAlertSetDto dto){
+        return RT.ok(officialDocumentReceivedHandleService.addAlertTime(dto));
+    }
+
+
+    @PostMapping(value = "handle")
+    @ApiOperation(value = "新增公文收文-承办表-处理")
+    @SaCheckPermission("officialdocumentreceivedhandle:add")
+    @XjrLog(value = "新增公文收文-承办表-处理")
+    public RT<Boolean> handle(@Valid @RequestBody AddOfficialDocumentReceivedHandleDto dto){
+        return RT.ok(officialDocumentReceivedHandleService.handle(dto));
+    }
+
+    @PostMapping(value = "transfer")
+    @ApiOperation(value = "新增公文收文-承办表-转办")
+    @SaCheckPermission("officialdocumentreceivedhandle:add")
+    @XjrLog(value = "新增公文收文-承办表-转办")
+    public RT<Boolean> transfer(@Valid @RequestBody AddOfficialDocumentReceivedHandleDto dto){
+        return RT.ok(officialDocumentReceivedHandleService.transfer(dto));
+    }
+
+}

+ 22 - 3
src/main/java/com/xjrsoft/module/oa/controller/ProclamationController.java

@@ -13,19 +13,38 @@ import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.VoToColumnUtil;
-import com.xjrsoft.module.oa.dto.*;
+import com.xjrsoft.module.oa.dto.AddProclamationDto;
+import com.xjrsoft.module.oa.dto.ChangeNewsDto;
+import com.xjrsoft.module.oa.dto.DeleteNewsRelationDto;
+import com.xjrsoft.module.oa.dto.NewsRelationPageDto;
+import com.xjrsoft.module.oa.dto.NewsReplyDto;
+import com.xjrsoft.module.oa.dto.ProclamationPageDto;
+import com.xjrsoft.module.oa.dto.UpdateNewsRelationDto;
+import com.xjrsoft.module.oa.dto.UpdateProclamationDto;
 import com.xjrsoft.module.oa.entity.News;
 import com.xjrsoft.module.oa.entity.NewsRelation;
 import com.xjrsoft.module.oa.entity.NewsRelationConfig;
 import com.xjrsoft.module.oa.service.INewsRelationConfigService;
 import com.xjrsoft.module.oa.service.INewsRelationService;
 import com.xjrsoft.module.oa.service.INewsService;
-import com.xjrsoft.module.oa.vo.*;
+import com.xjrsoft.module.oa.vo.NewsCountTypeVo;
+import com.xjrsoft.module.oa.vo.NewsGradeClassTreeVo;
+import com.xjrsoft.module.oa.vo.NewsRelationConfigVo;
+import com.xjrsoft.module.oa.vo.NewsRelationVo;
+import com.xjrsoft.module.oa.vo.ProclamationPageVo;
+import com.xjrsoft.module.oa.vo.ProclamationVo;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;

+ 8 - 1
src/main/java/com/xjrsoft/module/oa/controller/ScheduleController.java

@@ -16,7 +16,14 @@ import com.xjrsoft.module.oa.vo.ScheduleVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;

+ 28 - 4
src/main/java/com/xjrsoft/module/oa/controller/WfMeetingApplyController.java

@@ -1,7 +1,6 @@
 package com.xjrsoft.module.oa.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.xjrsoft.common.annotation.XjrLog;
@@ -10,17 +9,42 @@ import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.QrCodeUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
-import com.xjrsoft.module.oa.dto.*;
+import com.xjrsoft.module.oa.dto.AddMeetingConfereeOpinionDto;
+import com.xjrsoft.module.oa.dto.HistoryMeetingMobilePageDto;
+import com.xjrsoft.module.oa.dto.MeetingConfereeListDto;
+import com.xjrsoft.module.oa.dto.MeetingConfereeOpinionListDto;
+import com.xjrsoft.module.oa.dto.MeetingRoomListDto;
+import com.xjrsoft.module.oa.dto.SponsorMeetingMobilePageDto;
+import com.xjrsoft.module.oa.dto.TodayMeetingMobilePageDto;
+import com.xjrsoft.module.oa.dto.UpdateMeetingCheckInDto;
+import com.xjrsoft.module.oa.dto.UpdateMeetingSummaryDto;
+import com.xjrsoft.module.oa.dto.UpdateRevocationMeetingDto;
+import com.xjrsoft.module.oa.dto.WfMeetingApplyPageDto;
 import com.xjrsoft.module.oa.entity.WfMeetingApply;
 import com.xjrsoft.module.oa.service.IWfMeetingApplyService;
-import com.xjrsoft.module.oa.vo.*;
+import com.xjrsoft.module.oa.vo.HistoryMeetingMobilePageVo;
+import com.xjrsoft.module.oa.vo.MeetingConfereeListVo;
+import com.xjrsoft.module.oa.vo.MeetingConfereeOpinionListVo;
+import com.xjrsoft.module.oa.vo.MeetingMobileInfoVo;
+import com.xjrsoft.module.oa.vo.MeetingRoomListVo;
+import com.xjrsoft.module.oa.vo.MeetingSummaryVo;
+import com.xjrsoft.module.oa.vo.SponsorMeetingMobilePageVo;
+import com.xjrsoft.module.oa.vo.TodayMeetingMobilePageVo;
+import com.xjrsoft.module.oa.vo.WfMeetingApplyInWorkflowVo;
+import com.xjrsoft.module.oa.vo.WfMeetingApplyPageVo;
 import com.xjrsoft.module.system.entity.File;
 import com.xjrsoft.module.system.service.IFileService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;

+ 1 - 7
src/main/java/com/xjrsoft/module/oa/dto/AddMeetingConfereeOpinionDto.java

@@ -2,14 +2,8 @@ package com.xjrsoft.module.oa.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonFormat;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Date;
+import java.io.Serializable;
 
 
 

+ 29 - 0
src/main/java/com/xjrsoft/module/oa/dto/AddOfficialDocumentReceivedHandleAlertSetDto.java

@@ -0,0 +1,29 @@
+package com.xjrsoft.module.oa.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+/**
+* @title: 公文收文-承办表
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Data
+public class AddOfficialDocumentReceivedHandleAlertSetDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("收文id")
+    private Long id;
+
+    @ApiModelProperty("提醒时间")
+    private LocalDateTime alertTime;
+}

+ 53 - 0
src/main/java/com/xjrsoft/module/oa/dto/AddOfficialDocumentReceivedHandleDto.java

@@ -0,0 +1,53 @@
+package com.xjrsoft.module.oa.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+
+/**
+* @title: 公文收文-承办表
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Data
+public class AddOfficialDocumentReceivedHandleDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 公文收文id(official_document_post)
+    */
+    @ApiModelProperty("公文收文id(official_document_post)")
+    private Long officialDocumentReceivedId;
+    /**
+    * 转办人id(xjr_user)
+    */
+    @ApiModelProperty("转办人id(xjr_user)")
+    private Long receiveUserId;
+    /**
+    * 是否落实
+    */
+    @ApiModelProperty("是否落实")
+    private Integer isHandle;
+    /**
+    * 落实时间
+    */
+    @ApiModelProperty("落实时间")
+    private LocalDateTime handleTime;
+    /**
+    * 提醒时间
+    */
+    @ApiModelProperty("提醒时间")
+    private LocalDateTime alertTime;
+    /**
+    * 是否转办
+    */
+    @ApiModelProperty("是否转办")
+    private Integer isTransfer;
+
+}

+ 0 - 3
src/main/java/com/xjrsoft/module/oa/dto/MeetingConfereeListDto.java

@@ -2,9 +2,6 @@ package com.xjrsoft.module.oa.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.time.LocalDate;
 
 /**
 * @title: 会议参会人员列表(不分页)入参

+ 0 - 6
src/main/java/com/xjrsoft/module/oa/dto/MeetingRoomListDto.java

@@ -1,13 +1,7 @@
 package com.xjrsoft.module.oa.dto;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
 
 /**
 * @title: 会议室列表(不分页)入参

+ 3 - 2
src/main/java/com/xjrsoft/module/oa/dto/NewsPageDto.java

@@ -17,10 +17,11 @@ import javax.validation.constraints.NotNull;
 public class NewsPageDto extends PageInput {
 
     @ApiModelProperty(value = "类型(1-新闻2-公告)")
-    @NotNull(message = "类型不能为空!")
-    @Min(value = 1, message = "类型必须大于0")
     private Integer type;
 
+    @ApiModelProperty(value = "类型(1-新闻2-公告)")
+    private Integer typeId;
+
     /**
      * 完整标题
      */

+ 56 - 0
src/main/java/com/xjrsoft/module/oa/dto/OfficialDocumentReceivedHandlePageDto.java

@@ -0,0 +1,56 @@
+package com.xjrsoft.module.oa.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+
+
+/**
+* @title: 公文收文-承办表分页查询入参
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OfficialDocumentReceivedHandlePageDto extends PageInput {
+
+    @ApiModelProperty("收文类型(xjr_dictionary_item[received_type])")
+    private String receivedType;
+
+    @ApiModelProperty("收文标题")
+    private String receivedTitle;
+
+    @ApiModelProperty("是否已落实")
+    private Integer isHandle;
+
+    @ApiModelProperty("落实人")
+    private String handleUserName;
+
+    @ApiModelProperty("落实负责人")
+    private String handleDutyUserName;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("收文日期-开始")
+    private LocalDate receivedDateStart;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("收文日期-结束")
+    private LocalDate receivedDateEnd;
+
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("落实日期-开始")
+    private LocalDate handleDateStart;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("落实日期-结束")
+    private LocalDate handleDateEnd;
+
+    @ApiModelProperty("登录人id")
+    private Long loginUserId;
+}

+ 0 - 1
src/main/java/com/xjrsoft/module/oa/dto/TodayMeetingMobilePageDto.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.oa.dto;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.xjrsoft.common.page.PageInput;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 24 - 0
src/main/java/com/xjrsoft/module/oa/dto/UpdateOfficialDocumentReceivedHandleDto.java

@@ -0,0 +1,24 @@
+package com.xjrsoft.module.oa.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+
+/**
+* @title: 公文收文-承办表
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Data
+public class UpdateOfficialDocumentReceivedHandleDto extends AddOfficialDocumentReceivedHandleDto {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+}

+ 0 - 4
src/main/java/com/xjrsoft/module/oa/dto/WfMeetingApplyPageDto.java

@@ -7,10 +7,6 @@ import lombok.EqualsAndHashCode;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDate;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.Date;
 
 
 /**

+ 2 - 6
src/main/java/com/xjrsoft/module/oa/entity/MeetingConferee.java

@@ -2,18 +2,14 @@ package com.xjrsoft.module.oa.entity;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.github.yulichang.annotation.EntityMapping;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
 import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
 import java.util.Date;
 
 

+ 2 - 6
src/main/java/com/xjrsoft/module/oa/entity/MeetingConfereeOpinion.java

@@ -2,18 +2,14 @@ package com.xjrsoft.module.oa.entity;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.github.yulichang.annotation.EntityMapping;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
 import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
 import java.util.Date;
 
 

+ 2 - 6
src/main/java/com/xjrsoft/module/oa/entity/MeetingRoom.java

@@ -2,18 +2,14 @@ package com.xjrsoft.module.oa.entity;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.github.yulichang.annotation.EntityMapping;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
 import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
 import java.util.Date;
 
 

+ 5 - 1
src/main/java/com/xjrsoft/module/oa/entity/OfficialDocumentPost.java

@@ -1,6 +1,10 @@
 package com.xjrsoft.module.oa.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 19 - 1
src/main/java/com/xjrsoft/module/oa/entity/OfficialDocumentReceived.java

@@ -1,11 +1,16 @@
 package com.xjrsoft.module.oa.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.time.LocalDateTime;
 import java.util.Date;
 
 
@@ -122,4 +127,17 @@ public class OfficialDocumentReceived implements Serializable {
     private Long fileId;
 
 
+    @ApiModelProperty("是否已落实")
+    private Integer isHandle;
+
+    @ApiModelProperty("落实时间")
+    private LocalDateTime handleTime;
+
+    @ApiModelProperty("落实人")
+    private Long handleUserId;
+
+    @ApiModelProperty("落实负责人")
+    private Long handleDutyUserId;
+
+
 }

+ 104 - 0
src/main/java/com/xjrsoft/module/oa/entity/OfficialDocumentReceivedHandle.java

@@ -0,0 +1,104 @@
+package com.xjrsoft.module.oa.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+/**
+* @title: 公文收文-承办表
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Data
+@TableName("official_document_received_handle")
+@ApiModel(value = "official_document_received_handle", description = "公文收文-承办表")
+public class OfficialDocumentReceivedHandle implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 公文收文id(official_document_post)
+    */
+    @ApiModelProperty("公文收文id(official_document_post)")
+    private Long officialDocumentReceivedId;
+    /**
+    * 转办人id(xjr_user)
+    */
+    @ApiModelProperty("转办人id(xjr_user)")
+    private Long receiveUserId;
+    /**
+    * 是否落实
+    */
+    @ApiModelProperty("是否落实")
+    private Integer isHandle;
+    /**
+    * 落实时间
+    */
+    @ApiModelProperty("落实时间")
+    private LocalDateTime handleTime;
+    /**
+    * 提醒时间
+    */
+    @ApiModelProperty("提醒时间")
+    private LocalDateTime alertTime;
+    /**
+    * 是否转办
+    */
+    @ApiModelProperty("是否转办")
+    private Integer isTransfer;
+
+
+}

+ 0 - 1
src/main/java/com/xjrsoft/module/oa/mapper/MeetingConfereeMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.oa.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.oa.entity.MeetingConferee;
 import org.apache.ibatis.annotations.Mapper;

+ 0 - 1
src/main/java/com/xjrsoft/module/oa/mapper/MeetingConfereeOpinionMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.oa.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.oa.entity.MeetingConfereeOpinion;
 import org.apache.ibatis.annotations.Mapper;

+ 0 - 1
src/main/java/com/xjrsoft/module/oa/mapper/MeetingRoomMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.oa.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.oa.entity.MeetingRoom;
 import org.apache.ibatis.annotations.Mapper;

+ 2 - 2
src/main/java/com/xjrsoft/module/oa/mapper/NewsMapper.java

@@ -22,9 +22,9 @@ import java.util.List;
  */
 @Mapper
 public interface NewsMapper extends MPJBaseMapper<News> {
-    IPage<NewsPageVo> manageBox(IPage<NewsPageDto> page, NewsPageDto dto);
+    IPage<NewsPageVo> manageBox(IPage<NewsPageVo> page, @Param("dto") NewsPageDto dto);
 
-    IPage<NewsPageVo> receiptBox(IPage<NewsPageDto> page, NewsPageDto dto);
+    IPage<NewsPageVo> receiptBox(IPage<NewsPageVo> page, NewsPageDto dto);
 
     List<DeptIdOrClassIdVo> getDeptIdOrClassId(@Param("personalIdList") List<Long> personalIdList);
 

+ 14 - 0
src/main/java/com/xjrsoft/module/oa/mapper/NewsRelationMapper.java

@@ -18,6 +18,20 @@ public interface NewsRelationMapper extends MPJBaseMapper<NewsRelation> {
      */
     Boolean insertAllTeaStaff(@Param("newsId") Long newsId);
 
+    /**
+     * 添加所有家长
+     * @param newsId
+     * @return
+     */
+    Boolean insertAllParentsStaff(@Param("newsId") Long newsId);
+
+    /**
+     * 添加所有学生
+     * @param newsId
+     * @return
+     */
+    Boolean insertAllStudentStaff(@Param("newsId") Long newsId);
+
     /**
      * 添加部门下面的人
      *

+ 21 - 0
src/main/java/com/xjrsoft/module/oa/mapper/OfficialDocumentReceivedHandleMapper.java

@@ -0,0 +1,21 @@
+package com.xjrsoft.module.oa.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.oa.dto.OfficialDocumentReceivedHandlePageDto;
+import com.xjrsoft.module.oa.entity.OfficialDocumentReceivedHandle;
+import com.xjrsoft.module.oa.vo.OfficialDocumentReceivedHandlePageVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+* @title: 公文收文-承办表
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Mapper
+public interface OfficialDocumentReceivedHandleMapper extends MPJBaseMapper<OfficialDocumentReceivedHandle> {
+
+    Page<OfficialDocumentReceivedHandlePageVo> getPage(Page<OfficialDocumentReceivedHandlePageVo> page, @Param("dto") OfficialDocumentReceivedHandlePageDto dto);
+}

+ 0 - 1
src/main/java/com/xjrsoft/module/oa/mapper/WfMeetingApplyMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.oa.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.oa.entity.WfMeetingApply;
 import org.apache.ibatis.annotations.Mapper;

+ 9 - 1
src/main/java/com/xjrsoft/module/oa/service/INewsService.java

@@ -2,7 +2,15 @@ package com.xjrsoft.module.oa.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.base.MPJBaseService;
-import com.xjrsoft.module.oa.dto.*;
+import com.xjrsoft.module.oa.dto.AddNewsDto;
+import com.xjrsoft.module.oa.dto.AddProclamationDto;
+import com.xjrsoft.module.oa.dto.ChangeNewsDto;
+import com.xjrsoft.module.oa.dto.DeleteNewsRelationDto;
+import com.xjrsoft.module.oa.dto.NewsPageDto;
+import com.xjrsoft.module.oa.dto.ProclamationPageDto;
+import com.xjrsoft.module.oa.dto.UpdateNewsDto;
+import com.xjrsoft.module.oa.dto.UpdateNewsRelationDto;
+import com.xjrsoft.module.oa.dto.UpdateProclamationDto;
 import com.xjrsoft.module.oa.entity.News;
 import com.xjrsoft.module.oa.vo.NewsGradeClassTreeVo;
 import com.xjrsoft.module.oa.vo.NewsPageVo;

+ 27 - 0
src/main/java/com/xjrsoft/module/oa/service/IOfficialDocumentReceivedHandleService.java

@@ -0,0 +1,27 @@
+package com.xjrsoft.module.oa.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.oa.dto.AddOfficialDocumentReceivedHandleAlertSetDto;
+import com.xjrsoft.module.oa.dto.AddOfficialDocumentReceivedHandleDto;
+import com.xjrsoft.module.oa.dto.OfficialDocumentReceivedHandlePageDto;
+import com.xjrsoft.module.oa.entity.OfficialDocumentReceivedHandle;
+import com.xjrsoft.module.oa.vo.OfficialDocumentReceivedHandlePageVo;
+
+/**
+* @title: 公文收文-承办表
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+
+public interface IOfficialDocumentReceivedHandleService extends MPJBaseService<OfficialDocumentReceivedHandle> {
+
+    Page<OfficialDocumentReceivedHandlePageVo> getPage(Page<OfficialDocumentReceivedHandlePageVo> page, OfficialDocumentReceivedHandlePageDto dto);
+
+    Boolean addAlertTime(AddOfficialDocumentReceivedHandleAlertSetDto dto);
+
+    Boolean handle(AddOfficialDocumentReceivedHandleDto dto);
+
+    Boolean transfer(AddOfficialDocumentReceivedHandleDto dto);
+}

+ 19 - 2
src/main/java/com/xjrsoft/module/oa/service/IWfMeetingApplyService.java

@@ -2,9 +2,26 @@ package com.xjrsoft.module.oa.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.base.MPJBaseService;
-import com.xjrsoft.module.oa.dto.*;
+import com.xjrsoft.module.oa.dto.AddMeetingConfereeOpinionDto;
+import com.xjrsoft.module.oa.dto.HistoryMeetingMobilePageDto;
+import com.xjrsoft.module.oa.dto.MeetingConfereeListDto;
+import com.xjrsoft.module.oa.dto.MeetingConfereeOpinionListDto;
+import com.xjrsoft.module.oa.dto.MeetingRoomListDto;
+import com.xjrsoft.module.oa.dto.SponsorMeetingMobilePageDto;
+import com.xjrsoft.module.oa.dto.TodayMeetingMobilePageDto;
+import com.xjrsoft.module.oa.dto.UpdateMeetingCheckInDto;
+import com.xjrsoft.module.oa.dto.UpdateRevocationMeetingDto;
+import com.xjrsoft.module.oa.dto.WfMeetingApplyPageDto;
 import com.xjrsoft.module.oa.entity.WfMeetingApply;
-import com.xjrsoft.module.oa.vo.*;
+import com.xjrsoft.module.oa.vo.HistoryMeetingMobilePageVo;
+import com.xjrsoft.module.oa.vo.MeetingConfereeListVo;
+import com.xjrsoft.module.oa.vo.MeetingConfereeOpinionListVo;
+import com.xjrsoft.module.oa.vo.MeetingMobileInfoVo;
+import com.xjrsoft.module.oa.vo.MeetingRoomListVo;
+import com.xjrsoft.module.oa.vo.SponsorMeetingMobilePageVo;
+import com.xjrsoft.module.oa.vo.TodayMeetingMobilePageVo;
+import com.xjrsoft.module.oa.vo.WfMeetingApplyInWorkflowVo;
+import com.xjrsoft.module.oa.vo.WfMeetingApplyPageVo;
 
 import java.util.List;
 

+ 42 - 4
src/main/java/com/xjrsoft/module/oa/service/impl/NewsServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.EnabledMark;
@@ -22,7 +23,18 @@ import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.base.mapper.BaseClassMapper;
 import com.xjrsoft.module.base.mapper.BaseGradeMapper;
-import com.xjrsoft.module.oa.dto.*;
+import com.xjrsoft.module.oa.dto.AddNewsAppendixDto;
+import com.xjrsoft.module.oa.dto.AddNewsDto;
+import com.xjrsoft.module.oa.dto.AddNewsRelationDto;
+import com.xjrsoft.module.oa.dto.AddProclamationDto;
+import com.xjrsoft.module.oa.dto.ChangeNewsDto;
+import com.xjrsoft.module.oa.dto.DeleteNewsRelationDto;
+import com.xjrsoft.module.oa.dto.NewsPageDto;
+import com.xjrsoft.module.oa.dto.NewsRelationConfigDto;
+import com.xjrsoft.module.oa.dto.ProclamationPageDto;
+import com.xjrsoft.module.oa.dto.UpdateNewsDto;
+import com.xjrsoft.module.oa.dto.UpdateNewsRelationDto;
+import com.xjrsoft.module.oa.dto.UpdateProclamationDto;
 import com.xjrsoft.module.oa.entity.News;
 import com.xjrsoft.module.oa.entity.NewsAppendix;
 import com.xjrsoft.module.oa.entity.NewsRelation;
@@ -34,7 +46,14 @@ import com.xjrsoft.module.oa.mapper.NewsRelationMapper;
 import com.xjrsoft.module.oa.service.INewsAppendixService;
 import com.xjrsoft.module.oa.service.INewsRelationService;
 import com.xjrsoft.module.oa.service.INewsService;
-import com.xjrsoft.module.oa.vo.*;
+import com.xjrsoft.module.oa.vo.DeptIdOrClassIdVo;
+import com.xjrsoft.module.oa.vo.NewsAppendixVo;
+import com.xjrsoft.module.oa.vo.NewsGradeClassTreeVo;
+import com.xjrsoft.module.oa.vo.NewsPageVo;
+import com.xjrsoft.module.oa.vo.NewsRelationConfigVo;
+import com.xjrsoft.module.oa.vo.NewsRelationVo;
+import com.xjrsoft.module.oa.vo.ProclamationPageVo;
+import com.xjrsoft.module.oa.vo.ProclamationVo;
 import com.xjrsoft.module.organization.dto.WeChatSendMessageDto;
 import com.xjrsoft.module.organization.entity.Department;
 import com.xjrsoft.module.organization.entity.User;
@@ -504,6 +523,17 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
         return true;
     }
 
+    private Boolean addRelationByGuideShowRange(News xjrNews) {
+        if (xjrNews.getGuideShowRange().contains("2")) {
+            newsRelationMapper.insertAllTeaStaff(xjrNews.getId());
+        } else if (xjrNews.getGuideShowRange().contains("3")) {
+            newsRelationMapper.insertAllStudentStaff(xjrNews.getId());
+        } else if(xjrNews.getGuideShowRange().contains("4")){
+            newsRelationMapper.insertAllParentsStaff(xjrNews.getId());
+        }
+        return true;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean add(AddNewsDto addNewsDto) {
@@ -515,6 +545,9 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
             news.setStatus(2);
         }
 
+        news.setCreateDate(LocalDateTime.now());
+        news.setCreateUserId(StpUtil.getLoginIdAsLong());
+
         newsMapper.insert(news);
         //添加附件子表
         if (addNewsDto.getAppendixList() != null) {
@@ -527,7 +560,12 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
 
         //公告需要添加阅读关系,发送范围 1=全校教职工 2=全校师生 3=指定人员
         //1=全校教职工,添加全校教职工到关系表
-        addRelation(news, BeanUtil.toBean(addNewsDto, AddProclamationDto.class), 1);
+        if(news.getTypeId() != null && news.getTypeId() == 3){
+            addRelationByGuideShowRange(news);
+        }else{
+            addRelation(news, BeanUtil.toBean(addNewsDto, AddProclamationDto.class), 1);
+        }
+
         //添加新闻和公告的时候,如果状态是2,表示新闻和公告实时发布了,张贴开始时间就应该是发布时间需要发送消息
         if (ObjectUtil.isNotNull(addNewsDto.getStatus()) && addNewsDto.getStatus() == 2 && addNewsDto.getTypeId() != 3) {
             SendMessage(news.getId());
@@ -539,7 +577,7 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
     @Override
     public IPage<NewsPageVo> manageBox(NewsPageDto dto) {
         dto.setLoginId(StpUtil.getLoginIdAsLong());
-        IPage<NewsPageVo> page = newsMapper.manageBox(ConventPage.getPage(dto), dto);
+        IPage<NewsPageVo> page = newsMapper.manageBox(new Page<>(dto.getLimit(), dto.getSize()), dto);
         return page;
     }
 

+ 84 - 0
src/main/java/com/xjrsoft/module/oa/service/impl/OfficialDocumentReceivedHandleServiceImpl.java

@@ -0,0 +1,84 @@
+package com.xjrsoft.module.oa.service.impl;
+
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.oa.dto.AddOfficialDocumentReceivedHandleAlertSetDto;
+import com.xjrsoft.module.oa.dto.AddOfficialDocumentReceivedHandleDto;
+import com.xjrsoft.module.oa.dto.OfficialDocumentReceivedHandlePageDto;
+import com.xjrsoft.module.oa.entity.OfficialDocumentReceived;
+import com.xjrsoft.module.oa.entity.OfficialDocumentReceivedHandle;
+import com.xjrsoft.module.oa.mapper.OfficialDocumentReceivedHandleMapper;
+import com.xjrsoft.module.oa.mapper.OfficialDocumentReceivedMapper;
+import com.xjrsoft.module.oa.service.IOfficialDocumentReceivedHandleService;
+import com.xjrsoft.module.oa.vo.OfficialDocumentReceivedHandlePageVo;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+
+/**
+* @title: 公文收文-承办表
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class OfficialDocumentReceivedHandleServiceImpl extends MPJBaseServiceImpl<OfficialDocumentReceivedHandleMapper, OfficialDocumentReceivedHandle> implements IOfficialDocumentReceivedHandleService {
+    private final OfficialDocumentReceivedMapper documentReceivedMapper;
+
+    @Override
+    public Page<OfficialDocumentReceivedHandlePageVo> getPage(Page<OfficialDocumentReceivedHandlePageVo> page, OfficialDocumentReceivedHandlePageDto dto) {
+        dto.setLoginUserId(StpUtil.getLoginIdAsLong());
+        return this.baseMapper.getPage(page, dto);
+    }
+
+    @Override
+    @Transactional
+    public Boolean addAlertTime(AddOfficialDocumentReceivedHandleAlertSetDto dto) {
+        this.remove(
+                new QueryWrapper<OfficialDocumentReceivedHandle>().lambda()
+                        .eq(OfficialDocumentReceivedHandle::getOfficialDocumentReceivedId, dto.getId())
+                        .eq(OfficialDocumentReceivedHandle::getReceiveUserId, StpUtil.getLoginIdAsLong())
+        );
+        OfficialDocumentReceivedHandle receivedHandle = new OfficialDocumentReceivedHandle();
+        receivedHandle.setAlertTime(dto.getAlertTime());
+        receivedHandle.setOfficialDocumentReceivedId(dto.getId());
+        receivedHandle.setIsTransfer(0);
+        receivedHandle.setReceiveUserId(StpUtil.getLoginIdAsLong());
+        boolean isSuccess = this.save(receivedHandle);
+        return isSuccess;
+    }
+
+    @Override
+    @Transactional
+    public Boolean handle(AddOfficialDocumentReceivedHandleDto dto) {
+        LocalDateTime now = LocalDateTime.now();
+        OfficialDocumentReceivedHandle handle = BeanUtil.toBean(dto, OfficialDocumentReceivedHandle.class);
+        handle.setIsHandle(1);
+        handle.setReceiveUserId(StpUtil.getLoginIdAsLong());
+        handle.setHandleTime(now);
+        this.save(handle);
+
+        OfficialDocumentReceived received = documentReceivedMapper.selectById(handle.getOfficialDocumentReceivedId());
+        received.setIsHandle(1);
+        received.setHandleTime(now);
+        received.setHandleUserId(StpUtil.getLoginIdAsLong());
+        documentReceivedMapper.updateById(received);
+        return true;
+    }
+
+    @Override
+    @Transactional
+    public Boolean transfer(AddOfficialDocumentReceivedHandleDto dto) {
+        OfficialDocumentReceivedHandle handle = BeanUtil.toBean(dto, OfficialDocumentReceivedHandle.class);
+        handle.setIsHandle(0);
+        handle.setIsTransfer(1);
+        this.save(handle);
+        return true;
+    }
+}

+ 30 - 7
src/main/java/com/xjrsoft/module/oa/service/impl/WfMeetingApplyServiceImpl.java

@@ -14,25 +14,42 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.MeetingTypeEnum;
 import com.xjrsoft.common.page.ConventPage;
-import com.xjrsoft.common.page.PageOutput;
-import com.xjrsoft.common.utils.LocalDateTimeUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
 import com.xjrsoft.module.base.entity.BaseOfficeBuild;
 import com.xjrsoft.module.ledger.vo.WorkflowRecordVo;
-import com.xjrsoft.module.oa.dto.*;
-import com.xjrsoft.module.oa.entity.*;
+import com.xjrsoft.module.oa.dto.AddMeetingConfereeOpinionDto;
+import com.xjrsoft.module.oa.dto.HistoryMeetingMobilePageDto;
+import com.xjrsoft.module.oa.dto.MeetingConfereeListDto;
+import com.xjrsoft.module.oa.dto.MeetingConfereeOpinionListDto;
+import com.xjrsoft.module.oa.dto.MeetingRoomListDto;
+import com.xjrsoft.module.oa.dto.SponsorMeetingMobilePageDto;
+import com.xjrsoft.module.oa.dto.TodayMeetingMobilePageDto;
+import com.xjrsoft.module.oa.dto.UpdateMeetingCheckInDto;
+import com.xjrsoft.module.oa.dto.UpdateRevocationMeetingDto;
+import com.xjrsoft.module.oa.dto.WfMeetingApplyPageDto;
+import com.xjrsoft.module.oa.entity.MeetingConferee;
+import com.xjrsoft.module.oa.entity.MeetingConfereeOpinion;
+import com.xjrsoft.module.oa.entity.MeetingRoom;
+import com.xjrsoft.module.oa.entity.WfMeetingApply;
 import com.xjrsoft.module.oa.mapper.MeetingConfereeMapper;
 import com.xjrsoft.module.oa.mapper.MeetingConfereeOpinionMapper;
 import com.xjrsoft.module.oa.mapper.MeetingRoomMapper;
 import com.xjrsoft.module.oa.mapper.WfMeetingApplyMapper;
 import com.xjrsoft.module.oa.service.IWfMeetingApplyService;
-import com.xjrsoft.module.oa.vo.*;
+import com.xjrsoft.module.oa.vo.HistoryMeetingMobilePageVo;
+import com.xjrsoft.module.oa.vo.MeetingConfereeListVo;
+import com.xjrsoft.module.oa.vo.MeetingConfereeOpinionListVo;
+import com.xjrsoft.module.oa.vo.MeetingMobileInfoVo;
+import com.xjrsoft.module.oa.vo.MeetingRoomListVo;
+import com.xjrsoft.module.oa.vo.SponsorMeetingMobilePageVo;
+import com.xjrsoft.module.oa.vo.TodayMeetingMobilePageVo;
+import com.xjrsoft.module.oa.vo.WfMeetingApplyInWorkflowVo;
+import com.xjrsoft.module.oa.vo.WfMeetingApplyPageVo;
 import com.xjrsoft.module.organization.dto.WeChatSendMessageDto;
 import com.xjrsoft.module.organization.entity.User;
 import com.xjrsoft.module.organization.service.IUserService;
 import com.xjrsoft.module.organization.service.IWeChatService;
-import com.xjrsoft.module.schedule.vo.TodayScheduleVo;
 import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.system.entity.File;
 import com.xjrsoft.module.system.mapper.FileMapper;
@@ -56,7 +73,13 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**

+ 11 - 2
src/main/java/com/xjrsoft/module/oa/service/impl/WfSubscriptionServiceImpl.java

@@ -9,7 +9,11 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.ledger.dto.WfSubscriptionPageDto;
-import com.xjrsoft.module.ledger.vo.*;
+import com.xjrsoft.module.ledger.vo.WfSubscriptionExcelVo;
+import com.xjrsoft.module.ledger.vo.WfSubscriptionListInfoVo;
+import com.xjrsoft.module.ledger.vo.WfSubscriptionListVo;
+import com.xjrsoft.module.ledger.vo.WfSubscriptionPageVo;
+import com.xjrsoft.module.ledger.vo.WorkflowRecordVo;
 import com.xjrsoft.module.oa.entity.WfSubscription;
 import com.xjrsoft.module.oa.entity.WfSubscriptionList;
 import com.xjrsoft.module.oa.mapper.WfSubscriptionListMapper;
@@ -30,7 +34,12 @@ import org.springframework.transaction.annotation.Transactional;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.ZoneId;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**

+ 23 - 0
src/main/java/com/xjrsoft/module/oa/vo/LastOfficialDocumentReceivedHandleAlertVo.java

@@ -0,0 +1,23 @@
+package com.xjrsoft.module.oa.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+* @title: 公文收文-承办表表单出参
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Data
+public class LastOfficialDocumentReceivedHandleAlertVo {
+
+    @ApiModelProperty("主键编号")
+    private Long id;
+
+    @ApiModelProperty("提醒时间")
+    private LocalDateTime alertTime;
+
+}

+ 0 - 3
src/main/java/com/xjrsoft/module/oa/vo/MeetingConfereeOpinionListVo.java

@@ -1,12 +1,9 @@
 package com.xjrsoft.module.oa.vo;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.time.LocalDateTime;
-import java.util.Date;
 
 /**
 * @title: 会议参会人员意见表单出参

+ 0 - 1
src/main/java/com/xjrsoft/module/oa/vo/MeetingMobileInfoVo.java

@@ -6,7 +6,6 @@ import lombok.Data;
 
 import java.time.LocalDate;
 import java.time.LocalTime;
-import java.util.Date;
 import java.util.List;
 
 /**

+ 0 - 3
src/main/java/com/xjrsoft/module/oa/vo/MeetingRoomListVo.java

@@ -3,9 +3,6 @@ package com.xjrsoft.module.oa.vo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-
 /**
 * @title: 会议室列表(不分页)出参
 * @Author phoenix

+ 54 - 0
src/main/java/com/xjrsoft/module/oa/vo/OfficialDocumentReceivedHandlePageVo.java

@@ -0,0 +1,54 @@
+package com.xjrsoft.module.oa.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+* @title: 公文收文-承办表分页列表出参
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Data
+public class OfficialDocumentReceivedHandlePageVo {
+
+    @ApiModelProperty("主键编号")
+    private String id;
+
+    @ApiModelProperty("收文类型")
+    private String receivedTypeCn;
+
+    @ApiModelProperty("收文标题")
+    private String receivedTitle;
+
+    @ApiModelProperty("收文文号/序号")
+    private String receivedNumber;
+
+    @ApiModelProperty("收文日期")
+    private LocalDate receivedDate;
+
+    @ApiModelProperty("来文机关")
+    private String communicationOrg;
+
+    @ApiModelProperty("来文文号")
+    private String communicationNumber;
+
+    @ApiModelProperty("落实负责人")
+    private String handleDutyUserName;
+
+    @ApiModelProperty("转办人")
+    private String receiveUserNames;
+
+    @ApiModelProperty("是否落实(0:未落实 1:已落实)")
+    private Integer isHandle;
+
+    @ApiModelProperty("落实人")
+    private String handleUserName;
+
+    @ApiModelProperty("落实时间")
+    private LocalDateTime handleTime;
+
+}

+ 55 - 0
src/main/java/com/xjrsoft/module/oa/vo/OfficialDocumentReceivedHandleVo.java

@@ -0,0 +1,55 @@
+package com.xjrsoft.module.oa.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+* @title: 公文收文-承办表表单出参
+* @Author dzx
+* @Date: 2025-04-14
+* @Version 1.0
+*/
+@Data
+public class OfficialDocumentReceivedHandleVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+    /**
+    * 公文收文id(official_document_post)
+    */
+    @ApiModelProperty("公文收文id(official_document_post)")
+    private Long officialDocumentReceivedId;
+    /**
+    * 转办人id(xjr_user)
+    */
+    @ApiModelProperty("转办人id(xjr_user)")
+    private Long receiveUserId;
+    /**
+    * 是否落实
+    */
+    @ApiModelProperty("是否落实")
+    private Integer isHandle;
+    /**
+    * 落实时间
+    */
+    @ApiModelProperty("落实时间")
+    private LocalDateTime handleTime;
+    /**
+    * 提醒时间
+    */
+    @ApiModelProperty("提醒时间")
+    private LocalDateTime alertTime;
+    /**
+    * 是否转办
+    */
+    @ApiModelProperty("是否转办")
+    private Integer isTransfer;
+
+
+
+}

+ 0 - 1
src/main/java/com/xjrsoft/module/oa/vo/TodayMeetingMobilePageVo.java

@@ -3,7 +3,6 @@ package com.xjrsoft.module.oa.vo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalDate;
 import java.time.LocalTime;
 
 /**

+ 1 - 1
src/main/java/com/xjrsoft/module/system/service/impl/MenuServiceImpl.java

@@ -469,7 +469,7 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
      */
     private MenuVo getParentMenu(Long parentId, Map<Long, MenuVo> menuMap) {
         MenuVo menuVo = menuMap.get(parentId);
-        if (menuVo.getParentId().equals(GlobalConstant.FIRST_NODE_VALUE)) {
+        if (menuVo != null && GlobalConstant.FIRST_NODE_VALUE.equals(menuVo.getParentId())) {
             return menuVo;
         }
         return getParentMenu(menuVo.getParentId(), menuMap);

+ 5 - 3
src/main/resources/mapper/oa/NewsMapper.xml

@@ -6,13 +6,15 @@
     <select id="manageBox" parameterType="com.xjrsoft.module.oa.dto.NewsPageDto"
             resultType="com.xjrsoft.module.oa.vo.NewsPageVo">
         select
-        t.*,
-        t2.name as classIdCN
+        t.*
         from xjr_oa_news t
         where t.delete_mark = 0
-        <if test="dto.type != null and dto.type > 0">
+        <if test="dto.type != null">
             and t.type_id = #{dto.type}
         </if>
+        <if test="dto.typeId != null">
+            and t.type_id = #{dto.typeId}
+        </if>
         <if test="dto.type != null and dto.type = 1">
             and t.wf_status = 1
         </if>

+ 27 - 0
src/main/resources/mapper/oa/NewsRelationMapper.xml

@@ -17,6 +17,33 @@
              where t.delete_mark = 0 and t4.id = 2)
     </insert>
 
+    <insert id="insertAllStudentStaff" parameterType="java.lang.Long">
+        insert into xjr_oa_news_relation (id, news_id, user_id, create_date, read_mark)
+            (select
+                 UUID(),
+                 #{newsId},
+                 t.id,
+                 NOW(),
+                 0
+             from xjr_user t
+                      left join xjr_user_role_relation t3 on t3.user_id = t.id
+                      LEFT JOIN xjr_role t4 ON t4.id = t3.role_id
+             where t.delete_mark = 0 and t4.id = 3)
+    </insert>
+    <insert id="insertAllStudentStaff" parameterType="java.lang.Long">
+        insert into xjr_oa_news_relation (id, news_id, user_id, create_date, read_mark)
+            (select
+                 UUID(),
+                 #{newsId},
+                 t.id,
+                 NOW(),
+                 0
+             from xjr_user t
+                      left join xjr_user_role_relation t3 on t3.user_id = t.id
+                      LEFT JOIN xjr_role t4 ON t4.id = t3.role_id
+             where t.delete_mark = 0 and t4.id = 4)
+    </insert>
+
     <insert id="insertDeptUser">
         insert into xjr_oa_news_relation (id, news_id, user_id, create_date, read_mark)
         (select

+ 48 - 0
src/main/resources/mapper/oa/OfficialDocumentReceivedHandleMapper.xml

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.oa.mapper.OfficialDocumentReceivedHandleMapper">
+    <select id="getPage" parameterType="com.xjrsoft.module.oa.dto.OfficialDocumentReceivedHandlePageDto" resultType="com.xjrsoft.module.oa.vo.OfficialDocumentReceivedHandlePageVo">
+        SELECT DISTINCT t1.id, t6.name AS receivedTypeCn, t1.received_title,t1.received_number,
+        t1.received_date,t1.communication_org,t1.communication_number,t3.name AS handle_duty_user_name,
+        REPLACE((
+        SELECT GROUP_CONCAT(c2.name) FROM official_document_received_handle c1
+        INNER JOIN xjr_user c2 ON c1.receive_user_id = c2.id
+        WHERE c1.delete_mark = 0 AND c1.official_document_received_id = t1.id and c1.is_transfer = 1
+        ),',', '>') AS receive_user_names,t1.is_handle,t4.name as handle_user_name,t1.handle_time FROM official_document_received t1
+        INNER JOIN xjr_workflow_form_relation t2 ON t1.id = CAST(t2.form_key_value AS SIGNED)
+        LEFT JOIN xjr_user t3 ON t1.handle_duty_user_id = t3.id
+        LEFT JOIN xjr_user t4 ON t1.handle_user_id = t4.id
+        LEFT JOIN official_document_received_handle t5 ON t1.id = t5.official_document_received_id
+        LEFT JOIN xjr_dictionary_detail t6 ON t1.received_type = t6.code
+        WHERE t2.current_state = 'COMPLETED'
+        AND t1.delete_mark = 0
+        <if test="dto.loginUserId != null">
+            AND (t1.handle_duty_user_id = #{dto.loginUserId} or t5.receive_user_id = #{dto.loginUserId})
+        </if>
+        <if test="dto.handleUserName != null and dto.handleUserName != ''">
+            AND t4.name like concat('%', #{dto.handleUserName},'%')
+        </if>
+        <if test="dto.handleDutyUserName != null and dto.handleDutyUserName != ''">
+            AND t3.name like concat('%', #{dto.handleDutyUserName},'%')
+        </if>
+        <if test="dto.receivedTitle != null and dto.receivedTitle != ''">
+            AND t1.received_title like concat('%', #{dto.receivedTitle},'%')
+        </if>
+        <if test="dto.isHandle != null">
+            AND t1.is_handle = #{dto.isHandle}
+        </if>
+        <if test="dto.receivedType != null and dto.receivedType != ''">
+            AND t1.received_type like concat('%', #{dto.receivedType},'%')
+        </if>
+        <if test="dto.receivedDateStart != null and dto.receivedDateEnd != ''">
+            AND t1.received_date between and #{dto.receivedDateStart} and #{dto.receivedDateEnd}
+        </if>
+        <if test="dto.handleDateStart != null and dto.handleDateEnd != ''">
+            AND DATE_FORMAT(t1.handle_time, '%Y-%m-%d') between and #{dto.handleDateStart} and #{dto.handleDateEnd}
+        </if>
+        order by t1.id desc
+    </select>
+
+</mapper>

+ 33 - 0
src/main/resources/sqlScript/20250414_sql.sql

@@ -39,6 +39,39 @@ alter table textbook_student_claim
 
 alter table textbook_student_claim
     add claim_source int default 0 comment '确认领取来源(1:个人申领发放,当确认领取不能被修改未领取,2:班级申领发放,可以修改为未领取)' after is_claim;
+ALTER TABLE xjr_oa_news
+  CHANGE type_id type_id INT NULL COMMENT '类型(1-新闻2-公告3-办事指南)',
+  ADD COLUMN guide_show_range VARCHAR (10) NULL COMMENT '办事指南显示范围' AFTER cover;
+
+
+DROP TABLE IF EXISTS `official_document_received_handle`;
+CREATE TABLE `official_document_received_handle`
+(
+id  BIGINT NOT NULL COMMENT '主键编号'
+PRIMARY KEY,
+create_user_id BIGINT NULL COMMENT '创建人',
+create_date DATETIME NULL COMMENT '创建时间',
+modify_user_id BIGINT NULL COMMENT '修改人',
+modify_date DATETIME NULL COMMENT '修改时间',
+delete_mark INT NOT NULL COMMENT '删除标记',
+enabled_mark INT NOT NULL COMMENT '有效标志',
+
+`official_document_received_id` BIGINT NOT NULL COMMENT '公文收文id(official_document_post)',
+`receive_user_id` BIGINT NOT NULL COMMENT '转办人id(xjr_user)',
+`is_handle` INT DEFAULT NULL COMMENT '是否落实',
+`handle_time` DATETIME DEFAULT NULL COMMENT '落实时间',
+`alert_time` DATETIME DEFAULT NULL COMMENT '提醒时间',
+`is_transfer` INT DEFAULT 0 COMMENT '是否转办'
+) ENGINE = INNODB
+  DEFAULT CHARSET = utf8mb4 COMMENT = '公文收文-承办表';
+
+ALTER TABLE official_document_received
+  ADD COLUMN is_handle INT DEFAULT 0 NULL COMMENT '是否已落实',
+  ADD COLUMN handle_time DATETIME NULL COMMENT '落实时间',
+  ADD COLUMN handle_user_id BIGINT NULL COMMENT '落实人';
+
+ALTER TABLE official_document_received
+  ADD COLUMN handle_duty_user_id BIGINT DEFAULT 0 NULL COMMENT '落实负责人';
 
 -- ---------------------------------------------------------------
 -- 教师资格证信息

+ 25 - 0
src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

@@ -4703,4 +4703,29 @@ public class FreeMarkerGeneratorTest {
 
         apiGeneratorService.generateCodes(params);
     }
+
+    @Test
+    public void gcoFficialDocumentPostHand() throws IOException {
+        List<TableConfig> tableConfigs = new ArrayList<>();
+        TableConfig mainTable = new TableConfig();
+        mainTable.setTableName("official_document_received_handle");//init_sql中的表名
+        mainTable.setIsMain(true);//是否是主表,一般默认为true
+        mainTable.setPkField(GlobalConstant.DEFAULT_PK);//设置主键
+        mainTable.setPkType(GlobalConstant.DEFAULT_PK_TYPE);//设置主键类型
+        tableConfigs.add(mainTable);
+
+        ApiGenerateCodesDto params = new ApiGenerateCodesDto();
+        params.setAuthor("dzx");//作者名称
+        params.setPackageName("oa");//包名
+        params.setTableConfigs(tableConfigs);
+        params.setPage(true);//是否生成分页接口
+        params.setImport(false);//是否生成导入接口
+        params.setExport(false);//是否生成导出接口
+        params.setOutMainDir(true);//是否生成在主目录,前期测试可设置成false
+        params.setDs(ds);
+
+        IApiGeneratorService apiGeneratorService = new ApiGeneratorServiceImpl();
+
+        apiGeneratorService.generateCodes(params);
+    }
 }