public DataSet GetVisualData_Ws(string progId, string jsonString) { LibQueryCondition libQueryCondition = null; try { libQueryCondition = (LibQueryCondition)JsonConvert.DeserializeObject(jsonString, typeof(LibQueryCondition)); } catch { } WsService ws = new WsService(); ExecuteWsMethodParam_Ws param = new ExecuteWsMethodParam_Ws(); param.ProgId = progId; param.MethodName = "BrowseTo"; if (libQueryCondition != null) { param.MethodParam = new object[] { libQueryCondition }; } else { param.MethodParam = new object[] { new LibQueryCondition() }; } return(ws.GetRpt_Ws(param)); }
public HYProduceData GetProduceData(string billNo) { HYProduceData produceData = null; if (!string.IsNullOrEmpty(billNo)) { produceData = this.Get <HYProduceData>(billNo); } if (produceData == null) { object lockItem = _lockObjDic.GetOrAdd(billNo, new object()); lock (lockItem) { produceData = this.Get <HYProduceData>(billNo); if (produceData == null) { //CacheItemPolicy policy = new CacheItemPolicy(); //policy.SlidingExpiration = new TimeSpan(0, 720, 0); //720分钟内不访问自动剔除 LibBcfGrid ppWorkOrderBcf = (LibBcfGrid)LibBcfSystem.Default.GetBcfInstance("pp.TenWorkRecord"); LibQueryCondition lb = new LibQueryCondition(); lb.QueryFields.Add(new LibQueryField() { Name = "WORKORDERNO", QueryChar = LibQueryChar.Equal, Value = new List <object> { billNo } }); DataSet ds = ppWorkOrderBcf.BrowseTo(lb); //DataSet ds = ppWorkOrderBcf.BrowseTo(new object[] { billNo }); produceData = new HYProduceData(ds); this.Set(billNo, produceData, new TimeSpan(0, 720, 0)); } } } return(produceData); }
public DataSet GetData(LibQueryCondition condition) { Dictionary <string, List <LibQueryField> > powerCondition = LibPermissionControl.Default.GetQueryCondition(this.Handle, this.ProgId); if (powerCondition != null) { condition = LibQueryConditionParser.MergeQueryCondition(this.DataSet.Tables[0], condition, powerCondition); } return(InnerGetData(condition)); }
public DataSet BrowseTo(LibQueryCondition condition) { bool ret = CheckHasPermission(FuncPermissionEnum.Browse); if (ret) { GetQueryData(condition); this.AfterChangeData(this.DataSet); this.DataSet.AcceptChanges(); } return(this.DataSet); }
public DataSet Edit(LibQueryCondition condition) { bool ret = CheckHasPermission(FuncPermissionEnum.Edit); if (ret) { GetQueryData(condition); this.AfterChangeData(this.DataSet); this.DataSet.AcceptChanges(); LibBillDataCache.Default.AddBillData(this.ProgId, this.DataSet); } return(this.DataSet); }
public string ExportData(LibQueryCondition condition) { string fileName = string.Empty; bool ret = CheckHasPermission(FuncPermissionEnum.Export); if (ret) { this.GetData(condition); fileName = string.Format("{0}-{1}.xls", this.ProgId, LibDateUtils.GetCurrentDateTime()); string filePath = System.IO.Path.Combine(AxCRL.Comm.Runtime.EnvProvider.Default.RuningPath, "TempData", "ExportData", fileName); AxCRL.Core.Excel.LibExcelHelper libExcelHelper = new Core.Excel.LibExcelHelper(); libExcelHelper.ExportToExcel(filePath, this.DataSet); } return(fileName); }
private void GetQueryData(LibQueryCondition condition) { string conditionStr = string.Empty; if (condition != null && condition.QueryFields.Count != 0) { conditionStr = LibQueryConditionParser.GetQueryData(this.ProgId, condition); } //else //{ //当用户不选择查询条件的时候,使用默认的过滤条件 // conditionStr = GetFilterCondition(); //} string powerStr = LibPermissionControl.Default.GetShowCondition(this.Handle, this.ProgId, this.Handle.PersonId); if (!string.IsNullOrEmpty(powerStr)) { conditionStr = LibStringBuilder.JoinStringList(new List <string> { conditionStr, powerStr }, "and"); } if (string.IsNullOrEmpty(conditionStr)) { if (condition != null) { DataSetManager.GetDataSet(this.DataSet, this.DataAccess, this.ProgId); } } else { SqlBuilder sqlBuilder = new SqlBuilder(this.ProgId); List <string> sqlList = new List <string>(); LibDataAccess dataAccess = new LibDataAccess(); for (int i = 0; i < this.DataSet.Tables.Count; i++) { string sql = sqlBuilder.GetQuerySql(0, string.Format("{0}.*", (char)(i + (int)'A')), conditionStr); dataAccess.ExecuteDataTable(sql, this.DataSet.Tables[i]); } } }
public DataSet BrowseByPK(object[] pks) { bool ret = CheckHasPermission(FuncPermissionEnum.Browse); if (ret) { LibQueryCondition condition = new LibQueryCondition(); DataColumn[] colums = this.DataSet.Tables[0].PrimaryKey; for (int i = 0; i < colums.Length; i++) { DataColumn col = colums[i]; LibQueryField queryField = new LibQueryField(); queryField.Name = col.ColumnName; queryField.QueryChar = LibQueryChar.Equal; queryField.Value.Add(pks[i]); condition.QueryFields.Add(queryField); } GetQueryData(condition); this.AfterChangeData(this.DataSet); this.DataSet.AcceptChanges(); } return(this.DataSet); }
public string ExportData(LibQueryCondition condition) { string fileName = string.Empty; bool ret = CheckHasPermission(FuncPermissionEnum.Export); if (ret) { if (condition == null || condition.QueryFields.Count == 0) { DataSetManager.GetDataSet(this.DataSet, this.DataAccess, this.ProgId); } else { GetQueryData(condition); } this.AfterChangeData(this.DataSet); fileName = string.Format("{0}-{1}.xls", this.ProgId, LibDateUtils.GetCurrentDateTime()); string filePath = System.IO.Path.Combine(AxCRL.Comm.Runtime.EnvProvider.Default.RuningPath, "TempData", "ExportData", fileName); AxCRL.Core.Excel.LibExcelHelper libExcelHelper = new Core.Excel.LibExcelHelper(); libExcelHelper.ExportToExcel(filePath, this.DataSet); AfterExportData(); } return(fileName); }
public static Result GetReportData(string userId, string handle, string progId, QueryField[] queryField = null) { Result res = new Result(); res.ReturnValue = true; LibHandle Handle = LibHandleCache.Default.IsExistsHandle(LibHandeleType.PC, userId); Service.VerificationHandle(userId, handle, Handle, res); try { if (res.ReturnValue) { DataSet ds = new DataSet(); if (!string.IsNullOrEmpty(progId)) { if (progId.Equals("pls.LogisticsSendRpt")) { LibBcfDailyRpt bcf = (LibBcfDailyRpt)LibBcfSystem.Default.GetBcfInstance(progId); if (bcf == null) { res.ReturnValue = false; res.Message = "该报表不存在!"; } else { LibQueryCondition condition = new LibQueryCondition(); if (queryField != null) { foreach (var item in queryField) { condition.QueryFields.Add(new AxCRL.Core.Comm.LibQueryField() { Name = item.Name, QueryChar = item.QueryChar, Value = item.Value }); } } else { condition = null; } bcf.GetData(condition); ds = SetReportData(progId, bcf.DataSet); res.ReturnValue = true; res.Info = ds; } } else { LibBcfRpt bcf = (LibBcfRpt)LibBcfSystem.Default.GetBcfInstance(progId); if (bcf == null) { res.ReturnValue = false; res.Message = "该报表不存在!"; } else { LibQueryCondition condition = new LibQueryCondition(); if (queryField != null) { foreach (var item in queryField) { condition.QueryFields.Add(new AxCRL.Core.Comm.LibQueryField() { Name = item.Name, QueryChar = item.QueryChar, Value = item.Value }); } } else { condition = null; } bcf.GetData(condition); ds = SetReportData(progId, bcf.DataSet); res.ReturnValue = true; res.Info = ds; } } } else { res.ReturnValue = false; res.Message = "ProgId不存在!"; } } } catch (Exception ex) { res.ReturnValue = false; res.Message = ex.Message; } return(res); }
public virtual DataSet GetDailyData(int currentDate, LibQueryCondition condition) { return(this.DataSet); }
public void AddGatherData(string pPWorkOrderNo, string saleBillNo) { HYProduceData produceData = LibHYProduceCache.Default.GetProduceData(pPWorkOrderNo); if (produceData != null) { LibBcfGrid ppWorkOrderBcf = (LibBcfGrid)LibBcfSystem.Default.GetBcfInstance("pp.TenWorkRecord"); LibQueryCondition lb = new LibQueryCondition(); lb.QueryFields.Add(new AxCRL.Core.Comm.LibQueryField() { Name = "WORKORDERNO", QueryChar = LibQueryChar.Equal, Value = new List <object> { pPWorkOrderNo } }); lb.QueryFields.Add(new AxCRL.Core.Comm.LibQueryField() { Name = "FROMSALEBILLNO", QueryChar = LibQueryChar.Equal, Value = new List <object> { saleBillNo } }); DataSet ds = ppWorkOrderBcf.BrowseTo(lb); if (ds.Tables.Count > 0) { produceData.TenWorkRecord.EnforceConstraints = false; try { DataTable dt = produceData.TenWorkRecord.Tables[0]; dt.BeginLoadData(); try { foreach (DataRow dr in ds.Tables[0].Rows) { DataRow row = dt.NewRow(); row.BeginEdit(); try { foreach (DataColumn column in ds.Tables[0].Columns) { row[column.ColumnName] = dr[column.ColumnName]; } } finally { row.EndEdit(); } dt.Rows.Add(row); } } finally { dt.EndLoadData(); } } finally { produceData.TenWorkRecord.EnforceConstraints = true; } } } }
private LibPermissionGroup GetPermissionGroupData(string groupId) { LibPermissionGroup groupData = null; string sql = string.Format("select PARENTGROUPID from AXPPERMISSIONGROUP where PERMISSIONGROUPID={0} and ISVALIDITY=1", LibStringBuilder.GetQuotString(groupId)); LibDataAccess dataAccess = new LibDataAccess(); string parentGroupId = LibSysUtils.ToString(dataAccess.ExecuteScalar(sql, false)); if (!string.IsNullOrEmpty(parentGroupId)) { groupData = GetPermissionGroupData(parentGroupId); } if (groupData == null) { groupData = new LibPermissionGroup(); } sql = string.Format("select PROGID,SHOWCONDITION,OPERATEMARK from AXPPERMISSIONGROUPDETAIL where PERMISSIONGROUPID={0}", LibStringBuilder.GetQuotString(groupId)); using (IDataReader reader = dataAccess.ExecuteDataReader(sql, false)) { while (reader.Read()) { string progId = LibSysUtils.ToString(reader["PROGID"]); LibPermission permission = new LibPermission(); string showCondition = LibSysUtils.ToString(reader["SHOWCONDITION"]); if (!string.IsNullOrEmpty(showCondition)) { LibQueryCondition condition = JsonConvert.DeserializeObject(showCondition, typeof(LibQueryCondition)) as LibQueryCondition; permission.ShowCondition = LibQueryConditionParser.GetQueryData(progId, condition); if (!string.IsNullOrEmpty(permission.ShowCondition.Trim())) { foreach (var queryField in condition.QueryFields) { if (!permission.QueryFieldDic.ContainsKey(queryField.Name)) { permission.QueryFieldDic.Add(queryField.Name, new List <LibQueryField>() { queryField }); } } permission.ShowCondition = string.Format("({0})", permission.ShowCondition); } } permission.OperateMark = LibSysUtils.ToInt32(reader["OPERATEMARK"]); if (groupData.PermissionDic.ContainsKey(progId)) //对于继承关系的,直接用子覆盖父的权限 { groupData.PermissionDic[progId] = permission; } else { groupData.PermissionDic.Add(progId, permission); } } } sql = string.Format("select B.PROGID,A.TABLEINDEX,A.FIELDNAME,A.FIELDPOWER,A.USECONDITION from AXPFIELDPOWER A inner join AXPPERMISSIONGROUPDETAIL B on B.ROW_ID=A.PARENTROWID where A.PERMISSIONGROUPID={0}", LibStringBuilder.GetQuotString(groupId)); using (IDataReader reader = dataAccess.ExecuteDataReader(sql, false)) { while (reader.Read()) { string progId = LibSysUtils.ToString(reader["PROGID"]); if (groupData.PermissionDic.ContainsKey(progId)) { int tableIndex = LibSysUtils.ToInt32(reader["TABLEINDEX"]); string fieldName = LibSysUtils.ToString(reader["FIELDNAME"]); if (!groupData.PermissionDic[progId].FieldPowerDic.ContainsKey(tableIndex)) { groupData.PermissionDic[progId].FieldPowerDic.Add(tableIndex, new Dictionary <string, FieldPower>()); } Dictionary <string, FieldPower> dic = groupData.PermissionDic[progId].FieldPowerDic[tableIndex]; if (!dic.ContainsKey(fieldName)) { string useCondition = LibSysUtils.ToString(reader["USECONDITION"]); if (!string.IsNullOrEmpty(useCondition)) { useCondition = string.Format("({0})", useCondition); } dic.Add(fieldName, new FieldPower() { Condition = useCondition, PowerOption = (FieldPowerOption)LibSysUtils.ToInt32(reader["FIELDPOWER"]) }); } } } } sql = string.Format("select B.PROGID,A.BUTTONID from AXPBUTTONPOWER A inner join AXPPERMISSIONGROUPDETAIL B on B.ROW_ID=A.PARENTROWID where A.PERMISSIONGROUPID={0} and A.CANUSE=0", LibStringBuilder.GetQuotString(groupId)); using (IDataReader reader = dataAccess.ExecuteDataReader(sql, false)) { while (reader.Read()) { string progId = LibSysUtils.ToString(reader["PROGID"]); if (groupData.PermissionDic.ContainsKey(progId)) { string buttonId = LibSysUtils.ToString(reader["BUTTONID"]); if (!groupData.PermissionDic[progId].NoUseButton.Contains(buttonId)) { groupData.PermissionDic[progId].NoUseButton.Add(buttonId); } } } } return(groupData); }
protected virtual DataSet InnerGetData(LibQueryCondition condition) { return(this.DataSet); }
private static bool ParseCore(string condition, DataRow masterRow, DataRow bodyRow, Dictionary <string, object> masterDic, Dictionary <string, object> bodyDic) { bool result = false; try { //先使用QueryFields尝试 if ((masterDic == null || masterDic.Count == 0) && masterRow != null) { masterDic = new Dictionary <string, object>(); if (masterRow.Table != null) { foreach (DataColumn column in masterRow.Table.Columns) { masterDic.Add(column.ColumnName, masterRow[column.ColumnName]); } } } if (masterDic != null && masterDic.Count > 0) { LibQueryCondition queryCondition = JsonUtiler.Deserialize <LibQueryCondition>(condition); if (queryCondition != null) { if (queryCondition.AccordOfThis(masterDic)) { return(true); } } } } catch (Exception) { //to do log } Memory memory = new Memory(); //匹配类似表达式"[A.QTY]>=10 && ([A.MaterialId]=='13212321' || ([A.RANGEID]=='AAA' && [A.SSID]=='9999')) && (([A.DD]=='xxx' || [A.DD]=='xxx1' || [A.DD]=='xxx2') || [A.ZZ]>=0)"; string pattern = @"[[][A-Z]\.\w+[]]"; MatchCollection matchList = Regex.Matches(condition, pattern); HashSet <string> temp = new HashSet <string>(); foreach (var item in matchList) { string field = item.ToString(); if (temp.Contains(field)) { continue; } temp.Add(field); string copyField = field; field = field.Remove(0, 1); field = field.Remove(field.Length - 1, 1); int tableIndex = (int)field[0] - (int)'A'; string fieldName = field.Substring(2, field.Length - 2); object value = tableIndex == 0 ? (masterRow == null ? masterDic[fieldName] : masterRow[fieldName]) : (bodyRow == null ? bodyDic[fieldName] : bodyRow[fieldName]); memory.AddObject(fieldName, value); condition = condition.Replace(copyField, fieldName); } Script.Execute("if(" + condition + "){ret=true;}else{ret=false;}", memory); result = LibSysUtils.ToBoolean(memory["ret"].value); return(result); }