Commit 5a37b463 by wukaiqiang

author:wukq

1)修改给统计查询为接口方案;
2)新增四张导出功能;
3)呆前端开发完后进行测试
parent 631bd763
......@@ -31,53 +31,117 @@ import com.xyst.dinas.sales.web.NeedPlanController;
import com.xyst.dinas.sales.web.SalesPlanController;
import com.xyst.dinas.sales.web.SalesRecordController;
import com.xyst.dinas.statistics.dao.AdvancePaymentBalanceSumDao;
import com.xyst.dinas.statistics.dao.OperationsReportsDao;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.internal.dao.AdvancePaymentBalanceSumDaoImpl;
import com.xyst.dinas.statistics.internal.dao.OperationsReportsDaoImpl;
import com.xyst.dinas.statistics.internal.dao.PaymentDetailsDaoImpl;
import com.xyst.dinas.statistics.internal.dao.SalesSummaryDaoImpl;
import com.xyst.dinas.statistics.internal.service.AdvancePaymentBalanceSumServiceImpl;
import com.xyst.dinas.statistics.internal.service.DownLoadStatisticsServiceImpl;
import com.xyst.dinas.statistics.internal.service.OperationsReportsServiceImpl;
import com.xyst.dinas.statistics.internal.service.PaymentDetailsServiceImpl;
import com.xyst.dinas.statistics.internal.service.SalesSummaryServiceImpl;
import com.xyst.dinas.statistics.scheduler.AdvancePaymentBalanceSumSchedulerTaskRegister;
import com.xyst.dinas.statistics.scheduler.SalesSummarySchedulerTaskRegister;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
import com.xyst.dinas.statistics.service.DownLoadStatisticsService;
import com.xyst.dinas.statistics.service.OperationsReportsService;
import com.xyst.dinas.statistics.service.PaymentDetailsService;
import com.xyst.dinas.statistics.service.SalesSummaryService;
import com.xyst.dinas.statistics.web.AdvancePaymentBalanceSumController;
import com.xyst.dinas.statistics.web.DownLoadStatisticsController;
import com.xyst.dinas.statistics.web.OperationsReportsController;
import com.xyst.dinas.statistics.web.PaymentDetailsController;
import com.xyst.dinas.statistics.web.SalesSummaryController;
public class StatisticsConfiguration {
/**
* Dao层注册
* @return
*/
@Bean
public SalesSummaryDao salesSummaryDaoImpl() {
return new SalesSummaryDaoImpl();
}
@Bean
public AdvancePaymentBalanceSumDao advancePaymentBalanceSumDaoImpl() {
return new AdvancePaymentBalanceSumDaoImpl();
}
@Bean
public PaymentDetailsDao paymentDetailsDaoImpl() {
return new PaymentDetailsDaoImpl();
}
@Bean
public OperationsReportsDao operationsReportsDaoImpl() {
return new OperationsReportsDaoImpl();
}
/**
* Service层注册
* @return
*/
@Bean
public SalesSummaryService salesSummaryServiceImpl() {
return new SalesSummaryServiceImpl();
}
@Bean
public SalesSummaryDao salesSummaryDaoImpl() {
return new SalesSummaryDaoImpl();
public OperationsReportsService operationsReportsServiceImpl() {
return new OperationsReportsServiceImpl();
}
@Bean
public PaymentDetailsService paymentDetailsServiceImpl() {
return new PaymentDetailsServiceImpl();
}
@Bean
public AdvancePaymentBalanceSumService advancePaymentBalanceSumServiceImpl() {
return new AdvancePaymentBalanceSumServiceImpl();
}
@Bean
public DownLoadStatisticsService downLoadStatisticsServiceImpl() {
return new DownLoadStatisticsServiceImpl();
}
/**
* Controller层注册
* @return
*/
@Bean
public SalesSummaryController salesSummaryController() {
return new SalesSummaryController();
}
@Bean
public SalesSummarySchedulerTaskRegister salesSummarySchedulerTaskRegister() {
return new SalesSummarySchedulerTaskRegister();
public PaymentDetailsController paymentDetailsController() {
return new PaymentDetailsController();
}
@Bean
public AdvancePaymentBalanceSumService advancePaymentBalanceSumServiceImpl() {
return new AdvancePaymentBalanceSumServiceImpl();
public AdvancePaymentBalanceSumController advancePaymentBalanceSumController() {
return new AdvancePaymentBalanceSumController();
}
@Bean
public AdvancePaymentBalanceSumDao advancePaymentBalanceSumDaoImpl() {
return new AdvancePaymentBalanceSumDaoImpl();
public OperationsReportsController operationsReportsController() {
return new OperationsReportsController();
}
@Bean
public DownLoadStatisticsController downLoadStatisticsController() {
return new DownLoadStatisticsController();
}
/**
* 调度注册
* @return
*/
@Bean
public SalesSummarySchedulerTaskRegister salesSummarySchedulerTaskRegister() {
return new SalesSummarySchedulerTaskRegister();
}
@Bean
public AdvancePaymentBalanceSumSchedulerTaskRegister advancePaymentBalanceSumSchedulerTaskRegister() {
return new AdvancePaymentBalanceSumSchedulerTaskRegister();
}
}
package com.xyst.dinas.statistics.constant;
public interface AdvancePaymentBalanceSumShowConstant {
/**
* 购砂单位
*/
String purchaseSandUnit = "purchaseSandUnit";
/**
* 项目
*/
String project = "project";
/**
* 上年剩余预付款
*/
String lastYearAdvance = "lastYearAdvance";
/**
* 本年销售货款
*/
String paymentSales = "paymentSales";
/**
* 本年预付款总额
*/
String totalAdvancePayment = "totalAdvancePayment";
/**
* 本年累计退费
*/
String refundAmount = "refundAmount";
/**
* 预付款余额
*/
String advanceBalance = "advanceBalance";
/**
* 一月销售额
*/
String janAmount = "janAmount";
/**
* 二月销售额
*/
String febAmount = "febAmount";
/**
* 三月销售额
*/
String marAmount = "marAmount";
/**
* 四月销售额
*/
String aprAmount = "aprAmount";
/**
* 五月销售额
*/
String mayAmount = "mayAmount";
/**
* 六月销售额
*/
String junAmount = "junAmount";
/**
* 七月销售额
*/
String julAmount = "julAmount";
/**
* 八月销售额
*/
String augAmount = "augAmount";
/**
* 九月销售额
*/
String septAmount = "septAmount";
/**
* 十月销售额
*/
String octAmount = "octAmount";
/**
* 十一月销售额
*/
String novAmount = "novAmount";
/**
* 十二月销售额
*/
String decAmount = "decAmount";
}
package com.xyst.dinas.statistics.constant;
/**
* 经营类统计表类型
* @author wukq
*
*/
public enum OperationsReportTypeEunm {
daily("日报", 0),
weekly("周报", 1),
monthly("月报", 2),
quarterly("季度报", 3),
years("年报", 4),
;
String title;
int value;
OperationsReportTypeEunm(String title, int value){
this.title = title;
this.value = value;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
package com.xyst.dinas.statistics.constant;
public interface PaymentDetailsShowConstant {
/**
* 时间-创建时间
*/
String createTime = "createTime";
/**
* 购砂单位
*/
String purchaseSandUnit = "purchaseSandUnit";
/**
* 项目名称
*/
String project = "project";
/**
* 资金类型
*/
String fundType = "fundType";
/**
* 收款金额
*/
String rechargeAmount = "rechargeAmount";
/**
* 退款金额
*/
String actualRefundAmount = "actualRefundAmount";
/**
* 备注
*/
String remark = "remark";
}
package com.xyst.dinas.statistics.constant;
public interface SalesSummaryShowConstant {
/**
* 场站
*/
String station = "station";
/**
* 砂石种类
*/
String dinasType = "dinasType";
/**
* 全年累计销量
*/
String saleDealAmount = "saleDealAmount";
/**
* 全年累计销售额
*/
String saleAmount = "saleAmount";
/**
* 平均单价
*/
String avgAmount = "avgAmount";
/**
* 一月销售额
*/
String janAmount = "janAmount";
/**
* 二月销售额
*/
String febAmount = "febAmount";
/**
* 三月销售额
*/
String marAmount = "marAmount";
/**
* 四月销售额
*/
String aprAmount = "aprAmount";
/**
* 五月销售额
*/
String mayAmount = "mayAmount";
/**
* 六月销售额
*/
String junAmount = "junAmount";
/**
* 七月销售额
*/
String julAmount = "julAmount";
/**
* 八月销售额
*/
String augAmount = "augAmount";
/**
* 九月销售额
*/
String septAmount = "septAmount";
/**
* 十月销售额
*/
String octAmount = "octAmount";
/**
* 十一月销售额
*/
String novAmount = "novAmount";
/**
* 十二月销售额
*/
String decAmount = "decAmount";
}
......@@ -6,8 +6,10 @@ import java.util.Map;
import java.util.UUID;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
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);
}
package com.xyst.dinas.statistics.dao;
import java.util.List;
import com.xyst.dinas.statistics.entity.OperationsReports;
public interface OperationsReportsDao {
List<OperationsReports> loadOperationsReportsByConditions(String startDate, String endDate,
String OperationsReportType, String stationList );
}
package com.xyst.dinas.statistics.dao;
import java.util.Date;
import java.util.List;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.statistics.entity.PaymentDetails;
public interface PaymentDetailsDao {
List<PaymentDetails> loadPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany);
}
package com.xyst.dinas.statistics.dao;
import java.util.List;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.statistics.entity.SalesSummary;
public interface SalesSummaryDao {
void save(KObject entity);
List<SalesSummary> loadSalesSummaryByConditions(String dealYear, String stationList);
}
package com.xyst.dinas.statistics.entity;
/**
* 预付款及结余汇总
*
* @author wukq
* @date 2021年5月17日
*/
public class AdvancePaymentBalanceSum {
/**
* 购砂单位
*/
private String purchaseSandUnit ;
/**
* 项目
*/
private String project ;
/**
* 上年剩余预付款
*/
private String lastYearAdvance ;
/**
* 本年销售货款
*/
private String paymentSales ;
/**
* 本年预付款总额
*/
private String totalAdvancePayment ;
/**
* 本年累计退费
*/
private String refundAmount ;
/**
* 预付款余额
*/
private String advanceBalance ;
/**
* 一月销售额
*/
private String janAmount ;
/**
* 二月销售额
*/
private String febAmount ;
/**
* 三月销售额
*/
private String marAmount ;
/**
* 四月销售额
*/
private String aprAmount ;
/**
* 五月销售额
*/
private String mayAmount ;
/**
* 六月销售额
*/
private String junAmount ;
/**
* 七月销售额
*/
private String julAmount ;
/**
* 八月销售额
*/
private String augAmount ;
/**
* 九月销售额
*/
private String septAmount ;
/**
* 十月销售额
*/
private String octAmount ;
/**
* 十一月销售额
*/
private String novAmount ;
/**
* 十二月销售额
*/
private String decAmount;
public String getPurchaseSandUnit() {
return purchaseSandUnit;
}
public void setPurchaseSandUnit(String purchaseSandUnit) {
this.purchaseSandUnit = purchaseSandUnit;
}
public String getProject() {
return project;
}
public void setProject(String project) {
this.project = project;
}
public String getLastYearAdvance() {
return lastYearAdvance;
}
public void setLastYearAdvance(String lastYearAdvance) {
this.lastYearAdvance = lastYearAdvance;
}
public String getPaymentSales() {
return paymentSales;
}
public void setPaymentSales(String paymentSales) {
this.paymentSales = paymentSales;
}
public String getTotalAdvancePayment() {
return totalAdvancePayment;
}
public void setTotalAdvancePayment(String totalAdvancePayment) {
this.totalAdvancePayment = totalAdvancePayment;
}
public String getRefundAmount() {
return refundAmount;
}
public void setRefundAmount(String refundAmount) {
this.refundAmount = refundAmount;
}
public String getAdvanceBalance() {
return advanceBalance;
}
public void setAdvanceBalance(String advanceBalance) {
this.advanceBalance = advanceBalance;
}
public String getJanAmount() {
return janAmount;
}
public void setJanAmount(String janAmount) {
this.janAmount = janAmount;
}
public String getFebAmount() {
return febAmount;
}
public void setFebAmount(String febAmount) {
this.febAmount = febAmount;
}
public String getMarAmount() {
return marAmount;
}
public void setMarAmount(String marAmount) {
this.marAmount = marAmount;
}
public String getAprAmount() {
return aprAmount;
}
public void setAprAmount(String aprAmount) {
this.aprAmount = aprAmount;
}
public String getMayAmount() {
return mayAmount;
}
public void setMayAmount(String mayAmount) {
this.mayAmount = mayAmount;
}
public String getJunAmount() {
return junAmount;
}
public void setJunAmount(String junAmount) {
this.junAmount = junAmount;
}
public String getJulAmount() {
return julAmount;
}
public void setJulAmount(String julAmount) {
this.julAmount = julAmount;
}
public String getAugAmount() {
return augAmount;
}
public void setAugAmount(String augAmount) {
this.augAmount = augAmount;
}
public String getSeptAmount() {
return septAmount;
}
public void setSeptAmount(String septAmount) {
this.septAmount = septAmount;
}
public String getOctAmount() {
return octAmount;
}
public void setOctAmount(String octAmount) {
this.octAmount = octAmount;
}
public String getNovAmount() {
return novAmount;
}
public void setNovAmount(String novAmount) {
this.novAmount = novAmount;
}
public String getDecAmount() {
return decAmount;
}
public void setDecAmount(String decAmount) {
this.decAmount = decAmount;
}
}
package com.xyst.dinas.statistics.entity;
public class OperationsReports {
/**
* 场站
*/
private String stationName;
/**
* 砂石类型
*/
private String dinasTypeName;
/**
* 销量
*/
private String saleDealAmount;
/**
* 销售额
*/
private String saleAmount;
public String getStationName() {
return stationName;
}
public void setStationName(String stationName) {
this.stationName = stationName;
}
public String getDinasTypeName() {
return dinasTypeName;
}
public void setDinasTypeName(String dinasTypeName) {
this.dinasTypeName = dinasTypeName;
}
public String getSaleDealAmount() {
return saleDealAmount;
}
public void setSaleDealAmount(String saleDealAmount) {
this.saleDealAmount = saleDealAmount;
}
public String getSaleAmount() {
return saleAmount;
}
public void setSaleAmount(String saleAmount) {
this.saleAmount = saleAmount;
}
}
package com.xyst.dinas.statistics.entity;
import java.math.BigDecimal;
/**
* 回款明细
*
* @author wukq
* @date 2021年5月17日
*/
public class PaymentDetails {
/**
* 时间-创建时间
*/
private String createTime;
/**
* 购砂单位
*/
private String purchaseSandUnit ;
/**
* 项目名称
*/
private String project ;
/**
* 资金类型
*/
private String fundType ;
/**
* 收款金额
*/
private String rechargeAmount ;
/**
* 退款金额
*/
private String actualRefundAmount ;
/**
* 备注
*/
private String remark ;
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getPurchaseSandUnit() {
return purchaseSandUnit;
}
public void setPurchaseSandUnit(String purchaseSandUnit) {
this.purchaseSandUnit = purchaseSandUnit;
}
public String getProject() {
return project;
}
public void setProject(String project) {
this.project = project;
}
public String getFundType() {
return fundType;
}
public void setFundType(String fundType) {
this.fundType = fundType;
}
public String getRechargeAmount() {
return rechargeAmount;
}
public void setRechargeAmount(String rechargeAmount) {
this.rechargeAmount = rechargeAmount;
}
public String getActualRefundAmount() {
return actualRefundAmount;
}
public void setActualRefundAmount(String actualRefundAmount) {
this.actualRefundAmount = actualRefundAmount;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
package com.xyst.dinas.statistics.entity;
/**
* 销售汇总
*
* @author wukq
* @date 2021年5月17日
*/
public class SalesSummary {
/**
* 场站
*/
private String station ;
/**
* 砂石种类
*/
private String dinasType ;
/**
* 全年累计销量
*/
private String saleDealAmount ;
/**
* 全年累计销售额
*/
private String saleAmount ;
/**
* 平均单价
*/
private String avgAmount ;
/**
* 一月销售额
*/
private String janAmount ;
/**
* 二月销售额
*/
private String febAmount ;
/**
* 三月销售额
*/
private String marAmount ;
/**
* 四月销售额
*/
private String aprAmount ;
/**
* 五月销售额
*/
private String mayAmount ;
/**
* 六月销售额
*/
private String junAmount ;
/**
* 七月销售额
*/
private String julAmount ;
/**
* 八月销售额
*/
private String augAmount ;
/**
* 九月销售额
*/
private String septAmount ;
/**
* 十月销售额
*/
private String octAmount ;
/**
* 十一月销售额
*/
private String novAmount ;
/**
* 十二月销售额
*/
private String decAmount ;
public String getStation() {
return station;
}
public void setStation(String station) {
this.station = station;
}
public String getDinasType() {
return dinasType;
}
public void setDinasType(String dinasType) {
this.dinasType = dinasType;
}
public String getSaleDealAmount() {
return saleDealAmount;
}
public void setSaleDealAmount(String saleDealAmount) {
this.saleDealAmount = saleDealAmount;
}
public String getSaleAmount() {
return saleAmount;
}
public void setSaleAmount(String saleAmount) {
this.saleAmount = saleAmount;
}
public String getAvgAmount() {
return avgAmount;
}
public void setAvgAmount(String avgAmount) {
this.avgAmount = avgAmount;
}
public String getJanAmount() {
return janAmount;
}
public void setJanAmount(String janAmount) {
this.janAmount = janAmount;
}
public String getFebAmount() {
return febAmount;
}
public void setFebAmount(String febAmount) {
this.febAmount = febAmount;
}
public String getMarAmount() {
return marAmount;
}
public void setMarAmount(String marAmount) {
this.marAmount = marAmount;
}
public String getAprAmount() {
return aprAmount;
}
public void setAprAmount(String aprAmount) {
this.aprAmount = aprAmount;
}
public String getMayAmount() {
return mayAmount;
}
public void setMayAmount(String mayAmount) {
this.mayAmount = mayAmount;
}
public String getJunAmount() {
return junAmount;
}
public void setJunAmount(String junAmount) {
this.junAmount = junAmount;
}
public String getJulAmount() {
return julAmount;
}
public void setJulAmount(String julAmount) {
this.julAmount = julAmount;
}
public String getAugAmount() {
return augAmount;
}
public void setAugAmount(String augAmount) {
this.augAmount = augAmount;
}
public String getSeptAmount() {
return septAmount;
}
public void setSeptAmount(String septAmount) {
this.septAmount = septAmount;
}
public String getOctAmount() {
return octAmount;
}
public void setOctAmount(String octAmount) {
this.octAmount = octAmount;
}
public String getNovAmount() {
return novAmount;
}
public void setNovAmount(String novAmount) {
this.novAmount = novAmount;
}
public String getDecAmount() {
return decAmount;
}
public void setDecAmount(String decAmount) {
this.decAmount = decAmount;
}
}
package com.xyst.dinas.statistics.internal.dao;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Tuple;
import org.hibernate.HibernateException;
import org.hibernate.Session;
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.statistics.dao.OperationsReportsDao;
import com.xyst.dinas.statistics.entity.OperationsReports;
public class OperationsReportsDaoImpl implements OperationsReportsDao {
@Autowired
private HibernateOperations template;
@Override
public List<OperationsReports> loadOperationsReportsByConditions(String startDate, String endDate,
String OperationsReportType, String stationList ) {
// TODO Auto-generated method stub
StringBuffer hql = new StringBuffer(" SELECT ");
hql.append(" result.stationName AS stationName, result.dinasTypeName AS dinasTypeName,\r\n"
+ " result.saleDealAmount AS saleDealAmount, \r\n"
+ " result.saleAmount AS saleAmount FROM ");
hql.append(" ( SELECT station.station_Name AS stationName, \r\n "
+ " dinasType.dinas_Type_Name AS dinasTypeName, ");
if (OperationsReportType.equals("daily")) {
hql.append(" SUM( salesSummary.sale_Deal_Amount ) AS saleDealAmount, \r\n"
+ " SUM( salesSummary.sale_Amount ) AS saleAmount, ");
} else {
hql.append(" FORMAT( SUM( salesSummary.sale_Deal_Amount ) / 10000 ,2) AS saleDealAmount, \r\n"
+ " FORMAT( SUM( salesSummary.sale_Amount ) / 10000 ,2) AS saleAmount, ");
}
hql.append(" salesSummary.deal_Time as dealTime, station.id as stationId \r\n"
+ " FROM xyst_dinas_statistics_sale_summary AS salesSummary \r\n"
+ " LEFT JOIN xyst_dinas_biz_station AS station ON station.id = salesSummary.station_id \r\n"
+ " LEFT JOIN xyst_dinas_biz_dinas_type AS dinasType ON dinasType.id = salesSummary.dinas_type_id ");
hql.append(" where 1=1 ");
if (startDate != null && !(startDate.isEmpty()))
hql.append(" and salesSummary.deal_Time >= :startDate ");
if (endDate != null && !(endDate.isEmpty()))
hql.append(" and salesSummary.deal_Time <= :endDate ");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" AND station.id IN :stationList ");
hql.append(" GROUP BY salesSummary.station_id,\r\n"
+ " salesSummary.dinas_type_id ");
hql.append(" UNION ALL ");
hql.append( " SELECT \r\n"
+ " station.station_Name AS stationName, \r\n"
+ " '小计' AS dinasTypeName, ");
if (OperationsReportType.equals("daily")) {
hql.append(" SUM( salesSummary.sale_Deal_Amount ) AS saleDealAmount, \r\n"
+ " SUM( salesSummary.sale_Amount ) AS saleAmount, ");
} else {
hql.append(" FORMAT( SUM( salesSummary.sale_Deal_Amount ) / 10000 ,2) AS saleDealAmount,\r\n"
+ " FORMAT( SUM( salesSummary.sale_Amount ) / 10000 ,2) AS saleAmount, ");
}
hql.append(" salesSummary.deal_Time as dealTime, station.id as stationId \r\n"
+ " FROM xyst_dinas_statistics_sale_summary AS salesSummary\r\n"
+ " LEFT JOIN xyst_dinas_biz_station AS station ON station.id = salesSummary.station_id\r\n"
+ " LEFT JOIN xyst_dinas_biz_dinas_type AS dinasType ON dinasType.id = salesSummary.dinas_type_id ");
hql.append(" where 1=1 ");
if (startDate != null && !(startDate.isEmpty()))
hql.append(" and salesSummary.deal_Time >= :startDate ");
if (endDate != null && !(endDate.isEmpty()))
hql.append(" and salesSummary.deal_Time <= :endDate ");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" AND station.id IN :stationList ");
hql.append(" GROUP BY salesSummary.station_id ");
hql.append(" UNION ALL " );
hql.append(" SELECT '总计' AS stationName, \r\n"
+ " '———' AS dinasTypeName, ");
if (OperationsReportType.equals("daily")) {
hql.append(" SUM( salesSummary.sale_Deal_Amount ) AS saleDealAmount,\r\n"
+ " SUM( salesSummary.sale_Amount ) AS saleAmount, ");
} else {
hql.append(" FORMAT( SUM( salesSummary.sale_Deal_Amount ) / 10000 ,2) AS saleDealAmount,\r\n"
+ " FORMAT( SUM( salesSummary.sale_Amount ) / 10000 ,2) AS saleAmount, ");
}
hql.append(" salesSummary.deal_Time as dealTime, \r\n"
+ " station.id as stationId \r\n"
+ " FROM \r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary \r\n"
+ " LEFT JOIN xyst_dinas_biz_station AS station ON station.id = salesSummary.station_id \r\n"
+ " LEFT JOIN xyst_dinas_biz_dinas_type AS dinasType ON dinasType.id = salesSummary.dinas_type_id ");
hql.append(" where 1=1 ");
if (startDate != null && !(startDate.isEmpty()))
hql.append(" and salesSummary.deal_Time >= :startDate ");
if (endDate != null && !(endDate.isEmpty()))
hql.append(" and salesSummary.deal_Time <= :endDate ");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" AND station.id IN :stationList ");
hql.append(" ) AS result ");
hql.append(
" ORDER BY (result.stationName = '总计') DESC,result.stationName, (result.dinasTypeName = '小计') ASC ");
return (List<OperationsReports>) template.execute(new HibernateCallback<List<OperationsReports>>() {
@Override
public List<OperationsReports> doInHibernate(Session session) throws HibernateException {
Query<Tuple> query = session.createNativeQuery(hql.toString(), Tuple.class);
if (startDate != null && !(startDate.isEmpty()))
query.setParameter("startDate", startDate);
if (endDate != null && !(endDate.isEmpty()))
query.setParameter("endDate", endDate);
if (stationList != null && !(stationList.isEmpty()))
query.setParameter("stationList", stationList);
List<Tuple> resultList = query.getResultList();
if (resultList.isEmpty())
return null;
List<OperationsReports> list = new ArrayList<OperationsReports>();
for (Tuple resule : resultList) {
OperationsReports operationsReports = new OperationsReports();
operationsReports.setStationName(String.valueOf(resule.get(0)));
operationsReports.setDinasTypeName(String.valueOf(resule.get(1)));
operationsReports.setSaleDealAmount(String.valueOf(resule.get(2)));
operationsReports.setSaleAmount(String.valueOf(resule.get(3)));
list.add(operationsReports);
}
return list;
}
});
}
}
package com.xyst.dinas.statistics.internal.dao;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Tuple;
import org.hibernate.HibernateException;
import org.hibernate.Session;
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.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.entity.PaymentDetails;
public class PaymentDetailsDaoImpl implements PaymentDetailsDao {
@Autowired
private HibernateOperations template;
@Override
public List<PaymentDetails> loadPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany) {
// TODO Auto-generated method stub
StringBuilder hql = new StringBuilder("select ");
hql.append(" DATE_FORMAT( result.createTime , '%Y年%m月%d' ) AS createTime , ");// 创建时间
hql.append(" result.purchaseSandUnit AS purchaseSandUnit , ");// 购砂公司
hql.append(" result.project AS project , ");// 项目名称
hql.append(" result.fundType AS fundType , ");// 资金类型
hql.append(" result.rechargeAmount AS rechargeAmount , ");// 收款金额
hql.append(" result.actualRefundAmount AS actualRefundAmount , ");// 退款金额
hql.append(" result.remark AS remark ");// 备注
hql.append(" FROM ( ");
hql.append( " SELECT\r\n"
+ " financeRefund.create_Time AS createTime,\r\n"
+ " purchaseSandCompanyon.NAME AS purchaseSandUnit,\r\n"
+ " projectFiled.project_Name AS project,\r\n"
+ " CASE\r\n"
+ " \r\n"
+ " WHEN financeRefund.fund_Type = 1 THEN\r\n"
+ " '保证金退费' ELSE '预付款退费' \r\n"
+ " END AS fundType,\r\n"
+ " '' AS rechargeAmount,\r\n"
+ " financeRefund.actual_Refund_Amount AS actualRefundAmount,\r\n"
+ " financeRefund.refund_Explain AS remark ,\r\n"
+ " financeRefund.regional_Company AS regionalCompanyId,\r\n"
+ " CASE WHEN financeRefund.fund_Type = 1 THEN 'DEPOSIT' ELSE 'ADVANCE' END AS fundType1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_finance_refund AS financeRefund\r\n"
+ " LEFT JOIN xyst_dinas_project_purchase_sand_company AS purchaseSandCompanyon ON purchaseSandCompanyon.id = financeRefund.purchase_Sand_Company\r\n"
+ " LEFT JOIN xyst_dinas_project_filed AS projectFiled ON projectFiled.id = financeRefund.project \r\n"
+"UNION ALL\r\n"
+ " SELECT\r\n"
+ " artificialRecharge.create_Time AS createTime,\r\n"
+ " purchaseSandCompanyon.NAME AS purchaseSandUnit,\r\n"
+ " projectFiled.project_Name AS project,\r\n"
+ " CASE\r\n"
+ " \r\n"
+ " WHEN artificialRecharge.fund_Type = 'DEPOSIT' THEN\r\n"
+ " '保证金充值' ELSE '预付款充值' \r\n"
+ " END AS fundType,\r\n"
+ " artificialRecharge.recharge_Amount AS rechargeAmount,\r\n"
+ " '' AS actualRefundAmount,\r\n"
+ " artificialRecharge.remark AS remark ,\r\n"
+ " artificialRecharge.regional_Company AS regionalCompanyId,\r\n"
+ " artificialRecharge.fund_Type AS fundType1 \r\n"
+ " FROM\r\n"
+ " xyst_dinas_finance_artificial_recharge AS artificialRecharge\r\n"
+ " LEFT JOIN xyst_dinas_project_purchase_sand_company AS purchaseSandCompanyon ON purchaseSandCompanyon.id = artificialRecharge.purchase_Sand_Unit\r\n"
+ " LEFT JOIN xyst_dinas_project_filed AS projectFiled ON projectFiled.id = artificialRecharge.project \r\n"
+"UNION ALL\r\n"
+ " SELECT\r\n"
+ " expenseAdjust.create_Time AS createTime,\r\n"
+ " purchaseSandCompanyon.NAME AS purchaseSandUnit,\r\n"
+ " projectFiled.project_Name AS project,\r\n"
+ " CASE\r\n"
+ " \r\n"
+ " WHEN expenseAdjust.fund_Type = 'DEPOSIT' THEN\r\n"
+ " '保证金费用调整' ELSE '预付款费用调整' \r\n"
+ " END AS fundType,\r\n"
+ " CASE\r\n"
+ " \r\n"
+ " WHEN expenseAdjust.expense_Adjust_Amount >= 0 THEN\r\n"
+ " expenseAdjust.expense_Adjust_Amount ELSE 0.00 \r\n"
+ " END AS rechargeAmount,\r\n"
+ " CASE\r\n"
+ " \r\n"
+ " WHEN expenseAdjust.expense_Adjust_Amount <= 0 THEN\r\n"
+ " (0.00 - expenseAdjust.expense_Adjust_Amount ) ELSE 0.00 \r\n"
+ " END AS actualRefundAmount,\r\n"
+ " expenseAdjust.remark AS remark,\r\n"
+ " expenseAdjust.regional_Company AS regionalCompanyId,\r\n"
+ " expenseAdjust.fund_Type AS fundType1 \r\n"
+ " FROM\r\n"
+ " xyst_dinas_finance_expense_adjust AS expenseAdjust\r\n"
+ " LEFT JOIN xyst_dinas_project_purchase_sand_company AS purchaseSandCompanyon ON purchaseSandCompanyon.id = expenseAdjust.purchase_Sand_Unit\r\n"
+ " LEFT JOIN xyst_dinas_project_filed AS projectFiled ON projectFiled.id = expenseAdjust.project \r\n"
+ " \r\n"
+ " ) AS result ");
hql.append(" WHERE 1=1 ");
if(regionalCompany != null && !(regionalCompany.isEmpty())) hql.append( " and result.regionalCompanyId = :regionalCompany ");
if(startDate != null && !(startDate.isEmpty()))hql.append(" and result.createTime >= :startDate ");
if(endDate != null && !(endDate.isEmpty()))hql.append(" and result.createTime <= :endDate ");
if(purchaseSandUnit != null && !(purchaseSandUnit.isEmpty()))hql.append(" and result.purchaseSandUnit like "+"%"+" :purchaseSandUnit "+"% " );
if(project != null && !(project.isEmpty()))hql.append(" and result.project like "+"%"+" :project "+"% ");
if(fundType != null && !(fundType.isEmpty()))hql.append(" and result.fundType = :fundType ");
hql.append(" ORDER BY result.createTime DESC ");
return (List<PaymentDetails>) template.execute(new HibernateCallback<List<PaymentDetails>>(){
@Override
public List<PaymentDetails> doInHibernate(Session session) throws HibernateException {
Query<Tuple> query = session.createNativeQuery(hql.toString(), Tuple.class);
if(startDate != null && !(startDate.isEmpty()))query.setParameter("startDate",startDate);
if(endDate != null && !(endDate.isEmpty()))query.setParameter("endDate",endDate);
if(purchaseSandUnit != null && !(purchaseSandUnit.isEmpty()))query.setParameter("purchaseSandUnit",purchaseSandUnit);
if(project != null && !(project.isEmpty()))query.setParameter("project",project);
if(fundType != null && !(fundType.isEmpty()))query.setParameter("fundType",fundType);
if(regionalCompany != null && !(regionalCompany.isEmpty()))query.setParameter("regionalCompany",regionalCompany);
List<Tuple> resultList = query.getResultList();
if (resultList.isEmpty())
return null;
List<PaymentDetails> list = new ArrayList<PaymentDetails>();
for (Tuple resule : resultList) {
PaymentDetails paymentDetails = new PaymentDetails();
/*
* if(null == resule.get(0) || null == resule.get(1) || null == resule.get(2) )
* { continue; }
*/
paymentDetails.setCreateTime(String.valueOf(resule.get(0)));
paymentDetails.setPurchaseSandUnit(String.valueOf(resule.get(1)));
paymentDetails.setProject(String.valueOf(resule.get(2)));
paymentDetails.setFundType(String.valueOf(resule.get(3)));
paymentDetails.setRechargeAmount(String.valueOf(resule.get(4)));
paymentDetails.setActualRefundAmount(String.valueOf(resule.get(5)));
paymentDetails.setRemark(String.valueOf(resule.get(6)));
list.add(paymentDetails);
}
return list;
}
});
}
}
......@@ -18,6 +18,7 @@ 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;
......@@ -35,8 +36,6 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc
@Autowired
private AdvancePaymentBalanceSumDao advancePaymentBalanceSumDao;
@Autowired
private AdvancePaymentBalanceSumDao AdvancePaymentBalanceSumDao;
@Autowired
private ProjectFiledDao projectFiledDao;
@Autowired
PurchaseSandCompanyDao purchaseSandCompanyDao;
......@@ -81,7 +80,7 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc
AdvancePaymentBalanceSum.set(AdvancePaymentBalanceSumConstants.DEALDAY, nowDate.substring(8, 10));
AdvancePaymentBalanceSum.set(AdvancePaymentBalanceSumConstants.TOTALMARGIN, (BigDecimal)mp.get("total_margin"));
AdvancePaymentBalanceSum.set(AdvancePaymentBalanceSumConstants.MARGINREFUND, (BigDecimal)mp.get("margin_refund"));
AdvancePaymentBalanceSumDao.save(AdvancePaymentBalanceSum);
advancePaymentBalanceSumDao.save(AdvancePaymentBalanceSum);
state = true;
}}catch (Exception e) {
state = false;
......@@ -118,4 +117,11 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc
}
@Override
public List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany) {
// TODO Auto-generated method stub
return advancePaymentBalanceSumDao.queryAdvancePaymentBalanceSumByConditions(dealYear, regionalCompany);
}
}
package com.xyst.dinas.statistics.internal.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.xyst.dinas.statistics.dao.OperationsReportsDao;
import com.xyst.dinas.statistics.entity.OperationsReports;
import com.xyst.dinas.statistics.service.OperationsReportsService;
public class OperationsReportsServiceImpl implements OperationsReportsService {
@Autowired
OperationsReportsDao operationsReportsDao;
@Override
public List<OperationsReports> queryOperationsReportsByConditions(String startDate, String endDate,
String OperationsReportType, String stationList ) {
// TODO Auto-generated method stub
return operationsReportsDao.loadOperationsReportsByConditions(startDate, endDate, OperationsReportType, stationList );
}
}
package com.xyst.dinas.statistics.internal.service;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.service.PaymentDetailsService;
public class PaymentDetailsServiceImpl implements PaymentDetailsService {
@Autowired
PaymentDetailsDao paymentDetailsDao;
@Override
public List<PaymentDetails> queryPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany) {
// TODO Auto-generated method stub
return paymentDetailsDao.loadPaymentDetailsByConditions(startDate,endDate, purchaseSandUnit,
project, fundType, regionalCompany);
}
}
......@@ -15,7 +15,9 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.transaction.annotation.Transactional;
import com.xyst.dinas.statistics.constant.SalesSummaryConstants;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.entity.SalesSummary;
import com.xyst.dinas.statistics.service.SalesSummaryService;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
......@@ -41,6 +43,8 @@ public class SalesSummaryServiceImpl implements SalesSummaryService {
@Autowired
DinasTypeDao dinasTypeDao;
@Autowired
PaymentDetailsDao paymentDetailsDao;
@Autowired
@Qualifier(SalesSummaryConstants.SALES_SUMMARY_ENTITY)
private KClass SalesSummaryClass;
private Logger logger = LoggerFactory.getLogger(this.getClass());
......@@ -77,4 +81,10 @@ public class SalesSummaryServiceImpl implements SalesSummaryService {
return state;
}
@Override
public List<SalesSummary> querySalesSummaryByConditions(String dealYear, String stationList) {
// TODO Auto-generated method stub
return salesSummaryDao.loadSalesSummaryByConditions(dealYear,stationList);
}
}
package com.xyst.dinas.statistics.service;
import java.util.List;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
public interface AdvancePaymentBalanceSumService {
boolean generateAdvancePaymentBalanceSumByDate(String dateNow,String dateBefore,boolean flag);
List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany);
}
package com.xyst.dinas.statistics.service;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestBody;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
public interface DownLoadStatisticsService {
void downLoadStatisticsServiceTable(HttpServletResponse response, HttpServletRequest request, @RequestBody ConditionsDetailsInfo PaymentDetailsList)
throws IOException;
}
package com.xyst.dinas.statistics.service;
import java.util.List;
import com.xyst.dinas.statistics.entity.OperationsReports;
public interface OperationsReportsService {
List<OperationsReports> queryOperationsReportsByConditions(String startDate, String endDate,
String OperationsReportType, String stationList );
}
package com.xyst.dinas.statistics.service;
import java.util.Date;
import java.util.List;
import com.xyst.dinas.statistics.entity.PaymentDetails;
public interface PaymentDetailsService {
List<PaymentDetails> queryPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany);
}
package com.xyst.dinas.statistics.service;
import java.util.List;
import com.xyst.dinas.statistics.entity.SalesSummary;
public interface SalesSummaryService {
boolean generateAllSalesRecordByDate(String dateNow,String dateBefore);
List<SalesSummary> querySalesSummaryByConditions(String dealYear, String stationList);
}
package com.xyst.dinas.statistics.web;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class AdvancePaymentBalanceSumController {
@Autowired
AdvancePaymentBalanceSumService advancePaymentBalanceSumService;
@PostMapping(value = "/AdvancePaymentBalanceSum/queryAdvancePaymentBalanceSumByConditions", consumes = "application/json")
public Object queryAdvancePaymentBalanceSumByConditions(
@RequestBody ConditionsDetailsInfo AdvancePaymentBalanceSumList) {
try {
List<AdvancePaymentBalanceSum> advancePaymentBalanceSum = advancePaymentBalanceSumService
.queryAdvancePaymentBalanceSumByConditions(AdvancePaymentBalanceSumList.getDealYear(),
AdvancePaymentBalanceSumList.getRegionalCompany());
return ResponseObj.success("查询预付款及结余汇总成功", advancePaymentBalanceSum);
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("查询预付款及结余汇总操作后台失败!详情请查看日志", e.getMessage());
}
}
}
\ No newline at end of file
package com.xyst.dinas.statistics.web;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.statistics.service.DownLoadStatisticsService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class DownLoadStatisticsController {
@Autowired
DownLoadStatisticsService downLoadStatisticsService;
@PostMapping(value = "/DownLoadStatistics/downLoadStatisticsService", consumes = "application/json")
public Object downLoadStatisticsService(HttpServletResponse response, HttpServletRequest request,
@RequestBody ConditionsDetailsInfo conditionsDetailsInfo) {
try {
downLoadStatisticsService.downLoadStatisticsServiceTable(response, request, conditionsDetailsInfo);
return ResponseObj.success("数据下成功");
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("数据下成功操作后台失败!详情请查看日志", e.getMessage());
} catch (IOException e) {
// TODO Auto-generated catch block
return ResponseObj.error("数据下成功操作后台失败!详情请查看日志", e.getMessage());
}
}
}
package com.xyst.dinas.statistics.web.Info;
public class ConditionsDetailsInfo {
/**
* 查询开始时间
*/
private String startDate;
/**
* 查询结束时间
*/
private String endDate;
/**
* 购砂单位
*/
private String purchaseSandUnit;
/**
* 项目名称
*/
private String project;
/**
* 资金类型/经营报表类型(OperationsReportTypeEunm)
*/
private String fundType;
/**
* 年
*/
private String dealYear;
/**
* 月
*/
private String dealMonth;
/**
* 日
*/
private String dealDay;
/**
* 区域公司
*/
private String regionalCompany;
/**
* 下载文件类型
*/
private String fileType;
/**
* 场站List
* @return
*/
private String stationList;
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getPurchaseSandUnit() {
return purchaseSandUnit;
}
public void setPurchaseSandUnit(String purchaseSandUnit) {
this.purchaseSandUnit = purchaseSandUnit;
}
public String getProject() {
return project;
}
public void setProject(String project) {
this.project = project;
}
public String getFundType() {
return fundType;
}
public void setFundType(String fundType) {
this.fundType = fundType;
}
public String getDealYear() {
return dealYear;
}
public void setDealYear(String dealYear) {
this.dealYear = dealYear;
}
public String getDealMonth() {
return dealMonth;
}
public void setDealMonth(String dealMonth) {
this.dealMonth = dealMonth;
}
public String getDealDay() {
return dealDay;
}
public void setDealDay(String dealDay) {
this.dealDay = dealDay;
}
public String getRegionalCompany() {
return regionalCompany;
}
public void setRegionalCompany(String regionalCompany) {
this.regionalCompany = regionalCompany;
}
public String getFileType() {
return fileType;
}
public void setFileType(String fileType) {
this.fileType = fileType;
}
public String getStationList() {
return stationList;
}
public void setStationList(String stationList) {
this.stationList = stationList;
}
}
package com.xyst.dinas.statistics.web;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.statistics.entity.OperationsReports;
import com.xyst.dinas.statistics.service.OperationsReportsService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class OperationsReportsController {
@Autowired
OperationsReportsService operationsReportsService;
@PostMapping(value = "/OperationsReports/queryOperationsReportsByConditions", consumes = "application/json")
public Object queryOperationsReportsByConditions(@RequestBody ConditionsDetailsInfo operationsReportsList) {
try {
List<OperationsReports> PaymentDetails = operationsReportsService.queryOperationsReportsByConditions(
operationsReportsList.getStartDate(), operationsReportsList.getEndDate(),
operationsReportsList.getFundType(),operationsReportsList.getStationList());
return ResponseObj.success("查询经营类统计成功", PaymentDetails);
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("查询经营类统计操作后台失败!详情请查看日志", e.getMessage());
}
}
}
package com.xyst.dinas.statistics.web;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.service.PaymentDetailsService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class PaymentDetailsController {
@Autowired
PaymentDetailsService paymentDetailsService;
@PostMapping(value = "/PaymentDetails/queryPaymentDetailsByConditions", consumes = "application/json")
public Object queryPaymentDetailsByConditions(@RequestBody ConditionsDetailsInfo paymentDetailsList) {
try {
List<PaymentDetails> PaymentDetails = paymentDetailsService.queryPaymentDetailsByConditions(
paymentDetailsList.getStartDate(), paymentDetailsList.getEndDate(),
paymentDetailsList.getPurchaseSandUnit(), paymentDetailsList.getProject(),
paymentDetailsList.getFundType(), paymentDetailsList.getRegionalCompany());
return ResponseObj.success("查询回款明细成功", PaymentDetails);
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("查询回款明细操作后台失败!详情请查看日志", e.getMessage());
}
}
}
......@@ -9,8 +9,10 @@ import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.sales.web.info.SalesRecordInfo;
import com.xyst.dinas.statistics.entity.SalesSummary;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
import com.xyst.dinas.statistics.service.SalesSummaryService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class SalesSummaryController {
......@@ -21,16 +23,25 @@ public class SalesSummaryController {
AdvancePaymentBalanceSumService advancePaymentBalanceSumService;
@PostMapping(value = "/SalesSummary/save", consumes = "application/json")
public void saveSalesSummary(@RequestBody List<SalesRecordInfo>
salesRecordList) {
/* if (salesRecordList.isEmpty()) { return
ResponseObj.error("传递的销售台账数据条数为0!请确认!"); } else { return
salesSummaryService.generateAllSalesRecordByDate("2021-05-08", "2021-01-01"); }
}*/
/*if (salesRecordList.isEmpty()) { return
ResponseObj.error("传递的销售台账数据条数为0!请确认!"); } else { return
advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(
"2021-05-08", "2021-05-07",true); }*/
}}
public void saveSalesSummary(@RequestBody List<SalesRecordInfo> salesRecordList) {
if (salesRecordList.isEmpty()) {
ResponseObj.error("传递的销售台账数据条数为0!请确认!");
} else {
salesSummaryService.generateAllSalesRecordByDate("2021-05-08", "2021-01-01");
}
}
@PostMapping(value = "/SalesSummary/querySalesSummaryByConditions", consumes = "application/json")
public Object querySalesSummaryByConditions(@RequestBody ConditionsDetailsInfo salesSummaryList) {
try {
List<SalesSummary> salesSummary = salesSummaryService
.querySalesSummaryByConditions(salesSummaryList.getDealYear(), salesSummaryList.getStationList());
return ResponseObj.success("查询销售汇总成功", salesSummary);
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("查询销售汇总操作后台失败!详情请查看日志", e.getMessage());
}
}
}
......@@ -208,8 +208,6 @@
AdvancePaymentAndBalanceSummary AS AdvancePaymentAndBalanceSummary1
WHERE
AdvancePaymentAndBalanceSummary1.dealMonth = 11
AND AdvancePaymentAndBalanceSummary1.dealYear = :?year
AND AdvancePaymentAndBalanceSummary1.regionalCompany = :?regionalCompanyName
GROUP BY AdvancePaymentAndBalanceSummary1.project
) AS novAmount ON novAmount.project1 = AdvancePaymentAndBalanceSummary.project
AND novAmount.dealYear1 = AdvancePaymentAndBalanceSummary.dealYear
......
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