Browse Source

Merge branch 'master' of http://49.234.186.218:9000/root/ieplus

mingfu 1 month ago
parent
commit
66362a1a46

+ 11 - 0
back-ui/src/views/dz/teacher/index.vue

@@ -9,6 +9,9 @@
 <!--          @keyup.enter="handleQuery"-->
 <!--        />-->
 <!--      </el-form-item>-->
+      <el-form-item label="代理商" prop="agentId">
+        <IeAgentSelect v-model="queryParams.agentId" placeholder="请选择代理商" filterable clearable style="width: 240px" />
+      </el-form-item>
       <el-form-item label="教师姓名" prop="name">
         <el-input
           v-model="queryParams.name"
@@ -104,6 +107,7 @@
       <el-table-column label="教师ID/账号" align="center" prop="teacherId" />
       <el-table-column label="密码" align="center" prop="password2" />
       <el-table-column label="教师姓名" align="center" prop="name" />
+      <el-table-column label="代理商" align="center" prop="agentName" />
       <el-table-column label="所在学校" align="center" prop="schoolName" />
       <el-table-column label="所在学校班级" align="center" prop="schoolClass" />
       <el-table-column label="培训校区" align="center" prop="campusName" />
@@ -144,6 +148,9 @@
 <!--        <el-form-item label="用户ID" prop="userId">-->
 <!--          <el-input v-model="form.userId" placeholder="请输入用户ID" />-->
 <!--        </el-form-item>-->
+        <el-form-item label="代理商" prop="agentId">
+          <IeAgentSelect v-model="form.agentId" placeholder="请选择代理商" filterable clearable style="width: 100%" />
+        </el-form-item>
         <el-form-item label="教师姓名" prop="name">
           <el-input v-model="form.name" placeholder="请输入教师姓名" />
         </el-form-item>
@@ -284,6 +291,7 @@ import { listAllClass, getClassesBySchoolId, getClassesByCampusId } from "@/api/
 import { batchBindTeacherClass,listAllTeacherClass } from "@/api/dz/teacherclass"
 import {getCampusSchoolList} from "@/api/dz/cards.js";
 import { changeUserStatus } from "@/api/system/user"
+import IeAgentSelect from '@/components/IeAgentSelect/index.vue'
 
 const { proxy } = getCurrentInstance()
 
@@ -326,6 +334,7 @@ const data = reactive({
     pageNum: 1,
     pageSize: 10,
     userId: null,
+    agentId: null,
     schoolId: null,
     campusId: null,
     name: null
@@ -395,6 +404,8 @@ function reset() {
   form.value = {
     teacherId: null,
     userId: null,
+    deptId: null,
+    agentId: null,
     schoolId: null,
     campusId: null,
     name: null,

+ 26 - 0
ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzTeacherController.java

@@ -14,6 +14,8 @@ import com.ruoyi.dz.domain.DzTeacher;
 import com.ruoyi.dz.domain.DzTeacherClass;
 import com.ruoyi.dz.service.IDzClassesService;
 import com.ruoyi.dz.service.IDzTeacherClassService;
+import com.ruoyi.dz.service.IDzAgentService;
+import com.ruoyi.dz.domain.DzAgent;
 import com.ruoyi.enums.UserTypeEnum;
 import com.ruoyi.system.service.ISysUserService;
 import org.apache.commons.collections.CollectionUtils;
@@ -53,6 +55,8 @@ public class DzTeacherController extends BaseController
     private IDzClassesService dzClassesService;
     @Autowired
     private IDzTeacherClassService dzTeacherClassService;
+    @Autowired
+    private IDzAgentService agentService;
 
     /**
      * 查询老师列表
@@ -214,6 +218,28 @@ public class DzTeacherController extends BaseController
                 });
             }
 
+            // 批量查询代理商信息,获取agentName字段
+            List<Long> agentIds = list.stream()
+                    .map(DzTeacher::getAgentId)
+                    .filter(agentId -> agentId != null)
+                    .distinct()
+                    .collect(Collectors.toList());
+            if (!agentIds.isEmpty()) {
+                List<DzAgent> agentList = agentService.selectDzAgentByAgentIds(agentIds);
+                Map<Long, String> agentMap = agentList.stream()
+                        .filter(agent -> agent.getAgentId() != null && agent.getName() != null)
+                        .collect(Collectors.toMap(
+                                DzAgent::getAgentId,
+                                DzAgent::getName,
+                                (existing, replacement) -> existing
+                        ));
+                list.forEach(teacher -> {
+                    if (teacher.getAgentId() != null && agentMap.containsKey(teacher.getAgentId())) {
+                        teacher.setAgentName(agentMap.get(teacher.getAgentId()));
+                    }
+                });
+            }
+
             // 批量查询班级信息,获取schoolClass和campusClass字段
             Set<Long> schoolIds = list.stream()
                     .flatMap(teacher -> java.util.stream.Stream.of(teacher.getSchoolId(),teacher.getCampusId()).filter(id -> id != null))

+ 23 - 0
ie-system/src/main/java/com/ruoyi/dz/domain/DzTeacher.java

@@ -31,6 +31,9 @@ public class DzTeacher extends BaseEntity
     // @Excel(name = "机构ID")
     private Long deptId;
 
+    /** 代理商ID */
+    private Long agentId;
+
     /** 所在校区 */
     // @Excel(name = "所在校区")
     private Long schoolId;
@@ -50,6 +53,10 @@ public class DzTeacher extends BaseEntity
 
     @Excel(name = "所在机构")
     private String deptName;
+    
+    @Excel(name = "代理商")
+    private String agentName;
+    
     private String status;
     
     /** 学校班级ID列表 */
@@ -117,6 +124,14 @@ public class DzTeacher extends BaseEntity
         this.deptName = deptName;
     }
 
+    public String getAgentName() {
+        return agentName;
+    }
+
+    public void setAgentName(String agentName) {
+        this.agentName = agentName;
+    }
+
     public String getSchoolName() {
         return schoolName;
     }
@@ -162,6 +177,14 @@ public class DzTeacher extends BaseEntity
         this.deptId = deptId;
     }
 
+    public Long getAgentId() {
+        return agentId;
+    }
+
+    public void setAgentId(Long agentId) {
+        this.agentId = agentId;
+    }
+
     public void setSchoolId(Long schoolId)
     {
         this.schoolId = schoolId;

+ 33 - 8
ie-system/src/main/java/com/ruoyi/dz/service/impl/DzTeacherClassServiceImpl.java

@@ -1,12 +1,6 @@
 package com.ruoyi.dz.service.impl;
 
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Arrays;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -64,7 +58,7 @@ public class DzTeacherClassServiceImpl implements IDzTeacherClassService
     public List<DzTeacherClass> selectDzTeacherClassByTeacherIds(Collection<Long> teacherIds)
     {
         if (teacherIds == null || teacherIds.isEmpty()) {
-            return new java.util.ArrayList<>();
+            return new ArrayList<>();
         }
         return dzTeacherClassMapper.selectDzTeacherClassByTeacherIds(teacherIds);
     }
@@ -228,10 +222,41 @@ public class DzTeacherClassServiceImpl implements IDzTeacherClassService
                         insert.setClassId(classId);
                         insert.setSchoolId(dzTeacherClass.getSchoolId());
                         insert.setStatus(BoolValues.yes.getValue()); // 设置有效状态
+                        // 设置结束日期:如果当前日期超过4月1日,则设置为第二年的4月1日,否则设置为当年的4月1日
+                        insert.setOutDate(calculateOutDate());
                         return insert;
                     })
                     .collect(Collectors.toList());
             dzTeacherClassMapper.insertBatch(insertList);
         }
     }
+
+    /**
+     * 计算结束日期
+     * 如果当前日期超过4月1日,则设置为第二年的4月1日,否则设置为当年的4月1日
+     * @return 结束日期
+     */
+    private Date calculateOutDate() {
+        Calendar calendar = Calendar.getInstance();
+        int currentYear = calendar.get(Calendar.YEAR);
+        int currentMonth = calendar.get(Calendar.MONTH) + 1; // Calendar.MONTH 从0开始
+        int currentDay = calendar.get(Calendar.DAY_OF_MONTH);
+
+        // 判断当前日期是否超过4月1日
+        if (currentMonth > 4 || (currentMonth == 4 && currentDay > 1)) {
+            // 超过4月1日,设置为第二年的4月1日
+            calendar.set(currentYear + 1, 3, 1); // 月份从0开始,4月是3
+        } else {
+            // 未超过4月1日,设置为当年的4月1日
+            calendar.set(currentYear, 3, 1); // 月份从0开始,4月是3
+        }
+
+        // 将时间设置为0点0分0秒
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+
+        return calendar.getTime();
+    }
 }

+ 6 - 1
ie-system/src/main/resources/mapper/dz/DzTeacherMapper.xml

@@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="teacherId"    column="teacher_id"    />
         <result property="userId"    column="user_id"    />
         <result property="deptId"    column="dept_id"    />
+        <result property="agentId"    column="agent_id"    />
         <result property="schoolId"    column="school_id"    />
         <result property="campusId"    column="campus_id"    />
         <result property="name"    column="name"    />
@@ -16,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectDzTeacherVo">
-        select t1.teacher_id, t1.user_id, t1.school_id, t1.campus_id, t1.dept_id, t1.name,
+        select t1.teacher_id, t1.user_id, t1.school_id, t1.campus_id, t1.dept_id, t1.agent_id, t1.name,
         t2.dept_name ,t3.name school_name
         from dz_teacher t1
         left join sys_dept t2 on t1.dept_id = t2.dept_id
@@ -28,6 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <where>
             <if test="userId != null "> and t1.user_id = #{userId}</if>
             <if test="deptId != null "> and t1.dept_id = #{deptId}</if>
+            <if test="agentId != null "> and t1.agent_id = #{agentId}</if>
             <if test="schoolId != null "> and t1.school_id = #{schoolId}</if>
             <if test="campusId != null "> and t1.campus_id = #{campusId}</if>
             <if test="name != null  and name != ''"> and t1.name like concat('%', #{name}, '%')</if>
@@ -45,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="userId != null">user_id,</if>
             <if test="deptId != null">dept_id,</if>
+            <if test="agentId != null">agent_id,</if>
             <if test="schoolId != null">school_id,</if>
             <if test="campusId != null">campus_id,</if>
             <if test="name != null">name,</if>
@@ -52,6 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
             <if test="deptId != null">#{deptId},</if>
+            <if test="agentId != null">#{agentId},</if>
             <if test="schoolId != null">#{schoolId},</if>
             <if test="campusId != null">#{campusId},</if>
             <if test="name != null">#{name},</if>
@@ -63,6 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="SET" suffixOverrides=",">
             <if test="userId != null">user_id = #{userId},</if>
             <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="agentId != null">agent_id = #{agentId},</if>
             <if test="schoolId != null">school_id = #{schoolId},</if>
             <if test="campusId != null">campus_id = #{campusId},</if>
             <if test="name != null">name = #{name},</if>