Commit 65468cb1 by lzxry

bugfix

parent 019712eb
...@@ -332,8 +332,10 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -332,8 +332,10 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
.setScale(16, BigDecimal.ROUND_HALF_UP).doubleValue();//当前合同之前的累计消耗金额 .setScale(16, BigDecimal.ROUND_HALF_UP).doubleValue();//当前合同之前的累计消耗金额
accruingFlow+=contractsArray[j].getHistoryTkioFlow();//当前合同之前的累计消耗流量,万单位 accruingFlow+=contractsArray[j].getHistoryTkioFlow();//当前合同之前的累计消耗流量,万单位
} }
totalFlow=totalFlow-accruingFlow+contract.getTrackFlow(); totalFlow=totalFlow-accruingFlow<0?0:totalFlow-accruingFlow;
totalprice=totalprice-accruingAmounts+contract.getMoney(); totalFlow=totalFlow+contract.getTrackFlow();
totalprice = totalprice-accruingAmounts<0?0:totalprice-accruingAmounts;
totalprice=totalprice+contract.getMoney();
contract.setIncomeExcludingTax(new BigDecimal(totalprice/1.06) contract.setIncomeExcludingTax(new BigDecimal(totalprice/1.06)
.setScale(2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100L)).longValue()); .setScale(2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100L)).longValue());
BigDecimal unitPriceAccurate =null; BigDecimal unitPriceAccurate =null;
...@@ -385,7 +387,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -385,7 +387,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
} }
contract.setClickFlow(0.0); contract.setClickFlow(0.0);
BigDecimal clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(usePart[0].toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), codes); BigDecimal clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(usePart[0].toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), codes);
int clickFlow = clickNum == null ? 0 : clickNum.intValue(); long clickFlow = clickNum == null ? 0L : clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if (clickFlow != 0) { if (clickFlow != 0) {
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -411,7 +413,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -411,7 +413,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
//todo 累计总收入,还得算上签订日之前的流量 //todo 累计总收入,还得算上签订日之前的流量
clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[0].toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), codes); clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[0].toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), codes);
clickFlow = clickNum == null ? 0 : clickNum.intValue(); clickFlow = clickNum == null ? 0L : clickNum.longValue();
if (beforSigndFlow != null) { if (beforSigndFlow != null) {
clickFlow += beforSigndFlow.intValue(); clickFlow += beforSigndFlow.intValue();
} }
...@@ -436,7 +438,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -436,7 +438,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
codes.add(contractsArray[k].getContractCode()); codes.add(contractsArray[k].getContractCode());
} }
BigDecimal clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(useStart.toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), codes); BigDecimal clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(useStart.toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), codes);
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
...@@ -453,7 +455,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -453,7 +455,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
//contractPart[0], creatPoints[1].plusDays(-1) //contractPart[0], creatPoints[1].plusDays(-1)
//晚录调整金 //晚录调整金
clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[0].toString("yyyy-MM-dd"), creatPoints[1].plusDays(-1).toString("yyyy-MM-dd"), codes); clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[0].toString("yyyy-MM-dd"), creatPoints[1].plusDays(-1).toString("yyyy-MM-dd"), codes);
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
clickTenThousand = new BigDecimal(0); clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -479,7 +481,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -479,7 +481,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
//累计总收入 //累计总收入
clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[0].toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), codes); clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[0].toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), codes);
clickFlow = clickNum == null ? 0 : clickNum.intValue(); clickFlow = clickNum == null ? 0L : clickNum.longValue();
if (beforSigndFlow != null) { if (beforSigndFlow != null) {
clickFlow += beforSigndFlow.intValue(); clickFlow += beforSigndFlow.intValue();
} }
...@@ -502,7 +504,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -502,7 +504,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
codes.add(contractsArray[k].getContractCode()); codes.add(contractsArray[k].getContractCode());
} }
BigDecimal clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(lastDate[0].toString("yyyy-MM-dd"), lastDate[1].toString("yyyy-MM-dd"), codes); BigDecimal clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(lastDate[0].toString("yyyy-MM-dd"), lastDate[1].toString("yyyy-MM-dd"), codes);
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -511,7 +513,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -511,7 +513,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
//最后一天的流量 //最后一天的流量
clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[1].toString("yyyy-MM-dd"), contractPart[1].toString("yyyy-MM-dd"), codes); clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[1].toString("yyyy-MM-dd"), contractPart[1].toString("yyyy-MM-dd"), codes);
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
clickTenThousand = new BigDecimal(0); clickTenThousand = new BigDecimal(0);
if(clickFlow!=0)clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); if(clickFlow!=0)clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
long lastDayTheMoney = unitPriceAccurate.multiply(clickTenThousand).setScale(0, BigDecimal.ROUND_HALF_UP).longValue(); long lastDayTheMoney = unitPriceAccurate.multiply(clickTenThousand).setScale(0, BigDecimal.ROUND_HALF_UP).longValue();
...@@ -522,6 +524,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -522,6 +524,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
lastDay = excludTax - contract.getAdjustmentFund() - beforeTheMoney; lastDay = excludTax - contract.getAdjustmentFund() - beforeTheMoney;
//最后一日 或 包含最后一日 时 //最后一日 或 包含最后一日 时
contract.setIntervaIncomeShare(contract.getIntervaIncomeShare() - lastDayTheMoney + lastDay); contract.setIntervaIncomeShare(contract.getIntervaIncomeShare() - lastDayTheMoney + lastDay);
contract.setIncomeGross(contract.getIncomeGross() - lastDayTheMoney + lastDay);
} }
contract.setIncomeShareAll(contract.getIntervaIncomeShare() + contract.getAdjustmentFund()); contract.setIncomeShareAll(contract.getIntervaIncomeShare() + contract.getAdjustmentFund());
...@@ -529,11 +532,12 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -529,11 +532,12 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
int contractAllDay = getDayRange(contractPart[0], contractPart[1]) + 1;//合同总天数 int contractAllDay = getDayRange(contractPart[0], contractPart[1]) + 1;//合同总天数
BigDecimal dayShareIncome = new BigDecimal(totalprice/1.06/contractAllDay) BigDecimal dayShareIncome = new BigDecimal(totalprice/1.06/contractAllDay)
.setScale(16, BigDecimal.ROUND_HALF_UP); .setScale(16, BigDecimal.ROUND_HALF_UP);
contract.setUnitPrice(dayShareIncome.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());//设置不限量套餐的单价
int betweenMonth = Months.monthsBetween(contractPart[0], creatPoints[0]).getMonths(); int betweenMonth = Months.monthsBetween(contractPart[0], creatPoints[0]).getMonths();
//时间范围内用于计算分摊金额的天数 //时间范围内用于计算分摊金额的天数
int daysIncom = getDayRange(usePart[0], usePart[1]) + 1; int daysIncom = getDayRange(usePart[0], usePart[1]) + 1;
//区间分摊总收入 //区间分摊总收入
contract.setIntervaIncomeShare(shareMultiply(dayShareIncome, new BigDecimal(daysIncom), 0)); contract.setIntervaIncomeShare(shareMultiply(dayShareIncome.multiply(new BigDecimal(100L)), new BigDecimal(daysIncom), 0));
Long adjustmentFund = 0L;//调整金 Long adjustmentFund = 0L;//调整金
...@@ -561,8 +565,8 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -561,8 +565,8 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
DateTime useStart = creatPoints[1].compareTo(selected[0]) >= 0 ? creatPoints[1] : selected[0]; DateTime useStart = creatPoints[1].compareTo(selected[0]) >= 0 ? creatPoints[1] : selected[0];
daysIncom = getDayRange(useStart, usePart[1]) + 1; daysIncom = getDayRange(useStart, usePart[1]) + 1;
contract.setIntervaIncomeShare(shareMultiply(dayShareIncome, new BigDecimal(daysIncom), 0)); contract.setIntervaIncomeShare(shareMultiply(dayShareIncome.multiply(new BigDecimal(100L)), new BigDecimal(daysIncom), 0));
adjustmentFund = shareMultiply(dayShareIncome, new BigDecimal(getDayRange(contractPart[0], creatPoints[1].plusDays(-1)) + 1), 0); adjustmentFund = shareMultiply(dayShareIncome.multiply(new BigDecimal(100L)), new BigDecimal(getDayRange(contractPart[0], creatPoints[1].plusDays(-1)) + 1), 0);
if (checkTwoTime(selected[0], creatPoints[1]) && checkTwoTime(creatPoints[1], selected[1])) { if (checkTwoTime(selected[0], creatPoints[1]) && checkTwoTime(creatPoints[1], selected[1])) {
//所选时间范围包含 录入月 1 号 显示统计的调整金 //所选时间范围包含 录入月 1 号 显示统计的调整金
...@@ -578,7 +582,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -578,7 +582,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
} }
//处理上一份合同 //处理上一份合同
BigDecimal clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[0].toString("yyyy-MM-dd"), creatPoints[1].plusDays(-1).toString("yyyy-MM-dd"), codes); BigDecimal clickNum = tkioFlowRepository.sumFlowByDsAndContractCodes(contractPart[0].toString("yyyy-MM-dd"), creatPoints[1].plusDays(-1).toString("yyyy-MM-dd"), codes);
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -589,9 +593,9 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -589,9 +593,9 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
} }
if (checkTwoTime(selected[0], contractPart[1]) && checkTwoTime(contractPart[1], selected[1])) { if (checkTwoTime(selected[0], contractPart[1]) && checkTwoTime(contractPart[1], selected[1])) {
contract.setIncomeGross(shareMultiply(new BigDecimal(getDayRange(contractPart[0], contractPart[1]) + 1), dayShareIncome, 0)); contract.setIncomeGross(shareMultiply( dayShareIncome.multiply(new BigDecimal(100L)),new BigDecimal(getDayRange(contractPart[0], contractPart[1]) + 1), 0));
} else { } else {
contract.setIncomeGross(shareMultiply(new BigDecimal(getDayRange(contractPart[0], selected[1]) + 1), dayShareIncome, 0)); contract.setIncomeGross(shareMultiply( dayShareIncome.multiply(new BigDecimal(100L)),new BigDecimal(getDayRange(contractPart[0], selected[1]) + 1), 0));
} }
if (checkTwoTime(contractPart[1], selected[1])) { if (checkTwoTime(contractPart[1], selected[1])) {
...@@ -599,14 +603,15 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -599,14 +603,15 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
Long lastDay; Long lastDay;
if (isLater) { if (isLater) {
lastDay = contract.getIncomeExcludingTax() - adjustmentFund lastDay = contract.getIncomeExcludingTax() - adjustmentFund
- shareMultiply(dayShareIncome, new BigDecimal(getDayRange(creatPoints[1], contractPart[1])), 0); - shareMultiply(dayShareIncome.multiply(new BigDecimal(100L)), new BigDecimal(getDayRange(creatPoints[1], contractPart[1])), 0);
} else { } else {
lastDay = contract.getIncomeExcludingTax() - adjustmentFund lastDay = contract.getIncomeExcludingTax() - adjustmentFund
- shareMultiply(dayShareIncome, new BigDecimal(getDayRange(contractPart[0], contractPart[1])), 0); - shareMultiply(dayShareIncome.multiply(new BigDecimal(100L)), new BigDecimal(getDayRange(contractPart[0], contractPart[1])), 0);
} }
//最后一日 或 包含最后一日 时 //最后一日 或 包含最后一日 时
contract.setIntervaIncomeShare(contract.getIntervaIncomeShare() - contract.setIntervaIncomeShare(contract.getIntervaIncomeShare() -
dayShareIncome.setScale(0, BigDecimal.ROUND_HALF_UP).longValue() + lastDay); dayShareIncome.multiply(new BigDecimal(100L)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue() + lastDay);
contract.setIncomeGross(contract.getIncomeGross()-dayShareIncome.multiply(new BigDecimal(100L)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue() + lastDay);
} }
...@@ -717,7 +722,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -717,7 +722,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
if (!isLateContract) { if (!isLateContract) {
//非合同晚录 //非合同晚录
BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),usePart[0].toString("yyyy-MM-dd"),usePart[1].toString("yyyy-MM-dd")); BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),usePart[0].toString("yyyy-MM-dd"),usePart[1].toString("yyyy-MM-dd"));
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
...@@ -736,7 +741,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -736,7 +741,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
}else{ }else{
//累计总收入 //累计总收入
clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[0].toString("yyyy-MM-dd"),selected[1].toString("yyyy-MM-dd")); clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[0].toString("yyyy-MM-dd"),selected[1].toString("yyyy-MM-dd"));
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue()); contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
} }
...@@ -747,7 +752,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -747,7 +752,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
contract.setAdjustmentFund(0L); contract.setAdjustmentFund(0L);
contract.setIncomeShareAll(contract.getIntervaIncomeShare()); contract.setIncomeShareAll(contract.getIntervaIncomeShare());
BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),usePart[0].toString("yyyy-MM-dd"),usePart[1].toString("yyyy-MM-dd")); BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),usePart[0].toString("yyyy-MM-dd"),usePart[1].toString("yyyy-MM-dd"));
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
contract.setClickFlow(new BigDecimal(clickFlow / 10000.0).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue()); contract.setClickFlow(new BigDecimal(clickFlow / 10000.0).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue());
contract.setIncomeGross(0L); contract.setIncomeGross(0L);
contract.setStatus(ContractStatusEnum.LATE.getKey()); contract.setStatus(ContractStatusEnum.LATE.getKey());
...@@ -758,7 +763,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -758,7 +763,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
DateTime useStart = creatPoints[1].compareTo(selected[0]) >= 0 ? creatPoints[1] : selected[0]; DateTime useStart = creatPoints[1].compareTo(selected[0]) >= 0 ? creatPoints[1] : selected[0];
BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),useStart.toString("yyyy-MM-dd"),usePart[1].toString("yyyy-MM-dd")); BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),useStart.toString("yyyy-MM-dd"),usePart[1].toString("yyyy-MM-dd"));
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
...@@ -777,7 +782,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -777,7 +782,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
//合同开始日期,合同录入日期的一号,-1就是上个月最后一天 //合同开始日期,合同录入日期的一号,-1就是上个月最后一天
//contractPart[0], creatPoints[1].plusDays(-1) //contractPart[0], creatPoints[1].plusDays(-1)
clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[0].toString("yyyy-MM-dd"),creatPoints[1].plusDays(-1).toString("yyyy-MM-dd")); clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[0].toString("yyyy-MM-dd"),creatPoints[1].plusDays(-1).toString("yyyy-MM-dd"));
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
clickTenThousand = new BigDecimal(0); clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -793,7 +798,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -793,7 +798,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
}else{ }else{
//累计总收入 //累计总收入
clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[0].toString("yyyy-MM-dd"),selected[1].plusDays(-1).toString("yyyy-MM-dd")); clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[0].toString("yyyy-MM-dd"),selected[1].plusDays(-1).toString("yyyy-MM-dd"));
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue()); contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
} }
} }
...@@ -809,7 +814,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -809,7 +814,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
} }
//合同除去最后一天的流量 //合同除去最后一天的流量
BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),lastDate[0].toString("yyyy-MM-dd"),lastDate[1].toString("yyyy-MM-dd")); BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),lastDate[0].toString("yyyy-MM-dd"),lastDate[1].toString("yyyy-MM-dd"));
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -818,7 +823,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -818,7 +823,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
//最后一天的流量 //最后一天的流量
clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[1].toString("yyyy-MM-dd"),contractPart[1].toString("yyyy-MM-dd")); clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[1].toString("yyyy-MM-dd"),contractPart[1].toString("yyyy-MM-dd"));
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
clickTenThousand = new BigDecimal(0); clickTenThousand = new BigDecimal(0);
if(clickFlow!=0)clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); if(clickFlow!=0)clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
long lastDayTheMoney = unitPriceAccurate.multiply(clickTenThousand).setScale(0, BigDecimal.ROUND_HALF_UP).longValue(); long lastDayTheMoney = unitPriceAccurate.multiply(clickTenThousand).setScale(0, BigDecimal.ROUND_HALF_UP).longValue();
...@@ -859,7 +864,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -859,7 +864,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
//查询调整金的点击,日期开始结束时间注意不能颠倒 //查询调整金的点击,日期开始结束时间注意不能颠倒
BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),cancelDate.toString("yyyy-MM-dd"),suspendDate.toString("yyyy-MM-dd")); BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),cancelDate.toString("yyyy-MM-dd"),suspendDate.toString("yyyy-MM-dd"));
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
...@@ -872,7 +877,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -872,7 +877,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
DateTime usedEnd = usePart[1].compareTo(cancelDate) <= 0 ? usePart[1] : cancelDate; DateTime usedEnd = usePart[1].compareTo(cancelDate) <= 0 ? usePart[1] : cancelDate;
//查询开始->中止日期的点击(有收入的点击),不包括调整金 //查询开始->中止日期的点击(有收入的点击),不包括调整金
BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),usePart[0].toString("yyyy-MM-dd"),usedEnd.toString("yyyy-MM-dd")); BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),usePart[0].toString("yyyy-MM-dd"),usedEnd.toString("yyyy-MM-dd"));
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -889,7 +894,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -889,7 +894,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
}else{ }else{
//累计总收入 //累计总收入
clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[0].toString("yyyy-MM-dd"),selected[1].toString("yyyy-MM-dd")); clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),contractPart[0].toString("yyyy-MM-dd"),selected[1].toString("yyyy-MM-dd"));
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue()); contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
} }
return contract; return contract;
...@@ -913,7 +918,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -913,7 +918,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),usePart[0].toString("yyyy-MM-dd"),usedEnd.toString("yyyy-MM-dd")); BigDecimal clickNum = tkioFlowRepository.sumFlowByContractCodeAndDs(contract.getContractCode(),usePart[0].toString("yyyy-MM-dd"),usedEnd.toString("yyyy-MM-dd"));
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
//区间点击数 //区间点击数
contract.setClickFlow(0.0); contract.setClickFlow(0.0);
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
...@@ -1016,7 +1021,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1016,7 +1021,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
if (!isLateContract) { if (!isLateContract) {
//非合同晚录 //非合同晚录
BigInteger clickNum = accountFlowRestrictService.getTotalNum(usePart[0].toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum"); BigInteger clickNum = accountFlowRestrictService.getTotalNum(usePart[0].toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum");
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
...@@ -1035,7 +1040,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1035,7 +1040,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
}else{ }else{
//累计总收入 //累计总收入
clickNum = accountFlowRestrictService.getTotalNum(contractPart[0].toString("yyyy-MM-dd"), selected[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum"); clickNum = accountFlowRestrictService.getTotalNum(contractPart[0].toString("yyyy-MM-dd"), selected[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum");
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue()); contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
} }
...@@ -1055,7 +1060,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1055,7 +1060,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
DateTime useStart = creatPoints[1].compareTo(selected[0]) >= 0 ? creatPoints[1] : selected[0]; DateTime useStart = creatPoints[1].compareTo(selected[0]) >= 0 ? creatPoints[1] : selected[0];
BigInteger clickNum = accountFlowRestrictService.getTotalNum(useStart.toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum"); BigInteger clickNum = accountFlowRestrictService.getTotalNum(useStart.toString("yyyy-MM-dd"), usePart[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum");
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
...@@ -1072,7 +1077,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1072,7 +1077,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
//合同开始日期,合同录入日期的一号,-1就是上个月最后一天 //合同开始日期,合同录入日期的一号,-1就是上个月最后一天
//contractPart[0], creatPoints[1].plusDays(-1) //contractPart[0], creatPoints[1].plusDays(-1)
clickNum = accountFlowRestrictService.getTotalNum(contractPart[0].toString("yyyy-MM-dd"),creatPoints[1].plusDays(-1).toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum"); clickNum = accountFlowRestrictService.getTotalNum(contractPart[0].toString("yyyy-MM-dd"),creatPoints[1].plusDays(-1).toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum");
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
clickTenThousand = new BigDecimal(0); clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -1088,7 +1093,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1088,7 +1093,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
}else{ }else{
//累计总收入 //累计总收入
clickNum = accountFlowRestrictService.getTotalNum(contractPart[0].toString("yyyy-MM-dd"), selected[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum"); clickNum = accountFlowRestrictService.getTotalNum(contractPart[0].toString("yyyy-MM-dd"), selected[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum");
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue()); contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
} }
} }
...@@ -1104,7 +1109,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1104,7 +1109,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
} }
//合同除去最后一天的流量 //合同除去最后一天的流量
BigInteger clickNum = accountFlowRestrictService.getTotalNum(lastDate[0].toString("yyyy-MM-dd"), lastDate[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum"); BigInteger clickNum = accountFlowRestrictService.getTotalNum(lastDate[0].toString("yyyy-MM-dd"), lastDate[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum");
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -1113,7 +1118,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1113,7 +1118,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
//最后一天的流量 //最后一天的流量
clickNum = accountFlowRestrictService.getTotalNum(contractPart[1].toString("yyyy-MM-dd"), contractPart[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum"); clickNum = accountFlowRestrictService.getTotalNum(contractPart[1].toString("yyyy-MM-dd"), contractPart[1].toString("yyyy-MM-dd"), appkeyStr, "account_track_flow_restrict", "click_sum");
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
clickTenThousand = new BigDecimal(0); clickTenThousand = new BigDecimal(0);
if(clickFlow!=0)clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); if(clickFlow!=0)clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
long lastDayTheMoney = unitPriceAccurate.multiply(clickTenThousand).setScale(0, BigDecimal.ROUND_HALF_UP).longValue(); long lastDayTheMoney = unitPriceAccurate.multiply(clickTenThousand).setScale(0, BigDecimal.ROUND_HALF_UP).longValue();
...@@ -1154,7 +1159,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1154,7 +1159,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
} else { } else {
//查询调整金的点击,日期开始结束时间注意不能颠倒 //查询调整金的点击,日期开始结束时间注意不能颠倒
BigInteger clickNum = accountFlowRestrictService.getTotalNum(cancelDate.toString("yyyy-MM-dd"), suspendDate.toString("yyyy-MM-dd"), appkeys, "account_track_flow_restrict", "click_sum"); BigInteger clickNum = accountFlowRestrictService.getTotalNum(cancelDate.toString("yyyy-MM-dd"), suspendDate.toString("yyyy-MM-dd"), appkeys, "account_track_flow_restrict", "click_sum");
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
...@@ -1167,7 +1172,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1167,7 +1172,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
DateTime usedEnd = usePart[1].compareTo(cancelDate) <= 0 ? usePart[1] : cancelDate; DateTime usedEnd = usePart[1].compareTo(cancelDate) <= 0 ? usePart[1] : cancelDate;
//查询开始->中止日期的点击(有收入的点击),不包括调整金 //查询开始->中止日期的点击(有收入的点击),不包括调整金
BigInteger clickNum = accountFlowRestrictService.getTotalNum(usePart[0].toString("yyyy-MM-dd"), usedEnd.toString("yyyy-MM-dd"), appkeys, "account_track_flow_restrict", "click_sum"); BigInteger clickNum = accountFlowRestrictService.getTotalNum(usePart[0].toString("yyyy-MM-dd"), usedEnd.toString("yyyy-MM-dd"), appkeys, "account_track_flow_restrict", "click_sum");
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
if(clickFlow!=0){ if(clickFlow!=0){
clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100); clickTenThousand = new BigDecimal(clickFlow / 10000.0 * 100);
...@@ -1184,7 +1189,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1184,7 +1189,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
}else{ }else{
//累计总收入 //累计总收入
clickNum = accountFlowRestrictService.getTotalNum(contractPart[0].toString("yyyy-MM-dd"), selected[1].toString("yyyy-MM-dd"), appkeys, "account_track_flow_restrict", "click_sum"); clickNum = accountFlowRestrictService.getTotalNum(contractPart[0].toString("yyyy-MM-dd"), selected[1].toString("yyyy-MM-dd"), appkeys, "account_track_flow_restrict", "click_sum");
clickFlow = clickNum==null?0:clickNum.intValue(); clickFlow = clickNum==null?0L:clickNum.longValue();
contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue()); contract.setIncomeGross(unitPriceAccurate.multiply(new BigDecimal(clickFlow / 10000.0 * 100)).setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
} }
return contract; return contract;
...@@ -1207,7 +1212,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService { ...@@ -1207,7 +1212,7 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
DateTime usedEnd = usePart[1].compareTo(cancelDate) <= 0 ? usePart[1] : cancelDate; DateTime usedEnd = usePart[1].compareTo(cancelDate) <= 0 ? usePart[1] : cancelDate;
BigInteger clickNum = accountFlowRestrictService.getTotalNum(usePart[0].toString("yyyy-MM-dd"), usedEnd.toString("yyyy-MM-dd"), appkeys, "account_track_flow_restrict", "click_sum"); BigInteger clickNum = accountFlowRestrictService.getTotalNum(usePart[0].toString("yyyy-MM-dd"), usedEnd.toString("yyyy-MM-dd"), appkeys, "account_track_flow_restrict", "click_sum");
int clickFlow = clickNum==null?0:clickNum.intValue(); long clickFlow = clickNum==null?0L:clickNum.longValue();
//区间点击数 //区间点击数
contract.setClickFlow(0.0); contract.setClickFlow(0.0);
BigDecimal clickTenThousand = new BigDecimal(0); BigDecimal clickTenThousand = new BigDecimal(0);
......
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