Commit 18fbfb36 by wukaiqiang

新增报表配置功能

parent 7f4310c9
......@@ -13,6 +13,7 @@ dependencies {
compile "com.beecode:bcp.org:${aminoVersion}"
compile "com.beecode:bap2.department:${aminoVersion}"
compile "com.beecode:bap2.staff:${aminoVersion}"
compile "com.beecode:bap2.sysconfig:${aminoVersion}"
compile 'com.deepoove:poi-tl:1.5.0'
compile project(":inz.common")
......
......@@ -12,4 +12,5 @@ public interface AdvancePaymentBalanceSumDao {
UUID save(KObject entity);
List<Map<String, Object>> getAllRelevantData(String startDate,String nowDate,boolean flag);
List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany);
void deleteDetails();
}
......@@ -3,7 +3,9 @@ package com.xyst.dinas.statistics.scheduler;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Optional;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
......@@ -13,6 +15,8 @@ import com.beecode.amino.core.Amino;
import com.beecode.bap.scheduler.core.Task;
import com.beecode.bap.scheduler.core.TaskContext;
import com.beecode.bap.scheduler.service.ScheduleService;
import com.beecode.bap.sysconfig.SysConfig;
import com.beecode.bap.sysconfig.service.SysConfigService;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
public class AdvancePaymentBalanceSumSchedulerTask implements Task {
......@@ -21,14 +25,17 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
public ScheduleService scheduleService;
@Autowired
public AdvancePaymentBalanceSumService advancePaymentBalanceSumService;
@Autowired
public SysConfigService sysConfigService;
@Override
public void execute(TaskContext context) {
logger.info("预付款与结余汇总调度开始执行!!!!");
AdvancePaymentBalanceSumService advancePaymentBalanceSumService= null;
AdvancePaymentBalanceSumService advancePaymentBalanceSumService = null;
try {
advancePaymentBalanceSumService = Amino.getApplicationContext().getBean(AdvancePaymentBalanceSumService.class);
advancePaymentBalanceSumService = Amino.getApplicationContext()
.getBean(AdvancePaymentBalanceSumService.class);
} catch (BeansException e) {
logger.error("启动预付款与结余汇总的调度任务失败,没有获取到SalesSummaryService实现类对象");
return;
......@@ -37,10 +44,22 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
logger.error("启动预付款与结余汇总的调度任务失败,没有获取到SalesSummaryService实现类对象");
return;
}
generateAdvancePaymentBalanceSum (advancePaymentBalanceSumService);
generateAdvancePaymentBalanceSum(advancePaymentBalanceSumService);
}
public void generateAdvancePaymentBalanceSum(AdvancePaymentBalanceSumService advancePaymentBalanceSumService){
private JSONObject getConfig() {
Optional<SysConfig> optional = sysConfigService.get("bill", "billAnalyseConfig");
if(optional.isPresent()){
return new JSONObject(optional.get().getValue().toString());
}
return null;
}
public void generateAdvancePaymentBalanceSum(AdvancePaymentBalanceSumService advancePaymentBalanceSumService) {
JSONObject config = getConfig();
boolean isValid = config.optBoolean("isValid", false);
String startDate = config.getString("startDate");
SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd");
Date thenTime = new Date();
Date beforeTime = new Date();
......@@ -49,27 +68,36 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
calendar.setTime(thenTime);// 把当前时间赋给日历
calendar.add(Calendar.DAY_OF_MONTH, -1); // 设置为前一天
beforeTime = calendar.getTime(); // 得到前一天的时间
String dateBefore = dateTime.format(beforeTime);
String yearEnd = getYearEnd();
String dateBefore;
if ( isValid ) {
dateBefore = startDate;
}else {
dateBefore = dateTime.format(beforeTime);
}
boolean lastYearFlag = false;
if (yearEnd == dateBefore) {
lastYearFlag = true;
}
boolean flag = advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(dateBefore,dateNow,lastYearFlag);
if(flag) {
boolean flag = advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(dateBefore, dateNow,
lastYearFlag);
if (flag) {
logger.info("预付款与结余汇总调度执行成功!!!!");
}else {
} else {
logger.info("预付款与结余汇总调度执行失败!!!!");
}
}
public String getYearEnd(){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH,calendar.getActualMaximum(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
Date currYearLast = calendar.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(currYearLast);
}
public String getYearEnd() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, calendar.getActualMaximum(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
Date currYearLast = calendar.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(currYearLast);
}
}
......@@ -41,9 +41,9 @@ public class AdvancePaymentBalanceSumSchedulerTaskRegister implements ServiceIn
}
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/5 * * * ? *");
scheduleService.scheduleTask(taskDetail, "0 0/1 * * * ? *");
logger.info("预付款与结余汇总自动创建任务初始化成功!");
}
}
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