PopupOrderAskAdd.cs 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  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 Core.Mes.Client.Comm.Tool;
  11. using Core.Mes.Client.Comm.Server;
  12. using System.Collections;
  13. using Infragistics.Win.UltraWinGrid;
  14. using CoreFS.SA06;
  15. using Core.Mes.Client.Comm.Format;
  16. using Infragistics.Win.UltraWinTree;
  17. using Core.StlMes.Client.SaleOrder.Dialog;
  18. namespace Core.StlMes.Client.SaleOrder
  19. {
  20. public delegate void PopupOrderAskAddHandler(object sender, PopupOrderAskAddArgs e);
  21. public partial class PopupOrderAskAdd : FrmBase
  22. {
  23. public event PopupOrderAskAddHandler PopupOrderAskAddEvent;
  24. private dlgOrderAddAsk _frmOrderAddAsk;
  25. private string _psc = "";
  26. private string _addAskNo = "";
  27. private string _user = "";
  28. private string _stdCode = "";
  29. private string _stdDesc = "";
  30. private string _userDesc = "";
  31. private string _ordPk = "";
  32. private string _ordLnPk = "";
  33. private string closeAction = "";
  34. public PopupOrderAskAdd(string[] args, string exceptionMsg, OpeBase ob)
  35. {
  36. InitializeComponent();
  37. ExceptionHelper.RegistException();
  38. this.ob = ob;
  39. _psc = args[0];
  40. _addAskNo = args[1];
  41. _user = args[2];
  42. _ordPk = args[3];
  43. _ordLnPk = args[4];
  44. ultraStatusBar1.Panels["ExMsg"].Text = exceptionMsg;
  45. _frmOrderAddAsk = new dlgOrderAddAsk();
  46. DataTable dt = new DataTable();
  47. dt.Columns.AddRange(new DataColumn[] { new DataColumn("STD_CODE"), new DataColumn("FINAL_USER"),
  48. new DataColumn("FINAL_USER_DESC"), new DataColumn("ADD_ASK_NO")});
  49. DataRow dr = dt.NewRow();
  50. GetStdCode(_psc);
  51. dr["STD_CODE"] = _stdCode;
  52. dr["FINAL_USER"] = _user;
  53. dr["FINAL_USER_DESC"] = _userDesc;
  54. dr["ADD_ASK_NO"] = _addAskNo;
  55. _frmOrderAddAsk.Dr = dr;
  56. _frmOrderAddAsk.IsQueryStd = false;
  57. _frmOrderAddAsk.IsPopup = true;
  58. _frmOrderAddAsk.PopupLoad(ob);
  59. this.panel5.Controls.Add(_frmOrderAddAsk.FrmBase_Fill_Panel1);
  60. _frmOrderAddAsk.UltraToolbarsManager1.DockWithinContainer = this.panel5;
  61. _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["评审通过"].SharedProps.Visible = true;
  62. _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["评审不通过"].SharedProps.Visible = true;
  63. _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["doConfrim"].SharedProps.Visible = false;
  64. _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["新增"].SharedProps.Visible = false;
  65. _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["作废"].SharedProps.Visible = false;
  66. _frmOrderAddAsk.UltraToolbarsManager1.ToolClick += new Infragistics.Win.UltraWinToolbars.ToolClickEventHandler(UltraToolbarsManager1_ToolClick);
  67. }
  68. private void GetStdCode(string psc)
  69. {
  70. string[] strs = new string[] { "", "" };
  71. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderAddAsk.getStdCode",
  72. new object[] { psc, _user}, ob);
  73. if (dt.Rows.Count > 0)
  74. {
  75. foreach (DataRow dr in dt.Rows)
  76. {
  77. if (dr[1].ToString() == "PSC")
  78. {
  79. _stdCode = dr[0].ToString();
  80. _stdDesc = dr[2].ToString();
  81. }
  82. else
  83. {
  84. _userDesc = dr[0].ToString();
  85. }
  86. }
  87. }
  88. }
  89. private void UltraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  90. {
  91. if (e.Tool.Key == "评审通过")
  92. {
  93. if (PopupOrderAskAddEvent != null)
  94. {
  95. UltraTreeNode node = _frmOrderAddAsk.UltraTree.ActiveNode;
  96. bool insertResult = InsertBaseAddAsk(e.Tool.Key, node);
  97. if (insertResult == false) return;
  98. PopupOrderAskAddArgs e2 = new PopupOrderAskAddArgs();
  99. e2.Result = "1";
  100. e2.AddAskNo = node.Key;
  101. PopupOrderAskAddEvent(this, e2);
  102. closeAction = "Ok";
  103. this.DialogResult = DialogResult.OK;
  104. }
  105. }
  106. else if (e.Tool.Key == "评审不通过")
  107. {
  108. UltraTreeNode node = _frmOrderAddAsk.UltraTree.ActiveNode;
  109. if (InsertBaseAddAsk(e.Tool.Key, node) == false) return;
  110. this.Close();
  111. }
  112. }
  113. private bool InsertBaseAddAsk(string strAction, UltraTreeNode node)
  114. {
  115. ArrayList list2 = new ArrayList();
  116. list2.Add(new string[] { _ordPk, _ordLnPk });
  117. string userName = CoreUserInfo.UserInfo.GetUserName();
  118. string userDept = ClsBaseInfo.GetDepartBySectionId(CoreUserInfo.UserInfo.GetDeptid(), ob) + "-" + UserInfo.GetDepartment();
  119. string reviewRs = "";
  120. ArrayList list = new ArrayList();
  121. string addAskNo = node.Key;
  122. if (addAskNo.Substring(0, 3).ToUpper().Equals("STD"))
  123. {
  124. MessageUtil.ShowWarning("请选择客户附加要求进行评审!");
  125. return false;
  126. }
  127. if (node.Key == "CUSTADDKEY")
  128. {
  129. MessageUtil.ShowWarning("请选择客户附加要求进行评审!");
  130. return false;
  131. }
  132. foreach (UltraGridRow row in _frmOrderAddAsk.UltraGrid1.Rows)
  133. {
  134. if (row.GetValue("IS_OTHER") == "True") continue;
  135. if (row.GetValue("ASK_ITME_OLD") == "")
  136. {
  137. MessageUtil.ShowWarning("请先保存后,再进行评审!");
  138. return false;
  139. }
  140. ComBaseAdditionalEntity addAskEntity = new ComBaseAdditionalEntity();
  141. addAskEntity.AskItme = row.GetValue("ASK_ITME");
  142. addAskEntity.AskItmeDesc = row.GetValue("ASK_ITME_DESC");
  143. addAskEntity.AskSubItme = row.GetValue("ASK_SUB_ITME");
  144. addAskEntity.AskSubItmeDesc = row.GetValue("ASK_SUB_ITME_DESC");
  145. addAskEntity.AskSubItmeVal = row.GetValue("ASK_SUB_ITME_VAL1");
  146. addAskEntity.AskSubItmeValDesc = row.GetText("ASK_SUB_ITME_VAL1");
  147. addAskEntity.CreateName = CoreUserInfo.UserInfo.GetUserName();
  148. addAskEntity.UpdateName = CoreUserInfo.UserInfo.GetUserName();
  149. addAskEntity.DeleteName = CoreUserInfo.UserInfo.GetUserName();
  150. addAskEntity.Memo = row.GetValue("MEMO");
  151. addAskEntity.Pic = row.GetValue("PIC1");
  152. addAskEntity.StdCode = _stdCode;
  153. addAskEntity.StdName = _stdDesc;
  154. string strJSON = JSONFormat.Format(addAskEntity);
  155. list.Add(strJSON);
  156. }
  157. if (MessageUtil.ShowYesNoAndQuestion("是否确认" + strAction + "?") == DialogResult.No) return false;
  158. if (strAction == "评审不通过")
  159. {
  160. dlgReviewMemo dlg = new dlgReviewMemo();
  161. dlg.ReviewFlag = 0;
  162. dlg.ReviewSatus = "评审不通过";
  163. DialogResult result = dlg.ShowDialog();
  164. if (result == DialogResult.OK)
  165. {
  166. reviewRs = dlg.ReviewMemo;
  167. }
  168. else
  169. {
  170. return false;
  171. }
  172. }
  173. ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderAddAsk.insertBaseAdditional",
  174. new object[] { list, addAskNo, strAction, list2, userDept, userName, reviewRs }, ob);
  175. return true;
  176. }
  177. private void PopupOrderAskAdd_FormClosing(object sender, FormClosingEventArgs e)
  178. {
  179. if (PopupOrderAskAddEvent != null && closeAction == "")
  180. {
  181. PopupOrderAskAddArgs e2 = new PopupOrderAskAddArgs();
  182. e2.Result = "0";
  183. PopupOrderAskAddEvent(this, e2);
  184. }
  185. }
  186. }
  187. public class PopupOrderAskAddArgs : EventArgs
  188. {
  189. private string _result = "";
  190. public string Result
  191. {
  192. get { return _result; }
  193. set { _result = value; }
  194. }
  195. private string _addAskNo = "";
  196. public string AddAskNo
  197. {
  198. get { return _addAskNo; }
  199. set { _addAskNo = value; }
  200. }
  201. }
  202. }