Browse Source

会议通知

大数据与最优化研究所 1 week ago
parent
commit
c9515b2dd5

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

@@ -3,6 +3,7 @@ package com.xjrsoft.module.oa.service.impl;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -16,6 +17,7 @@ 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.*;
@@ -87,6 +89,8 @@ public class WfMeetingApplyServiceImpl extends MPJBaseServiceImpl<WfMeetingApply
 
     private final FileMapper fileMapper;
 
+    private final CommonPropertiesConfig propertiesConfig;
+
     @Override
     public List<MeetingRoomListVo> listMeetingRoom(MeetingRoomListDto dto) {
         List<MeetingRoomListVo> usableResult = new ArrayList<>();
@@ -629,9 +633,9 @@ public class WfMeetingApplyServiceImpl extends MPJBaseServiceImpl<WfMeetingApply
         wrapper
                 .disableSubLogicDel()
                 .select(WfMeetingApply::getId)
+                .select(WfMeetingApply.class, x -> VoToColumnUtil.fieldsToColumns(WfMeetingApply.class).contains(x.getProperty()))
                 .selectAs(MeetingRoom::getName, WfMeetingApply::getMeetingSummary) // 将会议室的名称暂时放在会议纪要字段中
                 .selectAs(XjrUser::getName, WfMeetingApply::getMonogramTheme) // 将会议发起人名称暂时放在会标主题字段中
-                .select(WfMeetingApply.class, x -> VoToColumnUtil.fieldsToColumns(WfMeetingApply.class).contains(x.getProperty()))
                 .leftJoin(MeetingRoom.class, MeetingRoom::getId, WfMeetingApply::getMeetingRoomId)
                 .leftJoin(XjrUser.class, XjrUser::getId, WfMeetingApply::getSponsorId)
                 .eq(WfMeetingApply::getId, id)
@@ -697,11 +701,14 @@ public class WfMeetingApplyServiceImpl extends MPJBaseServiceImpl<WfMeetingApply
                     weChatSendMessageDto.setUserId(user.getOpenId());
                     weChatSendMessageDto.setTemplateId("Hign0b3e4WSXe__YmBKyDsBgAjkfNYC7c6yIUHjk3Hg");
                     weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextId() + "");
+                    weChatSendMessageDto.setUrl(StrUtil.format("{}pages/meeting/detail?id={}&type=0", propertiesConfig.getDomainApp(), meetingApply.getId()));
                     JSONObject paramJson = new JSONObject();
 
-                    JSONObject thing2 = new JSONObject();
-                    thing2.put("value", meetingApply.getMeetingApplyTheme());
-                    paramJson.put("thing2", thing2);
+                    if(StringUtils.isNotEmpty(meetingApply.getMeetingApplyTheme())){
+                        JSONObject thing2 = new JSONObject();
+                        thing2.put("value", meetingApply.getMeetingApplyTheme());
+                        paramJson.put("thing2", thing2);
+                    }
 
                     JSONObject time5 = new JSONObject();
                     time5.put("value", startTime);
@@ -711,9 +718,17 @@ public class WfMeetingApplyServiceImpl extends MPJBaseServiceImpl<WfMeetingApply
                     time6.put("value", endTime);
                     paramJson.put("time6", time6);
 
-                    JSONObject thing7 = new JSONObject();
-                    thing7.put("value", meetingApply.getMeetingSummary());
-                    paramJson.put("thing7", thing7);
+                    if("HMT0001".equals(meetingApply.getMeetingApplyFormat())){
+                        JSONObject thing7 = new JSONObject();
+                        thing7.put("value", meetingApply.getMeetingApplyUrl());
+                        paramJson.put("thing7", thing7);
+                    }
+
+                    if("HMT0002".equals(meetingApply.getMeetingApplyFormat())){
+                        JSONObject thing7 = new JSONObject();
+                        thing7.put("value", meetingApply.getMeetingSummary());
+                        paramJson.put("thing7", thing7);
+                    }
 
                     JSONObject thing8 = new JSONObject();
                     thing8.put("value", meetingApply.getMonogramTheme());

+ 25 - 0
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookStudentClaimServiceImpl.java

@@ -198,6 +198,7 @@ public class TextbookStudentClaimServiceImpl extends MPJBaseServiceImpl<Textbook
         Long loginId = StpUtil.getLoginIdAsLong();
 
         dto.setStudentUserId(loginId);
+
         // 获取当前学生的信息
         MPJLambdaWrapper<BaseStudentSchoolRoll> baseStudentSchoolRollMPJLambdaWrapper = new MPJLambdaWrapper<>();
         baseStudentSchoolRollMPJLambdaWrapper
@@ -221,6 +222,30 @@ public class TextbookStudentClaimServiceImpl extends MPJBaseServiceImpl<Textbook
             result.setBaseSemesterCN(baseSemester.getName());
         }
 
+        // 学生教材应该以班级课程管理所维护的教材为基础
+        MPJLambdaWrapper<BaseClassAdminCourse> courseMPJLambdaWrapper = new MPJLambdaWrapper<>();
+        courseMPJLambdaWrapper
+                .disableSubLogicDel()
+                .selectAs(WfTextbookClaimItem::getTextbookId, HeadTeaLookClassBookCategoryDetailVo::getTextbookId)
+                .selectAs(Textbook::getBookName, HeadTeaLookClassBookCategoryDetailVo::getBookName)
+                .selectAs(Textbook::getPrice, HeadTeaLookClassBookCategoryDetailVo::getPrice)
+                .selectAs(Textbook::getTextbookType, HeadTeaLookClassBookCategoryDetailVo::getTextbookType)
+                .innerJoin(BaseClassCourse.class, BaseClassCourse::getClassId, BaseClassAdminCourse::getId)
+                .innerJoin(Textbook.class, Textbook::getId, BaseClassCourse::getTextbookId)
+                .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, Textbook::getTextbookType,
+                        wrapper -> wrapper
+                                .selectAs(DictionaryDetail::getName, HeadTeaLookClassBookCategoryDetailVo::getTextbookTypeCn)
+                )
+                .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, WfTextbookClaim::getClaimType,
+                        wrapper -> wrapper
+                                .selectAs(DictionaryDetail::getName, HeadTeaLookClassBookCategoryDetailVo::getClaimTypeCn)
+                )
+                .eq(WfTextbookClaim::getBaseSemesterId, dto.getBaseSemesterId())
+                .eq(WfTextbookClaim::getClassId, result.getClassId())
+        ;
+        List<HeadTeaLookClassBookCategoryDetailVo> courselList = baseClassAdminCourseMapper.selectJoinList(HeadTeaLookClassBookCategoryDetailVo.class, courseMPJLambdaWrapper);
+
+
         // 学生查看自己的教材来源于两个方面,一个是班级申领教材,一个是个人申领的教材
         // 班级申领教材
         MPJLambdaWrapper<WfTextbookClaimItem> classMPJLambdaWrapper = new MPJLambdaWrapper<>();

+ 1 - 1
src/main/java/com/xjrsoft/module/textbook/vo/HeadTeaLookClassBookCategoryDetailVo.java

@@ -9,7 +9,7 @@ import java.time.LocalDateTime;
 @Data
 public class HeadTeaLookClassBookCategoryDetailVo {
 
-    @ApiModelProperty("书名")
+    @ApiModelProperty("学生领取主键编号")
     private Long textbookStudentClaimId;
 
     @ApiModelProperty("书名")

+ 1 - 1
src/test/java/com/xjrsoft/module/oa/service/impl/WfMeetingApplyServiceImplTest.java

@@ -16,6 +16,6 @@ class WfMeetingApplyServiceImplTest {
 
     @Test
     void noticeParticipants() {
-        wfMeetingApplyService.noticeParticipants(1905133329842712576L);
+        wfMeetingApplyService.noticeParticipants(1910658069004095488L);
     }
 }