fix: 信用卡账单生成问题修复。
This commit is contained in:
@@ -332,8 +332,19 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
||||
}
|
||||
}
|
||||
|
||||
//如果账单日消费计入下期(isNextBillDate=1)且今天是账单日,需要生成下一个账单周期
|
||||
//如枟账单日消费计入下期(isNextBillDate=1)且今天是账单日,需要生成下一个账单周期
|
||||
if(isNextBillDate.equals("1") && dayOfMonth == bankCard.getBillDate()){
|
||||
//先将当期账单状态更新为已出账
|
||||
if(creditCardBillList.size()>0){
|
||||
CreditCardBillVo currentCreditCardBillVo=creditCardBillList.get(0);
|
||||
CreditCardBill updateCurrentBill=new CreditCardBill();
|
||||
updateCurrentBill.setUpdateBy(SecurityUtils.getUsername());
|
||||
updateCurrentBill.setUpdateTime(DateUtils.getNowDate());
|
||||
updateCurrentBill.setId(currentCreditCardBillVo.getId());
|
||||
updateCurrentBill.setBillState("1");//设置为已出账
|
||||
creditCardBillMapper.updateCreditCardBill(updateCurrentBill);
|
||||
}
|
||||
|
||||
//计算下一个账单日期
|
||||
String nextBillDateStr;
|
||||
if(month==12){
|
||||
@@ -364,6 +375,30 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
||||
Date nextEndDate = nextCalendarEnd.getTime();
|
||||
String nextPeriodEnd= formatter.format(nextEndDate);
|
||||
|
||||
//计算下一个账单周期的账单金额
|
||||
double nextBillAmount=0;
|
||||
AccountsDealRecordDto nextAccountsDealRecordDto=new AccountsDealRecordDto();
|
||||
nextAccountsDealRecordDto.setAccountId(bankCard.getId());
|
||||
try {
|
||||
nextAccountsDealRecordDto.setStartDateTime(formatterTime.parse(nextPeriodStart+" 00:00:00"));
|
||||
nextAccountsDealRecordDto.setEndDateTime(formatterTime.parse(nextPeriodEnd+" 23:59:59"));
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
nextAccountsDealRecordDto.setCreditBill("6");
|
||||
|
||||
//获取下一个账单周期的所有交易记录
|
||||
List<AccountsDealRecordVo> nextAccountsDealRecordVoList=accountsDealRecordMapper.selectAccountsDealRecordList(nextAccountsDealRecordDto);
|
||||
//收入转为负数
|
||||
for (AccountsDealRecordVo vo:nextAccountsDealRecordVoList) {
|
||||
if(vo.getDealType().equals("1")){
|
||||
vo.setAmount(vo.getAmount()*(-1));
|
||||
}
|
||||
}
|
||||
if(nextAccountsDealRecordVoList.size()>0){
|
||||
nextBillAmount=nextAccountsDealRecordVoList.stream().mapToDouble(AccountsDealRecordVo::getAmount).sum();
|
||||
}
|
||||
|
||||
//检查下一个账单周期是否已存在
|
||||
CreditCardBillDto nextCreditCardBillDto=new CreditCardBillDto();
|
||||
nextCreditCardBillDto.setCreditCardId(bankCard.getId());
|
||||
@@ -381,9 +416,18 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
||||
nextCreditCardBill.setCreateTime(DateUtils.getNowDate());
|
||||
nextCreditCardBill.setId(IdWorker.getId());
|
||||
nextCreditCardBill.setCreditCardId(bankCard.getId());
|
||||
nextCreditCardBill.setBillAmount(0.0);
|
||||
nextCreditCardBill.setBillAmount(nextBillAmount);
|
||||
nextCreditCardBill.setBillState("0");
|
||||
creditCardBillMapper.insertCreditCardBill(nextCreditCardBill);
|
||||
}else{
|
||||
//如果下期账单已存在,更新账单金额
|
||||
CreditCardBillVo existNextCreditCardBillVo=nextCreditCardBillList.get(0);
|
||||
CreditCardBill updateNextCreditCardBill=new CreditCardBill();
|
||||
updateNextCreditCardBill.setUpdateBy(SecurityUtils.getUsername());
|
||||
updateNextCreditCardBill.setUpdateTime(DateUtils.getNowDate());
|
||||
updateNextCreditCardBill.setId(existNextCreditCardBillVo.getId());
|
||||
updateNextCreditCardBill.setBillAmount(nextBillAmount);
|
||||
creditCardBillMapper.updateCreditCardBill(updateNextCreditCardBill);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -521,6 +565,17 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
||||
|
||||
//如果账单日消费计入下期(isNextBillDate=1)且今天是账单日,需要生成下一个账单周期
|
||||
if(isNextBillDate.equals("1") && dayOfMonth == bankCard.getBillDate()){
|
||||
//先将当期账单状态更新为已出账
|
||||
if(creditCardBillList.size()>0){
|
||||
CreditCardBillVo currentCreditCardBillVo=creditCardBillList.get(0);
|
||||
CreditCardBill updateCurrentBill=new CreditCardBill();
|
||||
updateCurrentBill.setUpdateBy(SecurityUtils.getUsername());
|
||||
updateCurrentBill.setUpdateTime(DateUtils.getNowDate());
|
||||
updateCurrentBill.setId(currentCreditCardBillVo.getId());
|
||||
updateCurrentBill.setBillState("1");//设置为已出账
|
||||
creditCardBillMapper.updateCreditCardBill(updateCurrentBill);
|
||||
}
|
||||
|
||||
//计算下一个账单日期
|
||||
String nextBillDateStr;
|
||||
if(month==12){
|
||||
@@ -551,6 +606,30 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
||||
Date nextEndDate = nextCalendarEnd.getTime();
|
||||
String nextPeriodEnd= formatter.format(nextEndDate);
|
||||
|
||||
//计算下一个账单周期的账单金额
|
||||
double nextBillAmount=0;
|
||||
AccountsDealRecordDto nextAccountsDealRecordDto=new AccountsDealRecordDto();
|
||||
nextAccountsDealRecordDto.setAccountId(bankCard.getId());
|
||||
try {
|
||||
nextAccountsDealRecordDto.setStartDateTime(formatterTime.parse(nextPeriodStart+" 00:00:00"));
|
||||
nextAccountsDealRecordDto.setEndDateTime(formatterTime.parse(nextPeriodEnd+" 23:59:59"));
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
nextAccountsDealRecordDto.setCreditBill("6");
|
||||
|
||||
//获取下一个账单周期的所有交易记录
|
||||
List<AccountsDealRecordVo> nextAccountsDealRecordVoList=accountsDealRecordMapper.selectAccountsDealRecordList(nextAccountsDealRecordDto);
|
||||
//收入转为负数
|
||||
for (AccountsDealRecordVo vo:nextAccountsDealRecordVoList) {
|
||||
if(vo.getDealType().equals("1")){
|
||||
vo.setAmount(vo.getAmount()*(-1));
|
||||
}
|
||||
}
|
||||
if(nextAccountsDealRecordVoList.size()>0){
|
||||
nextBillAmount=nextAccountsDealRecordVoList.stream().mapToDouble(AccountsDealRecordVo::getAmount).sum();
|
||||
}
|
||||
|
||||
//检查下一个账单周期是否已存在
|
||||
CreditCardBillDto nextCreditCardBillDto=new CreditCardBillDto();
|
||||
nextCreditCardBillDto.setCreditCardId(bankCard.getId());
|
||||
@@ -568,9 +647,18 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
||||
nextCreditCardBill.setCreateTime(DateUtils.getNowDate());
|
||||
nextCreditCardBill.setId(IdWorker.getId());
|
||||
nextCreditCardBill.setCreditCardId(bankCard.getId());
|
||||
nextCreditCardBill.setBillAmount(0.0);
|
||||
nextCreditCardBill.setBillAmount(nextBillAmount);
|
||||
nextCreditCardBill.setBillState("0");
|
||||
creditCardBillMapper.insertCreditCardBill(nextCreditCardBill);
|
||||
}else{
|
||||
//如枟下期账单已存在,更新账单金额
|
||||
CreditCardBillVo existNextCreditCardBillVo=nextCreditCardBillList.get(0);
|
||||
CreditCardBill updateNextCreditCardBill=new CreditCardBill();
|
||||
updateNextCreditCardBill.setUpdateBy(SecurityUtils.getUsername());
|
||||
updateNextCreditCardBill.setUpdateTime(DateUtils.getNowDate());
|
||||
updateNextCreditCardBill.setId(existNextCreditCardBillVo.getId());
|
||||
updateNextCreditCardBill.setBillAmount(nextBillAmount);
|
||||
creditCardBillMapper.updateCreditCardBill(updateNextCreditCardBill);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -186,8 +186,19 @@ public class InvestJobImpl implements IInvestJobService
|
||||
}
|
||||
}
|
||||
|
||||
//如枟账单日消费计入下期(isNextBillDate=1)且今天是账单日,需要生成下一个账单周期
|
||||
//如果账单日消费计入下期(isNextBillDate=1)且今天是账单日,需要生成下一个账单周期
|
||||
if(isNextBillDate.equals("1") && dayOfMonth == bankCard.getBillDate()){
|
||||
//先将当期账单状态更新为已出账
|
||||
if(creditCardBillList.size()>0){
|
||||
CreditCardBillVo currentCreditCardBillVo=creditCardBillList.get(0);
|
||||
CreditCardBill updateCurrentBill=new CreditCardBill();
|
||||
updateCurrentBill.setUpdateBy(SecurityUtils.getUsername());
|
||||
updateCurrentBill.setUpdateTime(DateUtils.getNowDate());
|
||||
updateCurrentBill.setId(currentCreditCardBillVo.getId());
|
||||
updateCurrentBill.setBillState("1");//设置为已出账
|
||||
creditCardBillMapper.updateCreditCardBill(updateCurrentBill);
|
||||
}
|
||||
|
||||
//计算下一个账单日期
|
||||
String nextBillDateStr;
|
||||
if(month==12){
|
||||
@@ -218,6 +229,30 @@ public class InvestJobImpl implements IInvestJobService
|
||||
Date nextEndDate = nextCalendarEnd.getTime();
|
||||
String nextPeriodEnd= formatter.format(nextEndDate);
|
||||
|
||||
//计算下一个账单周期的账单金额
|
||||
double nextBillAmount=0;
|
||||
AccountsDealRecordDto nextAccountsDealRecordDto=new AccountsDealRecordDto();
|
||||
nextAccountsDealRecordDto.setAccountId(bankCard.getId());
|
||||
try {
|
||||
nextAccountsDealRecordDto.setStartDateTime(formatterTime.parse(nextPeriodStart+" 00:00:00"));
|
||||
nextAccountsDealRecordDto.setEndDateTime(formatterTime.parse(nextPeriodEnd+" 23:59:59"));
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
nextAccountsDealRecordDto.setCreditBill("6");
|
||||
|
||||
//获取下一个账单周期的所有交易记录
|
||||
List<AccountsDealRecordVo> nextAccountsDealRecordVoList=accountsDealRecordMapper.selectAccountsDealRecordList(nextAccountsDealRecordDto);
|
||||
//收入转为负数
|
||||
for (AccountsDealRecordVo vo:nextAccountsDealRecordVoList) {
|
||||
if(vo.getDealType().equals("1")){
|
||||
vo.setAmount(vo.getAmount()*(-1));
|
||||
}
|
||||
}
|
||||
if(nextAccountsDealRecordVoList.size()>0){
|
||||
nextBillAmount=nextAccountsDealRecordVoList.stream().mapToDouble(AccountsDealRecordVo::getAmount).sum();
|
||||
}
|
||||
|
||||
//检查下一个账单周期是否已存在
|
||||
CreditCardBillDto nextCreditCardBillDto=new CreditCardBillDto();
|
||||
nextCreditCardBillDto.setCreditCardId(bankCard.getId());
|
||||
@@ -235,9 +270,18 @@ public class InvestJobImpl implements IInvestJobService
|
||||
nextCreditCardBill.setCreateTime(DateUtils.getNowDate());
|
||||
nextCreditCardBill.setId(IdWorker.getId());
|
||||
nextCreditCardBill.setCreditCardId(bankCard.getId());
|
||||
nextCreditCardBill.setBillAmount(0.0);
|
||||
nextCreditCardBill.setBillAmount(nextBillAmount);
|
||||
nextCreditCardBill.setBillState("0");
|
||||
creditCardBillMapper.insertCreditCardBill(nextCreditCardBill);
|
||||
}else{
|
||||
//如果下期账单已存在,更新账单金额
|
||||
CreditCardBillVo existNextCreditCardBillVo=nextCreditCardBillList.get(0);
|
||||
CreditCardBill updateNextCreditCardBill=new CreditCardBill();
|
||||
updateNextCreditCardBill.setUpdateBy(SecurityUtils.getUsername());
|
||||
updateNextCreditCardBill.setUpdateTime(DateUtils.getNowDate());
|
||||
updateNextCreditCardBill.setId(existNextCreditCardBillVo.getId());
|
||||
updateNextCreditCardBill.setBillAmount(nextBillAmount);
|
||||
creditCardBillMapper.updateCreditCardBill(updateNextCreditCardBill);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user