Commit d29bea81 authored by zuoyh's avatar zuoyh

Merge remote-tracking branch 'origin/dev' into dev

parents 76acf474 305f50fb
...@@ -35,8 +35,9 @@ public class CompanyPerformanceBo { ...@@ -35,8 +35,9 @@ public class CompanyPerformanceBo {
private BigDecimal extralAmount; private BigDecimal extralAmount;
private Integer departureNum; private Integer departureNum;
private Integer arrivalNum; private Integer arrivalNum;
private Date startDate; private String startDate;
private Date endDate; private String endDate;
private String dateStr;
public BigDecimal getMemberAmount() { public BigDecimal getMemberAmount() {
return memberAmount==null?BigDecimal.ZERO:memberAmount; return memberAmount==null?BigDecimal.ZERO:memberAmount;
......
...@@ -43,8 +43,7 @@ public class CompanyPerformanceBiz { ...@@ -43,8 +43,7 @@ public class CompanyPerformanceBiz {
*/ */
public void exportOrderReceivedStatisticsData(CompanyPerformanceFindDTO companyPerformanceFindDTO, ServletOutputStream outputStream) throws IOException { public void exportOrderReceivedStatisticsData(CompanyPerformanceFindDTO companyPerformanceFindDTO, ServletOutputStream outputStream) throws IOException {
//1.查询数据 //1.查询数据
PageDataVO<CompanyPerformanceBo> pageDataVO = selectCompanyPerformancePage(companyPerformanceFindDTO); List<CompanyPerformanceBo> companyPerformanceBos = selectCompanyPerformances(companyPerformanceFindDTO);
List<CompanyPerformanceBo> data = pageDataVO.getData();
//excel相关 //excel相关
XSSFWorkbook hssfWorkbook = new XSSFWorkbook(); XSSFWorkbook hssfWorkbook = new XSSFWorkbook();
...@@ -58,7 +57,7 @@ public class CompanyPerformanceBiz { ...@@ -58,7 +57,7 @@ public class CompanyPerformanceBiz {
} }
//设置数据 //设置数据
CellStyle generalCellStyle = createGeneralCellStyle(hssfWorkbook); CellStyle generalCellStyle = createGeneralCellStyle(hssfWorkbook);
List<String[]> companyStatisticsData = getCompanyStatisticsData(data, companyPerformanceFindDTO.getStatisticalWay()); List<String[]> companyStatisticsData = getCompanyStatisticsData(companyPerformanceBos, companyPerformanceFindDTO.getStatisticalWay());
createCompnayStatisticsCellData(sheet, 1, generalCellStyle, companyStatisticsData); createCompnayStatisticsCellData(sheet, 1, generalCellStyle, companyStatisticsData);
hssfWorkbook.write(outputStream); hssfWorkbook.write(outputStream);
hssfWorkbook.close(); hssfWorkbook.close();
...@@ -93,15 +92,13 @@ public class CompanyPerformanceBiz { ...@@ -93,15 +92,13 @@ public class CompanyPerformanceBiz {
private String[] getData(CompanyPerformanceBo companyPerformanceBo, Integer statisticalWay) { private String[] getData(CompanyPerformanceBo companyPerformanceBo, Integer statisticalWay) {
String dateStr = ""; String dateStr = "";
if (statisticalWay == ReceivedStatisticsEnum.DAY.getWayCode()) { if (statisticalWay == ReceivedStatisticsEnum.DAY.getWayCode()) {
dateStr = DateUtil.format(companyPerformanceBo.getDate(),"yyyy.MM.dd"); dateStr = companyPerformanceBo.getDateStr();
} }
if (statisticalWay == ReceivedStatisticsEnum.WEEK.getWayCode()) { if (statisticalWay == ReceivedStatisticsEnum.WEEK.getWayCode()) {
String startDateStr = DateUtil.format(companyPerformanceBo.getStartDate(), "yyyy.MM.dd"); dateStr=String.format("%s~%s",companyPerformanceBo.getStartDate(),companyPerformanceBo.getEndDate());
String endDateStr = DateUtil.format(companyPerformanceBo.getEndDate(), "yyyy.MM.dd");
dateStr=String.format("%s~%s",startDateStr,endDateStr);
} }
if (statisticalWay == ReceivedStatisticsEnum.MONTH.getWayCode()) { if (statisticalWay == ReceivedStatisticsEnum.MONTH.getWayCode()) {
dateStr = String.format("%d.%s",companyPerformanceBo.getYear(),companyPerformanceBo.getMonth().replace(companyPerformanceBo.getYear()+"","")); dateStr = companyPerformanceBo.getMonth();
} }
return new String[]{ return new String[]{
dateStr, dateStr,
...@@ -151,6 +148,32 @@ public class CompanyPerformanceBiz { ...@@ -151,6 +148,32 @@ public class CompanyPerformanceBiz {
return font; return font;
} }
public List<CompanyPerformanceBo> selectCompanyPerformances(CompanyPerformanceFindDTO companyPerformanceFindDTO){
Map<Integer, String> companyMap = vehicleFeign.findCompanyMap();
List<CompanyPerformanceBo> companyPerformanceBos = new ArrayList<>();
//日统计
if (companyPerformanceFindDTO.getStatisticalWay() == ReceivedStatisticsEnum.DAY.getWayCode()) {
companyPerformanceBos = orderReceivedStatisticsBiz.selectCompanyPerformanceWithDay(companyPerformanceFindDTO);
}
//按周
if (companyPerformanceFindDTO.getStatisticalWay() == ReceivedStatisticsEnum.WEEK.getWayCode()) {
companyPerformanceBos = orderReceivedStatisticsBiz.selectCompanyPerformanceWithWeek(companyPerformanceFindDTO);
}
//按月
if (companyPerformanceFindDTO.getStatisticalWay() == ReceivedStatisticsEnum.MONTH.getWayCode()) {
companyPerformanceBos = orderReceivedStatisticsBiz.selectCompanyPerformanceWithMonth(companyPerformanceFindDTO);
}
if (CollectionUtils.isEmpty(companyPerformanceBos)) {
return companyPerformanceBos;
}
companyPerformanceBos = wrapCompanyPermanceBo(companyPerformanceBos, companyMap, companyPerformanceFindDTO.getStatisticalWay());
return companyPerformanceBos;
}
/** /**
* 分页查询公司业绩 * 分页查询公司业绩
* *
...@@ -179,10 +202,16 @@ public class CompanyPerformanceBiz { ...@@ -179,10 +202,16 @@ public class CompanyPerformanceBiz {
if (CollectionUtils.isEmpty(data)) { if (CollectionUtils.isEmpty(data)) {
return pageDataVO; return pageDataVO;
} }
for (CompanyPerformanceBo companyPerformanceBo : data) { List<CompanyPerformanceBo> companyPerformanceBos = wrapCompanyPermanceBo(data, companyMap, companyPerformanceFindDTO.getStatisticalWay());
pageDataVO.setData(companyPerformanceBos);
return pageDataVO;
}
public List<CompanyPerformanceBo> wrapCompanyPermanceBo(List<CompanyPerformanceBo> companyPerformanceBos,Map<Integer,String> companyMap,Integer statisticsWay){
for (CompanyPerformanceBo companyPerformanceBo : companyPerformanceBos) {
String companyName = companyMap == null ? "" : companyMap.get(companyPerformanceBo.getCompanyId()); String companyName = companyMap == null ? "" : companyMap.get(companyPerformanceBo.getCompanyId());
companyPerformanceBo.setCompanyName(companyName); companyPerformanceBo.setCompanyName(companyName);
if (companyPerformanceFindDTO.getStatisticalWay() == ReceivedStatisticsEnum.WEEK.getWayCode()) { if (statisticsWay == ReceivedStatisticsEnum.WEEK.getWayCode()) {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setFirstDayOfWeek(Calendar.MONDAY); cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.set(Calendar.YEAR, companyPerformanceBo.getYear()); cal.set(Calendar.YEAR, companyPerformanceBo.getYear());
...@@ -191,11 +220,19 @@ public class CompanyPerformanceBiz { ...@@ -191,11 +220,19 @@ public class CompanyPerformanceBiz {
Date startDate = cal.getTime(); Date startDate = cal.getTime();
cal.add(Calendar.DAY_OF_WEEK, 6); cal.add(Calendar.DAY_OF_WEEK, 6);
Date endDate = cal.getTime(); Date endDate = cal.getTime();
companyPerformanceBo.setStartDate(DateUtil.beginOfDay(startDate)); companyPerformanceBo.setStartDate(DateUtil.format(startDate,"yyyy.MM.dd"));
companyPerformanceBo.setEndDate(DateUtil.beginOfDay(endDate)); companyPerformanceBo.setEndDate(DateUtil.format(endDate,"yyyy.MM.dd"));
companyPerformanceBo.setWeekOfYear(String.format("%s.%s",companyPerformanceBo.getYear()+"",companyPerformanceBo.getWeekOfYear().replace(companyPerformanceBo.getYear()+"","")));
} }
if(statisticsWay == ReceivedStatisticsEnum.DAY.getWayCode()) {
companyPerformanceBo.setDateStr(DateUtil.format(companyPerformanceBo.getDate(),"yyyy.MM.dd"));
}
if (statisticsWay == ReceivedStatisticsEnum.MONTH.getWayCode()){
companyPerformanceBo.setMonth(String.format("%s.%s",companyPerformanceBo.getYear()+"",companyPerformanceBo.getMonth().replace(companyPerformanceBo.getYear()+"","")));
}
} }
return pageDataVO; return companyPerformanceBos;
} }
} }
...@@ -64,6 +64,11 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM ...@@ -64,6 +64,11 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
() -> mapper.selectCompanyPerformanceWithDay(companyPerformanceFindDTO)); () -> mapper.selectCompanyPerformanceWithDay(companyPerformanceFindDTO));
} }
public List<CompanyPerformanceBo> selectCompanyPerformanceWithDay(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
List<CompanyPerformanceBo> companyPerformanceBos = mapper.selectCompanyPerformanceWithDay(companyPerformanceFindDTO);
return CollectionUtils.isEmpty(companyPerformanceBos)?Collections.EMPTY_LIST:companyPerformanceBos;
}
/** /**
* 公司业绩(按月统计) * 公司业绩(按月统计)
* *
...@@ -75,6 +80,10 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM ...@@ -75,6 +80,10 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
() -> mapper.selectCompanyPerformanceWithMonth(companyPerformanceFindDTO)); () -> mapper.selectCompanyPerformanceWithMonth(companyPerformanceFindDTO));
} }
public List<CompanyPerformanceBo> selectCompanyPerformanceWithMonth(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
List<CompanyPerformanceBo> companyPerformanceBos = mapper.selectCompanyPerformanceWithMonth(companyPerformanceFindDTO);
return CollectionUtils.isEmpty(companyPerformanceBos)?Collections.EMPTY_LIST:companyPerformanceBos;
}
/** /**
* 公司业绩(按周统计) * 公司业绩(按周统计)
* *
...@@ -86,7 +95,10 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM ...@@ -86,7 +95,10 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
() -> mapper.selectCompanyPerformanceWithWeek(companyPerformanceFindDTO)); () -> mapper.selectCompanyPerformanceWithWeek(companyPerformanceFindDTO));
} }
public List<CompanyPerformanceBo> selectCompanyPerformanceWithWeek(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
List<CompanyPerformanceBo> companyPerformanceBos = mapper.selectCompanyPerformanceWithWeek(companyPerformanceFindDTO);
return CollectionUtils.isEmpty(companyPerformanceBos)?Collections.EMPTY_LIST:companyPerformanceBos;
}
/** /**
* 订单统计数据导出 * 订单统计数据导出
* *
......
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.xxfc.platform.order.OrderApplication; import com.xxfc.platform.order.OrderApplication;
import com.xxfc.platform.order.biz.*; import com.xxfc.platform.order.biz.*;
...@@ -15,6 +16,8 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; ...@@ -15,6 +16,8 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
...@@ -123,6 +126,16 @@ public class ServiceTest { ...@@ -123,6 +126,16 @@ public class ServiceTest {
@Test @Test
@SneakyThrows @SneakyThrows
public void testOrderReceivedStatisticsJobHandler(){ public void testOrderReceivedStatisticsJobHandler(){
orderReceivedStatisticsJobHandler.execute(""); cn.hutool.core.date.DateTime dateTime = DateUtil.parse("2019-10-01", "yyyy-MM-dd");
cn.hutool.core.date.DateTime offset = DateUtil.offset(dateTime, DateField.DAY_OF_MONTH, 1);
LocalDate startLocalDate = LocalDate.of(2019, 10, 1);
LocalDate endLocalDate = LocalDate.of(2019,11,29);
while (startLocalDate.isBefore(endLocalDate)){
startLocalDate.format(DateTimeFormatter.ofPattern("yyyy"));
orderReceivedStatisticsJobHandler.execute("");
}
} }
} }
...@@ -445,11 +445,11 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay>{ ...@@ -445,11 +445,11 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay>{
//apiname=com.alipay.account.auth&app_id=xxxxx&app_name=mc&auth_type=AUTHACCOUNT&biz_type=openservice&method=alipay.open.auth.sdk.code.get&pid=xxxxx&product_id=APP_FAST_LOGIN&scope=kuaijie&sign_type=RSA2&target_id=20141225xxxx&sign=fMcp4GtiM6rxSIeFnJCVePJKV43eXrUP86CQgiLhDHH2u%2FdN75eEvmywc2ulkm7qKRetkU9fbVZtJIqFdMJcJ9Yp%2BJI%2FF%2FpESafFR6rB2fRjiQQLGXvxmDGVMjPSxHxVtIqpZy5FDoKUSjQ2%2FILDKpu3%2F%2BtAtm2jRw1rUoMhgt0%3D //apiname=com.alipay.account.auth&app_id=xxxxx&app_name=mc&auth_type=AUTHACCOUNT&biz_type=openservice&method=alipay.open.auth.sdk.code.get&pid=xxxxx&product_id=APP_FAST_LOGIN&scope=kuaijie&sign_type=RSA2&target_id=20141225xxxx&sign=fMcp4GtiM6rxSIeFnJCVePJKV43eXrUP86CQgiLhDHH2u%2FdN75eEvmywc2ulkm7qKRetkU9fbVZtJIqFdMJcJ9Yp%2BJI%2FF%2FpESafFR6rB2fRjiQQLGXvxmDGVMjPSxHxVtIqpZy5FDoKUSjQ2%2FILDKpu3%2F%2BtAtm2jRw1rUoMhgt0%3D
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("apiname="); stringBuilder.append("apiname=");
stringBuilder.append(apiName); stringBuilder.append("com.alipay.account.auth");
stringBuilder.append("&app_id="); stringBuilder.append("&app_id=");
stringBuilder.append(SystemConfig.ALIPAY_APPID); stringBuilder.append(SystemConfig.ALIPAY_APPID);
stringBuilder.append("&app_name="); stringBuilder.append("&app_name=");
stringBuilder.append(appName); stringBuilder.append("mc");
stringBuilder.append("&auth_type=AUTHACCOUNT"); stringBuilder.append("&auth_type=AUTHACCOUNT");
stringBuilder.append("&biz_type=openservice"); stringBuilder.append("&biz_type=openservice");
stringBuilder.append("&method=alipay.open.auth.sdk.code.get"); stringBuilder.append("&method=alipay.open.auth.sdk.code.get");
......
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