@ -468,18 +468,18 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
String orgLevelKey = defaultIdReltBean . getData ( ) ;
if ( "1" . equals ( orgLevelKey ) ) {
orgSidPath = orgSidPath . substring ( 0 , i1 ) ;
qw . like ( "p .orgSidPath" , orgSidPath ) ;
qw . like ( "m .orgSidPath" , orgSidPath ) ;
} else if ( "2" . equals ( orgLevelKey ) ) {
orgSidPath = orgSidPath . substring ( 0 , i2 ) ;
qw . like ( "p .orgSidPath" , orgSidPath ) ;
qw . like ( "m .orgSidPath" , orgSidPath ) ;
} else if ( "3" . equals ( orgLevelKey ) ) {
orgSidPath = orgSidPath . substring ( 0 , i3 ) ;
qw . like ( "p .orgSidPath" , orgSidPath ) ;
qw . like ( "m .orgSidPath" , orgSidPath ) ;
} else if ( "4" . equals ( orgLevelKey ) ) {
orgSidPath = orgSidPath . substring ( 0 , i4 ) ;
qw . like ( "p .orgSidPath" , orgSidPath ) ;
qw . like ( "m .orgSidPath" , orgSidPath ) ;
} else if ( "5" . equals ( orgLevelKey ) ) {
qw . eq ( "p .salesUserSid" , pagerQuery . getUserSid ( ) ) ;
qw . eq ( "m .salesUserSid" , pagerQuery . getUserSid ( ) ) ;
} else {
PagerVo < LoanRepaymentHistoryVo > p = new PagerVo < > ( ) ;
return p ;
@ -490,132 +490,79 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
}
//=======================
if ( StringUtils . isNotBlank ( pagerQuery . getLoanContractNo ( ) ) ) {
qw . like ( "p .loanContractNo" , pagerQuery . getLoanContractNo ( ) ) ;
qw . like ( "m .loanContractNo" , pagerQuery . getLoanContractNo ( ) ) ;
}
if ( StringUtils . isNotBlank ( pagerQuery . getVinNo ( ) ) ) {
qw . like ( "p .vinNo" , pagerQuery . getVinNo ( ) ) ;
qw . like ( "m .vinNo" , pagerQuery . getVinNo ( ) ) ;
}
if ( StringUtils . isNotBlank ( pagerQuery . getBankName ( ) ) ) {
qw . like ( "p .bankName" , pagerQuery . getBankName ( ) ) ;
qw . like ( "m .bankName" , pagerQuery . getBankName ( ) ) ;
}
if ( StringUtils . isNotBlank ( pagerQuery . getBankContractNo ( ) ) ) {
qw . like ( "p .bankContractNo" , pagerQuery . getBankContractNo ( ) ) ;
qw . like ( "m .bankContractNo" , pagerQuery . getBankContractNo ( ) ) ;
}
if ( StringUtils . isNotBlank ( pagerQuery . getCustomer ( ) ) ) {
qw . like ( "p .customer" , pagerQuery . getCustomer ( ) ) ;
qw . like ( "m .customer" , pagerQuery . getCustomer ( ) ) ;
}
if ( StringUtils . isNotBlank ( pagerQuery . getBorrowerName ( ) ) ) {
qw . like ( "p .borrowerName" , pagerQuery . getBorrowerName ( ) ) ;
qw . like ( "m .borrowerName" , pagerQuery . getBorrowerName ( ) ) ;
}
if ( StringUtils . isNotBlank ( pagerQuery . getPeriod ( ) ) ) {
qw . like ( "p .period" , pagerQuery . getPeriod ( ) ) ;
qw . like ( "m .period" , pagerQuery . getPeriod ( ) ) ;
}
if ( StringUtils . isNotBlank ( pagerQuery . getReturnWayKey ( ) ) ) {
qw . eq ( "h .returnWayKey" , pagerQuery . getReturnWayKey ( ) ) ;
qw . eq ( "m .returnWayKey" , pagerQuery . getReturnWayKey ( ) ) ;
}
if ( StringUtils . isNotBlank ( pagerQuery . getBuckleKey ( ) ) ) {
qw . eq ( "h .buckleKey" , pagerQuery . getBuckleKey ( ) ) ;
qw . eq ( "m .buckleKey" , pagerQuery . getBuckleKey ( ) ) ;
} else {
qw . ne ( "h .buckleKey" , "002" ) ;
qw . ne ( "h .buckleKey" , "003" ) ;
qw . ne ( "m .buckleKey" , "002" ) ;
qw . ne ( "m .buckleKey" , "003" ) ;
}
qw . ne ( "h .returnWayKey" , "02" ) ;
qw . ne ( "m .returnWayKey" , "02" ) ;
String dueStartDate = pagerQuery . getDueStartDate ( ) ;
String dueEndDate = pagerQuery . getDueEndDate ( ) ;
qw . apply ( StringUtils . isNotEmpty ( dueStartDate ) , "date_format (p .dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')" ) .
apply ( StringUtils . isNotEmpty ( dueEndDate ) , "date_format (p .dueDate,'%Y-%m-%d') <= date_format('" + dueEndDate + "','%Y-%m-%d')"
qw . apply ( StringUtils . isNotEmpty ( dueStartDate ) , "date_format (m .dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')" ) .
apply ( StringUtils . isNotEmpty ( dueEndDate ) , "date_format (m .dueDate,'%Y-%m-%d') <= date_format('" + dueEndDate + "','%Y-%m-%d')"
) ;
// List<String> monthHeadAndLast = getMonthHeadAndLast(new Date());
// String head = monthHeadAndLast.get(0);
// String last = monthHeadAndLast.get(1);
SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
String actualStartDate = pagerQuery . getActualStartDate ( ) ;
String actualEndDate = pagerQuery . getActualEndDate ( ) ;
qw . apply ( StringUtils . isNotEmpty ( actualStartDate ) , "date_format (h .actualDate,'%Y-%m-%d') >= date_format('" + actualStartDate + "','%Y-%m-%d')" ) .
apply ( StringUtils . isNotEmpty ( actualEndDate ) , "date_format (h .actualDate,'%Y-%m-%d') <= date_format('" + actualEndDate + "','%Y-%m-%d')"
qw . apply ( StringUtils . isNotEmpty ( actualStartDate ) , "date_format (m .actualDate,'%Y-%m-%d') >= date_format('" + actualStartDate + "','%Y-%m-%d')" ) .
apply ( StringUtils . isNotEmpty ( actualEndDate ) , "date_format (m .actualDate,'%Y-%m-%d') <= date_format('" + actualEndDate + "','%Y-%m-%d')"
) ;
// try {
// Date headT = sdf.parse(head);
// Date lastT = sdf.parse(last);
// Date ast = null;
// Date aed = null;
// if (StringUtils.isNotBlank(actualStartDate)) {
// ast = sdf.parse(actualStartDate);
// }
// if (StringUtils.isNotBlank(actualEndDate)) {
// aed = sdf.parse(actualEndDate);
// }
//
// if (StringUtils.isBlank(actualStartDate) && StringUtils.isNotBlank(actualEndDate)) {
// if (aed.before(lastT)) {
// qw.apply(StringUtils.isNotEmpty(head), "date_format (h.actualDate,'%Y-%m-%d') >= date_format('" + head + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(actualEndDate), "date_format (h.actualDate,'%Y-%m-%d') <= date_format('" + actualEndDate + "','%Y-%m-%d')"
// );
// } else {
// qw.apply(StringUtils.isNotEmpty(head), "date_format (h.actualDate,'%Y-%m-%d') >= date_format('" + head + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(last), "date_format (h.actualDate,'%Y-%m-%d') <= date_format('" + last + "','%Y-%m-%d')"
// );
// }
// } else if (StringUtils.isBlank(actualEndDate) && StringUtils.isNotBlank(actualStartDate)) {
// if (headT.before(ast)) {
// qw.apply(StringUtils.isNotEmpty(actualStartDate), "date_format (h.actualDate,'%Y-%m-%d') >= date_format('" + actualStartDate + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(last), "date_format (h.actualDate,'%Y-%m-%d') <= date_format('" + last + "','%Y-%m-%d')"
// );
// } else {
// qw.apply(StringUtils.isNotEmpty(head), "date_format (h.actualDate,'%Y-%m-%d') >= date_format('" + head + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(last), "date_format (h.actualDate,'%Y-%m-%d') <= date_format('" + last + "','%Y-%m-%d')"
// );
// }
// } else if (StringUtils.isNotBlank(actualStartDate) && StringUtils.isNotBlank(actualEndDate)) {
// if (headT.before(ast) && aed.before(lastT)) {
// qw.apply(StringUtils.isNotEmpty(actualStartDate), "date_format (h.actualDate,'%Y-%m-%d') >= date_format('" + actualStartDate + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(actualEndDate), "date_format (h.actualDate,'%Y-%m-%d') <= date_format('" + actualEndDate + "','%Y-%m-%d')"
// );
// } else if (headT.before(ast) && !aed.before(lastT)) {
// qw.apply(StringUtils.isNotEmpty(actualStartDate), "date_format (h.actualDate,'%Y-%m-%d') >= date_format('" + actualStartDate + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(last), "date_format (h.actualDate,'%Y-%m-%d') <= date_format('" + lastT + "','%Y-%m-%d')"
// );
// } else if (!headT.before(ast) && aed.before(lastT)) {
// qw.apply(StringUtils.isNotEmpty(head), "date_format (h.actualDate,'%Y-%m-%d') >= date_format('" + head + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(actualEndDate), "date_format (h.actualDate,'%Y-%m-%d') <= date_format('" + actualEndDate + "','%Y-%m-%d')"
// );
// } else if (!headT.before(ast) && !aed.before(lastT)) {
// qw.apply(StringUtils.isNotEmpty(head), "date_format (h.actualDate,'%Y-%m-%d') >= date_format('" + head + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(last), "date_format (h.actualDate,'%Y-%m-%d') <= date_format('" + last + "','%Y-%m-%d')"
// );
// }
// }
// } catch (ParseException e) {
// e.printStackTrace();
// }
String dataStartTime = pagerQuery . getDataStartTime ( ) ;
String dataEndTime = pagerQuery . getDataEndTime ( ) ;
qw . apply ( StringUtils . isNotEmpty ( dataStartTime ) , "date_format (h .dataTime,'%Y-%m-%d') >= date_format('" + dataStartTime + "','%Y-%m-%d')" ) .
apply ( StringUtils . isNotEmpty ( dataEndTime ) , "date_format (h .dataTime,'%Y-%m-%d') <= date_format('" + dataEndTime + "','%Y-%m-%d')"
qw . apply ( StringUtils . isNotEmpty ( dataStartTime ) , "date_format (m.dataTime,'%Y-%m-%d') >= date_format('" + dataStartTime + "','%Y-%m-%d')" ) .
apply ( StringUtils . isNotEmpty ( dataEndTime ) , "date_format (m.dataTime,'%Y-%m-%d') <= date_format('" + dataEndTime + "','%Y-%m-%d')"
) ;
qw . orderByDesc ( "h.dataTime" ) ;
IPage < LoanRepaymentHistoryVo > pagging = baseMapper . monthListPage ( page , qw ) ;
List < LoanRepaymentHistoryVo > records = pagging . getRecords ( ) ;
records . removeAll ( Collections . singleton ( null ) ) ;
if ( ! records . isEmpty ( ) ) {
for ( LoanRepaymentHistoryVo record : records ) {
String planDetailSid = record . getPlanDetailSid ( ) ;
List < LoanRepaymentHistory > histories = baseMapper . selByPlanSid ( planDetailSid ) ;
BigDecimal returned = new BigDecimal ( 0 ) ;
if ( ! histories . isEmpty ( ) ) {
for ( LoanRepaymentHistory history : histories ) {
returned = history . getActualMoney ( ) . add ( returned ) ;
}
}
LoanRepaymentPlanDetails loanRepaymentPlanDetails = loanRepaymentPlanDetailsService . fetchBySid ( record . getPlanDetailSid ( ) ) ;
if ( null ! = loanRepaymentPlanDetails ) {
BigDecimal dueMoney = loanRepaymentPlanDetails . getDueMoney ( ) ;
BigDecimal subtract = dueMoney . subtract ( returned ) ;
record . setOutstandingMoney ( String . valueOf ( subtract ) ) ;
}
if ( StringUtils . isNotBlank ( pagerQuery . getChange ( ) ) ) {
if ( pagerQuery . getChange ( ) . equals ( "1" ) ) {
qw . apply ( "((SELECT l.vehCount FROM anrui_buscenter.bus_sales_order_loancontract as l WHERE l.loanContractNo = m.loanContractNo and l.isDelete = 0) > 1 and m.outstandingMoney != m.actualMoney and returnWay = '直还')" ) ;
}
}
qw . orderByDesc ( "m.dataTime" ) ;
IPage < LoanRepaymentHistoryVo > pagging = baseMapper . monthListPage ( page , qw ) ;
// List<LoanRepaymentHistoryVo> records = pagging.getRecords();
// records.removeAll(Collections.singleton(null));
// if (!records.isEmpty()) {
// for (LoanRepaymentHistoryVo record : records) {
// String planDetailSid = record.getPlanDetailSid();
// List<LoanRepaymentHistory> histories = baseMapper.selByPlanSid(planDetailSid);
// BigDecimal returned = new BigDecimal(0);
// if (!histories.isEmpty()) {
// for (LoanRepaymentHistory history : histories) {
// returned = history.getActualMoney().add(returned);
// }
// }
// LoanRepaymentPlanDetails loanRepaymentPlanDetails = loanRepaymentPlanDetailsService.fetchBySid(record.getPlanDetailSid());
// if (null != loanRepaymentPlanDetails) {
// BigDecimal dueMoney = loanRepaymentPlanDetails.getDueMoney();
// BigDecimal subtract = dueMoney.subtract(returned);
// record.setOutstandingMoney(String.valueOf(subtract));
// }
// }
// }
PagerVo < LoanRepaymentHistoryVo > p = PagerUtil . pageToVo ( pagging , null ) ;
return p ;
}
@ -704,10 +651,14 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
return rb . success ( ) . setData ( vo ) ;
}
@Transactional ( rollbackFor = Exception . class )
public ResultBean deleteBySids ( String [ ] sids ) {
ResultBean rb = ResultBean . fireFail ( ) ;
for ( String sid : sids ) {
LoanRepaymentHistory repaymentHistory = fetchBySid ( sid ) ;
if ( repaymentHistory . getReturnWay ( ) . equals ( "转付" ) ) {
return rb . setMsg ( "转付记录无法删除" ) ;
}
baseMapper . deleteById ( repaymentHistory ) ;
}
return rb . success ( ) . setMsg ( "删除成功" ) ;