| | |
| | | [ApiGroup(ApiGroupNames.Report)] |
| | | public class ReportController : IRomteService |
| | | { |
| | | private readonly string _customTag = "客户模板"; |
| | | private readonly IHttpContextAccessor _http; |
| | | private readonly string _userCode, _userGuid, _orgFids; |
| | | |
| | | private readonly string _customTag = "客户模板"; |
| | | public ReportController(IHttpContextAccessor httpContextAccessor) |
| | | { |
| | | _http = httpContextAccessor; |
| | |
| | | var rptParameter = _ary[0]; |
| | | return rptParameter; |
| | | } |
| | | |
| | | return str; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据报表参数读取报表参数 |
| | | /// 根据报表参数读取报表参数 |
| | | /// </summary> |
| | | /// <param name=""></param> |
| | | /// <returns></returns> |
| | | public static (string?, string?, string?, string?, string?, string?) |
| | | _rptGetParameterP(string str) |
| | | public static (string?, string?, string?, string?, string?, string?) _rptGetParameterP(string str) |
| | | { |
| | | string s0 = "", s1 = "", s2 = "", s3 = "", s4 = "", s5 = ""; |
| | | var _ary = str.Split('{'); |
| | | if (_ary.Length > 0) |
| | | { |
| | | var rptParameter = _ary[1].Replace("}", ""); |
| | | var _pAry = rptParameter.Split(','); |
| | | string[] _pAry = rptParameter.Split(','); |
| | | if (_pAry.Length > 0) |
| | | s0 = _pAry[0]; |
| | | if (_pAry.Length > 1) |
| | |
| | | if (_pAry.Length > 5) |
| | | s5 = _pAry[5]; |
| | | } |
| | | |
| | | return (s0, s1, s2, s3, s4, s5); |
| | | } |
| | | |
| | |
| | | string guid = model.guid; |
| | | int isDesign = model.isDesign; |
| | | string _rptParameter = model.rptParameter; |
| | | var rptParameterName = _rptGetParameterName(_rptParameter); |
| | | string rptParameterName = _rptGetParameterName(_rptParameter); |
| | | string p1, p2, p3, p4, p5, p6; |
| | | (p1, p2, p3, p4, p5, p6) = _rptGetParameterP(_rptParameter); |
| | | dynamic m = new ExpandoObject(); |
| | |
| | | m.reportTemplateData = buffer; |
| | | _blDate = true; |
| | | } |
| | | |
| | | reader.Close(); |
| | | } |
| | | |
| | | if (!_blDate) |
| | | if (_blDate == false) |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, |
| | | "读取失败,没有初始化模板!"); |
| | | //如果是设计模式,退出 |
| | | if (isDesign == 1) |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, |
| | | "读取成功!"); |
| | | { |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "读取成功!"); |
| | | } |
| | | //读需要打印的数据,用来填充模板 |
| | | if (_rptParameter.StartsWith(_customTag)) |
| | | rptParameterName = "rpt_hgm"; |
| | |
| | | comm.CommandType = CommandType.StoredProcedure; |
| | | SqlParameter[] parameters = |
| | | { |
| | | new("@inEdtUserGuid", _userGuid), |
| | | new("@inOrderGuid", guid), |
| | | new("@isDesign", isDesign), |
| | | new("@in1", p1), |
| | | new("@in2", p2), |
| | | new("@in3", |
| | | string.IsNullOrEmpty(p3) ? DBNull.Value : p3), |
| | | new("@in4", p4), |
| | | new("@in5", p5), |
| | | new("@in6", p6) |
| | | new("@inEdtUserGuid", _userGuid), |
| | | new("@inOrderGuid",guid), |
| | | new("@isDesign",isDesign), |
| | | new("@in1", p1), |
| | | new("@in2", p2), |
| | | new("@in3", string.IsNullOrEmpty(p3)?DBNull.Value:p3), |
| | | new("@in4", p4), |
| | | new("@in5", p5), |
| | | new("@in6", p6) |
| | | }; |
| | | foreach (var parameter in parameters) |
| | | comm.Parameters.Add(parameter); |
| | |
| | | dt.Fill(dset, "0"); |
| | | } |
| | | } |
| | | |
| | | conn.Close(); |
| | | } |
| | | |
| | | //0是状态,1是主表,2是明细表,3是明细表 |
| | | if (dset.Tables[0].Rows[0]["msgState"].ToString() == "-1") |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, |
| | | dset.Tables[0].Rows[0]["msgTxt"].ToString()); |
| | | { |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, dset.Tables[0].Rows[0]["msgTxt"].ToString()); |
| | | } |
| | | var _zb1 = dset.Tables[1].TableToDynamicList(); |
| | | var _mx1 = dset.Tables[2].TableToDynamicList(); |
| | | var _mx2 = dset.Tables[3].TableToDynamicList(); |
| | | m.zb = _zb1; |
| | | m.mx1 = _mx1; |
| | | m.mx2 = _mx2; |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, |
| | | "读取成功!"); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "读取成功!"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | |
| | | |
| | | #region MyRegion |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | |
| | | { |
| | | string keyType = model.keyType; |
| | | |
| | | var lst = new List<dynamic>(); |
| | | var sbSql = new StringBuilder(); |
| | | List<dynamic> lst = new List<dynamic>(); |
| | | System.Text.StringBuilder sbSql = new StringBuilder(); |
| | | if (keyType == "客户模板") |
| | | { |
| | | sbSql.Append( |
| | | "select [GUID],[REPORT_TYPE],[REPORT_NAME] from [dbo].[SYS_REPORT_TEMPLATE] where REPORT_TYPE like '" + |
| | | _customTag + "%' "); |
| | | sbSql.Append( |
| | | " union all select [GUID],[REPORT_TYPE],[REPORT_NAME] from [dbo].[SYS_REPORT_TEMPLATE] where REPORT_TYPE='rpt_hgm' order by REPORT_TYPE asc"); |
| | | sbSql.Append("select [GUID],[REPORT_TYPE],[REPORT_NAME] from [dbo].[SYS_REPORT_TEMPLATE] where REPORT_TYPE like '" + _customTag + "%' "); |
| | | sbSql.Append(" union all select [GUID],[REPORT_TYPE],[REPORT_NAME] from [dbo].[SYS_REPORT_TEMPLATE] where REPORT_TYPE='rpt_hgm' order by REPORT_TYPE asc"); |
| | | } |
| | | else |
| | | { |
| | | sbSql.Append( |
| | | "select [GUID],[REPORT_TYPE],[REPORT_NAME] from [dbo].[SYS_REPORT_TEMPLATE] order by [REPORT_TYPE] desc"); |
| | | } |
| | | |
| | | sbSql.Append("select [GUID],[REPORT_TYPE],[REPORT_NAME] from [dbo].[SYS_REPORT_TEMPLATE] order by [REPORT_TYPE] desc"); |
| | | var dset = new DataSet(); |
| | | try |
| | | { |
| | |
| | | return ReturnDto<List<dynamic>>.QuickReturn(lst, |
| | | ReturnCode.Exception, "读取失败!"); |
| | | } |
| | | |
| | | return ReturnDto<List<dynamic>>.QuickReturn(lst, ReturnCode.Success, |
| | | "读取成功!"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加入 |
| | | /// 加入 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | |
| | | public ReturnDto<int?> AddModel([FromBody] dynamic model) |
| | | { |
| | | string reportName = model.reportName; |
| | | var reportType = _customTag + DateTime.Now.ToString("MMddHHmmff"); |
| | | var rtnInt = (int)ReturnCode.Default; |
| | | string reportType = _customTag + DateTime.Now.ToString("MMddHHmmff"); |
| | | int rtnInt = (int)ReturnCode.Default; |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | using (var cmd = new SqlCommand("[prc_report_edt]", conn)) |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (rtnInt > 0) |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, |
| | | "操作成功!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, |
| | | "操作失败,请重试!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, "操作成功!"); |
| | | else |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "操作失败,请重试!"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 移出 |
| | | /// 移出 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | |
| | | public ReturnDto<int?> DeleteModel([FromBody] dynamic model) |
| | | { |
| | | string guid = model.guid; |
| | | var rtnInt = (int)ReturnCode.Default; |
| | | int rtnInt = (int)ReturnCode.Default; |
| | | if (guid.ToUpper() == "AF1105F3-1CFA-4E48-BE07-6EC3A184918C".ToUpper()) |
| | | return ReturnDto<int>.QuickReturn(default(int?), |
| | | ReturnCode.Exception, "操作失败,默认模版,不能删除!"); |
| | | { |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "操作失败,默认模版,不能删除!"); |
| | | } |
| | | try |
| | | { |
| | | var strSql = new StringBuilder(); |
| | | StringBuilder strSql = new StringBuilder(); |
| | | strSql.Append(" delete from SYS_REPORT_TEMPLATE "); |
| | | strSql.Append(" where guid='" + guid + "'"); |
| | | rtnInt = DbHelperSQL.ExecuteSql(strSql.ToString()); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "DeleteModel error:" + ex.Message); |
| | | LogHelper.Debug(this.ToString(), "DeleteModel error:" + ex.Message); |
| | | rtnInt = (int)ReturnCode.Exception; |
| | | return ReturnDto<int>.QuickReturn(default(int?), |
| | | ReturnCode.Exception, "操作失败," + ex.Message); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "操作失败," + ex.Message); |
| | | } |
| | | |
| | | if (rtnInt > 0) |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, |
| | | "操作成功!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, |
| | | "操作失败,请重试!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, "操作成功!"); |
| | | else |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "操作失败,请重试!"); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | } |