PurExcDeliveryNoticeAdd.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  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;using Pur.Entity;
  10. using Core.Mes.Client.Comm.Control;
  11. using Pur.Entity.require_planEntiy;
  12. using Infragistics.Win.UltraWinGrid;
  13. using Core.Mes.Client.Comm.Tool;
  14. using Pur.Entity.pur_orderEntiy;
  15. using Pur.Entity.configureEntity;
  16. using Pur.configure;
  17. using com.hnshituo.pur.vo;
  18. using Core.Mes.Client.Comm.Server;
  19. using Pur.order;
  20. using Infragistics.Win;
  21. using System.Collections;
  22. namespace Pur.ck
  23. {
  24. public partial class PurExcDeliveryNoticeAdd : FrmPmsBase
  25. {
  26. public String Tips = "0";
  27. string Supp_Code = "";
  28. public PurExcDeliveryNoticeAdd()
  29. {
  30. InitializeComponent();
  31. }
  32. public PurExcDeliveryNoticeAdd(OpeBase Ob)
  33. {
  34. this.ob = Ob;
  35. InitializeComponent();
  36. }
  37. private void PurExcDeliveryNoticeAdd_Load(object sender, EventArgs e)//load
  38. {
  39. COP_Status.SelectedIndex = 0;
  40. COP_timeBegin.Value = DateTime.Now.AddDays(-30);
  41. COP_timeEnd.Value = DateTime.Now.AddDays(1);
  42. Get_OrderType();
  43. GetPUR_ORDER_M();
  44. ultraGrid1.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False;
  45. ultraGrid2.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False;
  46. GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[1], new string[] { "CHK" });
  47. }
  48. /// <summary>
  49. /// 菜单按钮
  50. /// </summary>
  51. /// <param name="sender"></param>
  52. /// <param name="ToolbarKey"></param>
  53. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  54. {
  55. switch (e.Tool.Key)
  56. {
  57. case "Query": // ButtonTool
  58. GetPUR_ORDER_M();
  59. break;
  60. case "Add": // ButtonTool
  61. Add_Purexcdeliverynotice();
  62. break;
  63. case "Close": // ButtonTool
  64. this.Close();
  65. break;
  66. }
  67. }
  68. /// <summary>
  69. /// 菜单按钮
  70. /// </summary>
  71. /// <param name="sender"></param>
  72. /// <param name="ToolbarKey"></param>
  73. public override void ToolBar_Click(object sender, string ToolbarKey)//菜单按钮
  74. {
  75. switch (ToolbarKey)
  76. {
  77. case "Query":
  78. GetPUR_ORDER_M();
  79. break;
  80. case "Add":
  81. Add_Purexcdeliverynotice();
  82. break;
  83. case "Close":
  84. this.Close();
  85. break;
  86. }
  87. }
  88. /// <summary>
  89. /// 生成发货通知单
  90. /// </summary>
  91. private void Add_Purexcdeliverynotice()//生成发货通知单
  92. {
  93. try
  94. {
  95. ArrayList list = new ArrayList();
  96. //获取已选择的交货行
  97. UltraGridBand bandChild = this.ultraGrid2.DisplayLayout.Bands[1];
  98. foreach (UltraGridRow row in bandChild.GetRowEnumerator(GridRowType.DataRow))
  99. {
  100. if (Convert.ToBoolean(row.Cells["CHK"].Value))
  101. {
  102. String strId = row.Cells["ORDERLINEDSQE"].Value.ToString().Trim();
  103. list.Add(strId);
  104. }
  105. }
  106. if (list.Count <= 0)
  107. {
  108. MessageUtil.ShowTips("请选择交货行" );
  109. return;
  110. }
  111. PurExcDeliveryNoticeOk frm = new PurExcDeliveryNoticeOk(this.ob,list);
  112. frm.ShowDialog();
  113. if (frm.Tips == "1")
  114. {
  115. getOrderCAndCD();
  116. Tips = "1";
  117. }
  118. }
  119. catch (Exception ex)
  120. {
  121. MessageUtil.ShowTips("操作失败:"+ex);
  122. }
  123. }
  124. /// <summary>
  125. /// 查询合同计划
  126. /// </summary>
  127. private void GetPUR_ORDER_M()//查询合同计划
  128. {
  129. try
  130. {
  131. this.Cursor = Cursors.WaitCursor;
  132. dataSet1.Clear();
  133. OrderM Odm = new OrderM();
  134. Odm.Status = COP_Status.Value == null ? null : COP_Status.Value.ToString();
  135. Odm.OrderType = COP_OrderType.Value == null ? null : COP_OrderType.Value.ToString();
  136. Odm.OrderId = COP_OrderId.Text;
  137. Odm.SuppName = COP_SuppName.Text;
  138. if (COP_timeBegin.Text != "")
  139. {
  140. Odm.CreateTime = Convert.ToDateTime(COP_timeBegin.Value);
  141. }
  142. if (COP_timeEnd.Text != "")
  143. {
  144. Odm.UpdateTime = Convert.ToDateTime(COP_timeEnd.Value);
  145. }
  146. if (CK_isAll.Checked == false)
  147. {
  148. Odm.DeleteName = "0";
  149. }
  150. else
  151. {
  152. Odm.DeleteName = "1";
  153. }
  154. Odm.Validflag = "1";
  155. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderMService", "find_canUseOrderM", new object[] { Odm, 0, 0 });
  156. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  157. }
  158. catch (Exception ex)
  159. {
  160. MessageUtil.ShowTips("操作失败:" + ex);
  161. }
  162. finally
  163. {
  164. this.Cursor = Cursors.Default;
  165. }
  166. }
  167. /// <summary>
  168. /// 供应商弹窗
  169. /// </summary>
  170. /// <param name="sender"></param>
  171. /// <param name="e"></param>
  172. private void COP_SuppName_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)// 供应商弹窗
  173. {
  174. Supp Sp = new Supp();
  175. Sp.Validflag = "1";
  176. //DataTable dt = this.execute<DataTable>("com.hnshituo.pur.configure.service.SuppService", "find", new object[] { Sp, 0, 0 });
  177. frmSuppSel Sky = new frmSuppSel(this.ob);
  178. Sky.ShowDialog();
  179. if (Sky.strSUPP_CODE == null)
  180. return;
  181. COP_SuppName.Text = Sky.strSUPP_NAME.ToString();
  182. Supp_Code = Sky.strSUPP_CODE.ToString();
  183. }
  184. /// <summary>
  185. /// 激活行
  186. /// </summary>
  187. /// <param name="sender"></param>
  188. /// <param name="e"></param>
  189. private void ultraGrid1_AfterCellActivate(object sender, EventArgs e)//激活行
  190. {
  191. getOrderCAndCD();
  192. }
  193. /// <summary>
  194. /// 单击主表行查询从表
  195. /// </summary>
  196. private void getOrderCAndCD()//单击主表行查询从表
  197. {
  198. try
  199. {
  200. dataTable3.Clear();
  201. dataTable2.Clear();
  202. //加载合同行
  203. UltraGridRow uge = ultraGrid1.ActiveRow;
  204. String strOrderId = uge.Cells["OrderId"].Value.ToString().Trim();
  205. String strOrderLineSqe = COP_orderLineSqe.Text.ToString().Trim();
  206. String strItemName = COP_ItemName.Text.ToString().Trim();
  207. OrderC odC = new OrderC();
  208. odC.OrderId = strOrderId;
  209. odC.OrderLineSqe = strOrderLineSqe;
  210. odC.ItemName = strItemName;
  211. odC.Validflag = "1";
  212. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderCService", "doQueryOrderC", new object[] { odC });
  213. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  214. foreach (DataRow row in dt.Rows)
  215. {
  216. //if (String.IsNullOrEmpty(row["RECEIVETYPE"].ToString()))
  217. //{
  218. // MessageUtil.ShowTips("合同行:" + row["orderLineSqe"].ToString() + "交货方式为空,数据异常");
  219. // dataTable3.Clear();
  220. // dataTable2.Clear();
  221. // return;
  222. //}
  223. if (String.IsNullOrEmpty(row["PURLINEID"].ToString()))
  224. {
  225. MessageUtil.ShowTips("合同行:" + row["orderLineSqe"].ToString() + "采购计划行号为空,数据异常");
  226. dataTable3.Clear();
  227. dataTable2.Clear();
  228. return;
  229. }
  230. }
  231. //加载合同交货行
  232. OrderCD odCD = new OrderCD();
  233. odCD.OrderId = strOrderId;
  234. odCD.OrderLineSqe = strOrderLineSqe;
  235. odCD.DeleteName = strItemName;
  236. odCD.Validflag = "1";
  237. if (CK_isAll2.Checked == false)
  238. {
  239. odCD.Status = "0";
  240. }
  241. else
  242. {
  243. odCD.Status = "";
  244. }
  245. DataTable dt1 = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderCDService", "doQueryOrderCDList", new object[] { odCD });
  246. GridHelper.CopyDataToDatatable(dt1, dataTable3, true);
  247. //初始化选择交货行
  248. foreach(UltraGridRow row in ultraGrid2.Rows)
  249. {
  250. int count = 0;
  251. if (row.HasChild())
  252. {
  253. foreach (UltraGridRow rows in row.ChildBands[0].Rows)
  254. {
  255. if (rows.GetCellValue("status").ToString().Trim().Equals("待通知发货"))
  256. {
  257. count = count + 1;
  258. if (count == 1)
  259. {
  260. rows.Cells["CHK"].Value = true;
  261. }
  262. else
  263. {
  264. rows.Cells["CHK"].Value = false;
  265. }
  266. rows.Cells["CHK"].Activation = Activation.AllowEdit;
  267. rows.Appearance.BackColor = Color.White;
  268. }
  269. else
  270. {
  271. rows.Cells["CHK"].Value = false;
  272. rows.Cells["CHK"].Activation = Activation.Disabled;
  273. rows.Appearance.BackColor = Color.WhiteSmoke;
  274. }
  275. }
  276. }
  277. }
  278. }
  279. catch (Exception ex)
  280. {
  281. MessageUtil.ShowTips("获取该合同明细和条款名称数据失败:" + ex);
  282. }
  283. }
  284. /// <summary>
  285. /// 加载合同类别
  286. /// </summary>
  287. private void Get_OrderType()//加载合同类别
  288. {
  289. DataTable dt1 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1200" }, this.ob);
  290. comm.FilComboboxAdd(COP_OrderType, dt1, "baseCode", "baseName", "validflag NOT in ('0')", true, "全部", "");
  291. COP_OrderType.SelectedIndex = 0;
  292. }
  293. /// <summary>
  294. /// 刷新合同行和交货行信息
  295. /// </summary>
  296. /// <param name="sender"></param>
  297. /// <param name="e"></param>
  298. private void btn_orderSelect_Click(object sender, EventArgs e)//刷新合同行和交货行信息
  299. {
  300. getOrderCAndCD();
  301. }
  302. /// <summary>
  303. /// 控制交货行输入
  304. /// </summary>
  305. /// <param name="sender"></param>
  306. /// <param name="e"></param>
  307. private void ultraGrid2_CellChange(object sender, CellEventArgs e)//控制交货行输入
  308. {
  309. ultraGrid2.UpdateData();
  310. if (e.Cell.Column.Key == "CHK")
  311. {
  312. if (Convert.ToBoolean(e.Cell.Value) == true)
  313. {
  314. foreach (UltraGridRow row in e.Cell.Row.ParentRow.ChildBands[0].Rows)
  315. {
  316. if (row.Index != e.Cell.Row.Index)
  317. {
  318. row.Cells["CHK"].Value = false;
  319. }
  320. }
  321. }
  322. }
  323. }
  324. }
  325. }