BaseMethod.cs 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Infragistics.Win.UltraWinGrid;
  6. using System.Drawing;
  7. using CoreFS.CA06;
  8. using Infragistics.Win.UltraWinEditors;
  9. using System.Data;
  10. using System.Windows.Forms;
  11. using Core.Mes.Client.Comm.Server;
  12. using Infragistics.Win.UltraWinMaskedEdit;
  13. using System.Collections;
  14. using Infragistics.Win;
  15. using System.Text.RegularExpressions;
  16. namespace Core.StlMes.Client.YdmStuffManage
  17. {
  18. public class BaseMethod
  19. {
  20. /// <summary>
  21. /// 初始化下拉框
  22. /// </summary>
  23. /// <param name="uce">下拉框</param>
  24. /// <param name="methodId">请求的服务</param>
  25. /// <param name="valueMember">值成员</param>
  26. /// <param name="ob">ob对象</param>
  27. /// <param name="isEmpty">是否有空行</param>
  28. public static void InitComboEditor(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty)
  29. {
  30. DataTable dt = ServerHelper.GetData(methodId, null, ob);
  31. if (dt != null && dt.Rows.Count > 0)
  32. {
  33. if (isEmpty)
  34. {
  35. Object[] obj = new Object[] { "", "" };
  36. DataRow dr = dt.NewRow();
  37. dr.ItemArray = obj;
  38. dt.Rows.InsertAt(dr, 0);
  39. }
  40. uce.DataSource = dt;
  41. uce.ValueMember = valueMember;
  42. SetComboItemHeight(uce);
  43. }
  44. }
  45. /// <summary>
  46. /// 初始化下拉框 --带参数的
  47. /// </summary>
  48. /// <param name="uce"></param>
  49. /// <param name="methodId"></param>
  50. /// <param name="valueMember"></param>
  51. /// <param name="ob"></param>
  52. /// <param name="isEmpty"></param>
  53. /// <param name="obj"></param>
  54. public static void InitComboEditorWithParmArr(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty, params object[] parm)
  55. {
  56. DataTable dt = ServerHelper.GetData(methodId, parm, ob);
  57. if (dt != null && dt.Rows.Count > 0)
  58. {
  59. if (isEmpty)
  60. {
  61. Object[] obj = new Object[] { "", "" };
  62. DataRow dr = dt.NewRow();
  63. dr.ItemArray = obj;
  64. dt.Rows.InsertAt(dr, 0);
  65. }
  66. uce.DataSource = dt;
  67. uce.ValueMember = valueMember;
  68. uce.SelectedIndex = -1;
  69. SetComboItemHeight(uce);
  70. }
  71. }
  72. /// <summary>
  73. /// 设置UltraComboEditor中的中文和非中文统一高度。
  74. /// </summary>
  75. /// <param name="cmb"></param>
  76. public static void SetComboItemHeight(UltraComboEditor cmb)
  77. {
  78. foreach (ValueListItem item in cmb.Items)
  79. {
  80. if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+"))
  81. {
  82. item.Appearance.FontData.SizeInPoints = 9.0F;
  83. }
  84. else
  85. {
  86. item.Appearance.FontData.SizeInPoints = 10.5F;
  87. }
  88. }
  89. }
  90. /// <summary>
  91. /// UltraGrid可读
  92. /// </summary>
  93. /// <param name="ugr">UltraGrid</param>
  94. /// <param name="keys">可编辑列</param>
  95. public static void setOtherColumnReadOnly(UltraGrid ugr, string[] keys)
  96. {
  97. keys.ToArray();
  98. foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns)
  99. {
  100. if (!keys.Contains(ugc.Key))
  101. {
  102. ugc.CellActivation = Activation.ActivateOnly;
  103. }
  104. }
  105. }
  106. /// <summary>
  107. /// UltraGrid激活某行
  108. /// </summary>
  109. /// <param name="ug">UltraGrid</param>
  110. /// <param name="keys">列名</param>
  111. /// <param name="values">对应的值</param>
  112. public static void UltraGridLocation(UltraGrid ug, String[] keys, String[] values)
  113. {
  114. if (ug.Rows.Count == 0)
  115. {
  116. return;
  117. }
  118. if (keys.Length == 0 || values.Length == 0 || values.Length != keys.Length)
  119. {
  120. return;
  121. }
  122. foreach (UltraGridRow ugr in ug.Rows)
  123. {
  124. Boolean flag = true;
  125. for (int i = 0; i < keys.Length; i++)
  126. {
  127. if (!ugr.Cells[keys[i]].ToString().Equals(values[i]))
  128. {
  129. flag = false;
  130. }
  131. }
  132. if (flag == true)
  133. {
  134. ugr.Activate();
  135. return;
  136. }
  137. }
  138. }
  139. /// <summary>
  140. /// 设置列字段显示位置在右
  141. /// </summary>
  142. /// <param name="ug">UltraGrid</param>
  143. /// <param name="columnsKeys">要设置的列</param>
  144. public static void InitCellPosition(UltraGrid ug, string[] columnsKeys)
  145. {
  146. columnsKeys.ToArray();
  147. foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns)
  148. {
  149. if (columnsKeys.Contains(ugc.Key.ToString()))
  150. {
  151. ugc.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right;
  152. }
  153. }
  154. }
  155. /// <summary>
  156. /// 设置列字段显示位置在右
  157. /// </summary>
  158. /// <param name="ug">UltraGrid</param>
  159. /// <param name="columnsKeys">要设置的列</param>
  160. public static void InitCellPosition(UltraGrid ug, string[] columnsKeys,int dex)
  161. {
  162. columnsKeys.ToArray();
  163. foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[dex].Columns)
  164. {
  165. if (columnsKeys.Contains(ugc.Key.ToString()))
  166. {
  167. ugc.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right;
  168. }
  169. }
  170. }
  171. /// <summary>
  172. /// 列求和
  173. /// </summary>
  174. /// <param name="ug">UltraGrid</param>
  175. /// <param name="columnKeys">列数组</param>
  176. public static void GridColumnSum(UltraGrid ug, string[] columnKeys)
  177. {
  178. if (columnKeys.Length == 0)
  179. {
  180. return;
  181. }
  182. for (int i = 0; i < columnKeys.Length; i++)
  183. {
  184. ug.DisplayLayout.Bands[0].Summaries.Add(SummaryType.Sum, ug.DisplayLayout.Bands[0].Columns[columnKeys[i]], SummaryPosition.UseSummaryPositionColumn);
  185. }
  186. }
  187. /// <summary>
  188. /// 设置UltraGrid行颜色
  189. /// </summary>
  190. /// <param name="ug">UltraGrid</param>
  191. /// <param name="columnKeys">列</param>
  192. /// <param name="values">值</param>
  193. /// <param name="color">颜色</param>
  194. public static void SetUltraGridRowColor(UltraGrid ug, string[] columnKeys, string[] values, Color color)
  195. {
  196. if (ug.Rows.Count == 0 || columnKeys.Length == 0 || values.Length == 0 || color == null || values.Length != columnKeys.Length)
  197. {
  198. return;
  199. }
  200. foreach (UltraGridRow ugr in ug.Rows)
  201. {
  202. Boolean flag = true;
  203. for (int i = 0; i < columnKeys.Length; i++)
  204. {
  205. if (!ugr.Cells[columnKeys[i]].Value.ToString().Equals(values[i]))
  206. {
  207. flag = false;
  208. }
  209. }
  210. if (flag)
  211. {
  212. ugr.Appearance.BackColor = color;
  213. }
  214. }
  215. }
  216. /// <summary>
  217. /// 合并单元格
  218. /// </summary>
  219. /// <param name="ug"></param>
  220. /// <param name="columnKeys"></param>
  221. public static void MergedCell(UltraGrid ug, string[] columnKeys)
  222. {
  223. if (columnKeys.Length == 0)
  224. {
  225. return;
  226. }
  227. ug.DisplayLayout.Override.MergedCellStyle = MergedCellStyle.Never;
  228. for (int i = 0; i < columnKeys.Length; i++)
  229. {
  230. ug.DisplayLayout.Bands[0].Columns[columnKeys[i]].MergedCellStyle = MergedCellStyle.Always;
  231. }
  232. }
  233. /// <summary>
  234. /// 仓库数据权限
  235. /// </summary>
  236. /// <param name="customInfo">页面配制信息(自定义参数)</param>
  237. /// <param name="validDataPurviewIds">用户数据权限</param>
  238. /// <returns>可查看仓库组成的字符串</returns>
  239. public static string[] WarehousePermissions(String customInfo, String[] validDataPurviewIds, OpeBase ob)
  240. {
  241. string storageType = "";//仓库类别
  242. string storageAttr = "";//仓库类型
  243. if (customInfo.Length >= 0 && customInfo.Contains(","))
  244. {
  245. string[] strflg = customInfo.ToString().Split(new char[] { ',' });
  246. storageType = strflg[0];
  247. storageAttr = strflg[1];
  248. }
  249. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.WarehousePermissions.getWarehousePermissions", new object[] { storageType, storageAttr, validDataPurviewIds }, ob);
  250. if (dt != null && dt.Rows.Count > 0)
  251. {
  252. string[] storages = new string[dt.Rows.Count];
  253. for (int i = 0; i < dt.Rows.Count; i++)
  254. {
  255. storages[i] = dt.Rows[i]["STORAGE_NO"].ToString();
  256. }
  257. return storages;
  258. }
  259. else
  260. {
  261. return new string[1] { "" };
  262. }
  263. }
  264. /// <summary>
  265. /// 仓库数据权限(用于报表)
  266. /// </summary>
  267. /// <param name="customInfo">页面配制信息(自定义参数)</param>
  268. /// <param name="validDataPurviewIds">用户数据权限</param>
  269. /// <returns>可查看仓库组成的字符串</returns>
  270. public static string[] WarehousePermissionsStore(String[] validDataPurviewIds, OpeBase ob)
  271. {
  272. DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.WarehousePermissions.getWarehousePermissionsStore", new object[] { validDataPurviewIds }, ob);
  273. if (dt != null && dt.Rows.Count > 0)
  274. {
  275. string[] storages = new string[dt.Rows.Count];
  276. for (int i = 0; i < dt.Rows.Count; i++)
  277. {
  278. storages[i] = dt.Rows[i]["STORAGE_NO"].ToString();
  279. }
  280. return storages;
  281. }
  282. else
  283. {
  284. return new string[1] { "" };
  285. }
  286. }
  287. /// <summary>
  288. /// 初始化仓库号下拉框
  289. /// </summary>
  290. /// <param name="uce"></param>
  291. /// <param name="customInfo"></param>
  292. /// <param name="validDataPurviewIds"></param>
  293. /// <param name="ob"></param>
  294. public static void InitStorage(UltraComboEditor uce, String customInfo, String[] validDataPurviewIds, OpeBase ob)
  295. {
  296. string storageType = "";//仓库类别
  297. string storageAttr = "";//仓库类型
  298. if (customInfo.Length >= 0 && customInfo.Contains(","))
  299. {
  300. string[] strflg = customInfo.ToString().Split(new char[] { ',' });
  301. storageType = strflg[0];
  302. storageAttr = strflg[1];
  303. }
  304. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.WarehousePermissions.getWarehousePermissions", new object[] { storageType, storageAttr, validDataPurviewIds }, ob);
  305. if (dt != null && dt.Rows.Count > 0)
  306. {
  307. uce.DataSource = dt;
  308. uce.DisplayMember = "STORAGE_NAME";
  309. uce.ValueMember = "STORAGE_NO";
  310. uce.SelectedIndex = 0;
  311. }
  312. else
  313. {
  314. uce.DataSource = null;
  315. }
  316. }
  317. /// <summary>
  318. /// 初始化下拉框仓库名称
  319. /// </summary>
  320. /// <param name="uce"></param>
  321. /// <param name="ob"></param>
  322. public static void InitGpStorage(UltraComboEditor uce, OpeBase ob)
  323. {
  324. DataTable dtMapStatus = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQueryStorage", new object[] { }, ob);
  325. BaseMethod.InitComboEditor(uce, dtMapStatus, "BASENAME", "BASECODE");
  326. }
  327. /// <summary>
  328. /// 初始化下拉框外购坯厂家
  329. /// </summary>
  330. /// <param name="uce"></param>
  331. /// <param name="ob"></param>
  332. public static void InitGpSource(UltraComboEditor uce, OpeBase ob)
  333. {
  334. DataTable dtMapStatus = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQuerySource", new object[] { }, ob);
  335. BaseMethod.InitComboEditor(uce, dtMapStatus, "BASENAME", "BASECODE");
  336. }
  337. /// <summary>
  338. /// 初始化下拉框材料类别
  339. /// </summary>
  340. /// <param name="uce"></param>
  341. /// <param name="ob"></param>
  342. public static void InitProducFlagCom(UltraComboEditor uce, OpeBase ob)
  343. {
  344. DataTable dtProducFlag = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.queryMaterialSTyle", new object[] { }, ob);
  345. BaseMethod.InitComboEditor(uce, dtProducFlag, "BASENAME", "BASECODE");
  346. }
  347. /// <summary>
  348. /// 初始化下拉框材料状态
  349. /// </summary>
  350. /// <param name="uce"></param>
  351. /// <param name="ob"></param>
  352. public static void InitMapStatusCom(UltraComboEditor uce, OpeBase ob)
  353. {
  354. DataTable dtMapStatus = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeMagement.queryMaterialStatus", new object[] { }, ob);
  355. BaseMethod.InitComboEditor(uce, dtMapStatus, "BASENAME", "BASECODE");
  356. }
  357. /// <summary>
  358. /// 初始化下拉框材料状态
  359. /// </summary>
  360. /// <param name="uce"></param>
  361. /// <param name="ob"></param>
  362. public static void InitMapStatusCom(UltraComboEditor uce, OpeBase ob, string flag)
  363. {
  364. DataTable dtMapStatus = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.queryMaterialStatus", new object[] { flag }, ob);
  365. BaseMethod.InitComboEditor(uce, dtMapStatus, "BASENAME", "BASECODE");
  366. }
  367. /// <summary>
  368. /// 初始化下拉框管坯物料码
  369. /// </summary>
  370. /// <param name="uce"></param>
  371. /// <param name="ob"></param>
  372. public static void InitMaterialCom(UltraComboEditor uce, OpeBase ob)
  373. {
  374. DataTable dtMapStatus = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQueryMaterial", new object[] { }, ob);
  375. BaseMethod.InitComboEditor(uce, dtMapStatus, "BASENAME", "BASECODE");
  376. }
  377. /// <summary>
  378. /// 初始下拉框
  379. /// </summary>
  380. /// <param name="uce"></param>
  381. /// <param name="dt"></param>
  382. /// <param name="showName"></param>
  383. /// <param name="hideValue"></param>
  384. public static void InitComboEditor(UltraComboEditor uce, DataTable dt, String showName, String hideValue)
  385. {
  386. uce.DataSource = dt;
  387. uce.DisplayMember = showName;
  388. uce.ValueMember = hideValue;
  389. }
  390. /// <summary>
  391. /// 初始下拉框
  392. /// </summary>
  393. /// <param name="uce"></param>
  394. /// <param name="dt"></param>
  395. /// <param name="showName"></param>
  396. /// <param name="hideValue"></param>
  397. public static void InitComboEditor1(UltraComboEditor uce, DataTable dt, String showName, String hideValue)
  398. {
  399. uce.DataSource = dt;
  400. uce.DisplayMember = showName;
  401. uce.ValueMember = hideValue;
  402. uce.SelectedIndex = 1;
  403. }
  404. /// <summary>
  405. /// 初始化下拉框产线
  406. /// </summary>
  407. /// <param name="uce"></param>
  408. /// <param name="ob"></param>
  409. public static void InitPline(UltraComboEditor uce, OpeBase ob)
  410. {
  411. DataTable dtPline = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeInventoryIn.getPline", new object[] { }, ob);
  412. BaseMethod.InitComboEditor(uce, dtPline, "PLINE_NAME", "PLINE_CODE");
  413. }
  414. /// <summary>
  415. /// 初始化下拉框材料来源
  416. /// </summary>
  417. /// <param name="uce"></param>
  418. /// <param name="ob"></param>
  419. public static void InitSourse(UltraComboEditor uce, OpeBase ob)
  420. {
  421. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeInventoryIn.getSourse", new object[] { "8013" }, ob);
  422. BaseMethod.InitComboEditor1(uce, dt, "BASENAME", "BASECODE");
  423. }
  424. /// <summary>
  425. /// 初始化下拉框钢种
  426. /// </summary>
  427. /// <param name="uce"></param>
  428. /// <param name="ob"></param>
  429. public static void InitGrade(UltraComboEditor uce, OpeBase ob)
  430. {
  431. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeEnter.getGrade", new object[] { }, ob);
  432. BaseMethod.InitComboEditor(uce, dt, "GRADENAME", "GRADECODE");
  433. }
  434. /// <summary>
  435. /// 获取规格
  436. /// </summary>
  437. /// <param name="uce"></param>
  438. /// <param name="ob"></param>
  439. public static void InitSpec(UltraComboEditor uce, OpeBase ob)
  440. {
  441. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeEnter.getSpec", new object[] { }, ob);
  442. BaseMethod.InitComboEditor(uce, dt, "SPEC_NAME", "SPEC_CODE");
  443. }
  444. /// <summary>
  445. /// 获取扣型
  446. /// </summary>
  447. /// <param name="uce"></param>
  448. /// <param name="ob"></param>
  449. public static void InitModel(UltraComboEditor uce, OpeBase ob)
  450. {
  451. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeEnter.getModel", new object[] { }, ob);
  452. BaseMethod.InitComboEditor(uce, dt, "MODEL_DESC", "MODEL_CODE");
  453. }
  454. /// <summary>
  455. /// 获取品名
  456. /// </summary>
  457. /// <param name="uce"></param>
  458. /// <param name="ob"></param>
  459. public static void InitProcduce(UltraComboEditor uce, OpeBase ob)
  460. {
  461. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.BaseOperations.getProcduce", new object[] { }, ob);
  462. BaseMethod.InitComboEditor(uce, dt, "PRODUC_JX", "PRODUCCODE");
  463. }
  464. /// <summary>
  465. /// 获取钢级
  466. /// </summary>
  467. /// <param name="uce"></param>
  468. /// <param name="ob"></param>
  469. public static void InitSteel(UltraComboEditor uce, OpeBase ob)
  470. {
  471. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.BaseOperations.getSteel", new object[] { }, ob);
  472. BaseMethod.InitComboEditor(uce, dt, "STEELNAME", "STEELCODE");
  473. }
  474. /// <summary>
  475. /// 获取标准类别
  476. /// </summary>
  477. /// <param name="uce"></param>
  478. /// <param name="ob"></param>
  479. public static void InitStdStyle(UltraComboEditor uce, OpeBase ob)
  480. {
  481. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.BaseOperations.getStdStyle", new object[] { }, ob);
  482. BaseMethod.InitComboEditor(uce, dt, "STD_STYLE_DESC", "STD_STYLE");
  483. }
  484. /// <summary>
  485. /// 初始化下拉框原因
  486. /// </summary>
  487. /// <param name="uce"></param>
  488. /// <param name="ob"></param>
  489. public static void InitReason(UltraComboEditor uce, OpeBase ob)
  490. {
  491. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeInventoryIn.getSourse", new object[] { "8012" }, ob);
  492. BaseMethod.InitComboEditor(uce, dt, "BASENAME", "BASECODE");
  493. }
  494. /// <summary>
  495. /// 初始化下拉框综合判断结果
  496. /// </summary>
  497. /// <param name="uce"></param>
  498. /// <param name="ob"></param>
  499. public static void InitJustResult(UltraComboEditor uce, OpeBase ob)
  500. {
  501. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeInventoryIn.getSourse", new object[] { "407407" }, ob);
  502. BaseMethod.InitComboEditor(uce, dt, "BASENAME", "BASECODE");
  503. }
  504. /// <summary>
  505. /// 初始化下拉框所属权单位
  506. /// </summary>
  507. /// <param name="uce"></param>
  508. /// <param name="ob"></param>
  509. public static void InitBelongCode(UltraComboEditor uce, OpeBase ob)
  510. {
  511. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeInventoryIn.getBelongCode", new object[] { }, ob);
  512. BaseMethod.InitComboEditor(uce, dt, "DEPARTNAME", "DEPARTID");
  513. }
  514. /// <summary>
  515. /// 销售组织权限
  516. /// </summary>
  517. /// <param name="validDataPurviewIds">数据权限</param>
  518. /// <param name="ob"></param>
  519. /// <returns>字符串数组</returns>
  520. public static string[] InitPermissions(string[] validDataPurviewIds, OpeBase ob)
  521. {
  522. string[] arr = null;
  523. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.WarehousePermissions.getSalgPermissions", new object[] { validDataPurviewIds }, ob);
  524. if (dt != null && dt.Rows.Count > 0)
  525. {
  526. arr = new string[dt.Rows.Count];
  527. for (int i = 0; i < dt.Rows.Count; i++)
  528. {
  529. arr[i] = dt.Rows[i][0].ToString();
  530. }
  531. }
  532. return arr;
  533. }
  534. /// <summary>
  535. /// 炼钢权限
  536. /// </summary>
  537. /// <param name="validDataPurviewIds">数据权限</param>
  538. /// <param name="ob"></param>
  539. /// <returns>字符串数组</returns>
  540. public static string[] InitLgPermissions(string[] validDataPurviewIds,string processNo, OpeBase ob)
  541. {
  542. string[] arr = null;
  543. DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Common.ComLgValidDataPurviewIds.getLgPermissions", new object[] { validDataPurviewIds, processNo }, ob);
  544. if (dt != null && dt.Rows.Count > 0)
  545. {
  546. arr = new string[dt.Rows.Count];
  547. for (int i = 0; i < dt.Rows.Count; i++)
  548. {
  549. arr[i] = dt.Rows[i][0].ToString();
  550. }
  551. }
  552. return arr;
  553. }
  554. /// <summary>
  555. /// 获取PCode
  556. /// </summary>
  557. /// <param name="Department">user_depatment</param>
  558. /// <returns></returns>
  559. public static string GetPCode(string Department, OpeBase ob)
  560. {
  561. string Pcode = "";
  562. DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Common.ComLgValidDataPurviewIds.getPCode", new Object[] { Department }, ob);
  563. if (dt.Rows.Count > 0)
  564. {
  565. Pcode = dt.Rows[0]["pline_code"].ToString();
  566. }
  567. return Pcode;
  568. }
  569. /// <summary>
  570. /// 设置列显示位数
  571. /// </summary>
  572. /// <param name="ug"></param>
  573. /// <param name="arr"></param>
  574. public static void setUltraGridColumnMaxInput(UltraGrid ug, string[] arr)
  575. {
  576. if (ug == null || arr == null || arr.Length == 0)
  577. {
  578. return;
  579. }
  580. arr.ToArray();
  581. foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns)
  582. {
  583. if (arr.Contains(ugc.Key.ToString()))
  584. {
  585. ugc.MaskClipMode = MaskMode.IncludeLiterals;
  586. ugc.MaskInput = "{LOC}nn,nnn,nnn.nnn";
  587. }
  588. }
  589. }
  590. /// <summary>
  591. /// 键盘按下Ctrl+D,拷贝活动单元格的数据到所有已勾选的此列的单元格中
  592. /// </summary>
  593. /// <param name="ugrid">UltraGrid</param>
  594. /// <param name="e"></param>
  595. /// <param name="strs">可以进行列名称</param>
  596. public static void setGridCopyActColumn(UltraGrid ugrid, KeyEventArgs e, params string[] strs)
  597. {
  598. if (e.Control && e.KeyCode == Keys.D)
  599. {
  600. if (ugrid != null && ugrid.ActiveRow != null)
  601. {
  602. UltraGridRow ugr = ugrid.ActiveRow;
  603. foreach (string colName in strs)
  604. {
  605. if (ugrid.ActiveCell.Column.Key.Equals(colName))
  606. {
  607. if (ugr.Cells[colName].Activation != Activation.AllowEdit)
  608. {
  609. return;
  610. }
  611. ugrid.UpdateData();
  612. ArrayList list = new ArrayList();
  613. IQueryable<UltraGridRow> checkRows = ugrid.Rows.AsQueryable().Where("CHK = 'True' ");
  614. if (checkRows.Count() == 0)
  615. {
  616. return;
  617. }
  618. foreach (UltraGridRow uRow in checkRows)
  619. {
  620. if (uRow != ugr && uRow.Cells[colName].Activation == Activation.AllowEdit)
  621. {
  622. uRow.Cells[colName].Value = ugr.Cells[colName].Value;
  623. }
  624. }
  625. }
  626. }
  627. }
  628. }
  629. }/// <summary>
  630. /// 初始年份
  631. /// </summary>
  632. /// <param name="uce"></param>
  633. public static void InitYear(UltraComboEditor uce)
  634. {
  635. DataTable dtYear = new DataTable();
  636. dtYear.Columns.Add("YEAR");
  637. for (int i = 2000; i < 2200; i++)
  638. {
  639. DataRow dr = dtYear.NewRow();
  640. dr["YEAR"] = i.ToString();
  641. dtYear.Rows.Add(dr);
  642. }
  643. uce.DataSource = dtYear;
  644. uce.DisplayMember = "YEAR";
  645. uce.ValueMember = "YEAR";
  646. }
  647. /// <summary>
  648. /// 初始月份
  649. /// </summary>
  650. /// <param name="uce"></param>
  651. public static void InitMonth(UltraComboEditor uce)
  652. {
  653. DataTable dtMonth = new DataTable();
  654. dtMonth.Columns.Add("MONTH");
  655. for (int i = 1; i < 13; i++)
  656. {
  657. DataRow dr = dtMonth.NewRow();
  658. dr["MONTH"] = string.Format("{0:00}", i);
  659. dtMonth.Rows.Add(dr);
  660. }
  661. uce.DataSource = dtMonth;
  662. uce.DisplayMember = "MONTH";
  663. uce.ValueMember = "MONTH";
  664. }
  665. /// <summary>
  666. /// 键盘按下Ctrl+D,拷贝活动单元格的数据到所有已勾选的此列的单元格中
  667. /// </summary>
  668. /// <param name="ugrid">UltraGrid</param>
  669. /// <param name="e"></param>
  670. /// <param name="strs">可以进行列名称</param>
  671. public static void setGridCopyActColumn1(UltraGrid ugrid, KeyEventArgs e, params string[] strs)
  672. {
  673. if (e.Control && e.KeyCode == Keys.D)
  674. {
  675. if (ugrid != null && ugrid.ActiveRow != null)
  676. {
  677. UltraGridRow ugr = ugrid.ActiveRow;
  678. foreach (string colName in strs)
  679. {
  680. if (ugrid.ActiveCell.Column.Key.Equals(colName))
  681. {
  682. if (ugr.Cells[colName].Activation != Activation.AllowEdit)
  683. {
  684. return;
  685. }
  686. ugrid.UpdateData();
  687. ArrayList list = new ArrayList();
  688. IQueryable<UltraGridRow> checkRows = ugrid.Rows.AsQueryable().Where("CHOOSE = 'True' ");
  689. if (checkRows.Count() == 0)
  690. {
  691. return;
  692. }
  693. foreach (UltraGridRow uRow in checkRows)
  694. {
  695. if (uRow != ugr && uRow.Cells[colName].Activation == Activation.AllowEdit)
  696. {
  697. uRow.Cells[colName].Value = ugr.Cells[colName].Value;
  698. }
  699. }
  700. }
  701. }
  702. }
  703. }
  704. }
  705. /// <summary>
  706. /// 获取表格中
  707. /// </summary>
  708. /// <typeparam name="T">返回类</typeparam>
  709. /// <param name="dt">数据表</param>
  710. /// <param name="t">输入类</param>
  711. /// <returns></returns>
  712. public static T GetTableToEntity<T>(DataTable dt, T t)
  713. {
  714. String[] strColumns = null;
  715. DataRow dr = dt.Rows[0];
  716. try
  717. {
  718. if (dt.Columns.Count > 0)
  719. {
  720. int columnNum = 0;
  721. columnNum = dt.Columns.Count;
  722. strColumns = new string[columnNum];
  723. for (int i = 0; i < dt.Columns.Count; i++)
  724. {
  725. strColumns[i] = dt.Columns[i].ColumnName.Replace("_", "");
  726. }
  727. System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
  728. foreach (System.Reflection.PropertyInfo item in pro)
  729. {
  730. for (int i = 0; i < strColumns.Length; i++)
  731. {
  732. if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
  733. {
  734. if (item.PropertyType == typeof(int?))
  735. {
  736. item.SetValue(t, Convert.ToInt32(dr[i].ToString3()), null);
  737. }
  738. else if (item.PropertyType == typeof(decimal?))
  739. {
  740. item.SetValue(t, Convert.ToDecimal(dr[i].ToString3()), null);
  741. }
  742. else
  743. {
  744. item.SetValue(t, dr[i].ToString(), null);
  745. }
  746. }
  747. }
  748. }
  749. }
  750. else
  751. {
  752. }
  753. }
  754. catch (Exception e)
  755. {
  756. System.Windows.Forms.MessageBox.Show("出错:", e.ToString());
  757. }
  758. return t;
  759. }
  760. /// <summary>
  761. /// 获取数据源中第一行数据赋到类中(grid 带下划线)
  762. /// </summary>
  763. /// <typeparam name="T">返回类</typeparam>
  764. /// <param name="ds">输入带数据的数据源</param>
  765. /// <param name="t">输入类</param>
  766. /// <returns></returns>
  767. public static T GetUltraGridToEntityNEW<T>(UltraGrid _grid, T t)
  768. {
  769. String[] strColumns = null;
  770. String[] strColumnsNew = null;
  771. UltraGridRow dr = _grid.Rows[0];
  772. int columnNum = dr.Cells.Count;
  773. strColumns = new String[columnNum];
  774. strColumnsNew = new String[columnNum];
  775. for (int i = 0; i < columnNum; i++)
  776. {
  777. strColumns[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString().Replace("_", "");
  778. strColumnsNew[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString();
  779. }
  780. System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
  781. foreach (System.Reflection.PropertyInfo item in pro)
  782. {
  783. for (int i = 0; i < strColumns.Length; i++)
  784. {
  785. if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
  786. {
  787. if (item.PropertyType == typeof(int?))
  788. {
  789. item.SetValue(t, Convert.ToInt32(dr.Cells[strColumnsNew[i]].Value.ToString3()), null);
  790. }
  791. else if (item.PropertyType == typeof(decimal?))
  792. {
  793. item.SetValue(t, Convert.ToDecimal(dr.Cells[strColumnsNew[i]].Value.ToString3()), null);
  794. }
  795. else
  796. {
  797. item.SetValue(t, Convert.ToString(dr.Cells[strColumnsNew[i]].Value.ToString()), null);
  798. }
  799. }
  800. }
  801. }
  802. return t;
  803. }
  804. }
  805. }