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 { ...@@ -32,6 +32,8 @@ public class CompanyPerformanceFindDTO extends PageParam {
private String companyName; private String companyName;
private Integer companyId; private Integer companyId;
private String groupFiled;
private long startIndex; private long startIndex;
private long endInex; private long endInex;
......
...@@ -208,21 +208,7 @@ public class CompanyPerformanceBiz { ...@@ -208,21 +208,7 @@ public class CompanyPerformanceBiz {
pageDataVO.setData(companyPerformanceBos); pageDataVO.setData(companyPerformanceBos);
if (companyPerformanceFindDTO.getPage() == 1) { if (companyPerformanceFindDTO.getPage() == 1) {
Example example = new Example(OrderReceivedStatistics.class); int totalCount = orderReceivedStatisticsBiz.selectCountByCondition(companyPerformanceFindDTO);
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);
long isZero = totalCount % companyPerformanceFindDTO.getLimit(); long isZero = totalCount % companyPerformanceFindDTO.getLimit();
long totalPage = isZero == 0 ? totalCount / companyPerformanceFindDTO.getLimit() : totalCount / companyPerformanceFindDTO.getLimit() + 1; long totalPage = isZero == 0 ? totalCount / companyPerformanceFindDTO.getLimit() : totalCount / companyPerformanceFindDTO.getLimit() + 1;
pageDataVO.setTotalCount(Long.valueOf(totalCount)); pageDataVO.setTotalCount(Long.valueOf(totalCount));
......
...@@ -70,7 +70,7 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM ...@@ -70,7 +70,7 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
public List<CompanyPerformanceBo> selectCompanyPerformanceWithDay(CompanyPerformanceFindDTO companyPerformanceFindDTO) { public List<CompanyPerformanceBo> selectCompanyPerformanceWithDay(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
List<CompanyPerformanceBo> companyPerformanceBos = mapper.selectCompanyPerformanceWithDay(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 ...@@ -90,8 +90,9 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
public List<CompanyPerformanceBo> selectCompanyPerformanceWithMonth(CompanyPerformanceFindDTO companyPerformanceFindDTO) { public List<CompanyPerformanceBo> selectCompanyPerformanceWithMonth(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
List<CompanyPerformanceBo> companyPerformanceBos = mapper.selectCompanyPerformanceWithMonth(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 ...@@ -109,8 +110,9 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
public List<CompanyPerformanceBo> selectCompanyPerformanceWithWeek(CompanyPerformanceFindDTO companyPerformanceFindDTO) { public List<CompanyPerformanceBo> selectCompanyPerformanceWithWeek(CompanyPerformanceFindDTO companyPerformanceFindDTO) {
List<CompanyPerformanceBo> companyPerformanceBos = mapper.selectCompanyPerformanceWithWeek(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 ...@@ -406,6 +408,19 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
return mapper.selectOrderReceivedStatisticsList(orderReceivedStatisticsFindDTO); 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 ...@@ -25,4 +25,8 @@ public interface OrderReceivedStatisticsMapper extends Mapper<OrderReceivedStati
List<CompanyPerformanceBo> selectCompanyPerformanceWithMonth(CompanyPerformanceFindDTO companyPerformanceFindDTO); List<CompanyPerformanceBo> selectCompanyPerformanceWithMonth(CompanyPerformanceFindDTO companyPerformanceFindDTO);
List<CompanyPerformanceBo> selectCompanyPerformanceWithWeek(CompanyPerformanceFindDTO companyPerformanceFindDTO); List<CompanyPerformanceBo> selectCompanyPerformanceWithWeek(CompanyPerformanceFindDTO companyPerformanceFindDTO);
int selectCountByDate(CompanyPerformanceFindDTO companyPerformanceFindDTO);
int selectCountByMonth(CompanyPerformanceFindDTO companyPerformanceFindDTO);
int selectCountByWeekOfYear(CompanyPerformanceFindDTO companyPerformanceFindDTO);
} }
...@@ -309,4 +309,87 @@ ...@@ -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--> <!-- 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>
<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> </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