记得上下班打卡 | git大法好,push需谨慎

Commit 2f776f33 authored by 胡佳晨's avatar 胡佳晨

提交 志愿者导出

parent d55fbcb9
...@@ -5,11 +5,10 @@ import com.github.pagehelper.PageInfo; ...@@ -5,11 +5,10 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.controller.BaseController; import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.framework.web.domain.server.Sys; import com.liquidnet.client.admin.framework.web.domain.server.Sys;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVPParam; import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVPSParam; import com.liquidnet.client.admin.zhengzai.smile.dto.*;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVSParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVTSParam;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersProjectService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersProjectService;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersService;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersTeamService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersTeamService;
...@@ -17,6 +16,7 @@ import com.liquidnet.commons.lang.util.JsonUtils; ...@@ -17,6 +16,7 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.goblin.dto.vo.SmileProjectDetailsVo; import com.liquidnet.service.goblin.dto.vo.SmileProjectDetailsVo;
import com.liquidnet.service.goblin.dto.vo.SmileVolunteersDetailsVo; import com.liquidnet.service.goblin.dto.vo.SmileVolunteersDetailsVo;
import com.liquidnet.service.goblin.dto.vo.SmileVolunteersTeamVo; import com.liquidnet.service.goblin.dto.vo.SmileVolunteersTeamVo;
import com.liquidnet.service.smile.entity.SmileVolunteers;
import com.liquidnet.service.smile.entity.SmileVolunteersTeam; import com.liquidnet.service.smile.entity.SmileVolunteersTeam;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -240,4 +240,13 @@ public class SmileVolunteersController extends BaseController { ...@@ -240,4 +240,13 @@ public class SmileVolunteersController extends BaseController {
public AjaxResult auditVolunteers(String projectId, String uid, String teamId, Integer status) { public AjaxResult auditVolunteers(String projectId, String uid, String teamId, Integer status) {
return volunteersService.audit(projectId, uid, teamId, status); return volunteersService.audit(projectId, uid, teamId, status);
} }
@PostMapping("/export")
@ApiOperation("志愿者导出")
@ResponseBody
public AjaxResult exportVolunteers(SmileVSParam param) {
List<VolunteersExportVo> beanList = volunteersService.volunteersExport(param);
ExcelUtil<VolunteersExportVo> util = new ExcelUtil(VolunteersExportVo.class);
return util.exportExcel(beanList, "V");
}
} }
...@@ -40,6 +40,9 @@ ...@@ -40,6 +40,9 @@
class="fa fa-search"></i>&nbsp;搜索</a> class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a> class="fa fa-refresh"></i>&nbsp;重置</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.table.exportExcel()">
<i class="fa fa-download"></i> 导出
</a>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -60,6 +63,7 @@ ...@@ -60,6 +63,7 @@
updateUrl: prefix + "/details/{id}", updateUrl: prefix + "/details/{id}",
// sortName: "sort", // sortName: "sort",
modalName: "审核志愿者", modalName: "审核志愿者",
exportUrl: prefix + "/export",
orderSc: "desc", orderSc: "desc",
orderItem: "created_at", orderItem: "created_at",
columns: [{ columns: [{
......
package com.liquidnet.client.admin.zhengzai.smile.dto;
import com.liquidnet.client.admin.common.annotation.Excel;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dao.OrderExportDao;
import com.liquidnet.service.smile.entity.dto.VolunteersExportDto;
import lombok.Data;
import java.io.Serializable;
@Data
public class VolunteersExportVo implements Serializable, Cloneable{
@Excel(name = "用户姓名", cellType = Excel.ColumnType.STRING)
private String name;
@Excel(name = "证件号", cellType = Excel.ColumnType.STRING)
private String idCard;
@Excel(name = "性别", cellType = Excel.ColumnType.STRING)
private String sex;
@Excel(name = "审核状态", cellType = Excel.ColumnType.STRING)
private String status;
@Excel(name = "学校", cellType = Excel.ColumnType.STRING)
private String school;
// @Excel(name = "学校地址", cellType = Excel.ColumnType.STRING)
// private String schoolAddress;
@Excel(name = "手机号", cellType = Excel.ColumnType.STRING)
private String phone;
@Excel(name = "项目名称", cellType = Excel.ColumnType.STRING)
private String projectName;
@Excel(name = "申请时间", cellType = Excel.ColumnType.STRING)
private String createdAt;
// @Excel(name = "特长", cellType = Excel.ColumnType.STRING)
// private String specialty;
// @Excel(name = "专长", cellType = Excel.ColumnType.STRING)
// private String specialty2;
// @Excel(name = "申请组1名称", cellType = Excel.ColumnType.STRING)
// private String team1;
// @Excel(name = "申请组2名称", cellType = Excel.ColumnType.STRING)
// private String team2;
// @Excel(name = "申请组3名称", cellType = Excel.ColumnType.STRING)
// private String team3;
// @Excel(name = "自我介绍", cellType = Excel.ColumnType.STRING)
// private String introduce;
private static final VolunteersExportVo obj = new VolunteersExportVo();
public static VolunteersExportVo getNew() {
try {
return (VolunteersExportVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new VolunteersExportVo();
}
public VolunteersExportVo copy(VolunteersExportDto source) {
this.setName(source.getName());
this.setIdCard(source.getIdCard());
this.setSex(source.getSex());
this.setStatus(source.getStatus());
this.setSchool(source.getSchool());
// this.setSchoolAddress(source.getSchoolAddress());
this.setPhone(source.getPhone());
this.setProjectName(source.getProjectName());
this.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getCreatedAt()));
// this.setSpecialty(source.getSpecialty());
// this.setSpecialty2(source.getSpecialty2());
// this.setTeam1(source.getTeam1()==null?"":source.getTeam1());
// this.setTeam2(source.getTeam2()==null?"":source.getTeam2());
// this.setTeam3(source.getTeam3()==null?"":source.getTeam3());
// this.setIntroduce(source.getIntroduce());
return this;
}
}
...@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo; ...@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVSParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVSParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.VolunteersExportVo;
import com.liquidnet.service.goblin.dto.vo.SmileVolunteersDetailsVo; import com.liquidnet.service.goblin.dto.vo.SmileVolunteersDetailsVo;
import com.liquidnet.service.smile.entity.SmileVolunteers; import com.liquidnet.service.smile.entity.SmileVolunteers;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -29,4 +30,6 @@ public interface ISmileVolunteersService extends IService<SmileVolunteers> { ...@@ -29,4 +30,6 @@ public interface ISmileVolunteersService extends IService<SmileVolunteers> {
//志愿者详情详情 //志愿者详情详情
SmileVolunteersDetailsVo details(String mid); SmileVolunteersDetailsVo details(String mid);
List<VolunteersExportVo> volunteersExport(SmileVSParam param);
} }
...@@ -8,10 +8,12 @@ import com.github.pagehelper.PageInfo; ...@@ -8,10 +8,12 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVSParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVSParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.VolunteersExportVo;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersService;
import com.liquidnet.service.goblin.dto.vo.SmileVolunteersDetailsVo; import com.liquidnet.service.goblin.dto.vo.SmileVolunteersDetailsVo;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.smile.entity.*; import com.liquidnet.service.smile.entity.*;
import com.liquidnet.service.smile.entity.dto.VolunteersExportDto;
import com.liquidnet.service.smile.mapper.*; import com.liquidnet.service.smile.mapper.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -19,6 +21,7 @@ import org.springframework.stereotype.Service; ...@@ -19,6 +21,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -135,4 +138,21 @@ public class SmileVolunteersServiceImpl extends ServiceImpl<SmileVolunteersMappe ...@@ -135,4 +138,21 @@ public class SmileVolunteersServiceImpl extends ServiceImpl<SmileVolunteersMappe
SmileVolunteersDetailsVo vo = SmileVolunteersDetailsVo.getNew().copy(bean, volunteersTeamList, volunteersProject.getTitle()); SmileVolunteersDetailsVo vo = SmileVolunteersDetailsVo.getNew().copy(bean, volunteersTeamList, volunteersProject.getTitle());
return vo; return vo;
} }
@Override
public List<VolunteersExportVo> volunteersExport(SmileVSParam param) {
HashMap<String, String> map = CollectionUtil.mapStringString();
map.put("name", param.getName());
map.put("phone", param.getPhone());
map.put("team", param.getTeam());
map.put("title", param.getTitle());
map.put("status", param.getStatus() + "");
List<VolunteersExportDto> dtoList = volunteersMapper.expertVolunteer(map);
List<VolunteersExportVo> voList = new ArrayList();
for (VolunteersExportDto dto : dtoList) {
VolunteersExportVo vo = VolunteersExportVo.getNew().copy(dto);
voList.add(vo);
}
return voList;
}
} }
package com.liquidnet.service.smile.entity.dto;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class VolunteersExportDto implements Serializable, Cloneable{
private String name;
private String idCard;
private String sex;
private String status;
private String school;
private String schoolAddress;
private String phone;
private String projectName;
private LocalDateTime createdAt;
private String specialty;
private String specialty2;
private String team1;
private String team2;
private String team3;
private String introduce;
private static final VolunteersExportDto obj = new VolunteersExportDto();
public static VolunteersExportDto getNew() {
try {
return (VolunteersExportDto) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new VolunteersExportDto();
}
}
...@@ -2,6 +2,10 @@ package com.liquidnet.service.smile.mapper; ...@@ -2,6 +2,10 @@ package com.liquidnet.service.smile.mapper;
import com.liquidnet.service.smile.entity.SmileVolunteers; import com.liquidnet.service.smile.entity.SmileVolunteers;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.smile.entity.dto.VolunteersExportDto;
import java.util.HashMap;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +17,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +17,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface SmileVolunteersMapper extends BaseMapper<SmileVolunteers> { public interface SmileVolunteersMapper extends BaseMapper<SmileVolunteers> {
List<VolunteersExportDto> expertVolunteer(HashMap<String, String> param);
} }
...@@ -2,4 +2,72 @@ ...@@ -2,4 +2,72 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.smile.mapper.SmileVolunteersMapper"> <mapper namespace="com.liquidnet.service.smile.mapper.SmileVolunteersMapper">
<resultMap id="volunteersExportDto" type="com.liquidnet.service.smile.entity.dto.VolunteersExportDto">
<result column="name" property="name"/>
<result column="id_card" property="idCard"/>
<result column="sex" property="sex"/>
<result column="status" property="status"/>
<result column="school" property="school"/>
<result column="school_address" property="schoolAddress"/>
<result column="phone" property="phone"/>
<result column="project_name" property="projectName"/>
<result column="created_at" property="createdAt"/>
<result column="specialty" property="specialty"/>
<result column="specialty2" property="specialty2"/>
<result column="team1Name" property="team1"/>
<result column="team2Name" property="team2"/>
<result column="team3Name" property="team3"/>
<result column="introduce" property="introduce"/>
</resultMap>
<select id="expertVolunteer" parameterType="java.util.Map" resultMap="volunteersExportDto">
select sv.name,
id_card,
(CASE
WHEN sex = 0 THEN '未知'
WHEN sex = 1 THEN '男'
WHEN sex = 2 THEN '女'
ELSE '其他' END) as 'sex',
(CASE
WHEN sv.status = 0 THEN '待审核'
WHEN sv.status = 1 THEN '审核通过'
WHEN sv.status = 2 THEN '审核拒绝'
ELSE '其他' END) as 'status',
school,
school_address,
phone,
svp.title as 'project_name',
sv.created_at,
specialty,
specialty2,
svt1.name as 'team1Name',
svt2.name as 'team2Name',
svt3.name as 'team3Name',
sv.introduce
from smile_volunteers as sv
inner join smile_volunteers_project as svp on svp.project_id = sv.project_id
left join smile_volunteers_team as svt1 on svt1.team_id = sv.team_id1
left join smile_volunteers_team as svt2 on svt2.team_id = sv.team_id2
left join smile_volunteers_team as svt3 on svt3.team_id = sv.team_id3
<where>
<if test="title!=''">
AND svp.title like concat('%',#{title},'%')
</if>
<if test="name!=''">
AND sv.name like concat('%',#{name},'%')
</if>
<if test="phone!=''">
AND phone like concat('%',#{phone},'%')
</if>
<if test="status!='-1'">
AND sv.status = #{status}
</if>
<if test="team!=''">
AND (svt1.name = #{team} OR svt2.name = #{team} OR svt3.name = #{team})
</if>
</where>
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment