Commit d5abd6b9 by jianan

来佣比对查询导出csv

parent 5f40c59a
package com.yd.api.commission;
import com.yd.api.agms.vo.fortune.ExportFortunePayRequestVO;
import com.yd.api.agms.vo.fortune.ExportFortunePayResponseVO;
import com.yd.api.commission.service.LifeCommissionService;
import com.yd.api.commission.vo.lifecommission.*;
import com.yd.api.result.CommonResult;
import com.yd.api.result.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
/**
* 核实发放寿险经纪人佣金
*/
......@@ -60,4 +65,18 @@ public class LifeCommissionController {
return result;
}
/**
* AGMS -- 来佣比对列表查询文件导出
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/exportComeCommission")
public Object exportComeCommission(@RequestBody QueryComeCommissionListRequestVO requestVO, HttpServletResponse response) {
JsonResult result = new JsonResult();
ExportComeCommissionResponseVO responseVO = lifeCommissionService.exportComeCommission(requestVO, response);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
\ No newline at end of file
package com.yd.api.commission.service;
import com.yd.api.commission.vo.lifecommission.*;
import com.yd.api.result.CommonResult;
import javax.servlet.http.HttpServletResponse;
public interface LifeCommissionService {
ComeCommissionListResponseVO queryComeCommissionList(QueryComeCommissionListRequestVO requestVO);
......@@ -8,4 +11,6 @@ public interface LifeCommissionService {
CheckComeCommissionResponseVO updateCommissionCheckStatus(CheckComeCommissionRequestVO requestVO);
QuerycheckBatchListResponseVO querycheckBatchList();
ExportComeCommissionResponseVO exportComeCommission(QueryComeCommissionListRequestVO requestVO, HttpServletResponse response);
}
......@@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo;
import com.yd.api.commission.service.LifeCommissionService;
import com.yd.api.commission.vo.lifecommission.*;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.agms.fortune.FortunePayToOrderInfo;
import com.yd.dal.entity.commission.OrderCommissonCheck;
import com.yd.dal.entity.customer.AclCustomerFortune;
import com.yd.dal.entity.order.PoOrder;
......@@ -14,12 +15,15 @@ import com.yd.dal.service.customer.AclCustomerFortuneDALService;
import com.yd.dal.service.order.PoOrderDALService;
import com.yd.rmi.ali.send.service.SendService;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.util.CommonUtil;
import com.yd.util.config.ZHBErrorConfig;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.*;
......@@ -136,6 +140,18 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
return resp;
}
@Override
public ExportComeCommissionResponseVO exportComeCommission(QueryComeCommissionListRequestVO requestVO, HttpServletResponse response) {
ExportComeCommissionResponseVO responseVO = new ExportComeCommissionResponseVO();
List<ComeCommissionVO> dataList = lifeCommissionMapper.queryComeCommissionList(requestVO);
createCSV(dataList, response);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
private void orderCommissionCheckCancelSendMail(List<PoOrder> orders) {
//发送邮件
List<String> ccList = systemConfigService.getListConfigValue("CancelPolicyNotifyCommissionChecking");
......@@ -240,4 +256,75 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
return orderCommissonCheck.getId();
}
private void createCSV(List<ComeCommissionVO> dataList, HttpServletResponse response) {
String charset = "UTF-8"; // 读取字符编码
String[] columnName = new String[]{"序号","检核年月","保险公司","保单号","保费","来佣率","来佣金额","来佣状态 ","经纪人","经纪人类型","下单时间","购买方案","产品险种","保险种类","缴费年限","保障期间"};
String tableName = "YD_Export_ComeCommission";
String CSV_COLUMN_SEPARATOR = ",";//CSV文件列分隔符
String CSV_ROW_SEPARATOR = "\r\n";//CSV文件行分隔符
// 保证线程安全
StringBuilder buf = new StringBuilder();
// 组装表头
for (String title : columnName) {
buf.append(title).append(CSV_COLUMN_SEPARATOR);
}
buf.append(CSV_ROW_SEPARATOR);
// 组装数据
if (CollectionUtils.isNotEmpty(dataList)) {
for (int i = 0; i < dataList.size(); i++) {
ComeCommissionVO info = dataList.get(i);//遍历每个对象
buf.append(i + 1).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getCheckDate() == null ? "" : info.getCheckDate()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getInsurerName()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getPolicyNo()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getOrderPrice()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getCommissionRate()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getCommissionAmount()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getCommissionRate()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getCommissionCheckStatus()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getName()).append(CSV_COLUMN_SEPARATOR);
if ("27".equals(info.getPractitionerTypeId())) {
buf.append("产险").append(CSV_COLUMN_SEPARATOR);
} else if ("28".equals(info.getPractitionerTypeId())) {
buf.append("寿险").append(CSV_COLUMN_SEPARATOR);
} else {
buf.append("商业").append(CSV_COLUMN_SEPARATOR);
}
buf.append(info.getOrderDate()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getPlanName()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getCategoryName()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getPlanCategoryName()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getPayTerm() == null ? "" : info.getPayTerm()).append(CSV_COLUMN_SEPARATOR);
buf.append(info.getCoverageTerm() == null ? "" : info.getCoverageTerm()).append(CSV_COLUMN_SEPARATOR);
buf.append(CSV_ROW_SEPARATOR);
}
}
// 设置文件后缀
String fn = tableName + System.currentTimeMillis() + ".csv";
String headStr = "attachment; filename=\"" + fn + "\"";
// 设置响应
response.setContentType("APPLICATION/ms-csv.numberformat");
response.setCharacterEncoding(charset);
response.setHeader("Content-Disposition", headStr);
response.setHeader("Cache-Control", "max-age=30");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Pragma", "public");
OutputStream os = null;
try {
os = response.getOutputStream();
os.write(buf.toString().getBytes("GBK"));
os.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(os != null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
package com.yd.api.commission.vo.lifecommission;
import com.yd.api.result.CommonResult;
public class ExportComeCommissionResponseVO {
private CommonResult commonResult;
public CommonResult getCommonResult() {
return commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
}
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