You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
3.6 KiB
57 lines
3.6 KiB
2 years ago
|
/*
|
||
|
* *
|
||
|
* * @Project 微信公众号
|
||
|
* * @Author 张剑峰
|
||
|
* * @Date 2021/1/12 下午10:20
|
||
|
* * @Description
|
||
|
* * @Version v1.0.0
|
||
|
* * @Copyright @ 2020 云南新八达科技有限公司 All rights reserved.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
package com.ynxbd.common.dao;
|
||
|
|
||
|
import com.ynxbd.common.bean.Accounts;
|
||
|
import com.ynxbd.common.config.db.DataBase;
|
||
|
|
||
|
import java.util.List;
|
||
|
|
||
|
public class AccountsDao {
|
||
|
|
||
|
public List<Accounts> getAccounts(String begDate, String endDate) {
|
||
|
String sql = "select * from(\n" +
|
||
|
"select CONCAT(date_format(updatetime,'%Y%m%d'), '1') as no, date_format(updatetime,'%Y-%m-%d') as date, " +
|
||
|
"count(*) as 'count' , sum(paymoney) as 'sumMoney', '挂号合计' as description from register " +
|
||
|
"where paystatus = 0 and hisstatus = 0 and updatetime BETWEEN '" + begDate + "' and DATE_ADD('" + endDate + "',INTERVAL 1 DAY)\n" +
|
||
|
"group by date_format(updatetime,'%Y-%m-%d') \n" +
|
||
|
"union all\n" +
|
||
|
"select CONCAT(date_format(updatetime,'%Y%m%d'), '2') as no, date_format(updatetime,'%Y-%m-%d') as date , " +
|
||
|
"count(*) as 'count', sum(paymoney) as 'sumMoney', '预约挂号' as description from register " +
|
||
|
"where paystatus = 0 and hisstatus = 0 and (RegType = 0 or updatetime < regdate) and updatetime BETWEEN '" + begDate + "' and DATE_ADD('" + endDate + "',INTERVAL 1 DAY)\n" +
|
||
|
"group by date_format(updatetime,'%Y-%m-%d')\n" +
|
||
|
"union all\n" +
|
||
|
"select CONCAT(date_format(updatetime,'%Y%m%d'), '3') as no, date_format(updatetime,'%Y-%m-%d') as date, " +
|
||
|
"count(*) as 'count' , sum(paymoney) as 'sumMoney', '现场挂号' as description from register " +
|
||
|
"where paystatus = 0 and hisstatus = 0 and (RegType = 1 or updatetime >= regdate) and updatetime BETWEEN '" + begDate + "' and DATE_ADD('" + endDate + "',INTERVAL 1 DAY)\n" +
|
||
|
"group by date_format(updatetime,'%Y-%m-%d') \n" +
|
||
|
"union all\n" +
|
||
|
"select CONCAT(date_format(updatetime,'%Y%m%d'), '4') as no, date_format(updatetime,'%Y-%m-%d') as date, " +
|
||
|
"count(*) as 'count' , sum(paymoney) as 'sumMoney', '诊间支付合计' as description from pay " +
|
||
|
"where paystatus = 0 and updatetime BETWEEN '" + begDate + "' and DATE_ADD('" + endDate + "',INTERVAL 1 DAY)\n" +
|
||
|
"group by date_format(updatetime,'%Y-%m-%d') \n" +
|
||
|
"union all\n" +
|
||
|
"select CONCAT(date_format(updatetime,'%Y%m%d'), '5') as no, date_format(updatetime,'%Y-%m-%d') as date, " +
|
||
|
"count(*) as 'count' , sum(paymoney) as 'sumMoney', '扫码支付' as description from pay " +
|
||
|
"where paystatus = 0 and payway = 1 and updatetime BETWEEN '" + begDate + "' and DATE_ADD('" + endDate + "',INTERVAL 1 DAY) \n" +
|
||
|
"group by date_format(updatetime,'%Y-%m-%d') \n" +
|
||
|
"union all\n" +
|
||
|
"select CONCAT(date_format(updatetime,'%Y%m%d'), '6') as no, date_format(updatetime,'%Y-%m-%d') as date, " +
|
||
|
"count(*) as 'count' , sum(paymoney) as 'sumMoney', '公众号内支付' as description from pay " +
|
||
|
"where paystatus = 0 and payway = 0 and updatetime BETWEEN '" + begDate + "' and DATE_ADD('" + endDate + "',INTERVAL 1 DAY)\n" +
|
||
|
"group by date_format(updatetime,'%Y-%m-%d') \n" +
|
||
|
") t\n" +
|
||
|
"order by t.date desc, no";
|
||
|
return DataBase.select(sql, Accounts.class);
|
||
|
}
|
||
|
}
|