|
@@ -580,6 +580,228 @@ public class AssetsStatisticalStatementServiceImpl implements IAssetsStatistical
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 资产客户效率值查询
|
|
|
+ * @param dto 查询dto
|
|
|
+ * @return List<AssetsCustomerEfficiencyVO>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<AssetsCustomerEfficiencyVO> getAssetsCustomerTotalEfficiencyVO(AssetsStatisticalSelectDTO dto) {
|
|
|
+ List<AssetsCustomerEfficiencyVO> efficiencyVOList = assetsStatisticalStatementMapper.getAssetsCustomerTotalEfficiencyVO(dto);
|
|
|
+
|
|
|
+ // 循环计算每个部门的同比、环比
|
|
|
+ for (AssetsCustomerEfficiencyVO efficiencyVO : efficiencyVOList) {
|
|
|
+
|
|
|
+ // 计算当期出单率
|
|
|
+ if (efficiencyVO.getCurrentPeriodReportVolume() > 0) { // 当期出报告书大于0
|
|
|
+ efficiencyVO.setCurrentPeriodOrderHasReportVolume((efficiencyVO.getCurrentPeriodReportVolume().doubleValue() / efficiencyVO.getCurrentPeriodOrderVolume().doubleValue()));
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setCurrentPeriodOrderHasReportVolume(0.0);
|
|
|
+ }
|
|
|
+ // 计算同比出单率
|
|
|
+ if (efficiencyVO.getYoYReportVolume() > 0) {
|
|
|
+ efficiencyVO.setYoYOrderHasReportVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodOrderHasReportVolume() - (efficiencyVO.getYoYReportVolume() / efficiencyVO.getYoYOrderVolume())) / (efficiencyVO.getYoYReportVolume() / efficiencyVO.getYoYOrderVolume()) * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYOrderHasReportVolume(NumberUtil.round(efficiencyVO.getCurrentPeriodOrderHasReportVolume() * 100, 2).doubleValue());
|
|
|
+ }
|
|
|
+ // 计算环比出单率
|
|
|
+ if (efficiencyVO.getQoQReportVolume() > 0) {
|
|
|
+ efficiencyVO.setQoQOrderHasReportVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodOrderHasReportVolume() - (efficiencyVO.getQoQReportVolume() / efficiencyVO.getQoQOrderVolume())) / (efficiencyVO.getQoQReportVolume() / efficiencyVO.getQoQOrderVolume()) * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQOrderHasReportVolume(NumberUtil.round(efficiencyVO.getCurrentPeriodOrderHasReportVolume() * 100, 2).doubleValue());
|
|
|
+ }
|
|
|
+ efficiencyVO.setCurrentPeriodOrderHasReportVolume(NumberUtil.round(efficiencyVO.getCurrentPeriodOrderHasReportVolume() * 100, 2).doubleValue());
|
|
|
+
|
|
|
+ // 计算当期收费折扣率
|
|
|
+ if (efficiencyVO.getCurrentDiscountVolume() > 0) {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(efficiencyVO.getCurrentDiscountVolume() / efficiencyVO.getCurrentPeriodOrderVolume());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(0.0);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 计算同比收费折扣率
|
|
|
+ if (efficiencyVO.getYoYDiscountVolume() > 0) {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(NumberUtil.round( (efficiencyVO.getCurrentDiscountVolume() - (efficiencyVO.getYoYDiscountVolume() / efficiencyVO.getYoYOrderVolume())) /(efficiencyVO.getYoYDiscountVolume() / efficiencyVO.getYoYOrderVolume()) * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(0.0);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 计算环比收费折扣率
|
|
|
+ if (efficiencyVO.getQoQDiscountVolume() > 0) {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(NumberUtil.round((efficiencyVO.getCurrentDiscountVolume() - (efficiencyVO.getQoQDiscountVolume() / efficiencyVO.getQoQOrderVolume())) /(efficiencyVO.getQoQDiscountVolume() / efficiencyVO.getQoQOrderVolume()) * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(0.0);
|
|
|
+ }
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(NumberUtil.round(efficiencyVO.getCurrentDiscountVolume() * 100, 2).doubleValue());
|
|
|
+
|
|
|
+ // 同比计算(同比增长率 = (当期数据 - 去年同期数据) / 去年同期数据 * 100%) (保留两位小数)
|
|
|
+ if (efficiencyVO.getYoYOrderVolume() > 0) {
|
|
|
+ efficiencyVO.setYoYOrderVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodOrderVolume() - efficiencyVO.getYoYOrderVolume()) / efficiencyVO.getYoYOrderVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYOrderVolume((double) (efficiencyVO.getCurrentPeriodOrderVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getYoYStatementVolume() > 0) {
|
|
|
+ efficiencyVO.setYoYStatementVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodStatementVolume() - efficiencyVO.getYoYStatementVolume()) / efficiencyVO.getYoYStatementVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYStatementVolume((double) (efficiencyVO.getCurrentPeriodStatementVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getYoYReportVolume() > 0) {
|
|
|
+ efficiencyVO.setYoYReportVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodReportVolume() - efficiencyVO.getYoYReportVolume()) / efficiencyVO.getYoYReportVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYReportVolume((double) (efficiencyVO.getCurrentPeriodReportVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getYoYShouldAmountSum() > 0) {
|
|
|
+ efficiencyVO.setYoYShouldAmountSum(NumberUtil.round((efficiencyVO.getCurrentPeriodShouldAmountSum() - efficiencyVO.getYoYShouldAmountSum()) / efficiencyVO.getYoYShouldAmountSum() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYShouldAmountSum(efficiencyVO.getCurrentPeriodShouldAmountSum() * 100);
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getYoYRealAmountSum() > 0) {
|
|
|
+ efficiencyVO.setYoYRealAmountSum(NumberUtil.round((efficiencyVO.getCurrentPeriodRealAmountSum() - efficiencyVO.getYoYRealAmountSum()) / efficiencyVO.getYoYRealAmountSum() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYRealAmountSum(efficiencyVO.getCurrentPeriodRealAmountSum() * 100);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 环比计算(环比增长率 = (当期数据 - 前一期数据) / 前一期数据 * 100%) (保留两位小数)
|
|
|
+ if (efficiencyVO.getQoQOrderVolume() > 0) {
|
|
|
+ efficiencyVO.setQoQOrderVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodOrderVolume() - efficiencyVO.getQoQOrderVolume()) / efficiencyVO.getQoQOrderVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQOrderVolume((double) (efficiencyVO.getCurrentPeriodOrderVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getQoQStatementVolume() > 0) {
|
|
|
+ efficiencyVO.setQoQStatementVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodStatementVolume() - efficiencyVO.getQoQStatementVolume()) / efficiencyVO.getQoQStatementVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQStatementVolume((double) (efficiencyVO.getCurrentPeriodStatementVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getQoQReportVolume() > 0) {
|
|
|
+ efficiencyVO.setQoQReportVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodReportVolume() - efficiencyVO.getQoQReportVolume()) / efficiencyVO.getQoQReportVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQReportVolume((double) (efficiencyVO.getCurrentPeriodReportVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getQoQShouldAmountSum() > 0) {
|
|
|
+ efficiencyVO.setQoQShouldAmountSum(NumberUtil.round((efficiencyVO.getCurrentPeriodShouldAmountSum() - efficiencyVO.getQoQShouldAmountSum()) / efficiencyVO.getQoQShouldAmountSum() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQShouldAmountSum(efficiencyVO.getCurrentPeriodShouldAmountSum() * 100);
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getQoQRealAmountSum() > 0) {
|
|
|
+ efficiencyVO.setQoQRealAmountSum(NumberUtil.round((efficiencyVO.getCurrentPeriodRealAmountSum() - efficiencyVO.getQoQRealAmountSum()) / efficiencyVO.getQoQRealAmountSum() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQRealAmountSum(efficiencyVO.getCurrentPeriodRealAmountSum() * 100);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return efficiencyVOList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 资产客户效率值(客户经理)查询
|
|
|
+ * @param dto 查询dto
|
|
|
+ * @return List<AssetsCustomerEfficiencyVO>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<AssetsCustomerEfficiencyVO> getAssetsCustomerManagerEfficiencyVO(AssetsStatisticalSelectDTO dto) {
|
|
|
+ List<AssetsCustomerEfficiencyVO> efficiencyVOList = assetsStatisticalStatementMapper.getAssetsCustomerManagerEfficiencyVO(dto);
|
|
|
+
|
|
|
+ // 循环计算每个部门的同比、环比
|
|
|
+ for (AssetsCustomerEfficiencyVO efficiencyVO : efficiencyVOList) {
|
|
|
+
|
|
|
+ // 计算当期出单率
|
|
|
+ if (efficiencyVO.getCurrentPeriodReportVolume() > 0) { // 当期出报告书大于0
|
|
|
+ efficiencyVO.setCurrentPeriodOrderHasReportVolume((efficiencyVO.getCurrentPeriodReportVolume().doubleValue() / efficiencyVO.getCurrentPeriodOrderVolume().doubleValue()));
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setCurrentPeriodOrderHasReportVolume(0.0);
|
|
|
+ }
|
|
|
+ // 计算同比出单率
|
|
|
+ if (efficiencyVO.getYoYReportVolume() > 0) {
|
|
|
+ efficiencyVO.setYoYOrderHasReportVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodOrderHasReportVolume() - (efficiencyVO.getYoYReportVolume() / efficiencyVO.getYoYOrderVolume())) / (efficiencyVO.getYoYReportVolume() / efficiencyVO.getYoYOrderVolume()) * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYOrderHasReportVolume(NumberUtil.round(efficiencyVO.getCurrentPeriodOrderHasReportVolume() * 100, 2).doubleValue());
|
|
|
+ }
|
|
|
+ // 计算环比出单率
|
|
|
+ if (efficiencyVO.getQoQReportVolume() > 0) {
|
|
|
+ efficiencyVO.setQoQOrderHasReportVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodOrderHasReportVolume() - (efficiencyVO.getQoQReportVolume() / efficiencyVO.getQoQOrderVolume())) / (efficiencyVO.getQoQReportVolume() / efficiencyVO.getQoQOrderVolume()) * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQOrderHasReportVolume(NumberUtil.round(efficiencyVO.getCurrentPeriodOrderHasReportVolume() * 100, 2).doubleValue());
|
|
|
+ }
|
|
|
+ efficiencyVO.setCurrentPeriodOrderHasReportVolume(NumberUtil.round(efficiencyVO.getCurrentPeriodOrderHasReportVolume() * 100, 2).doubleValue());
|
|
|
+
|
|
|
+ // 计算当期收费折扣率
|
|
|
+ if (efficiencyVO.getCurrentDiscountVolume() > 0) {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(efficiencyVO.getCurrentDiscountVolume() / efficiencyVO.getCurrentPeriodOrderVolume());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(0.0);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 计算同比收费折扣率
|
|
|
+ if (efficiencyVO.getYoYDiscountVolume() > 0) {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(NumberUtil.round( (efficiencyVO.getCurrentDiscountVolume() - (efficiencyVO.getYoYDiscountVolume() / efficiencyVO.getYoYOrderVolume())) /(efficiencyVO.getYoYDiscountVolume() / efficiencyVO.getYoYOrderVolume()) * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(0.0);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 计算环比收费折扣率
|
|
|
+ if (efficiencyVO.getQoQDiscountVolume() > 0) {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(NumberUtil.round((efficiencyVO.getCurrentDiscountVolume() - (efficiencyVO.getQoQDiscountVolume() / efficiencyVO.getQoQOrderVolume())) /(efficiencyVO.getQoQDiscountVolume() / efficiencyVO.getQoQOrderVolume()) * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(0.0);
|
|
|
+ }
|
|
|
+ efficiencyVO.setCurrentDiscountVolume(NumberUtil.round(efficiencyVO.getCurrentDiscountVolume() * 100, 2).doubleValue());
|
|
|
+
|
|
|
+ // 同比计算(同比增长率 = (当期数据 - 去年同期数据) / 去年同期数据 * 100%) (保留两位小数)
|
|
|
+ if (efficiencyVO.getYoYOrderVolume() > 0) {
|
|
|
+ efficiencyVO.setYoYOrderVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodOrderVolume() - efficiencyVO.getYoYOrderVolume()) / efficiencyVO.getYoYOrderVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYOrderVolume((double) (efficiencyVO.getCurrentPeriodOrderVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getYoYStatementVolume() > 0) {
|
|
|
+ efficiencyVO.setYoYStatementVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodStatementVolume() - efficiencyVO.getYoYStatementVolume()) / efficiencyVO.getYoYStatementVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYStatementVolume((double) (efficiencyVO.getCurrentPeriodStatementVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getYoYReportVolume() > 0) {
|
|
|
+ efficiencyVO.setYoYReportVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodReportVolume() - efficiencyVO.getYoYReportVolume()) / efficiencyVO.getYoYReportVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYReportVolume((double) (efficiencyVO.getCurrentPeriodReportVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getYoYShouldAmountSum() > 0) {
|
|
|
+ efficiencyVO.setYoYShouldAmountSum(NumberUtil.round((efficiencyVO.getCurrentPeriodShouldAmountSum() - efficiencyVO.getYoYShouldAmountSum()) / efficiencyVO.getYoYShouldAmountSum() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYShouldAmountSum(efficiencyVO.getCurrentPeriodShouldAmountSum() * 100);
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getYoYRealAmountSum() > 0) {
|
|
|
+ efficiencyVO.setYoYRealAmountSum(NumberUtil.round((efficiencyVO.getCurrentPeriodRealAmountSum() - efficiencyVO.getYoYRealAmountSum()) / efficiencyVO.getYoYRealAmountSum() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setYoYRealAmountSum(efficiencyVO.getCurrentPeriodRealAmountSum() * 100);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 环比计算(环比增长率 = (当期数据 - 前一期数据) / 前一期数据 * 100%) (保留两位小数)
|
|
|
+ if (efficiencyVO.getQoQOrderVolume() > 0) {
|
|
|
+ efficiencyVO.setQoQOrderVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodOrderVolume() - efficiencyVO.getQoQOrderVolume()) / efficiencyVO.getQoQOrderVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQOrderVolume((double) (efficiencyVO.getCurrentPeriodOrderVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getQoQStatementVolume() > 0) {
|
|
|
+ efficiencyVO.setQoQStatementVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodStatementVolume() - efficiencyVO.getQoQStatementVolume()) / efficiencyVO.getQoQStatementVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQStatementVolume((double) (efficiencyVO.getCurrentPeriodStatementVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getQoQReportVolume() > 0) {
|
|
|
+ efficiencyVO.setQoQReportVolume(NumberUtil.round((efficiencyVO.getCurrentPeriodReportVolume() - efficiencyVO.getQoQReportVolume()) / efficiencyVO.getQoQReportVolume() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQReportVolume((double) (efficiencyVO.getCurrentPeriodReportVolume() * 100));
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getQoQShouldAmountSum() > 0) {
|
|
|
+ efficiencyVO.setQoQShouldAmountSum(NumberUtil.round((efficiencyVO.getCurrentPeriodShouldAmountSum() - efficiencyVO.getQoQShouldAmountSum()) / efficiencyVO.getQoQShouldAmountSum() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQShouldAmountSum(efficiencyVO.getCurrentPeriodShouldAmountSum() * 100);
|
|
|
+ }
|
|
|
+ if (efficiencyVO.getQoQRealAmountSum() > 0) {
|
|
|
+ efficiencyVO.setQoQRealAmountSum(NumberUtil.round((efficiencyVO.getCurrentPeriodRealAmountSum() - efficiencyVO.getQoQRealAmountSum()) / efficiencyVO.getQoQRealAmountSum() * 100, 2).doubleValue());
|
|
|
+ } else {
|
|
|
+ efficiencyVO.setQoQRealAmountSum(efficiencyVO.getCurrentPeriodRealAmountSum() * 100);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return efficiencyVOList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 设置评估方法与签字人等信息
|
|
|
*
|
|
|
* @param assetsLedgerVO 查询出来的VO信息
|