王昭 преди 2 години
родител
ревизия
e04fe8144c

+ 24 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPreVisitDao.java

@@ -1,11 +1,34 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.StudentPreVisitDto;
+import com.ym.mec.biz.dal.dto.StudentVisitDto;
 import com.ym.mec.biz.dal.entity.StudentPreVisit;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface StudentPreVisitDao extends BaseDAO<Integer, StudentPreVisit> {
-
+	/**
+	 * 任务批量新增待回访记录
+	 * @param studentPreVisits
+	 * @return
+	 */
 	Integer batchInsert(List<StudentPreVisit> studentPreVisits);
+
+	/**
+	 *
+	 * @param studentId
+	 * @param visitCycle
+	 */
+	void updateVisit(@Param("studentId") Integer studentId, @Param("visitCycle") String visitCycle);
+
+	/**
+	 * 获取访问列表
+	 *
+	 * @param params
+	 * @return
+	 */
+	List<StudentPreVisitDto> getPageList(Map<String, Object> params);
 }

+ 124 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentPreVisitDto.java

@@ -0,0 +1,124 @@
+package com.ym.mec.biz.dal.dto;
+
+public class StudentPreVisitDto {
+    /**  */
+    private Integer id;
+
+    /** 分部 */
+    private Integer organId;
+
+    /** 学生id */
+    private Integer studentId;
+
+    /** 学生姓名 */
+    private String studentName;
+
+    /** 老师id */
+    private Integer teacherId;
+
+    /** 老师姓名 */
+    private String teacherName;
+
+    /** 手机号 */
+    private String phone;
+
+    /** 组织名称 */
+    private String orgname;
+
+    /**  */
+    private Integer tenantId;
+
+    /** 访问状态 0待访问1已访问 */
+    private Integer isVisit;
+
+    /** 访问周期 */
+    private String visitCycle;
+
+    public void setId(Integer id){
+        this.id = id;
+    }
+
+    public Integer getId(){
+        return this.id;
+    }
+
+    public void setOrganId(Integer organId){
+        this.organId = organId;
+    }
+
+    public Integer getOrganId(){
+        return this.organId;
+    }
+
+    public void setStudentId(Integer studentId){
+        this.studentId = studentId;
+    }
+
+    public Integer getStudentId(){
+        return this.studentId;
+    }
+
+    public void setStudentName(String studentName){
+        this.studentName = studentName;
+    }
+
+    public String getStudentName(){
+        return this.studentName;
+    }
+
+    public void setTeacherId(Integer teacherId){
+        this.teacherId = teacherId;
+    }
+
+    public Integer getTeacherId(){
+        return this.teacherId;
+    }
+
+    public void setTeacherName(String teacherName){
+        this.teacherName = teacherName;
+    }
+
+    public String getTeacherName(){
+        return this.teacherName;
+    }
+
+    public void setPhone(String phone){
+        this.phone = phone;
+    }
+
+    public String getPhone(){
+        return this.phone;
+    }
+
+    public void setOrgname(String orgname){
+        this.orgname = orgname;
+    }
+
+    public String getOrgname(){
+        return this.orgname;
+    }
+
+    public void setTenantId(Integer tenantId){
+        this.tenantId = tenantId;
+    }
+
+    public Integer getTenantId(){
+        return this.tenantId;
+    }
+
+    public void setIsVisit(Integer isVisit){
+        this.isVisit = isVisit;
+    }
+
+    public Integer getIsVisit(){
+        return this.isVisit;
+    }
+
+    public void setVisitCycle(String visitCycle){
+        this.visitCycle = visitCycle;
+    }
+
+    public String getVisitCycle(){
+        return this.visitCycle;
+    }
+}

+ 48 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentPreVisitQueryInfo.java

@@ -0,0 +1,48 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class StudentPreVisitQueryInfo extends QueryInfo {
+    @ApiModelProperty(value = "学生姓名或id搜索或者手机号", required = false)
+    private String student;
+
+    @ApiModelProperty(value = "分部id", required = false)
+    private String organId;
+
+    private Integer isVisit;
+
+    private String visitCycle;
+
+    public String getStudent() {
+        return student;
+    }
+
+    public void setStudent(String student) {
+        this.student = student;
+    }
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+
+    public Integer getIsVisit() {
+        return isVisit;
+    }
+
+    public void setIsVisit(Integer isVisit) {
+        this.isVisit = isVisit;
+    }
+
+    public String getVisitCycle() {
+        return visitCycle;
+    }
+
+    public void setVisitCycle(String visitCycle) {
+        this.visitCycle = visitCycle;
+    }
+}

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPreVisitService.java

@@ -1,11 +1,15 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.Student4operating;
+import com.ym.mec.biz.dal.dto.StudentPreVisitDto;
 import com.ym.mec.biz.dal.entity.StudentPreVisit;
+import com.ym.mec.biz.dal.page.StudentPreVisitQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
 
 public interface StudentPreVisitService extends BaseService<Integer, StudentPreVisit> {
     Integer batchInsert(List<Student4operating> student4operatings);
+    PageInfo<StudentPreVisitDto> getPageList(StudentPreVisitQueryInfo queryInfo);
 }

+ 29 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPreVisitServiceImpl.java

@@ -2,17 +2,21 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.StudentPreVisitDao;
 import com.ym.mec.biz.dal.dto.Student4operating;
+import com.ym.mec.biz.dal.dto.StudentPreVisitDto;
+import com.ym.mec.biz.dal.dto.StudentVisitDto;
 import com.ym.mec.biz.dal.entity.StudentPreVisit;
+import com.ym.mec.biz.dal.page.StudentPreVisitQueryInfo;
+import com.ym.mec.biz.dal.page.StudentVisitQueryInfo;
 import com.ym.mec.biz.service.StudentPreVisitService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Service
 public class StudentPreVisitServiceImpl extends BaseServiceImpl<Integer, StudentPreVisit> implements StudentPreVisitService {
@@ -37,10 +41,31 @@ public class StudentPreVisitServiceImpl extends BaseServiceImpl<Integer, Student
 			studentPreVisit.setTeacherId(Integer.parseInt(student4operating.getTeacherId()));
 			studentPreVisit.setTeacherName(student4operating.getTeacherName());
 			studentPreVisit.setOrgname(student4operating.getOrganName());
-			studentPreVisit.setVisitCycle(DateUtil.format(new Date(),"yyyy-MM").toString());
+			studentPreVisit.setVisitCycle(DateUtil.format(new Date(),"yyyy-MM"));
 			studentPreVisit.setIsVisit(0);
 			studentPreVisits.add(studentPreVisit);
 		}
 	return studentPreVisitDao.batchInsert(studentPreVisits);
 	}
+
+
+	@Override
+	public PageInfo<StudentPreVisitDto> getPageList(StudentPreVisitQueryInfo queryInfo) {
+
+		PageInfo<StudentPreVisitDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<StudentPreVisitDto> dataList = new ArrayList<>();
+		int count = this.findCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = studentPreVisitDao.getPageList(params);
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentVisitServiceImpl.java

@@ -43,6 +43,8 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
     private StudentAttendanceDao studentAttendanceDao;
     @Autowired
     private StudentOperatingVisitDao studentOperatingVisitDao;
+    @Autowired
+    private StudentPreVisitDao studentPreVisitDao;
 
 
     @Override
@@ -90,6 +92,8 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
         studentVisitDao.insert(studentVisit);
         //更新学员回访统计数据
         studentOperatingVisitDao.updateVisit(studentVisit.getStudentId(),DateUtil.format(studentVisit.getVisitTime(),DateUtil.ISO_YEAR_MONTH_FORMAT));
+        //更新学员回访状态
+        studentPreVisitDao.updateVisit(studentVisit.getStudentId(),DateUtil.format(studentVisit.getVisitTime(),DateUtil.ISO_YEAR_MONTH_FORMAT));
         return studentVisit;
     }
 

+ 32 - 0
mec-biz/src/main/resources/config/mybatis/StudentPreVisitMapper.xml

@@ -45,6 +45,38 @@
 			(#{item.id},#{item.organId},#{item.studentId},#{item.studentName},#{item.teacherId},#{item.teacherName},#{item.phone},#{item.orgname},#{item.tenantId},#{item.isVisit},#{item.visitCycle})
 		</foreach>
 	</insert>
+	<update id="updateVisit">
+			UPDATE student_pre_visit set is_visit = 1 where visit_cycle =#{visitCycle} and student_id_ = #{studentId}
+	</update>
+
+	<select id="getPageList">
+		SELECT sv.* FROM
+        student_pre_visit sv
+        LEFT JOIN sys_user t ON sv.teacher_id_ = t.id_
+        LEFT JOIN organization o ON sv.organ_id_ = o.id_
+        LEFT JOIN sys_user s ON s.id_ = sv.student_id_
+        LEFT JOIN music_group mg ON sv.music_group_id_ = mg.id_
+		<include refid="queryPageSql"/>
+	</select>
+
+	<sql id="queryPageSql">
+		<where>
+
+			<if test="student !=null  and student != ''" >
+				AND sv.student_id_ = #{student} OR sv.student_name =#{student} or sv.phone = #{student}
+			</if>
+			<if test="organId != null and organId != ''">
+				AND FIND_IN_SET(sv.organ_id_,#{organId})
+			</if>
+			<if test="isVisit != null and isVisit != ''">
+				AND sv.is_visit = #{isVisit}
+			</if>
+			<if test="visitCycle != null and visitCycle != ''">
+				AND sv.visit_cycle = #{visitCycle}
+			</if>
+
+		</where>
+	</sql>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentPreVisit">

+ 14 - 0
mec-web/src/main/java/com/ym/mec/web/controller/VisitController.java

@@ -1,9 +1,12 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.dto.StudentPreVisitDto;
 import com.ym.mec.biz.dal.dto.StudentVisitDto;
 import com.ym.mec.biz.dal.entity.StudentVisit;
+import com.ym.mec.biz.dal.page.StudentPreVisitQueryInfo;
 import com.ym.mec.biz.dal.page.StudentVisitQueryInfo;
 import com.ym.mec.biz.service.OrganizationService;
+import com.ym.mec.biz.service.StudentPreVisitService;
 import com.ym.mec.biz.service.StudentVisitService;
 import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
@@ -28,6 +31,9 @@ public class VisitController extends BaseController {
     @Autowired
     private OrganizationService organizationService;
 
+    @Autowired
+    private StudentPreVisitService studentPreVisitService;
+
     @ApiOperation(value = "回访列表")
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('visit/queryPage')")
@@ -36,6 +42,14 @@ public class VisitController extends BaseController {
         return succeed(studentVisitService.getPageList(queryInfo));
     }
 
+    @ApiOperation(value = "待回访列表")
+    @GetMapping("/queryVisitPage")
+    @PreAuthorize("@pcs.hasPermissions('visit/queryVisitPage')")
+    public HttpResponseResult<PageInfo<StudentPreVisitDto>> queryVisitPage(StudentPreVisitQueryInfo queryInfo) {
+        queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
+        return succeed(studentPreVisitService.getPageList(queryInfo));
+    }
+
     @ApiOperation(value = "添加回访")
     @PostMapping(value = "/add")
     @PreAuthorize("@pcs.hasPermissions('visit/add')")