瀏覽代碼

Merge branch 'dev' of https://git.yingcaibx.com/tl/api into dev

brealinxx 1 年之前
父節點
當前提交
7230752176

+ 9 - 0
src/main/java/com/xjrsoft/common/enums/TextbookTypeEnum.java

@@ -46,4 +46,13 @@ public enum TextbookTypeEnum {
         }
         return null;
     }
+
+    public static String getValue(String code) {
+        for (TextbookTypeEnum item : values()) {
+            if (item.getCode().equals(code)) {
+                return  item.getValue();
+            }
+        }
+        return null;
+    }
 }

+ 45 - 0
src/main/java/com/xjrsoft/module/teacher/controller/TeacherAwardController.java

@@ -0,0 +1,45 @@
+package com.xjrsoft.module.teacher.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto;
+import com.xjrsoft.module.teacher.service.ITeacherAwardItemService;
+import com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo;
+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.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+* @title: 教师奖项
+* @Author dzx
+* @Date: 2024-06-04
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/teacher" + "/teacherAward")
+@Api(value = "/teacher"  + "/teacherAward",tags = "教师获奖代码")
+@AllArgsConstructor
+public class TeacherAwardController {
+
+
+    private final ITeacherAwardItemService teacherAwardItemService;
+
+    @GetMapping(value = "/statistics-page")
+    @ApiOperation(value="教师获奖统计")
+    @SaCheckPermission("teacheraward:detail")
+    public RT<PageOutput<TeacherAwardStatisticsPageVo>> page(@Valid TeacherAwardStatisticsPageDto dto){
+
+        Page<TeacherAwardStatisticsPageVo> voPage = teacherAwardItemService.getStatisticsPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<TeacherAwardStatisticsPageVo> pageOutput = ConventPage.getPageOutput(voPage, TeacherAwardStatisticsPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+}

+ 24 - 0
src/main/java/com/xjrsoft/module/teacher/dto/TeacherAwardStatisticsPageDto.java

@@ -0,0 +1,24 @@
+package com.xjrsoft.module.teacher.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 教师奖项分页查询入参
+* @Author dzx
+* @Date: 2024-06-04
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TeacherAwardStatisticsPageDto extends PageInput {
+
+    @ApiModelProperty(value = "用户名")
+    private String userName;
+
+    @ApiModelProperty(value = "姓名")
+    private String name;
+}

+ 5 - 0
src/main/java/com/xjrsoft/module/teacher/mapper/TeacherAwardItemMapper.java

@@ -1,8 +1,12 @@
 package com.xjrsoft.module.teacher.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto;
 import com.xjrsoft.module.teacher.entity.TeacherAwardItem;
+import com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
 * @title: 教师奖项
@@ -13,4 +17,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface TeacherAwardItemMapper extends MPJBaseMapper<TeacherAwardItem> {
 
+    Page<TeacherAwardStatisticsPageVo> getStatisticsPage(Page<TeacherAwardStatisticsPageVo> page, @Param("dto") TeacherAwardStatisticsPageDto dto);
 }

+ 6 - 0
src/main/java/com/xjrsoft/module/teacher/service/ITeacherAwardItemService.java

@@ -1,7 +1,11 @@
 package com.xjrsoft.module.teacher.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.room.dto.RoomBedPageDto;
+import com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto;
 import com.xjrsoft.module.teacher.entity.TeacherAwardItem;
+import com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo;
 
 /**
 * @title: 教师奖项
@@ -11,4 +15,6 @@ import com.xjrsoft.module.teacher.entity.TeacherAwardItem;
 */
 
 public interface ITeacherAwardItemService extends MPJBaseService<TeacherAwardItem> {
+
+    Page<TeacherAwardStatisticsPageVo> getStatisticsPage(Page<TeacherAwardStatisticsPageVo> page, TeacherAwardStatisticsPageDto dto);
 }

+ 8 - 0
src/main/java/com/xjrsoft/module/teacher/service/impl/TeacherAwardItemServiceImpl.java

@@ -1,9 +1,12 @@
 package com.xjrsoft.module.teacher.service.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto;
 import com.xjrsoft.module.teacher.entity.TeacherAwardItem;
 import com.xjrsoft.module.teacher.mapper.TeacherAwardItemMapper;
 import com.xjrsoft.module.teacher.service.ITeacherAwardItemService;
+import com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -16,4 +19,9 @@ import org.springframework.stereotype.Service;
 @Service
 @AllArgsConstructor
 public class TeacherAwardItemServiceImpl extends MPJBaseServiceImpl<TeacherAwardItemMapper, TeacherAwardItem> implements ITeacherAwardItemService {
+    @Override
+    public Page<TeacherAwardStatisticsPageVo> getStatisticsPage(Page<TeacherAwardStatisticsPageVo> page, TeacherAwardStatisticsPageDto dto) {
+
+        return this.baseMapper.getStatisticsPage(page, dto);
+    }
 }

+ 51 - 0
src/main/java/com/xjrsoft/module/teacher/vo/TeacherAwardStatisticsPageVo.java

@@ -0,0 +1,51 @@
+package com.xjrsoft.module.teacher.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 教师奖项分页列表出参
+* @Author dzx
+* @Date: 2024-06-04
+* @Version 1.0
+*/
+@Data
+public class TeacherAwardStatisticsPageVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("用户id")
+    private Long id;
+    /**
+    * 
+    */
+    @ApiModelProperty("用户名")
+    private String userName;
+    /**
+    * 
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 
+    */
+    @ApiModelProperty("编号")
+    private String code;
+    /**
+    * 
+    */
+    @ApiModelProperty("性别")
+    private String genderCn;
+    /**
+    * 
+    */
+    @ApiModelProperty("手机号")
+    private String mobile;
+    /**
+    * 
+    */
+    @ApiModelProperty("分数")
+    private Double score;
+
+}

+ 7 - 0
src/main/java/com/xjrsoft/module/textbook/controller/TextbookController.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.enums.TextbookTypeEnum;
 import com.xjrsoft.common.model.result.R;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
@@ -86,10 +87,16 @@ public class TextbookController {
                 .leftJoin(TextbookClassRelation.class, TextbookClassRelation::getTextbookId, Textbook::getId)
                 .leftJoin(BaseClassMajorSet.class, BaseClassMajorSet::getClassId, TextbookClassRelation::getClassId)
                 .leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, Textbook::getCourseSubjectId)
+                .eq(dto.getBaseSemesterId() != null && dto.getBaseSemesterId() > 0, Textbook::getBaseSemesterId, dto.getBaseSemesterId())
                 .in(!classIdList.isEmpty(),TextbookClassRelation::getClassId, classIdList)
                 .groupBy(Textbook::getId)
         ;
         IPage<TextbookSubscriptionListVo> page = textbookService.selectJoinListPage(ConventPage.getPage(dto),TextbookSubscriptionListVo.class,textbookMPJLambdaWrapper);
+        for(TextbookSubscriptionListVo t : page.getRecords()){
+            if(t.getTextbookType() != null && !t.getTextbookType().equals("")){
+                t.setTextbookTypeCn(TextbookTypeEnum.getValue(t.getTextbookType()));
+            }
+        }
         PageOutput<TextbookSubscriptionListVo> pageOutput = ConventPage.getPageOutput(page, TextbookSubscriptionListVo.class);
         return RT.ok(pageOutput);
     }

+ 3 - 1
src/main/java/com/xjrsoft/module/textbook/controller/WfTextbookSubscriptionController.java

@@ -129,9 +129,11 @@ public class WfTextbookSubscriptionController {
                 .select("(select sum(student_subscription_number) + sum(teacher_subscription_number) from wf_textbook_subscription_item a where a.wf_textbook_subscription_id = t.id) as sum")
                 .select(WfTextbookSubscription.class,x -> VoToColumnUtil.fieldsToColumns(WfTextbookSubscriptionPageVo.class).contains(x.getProperty()))
                 .leftJoin(BaseSemester.class, BaseSemester::getId, WfTextbookSubscription::getBaseSemesterId)
+                .eq(dto.getBaseSemesterId() != null && dto.getBaseSemesterId() > 0, WfTextbookSubscription::getBaseSemesterId, dto.getBaseSemesterId())
+                .eq(dto.getSubscriptionMethod() != null && dto.getSubscriptionMethod() > 0, WfTextbookSubscription::getSubscriptionMethod, dto.getSubscriptionMethod())
                 .orderByDesc(WfTextbookSubscription::getCreateDate)
         ;
-        IPage<WfTextbookSubscription> page = wfTextbookSubscriptionService.selectJoinListPage(ConventPage.getPage(dto),WfTextbookSubscription.class, queryWrapper);
+        IPage<WfTextbookSubscriptionPageVo> page = wfTextbookSubscriptionService.selectJoinListPage(ConventPage.getPage(dto),WfTextbookSubscriptionPageVo.class, queryWrapper);
         PageOutput<WfTextbookSubscriptionPageVo> pageOutput = ConventPage.getPageOutput(page, WfTextbookSubscriptionPageVo.class);
         return RT.ok(pageOutput);
     }

+ 3 - 0
src/main/java/com/xjrsoft/module/textbook/dto/TextbookSubscriptionListDto.java

@@ -22,4 +22,7 @@ public class TextbookSubscriptionListDto extends PageInput {
     @ExcelProperty("使用班级")
     @ApiModelProperty("使用班级")
     private String classIds;
+
+    @ApiModelProperty("学期id")
+    public Long baseSemesterId;
 }

+ 14 - 1
src/main/java/com/xjrsoft/module/textbook/dto/WfTextbookSubscriptionPageDto.java

@@ -1,5 +1,7 @@
 package com.xjrsoft.module.textbook.dto;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
 import com.xjrsoft.common.page.PageInput;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -22,5 +24,16 @@ import java.util.Date;
 @EqualsAndHashCode(callSuper = false)
 public class WfTextbookSubscriptionPageDto extends PageInput {
 
-
+    /**
+     * 学期ID(base_semester)
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学期ID(base_semester)")
+    @ApiModelProperty("学期ID(base_semester)")
+    private Long baseSemesterId;
+    /**
+     * 征订方式(1:结束 2:未结束)
+     */
+    @ApiModelProperty("征订方式(1:按班级征订 2:按教材征订)")
+    private Integer subscriptionMethod;
 }

+ 12 - 6
src/main/java/com/xjrsoft/module/textbook/service/impl/WfTextbookSubscriptionServiceImpl.java

@@ -46,9 +46,11 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
     @Transactional(rollbackFor = Exception.class)
     public Boolean add(WfTextbookSubscription wfTextbookSubscription) {
         wfTextbookSubscription.setStatus(1);
+        wfTextbookSubscription.setCreateDate(new Date());
         wfTextbookSubscriptionWfTextbookSubscriptionMapper.insert(wfTextbookSubscription);
         for (WfTextbookSubscriptionItem wfTextbookSubscriptionItem : wfTextbookSubscription.getWfTextbookSubscriptionItemList()) {
             wfTextbookSubscriptionItem.setWfTextbookSubscriptionId(wfTextbookSubscription.getId());
+            wfTextbookSubscriptionItem.setCreateDate(new Date());
             wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.insert(wfTextbookSubscriptionItem);
         }
 
@@ -101,19 +103,20 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean changeStatus(UpdateWfTextbookSubscriptionDto dto) {
         WfTextbookSubscription wfTextbookSubscription = this.getById(dto.getId());
         if(wfTextbookSubscription == null){
             return false;
         }
         //点击发起征订
-        if(dto.getStatus() == 2){
+        if(wfTextbookSubscription.getStatus() == 1 && dto.getStatus() == 2){
             WfTextbookSubscription newW = BeanUtil.toBean(dto, WfTextbookSubscription.class);
-            return this.update(newW);
+            return this.updateById(newW);
         }
 
         //点击完成征订
-        if(dto.getStatus() == 3){
+        if(wfTextbookSubscription.getStatus() == 2 && dto.getStatus() == 3){
             //添加征订记录
             List<WfTextbookSubscriptionItem> wfTextbookSubscriptionItemList = wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.selectList(Wrappers.<WfTextbookSubscriptionItem>query().lambda().eq(WfTextbookSubscriptionItem::getWfTextbookSubscriptionId, wfTextbookSubscription.getId()));
             for (WfTextbookSubscriptionItem w : wfTextbookSubscriptionItemList){
@@ -124,11 +127,12 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
                     setWfTextbookSubscriptionItemId(w.getId());//该字段存入征订项的id,征订项中有所属征订记录
                 }});
             }
-            return true;
+            WfTextbookSubscription newW = BeanUtil.toBean(dto, WfTextbookSubscription.class);
+            return this.updateById(newW);
         }
 
         //点击确认入库
-        if(dto.getStatus() == 4){
+        if(wfTextbookSubscription.getStatus() == 3 && dto.getStatus() == 4){
             List<WfTextbookSubscriptionItem> wfTextbookSubscriptionItemList = wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.selectList(Wrappers.<WfTextbookSubscriptionItem>query().lambda().eq(WfTextbookSubscriptionItem::getWfTextbookSubscriptionId, wfTextbookSubscription.getId()));
             for (WfTextbookSubscriptionItem w : wfTextbookSubscriptionItemList){
                 textbookService.deliverWarehouse(new AddTextbookWarehouseRecordDto(){{
@@ -137,7 +141,9 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
                     setSource("wm_manual");
                 }});
             }
+            WfTextbookSubscription newW = BeanUtil.toBean(dto, WfTextbookSubscription.class);
+            return this.updateById(newW);
         }
-        return null;
+        return false;
     }
 }

+ 0 - 56
src/main/java/com/xjrsoft/module/textbook/vo/WfTextbookSubscriptionPageVo.java

@@ -31,13 +31,6 @@ public class WfTextbookSubscriptionPageVo {
     @ApiModelProperty("主键编号")
     private String id;
     /**
-    * 创建人
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("创建人")
-    @ApiModelProperty("创建人")
-    private Long createUserId;
-    /**
     * 创建时间
     */
     @ContentStyle(dataFormat = 49)
@@ -45,41 +38,6 @@ public class WfTextbookSubscriptionPageVo {
     @ApiModelProperty("创建时间")
     private Date createDate;
     /**
-    * 修改人
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("修改人")
-    @ApiModelProperty("修改人")
-    private Long modifyUserId;
-    /**
-    * 修改时间
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("修改时间")
-    @ApiModelProperty("修改时间")
-    private Date modifyDate;
-    /**
-    * 删除标记
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("删除标记")
-    @ApiModelProperty("删除标记")
-    private Integer deleteMark;
-    /**
-    * 有效标志
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("有效标志")
-    @ApiModelProperty("有效标志")
-    private Integer enabledMark;
-    /**
-    * 序号
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("序号")
-    @ApiModelProperty("序号")
-    private Integer sortCode;
-    /**
     * 申请人
     */
     @ContentStyle(dataFormat = 49)
@@ -108,20 +66,6 @@ public class WfTextbookSubscriptionPageVo {
     @ApiModelProperty("学期ID(base_semester)")
     private String baseSemesterIdCn;
     /**
-    * 学科组管理编号(subject_group)
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("学科组管理编号(subject_group)")
-    @ApiModelProperty("学科组管理编号(subject_group)")
-    private Long subjectGroupId;
-    /**
-    * 备注
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("备注")
-    @ApiModelProperty("备注")
-    private String remark;
-    /**
     * 状态(1:结束 0:未结束)
     */
     @ContentStyle(dataFormat = 49)

+ 23 - 0
src/main/resources/mapper/teacher/TeacherAwardItemMapper.xml

@@ -0,0 +1,23 @@
+<?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.teacher.mapper.TeacherAwardItemMapper">
+    <select id="getStatisticsPage" parameterType="com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto" resultType="com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo">
+        SELECT t1.id, t1.user_name, t1.name,t1.code,t3.name AS gender_cn,t1.mobile,
+        (SELECT SUM(a2.score) FROM teacher_award a1
+        INNER JOIN teacher_award_item a2 ON a1.teacher_award_item_id = a2.id
+        WHERE a1.status = 1 AND a1.delete_mark = 0 AND a2.delete_mark = 0
+        AND a1.applicant_user_id = t1.id
+        ) AS score FROM xjr_user t1
+        INNER JOIN base_teacher t2 ON t1.id = t2.user_id
+        LEFT JOIN xjr_dictionary_detail t3 ON t1.gender = t3.code
+        WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
+        <if test="dto.userName != null and dto.userName != '' ">
+            t1.userName like concat('%', #{dto.userName}, '%')
+        </if>
+        <if test="dto.name != null and dto.name != '' ">
+            t1.name like concat('%', #{dto.name}, '%')
+        </if>
+    </select>
+</mapper>