Commit 18fbfb36 by wukaiqiang

新增报表配置功能

parent 7f4310c9
...@@ -13,6 +13,7 @@ dependencies { ...@@ -13,6 +13,7 @@ dependencies {
compile "com.beecode:bcp.org:${aminoVersion}" compile "com.beecode:bcp.org:${aminoVersion}"
compile "com.beecode:bap2.department:${aminoVersion}" compile "com.beecode:bap2.department:${aminoVersion}"
compile "com.beecode:bap2.staff:${aminoVersion}" compile "com.beecode:bap2.staff:${aminoVersion}"
compile "com.beecode:bap2.sysconfig:${aminoVersion}"
compile 'com.deepoove:poi-tl:1.5.0' compile 'com.deepoove:poi-tl:1.5.0'
compile project(":inz.common") compile project(":inz.common")
......
...@@ -12,4 +12,5 @@ public interface AdvancePaymentBalanceSumDao { ...@@ -12,4 +12,5 @@ public interface AdvancePaymentBalanceSumDao {
UUID save(KObject entity); UUID save(KObject entity);
List<Map<String, Object>> getAllRelevantData(String startDate,String nowDate,boolean flag); List<Map<String, Object>> getAllRelevantData(String startDate,String nowDate,boolean flag);
List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany); List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany);
void deleteDetails();
} }
...@@ -29,6 +29,7 @@ import com.xyst.dinas.contract.constant.ContractConstant; ...@@ -29,6 +29,7 @@ import com.xyst.dinas.contract.constant.ContractConstant;
import com.xyst.dinas.project.constant.ProjectFiledConstant; import com.xyst.dinas.project.constant.ProjectFiledConstant;
import com.xyst.dinas.project.constant.PurchaseSandCompanyConstant; import com.xyst.dinas.project.constant.PurchaseSandCompanyConstant;
import com.xyst.dinas.sales.constant.SalesRecordConstant; 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.dao.AdvancePaymentBalanceSumDao;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum; import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
import com.xyst.dinas.statistics.entity.SalesSummary; import com.xyst.dinas.statistics.entity.SalesSummary;
...@@ -36,7 +37,7 @@ import com.xyst.dinas.statistics.entity.SalesSummary; ...@@ -36,7 +37,7 @@ import com.xyst.dinas.statistics.entity.SalesSummary;
public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSumDao { public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSumDao {
@Autowired @Autowired
private HibernateOperations template; private HibernateOperations template;
private String SQL_DELETE_DETAILS = "delete from " + AdvancePaymentBalanceSumConstants.SUMMARY_ENTITY ;
@Override @Override
public UUID save(KObject entity) { public UUID save(KObject entity) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
...@@ -44,6 +45,18 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum ...@@ -44,6 +45,18 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
} }
@Override @Override
public void deleteDetails() {
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();
}
});
}
@Override
public List<Map<String, Object>> getAllRelevantData(String starDate, String nowDate, boolean flag) { public List<Map<String, Object>> getAllRelevantData(String starDate, String nowDate, boolean flag) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
...@@ -58,17 +71,17 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum ...@@ -58,17 +71,17 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
hql.append("sum( xx.h1 ) as h, ");// 预付款退款额 hql.append("sum( xx.h1 ) as h, ");// 预付款退款额
hql.append("xx.i1 as i , ");// 预付款余额 hql.append("xx.i1 as i , ");// 预付款余额
hql.append("sum( xx.j1 ) as j , ");// 保证金总额 hql.append("sum( xx.j1 ) as j , ");// 保证金总额
hql.append("sum(xx.q1) as q ");// 保证金退款额 hql.append("sum(xx.q1) as q , ");// 保证金退款额
hql.append("xx.dealMount as dealMount");//销售数量 hql.append("xx.dealMount as dealMount ");// 销售数量
hql.append("from (").append( hql.append(" from (").append(
" SELECT REGIONALCOMPANY.id AS a1 , PURCHASESANDUNIT.id AS b1, CONTRACT.id AS c1, PROJECT.id AS d1, "); " SELECT REGIONALCOMPANY.id AS a1 , PURCHASESANDUNIT.id AS b1, CONTRACT.id AS c1, PROJECT.id AS d1, ");
if (!flag) { if (flag) {
hql.append(" CONTRACT.advance_balance AS e1, "); hql.append(" CONTRACT.advance_balance AS e1, ");
} else { } else {
hql.append(" 0.00 AS e1, "); hql.append(" 0.00 AS e1, ");
} }
hql.append(" sum( SALESRECODE.amount ) AS f1, "); hql.append(" sum( SALESRECODE.amount ) AS f1, ");
hql.append(" sum( deal_amount ) AS dealMount "); hql.append(" sum( deal_amount ) AS dealMount ,");
hql.append( hql.append(
" CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN 0.00 ELSE sum( ARTIFICIAL.recharge_amount ) END AS g1, "); " CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN 0.00 ELSE sum( ARTIFICIAL.recharge_amount ) END AS g1, ");
hql.append( hql.append(
...@@ -86,20 +99,26 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum ...@@ -86,20 +99,26 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
hql.append("LEFT JOIN xyst_dinas_project_filed as PROJECT on CONTRACT.project_id = PROJECT.id ");// 项目 hql.append("LEFT JOIN xyst_dinas_project_filed as PROJECT on CONTRACT.project_id = PROJECT.id ");// 项目
hql.append("LEFT JOIN xyst_dinas_sales_record AS SALESRECODE ON SALESRECODE.project_id = PROJECT.id ") hql.append("LEFT JOIN xyst_dinas_sales_record AS SALESRECODE ON SALESRECODE.project_id = PROJECT.id ")
.append("AND SALESRECODE.regional_company_id = REGIONALCOMPANY.id ") .append("AND SALESRECODE.regional_company_id = REGIONALCOMPANY.id ")
.append("AND SALESRECODE.contract_id = CONTRACT.id ") .append("AND SALESRECODE.contract_id = CONTRACT.id ");
.append("AND ( SALESRECODE.sync_time < :dateBefore ") if (starDate != null && !(starDate.isEmpty()))
.append(" AND SALESRECODE.sync_time >= :nowDate )");// 銷售台账 hql.append("AND SALESRECODE.sync_time >= :starDate ");
if (nowDate != null && !(nowDate.isEmpty()))
hql.append(" AND SALESRECODE.sync_time < :nowDate ");// 銷售台账
hql.append( hql.append(
"LEFT JOIN xyst_dinas_finance_artificial_recharge AS ARTIFICIAL ON ARTIFICIAL.regional_company = REGIONALCOMPANY.id ") "LEFT JOIN xyst_dinas_finance_artificial_recharge AS ARTIFICIAL ON ARTIFICIAL.regional_company = REGIONALCOMPANY.id ")
.append(" AND ARTIFICIAL.contract = CONTRACT.id ") .append(" AND ARTIFICIAL.contract = CONTRACT.id ")
.append(" AND ARTIFICIAL.purchase_sand_unit = PURCHASESANDUNIT.id ") .append(" AND ARTIFICIAL.purchase_sand_unit = PURCHASESANDUNIT.id ");
.append(" AND ( ARTIFICIAL.create_time < :dateBefore ") if (starDate != null && !(starDate.isEmpty()))
.append(" AND ARTIFICIAL.create_time >= :nowDate ) ");// 人工充值 hql.append(" AND ARTIFICIAL.create_time >= :starDate ");
if (nowDate != null && !(nowDate.isEmpty()))
hql.append(" AND ARTIFICIAL.create_time < :nowDate ");// 人工充值
hql.append("LEFT JOIN xyst_dinas_finance_refund AS REFUND ON REFUND.regional_company = REGIONALCOMPANY.id ") hql.append("LEFT JOIN xyst_dinas_finance_refund AS REFUND ON REFUND.regional_company = REGIONALCOMPANY.id ")
.append(" AND REFUND.contract = CONTRACT.id ") .append(" AND REFUND.contract = CONTRACT.id ")
.append(" AND REFUND.purchase_sand_company = PURCHASESANDUNIT.id ") .append(" AND REFUND.purchase_sand_company = PURCHASESANDUNIT.id ");
.append(" AND ( REFUND.create_time < :dateBefore ") if (starDate != null && !(starDate.isEmpty()))
.append(" AND REFUND.create_time >= :nowDate ) ");// 财务退款 hql.append(" AND REFUND.create_time >= :starDate ");
if (nowDate != null && !(nowDate.isEmpty()))
hql.append(" AND REFUND.create_time < :nowDate ");// 财务退款
hql.append(" where 1=1 ").append(" and PURCHASESANDUNIT.regional_company IS NOT NULL ");// 去掉脏数据 hql.append(" where 1=1 ").append(" and PURCHASESANDUNIT.regional_company IS NOT NULL ");// 去掉脏数据
hql.append(" GROUP BY ").append(" CONTRACT.id, ").append(" ARTIFICIAL.project, ") hql.append(" GROUP BY ").append(" CONTRACT.id, ").append(" ARTIFICIAL.project, ")
...@@ -111,7 +130,7 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum ...@@ -111,7 +130,7 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
@Override @Override
public List<Map<String, Object>> doInHibernate(Session session) throws HibernateException { public List<Map<String, Object>> doInHibernate(Session session) throws HibernateException {
Query<Tuple> query = session.createNativeQuery(hql.toString(), Tuple.class); Query<Tuple> query = session.createNativeQuery(hql.toString(), Tuple.class);
query.setParameter("dateBefore", starDate); query.setParameter("starDate", starDate);
query.setParameter("nowDate", nowDate); query.setParameter("nowDate", nowDate);
List<Tuple> resultList = query.getResultList(); List<Tuple> resultList = query.getResultList();
if (resultList.isEmpty()) if (resultList.isEmpty())
...@@ -149,31 +168,31 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum ...@@ -149,31 +168,31 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
StringBuilder hql = new StringBuilder("select "); StringBuilder hql = new StringBuilder("select ");
hql.append(" result.purchaseSandUnit AS purchaseSandUnit, \r\n" hql.append(" result.purchaseSandUnit AS purchaseSandUnit, \r\n"
+ " result.project AS project,\r\n" + " result.project AS project,\r\n"
+ " result.lastYearAdvance AS lastYearAdvance,\r\n" + " FORMAT( result.lastYearAdvance ,2 ) AS lastYearAdvance,\r\n"
+ " result.paymentSales AS paymentSales,\r\n" + " FORMAT( result.paymentSales ,2 ) AS paymentSales,\r\n"
+ " result.totalAdvancePayment AS totalAdvancePayment,\r\n" + " FORMAT( result.totalAdvancePayment ,2 ) AS totalAdvancePayment,\r\n"
+ " result.refundAmount AS refundAmount,\r\n" + " FORMAT( result.refundAmount ,2 ) AS refundAmount,\r\n"
+ " result.advanceBalance AS advanceBalance,\r\n" + " FORMAT( result.advanceBalance ,2 ) AS advanceBalance,\r\n"
+ " result.janAmount as janAmount,\r\n" + " FORMAT( result.janAmount ,2 ) as janAmount,\r\n"
+ " result.febAmount as febAmount,\r\n" + " FORMAT( result.febAmount ,2 ) as febAmount,\r\n"
+ " result.marAmount as marAmount,\r\n" + " FORMAT( result.marAmount ,2 ) as marAmount,\r\n"
+ " result.aprAmount as aprAmount,\r\n" + " FORMAT( result.aprAmount ,2 ) as aprAmount,\r\n"
+ " result.mayAmount as mayAmount,\r\n" + " FORMAT( result.mayAmount ,2 ) as mayAmount,\r\n"
+ " result.junAmount as junAmount,\r\n" + " FORMAT( result.junAmount ,2 ) as junAmount,\r\n"
+ " result.julAmount as julAmount,\r\n" + " FORMAT( result.julAmount ,2 ) as julAmount,\r\n"
+ " result.augAmount as augAmount,\r\n" + " FORMAT( result.augAmount ,2 ) as augAmount,\r\n"
+ " result.septAmount as septAmount,\r\n" + " FORMAT( result.septAmount ,2 ) as septAmount,\r\n"
+ " result.octAmount as octAmount,\r\n" + " FORMAT( result.octAmount ,2 ) as octAmount,\r\n"
+ " result.novAmount as novAmount,\r\n" + " FORMAT( result.novAmount ,2 ) as novAmount,\r\n"
+ " result.decAmount as decAmount "); + " FORMAT( result.decAmount ,2 ) as decAmount ");
hql.append(" FROM "); hql.append(" FROM ");
hql.append(" (SELECT purchaseSandCompany.NAME AS purchaseSandUnit,\r\n" hql.append(" (SELECT purchaseSandCompany.NAME AS purchaseSandUnit,\r\n"
+ " projectFiled.project_Name AS project,\r\n" + " projectFiled.project_Name AS project,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.last_Year_Advance) AS lastYearAdvance,\r\n" + " advancePaymentAdvance1.last_Year_Advance AS lastYearAdvance,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.payment_sales) AS paymentSales,\r\n" + " SUM(advancePaymentAndBalanceSummary.payment_sales) AS paymentSales,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.total_advance_payment) AS totalAdvancePayment,\r\n" + " SUM(advancePaymentAndBalanceSummary.total_advance_payment) AS totalAdvancePayment,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.advance_payment_refund_amount + advancePaymentAndBalanceSummary.margin_refund) AS refundAmount,\r\n" + " SUM(advancePaymentAndBalanceSummary.advance_payment_refund_amount + advancePaymentAndBalanceSummary.margin_refund) AS refundAmount,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.advance_balance) AS advanceBalance,\r\n" + " advancePaymentAdvance.advance_balance AS advanceBalance,\r\n"
+ " janAmount.janAmount1 as janAmount,\r\n" + " janAmount.janAmount1 as janAmount,\r\n"
+ " febAmount.febAmount1 as febAmount,\r\n" + " febAmount.febAmount1 as febAmount,\r\n"
+ " marAmount.marAmount1 as marAmount,\r\n" + " marAmount.marAmount1 as marAmount,\r\n"
...@@ -192,7 +211,34 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum ...@@ -192,7 +211,34 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary\r\n" + " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary\r\n"
+ " LEFT JOIN xyst_dinas_project_purchase_sand_company AS purchaseSandCompany ON purchaseSandCompany.id = advancePaymentAndBalanceSummary.purchase_sand_unit_id\r\n" + " LEFT JOIN xyst_dinas_project_purchase_sand_company AS purchaseSandCompany ON purchaseSandCompany.id = advancePaymentAndBalanceSummary.purchase_sand_unit_id\r\n"
+ " LEFT JOIN xyst_dinas_project_filed AS projectFiled ON projectFiled.id = advancePaymentAndBalanceSummary.project_id\r\n" + " LEFT JOIN xyst_dinas_project_filed AS projectFiled ON projectFiled.id = advancePaymentAndBalanceSummary.project_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n" + " LEFT JOIN ( SELECT\r\n"
+ " advancePayment.advance_balance AS advance_balance,\r\n"
+ " advancePayment.purchase_sand_unit_id AS purchase_sand_unit_id,\r\n"
+ " advancePayment.project_id AS project_id \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePayment \r\n"
+ " WHERE\r\n"
+ " advancePayment.deal_time IN ( SELECT MAX( advancePayment1.deal_time ) FROM xyst_dinas_statistics_advancepayment_Balance_summary AS advancePayment1"
+ " where 1=1 ");
if (dealYear != null && !(dealYear.isEmpty()))
hql.append(" and advancePayment1.deal_year = :dealYear ");
hql.append( " GROUP BY advancePayment1.purchase_sand_unit_id, advancePayment1.project_id ) \r\n"
+ " ) AS advancePaymentAdvance ON advancePaymentAdvance.purchase_sand_unit_id = advancePaymentAndBalanceSummary.purchase_sand_unit_id \r\n"
+ " AND advancePaymentAdvance.project_id = advancePaymentAndBalanceSummary.project_id "
+"LEFT JOIN (\r\n"
+ " SELECT\r\n"
+ " sum(advancePayment.last_Year_Advance) AS last_Year_Advance,\r\n"
+ " advancePayment.purchase_sand_unit_id AS purchase_sand_unit_id,\r\n"
+ " advancePayment.project_id AS project_id \r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePayment \r\n"
+ " WHERE 1=1 \r\n" );
if (dealYear != null && !(dealYear.isEmpty()))hql.append( " and advancePayment.deal_year = :dealYear \r\n");
hql.append(" GROUP BY advancePayment.purchase_sand_unit_id,advancePayment.project_id\r\n"
+ " ) AS advancePaymentAdvance1 ON advancePaymentAdvance1.purchase_sand_unit_id = advancePaymentAndBalanceSummary.purchase_sand_unit_id \r\n"
+ " AND advancePaymentAdvance1.project_id = advancePaymentAndBalanceSummary.project_id "
+ " LEFT JOIN( SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS janAmount1 ,\r\n" + " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS janAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n" + " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n" + " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
...@@ -514,27 +560,27 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum ...@@ -514,27 +560,27 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
List<AdvancePaymentBalanceSum> list = new ArrayList<AdvancePaymentBalanceSum>(); List<AdvancePaymentBalanceSum> list = new ArrayList<AdvancePaymentBalanceSum>();
for (Tuple resule : resultList) { for (Tuple resule : resultList) {
AdvancePaymentBalanceSum advancePaymentBalanceSum = new AdvancePaymentBalanceSum(); AdvancePaymentBalanceSum advancePaymentBalanceSum = new AdvancePaymentBalanceSum();
if (String.valueOf(resule.get(0)) != "null" ) { if (String.valueOf(resule.get(0)) != "null") {
advancePaymentBalanceSum.setPurchaseSandUnit(String.valueOf(resule.get(0))); advancePaymentBalanceSum.setPurchaseSandUnit(String.valueOf(resule.get(0)));
} else { } else {
advancePaymentBalanceSum.setPurchaseSandUnit(null); advancePaymentBalanceSum.setPurchaseSandUnit(null);
} }
if (String.valueOf(resule.get(1)) != "null" ) { if (String.valueOf(resule.get(1)) != "null") {
advancePaymentBalanceSum.setProject(String.valueOf(resule.get(1))); advancePaymentBalanceSum.setProject(String.valueOf(resule.get(1)));
} else { } else {
advancePaymentBalanceSum.setProject(null); advancePaymentBalanceSum.setProject(null);
} }
if (String.valueOf(resule.get(2)) != "null" ) { if (String.valueOf(resule.get(2)) != "null") {
advancePaymentBalanceSum.setLastYearAdvance(String.valueOf(resule.get(2))); advancePaymentBalanceSum.setLastYearAdvance(String.valueOf(resule.get(2)));
} else { } else {
advancePaymentBalanceSum.setLastYearAdvance(null); advancePaymentBalanceSum.setLastYearAdvance(null);
} }
if (String.valueOf(resule.get(3)) != "null" ) { if (String.valueOf(resule.get(3)) != "null") {
advancePaymentBalanceSum.setPaymentSales(String.valueOf(resule.get(3))); advancePaymentBalanceSum.setPaymentSales(String.valueOf(resule.get(3)));
} else { } else {
advancePaymentBalanceSum.setPaymentSales(null); advancePaymentBalanceSum.setPaymentSales(null);
} }
if (String.valueOf(resule.get(4)) != "null" ) { if (String.valueOf(resule.get(4)) != "null") {
advancePaymentBalanceSum.setTotalAdvancePayment(String.valueOf(resule.get(4))); advancePaymentBalanceSum.setTotalAdvancePayment(String.valueOf(resule.get(4)));
} else { } else {
advancePaymentBalanceSum.setTotalAdvancePayment(null); advancePaymentBalanceSum.setTotalAdvancePayment(null);
...@@ -544,27 +590,27 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum ...@@ -544,27 +590,27 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
} else { } else {
advancePaymentBalanceSum.setRefundAmount(null); advancePaymentBalanceSum.setRefundAmount(null);
} }
if (String.valueOf(resule.get(6)) != "null" ) { if (String.valueOf(resule.get(6)) != "null") {
advancePaymentBalanceSum.setAdvanceBalance(String.valueOf(resule.get(6))); advancePaymentBalanceSum.setAdvanceBalance(String.valueOf(resule.get(6)));
} else { } else {
advancePaymentBalanceSum.setAdvanceBalance(null); advancePaymentBalanceSum.setAdvanceBalance(null);
} }
if (String.valueOf(resule.get(7)) != "null" ) { if (String.valueOf(resule.get(7)) != "null") {
advancePaymentBalanceSum.setJanAmount(String.valueOf(resule.get(7))); advancePaymentBalanceSum.setJanAmount(String.valueOf(resule.get(7)));
} else { } else {
advancePaymentBalanceSum.setJanAmount(null); advancePaymentBalanceSum.setJanAmount(null);
} }
if (String.valueOf(resule.get(8)) != "null" ) { if (String.valueOf(resule.get(8)) != "null") {
advancePaymentBalanceSum.setFebAmount(String.valueOf(resule.get(8))); advancePaymentBalanceSum.setFebAmount(String.valueOf(resule.get(8)));
} else { } else {
advancePaymentBalanceSum.setFebAmount(null); advancePaymentBalanceSum.setFebAmount(null);
} }
if (String.valueOf(resule.get(9)) != "null" ) { if (String.valueOf(resule.get(9)) != "null") {
advancePaymentBalanceSum.setMarAmount(String.valueOf(resule.get(9))); advancePaymentBalanceSum.setMarAmount(String.valueOf(resule.get(9)));
} else { } else {
advancePaymentBalanceSum.setMarAmount(null); advancePaymentBalanceSum.setMarAmount(null);
} }
if (String.valueOf(resule.get(10)) != "null" ) { if (String.valueOf(resule.get(10)) != "null") {
advancePaymentBalanceSum.setAprAmount(String.valueOf(resule.get(10))); advancePaymentBalanceSum.setAprAmount(String.valueOf(resule.get(10)));
} else { } else {
advancePaymentBalanceSum.setAprAmount(null); advancePaymentBalanceSum.setAprAmount(null);
...@@ -574,37 +620,37 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum ...@@ -574,37 +620,37 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
} else { } else {
advancePaymentBalanceSum.setMayAmount(null); advancePaymentBalanceSum.setMayAmount(null);
} }
if (String.valueOf(resule.get(12)) != "null" ) { if (String.valueOf(resule.get(12)) != "null") {
advancePaymentBalanceSum.setJunAmount(String.valueOf(resule.get(12))); advancePaymentBalanceSum.setJunAmount(String.valueOf(resule.get(12)));
} else { } else {
advancePaymentBalanceSum.setJunAmount(null); advancePaymentBalanceSum.setJunAmount(null);
} }
if (String.valueOf(resule.get(13)) != "null" ) { if (String.valueOf(resule.get(13)) != "null") {
advancePaymentBalanceSum.setJulAmount(String.valueOf(resule.get(13))); advancePaymentBalanceSum.setJulAmount(String.valueOf(resule.get(13)));
} else { } else {
advancePaymentBalanceSum.setJulAmount(null); advancePaymentBalanceSum.setJulAmount(null);
} }
if (String.valueOf(resule.get(14)) != "null" ) { if (String.valueOf(resule.get(14)) != "null") {
advancePaymentBalanceSum.setAugAmount(String.valueOf(resule.get(14))); advancePaymentBalanceSum.setAugAmount(String.valueOf(resule.get(14)));
} else { } else {
advancePaymentBalanceSum.setAugAmount(null); advancePaymentBalanceSum.setAugAmount(null);
} }
if (String.valueOf(resule.get(15)) != "null" ) { if (String.valueOf(resule.get(15)) != "null") {
advancePaymentBalanceSum.setSeptAmount(String.valueOf(resule.get(15))); advancePaymentBalanceSum.setSeptAmount(String.valueOf(resule.get(15)));
} else { } else {
advancePaymentBalanceSum.setSeptAmount(null); advancePaymentBalanceSum.setSeptAmount(null);
} }
if (String.valueOf(resule.get(16)) != "null" ) { if (String.valueOf(resule.get(16)) != "null") {
advancePaymentBalanceSum.setOctAmount(String.valueOf(resule.get(16))); advancePaymentBalanceSum.setOctAmount(String.valueOf(resule.get(16)));
} else { } else {
advancePaymentBalanceSum.setOctAmount(null); advancePaymentBalanceSum.setOctAmount(null);
} }
if (String.valueOf(resule.get(17)) != "null" ) { if (String.valueOf(resule.get(17)) != "null") {
advancePaymentBalanceSum.setNovAmount(String.valueOf(resule.get(17))); advancePaymentBalanceSum.setNovAmount(String.valueOf(resule.get(17)));
} else { } else {
advancePaymentBalanceSum.setNovAmount(null); advancePaymentBalanceSum.setNovAmount(null);
} }
if (String.valueOf(resule.get(18)) != "null" ) { if (String.valueOf(resule.get(18)) != "null") {
advancePaymentBalanceSum.setDecAmount(String.valueOf(resule.get(18))); advancePaymentBalanceSum.setDecAmount(String.valueOf(resule.get(18)));
} else { } else {
advancePaymentBalanceSum.setDecAmount(null); advancePaymentBalanceSum.setDecAmount(null);
......
...@@ -3,7 +3,9 @@ package com.xyst.dinas.statistics.scheduler; ...@@ -3,7 +3,9 @@ package com.xyst.dinas.statistics.scheduler;
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 +15,8 @@ import com.beecode.amino.core.Amino; ...@@ -13,6 +15,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.AdvancePaymentBalanceSumService; import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
public class AdvancePaymentBalanceSumSchedulerTask implements Task { public class AdvancePaymentBalanceSumSchedulerTask implements Task {
...@@ -21,14 +25,17 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -21,14 +25,17 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
public ScheduleService scheduleService; public ScheduleService scheduleService;
@Autowired @Autowired
public AdvancePaymentBalanceSumService advancePaymentBalanceSumService; public AdvancePaymentBalanceSumService advancePaymentBalanceSumService;
@Autowired
public SysConfigService sysConfigService;
@Override @Override
public void execute(TaskContext context) { public void execute(TaskContext context) {
logger.info("预付款与结余汇总调度开始执行!!!!"); logger.info("预付款与结余汇总调度开始执行!!!!");
AdvancePaymentBalanceSumService advancePaymentBalanceSumService= null; AdvancePaymentBalanceSumService advancePaymentBalanceSumService = null;
try { try {
advancePaymentBalanceSumService = Amino.getApplicationContext().getBean(AdvancePaymentBalanceSumService.class); advancePaymentBalanceSumService = Amino.getApplicationContext()
.getBean(AdvancePaymentBalanceSumService.class);
} catch (BeansException e) { } catch (BeansException e) {
logger.error("启动预付款与结余汇总的调度任务失败,没有获取到SalesSummaryService实现类对象"); logger.error("启动预付款与结余汇总的调度任务失败,没有获取到SalesSummaryService实现类对象");
return; return;
...@@ -37,10 +44,22 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -37,10 +44,22 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task {
logger.error("启动预付款与结余汇总的调度任务失败,没有获取到SalesSummaryService实现类对象"); logger.error("启动预付款与结余汇总的调度任务失败,没有获取到SalesSummaryService实现类对象");
return; 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"); SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd");
Date thenTime = new Date(); Date thenTime = new Date();
Date beforeTime = new Date(); Date beforeTime = new Date();
...@@ -49,27 +68,36 @@ public class AdvancePaymentBalanceSumSchedulerTask implements Task { ...@@ -49,27 +68,36 @@ 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 dateBefore = dateTime.format(beforeTime);
String yearEnd = getYearEnd(); String yearEnd = getYearEnd();
String dateBefore;
if ( isValid ) {
dateBefore = startDate;
}else {
dateBefore = dateTime.format(beforeTime);
}
boolean lastYearFlag = false; boolean lastYearFlag = false;
if (yearEnd == dateBefore) { if (yearEnd == dateBefore) {
lastYearFlag = true; lastYearFlag = true;
} }
boolean flag = advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(dateBefore,dateNow,lastYearFlag); boolean flag = advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(dateBefore, dateNow,
if(flag) { lastYearFlag);
if (flag) {
logger.info("预付款与结余汇总调度执行成功!!!!"); logger.info("预付款与结余汇总调度执行成功!!!!");
}else { } else {
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));
calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
Date currYearLast = calendar.getTime(); Date currYearLast = calendar.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(currYearLast); return new SimpleDateFormat("yyyy-MM-dd").format(currYearLast);
} }
} }
...@@ -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/5 * * * ? *"); scheduleService.scheduleTask(taskDetail, "0 0/1 * * * ? *");
logger.info("预付款与结余汇总自动创建任务初始化成功!"); 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