Commit 703f7049 authored by Administrator's avatar Administrator

导出增加组别,去重复

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