FrmBaseMatStdDetail.cs 77 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Infragistics.Win.UltraWinGrid;
  11. using Core.Mes.Client.Comm.Tool;
  12. using System.Collections;
  13. using Core.Mes.Client.Comm.Control;
  14. namespace Core.StlMes.Client.Lims.Data.Mat
  15. {
  16. public partial class FrmBaseMatStdDetail : FrmBase
  17. {
  18. public FrmBaseMatStdDetail()
  19. {
  20. InitializeComponent();
  21. }
  22. protected override void OnLoad(EventArgs e)
  23. {
  24. base.OnLoad(e);
  25. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
  26. ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  27. ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  28. ultraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  29. }
  30. private void FrmBaseMatStdDetail_Load(object sender, EventArgs e)
  31. {
  32. InitColumns();
  33. BindComboxData();
  34. }
  35. private void InitColumns()
  36. {
  37. //各表记入备注
  38. string[] arrColumnsCheck = new string[] { "STANDARDS_ID", "STANDARDS_NO", "STANDARDS_CODE" };
  39. string[] arrCaptionCheck = new string[] { "检验标准", "检验标准组号", "检验标准" };
  40. PublicMat.InitColumns(arrColumnsCheck, arrCaptionCheck, dataTable1, ultraGrid1, new string[] { "STANDARDS_CODE" }, true, null);
  41. string[] arrColumns = new string[] { "CHK", "PRODUCT_STD_ID", "PRODUCT_STD_NO", "PRODUCT_STD", "ITEM_CODE", "ITEM_NAME", "GRADE", "STANDARDS_ID", "STANDARDS_CODE", "VALIDFLAG", "REMARK" };
  42. string[] arrCaption = new string[] { "选择", "检验标准", "检验标准组号", "检验标准", "物料名称", "物料名称", "牌号", "产品标准", "产品标准", "是否有效", "备注" };
  43. PublicMat.InitColumns(arrColumns, arrCaption, dataTable2, ultraGrid2, new string[] { "CHK", "ITEM_CODE", "STANDARDS_CODE", "REMARK" }, true, new string[] { "CHK", "ITEM_CODE", "STANDARDS_CODE", "REMARK" });
  44. string[] arrColumnsBase = new string[] { "CHK", "MIC", "MIC_DESC", "PRODUCT_STD_ID", "PRODUCT_STD", "ITEM_CODE", "ITEM_NAME", "GRADE", "STANDARDS_ID", "STANDARDS_CODE", "GROUP_LEVEL_CODE", "GROUP_LEVEL", "JUDGE_LEVEL_CODE", "JUDGE_LEVEL", "ITEM_ATTR_ID", "ITEM_ATTR", "JUDGE_TYPE_CODE", "JUDGE_TYPE", "CHECK_CYCLE", "GET_SAMPLE_STD_NO", "GET_SAMPLE_STD", "GET_SAMPLE_STD_RATE", "BATCH_COUNT", "GET_SAMPLE_STD_RATE_UNIT", "GET_SAMPLE_STD_DESC", "REMARK", "CREATE_NAME", "CREATE_TIME", "UPDATE_NAME", "UPDATE_TIME", "VALIDFLAG" };
  45. string[] arrCaptionBase = new string[] { "选择", "MIC", "规范描述", "检验标准", "检验标准", "物料名称", "物料名称", "牌号", "产品标准", "产品标准", "组别", "组别", "级别", "级别", "等级属性", "等级属性", "验收方式", "验收方式", "检验/验证周期", "取样标准", "取样标准", "取样频次", "批次量", "批单位", "取样标准描述", "备注", "创建人", "创建时间", "修改人", "修改时间", "是否有效" };
  46. PublicMat.InitColumns(arrColumnsBase, arrCaptionBase, dataTable3, ultraGrid3, new string[] { "MIC_DESC", "PRODUCT_STD_ID", "PRODUCT_STD", "PRODUCT_STD", "ITEM_CODE", "GRADE", "STANDARDS_ID", "GROUP_LEVEL_CODE", "JUDGE_LEVEL_CODE", "JUDGE_LEVEL", "ITEM_ATTR_ID", "JUDGE_TYPE", "CHECK_CYCLE", "CREATE_NAME", "GET_SAMPLE_STD", "CREATE_TIME", "UPDATE_NAME", "UPDATE_TIME", "VALIDFLAG" }, false, new string[] { "CHK", "ITEM_NAME", "STANDARDS_CODE", "GROUP_LEVEL", "JUDGE_LEVEL_CODE", "ITEM_ATTR", "JUDGE_TYPE_CODE", "CHECK_CYCLE", "GET_SAMPLE_STD_NO", "GET_SAMPLE_STD_RATE", "BATCH_COUNT", "GET_SAMPLE_STD_RATE_UNIT", "GET_SAMPLE_STD_DESC", "REMARK" });
  47. string[] arrColumnsDetail = new string[] { "CHK", "MIC", "MAT_CODE", "MAT_NAME", "ADD_CONDITION", "COMPLEX_TYPE", "MAT_FORMULA", "STDMIN_SIGN", "STDMIN", "STDMAX_SIGN", "STDMAX", "JUDGE_TYPE_CODE", "JUDGE_TYPE", "CHECK_CYCLE", "CHECK_CYCLE_NUM", "CHECK_CYCLE_UNIT", "CHECK_CONDITION", "REMARK", "STD_TYPE", "VALIDFLAG", "MAT_UNIT" };
  48. string[] arrCaptionDetail = new string[] { "选择", "MIC", "检验项目", "检验项目", "条件", "是否复合检验项", "公式", "下限符号", "下限", "上限符号", "上限", "验收方式", "验收方式", "检验/验证周期", "周期数量", "周期单位", "试验要求", "备注", "类型", "是否有效", "单位" };
  49. PublicMat.InitColumns(arrColumnsDetail, arrCaptionDetail, dataTable4, ultraGrid4, new string[] { "MIC", "MAT_NAME", "COMPLEX_TYPE", "MAT_FORMULA", "JUDGE_TYPE", "CHECK_CYCLE", "STD_TYPE", "VALIDFLAG" }, false, arrColumnsDetail);
  50. }
  51. //查询原材料取样标准
  52. public void QueryMatGetSampleStd()
  53. {
  54. try
  55. {
  56. ArrayList arrayList = new ArrayList();
  57. arrayList.Add("1");
  58. arrayList.Add("1");
  59. arrayList.Add("1");
  60. arrayList.Add("409203");
  61. arrayList.Add("409203");
  62. arrayList.Add("");
  63. arrayList.Add("");
  64. arrayList.Add("");
  65. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseMatStdDetail.QueryMatStdManageBase",
  66. new Object[] { arrayList }, ob);//FrmBaseMatStdManage
  67. ultraGET_SAMPLE_STD.DataSource = dt;
  68. ultraGET_SAMPLE_STD.ValueMember = "STANDARDS_NO";//存取NO
  69. ultraGET_SAMPLE_STD.DisplayMember = "STANDARDS_CODE";
  70. DataRow dr = dt.NewRow();
  71. dr[0] = "";
  72. dr[1] = "";
  73. dt.Rows.Add(dr);
  74. }
  75. catch (Exception ex)
  76. {
  77. MessageUtil.ShowError(ex.Message);
  78. }
  79. }
  80. private void BindComboxData()
  81. {
  82. QueryMatGetSampleStd();
  83. UltraITEM_NAME.QueryMatItemsName(this.ob);
  84. UltraSTANDARDS_CODE.QueryStd_Code(this.ob);
  85. //ultraPRODUCT_STD.QueryProduct_Std(this.ob);
  86. ultraGROUP_LEVEL.QueryGroup_Level(this.ob);
  87. //ultraJUDGE_LEVEL.QueryJudge_Level(this.ob);//等级
  88. UltraJUDGE_TYPE.QueryJudge_Type(this.ob);
  89. ultraMAT_NAME.QueryMatName(this.ob);
  90. //下拉框赋值
  91. ultraGrid2.DisplayLayout.Bands[0].Columns["ITEM_CODE"].EditorComponent = UltraITEM_NAME.Ult;
  92. //ultraGrid2.DisplayLayout.Bands[0].Columns["ITEM_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  93. ultraGrid2.DisplayLayout.Bands[0].Columns["STANDARDS_CODE"].EditorComponent = ultraSTANDARDS_ID;
  94. ultraGrid2.DisplayLayout.Bands[0].Columns["STANDARDS_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  95. //ultraGrid3.DisplayLayout.Bands[0].Columns["STANDARDS_ID"].EditorComponent = ultraSTANDARDS;//UltraSTANDARDS_CODE.Ult
  96. //ultraGrid3.DisplayLayout.Bands[0].Columns["STANDARDS_ID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  97. ultraGrid3.DisplayLayout.Bands[0].Columns["STANDARDS_CODE"].EditorComponent = ultraSTANDARDS;//UltraSTANDARDS_CODE.Ult
  98. ultraGrid3.DisplayLayout.Bands[0].Columns["STANDARDS_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  99. ultraGrid3.DisplayLayout.Bands[0].Columns["GROUP_LEVEL"].EditorComponent = ultraGroup;//组别
  100. ultraGrid3.DisplayLayout.Bands[0].Columns["GROUP_LEVEL"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  101. //ultraGrid3.DisplayLayout.Bands[0].Columns["JUDGE_LEVEL_CODE"].EditorComponent = ultraJUDGE_LEVEL.Ult;//级别
  102. //ultraGrid3.DisplayLayout.Bands[0].Columns["JUDGE_LEVEL_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  103. ultraGrid3.DisplayLayout.Bands[0].Columns["ITEM_ATTR"].EditorComponent = ultraITEM_ATTR;//属性
  104. ultraGrid3.DisplayLayout.Bands[0].Columns["ITEM_ATTR"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  105. ultraGrid3.DisplayLayout.Bands[0].Columns["JUDGE_TYPE_CODE"].EditorComponent = UltraJUDGE_TYPE.Ult;//验收方式
  106. ultraGrid3.DisplayLayout.Bands[0].Columns["JUDGE_TYPE_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  107. ultraGrid3.DisplayLayout.Bands[0].Columns["GET_SAMPLE_STD_NO"].EditorComponent = ultraGET_SAMPLE_STD;//取样标准
  108. ultraGrid3.DisplayLayout.Bands[0].Columns["GET_SAMPLE_STD_NO"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  109. ultraGrid3.DisplayLayout.Bands[0].Columns["GET_SAMPLE_STD_RATE_UNIT"].EditorComponent = ultraGET_SAMPLE_STD_RATE_UNIT;//取样频次单位
  110. ultraGrid4.DisplayLayout.Bands[0].Columns["MAT_CODE"].EditorComponent = ultraMAT_NAME.Ult;//检验项目
  111. //ultraGrid4.DisplayLayout.Bands[0].Columns["MAT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  112. ultraGrid4.DisplayLayout.Bands[0].Columns["STDMIN_SIGN"].EditorComponent = ultraComSignMin;//下限符号
  113. ultraGrid4.DisplayLayout.Bands[0].Columns["STDMIN_SIGN"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  114. ultraGrid4.DisplayLayout.Bands[0].Columns["STDMAX_SIGN"].EditorComponent = ultraComSignMax;//上限符号
  115. ultraGrid4.DisplayLayout.Bands[0].Columns["STDMAX_SIGN"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  116. ultraGrid4.DisplayLayout.Bands[0].Columns["JUDGE_TYPE_CODE"].EditorComponent = UltJUDGE_TYPE;//验收方式
  117. ultraGrid4.DisplayLayout.Bands[0].Columns["JUDGE_TYPE_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  118. //ultraGrid4.DisplayLayout.Bands[0].Columns["STD_TYPE"].EditorComponent = ultraSTD_TYPE;//验收方式
  119. //ultraGrid4.DisplayLayout.Bands[0].Columns["STD_TYPE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  120. ultraGrid4.DisplayLayout.Bands[0].Columns["CHECK_CYCLE_UNIT"].EditorComponent = ultraCHECK_CYCLE_UNIT;//检验周期单位
  121. ultraGrid2.DisplayLayout.Bands[0].Columns["REMARK"].EditorComponent = txtREMARK_UltraGrid2;//备注编辑
  122. ultraGrid3.DisplayLayout.Bands[0].Columns["GET_SAMPLE_STD_DESC"].EditorComponent = txtREMARK_UltraGrid3;
  123. ultraGrid3.DisplayLayout.Bands[0].Columns["REMARK"].EditorComponent = txtREMARK_UltraGrid3;//备注编辑
  124. ultraGrid4.DisplayLayout.Bands[0].Columns["CHECK_CONDITION"].EditorComponent = txtREMARK_UltraGrid4;//试验要求
  125. ultraGrid4.DisplayLayout.Bands[0].Columns["REMARK"].EditorComponent = txtREMARK_UltraGrid4;
  126. }
  127. /// <summary>
  128. /// 重写基类方法
  129. /// </summary>
  130. /// <param name="sender"></param>
  131. /// <param name="ToolbarKey"></param>
  132. public override void ToolBar_Click(object sender, string ToolbarKey)
  133. {
  134. switch (ToolbarKey)
  135. {
  136. case "Query":
  137. QueryMatCheckStd();
  138. break;
  139. case "AddMatch":
  140. AddMatStdMatchUp();//新增对应关系
  141. break;
  142. case "DeleteMatch":
  143. DeleteMatStdMatchUp();//删除对应关系
  144. break;
  145. case "UpdateMatch":
  146. UpdateMatStdMatchUp();//修改对应关系
  147. break;
  148. case "Add":
  149. AddMatStdDetail();
  150. break;
  151. case "Update":
  152. UpdateMatStdDetail();
  153. break;
  154. case "Delete":
  155. DeleteMatStdDetail();
  156. break;
  157. case "Refresh":
  158. RefreshComboxData();
  159. break;
  160. case "CopyStd":
  161. CopyMatStdDetail();
  162. break;
  163. case "CopyDetail":
  164. CopyMatStdDetail_();
  165. break;
  166. case "Close":
  167. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  168. {
  169. this.Close();
  170. }
  171. break;
  172. }
  173. }
  174. //刷新下拉框绑定值
  175. private void RefreshComboxData()
  176. {
  177. UltraITEM_NAME.QueryMatItemsName(this.ob);
  178. UltraSTANDARDS_CODE.QueryStd_Code(this.ob);
  179. //ultraPRODUCT_STD.QueryProduct_Std(this.ob);
  180. ultraGROUP_LEVEL.QueryGroup_Level(this.ob);
  181. ultraJUDGE_LEVEL.QueryJudge_Level(this.ob);
  182. //UltraJUDGE_TYPE.QueryJudge_Type(this.ob);
  183. ultraMAT_NAME.QueryMatName(this.ob);
  184. }
  185. private string IsValid(DataRow dr)
  186. {
  187. if (dr["ITEM_CODE"].ToString() == "")
  188. {
  189. return "物料不能为空!";
  190. }
  191. //else if (dr["STANDARDS_CODE"].ToString() == "")
  192. //{
  193. // return "产品标准不能为空!";
  194. //}
  195. //else if (dr["JUDGE_LEVEL_CODE"].ToString() == "")
  196. //{
  197. // return "标准级别不能为空!";
  198. //}
  199. else if (dr["JUDGE_TYPE_CODE"].ToString() == "")
  200. {
  201. return "验收方式不能为空!";
  202. }
  203. foreach (UltraGridRow ur in ultraGrid4.Rows)
  204. {
  205. if (ur.Cells["CHK"].Text.Trim().ToUpper() == "TRUE")
  206. {
  207. if (ur.Cells["MAT_CODE"].Value == null || ur.Cells["MAT_CODE"].Value.ToString() == "")
  208. {
  209. return "请选择有效的检验项目!";
  210. }
  211. else if (dr["JUDGE_TYPE_CODE"].ToString() == "409003" && ur.Cells["JUDGE_TYPE_CODE"].Text.Trim() == "")
  212. {
  213. return "检验项" + ur.Cells["MAT_CODE"].Text.Trim() + "验收方式不能为空!";
  214. }
  215. else if (ur.Cells["ADD_CONDITION"].Text.Trim() == "")
  216. {
  217. if (dataTable4.Select("MAT_CODE = '" + ur.Cells["MAT_CODE"].Value.ToString() + "' AND STD_TYPE = '" + ur.Cells["STD_TYPE"].Text.Trim() + "'").Length > 1)
  218. {
  219. return ur.Cells["MAT_CODE"].Text.Trim() + "已存在!";
  220. }
  221. }
  222. else if (ur.Cells["ADD_CONDITION"].Text.Trim() != "")
  223. {
  224. if (dataTable4.Select("MAT_CODE = '" + ur.Cells["MAT_CODE"].Value.ToString() + "' AND ADD_CONDITION = '" + ur.Cells["ADD_CONDITION"].Text.Trim() + "' AND STD_TYPE = '" + ur.Cells["STD_TYPE"].Text.Trim() + "'").Length > 1)
  225. {
  226. return ur.Cells["MAT_CODE"].Text.Trim() + "已存在!";
  227. }
  228. }
  229. }
  230. }
  231. return "";
  232. }
  233. //查询检验标准
  234. private void QueryMatCheckStd()
  235. {
  236. try
  237. {
  238. ArrayList arrayList = new ArrayList();
  239. arrayList.Add("1");
  240. arrayList.Add("1");
  241. arrayList.Add("1");
  242. if (UserInfo.ParentDepartment == "供应部")
  243. {
  244. //供应部只维护临时协议标准
  245. arrayList.Add("409205");//临时协议标准
  246. arrayList.Add("409205");//临时协议标准
  247. }
  248. else if (UserInfo.GetDeptid() == "002001001004")
  249. {
  250. arrayList.Add("409202");//厂内检验标准
  251. arrayList.Add("409202");//厂内检验标准
  252. }
  253. else
  254. {
  255. arrayList.Add("409202");//厂内检验标准
  256. arrayList.Add("409205");//临时协议标准
  257. }
  258. arrayList.Add("");
  259. arrayList.Add("");
  260. arrayList.Add("");
  261. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseMatStdDetail.QueryMatStdManageBase",
  262. new Object[] { arrayList }, ob);
  263. if (dt == null || dt.Rows.Count == 0)
  264. {
  265. dataTable1.Rows.Clear();
  266. dataTable2.Rows.Clear();
  267. dataTable3.Rows.Clear();
  268. dataTable4.Rows.Clear();
  269. MessageUtil.ShowTips("没有维护标准基础数据!");
  270. return;
  271. }
  272. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
  273. GridHelper.RefreshAndAutoSize(ultraGrid1);
  274. }
  275. catch (Exception e)
  276. {
  277. MessageUtil.ShowWarning(e.Message);
  278. return;
  279. }
  280. }
  281. private void AddMatStdMatchUp()
  282. {
  283. try
  284. {
  285. if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Activated == false)
  286. {
  287. MessageUtil.ShowTips("请点击选择一条检验标准!");
  288. return;
  289. }
  290. ultraGrid2.Update();
  291. ultraGrid2.UpdateData();
  292. DataRow[] arrDr = dataTable2.Select("CHK = 'True' AND VALIDFLAG IS NULL");
  293. if (arrDr.Length == 0)
  294. {
  295. MessageUtil.ShowTips("请至少勾选一条需要新增的对应关系!");
  296. return;
  297. }
  298. if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
  299. {
  300. string strNo = ultraGrid1.ActiveRow.Cells["STANDARDS_NO"].Text.Trim();
  301. ArrayList all = new ArrayList();
  302. ArrayList allDetail = new ArrayList();
  303. foreach (DataRow dr in arrDr)
  304. {
  305. if (dataTable2.Select("ITEM_CODE = '" + dr["ITEM_CODE"].ToString() + "'").Length > 1)
  306. {
  307. MessageUtil.ShowWarning(dr["ITEM_NAME"].ToString() + "此物料已存在!");
  308. return;
  309. }
  310. allDetail = new ArrayList();
  311. allDetail.Add(strNo);
  312. allDetail.Add(dr["ITEM_CODE"].ToString());
  313. allDetail.Add(dr["ITEM_NAME"].ToString());
  314. allDetail.Add(dr["STANDARDS_ID"].ToString());
  315. allDetail.Add(dr["STANDARDS_CODE"].ToString());
  316. allDetail.Add(dr["REMARK"].ToString());//备注
  317. allDetail.Add(UserInfo.GetUserName());
  318. all.Add(allDetail);
  319. }
  320. PublicServer.SetData("com.steering.lims.data.base.FrmBaseMatStdDetail.AddMatStdMatchUp",
  321. new Object[] { all }, this.ob);
  322. QueryMatCheckStd();
  323. PublicMat.ActiveOperateRow(ultraGrid1, "STANDARDS_NO", strNo);
  324. MessageUtil.ShowTips("新增成功!");
  325. }
  326. }
  327. catch (Exception e)
  328. {
  329. MessageUtil.ShowWarning(e.Message);
  330. return;
  331. }
  332. }
  333. private void DeleteMatStdMatchUp()
  334. {
  335. try
  336. {
  337. if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Activated == false)
  338. {
  339. MessageUtil.ShowTips("请点击选择一条检验标准!");
  340. return;
  341. }
  342. if (ultraGrid2.ActiveRow == null || ultraGrid2.ActiveRow.Activated == false)
  343. {
  344. MessageUtil.ShowTips("请点击选择一条对应关系!");
  345. return;
  346. }
  347. ultraGrid2.Update();
  348. ultraGrid2.UpdateData();
  349. DataRow[] arrDr = dataTable2.Select("CHK = 'True' AND VALIDFLAG = '1'");
  350. if (arrDr == null || arrDr.Length != 1)
  351. {
  352. MessageUtil.ShowTips("请勾选一条需要删除的对应关系!");
  353. return;
  354. }
  355. string strITEM_CODE = ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Value.ToString();
  356. if (arrDr[0]["ITEM_CODE"].ToString() != strITEM_CODE)
  357. {
  358. MessageUtil.ShowTips("勾选点击的对应关系请保持一致!");
  359. return;
  360. }
  361. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除对应关系?") == DialogResult.Yes)
  362. {
  363. string strNo = ultraGrid1.ActiveRow.Cells["STANDARDS_NO"].Text.Trim();
  364. ArrayList all = new ArrayList();
  365. ArrayList allBase = new ArrayList();
  366. ArrayList allBaseParams = new ArrayList();
  367. ArrayList allStd = new ArrayList();
  368. ArrayList allStdParams = new ArrayList();
  369. allBaseParams.Add(strITEM_CODE);
  370. allBase.Add(allBaseParams);
  371. foreach (DataRow dr in dataTable3.Rows)
  372. {
  373. allStdParams = new ArrayList();
  374. allStdParams.Add(dr["MIC"].ToString());
  375. allStd.Add(allStdParams);
  376. }
  377. all.Add(allBase);
  378. all.Add(allStd);
  379. PublicServer.SetData("com.steering.lims.data.base.FrmBaseMatStdDetail.DeleteMatStdMatchUp",
  380. new Object[] { all }, this.ob);
  381. QueryMatCheckStd();
  382. PublicMat.ActiveOperateRow(ultraGrid1, "STANDARDS_NO", strNo);
  383. MessageUtil.ShowTips("删除对应关系成功!");
  384. }
  385. }
  386. catch (Exception e)
  387. {
  388. MessageUtil.ShowWarning(e.Message);
  389. return;
  390. }
  391. }
  392. private void UpdateMatStdMatchUp()
  393. {
  394. try
  395. {
  396. if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Activated == false)
  397. {
  398. MessageUtil.ShowTips("请点击选择一条检验标准!");
  399. return;
  400. }
  401. ultraGrid2.Update();
  402. ultraGrid2.UpdateData();
  403. DataRow[] arrDr = dataTable2.Select("CHK = 'True' AND VALIDFLAG = '1'");
  404. if (arrDr == null || arrDr.Length != 1)
  405. {
  406. MessageUtil.ShowTips("请勾选一条需要修改的对应关系!");
  407. return;
  408. }
  409. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes)
  410. {
  411. string strNo = ultraGrid1.ActiveRow.Cells["STANDARDS_NO"].Text.Trim();
  412. string strITEM_CODE = ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Value.ToString();
  413. ArrayList all = new ArrayList();
  414. ArrayList allDetail = new ArrayList();
  415. foreach (DataRow dr in arrDr)
  416. {
  417. allDetail = new ArrayList();
  418. allDetail.Add(dr["STANDARDS_ID"].ToString());
  419. allDetail.Add(dr["STANDARDS_CODE"].ToString());
  420. allDetail.Add(dr["REMARK"].ToString());//备注
  421. allDetail.Add(UserInfo.GetUserName());
  422. allDetail.Add(dr["ITEM_CODE"].ToString());
  423. all.Add(allDetail);
  424. }
  425. PublicServer.SetData("com.steering.lims.data.base.FrmBaseMatStdDetail.UpdateMatStdMatchUp",
  426. new Object[] { all }, this.ob);
  427. QueryMatCheckStd();
  428. PublicMat.ActiveOperateRow(ultraGrid1, "STANDARDS_NO", strNo);
  429. PublicMat.ActiveOperateRow(ultraGrid2, "ITEM_CODE", strITEM_CODE);
  430. MessageUtil.ShowTips("修改成功!");
  431. }
  432. }
  433. catch (Exception e)
  434. {
  435. MessageUtil.ShowWarning(e.Message);
  436. return;
  437. }
  438. }
  439. private void AddMatStdDetail()
  440. {
  441. try
  442. {
  443. if (ultraGrid2.ActiveRow == null)
  444. {
  445. MessageUtil.ShowWarning("请选择需要新增的数据!");
  446. return;
  447. }
  448. if (ultraGrid2.ActiveRow.Cells["VALIDFLAG"].Text.Trim() != "1")
  449. {
  450. MessageUtil.ShowWarning("请选择一条已经保存对应关系的物料!");
  451. return;
  452. }
  453. ultraGrid3.Update();
  454. ultraGrid3.UpdateData();
  455. ultraGrid4.Update();
  456. ultraGrid4.UpdateData();
  457. DataRow[] arrDr = dataTable3.Select("CHK = 'True'");
  458. if (arrDr.Length == 0 || arrDr.Length > 1)
  459. {
  460. MessageUtil.ShowTips("请勾选一条需要新增的标准!");
  461. return;
  462. }
  463. string result = IsValid(arrDr[0]);
  464. if (result != "")
  465. {
  466. MessageUtil.ShowWarning(result);
  467. return;
  468. }
  469. if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
  470. {
  471. string strStd_No = ultraGrid1.ActiveRow.Cells["STANDARDS_ID"].Text.Trim();
  472. string strItem_Code = ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Value.ToString();
  473. string sql = "SELECT COUNT(1) FLAG FROM BASE_MAT_STD_BASEINFO WHERE ";
  474. ArrayList all = new ArrayList();
  475. ArrayList alBase = new ArrayList();
  476. ArrayList alBasePara = new ArrayList();
  477. foreach (UltraGridRow ur in ultraGrid3.Rows)
  478. {
  479. if (ur.Cells["CHK"].Text == "True")
  480. {
  481. alBasePara = new ArrayList();
  482. alBasePara.Add(ur.Cells["ITEM_CODE"].Text.Trim() + ";" + ur.Cells["STANDARDS_CODE"].Text.Trim() + (ur.Cells["GROUP_LEVEL"].Text.Trim() == "" ? "" : ";" + ur.Cells["GROUP_LEVEL"].Text.Trim()) + ";" + ur.Cells["JUDGE_LEVEL"].Text.Trim());//MIC描述
  483. //alBasePara.Add("");//MIC描述
  484. //alBasePara.Add(ur.Cells["PRODUCT_STD_ID"].Value.ToString());
  485. //alBasePara.Add(ur.Cells["PRODUCT_STD_ID"].Text.Trim());
  486. alBasePara.Add(ur.Cells["ITEM_CODE"].Text.Trim());
  487. alBasePara.Add(ur.Cells["ITEM_NAME"].Text.Trim());
  488. alBasePara.Add(ur.Cells["GRADE"].Text.Trim());//牌号
  489. //alBasePara.Add(ur.Cells["STANDARDS_ID"].Value.ToString());
  490. //alBasePara.Add(ur.Cells["STANDARDS_ID"].Text.Trim());
  491. alBasePara.Add(ur.Cells["STANDARDS_ID"].Text.Trim());
  492. alBasePara.Add(ur.Cells["STANDARDS_CODE"].Text.Trim());
  493. alBasePara.Add(ur.Cells["GROUP_LEVEL_CODE"].Text.Trim());
  494. alBasePara.Add(ur.Cells["GROUP_LEVEL"].Text.Trim());
  495. alBasePara.Add(ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim());
  496. alBasePara.Add(ur.Cells["JUDGE_LEVEL"].Text.Trim());
  497. alBasePara.Add(ur.Cells["ITEM_ATTR_ID"].Text.Trim());
  498. alBasePara.Add(ur.Cells["ITEM_ATTR"].Text.Trim());
  499. alBasePara.Add(ur.Cells["JUDGE_TYPE_CODE"].Value.ToString());
  500. alBasePara.Add(ur.Cells["JUDGE_TYPE_CODE"].Text.Trim());
  501. alBasePara.Add(ur.Cells["CHECK_CYCLE"].Text.Trim());//检验/验证周期
  502. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_NO"].Value.ToString());
  503. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_NO"].Text.Trim());
  504. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_DESC"].Text.Trim());
  505. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_RATE"].Text.Trim());
  506. alBasePara.Add(ur.Cells["BATCH_COUNT"].Text.Trim());
  507. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_RATE_UNIT"].Text.Trim());
  508. alBasePara.Add(ur.Cells["REMARK"].Text.Trim());
  509. alBasePara.Add(UserInfo.GetUserName());
  510. alBase.Add(alBasePara);
  511. //等级改为用名称去判断是否一样
  512. sql += "ITEM_CODE = '" + ur.Cells["ITEM_CODE"].Value.ToString() + "' ";
  513. sql += (ur.Cells["STANDARDS_CODE"].Text.Trim() == "" ? "AND STANDARDS_CODE IS NULL " : ("AND STANDARDS_CODE = '" + ur.Cells["STANDARDS_CODE"].Text.Trim() + "' "));//+ "AND STANDARDS_ID = '" + ur.Cells["STANDARDS_ID"].Value.ToString() + "' "
  514. sql += (ur.Cells["GRADE"].Text.Trim() == "" ? "AND GRADE IS NULL " : ("AND GRADE = '" + ur.Cells["GRADE"].Text.Trim() + "' "));
  515. sql += (ur.Cells["GROUP_LEVEL_CODE"].Text.Trim() == "" ? "AND GROUP_LEVEL_CODE IS NULL " : ("AND GROUP_LEVEL_CODE = '" + ur.Cells["GROUP_LEVEL_CODE"].Text.Trim() + "' "));
  516. sql += (ur.Cells["ITEM_ATTR"].Text.Trim() == "" ? "AND ITEM_ATTR IS NULL " : ("AND ITEM_ATTR = '" + ur.Cells["ITEM_ATTR"].Text.Trim() + "' "));
  517. sql += (ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim() == "" ? "AND JUDGE_LEVEL_CODE IS NULL" : ("AND JUDGE_LEVEL_CODE = '" + ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim() + "'"));
  518. break;
  519. }
  520. }
  521. ArrayList alDetail = new ArrayList();
  522. ArrayList alDetailPara = new ArrayList();
  523. foreach (UltraGridRow ur in ultraGrid4.Rows)
  524. {
  525. if (ur.Cells["CHK"].Text.Trim() == "True" && ur.Cells["MAT_CODE"].Value.ToString() != "" && ur.Cells["MAT_CODE"].Text.Trim() != "")
  526. {
  527. alDetailPara = new ArrayList();
  528. alDetailPara.Add(ur.Cells["MAT_CODE"].Value.ToString());
  529. alDetailPara.Add(ur.Cells["MAT_CODE"].Text.Trim());
  530. alDetailPara.Add(ur.Cells["MAT_UNIT"].Text.Trim());//单位
  531. alDetailPara.Add(ur.Cells["ADD_CONDITION"].Text.Trim());
  532. alDetailPara.Add("0");
  533. alDetailPara.Add("");
  534. alDetailPara.Add(ur.Cells["STDMIN_SIGN"].Text.Trim());
  535. alDetailPara.Add(ur.Cells["STDMIN"].Text.Trim());
  536. alDetailPara.Add(ur.Cells["STDMAX_SIGN"].Text.Trim());//STDMAX
  537. alDetailPara.Add(ur.Cells["STDMAX"].Text.Trim());
  538. alDetailPara.Add(ur.Cells["CHECK_CYCLE"].Text.Trim());
  539. alDetailPara.Add(ur.Cells["CHECK_CYCLE_NUM"].Text.Trim());
  540. alDetailPara.Add(ur.Cells["CHECK_CYCLE_UNIT"].Text.Trim());
  541. if (ultraGrid3.Rows[0].Cells["JUDGE_TYPE_CODE"].Value.ToString() == "409003")
  542. {
  543. alDetailPara.Add(ur.Cells["JUDGE_TYPE_CODE"].Value.ToString());
  544. alDetailPara.Add(ur.Cells["JUDGE_TYPE_CODE"].Text.Trim());
  545. }
  546. else
  547. {
  548. alDetailPara.Add(ultraGrid3.Rows[0].Cells["JUDGE_TYPE_CODE"].Value.ToString());
  549. alDetailPara.Add(ultraGrid3.Rows[0].Cells["JUDGE_TYPE_CODE"].Text.Trim());
  550. }
  551. alDetailPara.Add(ur.Cells["CHECK_CONDITION"].Text.Trim());
  552. alDetailPara.Add(ur.Cells["REMARK"].Text.Trim());
  553. alDetailPara.Add("1");//ur.Cells["STD_TYPE"].Value.ToString()
  554. alDetail.Add(alDetailPara);
  555. }
  556. }
  557. all.Add(alBase);
  558. all.Add(alDetail);
  559. PublicServer.SetData("com.steering.lims.data.base.FrmBaseMatStdDetail.AddStdDetail",
  560. new Object[] { sql, all }, this.ob);
  561. QueryMatCheckStd();
  562. PublicMat.ActiveOperateRow(ultraGrid1, "STANDARDS_ID", strStd_No);
  563. PublicMat.ActiveOperateRow(ultraGrid2, "ITEM_CODE", strItem_Code);
  564. //PublicMat.ActiveOperateRow(ultraGrid3, "MIC", strMic);
  565. MessageUtil.ShowTips("新增成功!");
  566. }
  567. }
  568. catch (Exception e)
  569. {
  570. MessageUtil.ShowWarning(e.Message);
  571. return;
  572. }
  573. }
  574. private void UpdateMatStdDetail()
  575. {
  576. try
  577. {
  578. if (ultraGrid2.ActiveRow == null)
  579. {
  580. MessageUtil.ShowWarning("请选择需要修改的数据!");
  581. return;
  582. }
  583. ultraGrid3.Update();
  584. ultraGrid3.UpdateData();
  585. ultraGrid4.Update();
  586. ultraGrid4.UpdateData();
  587. DataRow[] arrDr = dataTable3.Select("CHK = 'True' AND VALIDFLAG = '1'");
  588. if (arrDr.Length == 0 || arrDr.Length > 1)
  589. {
  590. MessageUtil.ShowTips("请勾选一条需要修改的标准!");
  591. return;
  592. }
  593. string result = IsValid(arrDr[0]);
  594. if (result != "")
  595. {
  596. MessageUtil.ShowWarning(result);
  597. return;
  598. }
  599. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes)
  600. {
  601. string strStd_No = ultraGrid1.ActiveRow.Cells["STANDARDS_ID"].Text.Trim();
  602. string strItem_Code = ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Value.ToString();
  603. string strMic = ultraGrid3.ActiveRow.Cells["MIC"].Text.Trim();
  604. string sql = "SELECT COUNT(1) FLAG FROM BASE_MAT_STD_BASEINFO WHERE MIC != '" + strMic + "'";
  605. ArrayList all = new ArrayList();
  606. ArrayList alDelete = new ArrayList();
  607. ArrayList alDeletePara = new ArrayList();
  608. alDeletePara.Add(strMic);
  609. alDelete.Add(alDeletePara);
  610. ArrayList alBase = new ArrayList();
  611. ArrayList alBasePara = new ArrayList();
  612. foreach (UltraGridRow ur in ultraGrid3.Rows)
  613. {
  614. if (ur.Cells["CHK"].Text == "True")
  615. {
  616. alBasePara = new ArrayList();
  617. alBasePara.Add(strMic);
  618. alBasePara.Add(ur.Cells["ITEM_CODE"].Text.Trim() + ";" + ur.Cells["STANDARDS_CODE"].Text.Trim() + (ur.Cells["GROUP_LEVEL"].Text.Trim() == "" ? "" : ";" + ur.Cells["GROUP_LEVEL"].Text.Trim()) + ";" + ur.Cells["JUDGE_LEVEL"].Text.Trim());//MIC描述
  619. //alBasePara.Add("");//MIC描述
  620. //alBasePara.Add(ur.Cells["PRODUCT_STD_ID"].Value.ToString());
  621. //alBasePara.Add(ur.Cells["PRODUCT_STD_ID"].Text.Trim());
  622. alBasePara.Add(ur.Cells["ITEM_CODE"].Text.Trim());
  623. alBasePara.Add(ur.Cells["ITEM_NAME"].Text.Trim());
  624. alBasePara.Add(ur.Cells["GRADE"].Text.Trim());//牌号
  625. //alBasePara.Add(ur.Cells["STANDARDS_ID"].Value.ToString());
  626. //alBasePara.Add(ur.Cells["STANDARDS_ID"].Text.Trim());
  627. alBasePara.Add(ur.Cells["STANDARDS_ID"].Text.Trim());
  628. alBasePara.Add(ur.Cells["STANDARDS_CODE"].Text.Trim());
  629. alBasePara.Add(ur.Cells["GROUP_LEVEL_CODE"].Text.Trim());
  630. alBasePara.Add(ur.Cells["GROUP_LEVEL"].Text.Trim());
  631. alBasePara.Add(ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim());
  632. alBasePara.Add(ur.Cells["JUDGE_LEVEL"].Text.Trim());
  633. alBasePara.Add(ur.Cells["ITEM_ATTR_ID"].Text.Trim());
  634. alBasePara.Add(ur.Cells["ITEM_ATTR"].Text.Trim());
  635. alBasePara.Add(ur.Cells["JUDGE_TYPE_CODE"].Value.ToString());
  636. alBasePara.Add(ur.Cells["JUDGE_TYPE_CODE"].Text.Trim());
  637. alBasePara.Add(ur.Cells["CHECK_CYCLE"].Text.Trim());//检验/验证周期
  638. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_NO"].Value.ToString());
  639. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_NO"].Text.Trim());
  640. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_DESC"].Text.Trim());
  641. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_RATE"].Text.Trim());
  642. alBasePara.Add(ur.Cells["BATCH_COUNT"].Text.Trim());
  643. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_RATE_UNIT"].Text.Trim());
  644. alBasePara.Add(ur.Cells["REMARK"].Text.Trim());
  645. alBasePara.Add(UserInfo.GetUserName());
  646. alBase.Add(alBasePara);
  647. //等级改为用名称去判断是否一样
  648. sql += " AND ITEM_CODE = '" + ur.Cells["ITEM_CODE"].Value.ToString() + "' ";
  649. sql += (ur.Cells["STANDARDS_CODE"].Text.Trim() == "" ? "AND STANDARDS_CODE IS NULL " : ("AND STANDARDS_CODE = '" + ur.Cells["STANDARDS_CODE"].Text.Trim() + "' "));//+ "AND STANDARDS_ID = '" + ur.Cells["STANDARDS_ID"].Value.ToString() + "' "
  650. sql += (ur.Cells["GRADE"].Text.Trim() == "" ? "AND GRADE IS NULL " : ("AND GRADE = '" + ur.Cells["GRADE"].Text.Trim() + "' "));
  651. sql += (ur.Cells["GROUP_LEVEL_CODE"].Text.Trim() == "" ? "AND GROUP_LEVEL_CODE IS NULL " : ("AND GROUP_LEVEL_CODE = '" + ur.Cells["GROUP_LEVEL_CODE"].Text.Trim() + "' "));
  652. sql += (ur.Cells["ITEM_ATTR"].Text.Trim() == "" ? "AND ITEM_ATTR IS NULL " : ("AND ITEM_ATTR = '" + ur.Cells["ITEM_ATTR"].Text.Trim() + "' "));
  653. sql += (ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim() == "" ? "AND JUDGE_LEVEL_CODE IS NULL" : ("AND JUDGE_LEVEL_CODE = '" + ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim() + "'"));
  654. break;
  655. }
  656. }
  657. ArrayList alDetail = new ArrayList();
  658. ArrayList alDetailPara = new ArrayList();
  659. foreach (UltraGridRow ur in ultraGrid4.Rows)
  660. {
  661. if (ur.Cells["CHK"].Text.Trim() == "True" && ur.Cells["MAT_CODE"].Text.Trim() != "")
  662. {
  663. alDetailPara = new ArrayList();
  664. alDetailPara.Add(strMic);
  665. alDetailPara.Add(ur.Cells["MAT_CODE"].Value.ToString());
  666. alDetailPara.Add(ur.Cells["MAT_CODE"].Text.Trim());
  667. alDetailPara.Add(ur.Cells["MAT_UNIT"].Text.Trim());//单位
  668. alDetailPara.Add(ur.Cells["ADD_CONDITION"].Text.Trim());
  669. alDetailPara.Add("0");
  670. alDetailPara.Add("");
  671. alDetailPara.Add(ur.Cells["STDMIN_SIGN"].Text.Trim());
  672. alDetailPara.Add(ur.Cells["STDMIN"].Text.Trim());
  673. alDetailPara.Add(ur.Cells["STDMAX_SIGN"].Text.Trim());//STDMAX
  674. alDetailPara.Add(ur.Cells["STDMAX"].Text.Trim());
  675. alDetailPara.Add(ur.Cells["CHECK_CYCLE"].Text.Trim());
  676. alDetailPara.Add(ur.Cells["CHECK_CYCLE_NUM"].Text.Trim());
  677. alDetailPara.Add(ur.Cells["CHECK_CYCLE_UNIT"].Text.Trim());
  678. alDetailPara.Add(ur.Cells["JUDGE_TYPE_CODE"].Value.ToString());
  679. alDetailPara.Add(ur.Cells["JUDGE_TYPE_CODE"].Text.Trim());
  680. alDetailPara.Add(ur.Cells["CHECK_CONDITION"].Text.Trim());
  681. alDetailPara.Add(ur.Cells["REMARK"].Text.Trim());
  682. alDetailPara.Add("1");//默认1 ur.Cells["STD_TYPE"].Value.ToString()
  683. alDetail.Add(alDetailPara);
  684. }
  685. }
  686. all.Add(alDelete);
  687. all.Add(alBase);
  688. all.Add(alDetail);
  689. PublicServer.SetData("com.steering.lims.data.base.FrmBaseMatStdDetail.UpdateStdDetail",
  690. new Object[] { sql, all }, this.ob);
  691. QueryMatCheckStd();
  692. PublicMat.ActiveOperateRow(ultraGrid1, "STANDARDS_ID", strStd_No);
  693. PublicMat.ActiveOperateRow(ultraGrid2, "ITEM_CODE", strItem_Code);
  694. PublicMat.ActiveOperateRow(ultraGrid3, "MIC", strMic);
  695. MessageUtil.ShowTips("修改成功!");
  696. }
  697. }
  698. catch (Exception e)
  699. {
  700. MessageUtil.ShowWarning(e.Message);
  701. return;
  702. }
  703. }
  704. private void DeleteMatStdDetail()
  705. {
  706. try
  707. {
  708. if (ultraGrid2.ActiveRow == null)
  709. {
  710. MessageUtil.ShowWarning("请选择需要删除的数据!");
  711. return;
  712. }
  713. DataRow[] arrDr = dataTable3.Select("CHK = 'True' AND VALIDFLAG = '1'");
  714. if (arrDr.Length == 0 || arrDr.Length > 1)
  715. {
  716. MessageUtil.ShowTips("请勾选一条需要删除的标准!");
  717. return;
  718. }
  719. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes)
  720. {
  721. string strStd_No = ultraGrid1.ActiveRow.Cells["STANDARDS_ID"].Text.Trim();
  722. string strItem_Code = ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Value.ToString();
  723. ArrayList al = new ArrayList();
  724. al.Add(ultraGrid3.ActiveRow.Cells["MIC"].Text.Trim());
  725. PublicServer.SetData("com.steering.lims.data.base.FrmBaseMatStdDetail.DeleteStdDetail",
  726. new Object[] { al }, this.ob);
  727. QueryMatCheckStd();
  728. PublicMat.ActiveOperateRow(ultraGrid1, "STANDARDS_ID", strStd_No);
  729. PublicMat.ActiveOperateRow(ultraGrid2, "ITEM_CODE", strItem_Code);
  730. //PublicMat.ActiveOperateRow(ultraGrid3, "MIC", strMic);
  731. MessageUtil.ShowTips("删除成功!");
  732. }
  733. }
  734. catch (Exception e)
  735. {
  736. MessageUtil.ShowWarning(e.Message);
  737. return;
  738. }
  739. }
  740. private void CopyMatStdDetail()
  741. {
  742. try
  743. {
  744. if (ultraGrid2.ActiveRow == null)
  745. {
  746. MessageUtil.ShowWarning("请点击一条需要复制的数据!");
  747. return;
  748. }
  749. ultraGrid2.Update();
  750. ultraGrid2.UpdateData();
  751. ultraGrid3.Update();
  752. ultraGrid3.UpdateData();
  753. ultraGrid4.Update();
  754. ultraGrid4.UpdateData();
  755. DataRow[] arrDr = dataTable2.Select("CHK = 'True' AND VALIDFLAG = '1'");
  756. if (arrDr.Length == 0 || arrDr.Length > 1)
  757. {
  758. MessageUtil.ShowTips("请勾选一条需要复制标准的对应关系!");
  759. return;
  760. }
  761. if (arrDr[0]["STANDARDS_ID"].ToString().Split(',').Length > 1)
  762. {
  763. MessageUtil.ShowWarning("多标准的物料不允许复制!");
  764. return;
  765. }
  766. if (dataTable3.Select("CHK = 'True'").Length == 0 || dataTable3.Select("CHK = 'True'").Length > 1)
  767. {
  768. MessageUtil.ShowTips("请勾选一条需要新增的标准!");
  769. return;
  770. }
  771. string result = IsValid(dataTable3.Select("CHK = 'True' AND VALIDFLAG = '1'")[0]);
  772. if (result != "")
  773. {
  774. MessageUtil.ShowWarning(result);
  775. return;
  776. }
  777. if (MessageUtil.ShowYesNoAndQuestion("是否确认复制?") == DialogResult.Yes)
  778. {
  779. string strStd_No = ultraGrid1.ActiveRow.Cells["STANDARDS_ID"].Text.Trim();
  780. string strItem_Code = arrDr[0]["ITEM_CODE"].ToString();//
  781. string sql = "SELECT COUNT(1) FLAG FROM BASE_MAT_STD_BASEINFO WHERE ";
  782. ArrayList all = new ArrayList();
  783. ArrayList alBase = new ArrayList();
  784. ArrayList alBasePara = new ArrayList();
  785. foreach (UltraGridRow ur in ultraGrid3.Rows)
  786. {
  787. if (ur.Cells["CHK"].Text == "True")
  788. {
  789. alBasePara = new ArrayList();
  790. alBasePara.Add(arrDr[0]["ITEM_CODE"].ToString() + ";" + arrDr[0]["STANDARDS_CODE"].ToString() + (ur.Cells["GROUP_LEVEL"].Text.Trim() == "" ? "" : ";" + ur.Cells["GROUP_LEVEL"].Text.Trim()) + ";" + ur.Cells["JUDGE_LEVEL"].Text.Trim());//MIC描述
  791. //alBasePara.Add("");//MIC描述
  792. //alBasePara.Add(ur.Cells["PRODUCT_STD_ID"].Value.ToString());
  793. //alBasePara.Add(ur.Cells["PRODUCT_STD_ID"].Text.Trim());
  794. alBasePara.Add(arrDr[0]["ITEM_CODE"].ToString());
  795. alBasePara.Add(arrDr[0]["ITEM_NAME"].ToString());
  796. alBasePara.Add(ur.Cells["GRADE"].Text.Trim());//牌号
  797. alBasePara.Add(arrDr[0]["STANDARDS_ID"].ToString());
  798. alBasePara.Add(arrDr[0]["STANDARDS_CODE"].ToString());
  799. alBasePara.Add(ur.Cells["GROUP_LEVEL_CODE"].Text.Trim());
  800. alBasePara.Add(ur.Cells["GROUP_LEVEL"].Text.Trim());
  801. alBasePara.Add(ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim());
  802. alBasePara.Add(ur.Cells["JUDGE_LEVEL"].Text.Trim());
  803. alBasePara.Add(ur.Cells["ITEM_ATTR_ID"].Text.Trim());
  804. alBasePara.Add(ur.Cells["ITEM_ATTR"].Text.Trim());
  805. alBasePara.Add(ur.Cells["JUDGE_TYPE_CODE"].Value.ToString());
  806. alBasePara.Add(ur.Cells["JUDGE_TYPE_CODE"].Text.Trim());
  807. alBasePara.Add(ur.Cells["CHECK_CYCLE"].Text.Trim());//检验/验证周期
  808. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_NO"].Value.ToString());
  809. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_NO"].Text.Trim());
  810. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_DESC"].Text.Trim());
  811. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_RATE"].Text.Trim());
  812. alBasePara.Add(ur.Cells["BATCH_COUNT"].Text.Trim());
  813. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_RATE_UNIT"].Text.Trim());
  814. alBasePara.Add(ur.Cells["REMARK"].Text.Trim());
  815. alBasePara.Add(UserInfo.GetUserName());
  816. alBase.Add(alBasePara);
  817. sql += "ITEM_CODE = '" + arrDr[0]["ITEM_CODE"].ToString() + "' ";
  818. sql += (arrDr[0]["STANDARDS_CODE"].ToString() == "" ? "AND STANDARDS_CODE IS NULL " : ("AND STANDARDS_CODE = '" + arrDr[0]["STANDARDS_CODE"].ToString() + "' "));//+ "AND STANDARDS_ID = '" + ur.Cells["STANDARDS_ID"].Value.ToString() + "' "
  819. sql += (ur.Cells["GRADE"].Text.Trim() == "" ? "AND GRADE IS NULL " : ("AND GRADE = '" + ur.Cells["GRADE"].Text.Trim() + "' "));
  820. sql += (ur.Cells["GROUP_LEVEL_CODE"].Text.Trim() == "" ? "AND GROUP_LEVEL_CODE IS NULL " : ("AND GROUP_LEVEL_CODE = '" + ur.Cells["GROUP_LEVEL_CODE"].Text.Trim() + "' "));
  821. sql += (ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim() == "" ? "AND JUDGE_LEVEL_CODE IS NULL" : ("AND JUDGE_LEVEL_CODE = '" + ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim() + "'"));
  822. break;
  823. }
  824. }
  825. ArrayList alDetail = new ArrayList();
  826. ArrayList alDetailPara = new ArrayList();
  827. foreach (UltraGridRow ur in ultraGrid4.Rows)
  828. {
  829. if (ur.Cells["CHK"].Text.Trim() == "True" && ur.Cells["MAT_CODE"].Value.ToString() != "" && ur.Cells["MAT_CODE"].Text.Trim() != "")
  830. {
  831. alDetailPara = new ArrayList();
  832. alDetailPara.Add(ur.Cells["MAT_CODE"].Value.ToString());
  833. alDetailPara.Add(ur.Cells["MAT_CODE"].Text.Trim());
  834. alDetailPara.Add(ur.Cells["MAT_UNIT"].Text.Trim());//单位
  835. alDetailPara.Add(ur.Cells["ADD_CONDITION"].Text.Trim());
  836. alDetailPara.Add("0");
  837. alDetailPara.Add("");
  838. alDetailPara.Add(ur.Cells["STDMIN_SIGN"].Text.Trim());
  839. alDetailPara.Add(ur.Cells["STDMIN"].Text.Trim());
  840. alDetailPara.Add(ur.Cells["STDMAX_SIGN"].Text.Trim());//STDMAX
  841. alDetailPara.Add(ur.Cells["STDMAX"].Text.Trim());
  842. alDetailPara.Add(ur.Cells["CHECK_CYCLE"].Text.Trim());
  843. alDetailPara.Add(ur.Cells["CHECK_CYCLE_NUM"].Text.Trim());
  844. alDetailPara.Add(ur.Cells["CHECK_CYCLE_UNIT"].Text.Trim());
  845. if (ultraGrid3.Rows[0].Cells["JUDGE_TYPE_CODE"].Value.ToString() == "409003")
  846. {
  847. alDetailPara.Add(ur.Cells["JUDGE_TYPE_CODE"].Value.ToString());
  848. alDetailPara.Add(ur.Cells["JUDGE_TYPE_CODE"].Text.Trim());
  849. }
  850. else
  851. {
  852. alDetailPara.Add(ultraGrid3.Rows[0].Cells["JUDGE_TYPE_CODE"].Value.ToString());
  853. alDetailPara.Add(ultraGrid3.Rows[0].Cells["JUDGE_TYPE_CODE"].Text.Trim());
  854. }
  855. alDetailPara.Add(ur.Cells["CHECK_CONDITION"].Text.Trim());
  856. alDetailPara.Add(ur.Cells["REMARK"].Text.Trim());
  857. alDetailPara.Add("1");//ur.Cells["STD_TYPE"].Value.ToString()
  858. alDetail.Add(alDetailPara);
  859. }
  860. }
  861. all.Add(alBase);
  862. all.Add(alDetail);
  863. PublicServer.SetData("com.steering.lims.data.base.FrmBaseMatStdDetail.AddStdDetail",
  864. new Object[] { sql, all }, this.ob);
  865. QueryMatCheckStd();
  866. PublicMat.ActiveOperateRow(ultraGrid1, "STANDARDS_ID", strStd_No);
  867. PublicMat.ActiveOperateRow(ultraGrid2, "ITEM_CODE", strItem_Code);
  868. //PublicMat.ActiveOperateRow(ultraGrid3, "MIC", strMic);
  869. MessageUtil.ShowTips("复制成功!");
  870. }
  871. }
  872. catch (Exception e)
  873. {
  874. MessageUtil.ShowWarning(e.Message);
  875. return;
  876. }
  877. }
  878. private void CopyMatStdDetail_()
  879. {
  880. try
  881. {
  882. if (ultraGrid3.ActiveRow == null || dataTable4.Rows.Count == 0)
  883. {
  884. MessageUtil.ShowWarning("请点击一条需要复制的数据!");
  885. return;
  886. }
  887. ultraGrid3.Update();
  888. ultraGrid3.UpdateData();
  889. ultraGrid4.Update();
  890. ultraGrid4.UpdateData();
  891. DataRow[] arrDr = dataTable3.Select("CHK = 'True' AND VALIDFLAG = '1'");
  892. if (arrDr.Length == 0 || arrDr.Length > 1)
  893. {
  894. MessageUtil.ShowTips("请勾选一条需要复制的标准!");
  895. return;
  896. }
  897. string result = IsValid(arrDr[0]);
  898. if (result != "")
  899. {
  900. MessageUtil.ShowWarning(result);
  901. return;
  902. }
  903. if (MessageUtil.ShowYesNoAndQuestion("是否确认复制?") == DialogResult.Yes)
  904. {
  905. string strStd_No = ultraGrid1.ActiveRow.Cells["STANDARDS_ID"].Text.Trim();
  906. string strItem_Code = ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Value.ToString();
  907. string strMic = arrDr[0]["MIC"].ToString();
  908. string sql = "SELECT COUNT(1) FLAG FROM BASE_MAT_STD_BASEINFO WHERE MIC != '" + strMic + "'";
  909. ArrayList all = new ArrayList();
  910. ArrayList alDelete = new ArrayList();
  911. ArrayList alDeletePara = new ArrayList();
  912. alDeletePara.Add(strMic);
  913. alDelete.Add(alDeletePara);
  914. ArrayList alBase = new ArrayList();
  915. ArrayList alBasePara = new ArrayList();
  916. foreach (UltraGridRow ur in ultraGrid3.Rows)
  917. {
  918. if (ur.Cells["CHK"].Text == "True")
  919. {
  920. alBasePara = new ArrayList();
  921. alBasePara.Add(strMic);
  922. alBasePara.Add(ur.Cells["ITEM_CODE"].Text.Trim() + ";" + ur.Cells["STANDARDS_CODE"].Text.Trim() + (ur.Cells["GROUP_LEVEL"].Text.Trim() == "" ? "" : ";" + ur.Cells["GROUP_LEVEL"].Text.Trim()) + ";" + ur.Cells["JUDGE_LEVEL"].Text.Trim());//MIC描述
  923. //alBasePara.Add("");//MIC描述
  924. //alBasePara.Add(ur.Cells["PRODUCT_STD_ID"].Value.ToString());
  925. //alBasePara.Add(ur.Cells["PRODUCT_STD_ID"].Text.Trim());
  926. alBasePara.Add(ur.Cells["ITEM_CODE"].Text.Trim());
  927. alBasePara.Add(ur.Cells["ITEM_NAME"].Text.Trim());
  928. alBasePara.Add(ur.Cells["GRADE"].Text.Trim());//牌号
  929. //alBasePara.Add(ur.Cells["STANDARDS_ID"].Value.ToString());
  930. //alBasePara.Add(ur.Cells["STANDARDS_ID"].Text.Trim());
  931. alBasePara.Add(ur.Cells["STANDARDS_ID"].Text.Trim());
  932. alBasePara.Add(ur.Cells["STANDARDS_CODE"].Text.Trim());
  933. alBasePara.Add(ur.Cells["GROUP_LEVEL_CODE"].Text.Trim());
  934. alBasePara.Add(ur.Cells["GROUP_LEVEL"].Text.Trim());
  935. alBasePara.Add(ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim());
  936. alBasePara.Add(ur.Cells["JUDGE_LEVEL"].Text.Trim());
  937. alBasePara.Add(ur.Cells["ITEM_ATTR_ID"].Text.Trim());
  938. alBasePara.Add(ur.Cells["ITEM_ATTR"].Text.Trim());
  939. alBasePara.Add(ur.Cells["JUDGE_TYPE_CODE"].Value.ToString());
  940. alBasePara.Add(ur.Cells["JUDGE_TYPE_CODE"].Text.Trim());
  941. alBasePara.Add(ur.Cells["CHECK_CYCLE"].Text.Trim());//检验/验证周期
  942. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_NO"].Value.ToString());
  943. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_NO"].Text.Trim());
  944. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_DESC"].Text.Trim());
  945. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_RATE"].Text.Trim());
  946. alBasePara.Add(ur.Cells["BATCH_COUNT"].Text.Trim());
  947. alBasePara.Add(ur.Cells["GET_SAMPLE_STD_RATE_UNIT"].Text.Trim());
  948. alBasePara.Add(ur.Cells["REMARK"].Text.Trim());
  949. alBasePara.Add(UserInfo.GetUserName());
  950. alBase.Add(alBasePara);
  951. //等级改为用名称去判断是否一样
  952. sql += " AND ITEM_CODE = '" + ur.Cells["ITEM_CODE"].Value.ToString() + "' ";
  953. sql += (ur.Cells["STANDARDS_CODE"].Text.Trim() == "" ? "AND STANDARDS_CODE IS NULL " : ("AND STANDARDS_CODE = '" + ur.Cells["STANDARDS_CODE"].Text.Trim() + "' "));//+ "AND STANDARDS_ID = '" + ur.Cells["STANDARDS_ID"].Value.ToString() + "' "
  954. sql += (ur.Cells["GRADE"].Text.Trim() == "" ? "AND GRADE IS NULL " : ("AND GRADE = '" + ur.Cells["GRADE"].Text.Trim() + "' "));
  955. sql += (ur.Cells["GROUP_LEVEL_CODE"].Text.Trim() == "" ? "AND GROUP_LEVEL_CODE IS NULL " : ("AND GROUP_LEVEL_CODE = '" + ur.Cells["GROUP_LEVEL_CODE"].Text.Trim() + "' "));
  956. sql += (ur.Cells["ITEM_ATTR"].Text.Trim() == "" ? "AND ITEM_ATTR IS NULL " : ("AND ITEM_ATTR = '" + ur.Cells["ITEM_ATTR"].Text.Trim() + "' "));
  957. sql += (ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim() == "" ? "AND JUDGE_LEVEL_CODE IS NULL" : ("AND JUDGE_LEVEL_CODE = '" + ur.Cells["JUDGE_LEVEL_CODE"].Text.Trim() + "'"));
  958. break;
  959. }
  960. }
  961. ArrayList alDetail = new ArrayList();
  962. ArrayList alDetailPara = new ArrayList();
  963. foreach (UltraGridRow ur in ultraGrid4.Rows)
  964. {
  965. if (ur.Cells["CHK"].Text.Trim() == "True" && ur.Cells["MAT_CODE"].Text.Trim() != "")
  966. {
  967. alDetailPara = new ArrayList();
  968. alDetailPara.Add(strMic);
  969. alDetailPara.Add(ur.Cells["MAT_CODE"].Value.ToString());
  970. alDetailPara.Add(ur.Cells["MAT_CODE"].Text.Trim());
  971. alDetailPara.Add(ur.Cells["MAT_UNIT"].Text.Trim());//单位
  972. alDetailPara.Add(ur.Cells["ADD_CONDITION"].Text.Trim());
  973. alDetailPara.Add("0");
  974. alDetailPara.Add("");
  975. alDetailPara.Add(ur.Cells["STDMIN_SIGN"].Text.Trim());
  976. alDetailPara.Add(ur.Cells["STDMIN"].Text.Trim());
  977. alDetailPara.Add(ur.Cells["STDMAX_SIGN"].Text.Trim());//STDMAX
  978. alDetailPara.Add(ur.Cells["STDMAX"].Text.Trim());
  979. alDetailPara.Add(ur.Cells["CHECK_CYCLE"].Text.Trim());
  980. alDetailPara.Add(ur.Cells["CHECK_CYCLE_NUM"].Text.Trim());
  981. alDetailPara.Add(ur.Cells["CHECK_CYCLE_UNIT"].Text.Trim());
  982. alDetailPara.Add(ur.Cells["JUDGE_TYPE_CODE"].Value.ToString());
  983. alDetailPara.Add(ur.Cells["JUDGE_TYPE_CODE"].Text.Trim());
  984. alDetailPara.Add(ur.Cells["CHECK_CONDITION"].Text.Trim());
  985. alDetailPara.Add(ur.Cells["REMARK"].Text.Trim());
  986. alDetailPara.Add("1");//默认1 ur.Cells["STD_TYPE"].Value.ToString()
  987. alDetail.Add(alDetailPara);
  988. }
  989. }
  990. all.Add(alDelete);
  991. all.Add(alBase);
  992. all.Add(alDetail);
  993. PublicServer.SetData("com.steering.lims.data.base.FrmBaseMatStdDetail.UpdateStdDetail",
  994. new Object[] { sql, all }, this.ob);
  995. QueryMatCheckStd();
  996. PublicMat.ActiveOperateRow(ultraGrid1, "STANDARDS_ID", strStd_No);
  997. PublicMat.ActiveOperateRow(ultraGrid2, "ITEM_CODE", strItem_Code);
  998. PublicMat.ActiveOperateRow(ultraGrid3, "MIC", strMic);
  999. MessageUtil.ShowTips("复制成功!");
  1000. }
  1001. }
  1002. catch (Exception e)
  1003. {
  1004. MessageUtil.ShowWarning(e.Message);
  1005. return;
  1006. }
  1007. }
  1008. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  1009. {
  1010. QueryMatStdMatchUp();
  1011. }
  1012. //查询检验标准对应关系
  1013. private void QueryMatStdMatchUp()
  1014. {
  1015. try
  1016. {
  1017. ArrayList arrayList = new ArrayList();
  1018. arrayList.Add(ultraGrid1.ActiveRow.Cells["STANDARDS_NO"].Text.Trim());
  1019. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseMatStdDetail.QueryMatStdMatchUp",
  1020. new Object[] { arrayList }, ob);
  1021. if (dt == null || dt.Rows.Count == 0)
  1022. {
  1023. dataTable4.Rows.Clear();
  1024. dataTable3.Rows.Clear();
  1025. dataTable2.Rows.Clear();
  1026. return;
  1027. }
  1028. GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1
  1029. //GridHelper.RefreshAndAutoSize(ultraGrid2);//刷新Grid
  1030. PublicMat.RefreshAndAutoSizeColumns(ultraGrid2, new string[] { "REMARK" }, false);
  1031. ultraGrid2.ActiveRow = ultraGrid2.Rows[ultraGrid2.Rows.Count - 1];//0新增默认激活最后一行
  1032. }
  1033. catch (Exception e)
  1034. {
  1035. MessageUtil.ShowWarning(e.Message);
  1036. return;
  1037. }
  1038. }
  1039. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  1040. {
  1041. PublicMat.GridEdite(ultraGrid2.ActiveRow);
  1042. Infragistics.Win.ValueList valueList = new Infragistics.Win.ValueList();
  1043. string[] arrStrId = ultraGrid2.ActiveRow.Cells["STANDARDS_ID"].Text.Trim().Split(',');
  1044. string[] arrStrCode = ultraGrid2.ActiveRow.Cells["STANDARDS_CODE"].Text.Trim().Split(',');
  1045. for (int i = 0; i < arrStrId.Length; i++)
  1046. {
  1047. valueList.ValueListItems.Add(arrStrId[i], arrStrCode[i]);
  1048. }
  1049. ultraSTANDARDS.ValueList = valueList;
  1050. QueryMatStdBaseInfo();
  1051. }
  1052. private void QueryMatStdBaseInfo()
  1053. {
  1054. try
  1055. {
  1056. string strItem_Code = ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Value.ToString();
  1057. if (strItem_Code == "")
  1058. {
  1059. return;
  1060. }
  1061. ArrayList arrayList = new ArrayList();
  1062. arrayList.Add(strItem_Code);
  1063. arrayList.Add(strItem_Code);
  1064. arrayList.Add(strItem_Code);
  1065. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseMatStdDetail.QueryMatStdBaseInfo",
  1066. new Object[] { arrayList }, ob);
  1067. if (dt == null || dt.Rows.Count == 0)
  1068. {
  1069. dataTable4.Rows.Clear();
  1070. dataTable3.Rows.Clear();
  1071. return;
  1072. }
  1073. GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable1
  1074. //GridHelper.RefreshAndAutoSize(ultraGrid3);//刷新Grid
  1075. PublicMat.RefreshAndAutoSizeColumns(ultraGrid3, new string[] { "GROUP_LEVEL", "JUDGE_TYPE_CODE", "GET_SAMPLE_STD", "GET_SAMPLE_STD_DESC", "REMARK" }, false);
  1076. }
  1077. catch (Exception e)
  1078. {
  1079. MessageUtil.ShowWarning(e.Message);
  1080. return;
  1081. }
  1082. }
  1083. private void ultraGrid3_AfterRowActivate(object sender, EventArgs e)
  1084. {
  1085. PublicMat.GridEdite(ultraGrid3.ActiveRow);
  1086. QueryMatStdDetail();
  1087. }
  1088. private void QueryMatStdDetail()
  1089. {
  1090. try
  1091. {
  1092. if (ultraGrid3.ActiveRow.Cells["MIC"].Text.Trim() != "" && ultraGrid3.ActiveRow.Cells["VALIDFLAG"].Text.Trim() == "1")
  1093. {
  1094. ArrayList arrayList = new ArrayList();
  1095. arrayList.Add(ultraGrid3.ActiveRow.Cells["MIC"].Text.Trim());
  1096. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseMatStdDetail.QueryMatStdDetail",
  1097. new Object[] { arrayList }, ob);
  1098. if (dt == null || dt.Rows.Count == 0)
  1099. {
  1100. dataTable4.Rows.Clear();
  1101. return;
  1102. }
  1103. GridHelper.CopyDataToDatatable(dt, dataTable4, true);
  1104. //GridHelper.RefreshAndAutoSize(ultraGrid4);//刷新Grid
  1105. PublicMat.RefreshAndAutoSizeColumns(ultraGrid4, new string[] { "STDMIN_SIGN", "STDMAX_SIGN", "JUDGE_TYPE_CODE", "CHECK_CYCLE_NUM", "CHECK_CYCLE_UNIT", "STD_TYPE" }, true);
  1106. }
  1107. }
  1108. catch (Exception e)
  1109. {
  1110. MessageUtil.ShowWarning(e.Message);
  1111. return;
  1112. }
  1113. }
  1114. private void ultraGroup_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1115. {
  1116. WinMatGroupSelect addR = new WinMatGroupSelect(this.ob);
  1117. addR.ShowDialog();
  1118. if (addR.DialogResult != DialogResult.OK)
  1119. {
  1120. return;
  1121. }
  1122. //ultraGrid3.Rows[0].Cells["GROUP_LEVEL_CODE"].Value = addR.StrGroupCode;
  1123. //ultraGrid3.Rows[0].Cells["GROUP_LEVEL"].Value = addR.StrGroupName;
  1124. ultraGrid3.ActiveRow.Cells["GROUP_LEVEL_CODE"].Value = addR.StrGroupCode;
  1125. ultraGrid3.ActiveRow.Cells["GROUP_LEVEL"].Value = addR.StrGroupName;
  1126. }
  1127. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  1128. {
  1129. ultraGrid2.Update();
  1130. ultraGrid2.UpdateData();
  1131. if (e.Cell.Column.Key == "ITEM_CODE")
  1132. {
  1133. if (e.Cell.Value.ToString() != "")
  1134. {
  1135. //if (dataTable2.Select("ITEM_CODE = '" + e.Cell.Value.ToString() + "'").Length > 1)
  1136. //{
  1137. // e.Cell.Value = "";
  1138. // e.Cell.Row.Cells["ITEM_NAME"].Value = "";
  1139. // MessageUtil.ShowWarning("此物料已存在!");
  1140. // return;
  1141. //}
  1142. //else
  1143. //{
  1144. e.Cell.Row.Cells["ITEM_NAME"].Value = e.Cell.Text.Trim();
  1145. //}
  1146. }
  1147. else
  1148. {
  1149. e.Cell.Row.Cells["STANDARDS_ID"].Value = "";
  1150. e.Cell.Row.Cells["STANDARDS_CODE"].Value = "";
  1151. }
  1152. }
  1153. //ultraGrid2.Update();
  1154. //ultraGrid2.UpdateData();
  1155. //if (e.Cell.Column.Key == "ITEM_CODE")
  1156. //{
  1157. // if (e.Cell.Value.ToString() != "")
  1158. // {
  1159. // if (dataTable2.Select("ITEM_CODE = '" + e.Cell.Value.ToString() + "'").Length > 1)
  1160. // {
  1161. // e.Cell.Value = "";
  1162. // e.Cell.Row.Cells["ITEM_NAME"].Value = "";
  1163. // MessageUtil.ShowWarning("此检验项已存在!");
  1164. // return;
  1165. // }
  1166. // try
  1167. // {
  1168. // e.Cell.Row.Cells["ITEM_NAME"].Value = e.Cell.Text.Trim();
  1169. // ArrayList arrayList = new ArrayList();
  1170. // arrayList.Add(e.Cell.Value.ToString());
  1171. // DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseMatStdDetail.QueryMatItemStd",
  1172. //new Object[] { arrayList }, ob);
  1173. // if (dt == null || dt.Rows.Count == 0)
  1174. // {
  1175. // return;
  1176. // }
  1177. // string stdId = "";
  1178. // string stdCode = "";
  1179. // foreach (DataRow dr in dt.Rows)
  1180. // {
  1181. // stdId += "," + dr["STANDARDS_ID"].ToString();
  1182. // stdCode += "," + dr["STANDARDS_CODE"].ToString();
  1183. // }
  1184. // stdId = stdId.Remove(0, 1);
  1185. // stdCode = stdCode.Remove(0, 1);
  1186. // e.Cell.Row.Cells["STANDARDS_ID"].Value = stdId;
  1187. // e.Cell.Row.Cells["STANDARDS_CODE"].Value = stdCode;
  1188. // }
  1189. // catch (Exception ex)
  1190. // {
  1191. // MessageUtil.ShowWarning(ex.Message);
  1192. // return;
  1193. // }
  1194. // }
  1195. // else
  1196. // {
  1197. // e.Cell.Row.Cells["STANDARDS_ID"].Value = "";
  1198. // e.Cell.Row.Cells["STANDARDS_CODE"].Value = "";
  1199. // }
  1200. //}
  1201. PublicMat.GridEdite(ultraGrid2.ActiveRow);
  1202. }
  1203. private void ultraGrid3_CellChange(object sender, CellEventArgs e)
  1204. {
  1205. ultraGrid3.UpdateData();
  1206. if (e.Cell.Column.Key == "CHK")
  1207. {
  1208. if (e.Cell.Text == "True")
  1209. {
  1210. if (e.Cell.Row.Cells["VALIDFLAG"].Text.Trim() != "1")
  1211. {
  1212. if (ultraGrid2.ActiveRow == null)
  1213. {
  1214. e.Cell.Row.Cells["ITEM_CODE"].Value = "";
  1215. e.Cell.Row.Cells["ITEM_NAME"].Value = "";
  1216. e.Cell.Value = "False";
  1217. }
  1218. else
  1219. {
  1220. Infragistics.Win.ValueList valueList = new Infragistics.Win.ValueList();
  1221. string[] arrStrId = ultraGrid2.ActiveRow.Cells["STANDARDS_ID"].Text.Trim().Split(',');
  1222. string[] arrStrCode = ultraGrid2.ActiveRow.Cells["STANDARDS_CODE"].Text.Trim().Split(',');
  1223. for (int i = 0; i < arrStrId.Length; i++)
  1224. {
  1225. valueList.ValueListItems.Add(arrStrId[i], arrStrCode[i]);
  1226. }
  1227. ultraSTANDARDS.ValueList = valueList;
  1228. e.Cell.Row.Cells["ITEM_CODE"].Value = ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Value.ToString() == "" ? ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Text.Trim() : ultraGrid2.ActiveRow.Cells["ITEM_CODE"].Value.ToString();
  1229. e.Cell.Row.Cells["ITEM_NAME"].Value = ultraGrid2.ActiveRow.Cells["ITEM_NAME"].Text.Trim();
  1230. ultraSTANDARDS.SelectedIndex = 0;
  1231. e.Cell.Row.Cells["STANDARDS_ID"].Value = ultraSTANDARDS.SelectedItem.DataValue.ToString();
  1232. e.Cell.Row.Cells["STANDARDS_CODE"].Value = ultraSTANDARDS.SelectedItem.DisplayText;//DataValue.ToString()
  1233. UltraJUDGE_TYPE.Ult.SelectedIndex = 2;
  1234. e.Cell.Row.Cells["JUDGE_TYPE_CODE"].Value = UltraJUDGE_TYPE.Ult.SelectedItem.DataValue.ToString();
  1235. }
  1236. }
  1237. }
  1238. }
  1239. PublicMat.GridEdite(ultraGrid3.ActiveRow);
  1240. }
  1241. private void ultraITEM_ATTR_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1242. {
  1243. if (ultraGrid3.ActiveRow == null)
  1244. {
  1245. return;
  1246. }
  1247. WinMatAttrSelect addR = new WinMatAttrSelect(this.ob);
  1248. string strCode = ultraGrid3.ActiveRow.Cells["ITEM_CODE"].Text.Trim();
  1249. if (strCode == "")
  1250. {
  1251. return;
  1252. }
  1253. addR.StrItem_Code = strCode;
  1254. addR.ShowDialog();
  1255. if (addR.DialogResult != DialogResult.OK)
  1256. {
  1257. return;
  1258. }
  1259. ultraGrid3.ActiveRow.Cells["JUDGE_LEVEL_CODE"].Value = addR.StrStdId;
  1260. ultraGrid3.ActiveRow.Cells["JUDGE_LEVEL"].Value = addR.StrStdCode;
  1261. ultraGrid3.ActiveRow.Cells["ITEM_ATTR_ID"].Value = addR.StrStdId;
  1262. ultraGrid3.ActiveRow.Cells["ITEM_ATTR"].Value = addR.StrStdCode;
  1263. //ultraGrid3.Rows[0].Cells["JUDGE_LEVEL_CODE"].Value = addR.StrStdId;
  1264. //ultraGrid3.Rows[0].Cells["JUDGE_LEVEL"].Value = addR.StrStdCode;
  1265. //ultraGrid3.Rows[0].Cells["ITEM_ATTR_ID"].Value = addR.StrStdId;
  1266. //ultraGrid3.Rows[0].Cells["ITEM_ATTR"].Value = addR.StrStdCode;
  1267. }
  1268. private void ultraGrid4_CellChange(object sender, CellEventArgs e)
  1269. {
  1270. ultraGrid4.UpdateData();
  1271. PublicMat.GridEdite(ultraGrid4.ActiveRow);
  1272. if (e.Cell.Value.ToString() != "")
  1273. {
  1274. if (e.Cell.Column.Key == "CHK" && e.Cell.Value.ToString() == "True")
  1275. {
  1276. UltJUDGE_TYPE.SelectedIndex = 0;
  1277. e.Cell.Row.Cells["JUDGE_TYPE_CODE"].Value = UltJUDGE_TYPE.SelectedItem.DataValue.ToString();
  1278. e.Cell.Row.Cells["CHECK_CYCLE_NUM"].Value = "1";
  1279. ultraSTD_TYPE.SelectedIndex = 1;
  1280. e.Cell.Row.Cells["STD_TYPE"].Value = ultraSTD_TYPE.SelectedItem.DataValue.ToString();
  1281. }
  1282. if (e.Cell.Column.Key == "MAT_CODE")
  1283. {
  1284. //检验项+条件+标准类别不能相同
  1285. if (dataTable4.Select("MAT_CODE = '" + e.Cell.Value.ToString() + "' AND ADD_CONDITION = '" + e.Cell.Row.Cells["ADD_CONDITION"].Value.ToString() + "' AND STD_TYPE = '" + e.Cell.Row.Cells["STD_TYPE"].Value.ToString() + "'").Length > 1)
  1286. {
  1287. e.Cell.Value = "";
  1288. MessageUtil.ShowWarning("此类型检验项已存在!");
  1289. return;
  1290. }
  1291. }
  1292. else if (e.Cell.Column.Key == "STD_TYPE")
  1293. {
  1294. //"MAT_CODE = '" + e.Cell.Row.Cells["MAT_CODE"].Value.ToString() + "' AND STD_TYPE = '" + e.Cell.Value.ToString() + "'"
  1295. if (dataTable4.Select("MAT_CODE = '" + e.Cell.Row.Cells["MAT_CODE"].Value.ToString() + "' AND ADD_CONDITION = '" + e.Cell.Row.Cells["ADD_CONDITION"].Value.ToString() + "' AND STD_TYPE = '" + e.Cell.Value.ToString() + "'").Length > 1)
  1296. {
  1297. e.Cell.Value = "";
  1298. MessageUtil.ShowWarning("此类型检验项已存在!");
  1299. return;
  1300. }
  1301. }
  1302. }
  1303. }
  1304. private void ultraGrid4_AfterRowActivate(object sender, EventArgs e)
  1305. {
  1306. PublicMat.GridEdite(ultraGrid4.ActiveRow);
  1307. }
  1308. private void ultraSTANDARDS_ID_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1309. {
  1310. WinMatStdSelect addR = new WinMatStdSelect(this.ob);
  1311. addR.ShowDialog();
  1312. if (addR.DialogResult != DialogResult.OK)
  1313. {
  1314. return;
  1315. }
  1316. ultraGrid2.ActiveRow.Cells["STANDARDS_ID"].Value = addR.StrStdId;
  1317. ultraGrid2.ActiveRow.Cells["STANDARDS_CODE"].Value = addR.StrStdCode;
  1318. }
  1319. private void txtREMARK_UltraGrid2_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1320. {
  1321. if (ultraGrid2.ActiveCell != null)
  1322. {
  1323. PopupTextBox ptb = new PopupTextBox(ultraGrid2.ActiveCell.Text, 400);
  1324. ptb.ShowDialog();
  1325. if (ptb.DialogResult == DialogResult.OK)
  1326. {
  1327. ultraGrid2.ActiveCell.Value = ptb.TextInfo;
  1328. }
  1329. }
  1330. }
  1331. private void txtREMARK_UltraGrid3_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1332. {
  1333. if (ultraGrid3.ActiveCell != null)
  1334. {
  1335. PopupTextBox ptb = new PopupTextBox(ultraGrid3.ActiveCell.Text, 400);
  1336. ptb.ShowDialog();
  1337. if (ptb.DialogResult == DialogResult.OK)
  1338. {
  1339. ultraGrid3.ActiveCell.Value = ptb.TextInfo;
  1340. }
  1341. }
  1342. }
  1343. private void txtREMARK_UltraGrid4_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1344. {
  1345. if (ultraGrid4.ActiveCell != null)
  1346. {
  1347. PopupTextBox ptb = new PopupTextBox(ultraGrid4.ActiveCell.Text, 400);
  1348. ptb.ShowDialog();
  1349. if (ptb.DialogResult == DialogResult.OK)
  1350. {
  1351. ultraGrid4.ActiveCell.Value = ptb.TextInfo;
  1352. }
  1353. }
  1354. }
  1355. }
  1356. }