瀏覽代碼

公告接口

phoenix 1 年之前
父節點
當前提交
4719adc4ad

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

@@ -91,9 +91,9 @@ public class ProclamationController {
 
     @PutMapping
     @ApiOperation(value = "修改公告")
-    public RT<Boolean> update(@RequestBody UpdateNewsDto updateNewsDto) {
+    public RT<Boolean> update(@RequestBody UpdateProclamationDto updateProclamationDto) {
         //News news = BeanUtil.toBean(updateNewsDto, News.class);
-        return RT.ok(newsService.update(updateNewsDto));
+        return RT.ok(newsService.updateProclamation(updateProclamationDto));
     }
 
     @DeleteMapping

+ 19 - 0
src/main/java/com/xjrsoft/module/oa/dto/UpdateProclamationDto.java

@@ -0,0 +1,19 @@
+package com.xjrsoft.module.oa.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Author: tzx
+ * @Date: 2022/6/27 16:27
+ */
+@Data
+public class UpdateProclamationDto extends AddProclamationDto{
+
+    /**
+     * 主键id
+     */
+    @NotNull(message = "id不能为空!")
+    private Long id;
+}

+ 7 - 0
src/main/java/com/xjrsoft/module/oa/service/INewsService.java

@@ -68,6 +68,13 @@ public interface INewsService extends MPJBaseService<News> {
      */
     Boolean changeStatus(ChangeNewsDto changeNewsDto);
 
+    /**
+     * 修改公告
+     * @param updateProclamationDto
+     * @return
+     */
+    boolean updateProclamation(UpdateProclamationDto updateProclamationDto);
+
     /**
      * 添加新闻
      *

+ 52 - 0
src/main/java/com/xjrsoft/module/oa/service/impl/NewsServiceImpl.java

@@ -139,6 +139,8 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
         News news = BeanUtil.toBean(addProclamationDto, News.class);
         news.setTypeId(2);
         news.setEnabledMark(EnabledMark.ENABLED.getCode());
+        LambdaQueryWrapper<News> queryWrapperSortcode = new LambdaQueryWrapper<>();
+        //queryWrapperSortcode.select("SELECT IFNULL(MAX(sort_code),1)");
         newsMapper.insert(news);
 
         //添加附件子表
@@ -407,6 +409,56 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
         return this.updateById(xjrNews);
     }
 
+    @Override
+    public boolean updateProclamation(UpdateProclamationDto updateProclamationDto) {
+        News news = BeanUtil.toBean(updateProclamationDto, News.class);
+        news.setModifyDate(LocalDateTime.now());
+        news.setModifyUserId(StpUtil.getLoginIdAsLong());
+        newsMapper.updateById(news);
+
+        newsAppendixMapper.delete(Wrappers.lambdaQuery(NewsAppendix.class).eq(NewsAppendix::getNewsId, news.getId()));
+        if (updateProclamationDto.getAppendixList() != null) {
+            for (AddNewsAppendixDto appendixDto : updateProclamationDto.getAppendixList()) {
+                NewsAppendix newsAppendix = BeanUtil.toBean(appendixDto, NewsAppendix.class);
+                newsAppendix.setNewsId(news.getId());
+                newsAppendixMapper.insert(newsAppendix);
+            }
+        }
+
+        if (updateProclamationDto.getSendRange() == 3 && updateProclamationDto.getRelationList() != null) {
+            newsRelationMapper.delete(Wrappers.lambdaQuery(NewsRelation.class).eq(NewsRelation::getNewsId, news.getId()));
+            newsRelationConfigMapper.delete(Wrappers.lambdaQuery(NewsRelationConfig.class).eq(NewsRelationConfig::getNewsId, news.getId()));
+
+            for (AddNewsRelationDto relationDto : updateProclamationDto.getRelationList()) {
+                if (relationDto.getRelationType() == 1) {
+                    newsRelationConfigMapper.insert(new NewsRelationConfig(){{
+                        setNewsId(news.getId());
+                        setRelationId(relationDto.getRelationId());
+                        setRelationType(relationDto.getRelationType());
+                        setRelationName("部门");
+                    }});
+                }
+                if (relationDto.getRelationType() == 2)  {
+                    newsRelationConfigMapper.insert(new NewsRelationConfig(){{
+                        setNewsId(news.getId());
+                        setRelationId(relationDto.getRelationId());
+                        setRelationType(relationDto.getRelationType());
+                        setRelationName("人员");
+                    }});
+                }
+                if (relationDto.getRelationType() == 3)  {
+                    newsRelationConfigMapper.insert(new NewsRelationConfig(){{
+                        setNewsId(news.getId());
+                        setRelationId(relationDto.getRelationId());
+                        setRelationType(relationDto.getRelationType());
+                        setRelationName("班级");
+                    }});
+                }
+            }
+        }
+        return true;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean add(AddNewsDto addNewsDto) {

+ 27 - 24
src/main/java/com/xjrsoft/module/organization/controller/UserController.java

@@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fasterxml.jackson.core.type.TypeReference;
-import com.github.yulichang.toolkit.MPJWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.constant.GlobalConstant;
 import com.xjrsoft.common.enums.EnabledMark;
 import com.xjrsoft.common.enums.RoleEnum;
@@ -117,26 +117,28 @@ public class UserController {
 
         //因为多表关联 会有多个表都使用了id字段,  所以必须专门指定主表的Id
         if (ObjectUtil.isNotNull(dto.getDepartmentId())) {//不为空联合查询
-            IPage<UserPageVo> page = userService.selectJoinListPage(ConventPage.getPage(dto), UserPageVo.class,
-                    MPJWrappers.<User>lambdaJoin()
-                            .disableSubLogicDel()
-                            .distinct()
-                            .like(StrUtil.isNotBlank(dto.getKeyword()), User::getName, dto.getKeyword())
-                            .or(StrUtil.isNotBlank(dto.getKeyword()), x -> x.like(StrUtil.isNotBlank(dto.getKeyword()), User::getCode, dto.getKeyword()))
-                            .in(ObjectUtil.isNotNull(dto.getDepartmentId()), UserDeptRelation::getDeptId, deptIds)
-                            .like(StrUtil.isNotBlank(dto.getUserName()), User::getUserName, dto.getUserName())
-                            .like(StrUtil.isNotBlank(dto.getCode()), User::getCode, dto.getCode())
-                            .like(StrUtil.isNotBlank(dto.getName()), User::getName, dto.getName())
-                            .like(StrUtil.isNotBlank(dto.getMobile()), User::getMobile, dto.getMobile())
-                            .eq(ObjectUtil.isNotNull(dto.getUserType()), Role::getId, dto.getUserType())
-                            .orderByDesc(User::getCreateDate)
-                            .select(User::getId)
-                            .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()))
-                            .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, User::getId)
-                            .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, User::getId)
-                            .leftJoin(Role.class, Role::getId, UserRoleRelation::getRoleId));
+            MPJLambdaWrapper<User> queryUser = new MPJLambdaWrapper<>();
+            queryUser
+                    .disableSubLogicDel()
+                    .distinct()
+                    .like(StrUtil.isNotBlank(dto.getKeyword()), User::getName, dto.getKeyword())
+                    .or(StrUtil.isNotBlank(dto.getKeyword()), x -> x.like(StrUtil.isNotBlank(dto.getKeyword()), User::getCode, dto.getKeyword()))
+                    .in(ObjectUtil.isNotNull(dto.getDepartmentId()), UserDeptRelation::getDeptId, deptIds)
+                    .like(StrUtil.isNotBlank(dto.getUserName()), User::getUserName, dto.getUserName())
+                    .like(StrUtil.isNotBlank(dto.getCode()), User::getCode, dto.getCode())
+                    .like(StrUtil.isNotBlank(dto.getName()), User::getName, dto.getName())
+                    .like(StrUtil.isNotBlank(dto.getMobile()), User::getMobile, dto.getMobile())
+                    .eq(ObjectUtil.isNotNull(dto.getUserType()), Role::getId, dto.getUserType())
+                    .orderByDesc(User::getId)
+                    .select(User::getId)
+                    .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()))
+                    .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, User::getId)
+                    .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, User::getId)
+                    .leftJoin(Role.class, Role::getId, UserRoleRelation::getRoleId);
+            IPage<UserPageVo> page = userService.selectJoinListPage(ConventPage.getPage(dto), UserPageVo.class, queryUser);
+
 
-            PageOutput<UserPageVo> pageOutput = ConventPage.getPageOutput(page);
+            PageOutput<UserPageVo> pageOutput = ConventPage.getPageOutput(page, UserPageVo.class);
 
             return R.ok(pageOutput);
         } else {
@@ -152,8 +154,8 @@ public class UserController {
 //
 //            IPage<User> page = userService.page(ConventPage.getPage(dto),queryWrapper);
 
-            IPage<UserPageVo> page = userService.selectJoinListPage(ConventPage.getPage(dto), UserPageVo.class,
-                    MPJWrappers.<User>lambdaJoin()
+                    MPJLambdaWrapper<User> queryUser = new MPJLambdaWrapper<>();
+                    queryUser
                             .disableSubLogicDel()
                             .distinct()
                             .like(StrUtil.isNotBlank(dto.getKeyword()), User::getName, dto.getKeyword())
@@ -163,11 +165,12 @@ public class UserController {
                             .like(StrUtil.isNotBlank(dto.getName()), User::getName, dto.getName())
                             .like(StrUtil.isNotBlank(dto.getMobile()), User::getMobile, dto.getMobile())
                             .eq(ObjectUtil.isNotNull(dto.getUserType()), Role::getId, dto.getUserType())
-                            .orderByDesc(User::getCreateDate)
+                            .orderByDesc(User::getId)
                             .select(User::getId)
                             .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()))
                             .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, User::getId)
-                            .leftJoin(Role.class, Role::getId, UserRoleRelation::getRoleId));
+                            .leftJoin(Role.class, Role::getId, UserRoleRelation::getRoleId);
+            IPage<UserPageVo> page = userService.selectJoinListPage(ConventPage.getPage(dto), UserPageVo.class,queryUser);
             PageOutput<UserPageVo> pageOutput = ConventPage.getPageOutput(page, UserPageVo.class);
             return R.ok(pageOutput);
         }

+ 5 - 5
src/main/java/com/xjrsoft/module/teacher/entity/WfHeadTeacherLeave.java

@@ -92,13 +92,13 @@ public class WfHeadTeacherLeave implements Serializable {
     /**
     * 开始时间
     */
-    @ApiModelProperty("开始时间")
+    @ApiModelProperty("请假日期")
     private Date startTime;
     /**
-    * 结束时间
-    */
-    @ApiModelProperty("结束时间")
-    private Date endTime;
+     * 请假时间段 1=上午 2=下午
+     */
+    @ApiModelProperty("请假时间段 1=上午 2=下午")
+    private Integer timePeriod;
     /**
     * 是否有替班教师(1:是 0:否)
     */

+ 4 - 9
src/main/java/com/xjrsoft/module/teacher/service/impl/WfTeacherleaveServiceImpl.java

@@ -56,7 +56,7 @@ public class WfTeacherleaveServiceImpl extends MPJBaseServiceImpl<WfTeacherleave
                 LocalDateTime afternoonEndDateTime = LocalDateTime.of(startTime.toLocalDate(), LocalTime.of(22, 0, 0));
                 /*
                  *当天是在星期一到星期四,
-                 * 且开始时间早于当天上午区间的开始时间,
+                 * 且开始时间早于当天上午区间的结束时间,
                  * 结束时间晚于当天上午区间的结束时间,
                  * 自动同步一条请假类型为“早自习、课间操”的数据到班主任事项请假列表。
                  */
@@ -71,9 +71,7 @@ public class WfTeacherleaveServiceImpl extends MPJBaseServiceImpl<WfTeacherleave
                         Instant startTimeInstant = startTime.atZone(ZoneId.systemDefault()).toInstant();
                         Date startTimeDate = Date.from(startTimeInstant);
                         setStartTime(startTimeDate);
-                        Instant endTimeInstant = endTime.atZone(ZoneId.systemDefault()).toInstant();
-                        Date endTimeDate = Date.from(endTimeInstant);
-                        setEndTime(endTimeDate);
+                        setTimePeriod(1);
                         setRemark(wfTeacherleave.getReasonForLeave());
                         setStatus(1);
                         if(wfTeacherleave.getLeaveDays() <= 1){
@@ -82,12 +80,11 @@ public class WfTeacherleaveServiceImpl extends MPJBaseServiceImpl<WfTeacherleave
                         if(wfTeacherleave.getLeaveDays() > 1){
                             setSubstituteUserId(wfTeacherleave.getReliefTeacherId());
                         }
-
                     }});
                 }
                 /*
                  * 当天是在星期五,
-                 * 且开始时间早于下午区间的开始时间,
+                 * 且开始时间早于下午区间的结束时间,
                  * 结束时间晚于下午区间的结束时间,
                  * 自动同步一条请假类型为“学生放假”的数据到班主任事项请假列表。
                  */
@@ -102,9 +99,7 @@ public class WfTeacherleaveServiceImpl extends MPJBaseServiceImpl<WfTeacherleave
                     Instant startTimeInstant = startTime.atZone(ZoneId.systemDefault()).toInstant();
                     Date startTimeDate = Date.from(startTimeInstant);
                     wfHeadTeacherLeave.setStartTime(startTimeDate);
-                    Instant endTimeInstant = endTime.atZone(ZoneId.systemDefault()).toInstant();
-                    Date endTimeDate = Date.from(endTimeInstant);
-                    wfHeadTeacherLeave.setEndTime(endTimeDate);
+                    wfHeadTeacherLeave.setTimePeriod(2);
                     wfHeadTeacherLeave.setRemark(wfTeacherleave.getReasonForLeave());
                     wfHeadTeacherLeave.setStatus(1);