Commit bd66ee2c by wukaiqiang

针对销售调度及预付款及结余调度增加控制判断。

parent c98c413e
...@@ -9,4 +9,5 @@ import com.xyst.dinas.statistics.entity.SalesSummary; ...@@ -9,4 +9,5 @@ import com.xyst.dinas.statistics.entity.SalesSummary;
public interface SalesSummaryDao { public interface SalesSummaryDao {
void save(KObject entity); void save(KObject entity);
List<SalesSummary> loadSalesSummaryByConditions(String dealYear, String stationList); List<SalesSummary> loadSalesSummaryByConditions(String dealYear, String stationList);
void deleteDetails();
} }
...@@ -2,8 +2,6 @@ package com.xyst.dinas.statistics.internal.dao; ...@@ -2,8 +2,6 @@ package com.xyst.dinas.statistics.internal.dao;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID;
import javax.persistence.Tuple; import javax.persistence.Tuple;
import org.hibernate.HibernateException; import org.hibernate.HibernateException;
...@@ -14,14 +12,14 @@ import org.springframework.orm.hibernate5.HibernateCallback; ...@@ -14,14 +12,14 @@ import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations; import org.springframework.orm.hibernate5.HibernateOperations;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.statistics.constant.SalesSummaryConstants;
import com.xyst.dinas.statistics.dao.SalesSummaryDao; import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.entity.SalesSummary; import com.xyst.dinas.statistics.entity.SalesSummary;
public class SalesSummaryDaoImpl implements SalesSummaryDao { public class SalesSummaryDaoImpl implements SalesSummaryDao {
@Autowired @Autowired
private HibernateOperations template; private HibernateOperations template;
private String SQL_DELETE_DETAILS = "delete from " + SalesSummaryConstants.SALES_SUMMARY_ENTITY ;
@Override @Override
public void save(KObject entity) { public void save(KObject entity) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
...@@ -524,4 +522,17 @@ public class SalesSummaryDaoImpl implements SalesSummaryDao { ...@@ -524,4 +522,17 @@ public class SalesSummaryDaoImpl implements SalesSummaryDao {
} }
@Override
public void deleteDetails() {
// TODO Auto-generated method stub
template.execute(new HibernateCallback<Integer>() {
@Override
public Integer doInHibernate(Session session) throws HibernateException {
@SuppressWarnings("rawtypes")
Query query = session.createQuery(SQL_DELETE_DETAILS);
return query.executeUpdate();
}
});
}
} }
...@@ -126,6 +126,7 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc ...@@ -126,6 +126,7 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc
@Override @Override
@Transactional
public void deleteDetails() { public void deleteDetails() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
advancePaymentBalanceSumDao.deleteDetails(); advancePaymentBalanceSumDao.deleteDetails();
......
package com.xyst.dinas.statistics.internal.service; package com.xyst.dinas.statistics.internal.service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
...@@ -87,4 +84,11 @@ public class SalesSummaryServiceImpl implements SalesSummaryService { ...@@ -87,4 +84,11 @@ public class SalesSummaryServiceImpl implements SalesSummaryService {
return salesSummaryDao.loadSalesSummaryByConditions(dealYear,stationList); return salesSummaryDao.loadSalesSummaryByConditions(dealYear,stationList);
} }
@Override
@Transactional
public void deleteDetails() {
// TODO Auto-generated method stub
salesSummaryDao.deleteDetails();
}
} }
...@@ -65,8 +65,9 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -65,8 +65,9 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
throws ParseException { 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"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String startDate = format.format(config.get("startDate"));
SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat dateTime1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateTime1 = new SimpleDateFormat("yyyy-MM-dd");
Date thenTime = new Date(); Date thenTime = new Date();
...@@ -77,16 +78,15 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -77,16 +78,15 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
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 = dateTime.format(beforeTime);
boolean lastYearFlag = false; boolean lastYearFlag = false;
boolean flag = false; boolean flag = false;
if (isValid) { if (isValid) {
dateBefore = startDate;
advancePaymentBalanceSumService.deleteDetails(); advancePaymentBalanceSumService.deleteDetails();
// 起始日期 // 起始日期
Date d1 = dateTime1.parse(startDate); Date d1 = dateTime1.parse(startDate);
// 结束日期 // 结束日期
Date d2 = dateTime1.parse(dateNow); Date d2 = dateTime1.parse(dateBefore);
Date tmp = d1; Date tmp = d1;
Calendar dd = Calendar.getInstance(); Calendar dd = Calendar.getInstance();
dd.setTime(d1); dd.setTime(d1);
...@@ -103,7 +103,7 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -103,7 +103,7 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
lastYearFlag); lastYearFlag);
} }
} else { } else {
dateBefore = dateTime.format(beforeTime);
if (yearEnd == dateBefore) { if (yearEnd == dateBefore) {
lastYearFlag = true; lastYearFlag = true;
} }
...@@ -116,7 +116,6 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -116,7 +116,6 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
logger.info("预付款与结余汇总调度执行失败!!!!"); logger.info("预付款与结余汇总调度执行失败!!!!");
} }
} }
public String getYearEnd() { public String getYearEnd() {
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, calendar.getActualMaximum(Calendar.MONTH)); calendar.set(Calendar.MONTH, calendar.getActualMaximum(Calendar.MONTH));
......
...@@ -41,9 +41,9 @@ public class AdvancePaymentBalanceSumSchedulerTaskRegister implements ServiceIn ...@@ -41,9 +41,9 @@ 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("预付款与结余汇总自动创建任务初始化成功!");
} }
} }
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;
import java.util.Optional;
import org.json.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
...@@ -13,6 +16,8 @@ import com.beecode.amino.core.Amino; ...@@ -13,6 +16,8 @@ import com.beecode.amino.core.Amino;
import com.beecode.bap.scheduler.core.Task; import com.beecode.bap.scheduler.core.Task;
import com.beecode.bap.scheduler.core.TaskContext; import com.beecode.bap.scheduler.core.TaskContext;
import com.beecode.bap.scheduler.service.ScheduleService; 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.SalesSummaryService; import com.xyst.dinas.statistics.service.SalesSummaryService;
public class SalesSummarySchedulerTask implements Task { public class SalesSummarySchedulerTask implements Task {
...@@ -21,7 +26,7 @@ public class SalesSummarySchedulerTask implements Task { ...@@ -21,7 +26,7 @@ public class SalesSummarySchedulerTask implements Task {
public ScheduleService scheduleService; public ScheduleService scheduleService;
@Autowired @Autowired
public SalesSummaryService salesSummaryService; public SalesSummaryService salesSummaryService;
public SysConfigService sysConfigService;
@Override @Override
public void execute(TaskContext context) { public void execute(TaskContext context) {
...@@ -37,10 +42,30 @@ public class SalesSummarySchedulerTask implements Task { ...@@ -37,10 +42,30 @@ public class SalesSummarySchedulerTask implements Task {
logger.error("启动销售汇总的调度任务失败,没有获取到SalesSummaryService实现类对象"); logger.error("启动销售汇总的调度任务失败,没有获取到SalesSummaryService实现类对象");
return; return;
} }
generateSalesRecord (salesSummaryService); try {
generateSalesRecord (salesSummaryService);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
public void generateSalesRecord(SalesSummaryService salesSummaryService){ private JSONObject getConfig() {
sysConfigService = Amino.getApplicationContext().getBean(SysConfigService.class);
Optional<SysConfig> optional = sysConfigService.get("bill", "billAnalyseConfig");
if(optional.isPresent()){
return new JSONObject(optional.get().getValue().toString());
}
return null;
}
public void generateSalesRecord(SalesSummaryService salesSummaryService) throws ParseException{
JSONObject config = getConfig();
boolean isValid = config.optBoolean("isValid", false);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String startDate = format.format(config.get("startDate"));
SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd");
Date thenTime = new Date(); Date thenTime = new Date();
Date beforeTime = new Date(); Date beforeTime = new Date();
...@@ -50,7 +75,28 @@ public class SalesSummarySchedulerTask implements Task { ...@@ -50,7 +75,28 @@ public class SalesSummarySchedulerTask implements Task {
calendar.add(Calendar.DAY_OF_MONTH, -1); // 设置为前一天 calendar.add(Calendar.DAY_OF_MONTH, -1); // 设置为前一天
beforeTime = calendar.getTime(); // 得到前一天的时间 beforeTime = calendar.getTime(); // 得到前一天的时间
String dateBefore = dateTime.format(beforeTime); String dateBefore = dateTime.format(beforeTime);
boolean flag = salesSummaryService.generateAllSalesRecordByDate(dateNow,dateBefore); boolean flag=false;
if (isValid) {
salesSummaryService.deleteDetails();
//开始日期
Date d1 = dateTime.parse(startDate);
// 结束日期
Date d2 = dateTime.parse(dateBefore);
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 = dateTime.format(tmp);
dateNow = dateTime.format(dd.getTime());
salesSummaryService.generateAllSalesRecordByDate(dateNow,dateBefore);
}
} else {
dateBefore = dateTime.format(beforeTime);
flag =salesSummaryService.generateAllSalesRecordByDate(dateNow,dateBefore);
}
if(flag) { if(flag) {
logger.info("销售汇总调度执行成功!!!!"); logger.info("销售汇总调度执行成功!!!!");
}else { }else {
......
...@@ -8,4 +8,5 @@ public interface SalesSummaryService { ...@@ -8,4 +8,5 @@ public interface SalesSummaryService {
boolean generateAllSalesRecordByDate(String dateNow,String dateBefore); boolean generateAllSalesRecordByDate(String dateNow,String dateBefore);
List<SalesSummary> querySalesSummaryByConditions(String dealYear, String stationList); List<SalesSummary> querySalesSummaryByConditions(String dealYear, String stationList);
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