yangdamao 1 год назад
Родитель
Сommit
4ddd533d02

+ 11 - 6
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -59,6 +59,7 @@ import com.zhongzheng.modules.grade.mapper.ClassGradeUserMapper;
 import com.zhongzheng.modules.grade.service.IClassGradeService;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.grade.service.IUserPeriodService;
+import com.zhongzheng.modules.grade.vo.ClassBusinessVo;
 import com.zhongzheng.modules.grade.vo.ClassGradeUserVo;
 import com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo;
 import com.zhongzheng.modules.grade.vo.SyncGoodsExport;
@@ -936,11 +937,15 @@ public class CommonController extends BaseController {
         return AjaxResult.success(iUserService.studyRecord(customerBos));
     }
 
-//    @ApiOperation("获取业务层次下的所有班级")
-//    @PostMapping("/common/free/class")
-//    public AjaxResult<Void> getBusinessClassList(ClassBusinessQuery query) {
-//        List<UserStudyExportVo> customerBos = EasyPoiUtil.importExcel(file,0,1,UserStudyExportVo.class);
-//        return AjaxResult.success(iUserService.studyRecord(customerBos));
-//    }
+    @ApiOperation("获取业务层次下的所有班级")
+    @PostMapping("/common/free/class")
+    public TableDataInfo<ClassBusinessVo> getBusinessClassList(@RequestBody ClassBusinessQuery query) {
+        if (!ToolsUtils.checkSignFromOldSys(query.getStamp().toString(), query.getSign())) {
+           throw new CustomException("签名错误");
+        }
+        startPage();
+       List<ClassBusinessVo> list = iClassGradeService.getBusinessClassList(query);
+        return getDataTable(list);
+    }
 
 }

+ 18 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/ClassBusinessQuery.java

@@ -1,7 +1,9 @@
 package com.zhongzheng.modules.grade.bo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
 
 /**
@@ -11,7 +13,23 @@ import java.io.Serializable;
 @Data
 public class ClassBusinessQuery implements Serializable {
 
+    @ApiModelProperty("当前时间戳")
+    @NotBlank(message = "当前时间戳不能为空")
+    private Long stamp;
+
+    @ApiModelProperty("签名")
+    @NotBlank(message = "签名不能为空")
+    private String sign;
+
+    @ApiModelProperty("分页大小")
+    private Integer pageSize;
+    /** 当前页数 */
+    @ApiModelProperty("当前页数")
+    private Integer pageNum;
+
     private String eduName;
 
     private String businessName;
+
+    private String tenantId;
 }

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

@@ -117,4 +117,13 @@ public interface ClassGradeMapper extends BaseMapper<ClassGrade> {
 
     @InterceptorIgnore(tenantLine = "true")
     Integer getStudeCountByCodeNoTenant(String sevenCode);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<ClassBusinessVo> getBusinessClassList(ClassBusinessQuery query);
+
+    @InterceptorIgnore(tenantLine = "true")
+    Long getBusinessClassList_COUNT(ClassBusinessQuery query);
+
+    @InterceptorIgnore(tenantLine = "true")
+    ClassGradeVo getClassById(Long gradeId);
 }

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

@@ -119,4 +119,6 @@ public interface IClassGradeService extends IService<ClassGrade> {
     ClassGrade getCodeNoTenant(String officialName, Long tenantId);
 
 	void openOfficialSaveGrade(ClassGradeOpenBo bo);
+
+    List<ClassBusinessVo> getBusinessClassList(ClassBusinessQuery query);
 }

+ 21 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java

@@ -1534,7 +1534,7 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
 
     private Integer getClassUserNumAll(Long gradeId) {
         Integer numAll = 0;
-        ClassGradeVo gradeVo = queryById(gradeId);
+        ClassGradeVo gradeVo = baseMapper.getClassById(gradeId);
         if (Validator.isNotEmpty(gradeVo)
                 && Validator.isNotEmpty(gradeVo.getOfficialName()) && Validator.isEmpty(gradeVo.getSevenCode())) {
             ClassGradeQueryBo queryBo = new ClassGradeQueryBo();
@@ -1954,6 +1954,26 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
         });
     }
 
+    @Override
+    public List<ClassBusinessVo> getBusinessClassList(ClassBusinessQuery query) {
+        List<ClassBusinessVo> businessVos = baseMapper.getBusinessClassList(query);
+        if (CollectionUtils.isEmpty(businessVos)){
+            return new ArrayList<>();
+        }
+        businessVos.forEach(item -> {
+            if (item.getEduName().contains("继续教育") && (
+                    item.getBusinessName().contains("二级建造师") || item.getBusinessName().contains("二级造价师") || item.getBusinessName().contains("施工现场专业人员")
+                    )) {
+                Integer numAll = getClassUserNumAll(item.getGradeId());
+                item.setStudentNum(numAll);
+            } else {
+                Long num = baseMapper.getClassUserNumByTenant(item.getGradeId());
+                item.setStudentNum(num.intValue());
+            }
+        });
+        return businessVos;
+    }
+
     //创建预开班班级
     private void creatClass(List<Long> goodsIds, Long tenantId, String code) {
         goodsIds.forEach(goodsId -> {

+ 31 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassBusinessVo.java

@@ -0,0 +1,31 @@
+package com.zhongzheng.modules.grade.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2024年06月06日 15:23
+ */
+@Data
+public class ClassBusinessVo implements Serializable {
+
+    private Long gradeId;
+
+    private String className;
+
+    private String startTime;
+
+    private String endTime;
+
+    private Integer studentUpper;
+
+    private Integer studentNum;
+
+    private Integer pastDueDay;
+
+    private String eduName;
+
+    private String businessName;
+}

+ 3 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/order/bo/TopOrderBillExportVo.java

@@ -37,12 +37,12 @@ public class TopOrderBillExportVo implements Serializable {
     @Excel(name = "申请日期")
     private String orderTime;
 
-    @Excel(name = "数量")
-    private String orderNum;
-
     @Excel(name = "单价")
     private String unitPrice;
 
+    @Excel(name = "数量")
+    private String orderNum;
+
     @Excel(name = "金额")
     private String priceTotal;
 }

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

@@ -1705,4 +1705,60 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE cg.`status` = 1 AND  cg.seven_code = #{sevenCode}
     </select>
 
+    <select id="getBusinessClassList" resultType="com.zhongzheng.modules.grade.vo.ClassBusinessVo" parameterType="com.zhongzheng.modules.grade.bo.ClassBusinessQuery">
+        SELECT *
+        FROM (
+                 SELECT DISTINCT cg.grade_id,
+                                 cg.class_name,
+                                 DATE_FORMAT(FROM_UNIXTIME(cg.class_start_time), '%Y-%m-%d %H:%i:%s') AS startTime,
+                                 DATE_FORMAT(FROM_UNIXTIME(cg.class_end_time), '%Y-%m-%d %H:%i:%s') AS endTime,
+                                 cg.student_upper,
+                                 cg.past_due_day,
+                                 cg.create_time,
+                                 cet.education_name                         AS eduName,
+                                 CONCAT(cb.business_name, cpt.project_name) AS businessName
+                 FROM class_grade cg
+                          LEFT JOIN class_grade_goods cgg ON cg.grade_id = cgg.grade_id
+                          LEFT JOIN goods g ON cgg.goods_id = g.goods_id
+                          LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+                          LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+                          LEFT JOIN course_business cb ON g.business_id = cb.id
+                 WHERE cg.`status` = 1
+                   AND cg.class_status = 1
+                   AND INSTR(CONCAT(cet.education_name, cb.business_name, cpt.project_name), #{eduName})
+                   AND INSTR(CONCAT(cet.education_name, cb.business_name, cpt.project_name), #{businessName})
+                   AND cg.tenant_id = #{tenantId}
+             ) a ORDER BY a.create_time DESC
+    </select>
+
+    <select id="getBusinessClassList_COUNT" resultType="java.lang.Long" parameterType="com.zhongzheng.modules.grade.bo.ClassBusinessQuery">
+        SELECT count(*)
+        FROM (
+                 SELECT DISTINCT cg.grade_id,
+                                 cg.class_name,
+                                 cg.class_start_time                        AS startTime,
+                                 cg.class_end_time                          AS endTime,
+                                 cg.student_upper,
+                                 cg.past_due_day,
+                                 cg.create_time,
+                                 cet.education_name                         AS eduName,
+                                 CONCAT(cb.business_name, cpt.project_name) AS businessName
+                 FROM class_grade cg
+                          LEFT JOIN class_grade_goods cgg ON cg.grade_id = cgg.grade_id
+                          LEFT JOIN goods g ON cgg.goods_id = g.goods_id
+                          LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+                          LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+                          LEFT JOIN course_business cb ON g.business_id = cb.id
+                 WHERE cg.`status` = 1
+                   AND cg.class_status = 1
+                   AND INSTR(CONCAT(cet.education_name, cb.business_name, cpt.project_name), #{eduName})
+                   AND INSTR(CONCAT(cet.education_name, cb.business_name, cpt.project_name), #{businessName})
+                   AND cg.tenant_id = #{tenantId}
+             ) a ORDER BY a.create_time DESC
+    </select>
+
+    <select id="getClassById" resultType="com.zhongzheng.modules.grade.vo.ClassGradeVo" parameterType="java.lang.Long">
+        SELECT * from class_grade where grade_id = #{gradeId}
+    </select>
+
 </mapper>