| | |
| | | return mes; |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | |
| | | #region[安灯报表明细] |
| | | public static ToMessage AnDonReportDefinitSearch(string wkshopcode, string calltypecode, string calluser, string callopendate, string callclosedate, string eqpcode, string eqpname,string responduser, string respondopendate, string respondclosedate, int startNum, int endNum, string prop, string order) |
| | | { |
| | | var dynamicParams = new DynamicParameters(); |
| | | string search = ""; |
| | | try |
| | | { |
| | | if (wkshopcode != "" && wkshopcode != null) |
| | | { |
| | | search += "and A.wkshp_code=@style "; |
| | | dynamicParams.Add("@wkshopcode", wkshopcode); |
| | | } |
| | | if (calltypecode != "" && calltypecode != null) |
| | | { |
| | | search += "and A.type=@calltypecode "; |
| | | dynamicParams.Add("@calltypecode", calltypecode); |
| | | } |
| | | if (calluser != "" && calluser != null) |
| | | { |
| | | search += "and A.start_user like '%'+@calluser+'%' "; |
| | | dynamicParams.Add("@calluser", calluser); |
| | | } |
| | | if (eqpcode != "" && eqpcode != null) |
| | | { |
| | | search += "and A.eqp_code like '%'+@eqpcode+'%' "; |
| | | dynamicParams.Add("@eqpcode", eqpcode); |
| | | } |
| | | if (eqpname != "" && eqpname != null) |
| | | { |
| | | search += "and E.name like '%'+@eqpname+'%' "; |
| | | dynamicParams.Add("@eqpname", eqpname); |
| | | } |
| | | if (responduser != "" && responduser != null) |
| | | { |
| | | search += "and A.resp_user like '%'+@responduser+'%' "; |
| | | dynamicParams.Add("@responduser", responduser); |
| | | } |
| | | if (callopendate != "" && callopendate != null) |
| | | { |
| | | search += "and A.start_date between @callopendate and @callclosedate "; |
| | | dynamicParams.Add("@callopendate", callopendate + " 00:00:00"); |
| | | dynamicParams.Add("@callclosedate", callclosedate + " 23:59:59"); |
| | | } |
| | | if (respondopendate != "" && respondopendate != null) |
| | | { |
| | | search += "and A.resp_date between @respondopendate and @respondclosedate "; |
| | | dynamicParams.Add("@respondopendate", respondopendate + " 00:00:00"); |
| | | dynamicParams.Add("@respondclosedate", respondclosedate + " 23:59:59"); |
| | | } |
| | | |
| | | if (search == "") |
| | | { |
| | | search = "and 1=1 "; |
| | | } |
| | | search = search.Substring(3);//截取索引2后面的字符 |
| | | // --------------查询指定数据-------------- |
| | | var total = 0; //总条数 |
| | | var sql = @"select A.wkshp_code,T.org_name as wkshp_name,A.eqp_code,E.name as eqp_name,Y.name as typename, |
| | | A.start_user,A.start_date,A.resp_user,A.resp_date, |
| | | CAST(CAST(datediff(second,A.start_date,A.resp_date) / (60*60*24) AS INT) AS VARCHAR) + '天' |
| | | + CAST(CAST(datediff(second,A.start_date,A.resp_date) % 86400 / 3600 AS INT) AS VARCHAR) + '小时' |
| | | + CAST(CAST(datediff(second,A.start_date,A.resp_date) % 3600 / 60 AS INT) AS VARCHAR) + '分' |
| | | + CAST(CAST(datediff(second,A.start_date,A.resp_date) % 60 AS INT) AS VARCHAR) + '秒' AS respondcont, |
| | | (case when A.resp_user is null then '待响应' else '以响应' end) as status |
| | | from TAnDon_Task_Info A |
| | | left join TOrganization T on A.wkshp_code=T.org_code |
| | | left join TEqpInfo E on A.eqp_code=E.code |
| | | left join TAnDonType Y on A.type=Y.code |
| | | where T.description='W' " + search; |
| | | var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total); |
| | | mes.code = "200"; |
| | | mes.Message = "查询成功!"; |
| | | mes.count = total; |
| | | mes.data = data.ToList(); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.Message = e.Message; |
| | | mes.data = null; |
| | | } |
| | | return mes; |
| | | } |
| | | #endregion |
| | | |
| | | #region[安灯报表明细导出] |
| | | public static ToMessage AnDonReportDefinitExcelSearch(string wkshopcode, string calltypecode, string calluser, string callopendate, string callclosedate, string eqpcode, string eqpname, string responduser, string respondopendate, string respondclosedate) |
| | | { |
| | | var dynamicParams = new DynamicParameters(); |
| | | string search = ""; |
| | | try |
| | | { |
| | | if (wkshopcode != "" && wkshopcode != null) |
| | | { |
| | | search += "and A.wkshp_code=@style "; |
| | | dynamicParams.Add("@wkshopcode", wkshopcode); |
| | | } |
| | | if (calltypecode != "" && calltypecode != null) |
| | | { |
| | | search += "and A.type=@calltypecode "; |
| | | dynamicParams.Add("@calltypecode", calltypecode); |
| | | } |
| | | if (calluser != "" && calluser != null) |
| | | { |
| | | search += "and A.start_user like '%'+@calluser+'%' "; |
| | | dynamicParams.Add("@calluser", calluser); |
| | | } |
| | | if (eqpcode != "" && eqpcode != null) |
| | | { |
| | | search += "and A.eqp_code like '%'+@eqpcode+'%' "; |
| | | dynamicParams.Add("@eqpcode", eqpcode); |
| | | } |
| | | if (eqpname != "" && eqpname != null) |
| | | { |
| | | search += "and E.name like '%'+@eqpname+'%' "; |
| | | dynamicParams.Add("@eqpname", eqpname); |
| | | } |
| | | if (responduser != "" && responduser != null) |
| | | { |
| | | search += "and A.resp_user like '%'+@responduser+'%' "; |
| | | dynamicParams.Add("@responduser", responduser); |
| | | } |
| | | if (callopendate != "" && callopendate != null) |
| | | { |
| | | search += "and A.start_date between @callopendate and @callclosedate "; |
| | | dynamicParams.Add("@callopendate", callopendate + " 00:00:00"); |
| | | dynamicParams.Add("@callclosedate", callclosedate + " 23:59:59"); |
| | | } |
| | | if (respondopendate != "" && respondopendate != null) |
| | | { |
| | | search += "and A.resp_date between @respondopendate and @respondclosedate "; |
| | | dynamicParams.Add("@respondopendate", respondopendate + " 00:00:00"); |
| | | dynamicParams.Add("@respondclosedate", respondclosedate + " 23:59:59"); |
| | | } |
| | | |
| | | if (search == "") |
| | | { |
| | | search = "and 1=1 "; |
| | | } |
| | | search = search.Substring(3);//截取索引2后面的字符 |
| | | // --------------查询指定数据-------------- |
| | | var total = 0; //总条数 |
| | | var sql = @"select A.wkshp_code as 车间编码,T.org_name as 车间名称,A.eqp_code as 设备编码,E.name as 设备名称,Y.name as 呼叫类型, |
| | | A.start_user as 呼叫人,A.start_date as 呼叫时间,A.resp_user as 响应人,A.resp_date as 响应时间, |
| | | CAST(CAST(datediff(second,A.start_date,A.resp_date) / (60*60*24) AS INT) AS VARCHAR) + '天' |
| | | + CAST(CAST(datediff(second,A.start_date,A.resp_date) % 86400 / 3600 AS INT) AS VARCHAR) + '小时' |
| | | + CAST(CAST(datediff(second,A.start_date,A.resp_date) % 3600 / 60 AS INT) AS VARCHAR) + '分' |
| | | + CAST(CAST(datediff(second,A.start_date,A.resp_date) % 60 AS INT) AS VARCHAR) + '秒' AS 响应时长, |
| | | (case when A.resp_user is null then '待响应' else '以响应' end) as 状态 |
| | | from TAnDon_Task_Info A |
| | | left join TOrganization T on A.wkshp_code=T.org_code |
| | | left join TEqpInfo E on A.eqp_code=E.code |
| | | left join TAnDonType Y on A.type=Y.code |
| | | where T.description='W' " + search; |
| | | DataTable data = DapperHelper.selectdata(sql, dynamicParams); |
| | | data.TableName = "Table"; //设置DataTable的名称 |
| | | string msg = DownLoad.DataTableToExcel(data, "安灯明细报表"); |
| | | mes.code = "200"; |
| | | mes.Message = "查询成功!"; |
| | | mes.count = total; |
| | | mes.data = msg; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.Message = e.Message; |
| | | mes.data = null; |
| | | } |
| | | return mes; |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region[安灯报表汇总] |
| | | public static ToMessage AnDonReportSumSearch(string wkshopcode, string calltypecode, string callopendate, string callclosedate, string respondopendate, string respondclosedate, int startNum, int endNum, string prop, string order) |
| | | { |
| | | var dynamicParams = new DynamicParameters(); |
| | | string search = ""; |
| | | try |
| | | { |
| | | if (wkshopcode != "" && wkshopcode != null) |
| | | { |
| | | search += "and A.wkshp_code=@style "; |
| | | dynamicParams.Add("@wkshopcode", wkshopcode); |
| | | } |
| | | if (calltypecode != "" && calltypecode != null) |
| | | { |
| | | search += "and A.type=@calltypecode "; |
| | | dynamicParams.Add("@calltypecode", calltypecode); |
| | | } |
| | | if (callopendate != "" && callopendate != null) |
| | | { |
| | | search += "and A.start_date between @callopendate and @callclosedate "; |
| | | dynamicParams.Add("@callopendate", callopendate + " 00:00:00"); |
| | | dynamicParams.Add("@callclosedate", callclosedate + " 23:59:59"); |
| | | } |
| | | if (respondopendate != "" && respondopendate != null) |
| | | { |
| | | search += "and A.resp_date between @respondopendate and @respondclosedate "; |
| | | dynamicParams.Add("@respondopendate", respondopendate + " 00:00:00"); |
| | | dynamicParams.Add("@respondclosedate", respondclosedate + " 23:59:59"); |
| | | } |
| | | |
| | | if (search == "") |
| | | { |
| | | search = "and 1=1 "; |
| | | } |
| | | search = search.Substring(3);//截取索引2后面的字符 |
| | | // --------------查询指定数据-------------- |
| | | var total = 0; //总条数 |
| | | var sql = @"select T.org_name as wkshp_name,Y.name as calltypename, |
| | | (select count(*) callcount from TAnDon_Task_Info AA where AA.wkshp_code=A.wkshp_code and AA.type=A.type) as callcount, |
| | | (select count(*) repondcount from TAnDon_Task_Info BB where BB.wkshp_code=A.wkshp_code and BB.type=A.type and BB.status='CLOSED') as repondcount, |
| | | (select CAST(DATEDIFF(ss, start_date,resp_date)/60 as INT) from TAnDon_Task_Info CC where CC.wkshp_code=A.wkshp_code and CC.type=A.type and CC.status='CLOSED') as repondtime |
| | | from TAnDon_Task_Info A |
| | | left join TOrganization T on A.wkshp_code=T.org_code |
| | | left join TAnDonType Y on A.type=Y.code |
| | | where T.description='W' "+search+" group by A.wkshp_code,T.org_name,A.type,Y.name "; |
| | | var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total); |
| | | mes.code = "200"; |
| | | mes.Message = "查询成功!"; |
| | | mes.count = total; |
| | | mes.data = data.ToList(); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.Message = e.Message; |
| | | mes.data = null; |
| | | } |
| | | return mes; |
| | | } |
| | | #endregion |
| | | |
| | | #region[安灯报表汇总导出] |
| | | public static ToMessage AnDonReportSumExcelSearch(string wkshopcode, string calltypecode, string callopendate, string callclosedate, string respondopendate, string respondclosedate) |
| | | { |
| | | var dynamicParams = new DynamicParameters(); |
| | | string search = ""; |
| | | try |
| | | { |
| | | if (wkshopcode != "" && wkshopcode != null) |
| | | { |
| | | search += "and A.wkshp_code=@style "; |
| | | dynamicParams.Add("@wkshopcode", wkshopcode); |
| | | } |
| | | if (calltypecode != "" && calltypecode != null) |
| | | { |
| | | search += "and A.type=@calltypecode "; |
| | | dynamicParams.Add("@calltypecode", calltypecode); |
| | | } |
| | | if (callopendate != "" && callopendate != null) |
| | | { |
| | | search += "and A.start_date between @callopendate and @callclosedate "; |
| | | dynamicParams.Add("@callopendate", callopendate + " 00:00:00"); |
| | | dynamicParams.Add("@callclosedate", callclosedate + " 23:59:59"); |
| | | } |
| | | if (respondopendate != "" && respondopendate != null) |
| | | { |
| | | search += "and A.resp_date between @respondopendate and @respondclosedate "; |
| | | dynamicParams.Add("@respondopendate", respondopendate + " 00:00:00"); |
| | | dynamicParams.Add("@respondclosedate", respondclosedate + " 23:59:59"); |
| | | } |
| | | |
| | | if (search == "") |
| | | { |
| | | search = "and 1=1 "; |
| | | } |
| | | search = search.Substring(3);//截取索引2后面的字符 |
| | | // --------------查询指定数据-------------- |
| | | var total = 0; //总条数 |
| | | var sql = @"select T.org_name as 生产车间,Y.name as 呼叫类型, |
| | | (select count(*) callcount from TAnDon_Task_Info AA where AA.wkshp_code=A.wkshp_code and AA.type=A.type) as 呼叫次数, |
| | | (select count(*) repondcount from TAnDon_Task_Info BB where BB.wkshp_code=A.wkshp_code and BB.type=A.type and BB.status='CLOSED') as 响应次数, |
| | | (select CAST(DATEDIFF(ss, start_date,resp_date)/60 as INT) from TAnDon_Task_Info CC where CC.wkshp_code=A.wkshp_code and CC.type=A.type and CC.status='CLOSED') as 响应时长(分) |
| | | from TAnDon_Task_Info A |
| | | left join TOrganization T on A.wkshp_code=T.org_code |
| | | left join TAnDonType Y on A.type=Y.code |
| | | where T.description='W' " + search + " group by A.wkshp_code,T.org_name,A.type,Y.name "; |
| | | DataTable data = DapperHelper.selectdata(sql, dynamicParams); |
| | | data.TableName = "Table"; //设置DataTable的名称 |
| | | string msg = DownLoad.DataTableToExcel(data, "安灯汇总报表"); |
| | | mes.code = "200"; |
| | | mes.Message = "查询成功!"; |
| | | mes.count = total; |
| | | mes.data = msg; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.Message = e.Message; |
| | | mes.data = null; |
| | | } |
| | | return mes; |
| | | } |
| | | #endregion |
| | | } |
| | | } |