Commit cf8431cf authored by libin's avatar libin

Merge branch 'order_received_statistics' into dev

parents 0b989985 1fc7799a
......@@ -32,6 +32,8 @@ public class CompanyPerformanceFindDTO extends PageParam {
private String companyName;
private Integer companyId;
private String groupFiled;
private long startIndex;
private long endInex;
......
......@@ -208,21 +208,7 @@ public class CompanyPerformanceBiz {
pageDataVO.setData(companyPerformanceBos);
if (companyPerformanceFindDTO.getPage() == 1) {
Example example = new Example(OrderReceivedStatistics.class);
Example.Criteria criteria = example.createCriteria();
if (Objects.nonNull(companyPerformanceFindDTO.getCompanyId())) {
criteria.andEqualTo("companyId",companyPerformanceFindDTO.getCompanyId());
}
if (Objects.nonNull(companyPerformanceFindDTO.getStartDate()) && Objects.nonNull(companyPerformanceFindDTO.getEndDate())){
criteria.andBetween("date",companyPerformanceFindDTO.getStartDate(),companyPerformanceFindDTO.getEndDate());
}
if (Objects.nonNull(companyPerformanceFindDTO.getStartDate()) && Objects.isNull(companyPerformanceFindDTO.getEndDate())){
criteria.andGreaterThanOrEqualTo("date",companyPerformanceFindDTO.getStartDate());
}
if (Objects.isNull(companyPerformanceFindDTO.getStartDate()) && Objects.nonNull(companyPerformanceFindDTO.getEndDate())){
criteria.andLessThanOrEqualTo("date",companyPerformanceFindDTO.getEndDate());
}
int totalCount = orderReceivedStatisticsBiz.selectCountByExample(example);
int totalCount = orderReceivedStatisticsBiz.selectCountByCondition(companyPerformanceFindDTO);
long isZero = totalCount % companyPerformanceFindDTO.getLimit();
long totalPage = isZero == 0 ? totalCount / companyPerformanceFindDTO.getLimit() : totalCount / companyPerformanceFindDTO.getLimit() + 1;
pageDataVO.setTotalCount(Long.valueOf(totalCount));
......
......@@ -70,7 +70,7 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
public List<CompanyPerformanceBo> selectCompanyPerformanceWithDay(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
List<CompanyPerformanceBo> companyPerformanceBos = mapper.selectCompanyPerformanceWithDay(companyPerformanceFindDTO);
return CollectionUtils.isEmpty(companyPerformanceBos)?Collections.EMPTY_LIST:companyPerformanceBos;
return CollectionUtils.isEmpty(companyPerformanceBos) ? Collections.EMPTY_LIST : companyPerformanceBos;
}
/**
......@@ -90,8 +90,9 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
public List<CompanyPerformanceBo> selectCompanyPerformanceWithMonth(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
List<CompanyPerformanceBo> companyPerformanceBos = mapper.selectCompanyPerformanceWithMonth(companyPerformanceFindDTO);
return CollectionUtils.isEmpty(companyPerformanceBos)?Collections.EMPTY_LIST:companyPerformanceBos;
return CollectionUtils.isEmpty(companyPerformanceBos) ? Collections.EMPTY_LIST : companyPerformanceBos;
}
/**
* 公司业绩(按周统计)
*
......@@ -109,8 +110,9 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
public List<CompanyPerformanceBo> selectCompanyPerformanceWithWeek(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
List<CompanyPerformanceBo> companyPerformanceBos = mapper.selectCompanyPerformanceWithWeek(companyPerformanceFindDTO);
return CollectionUtils.isEmpty(companyPerformanceBos)?Collections.EMPTY_LIST:companyPerformanceBos;
return CollectionUtils.isEmpty(companyPerformanceBos) ? Collections.EMPTY_LIST : companyPerformanceBos;
}
/**
* 订单统计数据导出
*
......@@ -406,6 +408,19 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
return mapper.selectOrderReceivedStatisticsList(orderReceivedStatisticsFindDTO);
}
public int selectCountByCondition(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
if (companyPerformanceFindDTO.getStatisticalWay() == ReceivedStatisticsEnum.DAY.getWayCode()) {
return mapper.selectCountByDate(companyPerformanceFindDTO);
}
if (companyPerformanceFindDTO.getStatisticalWay() == ReceivedStatisticsEnum.MONTH.getWayCode()) {
return mapper.selectCountByMonth(companyPerformanceFindDTO);
}
if (companyPerformanceFindDTO.getStatisticalWay() == ReceivedStatisticsEnum.WEEK.getWayCode()) {
return mapper.selectCountByWeekOfYear(companyPerformanceFindDTO);
}
return 0;
}
/**
* 取两个集合的交集
*
......
......@@ -25,4 +25,8 @@ public interface OrderReceivedStatisticsMapper extends Mapper<OrderReceivedStati
List<CompanyPerformanceBo> selectCompanyPerformanceWithMonth(CompanyPerformanceFindDTO companyPerformanceFindDTO);
List<CompanyPerformanceBo> selectCompanyPerformanceWithWeek(CompanyPerformanceFindDTO companyPerformanceFindDTO);
int selectCountByDate(CompanyPerformanceFindDTO companyPerformanceFindDTO);
int selectCountByMonth(CompanyPerformanceFindDTO companyPerformanceFindDTO);
int selectCountByWeekOfYear(CompanyPerformanceFindDTO companyPerformanceFindDTO);
}
......@@ -309,4 +309,87 @@
<!-- order by ors.rentVehilceAmount desc,ors.memberAmount desc,ors.travelAmount desc,ors.depositAmount desc,ors.noDeductibleAmount desc ,rentDays desc,departureNum desc, arrivalNum desc-->
</select>
<select id="selectCountByDate" resultType="int">
select count(*) from (SELECT `date` FROM `order_received_statistics` WHERE `has_pay`=1
<if test="companyName!=null and companyName!=''">
AND `company_name` LIKE CONCAT('%',#{companyName},'%')
</if>
<if test="companyId!=null">
AND `company_id`=#{companyId}
</if>
<if test="startDate!=null and endDate!=null">
AND `date` BETWEEN #{startDate} AND #{endDate}
</if>
<if test="startDate!=null and endDate==null">
AND <![CDATA[
`date` >= #{startDate}
]]>
</if>
<if test="startDate==null and endDate!=null">
AND <![CDATA[
`date` <= #{startDate}
]]>
</if>
GROUP BY
company_id,
`year`,
`date`
) as `ds`
</select>
<select id="selectCountByMonth" resultType="int">
select count(*) from (SELECT `month` FROM `order_received_statistics` WHERE `has_pay`=1
<if test="companyName!=null and companyName!=''">
AND `company_name` LIKE CONCAT('%',#{companyName},'%')
</if>
<if test="companyId!=null">
AND `company_id`=#{companyId}
</if>
<if test="startDate!=null and endDate!=null">
AND `date` BETWEEN #{startDate} AND #{endDate}
</if>
<if test="startDate!=null and endDate==null">
AND <![CDATA[
`date` >= #{startDate}
]]>
</if>
<if test="startDate==null and endDate!=null">
AND <![CDATA[
`date` <= #{startDate}
]]>
</if>
GROUP BY
company_id,
`year`,
`month`
) as `ds`
</select>
<select id="selectCountByWeekOfYear" resultType="int">
select count(*) from (SELECT `week_of_year` FROM `order_received_statistics` WHERE `has_pay`=1
<if test="companyName!=null and companyName!=''">
AND `company_name` LIKE CONCAT('%',#{companyName},'%')
</if>
<if test="companyId!=null">
AND `company_id`=#{companyId}
</if>
<if test="startDate!=null and endDate!=null">
AND `date` BETWEEN #{startDate} AND #{endDate}
</if>
<if test="startDate!=null and endDate==null">
AND <![CDATA[
`date` >= #{startDate}
]]>
</if>
<if test="startDate==null and endDate!=null">
AND <![CDATA[
`date` <= #{startDate}
]]>
</if>
GROUP BY
company_id,
`year`,
`week_of_year`
) as `ds`
</select>
</mapper>
\ No newline at end of file
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