瀏覽代碼

Merge branch 'pre'

dzx 1 年之前
父節點
當前提交
3a457ec771
共有 45 個文件被更改,包括 822 次插入65 次删除
  1. 163 0
      src/main/java/com/xjrsoft/module/base/controller/BaseClassDynamicsController.java
  2. 0 2
      src/main/java/com/xjrsoft/module/base/controller/WhitelistManagementController.java
  3. 47 0
      src/main/java/com/xjrsoft/module/base/dto/AddBaseClassDynamicsDto.java
  4. 19 0
      src/main/java/com/xjrsoft/module/base/dto/BaseClassDynamicsPageDto.java
  5. 0 1
      src/main/java/com/xjrsoft/module/base/dto/SetWhitelistEndTimeDto.java
  6. 24 0
      src/main/java/com/xjrsoft/module/base/dto/UpdateBaseClassDynamicsDto.java
  7. 0 8
      src/main/java/com/xjrsoft/module/base/dto/UpdateWhitelistManagementDto.java
  8. 0 7
      src/main/java/com/xjrsoft/module/base/dto/WhitelistManagementPageDto.java
  9. 99 0
      src/main/java/com/xjrsoft/module/base/entity/BaseClassDynamics.java
  10. 16 0
      src/main/java/com/xjrsoft/module/base/mapper/BaseClassDynamicsMapper.java
  11. 0 1
      src/main/java/com/xjrsoft/module/base/mapper/BaseUserStudentMapper.java
  12. 0 2
      src/main/java/com/xjrsoft/module/base/mapper/WhitelistManagementMapper.java
  13. 14 0
      src/main/java/com/xjrsoft/module/base/service/IBaseClassDynamicsService.java
  14. 19 0
      src/main/java/com/xjrsoft/module/base/service/impl/BaseClassDynamicsServiceImpl.java
  15. 0 1
      src/main/java/com/xjrsoft/module/base/service/impl/BaseMajorSetServiceImpl.java
  16. 0 2
      src/main/java/com/xjrsoft/module/base/service/impl/WhitelistManagementServiceImpl.java
  17. 53 0
      src/main/java/com/xjrsoft/module/base/vo/BaseClassDynamicsPageVo.java
  18. 57 0
      src/main/java/com/xjrsoft/module/base/vo/BaseClassDynamicsVo.java
  19. 0 8
      src/main/java/com/xjrsoft/module/base/vo/WhitelistManagementPageVo.java
  20. 0 6
      src/main/java/com/xjrsoft/module/base/vo/WhitelistManagementVo.java
  21. 2 2
      src/main/java/com/xjrsoft/module/databoard/controller/DatadetailController.java
  22. 2 2
      src/main/java/com/xjrsoft/module/ledger/controller/WfSubscriptionController.java
  23. 31 0
      src/main/java/com/xjrsoft/module/liteflow/node/WfMeetingApplyNode.java
  24. 1 1
      src/main/java/com/xjrsoft/module/liteflow/node/WfSubscriptionNode.java
  25. 87 0
      src/main/java/com/xjrsoft/module/oa/entity/WfMeetingApply.java
  26. 1 1
      src/main/java/com/xjrsoft/module/oa/entity/WfSubscription.java
  27. 1 1
      src/main/java/com/xjrsoft/module/oa/entity/WfSubscriptionList.java
  28. 17 0
      src/main/java/com/xjrsoft/module/oa/mapper/WfMeetingApplyMapper.java
  29. 2 2
      src/main/java/com/xjrsoft/module/oa/mapper/WfSubscriptionListMapper.java
  30. 2 2
      src/main/java/com/xjrsoft/module/oa/mapper/WfSubscriptionMapper.java
  31. 16 0
      src/main/java/com/xjrsoft/module/oa/service/IWfMeetingApplyService.java
  32. 2 2
      src/main/java/com/xjrsoft/module/oa/service/IWfSubscriptionService.java
  33. 94 0
      src/main/java/com/xjrsoft/module/oa/service/impl/WfMeetingApplyServiceImpl.java
  34. 6 6
      src/main/java/com/xjrsoft/module/oa/service/impl/WfSubscriptionServiceImpl.java
  35. 1 1
      src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java
  36. 2 0
      src/main/java/com/xjrsoft/module/student/mapper/BaseStudentSchoolRollMapper.java
  37. 2 0
      src/main/java/com/xjrsoft/module/student/service/IBaseStudentSchoolRollService.java
  38. 4 0
      src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentSchoolRollServiceImpl.java
  39. 4 1
      src/main/java/com/xjrsoft/module/textbook/controller/TextbookStudentClaimController.java
  40. 1 0
      src/main/java/com/xjrsoft/module/workflow/listener/ExecutionDelegate.java
  41. 1 1
      src/main/resources/mapper/ledger/WfSubscriptionMapper.xml
  42. 6 1
      src/main/resources/mapper/student/BaseStudentSchoolRollMapper.xml
  43. 0 2
      src/test/java/com/xjrsoft/module/asset/service/impl/WfAssetManageInventoryServiceImplTest.java
  44. 1 2
      src/test/java/com/xjrsoft/module/ledger/service/impl/WfSubscriptionServiceImplTest.java
  45. 25 0
      src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

+ 163 - 0
src/main/java/com/xjrsoft/module/base/controller/BaseClassDynamicsController.java

@@ -0,0 +1,163 @@
+package com.xjrsoft.module.base.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.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.xjrsoft.common.enums.RoleEnum;
+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.base.dto.AddBaseClassDynamicsDto;
+import com.xjrsoft.module.base.dto.BaseClassDynamicsPageDto;
+import com.xjrsoft.module.base.dto.UpdateBaseClassDynamicsDto;
+import com.xjrsoft.module.base.entity.BaseClassDynamics;
+import com.xjrsoft.module.base.entity.BaseUserStudent;
+import com.xjrsoft.module.base.service.IBaseClassDynamicsService;
+import com.xjrsoft.module.base.service.IBaseUserStudentService;
+import com.xjrsoft.module.base.vo.BaseClassDynamicsPageVo;
+import com.xjrsoft.module.base.vo.BaseClassDynamicsVo;
+import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.organization.service.IUserService;
+import com.xjrsoft.module.student.service.IBaseStudentSchoolRollService;
+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.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.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+* @title: 班级动态表
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/base" + "/baseClassDynamics")
+@Api(value = "/base"  + "/baseClassDynamics",tags = "班级动态表代码")
+@AllArgsConstructor
+public class BaseClassDynamicsController {
+
+
+    private final IBaseClassDynamicsService baseClassDynamicsService;
+    private final IBaseStudentSchoolRollService rollService;
+    private final IBaseUserStudentService userStudentService;
+    private final IUserService userService;
+    private final IFileService fileService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="班级动态表列表(分页)")
+    @SaCheckPermission("baseclassdynamics:detail")
+    public RT<PageOutput<BaseClassDynamicsPageVo>> page(@Valid BaseClassDynamicsPageDto dto){
+        List<String> roleList = StpUtil.getRoleList();
+        long userId = StpUtil.getLoginIdAsLong();
+        Integer roleType = null;
+        List<Long> classIds = new ArrayList<>();
+        if(roleList.contains("STUDENT")){
+            roleType = 3;
+            classIds.add(rollService.getClassIdByUserId(userId));
+        }
+        if(roleList.contains("PARENT")){
+            roleType = 4;
+            List<BaseUserStudent> list = userStudentService.list(new QueryWrapper<BaseUserStudent>().lambda().eq(BaseUserStudent::getUserId, userId));
+            for (BaseUserStudent userStudent : list) {
+                classIds.add(rollService.getClassIdByUserId(userStudent.getStudentId()));
+            }
+        }
+
+        LambdaQueryWrapper<BaseClassDynamics> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper
+                .orderByDesc(BaseClassDynamics::getId)
+                .select(BaseClassDynamics.class,x -> VoToColumnUtil.fieldsToColumns(BaseClassDynamicsPageVo.class).contains(x.getProperty()))
+                .like(roleType != null, BaseClassDynamics::getRoleType, roleType)
+                .in(!classIds.isEmpty(), BaseClassDynamics::getClassId, classIds)
+        ;
+        IPage<BaseClassDynamics> page = baseClassDynamicsService.page(ConventPage.getPage(dto), queryWrapper);
+        PageOutput<BaseClassDynamicsPageVo> pageOutput = ConventPage.getPageOutput(page, BaseClassDynamicsPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/release-page")
+    @ApiOperation(value="班主任发布列表(分页)")
+    @SaCheckPermission("baseclassdynamics:detail")
+    public RT<PageOutput<BaseClassDynamicsPageVo>> releasePage(@Valid BaseClassDynamicsPageDto dto){
+        long userId = StpUtil.getLoginIdAsLong();
+        LambdaQueryWrapper<BaseClassDynamics> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper
+                .orderByDesc(BaseClassDynamics::getId)
+                .select(BaseClassDynamics.class,x -> VoToColumnUtil.fieldsToColumns(BaseClassDynamicsPageVo.class).contains(x.getProperty()))
+                .eq(BaseClassDynamics::getCreateUserId, userId);
+        IPage<BaseClassDynamics> page = baseClassDynamicsService.page(ConventPage.getPage(dto), queryWrapper);
+        PageOutput<BaseClassDynamicsPageVo> pageOutput = ConventPage.getPageOutput(page, BaseClassDynamicsPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询班级动态表信息")
+    @SaCheckPermission("baseclassdynamics:detail")
+    public RT<BaseClassDynamicsVo> info(@RequestParam Long id){
+        BaseClassDynamics baseClassDynamics = baseClassDynamicsService.getById(id);
+        if (baseClassDynamics == null) {
+           return RT.error("找不到此数据!");
+        }
+        BaseClassDynamicsVo dynamicsVo = BeanUtil.toBean(baseClassDynamics, BaseClassDynamicsVo.class);
+        User user = userService.getById(baseClassDynamics.getCreateUserId());
+        dynamicsVo.setCreateUserName(user.getName());
+
+        if(dynamicsVo.getFolderId() != null){
+            File file = fileService.getOne(new QueryWrapper<File>().lambda().eq(File::getFolderId, dynamicsVo.getFolderId()));
+            if(file != null){
+                dynamicsVo.setFileUrl(file.getFileUrl());
+            }
+        }
+
+        return RT.ok(dynamicsVo);
+    }
+
+
+    @PostMapping
+    @ApiOperation(value = "新增班级动态表")
+    @SaCheckPermission("baseclassdynamics:add")
+    public RT<Boolean> add(@Valid @RequestBody AddBaseClassDynamicsDto dto){
+        BaseClassDynamics baseClassDynamics = BeanUtil.toBean(dto, BaseClassDynamics.class);
+        baseClassDynamics.setCreateDate(new Date());
+        boolean isSuccess = baseClassDynamicsService.save(baseClassDynamics);
+        return RT.ok(isSuccess);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改班级动态表")
+    @SaCheckPermission("baseclassdynamics:edit")
+    public RT<Boolean> update(@Valid @RequestBody UpdateBaseClassDynamicsDto dto){
+
+        BaseClassDynamics baseClassDynamics = BeanUtil.toBean(dto, BaseClassDynamics.class);
+        baseClassDynamics.setModifyDate(new Date());
+        return RT.ok(baseClassDynamicsService.updateById(baseClassDynamics));
+
+    }
+
+    @DeleteMapping
+    @ApiOperation(value = "删除班级动态表")
+    @SaCheckPermission("baseclassdynamics:delete")
+    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
+        return RT.ok(baseClassDynamicsService.removeBatchByIds(ids));
+    }
+
+}

+ 0 - 2
src/main/java/com/xjrsoft/module/base/controller/WhitelistManagementController.java

@@ -3,7 +3,6 @@ package com.xjrsoft.module.base.controller;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.excel.EasyExcel;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.model.result.RT;
@@ -18,7 +17,6 @@ import com.xjrsoft.module.base.entity.WhitelistManagement;
 import com.xjrsoft.module.base.service.IWhitelistManagementService;
 import com.xjrsoft.module.base.vo.WhitelistManagementPageVo;
 import com.xjrsoft.module.base.vo.WhitelistManagementVo;
-import com.xjrsoft.module.room.entity.RoomBed;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;

+ 47 - 0
src/main/java/com/xjrsoft/module/base/dto/AddBaseClassDynamicsDto.java

@@ -0,0 +1,47 @@
+package com.xjrsoft.module.base.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+
+/**
+* @title: 班级动态表
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@Data
+public class AddBaseClassDynamicsDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 班级id
+    */
+    @ApiModelProperty("班级id")
+    private Long classId;
+    /**
+    * 标题
+    */
+    @ApiModelProperty("标题")
+    private String title;
+    /**
+    * 发送范围(学生、家长)
+    */
+    @ApiModelProperty("发送范围(学生、家长)")
+    private String roleType;
+    /**
+    * 内容
+    */
+    @ApiModelProperty("内容")
+    private String content;
+    /**
+    * 附件
+    */
+    @ApiModelProperty("附件")
+    private Long folderId;
+
+}

+ 19 - 0
src/main/java/com/xjrsoft/module/base/dto/BaseClassDynamicsPageDto.java

@@ -0,0 +1,19 @@
+package com.xjrsoft.module.base.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 班级动态表分页查询入参
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseClassDynamicsPageDto extends PageInput {
+
+
+}

+ 0 - 1
src/main/java/com/xjrsoft/module/base/dto/SetWhitelistEndTimeDto.java

@@ -6,7 +6,6 @@ import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.util.List;
 
 

+ 24 - 0
src/main/java/com/xjrsoft/module/base/dto/UpdateBaseClassDynamicsDto.java

@@ -0,0 +1,24 @@
+package com.xjrsoft.module.base.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+
+/**
+* @title: 班级动态表
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@Data
+public class UpdateBaseClassDynamicsDto extends AddBaseClassDynamicsDto {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+}

+ 0 - 8
src/main/java/com/xjrsoft/module/base/dto/UpdateWhitelistManagementDto.java

@@ -2,14 +2,6 @@ package com.xjrsoft.module.base.dto;
 
 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 com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
 
 
 

+ 0 - 7
src/main/java/com/xjrsoft/module/base/dto/WhitelistManagementPageDto.java

@@ -1,16 +1,9 @@
 package com.xjrsoft.module.base.dto;
 
-import com.tencentcloudapi.cam.v20190116.models.StrategyInfo;
 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.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.Date;
 
 
 /**

+ 99 - 0
src/main/java/com/xjrsoft/module/base/entity/BaseClassDynamics.java

@@ -0,0 +1,99 @@
+package com.xjrsoft.module.base.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.util.Date;
+
+
+/**
+* @title: 班级动态表
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@Data
+@TableName("base_class_dynamics")
+@ApiModel(value = "base_class_dynamics", description = "班级动态表")
+public class BaseClassDynamics 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 Date createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改日期
+    */
+    @ApiModelProperty("修改日期")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标记
+    */
+    @ApiModelProperty("有效标记")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 班级id
+    */
+    @ApiModelProperty("班级id")
+    private Long classId;
+    /**
+    * 标题
+    */
+    @ApiModelProperty("标题")
+    private String title;
+    /**
+    * 发送范围(学生、家长)
+    */
+    @ApiModelProperty("发送范围(学生、家长)")
+    private String roleType;
+    /**
+    * 内容
+    */
+    @ApiModelProperty("内容")
+    private String content;
+    /**
+    * 附件
+    */
+    @ApiModelProperty("附件")
+    private Long folderId;
+
+
+}

+ 16 - 0
src/main/java/com/xjrsoft/module/base/mapper/BaseClassDynamicsMapper.java

@@ -0,0 +1,16 @@
+package com.xjrsoft.module.base.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.base.entity.BaseClassDynamics;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 班级动态表
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@Mapper
+public interface BaseClassDynamicsMapper extends MPJBaseMapper<BaseClassDynamics> {
+
+}

+ 0 - 1
src/main/java/com/xjrsoft/module/base/mapper/BaseUserStudentMapper.java

@@ -1,7 +1,6 @@
 package com.xjrsoft.module.base.mapper;
 
 import com.github.yulichang.base.MPJBaseMapper;
-import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.entity.BaseUserStudent;
 import org.apache.ibatis.annotations.Mapper;
 

+ 0 - 2
src/main/java/com/xjrsoft/module/base/mapper/WhitelistManagementMapper.java

@@ -3,11 +3,9 @@ package com.xjrsoft.module.base.mapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.base.dto.WhitelistManagementPageDto;
-import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.entity.WhiteBaseClass;
 import com.xjrsoft.module.base.entity.WhiteBaseGrade;
 import com.xjrsoft.module.base.entity.WhitelistManagement;
-import com.xjrsoft.module.base.service.impl.WhitelistManagementServiceImpl;
 import com.xjrsoft.module.base.vo.WhitelistManagementPageVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;

+ 14 - 0
src/main/java/com/xjrsoft/module/base/service/IBaseClassDynamicsService.java

@@ -0,0 +1,14 @@
+package com.xjrsoft.module.base.service;
+
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.base.entity.BaseClassDynamics;
+
+/**
+* @title: 班级动态表
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+
+public interface IBaseClassDynamicsService extends MPJBaseService<BaseClassDynamics> {
+}

+ 19 - 0
src/main/java/com/xjrsoft/module/base/service/impl/BaseClassDynamicsServiceImpl.java

@@ -0,0 +1,19 @@
+package com.xjrsoft.module.base.service.impl;
+
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.base.entity.BaseClassDynamics;
+import com.xjrsoft.module.base.mapper.BaseClassDynamicsMapper;
+import com.xjrsoft.module.base.service.IBaseClassDynamicsService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+* @title: 班级动态表
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class BaseClassDynamicsServiceImpl extends MPJBaseServiceImpl<BaseClassDynamicsMapper, BaseClassDynamics> implements IBaseClassDynamicsService {
+}

+ 0 - 1
src/main/java/com/xjrsoft/module/base/service/impl/BaseMajorSetServiceImpl.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.base.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.module.base.entity.BaseMajorSet;
 import com.xjrsoft.module.base.mapper.BaseMajorSetMapper;

+ 0 - 2
src/main/java/com/xjrsoft/module/base/service/impl/WhitelistManagementServiceImpl.java

@@ -2,7 +2,6 @@ package com.xjrsoft.module.base.service.impl;
 
 import cn.dev33.satoken.secure.BCrypt;
 import cn.hutool.core.util.IdUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -48,7 +47,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
-import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 /**

+ 53 - 0
src/main/java/com/xjrsoft/module/base/vo/BaseClassDynamicsPageVo.java

@@ -0,0 +1,53 @@
+package com.xjrsoft.module.base.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+* @title: 班级动态表分页列表出参
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@Data
+public class BaseClassDynamicsPageVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private String id;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("发布时间")
+    private Date createDate;
+    /**
+    * 班级id
+    */
+    @ApiModelProperty("班级id")
+    private Long classId;
+    /**
+    * 标题
+    */
+    @ApiModelProperty("标题")
+    private String title;
+    /**
+    * 发送范围(学生、家长)
+    */
+    @ApiModelProperty("发送范围(学生、家长)")
+    private String roleType;
+    /**
+    * 内容
+    */
+    @ApiModelProperty("内容")
+    private String content;
+    /**
+    * 附件
+    */
+    @ApiModelProperty("附件")
+    private Long folderId;
+
+}

+ 57 - 0
src/main/java/com/xjrsoft/module/base/vo/BaseClassDynamicsVo.java

@@ -0,0 +1,57 @@
+package com.xjrsoft.module.base.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+* @title: 班级动态表表单出参
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@Data
+public class BaseClassDynamicsVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+    /**
+    * 班级id
+    */
+    @ApiModelProperty("班级id")
+    private Long classId;
+    /**
+    * 标题
+    */
+    @ApiModelProperty("标题")
+    private String title;
+    /**
+    * 发送范围(学生、家长)
+    */
+    @ApiModelProperty("发送范围(学生、家长)")
+    private String roleType;
+    /**
+    * 内容
+    */
+    @ApiModelProperty("内容")
+    private String content;
+    /**
+    * 附件
+    */
+    @ApiModelProperty("附件")
+    private Long folderId;
+
+    @ApiModelProperty("发布时间")
+    private Date createDate;
+
+    @ApiModelProperty("发布人")
+    private String createUserName;
+
+    @ApiModelProperty("发布人")
+    private String fileUrl;
+
+}

+ 0 - 8
src/main/java/com/xjrsoft/module/base/vo/WhitelistManagementPageVo.java

@@ -1,19 +1,11 @@
 package com.xjrsoft.module.base.vo;
 
 import com.alibaba.excel.annotation.ExcelProperty;
-import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.write.style.ContentStyle;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import com.xjrsoft.common.annotation.Trans;
-import com.xjrsoft.common.enums.TransType;
-
 import java.time.LocalDate;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
 import java.util.Date;
 
 /**

+ 0 - 6
src/main/java/com/xjrsoft/module/base/vo/WhitelistManagementVo.java

@@ -3,12 +3,6 @@ package com.xjrsoft.module.base.vo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Date;
-
 /**
 * @title: 白名单管理表单出参
 * @Author brealinxx

+ 2 - 2
src/main/java/com/xjrsoft/module/databoard/controller/DatadetailController.java

@@ -27,8 +27,8 @@ import com.xjrsoft.module.databoard.vo.ProcessStatisticsDetailVo;
 import com.xjrsoft.module.databoard.vo.StudnetStatisticsDetailVo;
 import com.xjrsoft.module.databoard.vo.SubscriptionStatisticsDetailVo;
 import com.xjrsoft.module.databoard.vo.TeacherStatisticsDetailVo;
-import com.xjrsoft.module.ledger.entity.WfSubscription;
-import com.xjrsoft.module.ledger.service.IWfSubscriptionService;
+import com.xjrsoft.module.oa.entity.WfSubscription;
+import com.xjrsoft.module.oa.service.IWfSubscriptionService;
 import com.xjrsoft.module.student.dto.BaseStudentUserPageDto;
 import com.xjrsoft.module.student.service.IBaseStudentService;
 import com.xjrsoft.module.student.vo.BaseStudentUserPageVo;

+ 2 - 2
src/main/java/com/xjrsoft/module/ledger/controller/WfSubscriptionController.java

@@ -11,8 +11,8 @@ import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.ledger.dto.AddWfSubscriptionDto;
 import com.xjrsoft.module.ledger.dto.WfSubscriptionPageDto;
-import com.xjrsoft.module.ledger.entity.WfSubscription;
-import com.xjrsoft.module.ledger.service.IWfSubscriptionService;
+import com.xjrsoft.module.oa.entity.WfSubscription;
+import com.xjrsoft.module.oa.service.IWfSubscriptionService;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionExcelVo;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionListInfoVo;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionPageVo;

+ 31 - 0
src/main/java/com/xjrsoft/module/liteflow/node/WfMeetingApplyNode.java

@@ -0,0 +1,31 @@
+package com.xjrsoft.module.liteflow.node;
+
+import cn.hutool.core.convert.Convert;
+import com.xjrsoft.module.oa.service.IWfMeetingApplyService;
+import com.yomahub.liteflow.core.NodeComponent;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * 会议通知
+ */
+@Component("wf_meeting_apply_node")
+public class WfMeetingApplyNode extends NodeComponent {
+
+    @Autowired
+    private IWfMeetingApplyService meetingApplyService;
+
+    @Override
+    public void process() throws Exception {
+        // 获取表单中数据编号
+        Map<String, Object> params = this.getFirstContextBean();
+        Object value = util.getFormDatKey(params,"id");
+        Long formId = Convert.toLong(value);
+        if (formId != null) {
+            // 数据处理
+            meetingApplyService.noticeParticipants(formId);
+        }
+    }
+}

+ 1 - 1
src/main/java/com/xjrsoft/module/liteflow/node/WfSubscriptionNode.java

@@ -1,7 +1,7 @@
 package com.xjrsoft.module.liteflow.node;
 
 import cn.hutool.core.convert.Convert;
-import com.xjrsoft.module.ledger.service.IWfSubscriptionService;
+import com.xjrsoft.module.oa.service.IWfSubscriptionService;
 import com.yomahub.liteflow.core.NodeComponent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;

+ 87 - 0
src/main/java/com/xjrsoft/module/oa/entity/WfMeetingApply.java

@@ -0,0 +1,87 @@
+package com.xjrsoft.module.oa.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+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.time.LocalTime;
+
+
+/**
+* @title: 会议申请
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+@Data
+@TableName("wf_meeting_apply")
+@ApiModel(value = "wf_meeting_apply", description = "会议申请")
+public class WfMeetingApply implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableId
+    private Long id;
+
+    @ApiModelProperty("会议日期")
+    private LocalDateTime meetingApplyDate;
+
+    @ApiModelProperty("会议开始时间")
+    private LocalTime meetingApplyS;
+
+    @ApiModelProperty("会议结束时间")
+    private LocalTime meetingApplyE;
+
+    @ApiModelProperty("会议地点")
+    private String meetingApplyAddress;
+
+    @ApiModelProperty("会议形式")
+    private String meetingApplyFormat;
+
+    @ApiModelProperty("参会人员")
+    private String meetingApplyParticipants;
+
+    @ApiModelProperty("主持人")
+    private String meetingApplyHost;
+
+    @ApiModelProperty("会议主题")
+    private String meetingApplyTheme;
+
+    @ApiModelProperty("会议议题")
+    private String meetingApplyTopics;
+
+    @ApiModelProperty("是否准备座牌、会标")
+    private String isMonogram;
+
+    @ApiModelProperty("会标主题")
+    private String monogram;
+
+    @ApiModelProperty("会前消息提醒")
+    private String meetingApplyTip;
+
+    @ApiModelProperty("会前资料")
+    private String meetingApplyPmm;
+
+    @ApiModelProperty("会议签到签退")
+    private String meetingApplySignIn;
+
+    @ApiModelProperty("上传权限")
+    private Integer meetingApplyUp;
+
+    @ApiModelProperty("为参会人员创建工作任务")
+    private Integer meetingApplyMission;
+
+    @ApiModelProperty("下载权限")
+    private Integer meetingApplyDown;
+
+    @ApiModelProperty("状态(0:未通过 1:通过)")
+    private Integer status;
+}

+ 1 - 1
src/main/java/com/xjrsoft/module/ledger/entity/WfSubscription.java → src/main/java/com/xjrsoft/module/oa/entity/WfSubscription.java

@@ -1,4 +1,4 @@
-package com.xjrsoft.module.ledger.entity;
+package com.xjrsoft.module.oa.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;

+ 1 - 1
src/main/java/com/xjrsoft/module/ledger/entity/WfSubscriptionList.java → src/main/java/com/xjrsoft/module/oa/entity/WfSubscriptionList.java

@@ -1,4 +1,4 @@
-package com.xjrsoft.module.ledger.entity;
+package com.xjrsoft.module.oa.entity;
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;

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

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.oa.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.oa.entity.WfMeetingApply;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 物品申购
+* @Author dzx
+* @Date: 2024-02-19
+* @Version 1.0
+*/
+@Mapper
+public interface WfMeetingApplyMapper extends MPJBaseMapper<WfMeetingApply> {
+
+}
+

+ 2 - 2
src/main/java/com/xjrsoft/module/ledger/mapper/WfSubscriptionListMapper.java → src/main/java/com/xjrsoft/module/oa/mapper/WfSubscriptionListMapper.java

@@ -1,7 +1,7 @@
-package com.xjrsoft.module.ledger.mapper;
+package com.xjrsoft.module.oa.mapper;
 
 import com.github.yulichang.base.MPJBaseMapper;
-import com.xjrsoft.module.ledger.entity.WfSubscriptionList;
+import com.xjrsoft.module.oa.entity.WfSubscriptionList;
 import org.apache.ibatis.annotations.Mapper;
 
 /**

+ 2 - 2
src/main/java/com/xjrsoft/module/ledger/mapper/WfSubscriptionMapper.java → src/main/java/com/xjrsoft/module/oa/mapper/WfSubscriptionMapper.java

@@ -1,9 +1,9 @@
-package com.xjrsoft.module.ledger.mapper;
+package com.xjrsoft.module.oa.mapper;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.ledger.dto.WfSubscriptionPageDto;
-import com.xjrsoft.module.ledger.entity.WfSubscription;
+import com.xjrsoft.module.oa.entity.WfSubscription;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionListInfoVo;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionPageVo;
 import org.apache.ibatis.annotations.Mapper;

+ 16 - 0
src/main/java/com/xjrsoft/module/oa/service/IWfMeetingApplyService.java

@@ -0,0 +1,16 @@
+package com.xjrsoft.module.oa.service;
+
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.oa.entity.WfMeetingApply;
+
+/**
+* @title: 会议申请
+* @Author dzx
+* @Date: 2024-09-04
+* @Version 1.0
+*/
+
+public interface IWfMeetingApplyService extends MPJBaseService<WfMeetingApply> {
+
+    void noticeParticipants(Long id);
+}

+ 2 - 2
src/main/java/com/xjrsoft/module/ledger/service/IWfSubscriptionService.java → src/main/java/com/xjrsoft/module/oa/service/IWfSubscriptionService.java

@@ -1,9 +1,9 @@
-package com.xjrsoft.module.ledger.service;
+package com.xjrsoft.module.oa.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.ledger.dto.WfSubscriptionPageDto;
-import com.xjrsoft.module.ledger.entity.WfSubscription;
+import com.xjrsoft.module.oa.entity.WfSubscription;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionExcelVo;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionListInfoVo;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionPageVo;

+ 94 - 0
src/main/java/com/xjrsoft/module/oa/service/impl/WfMeetingApplyServiceImpl.java

@@ -0,0 +1,94 @@
+package com.xjrsoft.module.oa.service.impl;
+
+import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.oa.mapper.WfMeetingApplyMapper;
+import com.xjrsoft.module.oa.entity.WfMeetingApply;
+import com.xjrsoft.module.oa.service.IWfMeetingApplyService;
+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.workflow.entity.WorkflowExtra;
+import com.xjrsoft.module.workflow.entity.WorkflowFormRelation;
+import com.xjrsoft.module.workflow.service.IWorkflowExtraService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.time.format.DateTimeFormatter;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+* @title: 物品申购
+* @Author dzx
+* @Date: 2024-02-19
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class WfMeetingApplyServiceImpl extends MPJBaseServiceImpl<WfMeetingApplyMapper, WfMeetingApply> implements IWfMeetingApplyService {
+
+    private final IUserService userService;
+
+    private final IWeChatService weChatService;
+
+    private final IWorkflowExtraService extraService;
+    @Override
+    public void noticeParticipants(Long id) {
+        WfMeetingApply meetingApply = this.getById(id);
+        if(meetingApply.getMeetingApplyParticipants() == null || meetingApply.getMeetingApplyParticipants().isEmpty()){
+            return;
+        }
+        List<String> userIds = Arrays.asList(meetingApply.getMeetingApplyParticipants().split(","));
+
+        List<User> userList = userService.list(new QueryWrapper<User>().lambda().in(User::getId, userIds).isNotNull(User::getOpenId));
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        String startTime = meetingApply.getMeetingApplyS().format(formatter);
+        String endTime = meetingApply.getMeetingApplyE().format(formatter);
+
+        List<WorkflowExtra> list = extraService.list(
+                new MPJLambdaWrapper<WorkflowExtra>()
+                        .select(WorkflowExtra.class, x -> VoToColumnUtil.fieldsToColumns(WorkflowExtra.class).contains(x.getProperty()))
+                        .innerJoin(WorkflowFormRelation.class, WorkflowFormRelation::getProcessId, WorkflowExtra::getProcessId)
+                        .eq(WorkflowFormRelation::getFormId, id)
+                        .orderByAsc(WorkflowExtra::getStartTime)
+        );
+        String startUserName = list.get(0).getStartUserName();
+
+        for (User user : userList) {
+            WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
+            weChatSendMessageDto.setUserId(user.getOpenId());
+            weChatSendMessageDto.setTemplateId("Hign0b3e4WSXe__YmBKyDsBgAjkfNYC7c6yIUHjk3Hg");
+            weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextId() + "");
+            JSONObject paramJson = new JSONObject();
+
+            JSONObject thing2 = new JSONObject();
+            thing2.put("value", meetingApply.getMeetingApplyTheme());
+            paramJson.put("thing2", thing2);
+
+            JSONObject time5 = new JSONObject();
+            time5.put("value", startTime);
+            paramJson.put("time5", time5);
+
+            JSONObject time6 = new JSONObject();
+            time6.put("value", endTime);
+            paramJson.put("time6", time6);
+
+            JSONObject thing7 = new JSONObject();
+            thing7.put("value", meetingApply.getMeetingApplyAddress());
+            paramJson.put("thing7", thing7);
+
+            JSONObject thing8 = new JSONObject();
+            thing8.put("value", startUserName);
+            paramJson.put("thing8", thing8);
+
+            weChatSendMessageDto.setContent(paramJson);
+            weChatService.sendTemplateMessage(weChatSendMessageDto);
+        }
+    }
+}

+ 6 - 6
src/main/java/com/xjrsoft/module/ledger/service/impl/WfSubscriptionServiceImpl.java → src/main/java/com/xjrsoft/module/oa/service/impl/WfSubscriptionServiceImpl.java

@@ -1,4 +1,4 @@
-package com.xjrsoft.module.ledger.service.impl;
+package com.xjrsoft.module.oa.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -9,11 +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.entity.WfSubscription;
-import com.xjrsoft.module.ledger.entity.WfSubscriptionList;
-import com.xjrsoft.module.ledger.mapper.WfSubscriptionListMapper;
-import com.xjrsoft.module.ledger.mapper.WfSubscriptionMapper;
-import com.xjrsoft.module.ledger.service.IWfSubscriptionService;
+import com.xjrsoft.module.oa.entity.WfSubscription;
+import com.xjrsoft.module.oa.entity.WfSubscriptionList;
+import com.xjrsoft.module.oa.mapper.WfSubscriptionListMapper;
+import com.xjrsoft.module.oa.mapper.WfSubscriptionMapper;
+import com.xjrsoft.module.oa.service.IWfSubscriptionService;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionExcelVo;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionListInfoVo;
 import com.xjrsoft.module.ledger.vo.WfSubscriptionListVo;

+ 1 - 1
src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java

@@ -669,7 +669,7 @@ public class DataUtil {
                 String updSql = "update course_table set teacher_serial_no = '" + teacher_serial_no + "'" +
                         ", teacher_id = " + teacherId
                         + ", teacher_name = '" + teacherName + "', modify_date = now()" +
-                        " ,course_id = " + courseClassId +
+                        " ,course_id = " + courseClassId + ", course_name = '" + courseClassName + "'" +
                         " where schedule_date = '" + scheduleDate + "'and class_id = " + classId + " and time_number = " + timeNumber + ";";
                 updateSqlList.add(updSql);
                 continue;

+ 2 - 0
src/main/java/com/xjrsoft/module/student/mapper/BaseStudentSchoolRollMapper.java

@@ -51,5 +51,7 @@ public interface BaseStudentSchoolRollMapper extends MPJBaseMapper<BaseStudentSc
 
     String getClassNameByUserId(@Param("userId") Long userId);
 
+    Long getClassIdByUserId(@Param("userId") Long userId);
+
 }
 

+ 2 - 0
src/main/java/com/xjrsoft/module/student/service/IBaseStudentSchoolRollService.java

@@ -53,4 +53,6 @@ public interface IBaseStudentSchoolRollService extends MPJBaseService<BaseStuden
     List<BaseStudentSompleInfoVo> getInfosByParam(BaseStudentSimpleInfoDto dto);
 
     String getClassNameByUserId(Long userId);
+
+    Long getClassIdByUserId(Long userId);
 }

+ 4 - 0
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentSchoolRollServiceImpl.java

@@ -211,4 +211,8 @@ public class BaseStudentSchoolRollServiceImpl extends MPJBaseServiceImpl<BaseStu
     public String getClassNameByUserId(Long userId){
         return baseStudentSchoolRollMapper.getClassNameByUserId(userId);
     }
+
+    public Long getClassIdByUserId(Long userId){
+        return baseStudentSchoolRollMapper.getClassIdByUserId(userId);
+    }
 }

+ 4 - 1
src/main/java/com/xjrsoft/module/textbook/controller/TextbookStudentClaimController.java

@@ -65,7 +65,10 @@ public class TextbookStudentClaimController {
         LambdaQueryWrapper<TextbookStudentClaim> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper
                 .orderByDesc(TextbookStudentClaim::getId)
-                .select(TextbookStudentClaim.class,x -> VoToColumnUtil.fieldsToColumns(TextbookStudentClaimPageVo.class).contains(x.getProperty()));
+                .select(TextbookStudentClaim.class,x -> VoToColumnUtil.fieldsToColumns(TextbookStudentClaimPageVo.class).contains(x.getProperty()))
+                .eq(dto.getStudentUserId() != null, TextbookStudentClaim::getStudentUserId, dto.getStudentUserId())
+                .eq(TextbookStudentClaim::getIsClaim, 1)
+        ;
         IPage<TextbookStudentClaim> page = textbookStudentClaimService.page(ConventPage.getPage(dto), queryWrapper);
         PageOutput<TextbookStudentClaimPageVo> pageOutput = ConventPage.getPageOutput(page, TextbookStudentClaimPageVo.class);
         return RT.ok(pageOutput);

+ 1 - 0
src/main/java/com/xjrsoft/module/workflow/listener/ExecutionDelegate.java

@@ -912,6 +912,7 @@ public class ExecutionDelegate implements ExecutionListener {
                 // 更新规则
                 LiteFlowChainELBuilder.createChain().setChainName(chain.getChainName()).setEL(chain.getElData()).build();
                 // 执行规则
+                varMap.put("processDefinitionId", execution.getProcessDefinitionId());
                 flowExecutor.execute2Resp(chain.getChainName(), null,varMap);
             }
 

+ 1 - 1
src/main/resources/mapper/ledger/WfSubscriptionMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.xjrsoft.module.ledger.mapper.WfSubscriptionMapper">
+<mapper namespace="com.xjrsoft.module.oa.mapper.WfSubscriptionMapper">
     <select id="getPage" parameterType="com.xjrsoft.module.ledger.dto.WfSubscriptionPageDto" resultType="com.xjrsoft.module.ledger.vo.WfSubscriptionPageVo">
         select t1.id,t2.name as org_name,t3.name as user_name,t1.shen_qing_ri_qi4752,t1.folder_id,t1.number,t1.total_amount from wf_subscription t1
         left join xjr_department t2 on t1.application_department = t2.id

+ 6 - 1
src/main/resources/mapper/student/BaseStudentSchoolRollMapper.xml

@@ -196,7 +196,12 @@
 
     <select id="getClassNameByUserId" resultType="java.lang.String">
         SELECT t1.name FROM base_class t1
-        INNER JOIN base_student_school_roll ON t1.id = t2.class_id
+        INNER JOIN base_student_school_roll t2 ON t1.id = t2.class_id
+        WHERE t2.user_id = #{userId}
+    </select>
+    <select id="getClassIdByUserId" resultType="java.lang.Long">
+        SELECT t1.id FROM base_class t1
+        INNER JOIN base_student_school_roll t2 ON t1.id = t2.class_id
         WHERE t2.user_id = #{userId}
     </select>
 </mapper>

+ 0 - 2
src/test/java/com/xjrsoft/module/asset/service/impl/WfAssetManageInventoryServiceImplTest.java

@@ -1,12 +1,10 @@
 package com.xjrsoft.module.asset.service.impl;
 
 import com.xjrsoft.module.asset.service.IWfAssetManageInventoryService;
-import com.xjrsoft.module.ledger.service.IWfSubscriptionService;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import static org.junit.jupiter.api.Assertions.*;
 @SpringBootTest
 class WfAssetManageInventoryServiceImplTest {
     @Autowired

+ 1 - 2
src/test/java/com/xjrsoft/module/ledger/service/impl/WfSubscriptionServiceImplTest.java

@@ -1,11 +1,10 @@
 package com.xjrsoft.module.ledger.service.impl;
 
-import com.xjrsoft.module.ledger.service.IWfSubscriptionService;
+import com.xjrsoft.module.oa.service.IWfSubscriptionService;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import static org.junit.jupiter.api.Assertions.*;
 @SpringBootTest
 class WfSubscriptionServiceImplTest {
     @Autowired

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

@@ -3742,4 +3742,29 @@ public class FreeMarkerGeneratorTest {
 
         apiGeneratorService.generateCodes(params);
     }
+
+    @Test
+    public void gcBaseClassDynamics() throws IOException {
+        List<TableConfig> tableConfigs = new ArrayList<>();
+        TableConfig mainTable = new TableConfig();
+        mainTable.setTableName("base_class_dynamics");//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("base");//包名
+        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);
+    }
 }