Commit db67d701 by wukaiqiang

Merge branch 'feature/form_statistics_05' into 'develop'

预付款及结余汇总增加控制01

See merge request kunlun/xyst_dinas/xyst_dinas_backend!43
parents 30913f82 c98c413e
...@@ -123,6 +123,13 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc ...@@ -123,6 +123,13 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc
// TODO Auto-generated method stub // TODO Auto-generated method stub
return advancePaymentBalanceSumDao.queryAdvancePaymentBalanceSumByConditions(dealYear, regionalCompany); return advancePaymentBalanceSumDao.queryAdvancePaymentBalanceSumByConditions(dealYear, regionalCompany);
} }
@Override
public void deleteDetails() {
// TODO Auto-generated method stub
advancePaymentBalanceSumDao.deleteDetails();
}
} }
package com.xyst.dinas.statistics.scheduler; package com.xyst.dinas.statistics.scheduler;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
...@@ -43,9 +44,14 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -43,9 +44,14 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
logger.error("启动预付款与结余汇总的调度任务失败,没有获取到SalesSummaryService实现类对象"); logger.error("启动预付款与结余汇总的调度任务失败,没有获取到SalesSummaryService实现类对象");
return; return;
} }
generateAdvancePaymentBalanceSum(advancePaymentBalanceSumService); try {
generateAdvancePaymentBalanceSum(advancePaymentBalanceSumService);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
private JSONObject getConfig() { private JSONObject getConfig() {
sysConfigService = Amino.getApplicationContext().getBean(SysConfigService.class); sysConfigService = Amino.getApplicationContext().getBean(SysConfigService.class);
Optional<SysConfig> optional = sysConfigService.get("bill", "billAnalyseConfig"); Optional<SysConfig> optional = sysConfigService.get("bill", "billAnalyseConfig");
...@@ -55,12 +61,14 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -55,12 +61,14 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
return null; return null;
} }
public void generateAdvancePaymentBalanceSum(AdvancePaymentBalanceSumService advancePaymentBalanceSumService) { public void generateAdvancePaymentBalanceSum(AdvancePaymentBalanceSumService advancePaymentBalanceSumService)
throws ParseException {
JSONObject config = getConfig(); JSONObject config = getConfig();
boolean isValid = config.optBoolean("isValid", false); boolean isValid = config.optBoolean("isValid", false);
String startDate = config.getString("startDate"); String startDate = config.getString("startDate");
SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat dateTime1 = new SimpleDateFormat("yyyy-MM-dd");
Date thenTime = new Date(); Date thenTime = new Date();
Date beforeTime = new Date(); Date beforeTime = new Date();
String dateNow = dateTime.format(thenTime); String dateNow = dateTime.format(thenTime);
...@@ -68,23 +76,40 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -68,23 +76,40 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
calendar.setTime(thenTime);// 把当前时间赋给日历 calendar.setTime(thenTime);// 把当前时间赋给日历
calendar.add(Calendar.DAY_OF_MONTH, -1); // 设置为前一天 calendar.add(Calendar.DAY_OF_MONTH, -1); // 设置为前一天
beforeTime = calendar.getTime(); // 得到前一天的时间 beforeTime = calendar.getTime(); // 得到前一天的时间
String yearEnd = getYearEnd(); String yearEnd = getYearEnd();
String dateBefore; String dateBefore;
if ( isValid ) {
dateBefore = startDate;
}else {
dateBefore = dateTime.format(beforeTime);
}
boolean lastYearFlag = false; boolean lastYearFlag = false;
if (yearEnd == dateBefore) { boolean flag = false;
lastYearFlag = true; if (isValid) {
dateBefore = startDate;
advancePaymentBalanceSumService.deleteDetails();
// 起始日期
Date d1 = dateTime1.parse(startDate);
// 结束日期
Date d2 = dateTime1.parse(dateNow);
Date tmp = d1;
Calendar dd = Calendar.getInstance();
dd.setTime(d1);
while (tmp.getTime() < d2.getTime()) {
tmp = dd.getTime();
// 天数加上1
dd.add(Calendar.DAY_OF_MONTH, 1);
dateBefore = dateTime1.format(tmp);
dateNow = dateTime1.format(dd.getTime());
if (yearEnd == dateBefore) {
lastYearFlag = true;
}
flag = advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(dateBefore, dateNow,
lastYearFlag);
}
} else {
dateBefore = dateTime.format(beforeTime);
if (yearEnd == dateBefore) {
lastYearFlag = true;
}
flag = advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(dateBefore, dateNow,
lastYearFlag);
} }
boolean flag = advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(dateBefore, dateNow,
lastYearFlag);
if (flag) { if (flag) {
logger.info("预付款与结余汇总调度执行成功!!!!"); logger.info("预付款与结余汇总调度执行成功!!!!");
} else { } else {
......
...@@ -42,7 +42,7 @@ public class AdvancePaymentBalanceSumSchedulerTaskRegister implements ServiceIn ...@@ -42,7 +42,7 @@ public class AdvancePaymentBalanceSumSchedulerTaskRegister implements ServiceIn
TaskDetail taskDetail = new TaskDetail(Advance_Payment_Balance_Sum_Scheduler_Task,AdvancePaymentBalanceSumSchedulerTask.class.getName()); TaskDetail taskDetail = new TaskDetail(Advance_Payment_Balance_Sum_Scheduler_Task,AdvancePaymentBalanceSumSchedulerTask.class.getName());
//scheduleService.scheduleTask(taskDetail, "0 0 1/23 * * ? *"); //scheduleService.scheduleTask(taskDetail, "0 0 1/23 * * ? *");
//测试使用 分钟执行一次 //测试使用 分钟执行一次
scheduleService.scheduleTask(taskDetail, "0 0/1 * * * ? *"); scheduleService.scheduleTask(taskDetail, "0 0/1 * * * ? *");
logger.info("预付款与结余汇总自动创建任务初始化成功!"); logger.info("预付款与结余汇总自动创建任务初始化成功!");
} }
......
...@@ -7,4 +7,5 @@ import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum; ...@@ -7,4 +7,5 @@ import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
public interface AdvancePaymentBalanceSumService { public interface AdvancePaymentBalanceSumService {
boolean generateAdvancePaymentBalanceSumByDate(String dateNow,String dateBefore,boolean flag); boolean generateAdvancePaymentBalanceSumByDate(String dateNow,String dateBefore,boolean flag);
List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany); List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany);
void deleteDetails();
} }
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