using Model.ViewModel; using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Web; using System.Web.Http; /// /// StatisticController 的摘要描述 /// public class StatisticController : BaseApiController { public StatisticController() { // // TODO: 在這裡新增建構函式邏輯 // } [HttpPost] [Route("api/Statistic/GetStatistic")] public IHttpActionResult GetStatistic([FromBody] Model.ViewModel.statistic s,string statistic_mode) { //statistic_mode :依法會 依信眾 依分類 依付款方式 var sqlstr = new StringBuilder(@"with o1 (order_no,price) as ( select order_no,sum(isnull(price,0)) as price from pro_order_detail group by order_no ) select a.num,a.kind,d.kind kindName,a.subject,isnull(b.order_no,'') order_no,isnull(c.u_name,'') u_name, isnull(bill.pay_type,'') pay_type,o1.price,bill.amount,bill.pay_mode,bill.status,bill.f_num, bill.acc_num,bill.acc_kind,isnull(bill.check_amount,0) check_amount, isnull(bill.remain_amount,0) remain_amount,isnull(bill.check_status,'') check_status from activity a left join pro_order b on a.num=b.activity_num left join transfer_register bill on a.num=bill.activity_num and bill.f_num=b.f_num left join followers c on b.f_num=c.num left join activity_kind d on a.kind=d.num left join o1 on o1.order_no=b.order_no where 1=1 "); var parameters = new List(); if (s.num!=0) {//查法會 sqlstr.Append(" and num=@num "); parameters.Add(new SqlParameter("@num",s.num)); } if (s.kind != 0) {//查法會類型 sqlstr.Append(" and kind=@kind "); parameters.Add(new SqlParameter("@kind",s.kind)); } if (s.f_num != 0) {//查信眾 sqlstr.Append(" and f_num=@f_num "); parameters.Add(new SqlParameter("@f_num", s.f_num)); } var list=_db.Database.SqlQuery(sqlstr.ToString(),parameters.ToArray()).ToList(); return Ok(); } }