change пре 3 година
родитељ
комит
9639447bbf

+ 14 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/inform/InformController.java

@@ -3,6 +3,7 @@ package com.zhongzheng.controller.inform;
 import java.util.List;
 import java.util.Arrays;
 
+import com.zhongzheng.modules.course.vo.CourseUserEducationTypeVo;
 import com.zhongzheng.modules.grade.bo.ClassGradeQueryBo;
 import com.zhongzheng.modules.grade.service.IClassGradeService;
 import com.zhongzheng.modules.grade.vo.ClassGradeStudentVo;
@@ -123,6 +124,19 @@ public class InformController extends BaseController {
         return getDataTable(list);
     }
 
+
+    /**
+     * 查询业务层次下的学员
+     */
+    @ApiOperation("查询业务层次下的学员")
+    @PreAuthorize("@ss.hasPermi('system:grade:list')")
+    @GetMapping("/listGradeService")
+    public TableDataInfo<CourseUserEducationTypeVo> listGradeService(ClassGradeQueryBo bo) {
+        startPage();
+        List<CourseUserEducationTypeVo> list = iClassGradeService.listGradeService(bo);
+        return getDataTable(list);
+    }
+
     /**
      * 有多少学员无该课程或题库
      */

+ 92 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseUserBusinessVo.java

@@ -0,0 +1,92 @@
+package com.zhongzheng.modules.course.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.zhongzheng.modules.grade.vo.ClassGradeStudentVo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * 业务层次视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-10-08
+ */
+@Data
+@ApiModel("业务层次视图对象")
+public class CourseUserBusinessVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long id;
+
+	/** 业务名称 */
+	@Excel(name = "业务名称")
+	@ApiModelProperty("业务名称")
+	private String businessName;
+	/** 备注 */
+	@Excel(name = "备注")
+	@ApiModelProperty("备注")
+	private String remark;
+	/** 项目id */
+	@Excel(name = "项目id")
+	@ApiModelProperty("项目id")
+	private Integer projectId;
+	/** 学年 */
+	@Excel(name = "学年")
+	@ApiModelProperty("学年")
+	private Long schoolYear;
+	/** 0 未启用 1启用 */
+	@Excel(name = "0 未启用 1启用")
+	@ApiModelProperty("0 未启用 1启用")
+	private Integer status;
+
+	/** 编码YW */
+	@ApiModelProperty("编码YW")
+	private String encoder;
+
+	/** 教育类型名称 */
+	@Excel(name = "教育类型名称")
+	@ApiModelProperty("教育类型名称")
+	private String educationName;
+
+
+	@Excel(name = "教育类型id")
+	@ApiModelProperty("教育类型id")
+	private Integer educationId;
+
+	@Excel(name = "教育类型id")
+	@ApiModelProperty("教育类型id")
+	private Integer businessId;
+
+
+	/** 项目名称 */
+	@Excel(name = "项目名称")
+	@ApiModelProperty("项目名称")
+	private String projectName;
+
+	/** 科目名称 */
+	@Excel(name = "科目名称")
+	@ApiModelProperty("科目名称")
+	private String subjectName;
+
+	@Excel(name = "科目id")
+	@ApiModelProperty("科目id")
+	private Integer subjectId;
+
+	@Excel(name = "模板选用ID")
+	@ApiModelProperty("模板选用ID")
+	private Integer templateStatus;
+
+	@Excel(name = "模板选用名称")
+	@ApiModelProperty("模板选用名称")
+	private String templateName;
+
+	@Excel(name = "学员")
+	@ApiModelProperty("学员")
+	private List<ClassGradeStudentVo> classGradeStudentVos;
+}

+ 50 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseUserEducationTypeVo.java

@@ -0,0 +1,50 @@
+package com.zhongzheng.modules.course.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * 教育类型视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-10-08
+ */
+@Data
+@ApiModel("教育类型视图对象")
+public class CourseUserEducationTypeVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long id;
+
+	/** 教育类型名称 */
+	@Excel(name = "教育类型名称")
+	@ApiModelProperty("教育类型名称")
+	private String educationName;
+	/** 编码JY */
+	@Excel(name = "编码JY")
+	@ApiModelProperty("编码JY")
+	private String encoder;
+	/** 备注 */
+	@Excel(name = "备注")
+	@ApiModelProperty("备注")
+	private String remark;
+	/** 0 未启用 1启用 */
+	@Excel(name = "0 未启用 1启用")
+	@ApiModelProperty("0 未启用 1启用")
+	private Integer status;
+
+	@Excel(name = "1,2,3,4 逗号隔开 代表层次1项目类型,2业务类型,3院校,4专业")
+	@ApiModelProperty("1,2,3,4 逗号隔开 代表层次1项目类型,2业务类型,3院校,4专业")
+	private String tireStatus;
+
+	@Excel(name = "项目")
+	@ApiModelProperty("项目")
+	private List<CourseUserProjectTypeVo> courseUserProjectTypeVo;
+}

+ 55 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseUserProjectTypeVo.java

@@ -0,0 +1,55 @@
+package com.zhongzheng.modules.course.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * 项目类型视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-10-08
+ */
+@Data
+@ApiModel("项目类型视图对象")
+public class CourseUserProjectTypeVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long id;
+
+	/** 项目名称 */
+	@Excel(name = "项目名称")
+	@ApiModelProperty("项目名称")
+	private String projectName;
+	/** 编码XM */
+	@Excel(name = "编码XM")
+	@ApiModelProperty("编码XM")
+	private String encoder;
+	/** 备注 */
+	@Excel(name = "备注")
+	@ApiModelProperty("备注")
+	private String remark;
+	/** 教育类型id */
+	@Excel(name = "教育类型id")
+	@ApiModelProperty("教育类型id")
+	private Integer educationId;
+	/** 教育类型名称 */
+	@Excel(name = "教育类型名称")
+	@ApiModelProperty("教育类型名称")
+	private String educationName;
+	/** 0 未启用 1启用 */
+	@Excel(name = "0 未启用 1启用")
+	@ApiModelProperty("0 未启用 1启用")
+	private Integer status;
+
+	/** 业务 */
+	@Excel(name = "业务")
+	@ApiModelProperty("业务")
+	private List<CourseUserBusinessVo> courseUserBusiness;
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeMapper.java

@@ -30,4 +30,6 @@ public interface ClassGradeMapper extends BaseMapper<ClassGrade> {
     List<ClassGradeUserListVo> listGradeInform(ClassGradeQueryBo bo);
 
     List<ClassGradeStudentVo> listGradeStudy(ClassGradeQueryBo bo);
+
+    List<ClassGradeStudentVo> listGradeService(Long id);
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeService.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.grade.service;
 
+import com.zhongzheng.modules.course.vo.CourseUserEducationTypeVo;
 import com.zhongzheng.modules.grade.bo.*;
 import com.zhongzheng.modules.grade.domain.ClassGrade;
 import com.zhongzheng.modules.grade.vo.ClassGradeStudentVo;
@@ -57,4 +58,6 @@ public interface IClassGradeService extends IService<ClassGrade> {
 	List<ClassGradeUserListVo> listGradeInform(ClassGradeQueryBo bo);
 
 	List<ClassGradeStudentVo> listGradeStudy(ClassGradeQueryBo bo);
+
+    List<CourseUserEducationTypeVo> listGradeService(ClassGradeQueryBo bo);
 }

+ 75 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java

@@ -1,12 +1,21 @@
 package com.zhongzheng.modules.grade.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
+import com.zhongzheng.modules.course.bo.CourseEducationTypeQueryBo;
+import com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo;
+import com.zhongzheng.modules.course.service.ICourseBusinessService;
+import com.zhongzheng.modules.course.service.ICourseEducationTierService;
+import com.zhongzheng.modules.course.service.ICourseEducationTypeService;
+import com.zhongzheng.modules.course.service.ICourseProjectTypeService;
+import com.zhongzheng.modules.course.vo.*;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.grade.bo.*;
@@ -55,6 +64,15 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
     @Autowired
     private  IGoodsService iGoodsService;
 
+    @Autowired
+    private ICourseEducationTypeService courseEducationTypeService;
+
+    @Autowired
+    private ICourseProjectTypeService courseProjectTypeService;
+
+    @Autowired
+    private ICourseBusinessService courseBusinessService;
+
     @Autowired
     private IClassGradeSysService classGradeSysService;
 
@@ -259,4 +277,61 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
     public List<ClassGradeStudentVo> listGradeStudy(ClassGradeQueryBo bo) {
         return baseMapper.listGradeStudy(bo);
     }
+
+    @Override
+    public List<CourseUserEducationTypeVo> listGradeService(ClassGradeQueryBo bo) {
+        CourseEducationTypeQueryBo courseEducationTypeQueryBo = new CourseEducationTypeQueryBo();
+        courseEducationTypeQueryBo.setStatus(bo.getStatus());
+        List<CourseUserEducationTypeVo> courseUserEducationTypeVos = entity2EducationVo(courseEducationTypeService.queryList(courseEducationTypeQueryBo));
+        for (CourseUserEducationTypeVo courseUserEducationTypeVo : courseUserEducationTypeVos) {
+            CourseProjectTypeQueryBo courseProjectTypeQueryBo = new CourseProjectTypeQueryBo();
+            courseProjectTypeQueryBo.setStatus(bo.getStatus());
+            courseProjectTypeQueryBo.setEducationId(Convert.toInt(courseUserEducationTypeVo.getId()));
+            List<CourseUserProjectTypeVo> courseUserProjectTypeVos = entity2ServiceProjectVo(courseProjectTypeService.queryList(courseProjectTypeQueryBo));
+            if (CollectionUtils.isNotEmpty(courseUserProjectTypeVos)) {
+                for (CourseUserProjectTypeVo courseUserProjectTypeVo : courseUserProjectTypeVos) {
+                    CourseBusinessQueryBo courseBusinessQueryBo = new CourseBusinessQueryBo();
+                    courseBusinessQueryBo.setStatus(bo.getStatus());
+                    courseBusinessQueryBo.setProjectId(Convert.toInt(courseUserProjectTypeVo.getId()));
+                    List<CourseUserBusinessVo> courseUserBusinessVos = entity2ServiceBusinessVo(courseBusinessService.queryList(courseBusinessQueryBo));
+                    if (CollectionUtils.isNotEmpty(courseUserBusinessVos)) {
+                        for (CourseUserBusinessVo courseUserBusinessVo : courseUserBusinessVos) {
+                            List<ClassGradeStudentVo> classGradeStudentVos = baseMapper.listGradeService(courseUserBusinessVo.getId());
+                            courseUserBusinessVo.setClassGradeStudentVos(classGradeStudentVos);
+                        }
+                    }
+                    courseUserProjectTypeVo.setCourseUserBusiness(courseUserBusinessVos);
+                }
+            }
+            courseUserEducationTypeVo.setCourseUserProjectTypeVo(courseUserProjectTypeVos);
+        }
+        return courseUserEducationTypeVos;
+    }
+
+    /**
+     * 实体类转化成视图对象
+     *
+     * @param collection 实体类集合
+     * @return
+     */
+    private List<CourseUserEducationTypeVo> entity2EducationVo(Collection<CourseEducationTypeVo> collection) {
+        List<CourseUserEducationTypeVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CourseUserEducationTypeVo.class))
+                .collect(Collectors.toList());
+        return voList;
+    }
+
+    private List<CourseUserProjectTypeVo> entity2ServiceProjectVo(Collection<CourseProjectTypeVo> collection) {
+        List<CourseUserProjectTypeVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CourseUserProjectTypeVo.class))
+                .collect(Collectors.toList());
+        return voList;
+    }
+
+    private List<CourseUserBusinessVo> entity2ServiceBusinessVo(Collection<CourseBusinessVo> collection) {
+        List<CourseUserBusinessVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CourseUserBusinessVo.class))
+                .collect(Collectors.toList());
+        return voList;
+    }
 }

+ 16 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -412,4 +412,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </foreach>
         </if>
     </select>
+    <select id="listGradeService"  parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo" resultMap="ClassGradeStudentVo">
+        SELECT
+            DISTINCT u.*
+        FROM
+        `user` u
+        LEFT JOIN `order` o ON u.user_id = o.user_id
+        LEFT JOIN order_goods og ON o.order_sn = og.order_sn
+        LEFT JOIN goods g on g.goods_id=og.goods_id
+        WHERE
+        1 = 1
+        AND og.status=1
+        and u.status=1
+        and og.refund_status=0
+        and pay_status in (2,3)
+        and g.business_id =#{businessId}
+    </select>
 </mapper>