/// <summary> /// 根据单据类别和部门生成编号 /// </summary> /// <param name="billType">单据类型</param> /// <param name="deptCode">部门</param> /// <returns></returns> static public string GetBillSn(string billType,string deptCode) { if(""==billType || ""==deptCode) return ""; NameObjectList paramList=new NameObjectList(); QueryDataRes query = QueryDataRes.CreateQuerySys(); paramList.Add("单据类型",billType); paramList.Add("部门",deptCode); //没有就创建一个 DataTable tab = query.getTable("单据流水号", paramList); if (tab.Rows.Count < 1 || null==tab.Rows[0]["流水号"]) return ""; return tab.Rows[0]["流水号"].ToString(); }
private static NameObjectList SetMasterData(UnitItem unititem,XmlDocument xmlsys,QueryDataRes query,XmlNodeList xmlNodes, string userid, NameObjectList paramlist) { for (int m = 0; m < unititem.WorkItemList.Length; m++) { if (unititem.WorkItemList[m].ItemType != WorkItemType.MasterData) continue; string dataname = unititem.WorkItemList[m].DataSrc; DataTable MData = query.getTable(dataname, paramlist, getStrParams(xmlsys, unititem.WorkItemList[m])); for (int n = 0; n < MData.Columns.Count; n++) { string strM = MData.Columns[n].ColumnName; paramlist.Add(strM, MData.Rows[0][strM].ToString()); } for (int i = 0; i < xmlNodes.Count; i++) { for (int j = 0; j < MData.Columns.Count; j++) { string strM = MData.Columns[j].ColumnName; if (xmlNodes[i].InnerText==dataname + "." + strM) { if (MData.Rows[0][strM] == null) continue; xmlNodes[i].ChildNodes[0].InnerText = MData.Rows[0][strM].ToString(); ; } } } } return paramlist; }
/// <summary> /// 执行从xml格式的Excel文件导入数据操作 /// 文件上报设计说明: /// 模板文件管理 /// 内容包括: /// 上报主题: 上报主题是指上报的文件存在数据库后,通过操作上报主题的名子 /// ,即子项名,打开上报后的数据浏览界面; /// 上报文件模板:上报的文件是基于模板进行解析的,模板固定存放于一个指定 /// 的文件夹中; /// 上报模板数据库名称:模板文件中有数据库的名称,不需要另外设置。 /// 上报主题的目的是为了给远程上报者一个直观的报表标题,不能使用抽象的数据库名称, /// 上报主题与上报模板一一对应; /// /// 上报文件:上报文件是指按上报即定的格式上报的文件,通过上报报表登记界面进行上报,上报后存于指定的服务器文件夹中; /// 有关的上报时间等参数用于存放在数据库中对应的字段。 /// 上报文件存放于"/DataSource/水利局/upload/"中, /// </summary> /// <param name="cmdCur">当前的命令项目</param> private void exeXmlToDB(CommandItem cmdCur) { //获取模板文件和当前上报文件 QueryDataRes query = this.PgSysQuery; NameObjectList paramList = new NameObjectList(); //step 1 得到报表主题: 读表[报表上传登记],得到报表主题和报表模板文件fileNameTp = 模板文件名,根据约定的文档存贮路径,得到数据文件。 paramList.Add("主题名称", cmdCur.Topic); DataTable tab = query.getTable("报表文件配置", paramList); if (null == tab || tab.Rows.Count < 1) return; string fileNameTp = tab.Rows[0]["上报模板"].ToString(); NameObjectList paramListUp = BuildParamList.BuildParams(this.PgParamXmlDoc); paramListUp.Add("主题名称", cmdCur.Topic); DataTable tabUpLoad = query.getTable("上报报表文件", paramListUp); if (null == tabUpLoad || tabUpLoad.Rows.Count < 1 || null == tabUpLoad.Rows[0]["文件"]) return; string fileNameUp = tabUpLoad.Rows[0]["文件"].ToString(); fileNameTp = this.Server.MapPath(DataAccRes.AppSettings("TpFilePath") + fileNameTp); fileNameUp = this.Server.MapPath(DataAccRes.AppSettings("DocFilePath") + fileNameUp); bool brtn = this.PgQuery.ExecuteInsert(cmdCur.DataSrc, csExcel2DB.CreateParamsList(fileNameTp, fileNameUp)); if (true == brtn) leofun.Alert("您已成功执行了 [" + cmdCur.ItemName + "] 操作! ", this); else leofun.Alert("操作失败! 请检查", this); return; }
/// <summary> /// 定时执行业务 /// </summary> /// <param name="obj"></param> void executeTimer(object obj) { DateTime dt = DateTime.Today.AddDays(-1); NameObjectList ps = new NameObjectList(); ps.Add("开始日期", dt); ps.Add("结束日期", dt); QueryDataRes query = new QueryDataRes("基础类"); DataTable tab = query.getTable("考勤人员列表", null); if (null == tab || tab.Rows.Count < 1) { isTmRunning = false; return; } NameValueCollection data = new NameValueCollection(); data["服务"] = "考勤作业"; DataColumnCollection cols = tab.Columns; foreach (DataRow dr in tab.Rows) { foreach (DataColumn c in cols) ps[c.ColumnName] = Convert.ToString(dr[c]); try { bool b = query.ExecuteNonQuery("考勤人员列表", ps, ps, ps); if (b) continue; } catch (Exception ex) { foreach (string key in ps.AllKeys) data.Add(key, Convert.ToString(ps[key])); LogMessage(ex, data, EventLogEntryType.Error); continue; } foreach (string key in ps.AllKeys) data.Add(key, Convert.ToString(ps[key])); LogMessage("考勤作业失败!", data, EventLogEntryType.Warning); } isTmRunning = false; }
/// <summary> /// 获取系统参数,每获取一次都创建一个新的参数列表 /// </summary> /// <returns>系统参数列表</returns> public static NameObjectList getSystemParam() { NameObjectList ps = new NameObjectList(); IPHostEntry IpEntry = Dns.GetHostEntry(Dns.GetHostName()); ps.Add("StartDate", DateTime.Today.AddMonths(-1)); ps.Add("EndDate", DateTime.Today); ps.Add("LocalIP", IpEntry.AddressList.Length < 1 ? "127.0.0.1" : IpEntry.AddressList[0].ToString()); ps.Add("Localhost", Dns.GetHostName()); User user = BindManager.user; if (null == user) return ps; ps.Add("UserAccounts", user.UserAccounts); ps.Add("UserName", user.UserName); ps.Add("OPTUnitID", user.OPTUnitID); ps.Add("UnitCode", user.UnitCode); ps.Add("DWName", user.UnitName); ps.Add("DWSupName", user.UnitSup); ps.Add("DeptSaleName", user.DeptSaleName); ps.Add("DeptSupName", user.DeptSup); ps.Add("DeptName", user.DeptmentName); ps.Add("DeptCode", user.DeptmentCode); ps.Add("LimitDays", user.LimitDays); return ps; }