Commit 2b8acfdb by 史文博

Merge branch 'feature/form_statistics_05' into 'develop'

Feature/form statistics 05

See merge request kunlun/xyst_dinas/xyst_dinas_backend!44
parents d7ea73ad 52c001fe
......@@ -9,4 +9,5 @@ import com.xyst.dinas.statistics.entity.SalesSummary;
public interface SalesSummaryDao {
void save(KObject entity);
List<SalesSummary> loadSalesSummaryByConditions(String dealYear, String stationList);
void deleteDetails();
}
package com.xyst.dinas.statistics.internal.dao;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -20,19 +15,11 @@ import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import com.xyst.dinas.finance.constant.ArtificialRechargeConstant;
import com.xyst.dinas.finance.constant.FinanceRefundConstant;
import com.beecode.amino.common.Convert;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.constant.DinasOrganizationConstant;
import com.xyst.dinas.contract.constant.ContractConstant;
import com.xyst.dinas.project.constant.ProjectFiledConstant;
import com.xyst.dinas.project.constant.PurchaseSandCompanyConstant;
import com.xyst.dinas.sales.constant.SalesRecordConstant;
import com.xyst.dinas.statistics.constant.AdvancePaymentBalanceSumConstants;
import com.xyst.dinas.statistics.dao.AdvancePaymentBalanceSumDao;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
import com.xyst.dinas.statistics.entity.SalesSummary;
public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSumDao {
@Autowired
......
......@@ -10,8 +10,6 @@ import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import com.jiuqi.np.syntax.function.math.Int;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.web.Info.PageInfo;
......
......@@ -2,8 +2,6 @@ package com.xyst.dinas.statistics.internal.dao;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.persistence.Tuple;
import org.hibernate.HibernateException;
......@@ -14,14 +12,14 @@ import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
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.entity.PaymentDetails;
import com.xyst.dinas.statistics.entity.SalesSummary;
public class SalesSummaryDaoImpl implements SalesSummaryDao {
@Autowired
private HibernateOperations template;
private String SQL_DELETE_DETAILS = "delete from " + SalesSummaryConstants.SALES_SUMMARY_ENTITY ;
@Override
public void save(KObject entity) {
// TODO Auto-generated method stub
......@@ -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();
}
});
}
}
package com.xyst.dinas.statistics.internal.service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
......@@ -15,12 +14,9 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.transaction.annotation.Transactional;
import com.xyst.dinas.statistics.constant.AdvancePaymentBalanceSumConstants;
import com.xyst.dinas.statistics.constant.SalesSummaryConstants;
import com.xyst.dinas.statistics.dao.AdvancePaymentBalanceSumDao;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
import com.xyst.dinas.statistics.service.SalesSummaryService;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.dao.DinasOrganizationDao;
......@@ -28,7 +24,6 @@ import com.xyst.dinas.biz.dao.DinasTypeDao;
import com.xyst.dinas.biz.dao.StationDao;
import com.xyst.dinas.project.dao.ProjectFiledDao;
import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
import com.xyst.dinas.sales.dao.SalesRecordDao;
import com.xyst.dinas.sales.web.info.SyncException;
public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanceSumService {
......@@ -126,6 +121,7 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc
@Override
@Transactional
public void deleteDetails() {
// TODO Auto-generated method stub
advancePaymentBalanceSumDao.deleteDetails();
......
......@@ -3,7 +3,6 @@ package com.xyst.dinas.statistics.internal.service;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
......
package com.xyst.dinas.statistics.internal.service;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
......
package com.xyst.dinas.statistics.internal.service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
......@@ -87,4 +84,11 @@ public class SalesSummaryServiceImpl implements SalesSummaryService {
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 {
throws ParseException {
JSONObject config = getConfig();
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 dateTime1 = new SimpleDateFormat("yyyy-MM-dd");
Date thenTime = new Date();
......@@ -77,16 +78,15 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
calendar.add(Calendar.DAY_OF_MONTH, -1); // 设置为前一天
beforeTime = calendar.getTime(); // 得到前一天的时间
String yearEnd = getYearEnd();
String dateBefore;
String dateBefore = dateTime.format(beforeTime);
boolean lastYearFlag = false;
boolean flag = false;
if (isValid) {
dateBefore = startDate;
advancePaymentBalanceSumService.deleteDetails();
// 起始日期
Date d1 = dateTime1.parse(startDate);
// 结束日期
Date d2 = dateTime1.parse(dateNow);
Date d2 = dateTime1.parse(dateBefore);
Date tmp = d1;
Calendar dd = Calendar.getInstance();
dd.setTime(d1);
......@@ -103,7 +103,7 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
lastYearFlag);
}
} else {
dateBefore = dateTime.format(beforeTime);
if (yearEnd == dateBefore) {
lastYearFlag = true;
}
......@@ -116,7 +116,6 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
logger.info("预付款与结余汇总调度执行失败!!!!");
}
}
public String getYearEnd() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, calendar.getActualMaximum(Calendar.MONTH));
......
......@@ -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/1 * * * ? *");
//scheduleService.scheduleTask(taskDetail, "0 0/1 * * * ? *");
logger.info("预付款与结余汇总自动创建任务初始化成功!");
}
}
package com.xyst.dinas.statistics.scheduler;
import java.text.ParseException;
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 +16,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.SalesSummaryService;
public class SalesSummarySchedulerTask implements Task {
......@@ -21,7 +26,7 @@ public class SalesSummarySchedulerTask implements Task {
public ScheduleService scheduleService;
@Autowired
public SalesSummaryService salesSummaryService;
public SysConfigService sysConfigService;
@Override
public void execute(TaskContext context) {
......@@ -37,10 +42,30 @@ public class SalesSummarySchedulerTask implements Task {
logger.error("启动销售汇总的调度任务失败,没有获取到SalesSummaryService实现类对象");
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");
Date thenTime = new Date();
Date beforeTime = new Date();
......@@ -50,7 +75,28 @@ public class SalesSummarySchedulerTask implements Task {
calendar.add(Calendar.DAY_OF_MONTH, -1); // 设置为前一天
beforeTime = calendar.getTime(); // 得到前一天的时间
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) {
logger.info("销售汇总调度执行成功!!!!");
}else {
......
package com.xyst.dinas.statistics.service;
import java.util.Date;
import java.util.List;
import com.xyst.dinas.statistics.entity.PaymentDetails;
......
......@@ -8,4 +8,5 @@ public interface SalesSummaryService {
boolean generateAllSalesRecordByDate(String dateNow,String dateBefore);
List<SalesSummary> querySalesSummaryByConditions(String dealYear, String stationList);
void deleteDetails();
}
......@@ -4,7 +4,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......
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