- 这个我想参考UIM卡的统计报表功能,数量+多少日期前的
- 但终端分类型,我想默认就是所有,上面加一排按钮,点击后再按输入的string 值就来进行筛选(比如光猫,ITV等)
-
建显示模型
在根目录下的Models下,建一个型型HomeListTerminal.cs ``` public class HomeListTerminal {
//区域就是支局之类的
public String Region { get; set; }
//接收人,除非他们发了接收人,否则默认支局长,就是Region起作用
/// <summary>
/// 总的可以使用的终端
/// </summary>
public Int32 TotalTerminal { get; set; }
//1个月前的终端
public Int32 OldTerminal { get; set; }
}
- 新建一个控制器方法 ,并生成视图
[HttpGet] public ActionResult ListTerminal() {
return View();
}
<a name="GrmH6"></a>
## 统计实现
- 然后我们完善这个 ListTerminal()方法 ,我们为了方便 ,直接使用SQL
- 便注意这个方法 ,我们需要一个string 变量,即终端型号
- 前台页面先增加四个按钮,针对我终端的四个类型
- 效果

- 完善后台代码
[HttpGet]
public ActionResult ListTerminal(string searchString)
{
//当这个不为空,即是不点击按按的时候
if (!String.IsNullOrEmpty(searchString))
{
//根据点击送过来的searchString值进行筛选统计
var dal = DAL.Create(“Membership”);
string stringsql = “SELECT Region,COUNT(StringCode) as TotalTerminal,sum(case when date(GrantDate) <= strftime(‘%Y-%m-%d %H:%M:%f’,’now’, ‘-50 day’) then 1 else 0 end) as OldTerminal FROM Terminal WHERE TerminalState == ‘待销售’ and TerminalType ==”;
stringsql += “‘“+searchString +”‘“+ “ GROUP BY Region;”;
var endlistcard = dal.Query
}
else
{
var dal = DAL.Create("Membership");
var endlistcard = dal.Query<HomeListTerminal>("SELECT Region,COUNT(StringCode) as TotalTerminal,sum(case when date(GrantDate) <= strftime('%Y-%m-%d %H:%M:%f','now', '-50 day') then 1 else 0 end) as OldTerminal FROM Terminal WHERE TerminalState =='待销售' GROUP BY Region; ").ToList();
//var ke = UimCard.LoadData(db);
return View(endlistcard);
}
} ```
- 上面的sql,因为where需要用到变量,所以我只能用拼接的方式