FrmDesginBom.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  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 System.Collections;
  10. using CoreFS.CA06;
  11. using Core.Mes.Client.Comm.Tool;
  12. using com.steering.pss.plan.order.model;
  13. using Infragistics.Win.UltraWinGrid;
  14. using Core.Mes.Client.Comm.Server;
  15. namespace Core.StlMes.Client.Plan.Order
  16. {
  17. public partial class FrmDesginBom : FrmBase
  18. {
  19. private string bom = "";
  20. /// <summary>
  21. /// DESIGN_KEY
  22. /// </summary>
  23. private String designKey;
  24. /// <summary>
  25. /// 全程产线号
  26. /// </summary>
  27. private string mscPline;
  28. /// <summary>
  29. /// 全程途径码
  30. /// </summary>
  31. private string wholeBacklog;
  32. /// <summary>
  33. /// 物料编码
  34. /// </summary>
  35. private string materialNo;
  36. /// <summary>
  37. /// 可选钢种
  38. /// </summary>
  39. private string gradeAll;
  40. /// <summary>
  41. /// bom选中
  42. /// </summary>
  43. private UltraGridRow ugr;
  44. /// <summary>
  45. /// 镦拔扩投入物料编码
  46. /// </summary>
  47. private string eInMaterial;
  48. /// <summary>
  49. /// BOM
  50. /// </summary>
  51. private string strBom;
  52. /// <summary>
  53. /// 冶金规范码
  54. /// </summary>
  55. private String msc;
  56. /// <summary>
  57. /// 成品外径
  58. /// </summary>
  59. private String outdiameter;
  60. /// <summary>
  61. /// 成品壁厚
  62. /// </summary>
  63. private String wallthick;
  64. /// <summary>
  65. /// 成品规格代码
  66. /// </summary>
  67. private String specCode;
  68. /// <summary>
  69. /// 成品规格描述
  70. /// </summary>
  71. private String specName;
  72. public FrmDesginBom(OpeBase baseOb, string strBom)
  73. {
  74. this.IsLoadUserView = true;
  75. this.ob = baseOb;
  76. bom = strBom;
  77. this.designKey = "";
  78. this.mscPline = "";
  79. this.WholeBacklog = "";
  80. this.materialNo = "";
  81. this.eInMaterial = "";
  82. this.StrBom = "";
  83. this.gradeAll = "";
  84. this.msc = "";
  85. this.outdiameter = "";
  86. this.wallthick = "";
  87. this.specCode = "";
  88. this.specName = "";
  89. InitializeComponent();
  90. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(ultraGridBom.DisplayLayout.Bands[0]);
  91. }
  92. private void FrmDesginBom_Load(object sender, EventArgs e)
  93. {
  94. doQuery();
  95. }
  96. /// <summary>
  97. /// 查询
  98. /// </summary>
  99. private void doQuery()
  100. {
  101. ArrayList param = new ArrayList();
  102. param.Add(designKey);
  103. param.Add(designKey);
  104. param.Add(mscPline);
  105. param.Add(msc);
  106. param.Add(materialNo);
  107. param.Add(eInMaterial);
  108. param.Add(eInMaterial);
  109. param.Add(strBom);
  110. param.Add(strBom);
  111. List<SlmOrdDesignBomEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomEntity>(
  112. "com.steering.pss.plan.order.CoreOrderDesignBom.getOrdDesignBom", new object[] { param }, this.ob);
  113. slmOrdDesignBomEntityBindingSource.DataSource = listSource;
  114. PlanComm.setGridActivation(ultraGridBom.DisplayLayout.Bands[0], "CHC");
  115. ultraGridBom.Update();
  116. IQueryable<UltraGridRow> checkRows = ultraGridBom.Rows.AsQueryable().Where(" Bom = '" + bom + "' ");
  117. if (checkRows.Count() == 0)
  118. {
  119. return;
  120. }
  121. foreach (UltraGridRow uRow in checkRows)
  122. {
  123. uRow.Cells["CHC"].Value = true;
  124. }
  125. }
  126. /// <summary>
  127. /// 控制单选
  128. /// </summary>
  129. /// <param name="sender"></param>
  130. /// <param name="e"></param>
  131. private void ultraGridBom_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  132. {
  133. if (e.Cell.Column.Key.Equals("CHC"))
  134. {
  135. if (Convert.ToBoolean(e.Cell.Row.Cells["CHC"].Text))
  136. {
  137. foreach (UltraGridRow uRow in ultraGridBom.Rows)
  138. {
  139. if (uRow != e.Cell.Row)
  140. {
  141. uRow.Cells["CHC"].Value = false;
  142. }
  143. }
  144. }
  145. }
  146. }
  147. /// <summary>
  148. /// 确认
  149. /// </summary>
  150. /// <param name="sender"></param>
  151. /// <param name="e"></param>
  152. private void ultraButtonConfirm_Click(object sender, EventArgs e)
  153. {
  154. ultraGridBom.UpdateData();
  155. IQueryable<UltraGridRow> checkRows = ultraGridBom.Rows.AsQueryable().Where(" CHC = 'True' ");
  156. if (checkRows.Count() == 0)
  157. {
  158. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("未勾选任何信息!");
  159. return;
  160. }
  161. ArrayList arr = new ArrayList();
  162. ugr = checkRows.First<UltraGridRow>();
  163. foreach (UltraGridRow uRow in ultraGridBom.Rows)
  164. {
  165. if (!arr.Contains(uRow.Cells["Gradename"].Value.ToString()))
  166. {
  167. arr.Add(uRow.Cells["Gradename"].Value.ToString());
  168. gradeAll += uRow.Cells["Gradename"].Value.ToString() + ",";
  169. }
  170. }
  171. if (!gradeAll.Equals("") && gradeAll.Length > 1)
  172. {
  173. gradeAll = gradeAll.Substring(0, gradeAll.Length - 1);
  174. }
  175. this.Close();
  176. }
  177. /// <summary>
  178. /// 取消
  179. /// </summary>
  180. /// <param name="sender"></param>
  181. /// <param name="e"></param>
  182. private void ultraButtonCancel_Click(object sender, EventArgs e)
  183. {
  184. this.Close();
  185. }
  186. /// <summary>
  187. /// 新增镦拔扩投入规格
  188. /// </summary>
  189. /// <param name="sender"></param>
  190. /// <param name="e"></param>
  191. private void buttonAddZgSepc_Click(object sender, EventArgs e)
  192. {
  193. ultraGridBom.Update();
  194. IQueryable<UltraGridRow> checkRows = ultraGridBom.Rows.AsQueryable().Where(" CHC = 'True' ");
  195. if (checkRows.Count() == 0)
  196. {
  197. MessageUtil.ShowTips("未指定钢种!");
  198. return;
  199. }
  200. UltraGridRow ugr = checkRows.First<UltraGridRow>();
  201. FrmAddEinSpec addSpec = new FrmAddEinSpec(this.ob);
  202. ArrayList param= new ArrayList();
  203. param.Add(designKey);
  204. param.Add(ugr.Cells["mscPline"].Value.ToString());
  205. DataTable dtProcess = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryMscplPrc",
  206. new object[] { param }, this.ob);
  207. if (dtProcess != null && dtProcess.Rows.Count > 0)
  208. {
  209. string bjType = "";
  210. foreach (DataRow dr in dtProcess.Rows)
  211. {
  212. if (dr["PROCESS_CODE"].ToString().Equals("E"))
  213. {
  214. bjType = dr["PROCESS_CODE_C"].ToString();
  215. }
  216. }
  217. if (bjType.Equals(""))
  218. {
  219. MessageUtil.ShowError("未找到镦拔扩二级工序!");
  220. return;
  221. }
  222. addSpec.Prolineinfo = bjType;
  223. addSpec.Gztype = ugr.Cells["Gradecode"].Value.ToString();
  224. addSpec.BjOutdiameter = outdiameter;
  225. addSpec.BjWallthick = wallthick;
  226. addSpec.ShowDialog();
  227. if (addSpec.isModify)
  228. {
  229. ArrayList listMscPline = new ArrayList();
  230. ArrayList listwholeBacklog = new ArrayList();
  231. listMscPline.Add(mscPline);
  232. listwholeBacklog.Add(wholeBacklog);
  233. CoreClientParam ccp = new CoreClientParam();
  234. ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignStandard";
  235. ccp.MethodName = "checkNewSpec";
  236. ccp.ServerParams = new object[] { designKey, msc, listMscPline,
  237. listwholeBacklog, outdiameter, wallthick, specCode, specName };
  238. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  239. if (ccp.ReturnCode != -1)
  240. {
  241. MessageUtil.ShowTips(ccp.ReturnInfo);
  242. }
  243. }
  244. }
  245. doQuery();
  246. }
  247. /// <summary>
  248. /// 设置添加轧管规格
  249. /// </summary>
  250. /// <param name="visiBle"></param>
  251. public void setButtonAddZgSepcShow(bool visiBle)
  252. {
  253. this.buttonAddZgSepc.Visible = visiBle;
  254. }
  255. /// <summary>
  256. /// 成品外径
  257. /// </summary>
  258. public string Outdiameter
  259. {
  260. get { return outdiameter; }
  261. set { outdiameter = value; }
  262. }
  263. /// <summary>
  264. /// 成品壁厚
  265. /// </summary>
  266. public string Wallthick
  267. {
  268. get { return wallthick; }
  269. set { wallthick = value; }
  270. }
  271. /// <summary>
  272. /// 成品规格代码
  273. /// </summary>
  274. public string SpecCode
  275. {
  276. get { return specCode; }
  277. set { specCode = value; }
  278. }
  279. /// <summary>
  280. /// 成品规格描述
  281. /// </summary>
  282. public string SpecName
  283. {
  284. get { return specName; }
  285. set { specName = value; }
  286. }
  287. /// <summary>
  288. /// 冶金规范码
  289. /// </summary>
  290. public string Msc
  291. {
  292. get { return msc; }
  293. set { msc = value; }
  294. }
  295. /// <summary>
  296. /// BOM
  297. /// </summary>
  298. public string StrBom
  299. {
  300. get { return strBom; }
  301. set { strBom = value; }
  302. }
  303. /// <summary>
  304. /// 镦拔扩投入物料编码
  305. /// </summary>
  306. public string EInMaterial
  307. {
  308. get { return eInMaterial; }
  309. set { eInMaterial = value; }
  310. }
  311. /// <summary>
  312. /// bom选中
  313. /// </summary>
  314. public UltraGridRow Ugr
  315. {
  316. get { return ugr; }
  317. set { ugr = value; }
  318. }
  319. /// <summary>
  320. /// 可选钢种
  321. /// </summary>
  322. public string GradeAll
  323. {
  324. get { return gradeAll; }
  325. set { gradeAll = value; }
  326. }
  327. /// <summary>
  328. /// 物料编码
  329. /// </summary>
  330. public string MaterialNo
  331. {
  332. get { return materialNo; }
  333. set { materialNo = value; }
  334. }
  335. /// <summary>
  336. /// 全程产线号
  337. /// </summary>
  338. public string MscPline
  339. {
  340. get { return mscPline; }
  341. set { mscPline = value; }
  342. }
  343. /// <summary>
  344. /// 全程途径码
  345. /// </summary>
  346. public string WholeBacklog
  347. {
  348. get { return wholeBacklog; }
  349. set { wholeBacklog = value; }
  350. }
  351. /// <summary>
  352. /// DESIGN_KEY
  353. /// </summary>
  354. public string DesignKey
  355. {
  356. get { return designKey; }
  357. set { designKey = value; }
  358. }
  359. }
  360. }