Commit 703f7049 authored by Administrator's avatar Administrator

导出增加组别,去重复

parent add9c4e9
...@@ -23,6 +23,10 @@ public class BagDelivery extends JaapRecord<BagDelivery> { ...@@ -23,6 +23,10 @@ public class BagDelivery extends JaapRecord<BagDelivery> {
@ApiModelProperty(value = "赛事ID", notes = "赛事ID") @ApiModelProperty(value = "赛事ID", notes = "赛事ID")
private Integer cmptId; private Integer cmptId;
@ApiModelProperty(value = "组别", notes = "组别")
@ExcelField(title = "组别")
private String roadName;
@ApiModelProperty(value = "姓名", notes = "姓名") @ApiModelProperty(value = "姓名", notes = "姓名")
@ExcelField(title = "姓名") @ExcelField(title = "姓名")
private String name; private String name;
......
...@@ -62,72 +62,80 @@ ...@@ -62,72 +62,80 @@
<select id="queryBagDeliveryByPage" resultType="com.dlbridge.jadp.plugins.partner.bean.BagDelivery"> <select id="queryBagDeliveryByPage" resultType="com.dlbridge.jadp.plugins.partner.bean.BagDelivery">
select select
id, c.item_name roadName,
cmpt_id cmptId, a.id,
create_date createDate, a.cmpt_id cmptId,
update_date updateDate, a.create_date createDate,
name, a.update_date updateDate,
mark_no markNo, a.name,
phone, a.mark_no markNo,
province, a.phone,
province_code provinceCode, a.province,
city, a.province_code provinceCode,
city_code cityCode, a.city,
area, a.city_code cityCode,
area_code areaCode, a.area,
location, a.area_code areaCode,
delivery_no deliveryNo, a.location,
express_company expressCompany, a.delivery_no deliveryNo,
remark, a.express_company expressCompany,
status a.remark,
from bag_delivery a.status
where del_flag = 0 from bag_delivery a
LEFT JOIN geerunner.cmpt_enroll b ON a.cmpt_id=b.cmpt_id AND a.mark_no=b.nick_id
LEFT JOIN geerunner.cmpt_item c ON c.cmpt_id=b.cmpt_id AND b.cmpt_item=c.item_id
where a.del_flag = 0
AND b.del_flg=0 AND c.del_flg=0
<include refid="bag-where-sql"/> <include refid="bag-where-sql"/>
order by create_date desc order by a.create_date desc
limit #{page.offset},#{page.size} limit #{page.offset},#{page.size}
</select> </select>
<select id="getBagDeliveryCount" resultType="long"> <select id="getBagDeliveryCount" resultType="long">
select count(1) select count(1)
from bag_delivery from bag_delivery a
where del_flag=0 where a.del_flag=0
<include refid="bag-where-sql"/> <include refid="bag-where-sql"/>
</select> </select>
<select id="queryBagDelivery" resultType="com.dlbridge.jadp.plugins.partner.bean.BagDelivery"> <select id="queryBagDelivery" resultType="com.dlbridge.jadp.plugins.partner.bean.BagDelivery">
select SELECT
id, c.item_name roadName,
cmpt_id cmptId, a.id,
create_date createDate, a.cmpt_id cmptId,
update_date updateDate, a.create_date createDate,
name, a.update_date updateDate,
mark_no markNo, a.name,
phone, a.mark_no markNo,
province, a.phone,
province_code provinceCode, a.province,
city, a.province_code provinceCode,
city_code cityCode, a.city,
area, a.city_code cityCode,
area_code areaCode, a.area,
location, a.area_code areaCode,
delivery_no deliveryNo, a.location,
express_company expressCompany, a.delivery_no deliveryNo,
remark, a.express_company expressCompany,
status a.remark,
from bag_delivery a.status
where del_flag = 0 from gksite.bag_delivery a
LEFT JOIN geerunner.cmpt_enroll b ON a.cmpt_id=b.cmpt_id AND a.mark_no=b.nick_id
LEFT JOIN geerunner.cmpt_item c ON c.cmpt_id=b.cmpt_id AND b.cmpt_item=c.item_id
WHERE a.del_flag = 0
AND b.del_flg=0 AND c.del_flg=0
<include refid="bag-where-sql"/> <include refid="bag-where-sql"/>
</select> </select>
<sql id="bag-where-sql"> <sql id="bag-where-sql">
and cmpt_id = #{param.cmptId} and a.cmpt_id = #{param.cmptId}
<if test="param.status != null"> <if test="param.status != null">
and status=#{param.status} and a.status=#{param.status}
</if> </if>
<if test="param.keyword != null and param.keyword != ''"> <if test="param.keyword != null and param.keyword != ''">
and mark_no like concat('%',#{param.keyword},'%') or name like concat('%',#{param.keyword},'%') or phone like concat('%',#{param.keyword},'%') and a.mark_no like concat('%',#{param.keyword},'%') or a.name like concat('%',#{param.keyword},'%') or a.phone like concat('%',#{param.keyword},'%')
</if> </if>
<if test="param.markNo != null and param.markNo != ''"> <if test="param.markNo != null and param.markNo != ''">
and mark_no = #{param.markNo} and a.mark_no = #{param.markNo}
</if> </if>
</sql> </sql>
......
...@@ -19,7 +19,10 @@ import javax.annotation.Resource; ...@@ -19,7 +19,10 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
@Service @Service
@Log4j2 @Log4j2
...@@ -97,12 +100,31 @@ public class BagDeliveryService { ...@@ -97,12 +100,31 @@ public class BagDeliveryService {
Cmpt cmpt = cmptService.queryCmptBycmptId(param.getCmptId()); Cmpt cmpt = cmptService.queryCmptBycmptId(param.getCmptId());
ExportExcel exportExcel = new ExportExcel(null, BagDelivery.class, 1, null); ExportExcel exportExcel = new ExportExcel(null, BagDelivery.class, 1, null);
List<BagDelivery> list = bagDeliveryMapper.queryBagDelivery(param); List<BagDelivery> list = bagDeliveryMapper.queryBagDelivery(param);
// 去重复
List<BagDelivery> resultList = distinctBagDeliveryList(list);
String downFileName = cmpt.getCmptName() + "-赛包邮寄名单" + DateUtils.getDateTimes() + ".xlsx"; String downFileName = cmpt.getCmptName() + "-赛包邮寄名单" + DateUtils.getDateTimes() + ".xlsx";
exportExcel.setDataList(list); exportExcel.setDataList(resultList);
try { try {
exportExcel.write(response, downFileName); exportExcel.write(response, downFileName);
} catch (IOException e) { } catch (IOException e) {
log.info(e.getMessage(), e); log.info(e.getMessage(), e);
} }
} }
/**
* 去重复
* @param list
* @return
*/
private List<BagDelivery> distinctBagDeliveryList(List<BagDelivery> list){
List<BagDelivery> deliveries = new ArrayList<>();
Set<String> markNoSet = new HashSet<>();
for(BagDelivery bag : list){
if(!markNoSet.contains(bag.getMarkNo())){
markNoSet.add(bag.getMarkNo());
deliveries.add(bag);
}
}
return deliveries;
}
} }
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