|
|
@@ -125,21 +125,81 @@ public class TopDivideLogServiceImpl extends ServiceImpl<TopDivideLogMapper, Top
|
|
|
|
|
|
@Override
|
|
|
public List<TopDivideLogVo> getCompanyList(TopDivideLogQueryBo bo) {
|
|
|
+ if(Validator.isNotEmpty(bo.getOverPayDay())){
|
|
|
+ bo.setNotPayStatus(1);
|
|
|
+ }
|
|
|
+ if(bo.getOverPayDay()==1){
|
|
|
+ bo.setOverPayDayTime(DateUtils.getNowTime()-(7*24*3600));
|
|
|
+ }
|
|
|
+ else if(bo.getOverPayDay()==2){
|
|
|
+ bo.setOverPayDayTime(DateUtils.getNowTime()-(30*24*3600));
|
|
|
+ }
|
|
|
+ else if(bo.getOverPayDay()==3){
|
|
|
+ bo.setOverPayDayTime(DateUtils.getNowTime()-(182*24*3600));
|
|
|
+ }
|
|
|
+ else if(bo.getOverPayDay()==4){
|
|
|
+ bo.setOverPayDayTime(DateUtils.getNowTime()-(365*24*3600));
|
|
|
+ }
|
|
|
List<TopDivideLogVo> list = baseMapper.getCompanyList(bo);
|
|
|
for(TopDivideLogVo logVos : list){
|
|
|
if (Validator.isNotEmpty(logVos.getBillDay())) {
|
|
|
- Calendar cal1 = new GregorianCalendar();
|
|
|
- cal1.setTimeInMillis(logVos.getMonthTime()* 1000);
|
|
|
- cal1.add(Calendar.MONTH, 1);
|
|
|
- cal1.set(Calendar.DAY_OF_MONTH, logVos.getBillDay());
|
|
|
- logVos.setPredictPayTime(cal1.getTimeInMillis()/1000);
|
|
|
- Integer predictDay = DateUtils.dayBetween(logVos.getPredictPayTime(), DateUtils.getNowTime());
|
|
|
- logVos.setPredictPayDay(predictDay);
|
|
|
+ if(logVos.getPayStatus()!=1){
|
|
|
+ Integer predictDay = DateUtils.dayBetween(logVos.getPredictPayTime(), DateUtils.getNowTime());
|
|
|
+ logVos.setPredictPayDay(predictDay);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void updateCompanyPredictPayTime(TopDivideLogQueryBo bo) {
|
|
|
+ bo.setNotPayStatus(1);
|
|
|
+ List<TopDivideLogVo> list = baseMapper.getCompanyList(bo);
|
|
|
+ for(TopDivideLogVo logVos : list){
|
|
|
+ if (Validator.isNotEmpty(logVos.getBillDay())) {
|
|
|
+ if(Validator.isNotEmpty(logVos.getBillType())){
|
|
|
+ Calendar cal1 = new GregorianCalendar();
|
|
|
+ cal1.setTimeInMillis(logVos.getMonthTime()* 1000);
|
|
|
+ int month = cal1.get(Calendar.MONTH) + 1;
|
|
|
+ cal1.set(Calendar.DAY_OF_MONTH, logVos.getBillDay());
|
|
|
+ if(logVos.getBillType()==1){
|
|
|
+ cal1.add(Calendar.MONTH, 1);
|
|
|
+ }
|
|
|
+ else if(logVos.getBillType()==2){
|
|
|
+ if(month<4){
|
|
|
+ cal1.set(Calendar.MONTH, 2);
|
|
|
+ }
|
|
|
+ if(month<7){
|
|
|
+ cal1.set(Calendar.MONTH, 5);
|
|
|
+ }
|
|
|
+ if(month<10){
|
|
|
+ cal1.set(Calendar.MONTH, 8);
|
|
|
+ }
|
|
|
+ if(month<13){
|
|
|
+ cal1.set(Calendar.MONTH, 11);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if(logVos.getBillType()==3){
|
|
|
+ if(month<7){
|
|
|
+ cal1.set(Calendar.MONTH, 5);
|
|
|
+ }else{
|
|
|
+ cal1.set(Calendar.MONTH, 11);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if(logVos.getBillType()==4){
|
|
|
+ cal1.set(Calendar.MONTH, 11);
|
|
|
+ }
|
|
|
+ TopDivideLog update = new TopDivideLog();
|
|
|
+ update.setId(logVos.getId());
|
|
|
+ update.setPredictPayTime(cal1.getTimeInMillis()/1000);
|
|
|
+ update.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ this.updateById(update);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean updateRemark(TopDivideLogEditBo bo) {
|
|
|
if (Validator.isEmpty(bo.getRemark()) || Validator.isEmpty(bo.getId())) {
|