FrmStandardN.cs 78 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Format;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using Core.StlMes.Client.Qcm.Control;
  6. using Core.StlMes.Client.Qcm.model;
  7. using Core.StlMes.Client.Qcm.objectData;
  8. using CoreFS.CA06;
  9. using Infragistics.Win;
  10. using Infragistics.Win.UltraWinEditors;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Infragistics.Win.UltraWinTabControl;
  13. using System;
  14. using System.Collections;
  15. using System.Collections.Generic;
  16. using System.Data;
  17. using System.Drawing;
  18. using System.Linq;
  19. using System.Windows.Forms;
  20. namespace Core.StlMes.Client.Qcm
  21. {
  22. /// <summary>
  23. /// 标准名称 内控
  24. /// </summary>
  25. public partial class FrmStandardN : FrmBase
  26. {
  27. /// <summary>
  28. /// 提示
  29. /// </summary>
  30. private string errMessage = "";
  31. /// <summary>
  32. /// 标准基础(定位)
  33. /// </summary>
  34. private string _stdName = "";
  35. /// <summary>
  36. /// 客户(定位)
  37. /// </summary>
  38. private string _custName = "";
  39. /// <summary>
  40. /// 是否勾选
  41. /// </summary>
  42. private int isSelectData = 0;
  43. /// <summary>
  44. /// 下拉框数组
  45. /// </summary>
  46. UltraComboEditor[] ucbs = new UltraComboEditor[5];
  47. UltraComboEditor uceUnitCode = new UltraComboEditor();//管理科室
  48. UltraComboEditor uceDeptCode = new UltraComboEditor();//管理部门
  49. /// <summary>
  50. /// 位置
  51. /// </summary>
  52. private int disWidth = 0;
  53. private int disLength = 0;
  54. private CtrlMscChem _ctrlMscChem;
  55. public CtrlMscChem CtrlMscChem
  56. {
  57. get { return _ctrlMscChem; }
  58. set { _ctrlMscChem = value; }
  59. }
  60. private CtrlMscMaterial _ctrlMscMaterial;
  61. public CtrlMscMaterial CtrlMscMaterial
  62. {
  63. get { return _ctrlMscMaterial; }
  64. set { _ctrlMscMaterial = value; }
  65. }
  66. private CtrlMSCDetection _ctrlMscDetection;
  67. public CtrlMSCDetection CtrlMscDetection
  68. {
  69. get { return _ctrlMscDetection; }
  70. set { _ctrlMscDetection = value; }
  71. }
  72. private CtrlMscTolerances _ctrlMscTolerances;
  73. public CtrlMscTolerances CtrlMscTolerances
  74. {
  75. get { return _ctrlMscTolerances; }
  76. set { _ctrlMscTolerances = value; }
  77. }
  78. private CtrlMscProductWater _ctrlMscProductWater;
  79. public CtrlMscProductWater CtrlMscProductWater
  80. {
  81. get { return _ctrlMscProductWater; }
  82. set { _ctrlMscProductWater = value; }
  83. }
  84. private CtrlMSCStdProcess _ctrlMscStdProcess;
  85. public CtrlMSCStdProcess CtrlMscStdProcess
  86. {
  87. get { return _ctrlMscStdProcess; }
  88. set { _ctrlMscStdProcess = value; }
  89. }
  90. private string _processCode = "";
  91. public string ProcessCode
  92. {
  93. get { return _processCode; }
  94. set { _processCode = value; }
  95. }
  96. private string _productCode = "";
  97. public string ProductCode
  98. {
  99. get { return _productCode; }
  100. set { _productCode = value; }
  101. }
  102. private string _producName = "";
  103. public string ProducName
  104. {
  105. get { return _producName; }
  106. set { _producName = value; }
  107. }
  108. private ArrayList _steelCodes = new ArrayList();
  109. //钢种集合
  110. public ArrayList SteelCodes
  111. {
  112. get { return _steelCodes; }
  113. set { _steelCodes = value; }
  114. }
  115. private ArrayList _steelNames = new ArrayList();
  116. public ArrayList SteelNames
  117. {
  118. get { return _steelNames; }
  119. set { _steelNames = value; }
  120. }
  121. private string _msc = "";
  122. public string Msc
  123. {
  124. get { return _msc; }
  125. set { _msc = value; }
  126. }
  127. private string _mscPline = "";
  128. public string MscPline
  129. {
  130. get { return _mscPline; }
  131. set { _mscPline = value; }
  132. }
  133. private string _steelcodeNk = "";
  134. public string SteelcodeNk
  135. {
  136. get { return _steelcodeNk; }
  137. set { _steelcodeNk = value; }
  138. }
  139. private string _steelnameNk = "";
  140. public string SteelnameNk
  141. {
  142. get { return _steelnameNk; }
  143. set { _steelnameNk = value; }
  144. }
  145. private string _ordLnPk = "";
  146. public string OrdLnPk
  147. {
  148. get { return _ordLnPk; }
  149. set { _ordLnPk = value; }
  150. }
  151. private string modelCode = "";
  152. public string ModelCode
  153. {
  154. get { return modelCode; }
  155. set { modelCode = value; }
  156. }
  157. private string psc = "";
  158. public string Psc
  159. {
  160. get { return psc; }
  161. set { psc = value; }
  162. }
  163. /// <summary>
  164. /// 动态生成科室
  165. /// </summary>
  166. private Dictionary<string, UltraComboEditor> departments = null;
  167. public event EventHandler AfterRowActivate;
  168. public FrmStandardN()
  169. {
  170. //F1 F2功能
  171. IsLoadUserView = true;
  172. InitializeComponent();
  173. //ExceptionHelper.RegistException();
  174. }
  175. private DataRow GetProcessByStdCode(string stdCode)
  176. {
  177. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreInnerMSCRGRD2.getProcessByStdCode",
  178. new object[] { stdCode }, ob);
  179. return dt.Rows[0];
  180. }
  181. void GridProcess_AfterRowInsert(object sender, RowEventArgs e)
  182. {
  183. UltraGridRow ugr = _ctrlMscStdProcess.Grid.ActiveRow;
  184. UltraGridRow activeUgr = ultraGrid1.ActiveRow;
  185. if (ugr != null && activeUgr != null && !ugr.HasParent())
  186. {
  187. DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
  188. ugr.Cells["PROCESS_CDOE"].Value = drBaseStd["PROCESS_CODE"].ToString();
  189. ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
  190. ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
  191. ugr.Cells["PRODUCNAME_NK"].Value = _producName;
  192. ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
  193. ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
  194. ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
  195. ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
  196. }
  197. }
  198. void GridSpec_AfterRowInsert(object sender, RowEventArgs e)
  199. {
  200. UltraGridRow ugr = _ctrlMscTolerances.Grid.ActiveRow;
  201. UltraGridRow activeUgr = ultraGrid1.ActiveRow;
  202. if (ugr != null && activeUgr != null && !ugr.HasParent())
  203. {
  204. DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
  205. ugr.Cells["PROCESS_CODE"].Value = drBaseStd["PROCESS_CODE"].ToString();
  206. ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
  207. ugr.Cells["SPECIAL_PATH"].Value = false;
  208. ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
  209. ugr.Cells["PRODUCNAME_NK"].Value = _producName;
  210. ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
  211. ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
  212. ugr.Cells["STD_CODE"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
  213. ugr.Cells["STD_NAME"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
  214. }
  215. }
  216. void GridWater_AfterRowInsert(object sender, RowEventArgs e)
  217. {
  218. UltraGridRow ugr = _ctrlMscProductWater.Grid.ActiveRow;
  219. UltraGridRow activeUgr = ultraGrid1.ActiveRow;
  220. if (ugr != null && activeUgr != null && !ugr.HasParent())
  221. {
  222. DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
  223. ugr.Cells["PROCESS_CDOE"].Value = drBaseStd["PROCESS_CODE"].ToString();
  224. ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
  225. ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
  226. ugr.Cells["PRODUCNAME_NK"].Value = _producName;
  227. ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
  228. ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
  229. ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
  230. ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
  231. }
  232. }
  233. void GridDete_AfterRowInsert(object sender, RowEventArgs e)
  234. {
  235. UltraGridRow ugr = _ctrlMscDetection.Grid.ActiveRow;
  236. UltraGridRow activeUgr = ultraGrid1.ActiveRow;
  237. if (ugr != null && activeUgr != null && !ugr.HasParent())
  238. {
  239. DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
  240. ugr.Cells["PROCESS_CODE"].Value = drBaseStd["PROCESS_CODE"].ToString();
  241. ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
  242. ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
  243. ugr.Cells["PRODUCNAME_NK"].Value = _producName;
  244. ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
  245. ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
  246. ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
  247. ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
  248. }
  249. }
  250. void GridChem_AfterRowInsert(object sender, RowEventArgs e)
  251. {
  252. UltraGridRow ugr = _ctrlMscChem.Grid.ActiveRow;
  253. UltraGridRow activeUgr = ultraGrid1.ActiveRow;
  254. if (ugr != null && activeUgr != null && !ugr.HasParent())
  255. {
  256. DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
  257. ugr.Cells["PROCESS_CODE"].Value = drBaseStd["PROCESS_CODE"].ToString();
  258. ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
  259. ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
  260. ugr.Cells["PRODUCNAME_NK"].Value = _producName;
  261. ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
  262. ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
  263. ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
  264. ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
  265. string gradeCodes = "";
  266. string gradeNames = "";
  267. for (int i = 0; i < _steelCodes.Count; i++)
  268. {
  269. if (gradeCodes == "")
  270. {
  271. gradeCodes = _steelCodes[i].ToString();
  272. gradeNames = _steelNames[i].ToString();
  273. }
  274. else
  275. {
  276. gradeCodes += ";" + _steelCodes[i].ToString();
  277. gradeNames += ";" + _steelNames[i].ToString();
  278. }
  279. }
  280. ugr.Cells["GRADECODE"].Value = gradeCodes;
  281. ugr.Cells["GRADENAME"].Value = gradeNames;
  282. UltraGrid grid = (UltraGrid)sender;
  283. grid.UpdateData();
  284. //UltraComboEditor cmb = (UltraComboEditor)ugr.Cells["GRADECODE"].Column.EditorComponent;
  285. //if (cmb.Items.Count == 2)
  286. //{
  287. // ugr.Cells["GRADECODE"].Value = cmb.Items[1].DataValue;
  288. //}
  289. }
  290. }
  291. void Grid_AfterRowInsert(object sender, RowEventArgs e)
  292. {
  293. UltraGridRow ugr = _ctrlMscMaterial.Grid.ActiveRow;
  294. UltraGridRow activeUgr = ultraGrid1.ActiveRow;
  295. if (ugr != null && activeUgr != null && !ugr.HasParent())
  296. {
  297. DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
  298. ugr.Cells["PROCESS_CDOE"].Value = drBaseStd["PROCESS_CODE"].ToString();
  299. ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
  300. ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
  301. ugr.Cells["PRODUCNAME_NK"].Value = _producName;
  302. ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
  303. ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
  304. ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
  305. ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
  306. string gradeCodes = "";
  307. string gradeNames = "";
  308. for (int i = 0; i < _steelCodes.Count; i++)
  309. {
  310. if (gradeCodes == "")
  311. {
  312. gradeCodes = _steelCodes[i].ToString();
  313. gradeNames = _steelNames[i].ToString();
  314. }
  315. else
  316. {
  317. gradeCodes += ";" + _steelCodes[i].ToString();
  318. gradeNames += ";" + _steelNames[i].ToString();
  319. }
  320. }
  321. ugr.Cells["GRADECODE"].Value = gradeCodes;
  322. ugr.Cells["GRADENAME"].Value = gradeNames;
  323. }
  324. }
  325. public void PopupLoad(string customInfo, OpeBase ob)
  326. {
  327. WaitingForm2 wf = new WaitingForm2("正在加载,请稍候....");
  328. this.CustomInfo = customInfo;
  329. this.ob = ob;
  330. //FrmStandardN_Load(null, EventArgs.Empty);
  331. this.OnLoad(null);
  332. wf.Close();
  333. }
  334. public void FrmStandardN_Load(object sender, EventArgs e)
  335. {
  336. try
  337. {
  338. this.Cursor = Cursors.WaitCursor;
  339. _ctrlMscChem = new CtrlMscChem(ultraTabPageControl1);
  340. _ctrlMscMaterial = new CtrlMscMaterial(ultraTabPageControl2);
  341. _ctrlMscDetection = new CtrlMSCDetection(ultraTabPageControl4);
  342. _ctrlMscTolerances = new CtrlMscTolerances(ultraTabPageControl3);
  343. _ctrlMscProductWater = new CtrlMscProductWater(ultraTabPageControl5);
  344. _ctrlMscStdProcess = new CtrlMSCStdProcess(ultraTabPageControl6);
  345. _ctrlMscChem.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
  346. _ctrlMscMaterial.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
  347. _ctrlMscDetection.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
  348. _ctrlMscTolerances.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
  349. _ctrlMscProductWater.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
  350. _ctrlMscStdProcess.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
  351. _ctrlMscMaterial.Grid.AfterRowInsert += new RowEventHandler(Grid_AfterRowInsert);
  352. _ctrlMscChem.Grid.AfterRowInsert += new RowEventHandler(GridChem_AfterRowInsert);
  353. _ctrlMscDetection.Grid.AfterRowInsert += new RowEventHandler(GridDete_AfterRowInsert);
  354. _ctrlMscProductWater.Grid.AfterRowInsert += new RowEventHandler(GridWater_AfterRowInsert);
  355. _ctrlMscTolerances.Grid.AfterRowInsert += new RowEventHandler(GridSpec_AfterRowInsert);
  356. _ctrlMscStdProcess.Grid.AfterRowInsert += new RowEventHandler(GridProcess_AfterRowInsert);
  357. InitComBoEditor();
  358. ChangeFrom();
  359. //ProcessFilter();
  360. ultraGrid2.Enabled = false;
  361. UltraGridRow ugr = ultraGrid1.ActiveRow;
  362. if (ugr == null)
  363. {
  364. this.ultraTabControl1.Enabled = false;
  365. }
  366. else
  367. {
  368. this.ultraTabControl1.Enabled = true;
  369. }
  370. string mark = "2";
  371. if (CustomInfo == "2")
  372. {
  373. mark = "2";
  374. }
  375. if (CustomInfo == "3")
  376. {
  377. mark = "3";
  378. this.ultraGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
  379. ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE"].Header.Caption = "Alpha代码";
  380. ultraGrid1.DisplayLayout.Bands[0].Columns["STD_STYLE"].Hidden = true;
  381. ultraGrid1.DisplayLayout.Bands[0].Columns["STD_VERSION"].Hidden = true;
  382. ultraGrid1.DisplayLayout.Bands[0].Columns["CHC"].Hidden = true;
  383. }
  384. if (CustomInfo == "4")
  385. {
  386. mark = "4";
  387. }
  388. YdmBaseClass.InitComboEditorWithParm(uceUnitCode, "com.steering.comm.data.ComBaseInfo.getSection", "DEPARTNAME", "DEPARTID", this.ob, false, new Object[] { ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), ob) });
  389. YdmBaseClass.BindColumn(uceUnitCode, "UNIT_CODE", this.Controls, this.ultraGrid1, 0);
  390. YdmBaseClass.InitComboEditorNew(uceDeptCode, "com.steering.comm.data.ComBaseInfo.getDepartment", "DEPARTID", "DEPARTNAME", this.ob, false);
  391. YdmBaseClass.BindColumn(uceDeptCode, "DEPARTMENT_CODE", this.Controls, this.ultraGrid1, 0);
  392. }
  393. finally
  394. {
  395. this.Cursor = Cursors.Default;
  396. }
  397. }
  398. private void StdNk_BeforeRowInsert(object sender, BeforeRowInsertEventArgs e)
  399. {
  400. if (ultraGrid1.ActiveRow == null)
  401. {
  402. e.Cancel = true;
  403. }
  404. }
  405. //private void ProcessFilter()
  406. //{
  407. // if (_processCode != "")
  408. // {
  409. // UltraComboEditor comboEditor = (UltraComboEditor)ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_CODE"].EditorComponent;
  410. // DataTable dt = (DataTable)comboEditor.DataSource;
  411. // dt.DefaultView.RowFilter = "PROCESS_CODE = '" + _processCode + "'";
  412. // }
  413. //}
  414. /// <summary>
  415. /// 根据页面传入值不同,改变页面
  416. /// </summary>
  417. private void ChangeFrom()
  418. {
  419. if (this.CustomInfo == "2")
  420. {
  421. splitContainer2.Panel2Collapsed = true;
  422. }
  423. if (this.CustomInfo == "3")
  424. {
  425. ultraExpandableGroupBox1.Text = "标准Alpha";
  426. ultraTabPageControl1.Tab.Text = "成分Alpha";
  427. ultraTabPageControl2.Tab.Text = "理化Alpha";
  428. ultraTabPageControl3.Tab.Text = "公差Alpha";
  429. ultraTabPageControl4.Tab.Text = "探伤Alpha";
  430. ultraTabPageControl5.Tab.Text = "水压Alpha";
  431. ultraTabPageControl6.Tab.Text = "加工Alpha";
  432. ultraGrid1.DisplayLayout.Bands[0].Columns["DEPARTMENT_CODE"].CellAppearance.BackColor = Color.Empty;
  433. ultraGrid1.DisplayLayout.Bands[0].Columns["UNIT_CODE"].CellAppearance.BackColor = Color.Empty;
  434. ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_CODE"].Hidden = true;
  435. }
  436. if (this.CustomInfo == "4")
  437. {
  438. splitContainer2.Panel2Collapsed = true;
  439. ultraExpandableGroupBox1.Text = "其它标准";
  440. ultraTabPageControl1.Tab.Text = "其它标准成分";
  441. ultraTabPageControl2.Tab.Text = "其它标准理化";
  442. ultraTabPageControl3.Tab.Text = "其它标准公差";
  443. ultraTabPageControl4.Tab.Text = "其它标准探伤";
  444. ultraTabPageControl5.Tab.Text = "其它标准水压";
  445. ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_CODE"].Hidden = true;
  446. }
  447. }
  448. /// <summary>
  449. /// 初始化下拉框
  450. /// </summary>
  451. private void InitComBoEditor()
  452. {
  453. for (int i = 0; i < ucbs.Length; i++)
  454. {
  455. ucbs[i] = new UltraComboEditor();
  456. Controls.Add(ucbs[i]);
  457. ucbs[i].Visible = false;
  458. }
  459. UltraGridBand ugb = ultraGrid1.DisplayLayout.Bands[0];
  460. UltraGridBand ugbC = ultraGrid2.DisplayLayout.Bands[0];
  461. //初始化标准类型
  462. QcmBaseQuery.NitializeStandardType(ucbs[0], false, this.ob);
  463. if (this.CustomInfo == "2")
  464. {
  465. ((DataTable)ucbs[0].DataSource).DefaultView.RowFilter = "CODE IN ( 'N')";
  466. }
  467. if (this.CustomInfo == "3")
  468. {
  469. ((DataTable)ucbs[0].DataSource).DefaultView.RowFilter = "CODE IN ( 'K')";
  470. }
  471. if (this.CustomInfo == "4")
  472. {
  473. ((DataTable)ucbs[0].DataSource).DefaultView.RowFilter = "CODE IN ( 'S','P')";
  474. }
  475. QcmBaseQuery.BindColumn(ucbs[0], "STDSTYLE", ugb);
  476. //初始化标准协会
  477. QcmBaseQuery.NitializeSociety(ucbs[1], true, this.ob);
  478. QcmBaseQuery.BindColumn(ucbs[1], "STD_STYLE", ugb);
  479. //初始化管理部门
  480. QcmBaseQuery.NitializeDepartment(ucbs[2], false, this.ob);
  481. QcmBaseQuery.BindColumn(ucbs[2], "DEPARTMENT_CODE", ugb);
  482. ugb.Columns["DEPARTMENT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
  483. //初始化最终客户
  484. QcmBaseQuery.NitializeCustomer(ucbs[3], true, this.ob);
  485. QcmBaseQuery.BindColumn(ucbs[3], "CUST_CODE", ugbC);
  486. //工序
  487. //QcmBaseQuery.NitializeProcess(ucbs[4], true, this.ob);
  488. //QcmBaseQuery.BindColumn(ucbs[4], "PROCESS_CODE", ugb);
  489. CreateDepartments();
  490. }
  491. /// <summary>
  492. /// 重写基类方法
  493. /// </summary>
  494. /// <param name="sender"></param>
  495. /// <param name="ToolbarKey"></param>
  496. public override void ToolBar_Click(object sender, string ToolbarKey)
  497. {
  498. switch (ToolbarKey)
  499. {
  500. case "doQuery":
  501. DoQuery();
  502. break;
  503. case "doSave":
  504. DoSave();
  505. break;
  506. case "doDelete":
  507. this.DoDeleteOrResume(true);
  508. break;
  509. case "doResume":
  510. this.DoDeleteOrResume(false);
  511. break;
  512. case "Refresh":
  513. InitComBoEditor();
  514. break;
  515. case "Close":
  516. this.Close();
  517. break;
  518. }
  519. }
  520. /// <summary>
  521. /// 查询
  522. /// </summary>
  523. private void DoQuery()
  524. {
  525. try
  526. {
  527. this.Cursor = Cursors.WaitCursor;
  528. string valid = "1";
  529. if (ChcValid.Checked)
  530. {
  531. valid = "0";
  532. }
  533. string stdName = "";
  534. if (ChcStd.Checked)
  535. {
  536. stdName = TextStd.Text.Trim();
  537. }
  538. if (CustomInfo == "2")
  539. {
  540. ArrayList list = new ArrayList();
  541. list.Add(stdName);
  542. list.Add(valid);
  543. list.Add(CustomInfo);
  544. list.Add(CustomInfo);
  545. list.Add(_processCode);
  546. list.Add(_processCode);
  547. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getComStandard", new Object[] { list }, this.ob);
  548. GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
  549. }
  550. if (CustomInfo == "3")
  551. {
  552. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.getComAlphaStd", new Object[] { valid, stdName }, this.ob);
  553. GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
  554. this.ultraGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
  555. }
  556. //定位
  557. UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { _stdName });
  558. if (rows.Length > 0)
  559. rows[0].Activate();
  560. UltraGridBand bc = ultraGrid1.DisplayLayout.Bands[0];
  561. UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["MEMO"], bc.Columns["STD_CODE"], bc.Columns["STD_NAME"] };
  562. QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
  563. isSelectData = 0;
  564. }
  565. finally
  566. {
  567. this.Cursor = Cursors.Default;
  568. }
  569. }
  570. /// <summary>
  571. /// 保存
  572. /// </summary>
  573. private void DoSave()
  574. {
  575. ultraGrid1.UpdateData();
  576. if (isSelectData == 0)
  577. {
  578. MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  579. return;
  580. }
  581. //标准基础
  582. UltraGridRow[] rowStd = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" });
  583. ArrayList stdData = new ArrayList();
  584. if (rowStd.Length > 0)
  585. {
  586. foreach (UltraGridRow row in rowStd)
  587. {
  588. //if ( UserInfo.GetUserID() != "admin" && UserInfo.GetDeptid() != row.Cells["UNIT_CODE"].ToString())
  589. //{
  590. // MessageUtil.ShowWarning("非该" + row.Cells["UNIT_CODE"].ToString() + "科室,无法修改!");
  591. // return;
  592. //}
  593. /*if (UserInfo.GetDeptid() != "002001001004" &&
  594. UserInfo.GetUserID() != "admin")
  595. {
  596. MessageUtil.ShowWarning("该记录只有标准科的成员才能修改!");
  597. return;
  598. }*/
  599. BaseStdObject com = GetObjectData.GetStdData(row);
  600. if (!CheckStdData(com, row))
  601. {
  602. MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  603. return;
  604. }
  605. com.CreateName = UserInfo.GetUserName();
  606. com.UpdateName = UserInfo.GetUserName();
  607. stdData.Add(JSONFormat.Format(com));
  608. //定位
  609. _stdName = com.StdName;
  610. }
  611. }
  612. //客户
  613. ArrayList custerData = new ArrayList();
  614. UltraGridRow[] rowCust = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CHC" }, new string[] { "True" });
  615. if (rowCust.Length > 0)
  616. {
  617. foreach (UltraGridRow row in rowCust)
  618. {
  619. StdCusterObject com = GetObjectData.GetCusterData(row);
  620. if (!CheckCustData(com))
  621. {
  622. MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  623. return;
  624. }
  625. com.CreateName = UserInfo.GetUserName();
  626. com.UpdateName = UserInfo.GetUserName();
  627. custerData.Add(JSONFormat.Format(com));
  628. //定位
  629. _custName = com.CustName;
  630. }
  631. }
  632. if (MessageBox.Show("是否保存选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  633. {
  634. return;
  635. }
  636. if (stdData.Count > 0 || custerData.Count > 0)
  637. {
  638. int count = ServerHelper.SetData("com.steering.pss.qcm.ComStandard.saveComStandard",
  639. new Object[] { stdData, custerData }, this.ob);
  640. if (count > 0)
  641. {
  642. MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  643. DoQuery();
  644. RefreshAlpha();
  645. }
  646. }
  647. }
  648. /// <summary>
  649. /// 作废与恢复
  650. /// </summary>
  651. /// <param name="flag"></param>
  652. private void DoDeleteOrResume(Boolean flag)
  653. {
  654. if (isSelectData == 0)
  655. {
  656. MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  657. return;
  658. }
  659. //标准基础
  660. UltraGridRow[] rowStd = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" });
  661. ArrayList stdData = new ArrayList();
  662. if (rowStd.Length > 0)
  663. {
  664. foreach (UltraGridRow row in rowStd)
  665. {
  666. /*if (UserInfo.GetDeptid() != "002001001004" &&
  667. UserInfo.GetUserID() != "admin")
  668. {
  669. MessageUtil.ShowWarning("该记录只有标准科的成员才能" + (flag ? "作废" : "恢复") + "!");
  670. return;
  671. }*/
  672. BaseStdObject com = GetObjectData.GetStdData(row);
  673. if (!CheckDeleteOrResume(com.Validflag, flag))
  674. {
  675. MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  676. return;
  677. }
  678. if (flag)
  679. {
  680. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.checkStdName", new Object[] { com.StdCode }, this.ob);
  681. if (dt != null && dt.Rows.Count > 0 && Convert.ToInt32(dt.Rows[0][0]) > 0)
  682. {
  683. MessageBox.Show("标准名称:" + com.StdName + " 已经被引用,不能作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  684. return;
  685. }
  686. }
  687. stdData.Add(JSONFormat.Format(com));
  688. _stdName = com.StdName;
  689. }
  690. }
  691. //客户
  692. ArrayList custData = new ArrayList();
  693. UltraGridRow[] rowCust = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CHC" }, new string[] { "True" });
  694. if (rowCust.Length > 0)
  695. {
  696. foreach (UltraGridRow row in rowCust)
  697. {
  698. StdCusterObject com = GetObjectData.GetCusterData(row);
  699. if (!CheckDeleteOrResume(com.Validflag, flag))
  700. {
  701. MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  702. return;
  703. }
  704. if (!flag)
  705. {
  706. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkFromResume", new Object[] { com.StdCode }, this.ob);
  707. if (dt != null && dt.Rows.Count > 0)
  708. {
  709. MessageBox.Show("标准名称" + com.StdName + "已经作废,不能恢复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  710. return;
  711. }
  712. }
  713. custData.Add(JSONFormat.Format(com));
  714. _custName = com.CustName;
  715. }
  716. }
  717. if (MessageBox.Show("是否" + (flag ? "作废" : "恢复") + "选择记录!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  718. {
  719. return;
  720. }
  721. if (stdData.Count > 0 || custData.Count > 0)
  722. {
  723. int count = ServerHelper.SetData("com.steering.pss.qcm.ComStandard.deleteOrResume", new Object[] { stdData, custData, flag }, this.ob);
  724. if (count > 0)
  725. {
  726. MessageBox.Show((flag ? "作废" : "恢复") + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
  727. DoQuery();
  728. }
  729. }
  730. }
  731. public static string CheckPlnCic(string cic, OpeBase ob)
  732. {
  733. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getPlnCicStatus",
  734. new object[] { cic }, ob);
  735. if (dt.Rows.Count > 0)
  736. {
  737. string status = dt.Rows[0]["EXE_STATUS"].ToString();
  738. if (status == "0")
  739. {
  740. return "计划中的轧管排产行正使用该成分索引码,不能操作!";
  741. }
  742. else if (status == "1")
  743. {
  744. return "生产中的轧管排产行正使用该成分索引码,不能操作!";
  745. }
  746. }
  747. return "";
  748. }
  749. /// <summary>
  750. /// 檢查最终客户数据
  751. /// </summary>
  752. /// <param name="com"></param>
  753. /// <returns></returns>
  754. private bool CheckCustData(StdCusterObject com)
  755. {
  756. if (com.Validflag.Equals("无效"))
  757. {
  758. errMessage = "无效记录不能操作";
  759. return false;
  760. }
  761. if (com.CustCode.Equals(""))
  762. {
  763. errMessage = "请选择客户";
  764. return false;
  765. }
  766. UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CUST_NAME" }, new string[] { com.CustName });
  767. {
  768. if (rows.Length > 1)
  769. {
  770. errMessage = "最终客户" + com.CustName + "重复,请重新选择";
  771. return false;
  772. }
  773. }
  774. if (com.Validflag.Equals(""))
  775. {
  776. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.checkCuster", new Object[] { com.StdCode, com.CustCode }, this.ob);
  777. if (dt != null && dt.Rows.Count > 0)
  778. {
  779. errMessage = "最终客户" + com.CustName + "重复,请重新选择";
  780. return false;
  781. }
  782. }
  783. else
  784. {
  785. if (!com.CustCode.Equals(com.OldCustCode))
  786. {
  787. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.checkCuster", new Object[] { com.StdCode, com.CustCode }, this.ob);
  788. if (dt != null && dt.Rows.Count > 0)
  789. {
  790. errMessage = "最终客户" + com.CustName + "重复,请重新选择";
  791. return false;
  792. }
  793. }
  794. }
  795. return true;
  796. }
  797. /// <summary>
  798. /// 检查标准数据
  799. /// </summary>
  800. /// <param name="com"></param>
  801. /// <returns></returns>
  802. private bool CheckStdData(BaseStdObject com, UltraGridRow row)
  803. {
  804. if (com.Validflag.Equals("无效"))
  805. {
  806. errMessage = "无效记录不能操作";
  807. return false;
  808. }
  809. if (com.StdName.Equals(""))
  810. {
  811. errMessage = "请输入标准名称";
  812. row.Cells["STD_CODE"].Activate();
  813. return false;
  814. }
  815. //验证标准名称在ultraGrid1是否重复
  816. UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { com.StdName });
  817. if (rows.Length > 1)
  818. {
  819. errMessage = "标准名称:" + com.StdName + " 重复,请重新输入";
  820. row.Cells["STD_CODE"].Activate();
  821. return false;
  822. }
  823. if (com.Validflag.Equals(""))
  824. {
  825. //验证标准名称在数据表是否重复
  826. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkStd", new Object[] { com.StdName, com.StdStyle }, this.ob);
  827. if (dt != null && dt.Rows.Count > 0)
  828. {
  829. errMessage = "标准名称:" + com.StdName + " 重复,请重新输入";
  830. row.Cells["STD_CODE"].Activate();
  831. return false;
  832. }
  833. }
  834. else
  835. {
  836. //验证标准名称是否重复
  837. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkStdUpdate", new Object[] { com.StdName, com.StdCode, com.StdStyle }, this.ob);
  838. if (dt != null && dt.Rows.Count > 0)
  839. {
  840. errMessage = "标准名称:" + com.StdName + " 重复,请重新输入";
  841. row.Cells["STD_CODE"].Activate();
  842. return false;
  843. }
  844. }
  845. if (com.StdStyle == "")
  846. {
  847. errMessage = "请选择标准类型";
  848. row.Cells["STDSTYLE"].Activate();
  849. return false;
  850. }
  851. if (CustomInfo == "2" && com.ProcessCode.Equals(""))
  852. {
  853. errMessage = "请选择适用工序";
  854. row.Cells["PROCESS_CODE"].Activate();
  855. return false;
  856. }
  857. if (CustomInfo != "3" && com.DepartmentCode.Equals("") && UserInfo.GetUserID() != "admin")
  858. {
  859. errMessage = "请选择管理部门";
  860. row.Cells["DEPARTMENT_CODE"].Activate();
  861. return false;
  862. }
  863. if (CustomInfo != "3" && com.UnitCode.Equals(""))
  864. {
  865. errMessage = "请选择管理科室";
  866. row.Cells["UNIT_CODE"].Activate();
  867. return false;
  868. }
  869. return true;
  870. }
  871. private DataRow GetComBaseStdRowByPk(string stdCode)
  872. {
  873. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getComBaseStdByPk",
  874. new object[] { stdCode }, ob);
  875. return dt.Rows[0];
  876. }
  877. /// <summary>
  878. /// 检验作废或者恢复
  879. /// </summary>
  880. /// <param name="valid">有效标识</param>
  881. /// <param name="flag"></param>
  882. /// <returns></returns>
  883. private bool CheckDeleteOrResume(string valid, bool flag)
  884. {
  885. if (valid.Equals(""))
  886. {
  887. errMessage = "记录未保存,不能" + (flag ? "作废" : "恢复");
  888. return false;
  889. }
  890. if (flag)
  891. {
  892. if (valid.Equals("无效"))
  893. {
  894. errMessage = "无效记录不能作废";
  895. return false;
  896. }
  897. }
  898. else
  899. {
  900. if (valid.Equals("有效"))
  901. {
  902. errMessage = "有效记录不能恢复";
  903. return false;
  904. }
  905. }
  906. return true;
  907. }
  908. /// <summary>
  909. /// 动态绑定数据源 管理科室
  910. /// </summary>
  911. private void BandDepartments(InitializeRowEventArgs e)
  912. {
  913. string pid = e.Row.Cells["DEPARTMENT_CODE"].Value.ToString();
  914. if (departments.ContainsKey(pid))
  915. {
  916. e.Row.Cells["UNIT_CODE"].EditorComponent = departments[pid];
  917. }
  918. else
  919. {
  920. e.Row.Cells["UNIT_CODE"].EditorComponent = departments["noValue"];
  921. }
  922. e.Row.Cells["UNIT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
  923. }
  924. /// <summary>
  925. /// 根据部门生成科室
  926. /// </summary>
  927. private void CreateDepartments()
  928. {
  929. int count = ucbs[2].Items.Count;
  930. departments = new Dictionary<string, UltraComboEditor>(count + 1);
  931. departments.Add("noValue", new UltraComboEditor());
  932. DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection", new object[] { }, this.ob);
  933. for (int i = 0; i < count; i++)
  934. {
  935. string pid = ucbs[2].Items[i].DataValue.ToString();
  936. dt.DefaultView.RowFilter = "PID='" + pid + "'";
  937. UltraComboEditor uce = new UltraComboEditor();
  938. uce.DataSource = dt.DefaultView.ToTable();
  939. uce.DisplayMember = "DEPARTNAME";
  940. uce.ValueMember = "DEPARTID";
  941. uce.Visible = false;
  942. departments.Add(pid, uce);
  943. Controls.Add(uce);
  944. }
  945. }
  946. private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e)
  947. {
  948. //增加一行,自动获取最大的标准代码,然后加1
  949. UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
  950. int stdCode = 0;
  951. DataRow[] rows = dataTable1.Select("", "STD_CODE DESC");
  952. if (rows.Length > 0)
  953. stdCode = Convert.ToInt32(rows[0]["STD_CODE"].ToString().Substring(3, 7));
  954. ugr.Cells["STD_CODE"].Value = "STD" + string.Format("{0:0000000}", (stdCode + 1));
  955. SetUnEnit(ugr);
  956. if (CustomInfo == "2")
  957. {
  958. e.Row.Cells["STDSTYLE"].Value = "N";
  959. }
  960. e.Row.Cells["DEPARTMENT_CODE"].Value = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), ob);
  961. e.Row.Cells["DEPARTMENT_DESC"].Value = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDepartment(), ob);
  962. e.Row.Cells["UNIT_CODE"].Value = UserInfo.GetDeptid();
  963. e.Row.Cells["UNIT_DESC"].Value = UserInfo.GetDepartment();
  964. e.Row.Cells["ACCEPT_BID"].Value = "False";
  965. e.Row.Cells["PURCHASE_STD"].Value = "False";
  966. }
  967. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  968. {
  969. ultraGrid1.UpdateData();
  970. UltraGridRow ugr = ultraGrid1.ActiveRow;
  971. if (e.Cell.Column.Key.Equals("STD_NAME")) //标准名称
  972. {
  973. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  974. {
  975. ultraGrid2.Rows[i].Cells["STD_NAME"].Value = ugr.Cells["STD_NAME"].Value.ToString().Trim();
  976. ultraGrid2.Rows[i].Cells["STD_CODE"].Value = ugr.Cells["STD_CODE"].Value.ToString().Trim();
  977. }
  978. }
  979. if (e.Cell.Column.Key.Equals("STD_STYLE")) //标准协会
  980. {
  981. ugr.Cells["STD_STYLE_NAME"].Value = ugr.Cells["STD_STYLE"].Text;
  982. }
  983. if (e.Cell.Column.Key.Equals("DEPARTMENT_CODE")) //部门管理
  984. {
  985. ugr.Cells["DEPARTMENT_DESC"].Value = ugr.Cells["DEPARTMENT_CODE"].Text;
  986. ugr.Cells["UNIT_CODE"].Value = "";
  987. ugr.Cells["UNIT_DESC"].Value = "";
  988. YdmBaseClass.InitComboEditorWithParm(uceUnitCode, "com.steering.comm.data.ComBaseInfo.getSection", "DEPARTNAME", "DEPARTID", this.ob, false, new Object[] { ugr.Cells["DEPARTMENT_CODE"].Value.ToString2() });
  989. YdmBaseClass.BindColumn(uceUnitCode, "UNIT_CODE", this.Controls, this.ultraGrid1, 0);
  990. }
  991. if (e.Cell.Column.Key.Equals("UNIT_CODE")) //科室管理
  992. {
  993. ugr.Cells["UNIT_DESC"].Value = ugr.Cells["UNIT_CODE"].Text;
  994. }
  995. if (e.Cell.Column.Key.Equals("CHC"))//选择
  996. {
  997. Activation activation = Activation.ActivateOnly;
  998. if (Convert.ToBoolean(e.Cell.Value))
  999. {
  1000. activation = Activation.AllowEdit;
  1001. isSelectData += 1;
  1002. }
  1003. else
  1004. isSelectData -= 1;
  1005. CellsCollection cells = e.Cell.Row.Cells;
  1006. for (int i = 0; i < cells.Count; i++)
  1007. {
  1008. if (!cells[i].Column.Key.Equals("CHC") && !cells[i].Column.Key.Equals("STD_NAME"))
  1009. {
  1010. e.Cell.Row.Cells[i].Activation = activation;
  1011. }
  1012. }
  1013. YdmBaseClass.InitComboEditorWithParm(uceUnitCode, "com.steering.comm.data.ComBaseInfo.getSection", "DEPARTNAME", "DEPARTID", this.ob, false, new Object[] { ugr.Cells["DEPARTMENT_CODE"].Value.ToString2() });
  1014. YdmBaseClass.BindColumn(uceUnitCode, "UNIT_CODE", this.Controls, this.ultraGrid1, 0);
  1015. YdmBaseClass.InitComboEditorNew(uceDeptCode, "com.steering.comm.data.ComBaseInfo.getDepartment", "DEPARTID", "DEPARTNAME", this.ob, false);
  1016. YdmBaseClass.BindColumn(uceDeptCode, "DEPARTMENT_CODE", this.Controls, this.ultraGrid1, 0);
  1017. if (!e.Cell.Row.Cells["VALIDFLAG"].Value.ToString().Equals(""))
  1018. {
  1019. if (ultraGrid2.Rows.Count > 0 || ultraGrid2.Rows.Count > 0)
  1020. e.Cell.Row.Cells["STD_NAME"].Activation = Activation.ActivateOnly;
  1021. else
  1022. e.Cell.Row.Cells["STD_NAME"].Activation = activation;
  1023. }
  1024. else
  1025. e.Cell.Row.Cells["STD_NAME"].Activation = activation;
  1026. }
  1027. }
  1028. private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
  1029. {
  1030. BandDepartments(e);
  1031. if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
  1032. {
  1033. e.Row.Appearance.ForeColor = Color.Red;
  1034. }
  1035. else
  1036. {
  1037. e.Row.Appearance.ForeColor = Color.Black;
  1038. }
  1039. }
  1040. private void FrmStandardN_Shown(object sender, EventArgs e)
  1041. {
  1042. disWidth = splitContainer1.SplitterDistance; ;
  1043. disLength = splitContainer2.SplitterDistance;
  1044. }
  1045. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  1046. {
  1047. if (this.ultraGrid1.ActiveRow == null)
  1048. {
  1049. MessageUtil.ShowWarning("请选择一条记录后,再进行操作!");
  1050. return;
  1051. }
  1052. if (e.Tool.Key == "ButtonTool1") //保存
  1053. {
  1054. SaveAlpha();
  1055. }
  1056. if (e.Tool.Key == "ButtonTool2") //作废
  1057. {
  1058. DeleteAlpha();
  1059. }
  1060. if (e.Tool.Key == "ButtonTool3") //恢复
  1061. {
  1062. ResumeAlpha();
  1063. }
  1064. if (e.Tool.Key == "ButtonTool4") //刷新
  1065. {
  1066. RefreshAlpha();
  1067. }
  1068. if (e.Tool.Key == "ButtonTool5") //分组
  1069. {
  1070. GroupAlpha();
  1071. }
  1072. if (e.Tool.Key == "ButtonTool6") //取消分组
  1073. {
  1074. CancelGroupAlpha();
  1075. }
  1076. if (e.Tool.Key == "复制")
  1077. {
  1078. Copy();
  1079. }
  1080. if (e.Tool.Key == "粘贴")
  1081. {
  1082. Paste();
  1083. }
  1084. if (e.Tool.Key == "分析成分内控")
  1085. {
  1086. AnalysisNkChem();
  1087. }
  1088. if (e.Tool.Key == "导出Excel")
  1089. {
  1090. ExportExcel();
  1091. }
  1092. if (e.Tool.Key == "保存模板") //保存模板
  1093. {
  1094. SaveTemplate();
  1095. }
  1096. }
  1097. private void SaveTemplate()
  1098. {
  1099. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1100. if (ugr == null)
  1101. return;
  1102. switch (ultraTabControl1.SelectedTab.Key)
  1103. {
  1104. case "2":
  1105. _ctrlMscMaterial.SaveTemplate();
  1106. break;
  1107. }
  1108. }
  1109. private void ExportExcel()
  1110. {
  1111. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1112. if (ugr == null)
  1113. return;
  1114. switch (ultraTabControl1.SelectedTab.Key)
  1115. {
  1116. case "1":
  1117. GridHelper.ulGridToExcel(_ctrlMscChem.Grid, "成分内控");
  1118. break;
  1119. case "2":
  1120. GridHelper.ulGridToExcel(_ctrlMscMaterial.Grid, "理化内控");
  1121. break;
  1122. case "3":
  1123. GridHelper.ulGridToExcel(_ctrlMscTolerances.Grid, "公差内控");
  1124. break;
  1125. case "4":
  1126. GridHelper.ulGridToExcel(_ctrlMscDetection.Grid, "探伤内控");
  1127. break;
  1128. case "5":
  1129. GridHelper.ulGridToExcel(_ctrlMscProductWater.Grid, "水压内控");
  1130. break;
  1131. case "6":
  1132. GridHelper.ulGridToExcel(_ctrlMscStdProcess.Grid, "加工内控");
  1133. break;
  1134. }
  1135. }
  1136. private void AnalysisNkChem()
  1137. {
  1138. this.Cursor = Cursors.WaitCursor;
  1139. var pRows = _ctrlMscChem.Grid.Rows.Where(a => a.GetValue("CHC") == "True");
  1140. DataTable dt = new DataTable();
  1141. dt.Columns.AddRange(new DataColumn[]{ new DataColumn("CIC"), new DataColumn("GRADENAME"),
  1142. new DataColumn("CHEM_NAME"), new DataColumn("STD_MIN_SIGN"), new DataColumn("STD_MIN"), new DataColumn("STD_MAX_SIGN"),
  1143. new DataColumn("STD_MAX") });
  1144. Dictionary<DataRow, List<DataRow>> dicSource = new Dictionary<DataRow, List<DataRow>>();
  1145. foreach (var pRow in pRows)
  1146. {
  1147. DataRow pDr = dt.NewRow();
  1148. pDr["CIC"] = pRow.GetValue("CIC");
  1149. pDr["GRADENAME"] = pRow.GetValue("GRADENAME");
  1150. List<DataRow> cDrs = new List<DataRow>();
  1151. dicSource.Add(pDr, cDrs);
  1152. var cRows = pRow.ChildBands[0].Rows.Where(a => a.GetValue("VALIDFLAG") != "");
  1153. foreach (var cRow in cRows)
  1154. {
  1155. DataRow dr = dt.NewRow();
  1156. dr["CIC"] = cRow.GetValue("CIC");
  1157. dr["GRADENAME"] = pRow.GetValue("GRADENAME");
  1158. dr["CHEM_NAME"] = cRow.GetValue("CHEM_NAME");
  1159. dr["STD_MIN_SIGN"] = cRow.GetValue("STDMIN_SIGN");
  1160. dr["STD_MIN"] = cRow.GetValue("STDMIN");
  1161. dr["STD_MAX_SIGN"] = cRow.GetValue("STDMAX_SIGN");
  1162. dr["STD_MAX"] = cRow.GetValue("STDMAX");
  1163. cDrs.Add(dr);
  1164. }
  1165. }
  1166. AnalysisNkChemPopup popup = new AnalysisNkChemPopup(dicSource);
  1167. popup.TopMost = true;
  1168. popup.Load += ((a, b) =>
  1169. {
  1170. this.Cursor = Cursors.Default;
  1171. });
  1172. popup.Show();
  1173. }
  1174. private void QueryAlpha()
  1175. {
  1176. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1177. if (ugr == null)
  1178. return;
  1179. string stdCode = ugr.GetValue("STD_CODE");
  1180. switch (ultraTabControl1.SelectedTab.Key)
  1181. {
  1182. case "1":
  1183. _ctrlMscChem.ShowStdGrid(stdCode, _productCode, _steelCodes, _steelcodeNk,
  1184. _processCode, this.ob);
  1185. _ctrlMscChem.IsQueryValidData = ChcValid.Checked;
  1186. _ctrlMscChem.QueryStd(stdCode, _productCode, _steelCodes, modelCode);
  1187. //_ctrlMscChem.ExpandFirstRow();
  1188. break;
  1189. case "2":
  1190. _ctrlMscMaterial.ShowStdGrid(stdCode, _steelCodes, _productCode, _steelcodeNk,
  1191. _processCode, _msc, _ordLnPk, this.ob);
  1192. _ctrlMscMaterial.IsQueryValidData = ChcValid.Checked;
  1193. _ctrlMscMaterial.QueryStd(stdCode, _steelCodes, modelCode);
  1194. //_ctrlMscMaterial.ExpandFirstRow();
  1195. break;
  1196. case "3":
  1197. _ctrlMscTolerances.ShowStdGrid(stdCode, _productCode, _steelcodeNk,
  1198. _processCode, this.ob);
  1199. _ctrlMscTolerances.IsQueryValidData = ChcValid.Checked;
  1200. _ctrlMscTolerances.QueryStd(stdCode, modelCode);
  1201. //_ctrlMscTolerances.ExpandFirstRow();
  1202. break;
  1203. case "4":
  1204. _ctrlMscDetection.ShowStdGrid(stdCode, "", "", "1", _productCode,
  1205. _steelcodeNk, _processCode, this.ob);
  1206. _ctrlMscDetection.IsQueryValidData = ChcValid.Checked;
  1207. _ctrlMscDetection.QueryStd(stdCode, modelCode);
  1208. //_ctrlMscDetection.ExpandFirstRow();
  1209. break;
  1210. case "5":
  1211. _ctrlMscProductWater.ShowStdGrid(stdCode, _productCode, _steelcodeNk,
  1212. _processCode, psc, _ordLnPk, this.ob);
  1213. _ctrlMscProductWater.IsQueryValidData = ChcValid.Checked;
  1214. _ctrlMscProductWater.QueryStd(stdCode, modelCode);
  1215. //_ctrlMscProductWater.ExpandFirstRow();
  1216. break;
  1217. case "6":
  1218. _ctrlMscStdProcess.ShowStdGrid(stdCode, _productCode, _steelcodeNk,
  1219. _processCode, this.ob);
  1220. _ctrlMscStdProcess.IsQueryValidData = ChcValid.Checked;
  1221. _ctrlMscStdProcess.QueryStd(stdCode, modelCode);
  1222. //_ctrlMscStdProcess.ExpandFirstRow();
  1223. break;
  1224. }
  1225. }
  1226. private void SaveAlpha()
  1227. {
  1228. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1229. if (ugr == null)
  1230. return;
  1231. switch (ultraTabControl1.SelectedTab.Key)
  1232. {
  1233. case "1":
  1234. _ctrlMscChem.Save();
  1235. break;
  1236. case "2":
  1237. _ctrlMscMaterial.Save();
  1238. break;
  1239. case "3":
  1240. _ctrlMscTolerances.Save();
  1241. break;
  1242. case "4":
  1243. _ctrlMscDetection.Save();
  1244. break;
  1245. case "5":
  1246. _ctrlMscProductWater.Save();
  1247. break;
  1248. case "6":
  1249. _ctrlMscStdProcess.Save();
  1250. break;
  1251. }
  1252. }
  1253. private void DeleteAlpha()
  1254. {
  1255. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1256. if (ugr == null)
  1257. return;
  1258. switch (ultraTabControl1.SelectedTab.Key)
  1259. {
  1260. case "1":
  1261. _ctrlMscChem.Delete();
  1262. break;
  1263. case "2":
  1264. _ctrlMscMaterial.Delete();
  1265. break;
  1266. case "3":
  1267. _ctrlMscTolerances.Delete();
  1268. break;
  1269. case "4":
  1270. _ctrlMscDetection.Delete();
  1271. break;
  1272. case "5":
  1273. _ctrlMscProductWater.Delete();
  1274. break;
  1275. case "6":
  1276. _ctrlMscStdProcess.Delete();
  1277. break;
  1278. }
  1279. }
  1280. private void ResumeAlpha()
  1281. {
  1282. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1283. if (ugr == null)
  1284. return;
  1285. switch (ultraTabControl1.SelectedTab.Key)
  1286. {
  1287. case "1":
  1288. _ctrlMscChem.Resume();
  1289. break;
  1290. case "2":
  1291. _ctrlMscMaterial.Resume();
  1292. break;
  1293. case "3":
  1294. _ctrlMscTolerances.Resume();
  1295. break;
  1296. case "4":
  1297. _ctrlMscDetection.Resume();
  1298. break;
  1299. case "5":
  1300. _ctrlMscProductWater.Resume();
  1301. break;
  1302. case "6":
  1303. _ctrlMscStdProcess.Resume();
  1304. break;
  1305. }
  1306. }
  1307. private void GroupAlpha()
  1308. {
  1309. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1310. DataRow drComBaseStd = GetComBaseStdRowByPk(ugr.GetValue("STD_CODE"));
  1311. /*if (drComBaseStd["ACCEPT_BID"].ToString() == "1" && drComBaseStd["UNIT_CODE"].ToString() != UserInfo.GetDeptid() &&
  1312. UserInfo.GetUserID() != "admin")
  1313. {
  1314. MessageUtil.ShowWarning("该记录只有[" + drComBaseStd["UNIT_DESC"].ToString() + "]的成员才能操作!");
  1315. return;
  1316. }*/
  1317. if (ultraTabControl1.SelectedTab.Key == "2")
  1318. _ctrlMscMaterial.Group();
  1319. else if (ultraTabControl1.SelectedTab.Key == "3")
  1320. _ctrlMscTolerances.Group();
  1321. else if (ultraTabControl1.SelectedTab.Key == "4")
  1322. _ctrlMscDetection.Group();
  1323. else if (ultraTabControl1.SelectedTab.Key == "6")
  1324. _ctrlMscStdProcess.Group();
  1325. else if (ultraTabControl1.SelectedTab.Key == "1")
  1326. _ctrlMscChem.Group();
  1327. }
  1328. private void CancelGroupAlpha()
  1329. {
  1330. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1331. DataRow drComBaseStd = GetComBaseStdRowByPk(ugr.GetValue("STD_CODE"));
  1332. /*if (drComBaseStd["ACCEPT_BID"].ToString() == "1" && drComBaseStd["UNIT_CODE"].ToString() != UserInfo.GetDeptid() &&
  1333. UserInfo.GetUserID() != "admin")
  1334. {
  1335. MessageUtil.ShowWarning("该记录只有[" + drComBaseStd["UNIT_DESC"].ToString() + "]的成员才能操作!");
  1336. return;
  1337. }*/
  1338. if (ultraTabControl1.SelectedTab.Key == "2")
  1339. _ctrlMscMaterial.CancelGroup();
  1340. else if (ultraTabControl1.SelectedTab.Key == "3")
  1341. _ctrlMscTolerances.CancelGroup();
  1342. else if (ultraTabControl1.SelectedTab.Key == "4")
  1343. _ctrlMscDetection.CancelGroup();
  1344. else if (ultraTabControl1.SelectedTab.Key == "6")
  1345. _ctrlMscStdProcess.CancelGroup();
  1346. else if (ultraTabControl1.SelectedTab.Key == "1")
  1347. _ctrlMscChem.CancelGroup();
  1348. }
  1349. private void RefreshAlpha()
  1350. {
  1351. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1352. if (ugr == null)
  1353. return;
  1354. switch (ultraTabControl1.SelectedTab.Key)
  1355. {
  1356. case "1":
  1357. _ctrlMscChem.RefreshData();
  1358. break;
  1359. case "2":
  1360. _ctrlMscMaterial.RefreshData();
  1361. break;
  1362. case "3":
  1363. _ctrlMscTolerances.RefreshData();
  1364. break;
  1365. case "4":
  1366. _ctrlMscDetection.RefreshData();
  1367. break;
  1368. case "5":
  1369. _ctrlMscProductWater.RefreshData();
  1370. break;
  1371. case "6":
  1372. _ctrlMscStdProcess.RefreshData();
  1373. break;
  1374. }
  1375. }
  1376. private void Copy()
  1377. {
  1378. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1379. if (ugr == null)
  1380. return;
  1381. switch (ultraTabControl1.SelectedTab.Key)
  1382. {
  1383. case "1":
  1384. _ctrlMscChem.Copy();
  1385. break;
  1386. case "2":
  1387. _ctrlMscMaterial.Copy();
  1388. break;
  1389. case "3":
  1390. _ctrlMscTolerances.Copy();
  1391. break;
  1392. case "4":
  1393. _ctrlMscDetection.Copy();
  1394. break;
  1395. case "5":
  1396. _ctrlMscProductWater.Copy();
  1397. break;
  1398. case "6":
  1399. _ctrlMscStdProcess.Copy();
  1400. break;
  1401. }
  1402. }
  1403. private void Paste()
  1404. {
  1405. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  1406. if (ugr == null)
  1407. return;
  1408. switch (ultraTabControl1.SelectedTab.Key)
  1409. {
  1410. case "1":
  1411. _ctrlMscChem.Paste();
  1412. break;
  1413. case "2":
  1414. _ctrlMscMaterial.Paste();
  1415. break;
  1416. case "3":
  1417. _ctrlMscTolerances.Paste();
  1418. break;
  1419. case "4":
  1420. _ctrlMscDetection.Paste();
  1421. break;
  1422. case "5":
  1423. _ctrlMscProductWater.Paste();
  1424. break;
  1425. case "6":
  1426. _ctrlMscStdProcess.Paste();
  1427. break;
  1428. }
  1429. }
  1430. private DataTable GetStationType()
  1431. {
  1432. if (_msc == "") return null;
  1433. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getStationType",
  1434. new object[] { _msc, _mscPline, _processCode }, ob);
  1435. return dt;
  1436. }
  1437. /// <summary>
  1438. /// 行激活事件
  1439. /// </summary>
  1440. /// <param name="sender"></param>
  1441. /// <param name="e"></param>
  1442. public void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  1443. {
  1444. try
  1445. {
  1446. ((Form)ultraGrid1.TopLevelControl).Cursor = Cursors.WaitCursor;
  1447. UltraGridRow ugr = ultraGrid1.ActiveRow;
  1448. if (ugr == null)
  1449. return;
  1450. DataTable stationType = GetStationType();
  1451. if (stationType != null)
  1452. {
  1453. if (stationType.Select("STATION_TYPE = '403202'").Length > 0)
  1454. {
  1455. ultraTabControl1.Tabs["2"].Visible = true;
  1456. }
  1457. else
  1458. {
  1459. ultraTabControl1.Tabs["2"].Visible = false;
  1460. }
  1461. if (stationType.Select("STATION_TYPE = '403201'").Length > 0)
  1462. {
  1463. ultraTabControl1.Tabs["1"].Visible = true;
  1464. }
  1465. else
  1466. {
  1467. ultraTabControl1.Tabs["1"].Visible = false;
  1468. }
  1469. if (stationType.Select("STATION_TYPE = '403203'").Length > 0)
  1470. {
  1471. ultraTabControl1.Tabs["3"].Visible = true;
  1472. }
  1473. else
  1474. {
  1475. ultraTabControl1.Tabs["3"].Visible = false;
  1476. }
  1477. if (stationType.Select("STATION_TYPE = '403204'").Length > 0)
  1478. {
  1479. ultraTabControl1.Tabs["4"].Visible = true;
  1480. }
  1481. else
  1482. {
  1483. ultraTabControl1.Tabs["4"].Visible = false;
  1484. }
  1485. if (stationType.Select("STATION_TYPE = '403205'").Length > 0)
  1486. {
  1487. ultraTabControl1.Tabs["5"].Visible = true;
  1488. }
  1489. else
  1490. {
  1491. ultraTabControl1.Tabs["5"].Visible = false;
  1492. }
  1493. if (stationType.Select("STATION_TYPE = '403208'").Length > 0)
  1494. {
  1495. ultraTabControl1.Tabs["6"].Visible = true;
  1496. }
  1497. else
  1498. {
  1499. ultraTabControl1.Tabs["6"].Visible = false;
  1500. }
  1501. }
  1502. if (ultraTabControl1.ActiveTab != null)
  1503. switch (ultraTabControl1.ActiveTab.Key)
  1504. {
  1505. case "1":
  1506. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1507. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1508. break;
  1509. case "2":
  1510. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1511. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1512. break;
  1513. case "3":
  1514. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1515. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1516. break;
  1517. case "4":
  1518. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1519. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1520. break;
  1521. case "5":
  1522. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.False;
  1523. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.False;
  1524. break;
  1525. case "6":
  1526. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1527. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1528. break;
  1529. }
  1530. _stdName = ugr.Cells["STD_NAME"].Value.ToString();
  1531. if (ugr.Cells["PROCESS_DESC"].Text.Contains("加工"))
  1532. {
  1533. _ctrlMscStdProcess.Grid.Enabled = true;
  1534. }
  1535. else
  1536. {
  1537. _ctrlMscStdProcess.Grid.Enabled = false;
  1538. }
  1539. //如果有效,则可用
  1540. if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("有效"))
  1541. {
  1542. ultraGrid2.Enabled = true;
  1543. //查询客户
  1544. if (CustomInfo == "3")
  1545. {
  1546. string valid = "1";
  1547. if (ChcValid.Checked)
  1548. {
  1549. valid = "0";
  1550. }
  1551. string stdCode = ugr.Cells["STD_CODE"].Value.ToString();
  1552. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getCuster", new Object[] { stdCode, valid }, this.ob);
  1553. GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true);
  1554. //定位
  1555. UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CUST_NAME" }, new string[] { _custName });
  1556. if (rows.Length > 0)
  1557. rows[0].Activate();
  1558. _custName = "";
  1559. UltraGridBand bc = ultraGrid2.DisplayLayout.Bands[0];
  1560. UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["CHC"], bc.Columns["CUST_CODE"] };
  1561. QcmBaseCommon.SetUltraGridNoEdit(ultraGrid2);
  1562. }
  1563. else
  1564. {
  1565. dataTable2.Rows.Clear();
  1566. }
  1567. }
  1568. else
  1569. {
  1570. dataTable2.Rows.Clear();
  1571. ultraGrid2.Enabled = false;
  1572. }
  1573. if (ugr == null || !ugr.Cells["validflag"].Value.Equals("有效"))
  1574. {
  1575. this.ultraTabControl1.Enabled = false;
  1576. _ctrlMscChem.Clear();
  1577. _ctrlMscDetection.Clear();
  1578. _ctrlMscMaterial.Clear();
  1579. _ctrlMscProductWater.Clear();
  1580. _ctrlMscStdProcess.Clear();
  1581. _ctrlMscTolerances.Clear();
  1582. return;
  1583. }
  1584. else
  1585. {
  1586. this.ultraTabControl1.Enabled = true;
  1587. }
  1588. _ctrlMscChem._frmChemStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
  1589. _ctrlMscMaterial._frmMaterialStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
  1590. _ctrlMscTolerances._frmTolerancesStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
  1591. _ctrlMscDetection._frmDetectionStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
  1592. _ctrlMscProductWater._frmWaterStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
  1593. _ctrlMscStdProcess._frmProcessStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
  1594. QueryAlpha();
  1595. if (AfterRowActivate != null)
  1596. {
  1597. AfterRowActivate.Invoke(ultraGrid1, EventArgs.Empty);
  1598. }
  1599. //controlPhy();
  1600. }
  1601. finally
  1602. {
  1603. ((Form)ultraGrid1.TopLevelControl).Cursor = Cursors.Default;
  1604. }
  1605. }
  1606. private void ChcValid_CheckedChanged(object sender, EventArgs e)
  1607. {
  1608. UltraGridRow ugr = ultraGrid1.ActiveRow;
  1609. if (ugr == null)
  1610. {
  1611. this.ultraTabControl1.Enabled = false;
  1612. return;
  1613. }
  1614. else
  1615. {
  1616. this.ultraTabControl1.Enabled = true;
  1617. }
  1618. QueryAlpha();
  1619. }
  1620. private void ultraTabControl1_SelectedTabChanged(object sender, SelectedTabChangedEventArgs e)
  1621. {
  1622. ultraTabControl1.TopLevelControl.Cursor = Cursors.WaitCursor;
  1623. try
  1624. {
  1625. UltraGridRow ugr = ultraGrid1.ActiveRow;
  1626. if (ugr == null)
  1627. {
  1628. this.ultraTabControl1.Enabled = false;
  1629. return;
  1630. }
  1631. else
  1632. {
  1633. this.ultraTabControl1.Enabled = true;
  1634. }
  1635. //if (e.Tab.Key == "2")
  1636. // this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1637. //else
  1638. // this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.False;
  1639. this.ultraToolbarsManager1.Toolbars[0].Tools["保存模板"].SharedProps.Visible = false;
  1640. switch (e.Tab.Key)
  1641. {
  1642. case "1":
  1643. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1644. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1645. this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.True;
  1646. break;
  1647. case "2":
  1648. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1649. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1650. this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
  1651. this.ultraToolbarsManager1.Toolbars[0].Tools["保存模板"].SharedProps.Visible = true;
  1652. break;
  1653. case "3":
  1654. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1655. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1656. this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
  1657. break;
  1658. case "4":
  1659. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1660. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1661. this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
  1662. break;
  1663. case "5":
  1664. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.False;
  1665. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.False;
  1666. this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
  1667. break;
  1668. case "6":
  1669. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
  1670. this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
  1671. this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
  1672. break;
  1673. }
  1674. //RefreshAlpha();
  1675. QueryAlpha();
  1676. }
  1677. finally
  1678. {
  1679. ultraTabControl1.TopLevelControl.Cursor = Cursors.Arrow;
  1680. }
  1681. }
  1682. private void ultraGrid2_AfterRowInsert(object sender, RowEventArgs e)
  1683. {
  1684. UltraGridRow ugrCust = ultraGrid2.DisplayLayout.ActiveRow;
  1685. UltraGridRow ugrStd = ultraGrid1.DisplayLayout.ActiveRow;
  1686. if (ugrCust == null)
  1687. return;
  1688. if (ugrStd == null)
  1689. return;
  1690. ugrCust.Cells["STD_NAME"].Value = ugrStd.Cells["STD_NAME"].Value.ToString().Trim();
  1691. ugrCust.Cells["STD_CODE"].Value = ugrStd.Cells["STD_CODE"].Value.ToString().Trim();
  1692. SetUnEnit(ugrCust);
  1693. }
  1694. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  1695. {
  1696. ultraGrid2.UpdateData();
  1697. if (e.Cell.Column.Key.Equals("CUST_CODE")) //客户
  1698. {
  1699. e.Cell.Row.Cells["CUST_NAME"].Value = e.Cell.Text;
  1700. }
  1701. if (e.Cell.Column.Key.Equals("CHC")) //选择
  1702. {
  1703. Activation activation = Activation.ActivateOnly;
  1704. if (Convert.ToBoolean(e.Cell.Value))
  1705. {
  1706. activation = Activation.AllowEdit;
  1707. isSelectData += 1;
  1708. }
  1709. else
  1710. isSelectData -= 1;
  1711. CellsCollection cells = e.Cell.Row.Cells;
  1712. for (int i = 0; i < cells.Count; i++)
  1713. {
  1714. if (!cells[i].Column.Key.Equals("CHC"))
  1715. {
  1716. e.Cell.Row.Cells[i].Activation = activation;
  1717. }
  1718. }
  1719. }
  1720. }
  1721. private void ultraGrid2_InitializeRow(object sender, InitializeRowEventArgs e)
  1722. {
  1723. if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
  1724. {
  1725. e.Row.Appearance.ForeColor = Color.Red;
  1726. }
  1727. else
  1728. {
  1729. e.Row.Appearance.ForeColor = Color.Black;
  1730. }
  1731. }
  1732. /// <summary>
  1733. /// 行不可编辑
  1734. /// </summary>
  1735. /// <param name="ugr"></param>
  1736. private void SetUnEnit(UltraGridRow ugr)
  1737. {
  1738. //增加行如果没有勾选则不可编辑
  1739. if (!Convert.ToBoolean(ugr.Cells["CHC"].Value))
  1740. {
  1741. for (int i = 0; i < ugr.Cells.Count; i++)
  1742. {
  1743. if (!ugr.Cells[i].Column.Key.Equals("CHC"))
  1744. ugr.Cells[i].Activation = Activation.ActivateOnly;
  1745. }
  1746. }
  1747. }
  1748. private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e)
  1749. {
  1750. if (ultraExpandableGroupBox2.Expanded)
  1751. {
  1752. splitContainer2.SplitterDistance = disLength;
  1753. }
  1754. else
  1755. splitContainer2.SplitterDistance = this.Width;
  1756. }
  1757. private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
  1758. {
  1759. if (ultraExpandableGroupBox1.Expanded)
  1760. splitContainer1.SplitterDistance = disWidth;
  1761. else
  1762. splitContainer1.SplitterDistance = this.Width;
  1763. }
  1764. private void ChcStd_CheckedChanged(object sender, EventArgs e)
  1765. {
  1766. if (ChcStd.Checked)
  1767. {
  1768. TextStd.Enabled = true;
  1769. }
  1770. else
  1771. TextStd.Enabled = false;
  1772. }
  1773. private void controlPhy()
  1774. {
  1775. //if (ultraGrid1.ActiveRow.Cells["PROCESS_CODE"].Text.Trim().Equals("炼钢"))
  1776. //{
  1777. // _ctrlMscMaterial.Grid.DisplayLayout.Bands[0].Columns["STEELCODE"].CellActivation = Activation.ActivateOnly;
  1778. // _ctrlMscMaterial.Grid.DisplayLayout.Bands[0].Columns["GRADECODE"].CellActivation = Activation.AllowEdit;
  1779. //}
  1780. //else
  1781. //{
  1782. // _ctrlMscMaterial.Grid.DisplayLayout.Bands[0].Columns["STEELCODE"].CellActivation = Activation.AllowEdit;
  1783. // _ctrlMscMaterial.Grid.DisplayLayout.Bands[0].Columns["GRADECODE"].CellActivation = Activation.ActivateOnly;
  1784. //}
  1785. }
  1786. private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e)
  1787. {
  1788. string processCodes = ultraGrid1.ActiveRow.GetValue("PROCESS_CODE") == ""
  1789. ? _processCode : ultraGrid1.ActiveRow.GetValue("PROCESS_CODE");
  1790. ChoiceProcessPopup choiceProcessPopup = new ChoiceProcessPopup(processCodes, this.ob);
  1791. if (choiceProcessPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  1792. {
  1793. ultraGrid1.ActiveRow.SetValue("PROCESS_CODE", choiceProcessPopup.ProcessCodes);
  1794. ultraGrid1.ActiveRow.SetValue("PROCESS_DESC", choiceProcessPopup.ProcessDescs);
  1795. }
  1796. }
  1797. private void ultraGrid1_KeyDown(object sender, KeyEventArgs e)
  1798. {
  1799. //ultraGrid1.DisplayLayout.Bands[0].Override.AllowMultiCellOperations = AllowMultiCellOperation.Copy | AllowMultiCellOperation.Paste;
  1800. //if (e.Control && e.KeyCode == Keys.C)
  1801. //{
  1802. // ultraGrid1.PerformAction(UltraGridAction.Copy);
  1803. //}
  1804. //else if (e.Control && e.KeyCode == Keys.V)
  1805. //{
  1806. // ultraGrid1.PerformAction(UltraGridAction.Paste);
  1807. //}
  1808. }
  1809. private void ultraGrid1_Error(object sender, ErrorEventArgs e)
  1810. {
  1811. //e.Cancel = true;
  1812. }
  1813. }
  1814. }