| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using CoreFS.CA06;
- using System.Windows.Forms;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win;
- using System.Text.RegularExpressions;
- namespace Core.Mes.Client.Comm.Server
- {
- /// <summary>
- /// 基础数据查询
- /// </summary>
- public class ClsBaseInfo
- {
- /// <summary>
- /// 设置UltraComboEditor中的中文和非中文统一高度。
- /// </summary>
- /// <param name="cmb"></param>
- public static void SetComboItemHeight(UltraComboEditor cmb)
- {
- cmb.Update();
- foreach (ValueListItem item in cmb.Items)
- {
- if (Regex.IsMatch(item.DisplayText.ToString2(), @"[\u4e00-\u9fa5]+"))
- {
- item.Appearance.FontData.SizeInPoints = 9.0F;
- }
- else
- {
- item.Appearance.FontData.SizeInPoints = 10.5F;
- }
- }
- }
- /// <summary>
- /// 获取指定分类的公用基础信息
- /// </summary>
- /// <param name="sortCode">快速索引码</param>
- /// <param name="ob">界面OB对象</param>
- /// <returns>查询数据集</returns>
- public static DataTable GetComBaseInfo(string sortCode, OpeBase ob)
- {
- return ServerHelper.GetData("com.steering.comm.db.ClsBaseInfo.getComBaseInfo", new object[] { sortCode }, ob);
- }
- /// <summary>
- /// 查询管理部门基础信息
- /// </summary>
- /// <param name="ob">界面OB对象</param>
- /// <returns>查询数据集</returns>
- public static DataTable GetDepartmentInfo(OpeBase ob)
- {
- string sortCode = "90";
- return GetComBaseInfo(sortCode, ob);
- }
- /// <summary>
- /// 加载基础数据到下拉框中
- /// </summary>
- /// <param name="cmb"></param>
- /// <param name="sortCode"></param>
- /// <param name="ob"></param>
- /// <param name="hasBlankLine"></param>
- /// <returns></returns>
- public static bool FillComBaseInfo(UltraComboEditor cmb, string sortCode, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = GetComBaseInfo(sortCode, ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "BASENAME";
- cmb.ValueMember = "BASECODE";
- SetComboItemHeight(cmb);
- return true;
- }
- /// <summary>
- /// 加载基础数据到下拉框中
- /// </summary>
- /// <param name="cmb"></param>
- /// <param name="sortCode"></param>
- /// <param name="ob"></param>
- /// <param name="hasBlankLine"></param>
- /// <returns></returns>
- public static bool FillComBaseInfo(ComboBox cmb, string sortCode, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = GetComBaseInfo(sortCode, ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "BASENAME";
- cmb.ValueMember = "BASECODE";
- return true;
- }
- /// <summary>
- /// 拼音助记码控件填充管理部门基础信息
- /// </summary>
- /// <param name="df">需填充的拼音助记码控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>查询数据集</returns>
- public static bool FillDepartmentInfo(Control.DataFilterControl df, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = GetDepartmentInfo(ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- df.DataSource = dt;
- df.DisplayMember = "BASENAME";
- df.ValueMember = "BASECODE";
- df.FilterMember = "MNEMONIC_CODE";
- return true;
- }
- /// <summary>
- /// 加载品种名称
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillProduc_StyleInfo(UltraComboEditor cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = GetComBaseInfo("4050", ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "BASENAME";
- cmb.ValueMember = "BASECODE";
- SetComboItemHeight(cmb);
- return true;
- }
- /// <summary>
- /// 加载品种名称
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillProduc_StyleInfo(ComboBox cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = GetComBaseInfo("4050", ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "BASENAME";
- cmb.ValueMember = "BASECODE";
- return true;
- }
- /// <summary>
- /// 加载标准类型
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillStdType(UltraComboEditor cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = new DataTable();
- DataColumn[] dc = new DataColumn[]{new DataColumn("NAME"), new DataColumn("CODE")};
- dt.Columns.AddRange(dc);
- dt.Rows.Add(new object[] { "订货标准", "G" });
- dt.Rows.Add(new object[] {"协议标准", "X"});
- dt.Rows.Add(new object[] {"Alpha", "K"});
- dt.Rows.Add(new object[] {"内控", "N"});
- dt.Rows.Add(new object[]{"试验标准", "S"});
- dt.Rows.Add(new object[]{"成分偏差标准", "P"});
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "NAME";
- cmb.ValueMember = "CODE";
- SetComboItemHeight(cmb);
- return true;
- }
- /// <summary>
- /// 加载冶金规范项目
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillMscItem(ComboBox cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = GetComBaseInfo("4030", ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "BASENAME";
- cmb.ValueMember = "BASECODE";
- return true;
- }
- /// <summary>
- /// 加载冶金规范项目
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillMscItem(UltraComboEditor cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = GetComBaseInfo("4030", ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "BASENAME";
- cmb.ValueMember = "BASECODE";
- SetComboItemHeight(cmb);
- return true;
- }
- /// <summary>
- /// 加载管理部门
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillDepartment(UltraComboEditor cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getDepartment",
- new object[]{}, ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "DEPARTNAME";
- cmb.ValueMember = "DEPARTID";
- SetComboItemHeight(cmb);
- return true;
- }
- /// <summary>
- /// 加载管理部门
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillDepartment(ComboBox cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getDepartment",
- new object[]{}, ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "DEPARTNAME";
- cmb.ValueMember = "DEPARTID";
- return true;
- }
- /// <summary>
- /// 通过管理部门ID加载科室
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillSectionByDepartId(string departmentId, ComboBox cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection",
- new object[]{}, ob);
- dt.DefaultView.RowFilter = "PID = '"+ departmentId +"'";
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "DEPARTNAME";
- cmb.ValueMember = "DEPARTID";
- return true;
- }
- /// <summary>
- /// 通过管理部门ID加载科室
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillSectionByDepartId(string departmentId, UltraComboEditor cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection",
- new object[]{}, ob);
- dt.DefaultView.RowFilter = "PID = '"+ departmentId +"'";
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "DEPARTNAME";
- cmb.ValueMember = "DEPARTID";
- SetComboItemHeight(cmb);
- return true;
- }
- /// <summary>
- /// 加载所有管理科室
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillSection(UltraComboEditor cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection",
- new object[]{}, ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "DEPARTNAME";
- cmb.ValueMember = "DEPARTID";
- SetComboItemHeight(cmb);
- return true;
- }
- /// <summary>
- /// 加载所有管理科室
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillSection(ComboBox cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection",
- new object[]{}, ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "DEPARTNAME";
- cmb.ValueMember = "DEPARTID";
- return true;
- }
- /// <summary>
- /// 加载水压公式
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillWtrExpress(ComboBox cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = GetComBaseInfo("4053", ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
- cmb.DataSource = dt;
- cmb.DisplayMember = "BASENAME";
- cmb.ValueMember = "BASECODE";
- return true;
- }
- /// <summary>
- /// 加载水压公式
- /// </summary>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- /// <param name="hasBlankLine">是否包含空行</param>
- /// <returns>是否加载成功</returns>
- public static bool FillWtrExpress(UltraComboEditor cmb, OpeBase ob, bool hasBlankLine)
- {
- DataTable dt = GetComBaseInfo("4053", ob);
- if (hasBlankLine && dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.NewRow();
- dt.Rows.InsertAt(dr, 0);
- }
-
- cmb.DataSource = dt;
- cmb.DisplayMember = "BASENAME";
- cmb.ValueMember = "BASECODE";
- return true;
- }
- /// <summary>
- /// 通过科室查找对应的部门
- /// </summary>
- /// <param name="sectionName">科室ID</param>
- /// <param name="ob"></param>
- /// <returns>部门名称</returns>
- public static string GetDepartBySectionId(string sectionId, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getDeptBySection", new object[]{sectionId}, ob);
- if (dt.Rows.Count > 0)
- {
- return dt.Rows[0]["DEPARTNAME"].ToString();
- }
- else
- {
- return "";
- }
- }
- /// <summary>
- /// 通过科室查找对应的部门 将国内贸易部国外贸易部改成销售总公司
- /// </summary>
- /// <param name="sectionName">科室ID</param>
- /// <param name="ob"></param>
- /// <returns>部门名称</returns>
- public static string GetDepartBySectionIdChangeSale(string sectionId, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getDeptBySection", new object[] { sectionId }, ob);
- if (dt.Rows.Count > 0)
- {
- if (sectionId.StartsWith("002001042001") || sectionId.StartsWith("002001042002") || sectionId.StartsWith("002001042003"))
- {
- return "销售总公司" ;
- }
- else
- {
- return dt.Rows[0]["DEPARTNAME"].ToString();
- }
- }
- else
- {
- return "";
- }
- }
- /// <summary>
- /// 通过科室查找对应的部门
- /// </summary>
- /// <param name="sectionName">科室ID</param>
- /// <param name="ob"></param>
- /// <returns>部门ID</returns>
- public static string GetDepartIdBySectionId(string sectionId, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getDeptBySection", new object[]{sectionId}, ob);
- if (dt.Rows.Count > 0)
- {
- return dt.Rows[0]["DEPARTID"].ToString();
- }
- else
- {
- return "";
- }
- }
- public static List<String> GetListByValid(string[] arr)
- {
- List<string> list = new List<string>();
- foreach (String DeptID in arr)
- {
- if (DeptID.StartsWith("002001042001"))
- {
- if (!list.Contains("100101"))
- list.Add("100101");
- }
- if (DeptID.StartsWith("002001042002"))
- {
- if (!list.Contains("100102"))
- list.Add("100102");
- }
- if (DeptID.StartsWith("002023"))
- {
- if (!list.Contains("100101"))
- list.Add("100101");
- if (!list.Contains("100105"))
- list.Add("100105");
- }
- }
- return list;
- }
- public static string[] GetArrByValid(string[] arr)
- {
- string[] list = new string[4];
- int index = 0;
- foreach (String DeptID in arr)
- {
- if (DeptID.StartsWith("002001042001"))
- {
- if (!list.Contains("100101"))
- {
- list[index] = "100101";
- index++;
- }
- }
- if (DeptID.StartsWith("002001042002"))
- {
- if (!list.Contains("100102"))
- {
- list[index] = "100102";
- index++;
- }
- }
- if (DeptID.StartsWith("002023"))
- {
- if (!list.Contains("100105"))
- list[index] = "100105";
- index++;
- }
- }
- return list;
- }
- public static ValueList GetSaleOrgByValid(string[] arr)
- {
- List<string> list = GetListByValid(arr);
- ValueListItem[] items = new ValueListItem[list.Count];
- ValueList valueList = new ValueList();
- int index = 0;
- foreach (string saleorg in list)
- {
- ValueListItem listItem = new ValueListItem();
- if (saleorg.Equals("100101"))
- listItem = new ValueListItem("100101", "国内贸易部");
- else if (saleorg.Equals("100102"))
- listItem = new ValueListItem("100102", "国际贸易部");
- else if (saleorg.Equals("100105"))
- listItem = new ValueListItem("100105", "天淮公司");
- items[index] = listItem;
- index++;
- }
- if (list.Count <= 0)
- {
- ValueListItem listItem = new ValueListItem();
- listItem = new ValueListItem("NONE", "");
- items[1] = listItem;
- }
- valueList.ValueListItems.AddRange(items);
- return valueList;
- }
- public static string GetSaleOrg(string DeptID)
- {
- if (DeptID.IndexOf("002001042001") >= 0)
- {
- return "100101";
- }
- if (DeptID.IndexOf("002001042002") >= 0)
- {
- return "100102";
- }
- if (DeptID.IndexOf("002023") >= 0)
- {
- return "100105";
- }
- return "NONE";
- }
- /// <summary>
- /// 根据部门表的主键获取描述
- /// </summary>
- /// <param name="departId"></param>
- /// <param name="ob"></param>
- /// <returns></returns>
- public static string GetDepartmentDescByDepartid(string departId, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getDepartDescByDepartId",
- new object[]{departId}, ob);
- if (dt.Rows.Count > 0)
- {
- return dt.Rows[0][0].ToString();
- }
- return "";
- }
- /// <summary>
- /// 通过用户ID获取科室
- /// </summary>
- /// <param name="userId"></param>
- /// <param name="ob"></param>
- /// <returns></returns>
- public static string[] GetUnitByUser(string userId, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getUnitByUser",
- new object[] { userId }, ob);
- if (dt.Rows.Count > 0)
- {
- return new string[] { dt.Rows[0]["DEPTID"].ToString(), dt.Rows[0]["DEPARTNAME"].ToString() };
- }
- return new string[] { "", "" };
- }
- /// <summary>
- /// 通过用户名称获取科室
- /// </summary>
- /// <param name="userId"></param>
- /// <param name="ob"></param>
- /// <returns></returns>
- public static string[] GetUnitByUserName(string userName, OpeBase ob, params string[] department)
- {
- DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getUnitByUserName",
- new object[] { userName, department }, ob);
- if (dt.Rows.Count > 0)
- {
- return new string[] { dt.Rows[0]["DEPTID"].ToString(), dt.Rows[0]["DEPARTNAME"].ToString() };
- }
- if (userName == "admin")
- {
- return new string[] { "admin", "admin" };
- }
- return new string[]{"", ""};
- }
- }
- }
|