CraftOrdDesignFilePopup.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using Core.Mes.Client.Comm.Control;
  11. using Core.Mes.Client.Comm.Server;
  12. using Core.Mes.Client.Comm.Tool;
  13. using Core.StlMes.Client.SaleOrder.BLL;
  14. using Core.StlMes.Client.SaleOrder.Control;
  15. using CoreFS.CA06;
  16. using CoreFS.SA06;
  17. using Infragistics.Win.UltraWinGrid;
  18. namespace Core.StlMes.Client.SaleOrder.Dialog
  19. {
  20. public partial class CraftOrdDesignFilePopup : FrmBase
  21. {
  22. private ArrayList _listOrdLnPk;
  23. private CraftFileApplyCtrl _craftFileApplyCtrl;
  24. private PlaSaleOrdProcCtrl _plaSaleOrdProcCtrl;
  25. private bool _isMultiChoice = false;
  26. public bool IsMultiChoice
  27. {
  28. get { return _isMultiChoice; }
  29. set { _isMultiChoice = value; }
  30. }
  31. private string _craftNos = "";
  32. public string CraftNos
  33. {
  34. get { return _craftNos; }
  35. set { _craftNos = value; }
  36. }
  37. public CraftOrdDesignFilePopup()
  38. {
  39. InitializeComponent();
  40. }
  41. public CraftOrdDesignFilePopup(ArrayList listOrdLnPk, string customInfo, OpeBase ob)
  42. {
  43. InitializeComponent();
  44. this.ob = ob;
  45. this.CustomInfo = customInfo;
  46. this._listOrdLnPk = listOrdLnPk;
  47. craftImg.ButtonsRight.Clear();
  48. Query();
  49. }
  50. protected override void OnLoad(EventArgs e)
  51. {
  52. base.OnLoad(e);
  53. ultraGrid1.DisplayLayout.Override.FilterOperandStyle = FilterOperandStyle.UseColumnEditor;
  54. }
  55. private void CraftOrdDesignFilePopup_Load(object sender, EventArgs e)
  56. {
  57. if (CustomInfo == "CraftAppFile")
  58. {
  59. _craftFileApplyCtrl = new CraftFileApplyCtrl(splitContainer1.Panel2, ob);
  60. }
  61. else if (CustomInfo == "PlaOrdProc")
  62. {
  63. craftImg.ButtonsRight.Clear();
  64. _plaSaleOrdProcCtrl = new PlaSaleOrdProcCtrl(splitContainer1.Panel2, ob, "CraftFile");
  65. }
  66. else if (CustomInfo == "CraftQuery")
  67. {
  68. craftImg.ButtonsRight.Clear();
  69. this.splitContainer1.Panel2Collapsed = true;
  70. this.ultraGrid1.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true;
  71. ultraGrid1.DisplayLayout.Bands[0].Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False;
  72. ultraGrid1.DisplayLayout.Bands[0].Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False;
  73. ckValid.Visible = true;
  74. ckValid.Checked = true;
  75. }
  76. else if (CustomInfo == "AppointCraftFile")
  77. {
  78. craftImg.ButtonsRight.Clear();
  79. this.splitContainer1.Panel2Collapsed = true;
  80. }
  81. else if (CustomInfo == "AppointTmpCraftFile")
  82. {
  83. craftImg.ButtonsRight.Clear();
  84. this.splitContainer1.Panel2Collapsed = true;
  85. }
  86. else if(CustomInfo == "ChoiceCraftNo")
  87. {
  88. craftImg.ButtonsRight.Clear();
  89. this.splitContainer1.Panel2Collapsed = true;
  90. ultraToolbarsManager1.Tools["确认选择"].SharedProps.Visible = true;
  91. ultraToolbarsManager1.Tools["指定工艺文件"].SharedProps.Visible = false;
  92. }
  93. if (CustomInfo != "CraftQuery")
  94. {
  95. Query();
  96. }
  97. }
  98. public override void ToolBar_Click(object sender, string ToolbarKey)
  99. {
  100. base.ToolBar_Click(sender, ToolbarKey);
  101. switch (ToolbarKey)
  102. {
  103. case "Query":
  104. Query();
  105. break;
  106. case "SavePsc":
  107. SavePsc();
  108. break;
  109. case "SetMemo":
  110. SetMemo();
  111. break;
  112. case "DeleteCraft":
  113. DeleteCraft();
  114. break;
  115. case "InvalidCraftFile":
  116. InvalidCraftFile("0");
  117. break;
  118. case "ValidCraftFile":
  119. InvalidCraftFile("1");
  120. break;
  121. case "BatchDownLoad":
  122. BatchDownLoad();
  123. break;
  124. case "Export":
  125. GridHelper.ulGridToExcel(ultraGrid1, "工艺文件信息");
  126. break;
  127. }
  128. }
  129. /// <summary>
  130. /// 批量下载文件
  131. /// </summary>
  132. public void BatchDownLoad()
  133. {
  134. if (ultraGrid1.Selected.Rows.Count <= 0)
  135. {
  136. MessageUtil.ShowWarning("请拖选您要批量下载的工艺文件!");
  137. return;
  138. }
  139. List<string> pathList = new List<string>();
  140. foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows)
  141. {
  142. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  143. {
  144. string filePathOld = uRow.GetValue("CRAFT_PATH_OLD");
  145. if (filePathOld != "")
  146. pathList.Add(filePathOld);
  147. }
  148. }
  149. dlgOrderAskDown down = new dlgOrderAskDown(this.ob, pathList);
  150. down.DeleteButton.Visible = false;
  151. down.ShowDialog();
  152. //打开下载后的文件夹
  153. if (down.Pic != "")
  154. System.Diagnostics.Process.Start("Explorer.exe", down.Pic);
  155. }
  156. private void InvalidCraftFile(string validflag)
  157. {
  158. IQueryable<UltraGridRow> rows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  159. if (rows.Count() == 0)
  160. {
  161. MessageUtil.ShowWarning("请选择一条记录!");
  162. return;
  163. }
  164. string craftKey = rows.First().GetValue("CRAFT_KEY");
  165. string craftNo = rows.First().GetValue("CRAFT_NO");
  166. string craftNoV = rows.First().GetValue("CRAFT_NO_V");
  167. if (MessageUtil.ShowYesNoAndQuestion(string.Format("是否确认{0}该工艺文件!",
  168. (validflag == "0" ? "作废" : "恢复"))) == System.Windows.Forms.DialogResult.No)
  169. {
  170. return;
  171. }
  172. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.invalidCraftFile",
  173. new object[] { craftKey, validflag }, ob);
  174. MessageUtil.ShowTips((validflag == "0" ? "作废" : "恢复") + "成功!");
  175. Relocate(craftNo, craftNoV);
  176. }
  177. private void SavePsc()
  178. {
  179. _craftFileApplyCtrl.Save();
  180. }
  181. public void Query()
  182. {
  183. try
  184. {
  185. this.Cursor = Cursors.WaitCursor;
  186. string craftNo = "";
  187. string memo = "";
  188. string validflag = "999";
  189. if (labelTextBox1.Checked)
  190. craftNo = labelTextBox1.Text.Trim();
  191. if (labelTextBox2.Checked)
  192. memo = labelTextBox2.Text.Trim();
  193. if (ckValid.Checked)
  194. validflag = "1";
  195. DataTable dt = ServerHelper.GetData(
  196. "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getCraftOrdDesignFile",
  197. new object[] { CustomInfo, craftNo, memo, labelCheckBox1.Checked.ToString(), validflag }, ob);
  198. GridHelper.CopyDataToDatatable(dt, this.dataTable1, true);
  199. string[] craftNos = _craftNos.Split(',');
  200. foreach (UltraGridRow row in ultraGrid1.Rows)
  201. {
  202. row.Cells["MEMO"].Activation = Activation.ActivateOnly;
  203. if (CustomInfo == "ChoiceCraftNo" && craftNos.Contains(row.GetValue("CRAFT_NO")))
  204. {
  205. row.SetValue("CHK", "True");
  206. }
  207. }
  208. if (ckValid.Checked)
  209. {
  210. ultraGrid1.DisplayLayout.Bands[0].Columns["EFFECT_TIME"].Hidden = false;
  211. }
  212. else
  213. {
  214. ultraGrid1.DisplayLayout.Bands[0].Columns["EFFECT_TIME"].Hidden = true;
  215. }
  216. }
  217. finally
  218. {
  219. this.Cursor = Cursors.Default;
  220. }
  221. }
  222. private void Relocate(string craftNo, string craftNoV)
  223. {
  224. Query();
  225. IQueryable<UltraGridRow> rows = ultraGrid1.Rows.AsQueryable().Where(
  226. a => a.GetValue("CRAFT_NO") == craftNo && a.GetValue("CRAFT_NO_V") == craftNoV);
  227. if (rows.Count() > 0)
  228. {
  229. rows.First().Activate();
  230. }
  231. }
  232. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  233. {
  234. switch (e.Tool.Key)
  235. {
  236. case "指定工艺文件":
  237. AppointCraft();
  238. break;
  239. case "确认选择":
  240. Choice();
  241. break;
  242. case "Query":
  243. Query();
  244. break;
  245. }
  246. }
  247. private void Choice()
  248. {
  249. ultraGrid1.UpdateData();
  250. IQueryable<UltraGridRow> rows = ultraGrid1.Rows.AsQueryable().Where("CHK = 'True'");
  251. //if (rows.Count() == 0)
  252. //{
  253. // MessageUtil.ShowWarning("请选择一行记录!");
  254. // return;
  255. //}
  256. _craftNos = string.Join(",", rows.Select(a => a.GetValue("CRAFT_NO")));
  257. this.DialogResult = System.Windows.Forms.DialogResult.OK;
  258. }
  259. private bool SaveCraft()
  260. {
  261. ultraGrid1.UpdateData();
  262. IQueryable<UltraGridRow> rows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  263. UltraGridRow row = null;
  264. if (rows.Count() > 0)
  265. {
  266. row = rows.First();
  267. if (row.GetValue("CREATE_TIME") != "")
  268. {
  269. MessageUtil.ShowWarning("不能修改已保存的工艺文件!");
  270. return false;
  271. }
  272. }
  273. else
  274. {
  275. MessageUtil.ShowWarning("请选择一行记录!");
  276. return false;
  277. }
  278. ArrayList list = new ArrayList();
  279. list.Add(row.GetValue("CRAFT_NO"));
  280. list.Add(row.GetValue("CRAFT_NO_V"));
  281. list.Add(row.GetValue("CRAFT_PATH_OLD"));
  282. list.Add(CoreUserInfo.UserInfo.GetUserName());
  283. list.Add(row.GetValue("CRAFT_KEY"));
  284. ServerHelper.SetData("com.steering.pss.sale.order.DAL.CraftOrdDesignDAL.insertCraftOrdDesignFile",
  285. new object[] { list }, ob);
  286. return true;
  287. }
  288. private void UpgradeCraft()
  289. {
  290. }
  291. private void AppointCraft()
  292. {
  293. ultraGrid1.UpdateData();
  294. IQueryable<UltraGridRow> rows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  295. if (rows.Count() == 0)
  296. {
  297. MessageUtil.ShowWarning("请选择一条工艺文件进行指定!");
  298. return;
  299. }
  300. foreach (ArrayList list in _listOrdLnPk)
  301. {
  302. DataTable dtCraftDesignSts = GetCraftDesignSts(list[2].ToString());
  303. if (dtCraftDesignSts.Rows.Count > 0)
  304. {
  305. if (dtCraftDesignSts.Rows[0]["DESIGN_STS"].ToString() != "S"
  306. || dtCraftDesignSts.Rows[0]["VALIDFLAG"].ToString() != "2")
  307. {
  308. MessageUtil.ShowWarning("请选择制定中并且设计状态通过的合同行进行指定工艺!");
  309. return;
  310. }
  311. }
  312. else
  313. {
  314. MessageUtil.ShowWarning("请选择制定中并且设计状态通过的合同行进行指定工艺!");
  315. return;
  316. }
  317. }
  318. ArrayList parm = new ArrayList();
  319. foreach (ArrayList list in _listOrdLnPk)
  320. {
  321. if (GetCraftValidCntByOrdLnPk(list[2].ToString()) > 0)
  322. {
  323. if (MessageUtil.ShowYesNoAndQuestion("合同号" + list[0].ToString() + " 合同行" + list[1].ToString()
  324. + "存在有效的工艺文件,是否确认重新指定工艺文件?") == System.Windows.Forms.DialogResult.Yes)
  325. {
  326. parm.Add(list[2]);
  327. }
  328. }
  329. else
  330. {
  331. parm.Add(list[2]);
  332. }
  333. }
  334. if (MessageUtil.ShowYesNoAndQuestion("是否确认指定工艺文件?") == System.Windows.Forms.DialogResult.No)
  335. {
  336. return;
  337. }
  338. string craftNo = rows.First().GetValue("CRAFT_NO");
  339. string craftPath = rows.First().GetValue("CRAFT_PATH_OLD");
  340. string craftNoV = rows.First().GetValue("CRAFT_NO_V");
  341. string memo = rows.First().GetValue("MEMO");
  342. string name = UserInfo.GetUserName();
  343. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.saveCraftNoBatch",
  344. new object[] { parm, craftNo, craftPath, craftNoV, memo, name }, ob);
  345. MessageUtil.ShowTips("指定成功!");
  346. this.Close();
  347. }
  348. private DataTable GetCraftDesignSts(string ordLnPk)
  349. {
  350. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getCraftDesignSts",
  351. new object[] { ordLnPk }, ob);
  352. return dt;
  353. }
  354. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  355. {
  356. ultraGrid1.UpdateData();
  357. if (e.Cell.Column.Key == "CHK" && !_isMultiChoice)
  358. {
  359. if (e.Cell.Value.ToString() == "True")
  360. {
  361. e.Cell.Row.Cells["MEMO"].Activation = Activation.AllowEdit;
  362. IQueryable<UltraGridRow> rows = ultraGrid1.Rows.AsQueryable().Where(
  363. a => ((a.GetValue("CRAFT_NO") != e.Cell.Row.GetValue("CRAFT_NO")
  364. || a.GetValue("CRAFT_NO_V") != e.Cell.Row.GetValue("CRAFT_NO_V"))
  365. && a.GetValue("CHK") == "True"));
  366. if (rows.Count() > 0)
  367. {
  368. rows.First().Cells["MEMO"].Activation = Activation.ActivateOnly;
  369. rows.First().Cells["CHK"].Value = false;
  370. }
  371. }
  372. else
  373. {
  374. e.Cell.Row.Cells["MEMO"].Activation = Activation.ActivateOnly;
  375. }
  376. }
  377. ultraGrid1.UpdateData();
  378. }
  379. private void craftImg_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  380. {
  381. UltraGridRow row = ultraGrid1.ActiveRow;
  382. string filePathOld = row.GetValue("CRAFT_PATH_OLD");
  383. string filePathNew = "";
  384. if (e.Button.Key.ToLower().Equals("select"))
  385. {
  386. dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePathOld);
  387. down.DeleteButton.Visible = false;
  388. down.ShowDialog();
  389. }
  390. else if (e.Button.Key.ToLower().Equals("insert"))
  391. {
  392. string guid = Guid.NewGuid().ToString("N").ToUpper();
  393. dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePathOld);
  394. down.CtrlFileDown1.FilePath = filePathOld;
  395. if (down.CtrlFileDown1.List.Count > 0)
  396. {
  397. MessageUtil.ShowWarning("只能上传一份文件!");
  398. return;
  399. }
  400. List<FileBean> list = new List<FileBean>();
  401. FileBean bean = new FileBean();
  402. OpenFileDialog file = new OpenFileDialog();
  403. file.Multiselect = false;
  404. DialogResult drStat;
  405. drStat = file.ShowDialog();
  406. if (drStat == DialogResult.OK)
  407. {
  408. string fileName = file.FileName;
  409. string filena = System.IO.Path.GetFileName(fileName);
  410. string craftNo = filena.Split('.')[0];
  411. if (!craftNo.ToUpper().Contains("SJ") && !craftNo.ToUpper().Contains("KZ"))
  412. {
  413. MessageUtil.ShowWarning("工艺文件号必须包含SJ或者KZ!");
  414. return;
  415. }
  416. filePathNew = "Qcm/Craft/" + guid + "/";
  417. row.Cells["CRAFT_NO"].Value = craftNo;
  418. row.Cells["CRAFT_PATH"].Value = filena;
  419. row.Cells["CRAFT_PATH_OLD"].Value = filePathNew + filena;
  420. row.Cells["CRAFT_NO_V"].Value = "00";
  421. row.Cells["CREATE_NAME"].Value = CoreUserInfo.UserInfo.GetUserName();
  422. row.Cells["CRAFT_KEY"].Value = guid;
  423. //if (GetCraftCraftNoCnt(craftNo) > 0)
  424. //{
  425. // MessageUtil.ShowWarning("该工艺文件号已被录入为单次使用工艺文件,不能再录入为多次使用的工艺文件!");
  426. // return;
  427. //}
  428. string strCraftNoV = GetCraftFileMaxCraftNoV(craftNo);
  429. if (GetCraftFileCraftNoCnt(craftNo) > 0)
  430. {
  431. //row.Cells["CRAFT_NO_V"].Value = strCraftNoV;
  432. //if (MessageUtil.ShowYesNoAndQuestion("系统已存在该工艺文件号,是否确认升级版本到"+ strCraftNoV +"?") == DialogResult.No)
  433. //{
  434. // Relocate(guid);
  435. // return;
  436. //}
  437. MessageUtil.ShowWarning("系统已存在此工艺文件号!");
  438. return;
  439. }
  440. if (SaveCraft() == false) return;
  441. bean = new FileBean();
  442. bean.setFileName(filena);
  443. bean.setPathName(filePathNew);
  444. bean.setFile(FileHelper.FileToArray(fileName));
  445. list.Add(bean);
  446. bool isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Upload(list);
  447. if (isSuccess)
  448. {
  449. MessageBox.Show("上传成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
  450. }
  451. else
  452. {
  453. MessageBox.Show("上传失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
  454. }
  455. Relocate(row.GetValue("CRAFT_NO"), row.GetValue("CRAFT_NO_V"));
  456. }
  457. //if (fileName != "")
  458. //{
  459. // if (row.GetValue("CRAFT_NO") == "")
  460. // {
  461. // row.Cells["CRAFT_NO"].Value = fileName;
  462. // }
  463. // down.DeleteButton.Visible = _isPopup;
  464. // down.Pic = filePath2;
  465. // down.ShowDialog();
  466. // if (down.CtrlFileDown1.List.Count == 0)
  467. // {
  468. // craftOrdDesign.CraftPath = "";
  469. // _craftOrdDesignBLL.UpdateCraftPath(craftOrdDesign, "0", "1");
  470. // ultraGrid1.ActiveRow.Cells["CraftPath"].Value = "";
  471. // }
  472. //}
  473. }
  474. }
  475. private void SetMemo()
  476. {
  477. IQueryable<UltraGridRow> rows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  478. if (rows.Count() == 0)
  479. {
  480. MessageUtil.ShowWarning("请选择一条记录!");
  481. return;
  482. }
  483. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改备注信息?") == System.Windows.Forms.DialogResult.No)
  484. {
  485. return;
  486. }
  487. string craftNo = rows.First().GetValue("CRAFT_NO");
  488. string craftNoV = rows.First().GetValue("CRAFT_NO_V");
  489. string memo = rows.First().GetValue("MEMO");
  490. string craftKey = rows.First().GetValue("CRAFT_KEY");
  491. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.setCraftFile",
  492. new object[] { craftNo, memo, craftKey }, ob);
  493. MessageUtil.ShowTips("修改成功!");
  494. Relocate(craftNo, craftNoV);
  495. }
  496. private void DeleteCraft()
  497. {
  498. IQueryable<UltraGridRow> rows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  499. if (rows.Count() == 0)
  500. {
  501. MessageUtil.ShowWarning("请选择一条记录!");
  502. return;
  503. }
  504. string craftKey = rows.First().GetValue("CRAFT_KEY");
  505. string craftNo = rows.First().GetValue("CRAFT_NO");
  506. string craftNoV = rows.First().GetValue("CRAFT_NO_V");
  507. string ordLnPk = rows.First().GetValue("ORD_LN_PK");
  508. string craftSeq = rows.First().GetValue("CRAFT_SEQ");
  509. string craftFilePathOld = rows.First().GetValue("CRAFT_PATH_OLD");
  510. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  511. DataTable dtCraftFile = GetCraftFileByPk(craftKey);
  512. if (rows.First().GetValue("CRAFT_TYPE") == "G" && dtCraftFile.Rows[0]["VALIDFLAG"].ToString() != "0")
  513. {
  514. MessageUtil.ShowWarning("只能删除已作废的工艺文件!");
  515. return;
  516. }
  517. if (rows.First().GetValue("CRAFT_TYPE") == "G" && craftOrdDesignBLL.GetCraftCraftNoCnt(craftNo) > 0)
  518. {
  519. MessageUtil.ShowWarning("该工艺文件号已被合同行使用,不能删除!");
  520. return;
  521. }
  522. CraftOrdDesignEntity craftOrdDesignEntity = new CraftOrdDesignEntity();
  523. if (rows.First().GetValue("CRAFT_TYPE") == "L")
  524. {
  525. craftOrdDesignEntity = craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity()
  526. {
  527. OrdLnPk = ordLnPk,
  528. CraftSeq = decimal.Parse(craftSeq)
  529. });
  530. }
  531. if (rows.First().GetValue("CRAFT_TYPE") == "L" && craftOrdDesignEntity.Validflag != "0")
  532. {
  533. MessageUtil.ShowWarning("只能删除已作废的工艺文件!");
  534. return;
  535. }
  536. if (rows.First().GetValue("CRAFT_TYPE") == "L" && craftOrdDesignBLL.GetCraftNoCntOutLn(craftNo, craftNoV, ordLnPk) > 0)
  537. {
  538. MessageUtil.ShowWarning("该工艺文件号已被其它合同使用,不能删除!");
  539. return;
  540. }
  541. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除该工艺文件?") == System.Windows.Forms.DialogResult.No)
  542. {
  543. return;
  544. }
  545. if (FileHelper.Delete(craftFilePathOld) == false)
  546. {
  547. MessageUtil.ShowWarning("删除工艺文件失败,请重试!");
  548. return;
  549. }
  550. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.deleteCraftFile",
  551. new object[] { craftKey, craftNo, craftNoV }, ob);
  552. MessageUtil.ShowTips("删除成功!");
  553. Relocate(craftNo, craftNoV);
  554. }
  555. private int GetCraftFileCraftNoCnt(string craftNo)
  556. {
  557. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.DAL.CraftOrdDesignDAL.getCraftFileCraftNoCnt",
  558. new object[] { craftNo }, ob);
  559. return int.Parse(dt.Rows[0][0].ToString());
  560. }
  561. private DataRow GetCraftFileByPk(string craftNo, string craftNoV)
  562. {
  563. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.DAL.CraftOrdDesignDAL.getCraftFileByPk",
  564. new object[] { craftNo, craftNoV }, ob);
  565. return dt.Rows[0];
  566. }
  567. private string GetCraftFileMaxCraftNoV(string craftNo)
  568. {
  569. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.DAL.CraftOrdDesignDAL.getCraftFileMaxCraftNoV",
  570. new object[] { craftNo }, ob);
  571. return dt.Rows[0][0].ToString();
  572. }
  573. private int GetCraftCraftNoCnt(string craftNo)
  574. {
  575. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  576. return craftOrdDesignBLL.GetCraftCraftNoCnt(craftNo);
  577. }
  578. private void ultraGrid1_BeforeRowInsert(object sender, BeforeRowInsertEventArgs e)
  579. {
  580. if (CustomInfo != "CraftAppFile" && CustomInfo != "PlaOrdProc")
  581. {
  582. e.Cancel = true;
  583. }
  584. }
  585. private int GetCraftValidCntByOrdLnPk(string ordLnPk)
  586. {
  587. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  588. return craftOrdDesignBLL.GetCraftValidCntByOrdLnPk(ordLnPk);
  589. }
  590. /// <summary>
  591. /// 通过主键获取工艺文件
  592. /// </summary>
  593. /// <param name="craftKey"></param>
  594. /// <returns></returns>
  595. private DataTable GetCraftFileByPk(string craftKey)
  596. {
  597. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getCraftFileByPk",
  598. new object[] { craftKey }, ob);
  599. return dt;
  600. }
  601. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  602. {
  603. ultraGrid1.UpdateData();
  604. UltraGridRow row = ultraGrid1.ActiveRow;
  605. if (CustomInfo == "CraftAppFile")
  606. {
  607. _craftFileApplyCtrl.Query(new CraftFileApplyEntity()
  608. {
  609. CraftNo = row.GetValue("CRAFT_NO"),
  610. CraftNoV = row.GetValue("CRAFT_NO_V"),
  611. CraftKey = row.GetValue("CRAFT_KEY")
  612. });
  613. }
  614. else if (CustomInfo == "PlaOrdProc")
  615. {
  616. _plaSaleOrdProcCtrl.Query(new PlnSaleordProcEntity()
  617. {
  618. CraftFileNo = row.GetValue("CRAFT_NO"),
  619. CraftNoV = row.GetValue("CRAFT_NO_V")
  620. }, "");
  621. }
  622. }
  623. private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
  624. {
  625. //if (e.Row.GetValue("VALIDFLAG") == "无效")
  626. //{
  627. // e.Row.Appearance.ForeColor = Color.Red;
  628. //}
  629. e.Row.Cells["ADD_ASK"].Value = "查看";
  630. }
  631. private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
  632. {
  633. UltraGridRow row = ultraGrid1.ActiveRow;
  634. if (row == null) return;
  635. string craftKey = row.Cells["CRAFT_KEY"].Value.ToString();
  636. string url = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineAsk.cpt&op=view&desgin_key=" + craftKey + "";
  637. FrmRepExcel fre = new FrmRepExcel(this.ob, url);
  638. //fre.AutoSize = true;
  639. fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  640. fre.Text = "附加要求";
  641. fre.ShowDialog();
  642. }
  643. }
  644. }