frmPipeTrainDay.cs 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905
  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.StlMes.Client.YdmBase;
  12. using System.Collections;
  13. using Core.Mes.Client.Comm.Server;
  14. using Core.Mes.Client.Comm.Control;
  15. using Infragistics.Win.UltraWinGrid;
  16. using Infragistics.Win;
  17. using Core.Mes.Client.Comm.Format;
  18. using Core.StlMes.Client.PipeLeaveFactory.YdmObject;
  19. using Core.StlMes.Client.PipeLeaveFactory.Tool;
  20. namespace Core.StlMes.Client.PipeLeaveFactory
  21. {
  22. public partial class frmPipeTrainDay : FrmBase
  23. {
  24. /// <summary>
  25. /// 用户销售组织权限
  26. /// </summary>
  27. private string[] _salgPermissions = null;
  28. private int index = -1;
  29. ArrayList pram = new ArrayList();
  30. string planno = "";
  31. public frmPipeTrainDay()
  32. {
  33. InitializeComponent();
  34. this.IsLoadUserView = true;
  35. }
  36. /// <summary>
  37. /// 初始化
  38. /// </summary>
  39. /// <param name="sender"></param>
  40. /// <param name="e"></param>
  41. private void frmPipeTrainDay_Load(object sender, EventArgs e)
  42. {
  43. PlanDay.Value = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString());
  44. GetCustomer();
  45. _salgPermissions = InitPermissions();
  46. BaseHelper.InitOrderUnit(cmbCustomer, _salgPermissions, this.ob);
  47. BaseHelper.InitMonth(cmbMonth);
  48. BaseHelper.InitYear(cmbYear);
  49. cmbMonth.Value = string.Format("{0:00}", DateTime.Now.Month);
  50. cmbYear.Value = DateTime.Now.Year.ToString();
  51. }
  52. /// <summary>
  53. /// 重写基类方法
  54. /// </summary>
  55. /// <param name="sender"></param>
  56. /// <param name="ToolbarKey"></param>
  57. public override void ToolBar_Click(object sender, string ToolbarKey)
  58. {
  59. switch (ToolbarKey)
  60. {
  61. case "Query":
  62. doQuery();
  63. break;
  64. case "Add":
  65. doAdd();
  66. break;
  67. case "Delete":
  68. doDelete();
  69. break;
  70. case "Down":
  71. doDown();
  72. break;
  73. case "Refresh":
  74. doRefresh();
  75. break;
  76. case "Export":
  77. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  78. {
  79. GridHelper.ulGridToExcel(ultraGrid2, "铁运月计划");
  80. }
  81. else
  82. {
  83. GridHelper.ulGridToExcel(ultraGrid1, "铁运日计划");
  84. }
  85. break;
  86. case "Close":
  87. this.Close();
  88. break;
  89. }
  90. }
  91. /// <summary>
  92. /// 下拉框绑定数据
  93. /// </summary>
  94. private void GetCustomer()
  95. {
  96. //专用线
  97. YdmBaseClass.InitComboEditor(cmbSpcl, "com.steering.pss.ydm.pipeleavefactory.FrmPipeSendList.queryPrivateSid", "SPCL_LN_NO", ob, false);
  98. //到站
  99. YdmBaseClass.InitComboEditor(cmbStation, "com.steering.pss.ydm.pipeleavefactory.FrmPipeSendList.queryArriveStation", "STATION_NO", ob, false);
  100. }
  101. /// <summary>
  102. /// 获取用户的销售组织权限
  103. /// </summary>
  104. /// <returns></returns>
  105. private string[] InitPermissions()
  106. {
  107. ArrayList list = new ArrayList();
  108. string[] userDptIds = this.ValidDataPurviewIds;
  109. for (int i = 0; i < userDptIds.Length; i++)
  110. {
  111. string userDptId = userDptIds[i];
  112. if (userDptId.Length < 6)
  113. {
  114. if (!list.Contains("100101"))
  115. {
  116. list.Add("100101");
  117. }
  118. if (!list.Contains("100102"))
  119. {
  120. list.Add("100102");
  121. }
  122. if (!list.Contains("100103"))
  123. {
  124. list.Add("100103");
  125. }
  126. string[] strs = new string[list.Count];
  127. for (int j = 0; j < list.Count; j++)
  128. {
  129. strs[j] = list[j].ToString();
  130. }
  131. return strs;
  132. }
  133. else
  134. {
  135. if (userDptId.StartsWith("002002"))
  136. {
  137. if (!list.Contains("100102"))
  138. {
  139. list.Add("100102");
  140. }
  141. }
  142. else
  143. {
  144. if (userDptId.Length < 9)
  145. {
  146. if (!list.Contains("100101"))
  147. {
  148. list.Add("100101");
  149. }
  150. if (!list.Contains("100103"))
  151. {
  152. list.Add("100103");
  153. }
  154. }
  155. else
  156. {
  157. if (userDptId.StartsWith("002001004"))
  158. {
  159. if (!list.Contains("100101"))
  160. {
  161. list.Add("100101");
  162. }
  163. }
  164. else
  165. {
  166. if (!list.Contains("100103"))
  167. {
  168. list.Add("100103");
  169. }
  170. }
  171. }
  172. }
  173. }
  174. }
  175. if (list.Count == 0)
  176. {
  177. return null;
  178. }
  179. else
  180. {
  181. string[] strs = new string[list.Count];
  182. for (int i = 0; i < list.Count; i++)
  183. {
  184. strs[i] = list[i].ToString();
  185. }
  186. return strs;
  187. }
  188. }
  189. /// <summary>
  190. /// 查询
  191. /// </summary>
  192. private void doQuery()
  193. {
  194. string custnm = "";
  195. string spcl = "";
  196. string station = "";
  197. string strTime = "";
  198. if (chkDate.Checked)
  199. {
  200. if (DateTime.Parse(PlanDay.Value.ToString()) > DateTime.Parse(EndTime.Value.ToString()))
  201. {
  202. MessageUtil.ShowTips("开始时间不能大于结束时间!");
  203. return;
  204. }
  205. }
  206. if (chkCustomer.Checked)
  207. {
  208. if (cmbCustomer.SelectedItem == null)
  209. {
  210. MessageUtil.ShowTips("请选择订货单位!");
  211. return;
  212. }
  213. custnm = cmbCustomer.Value.ToString();
  214. }
  215. if (chkSpcl.Checked)
  216. {
  217. if (cmbSpcl.SelectedItem == null)
  218. {
  219. MessageUtil.ShowTips("请选择专用线!");
  220. return;
  221. }
  222. spcl = cmbSpcl.Value.ToString();
  223. }
  224. if (chkStation.Checked)
  225. {
  226. if (cmbStation.SelectedItem == null)
  227. {
  228. MessageUtil.ShowTips("请选择到站!");
  229. return;
  230. }
  231. station = cmbStation.Value.ToString();
  232. }
  233. if (chkYearMatch.Checked)
  234. {
  235. strTime = cmbYear.Text.Trim()+cmbMonth.Text.Trim();
  236. }
  237. pram.Clear();
  238. pram.Add(custnm);
  239. pram.Add(custnm);
  240. pram.Add(custnm);
  241. pram.Add(spcl);
  242. pram.Add(spcl);
  243. pram.Add(spcl);
  244. pram.Add(station);
  245. pram.Add(station);
  246. pram.Add(station);
  247. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  248. {
  249. pram.Add(strTime);
  250. dataTable4.Clear();
  251. DataTable dtm = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay.querySendPlanM", new object[] { pram, this.ValidDataPurviewIds}, this.ob);
  252. GridHelper.CopyDataToDatatable(ref dtm, ref dataTable3, true);
  253. if (dtm.Rows.Count == 0) return;
  254. DataTable dtc = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay.querySendPlanC", null, this.ob);
  255. dtc = YdmBaseClass.FilterTable(dtm, dtc, "SEND_PLAN_NO");
  256. GridHelper.CopyDataToDatatable(ref dtc, ref dataTable4, true);
  257. foreach (UltraGridRow row in ultraGrid2.Rows)
  258. {
  259. if (row.HasChild())
  260. {
  261. foreach (UltraGridRow crow in row.ChildBands[0].Rows)
  262. {
  263. crow.Cells["EDI_WT_C"].Value = crow.Cells["REM_WT"].Value.ToString();
  264. }
  265. }
  266. }
  267. }
  268. else
  269. {
  270. string strday = "";
  271. string endday = "";
  272. if(chkDate.Checked)
  273. {
  274. strday = DateTime.Parse(PlanDay.Value.ToString()).ToString("yyyy-MM-dd") + " 00:00:00";
  275. endday = DateTime.Parse(EndTime.Value.ToString()).ToString("yyyy-MM-dd") + " 23:59:59";
  276. }
  277. pram.Add(strday);
  278. pram.Add(strday);
  279. pram.Add(strday);
  280. pram.Add(endday);
  281. pram.Add(endday);
  282. string status = "";
  283. if (ChcStatus.Checked)
  284. {
  285. status = ComStatus.Value.ToString();
  286. }
  287. dataTable2.Clear();
  288. DataTable dtm = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay.queryPlanDayInfoM", new object[] { pram, this.ValidDataPurviewIds, status }, this.ob);
  289. GridHelper.CopyDataToDatatable(ref dtm, ref dataTable1, true);
  290. if (dtm.Rows.Count == 0) return;
  291. DataTable dtc = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay.queryPlanDayInfoC", null, this.ob);
  292. dtc = YdmBaseClass.FilterTable(dtm, dtc, "SEND_DAYPLAN_NO");
  293. GridHelper.CopyDataToDatatable(ref dtc, ref dataTable2, true);
  294. }
  295. }
  296. private int GetGridSelectCount()
  297. {
  298. foreach (UltraGridRow row in ultraGrid2.Rows)
  299. {
  300. //if (row.Cells["CHOOSE"].Value.ToString() == "True")
  301. //{
  302. // return 1;
  303. //}
  304. UltraGridRow[] rows = GridHelper.GetRowsWithKey(row.ChildBands[0],
  305. new string[] { "CHOOSE" }, new string[] { "True" });
  306. if (rows.Length > 0)
  307. {
  308. return 1;
  309. }
  310. }
  311. return 0;
  312. }
  313. /// <summary>
  314. /// 新增
  315. /// </summary>
  316. private void doAdd()
  317. {
  318. double totalwt = 0;
  319. double totalnum = 0;
  320. double totallen = 0;
  321. UltraGridRow row = this.ultraGrid2.ActiveRow;
  322. if (row == null)
  323. {
  324. MessageUtil.ShowTips("无数据,不能进行此操作!");
  325. return;
  326. }
  327. ArrayList baseData = new ArrayList();
  328. ArrayList childData = new ArrayList();
  329. string strTime = DateTime.Now.ToString();
  330. YdmZcDaysendplanTrainMEntity ydm = null;
  331. if (GetGridSelectCount() == 0)
  332. {
  333. MessageUtil.ShowTips("请选择您要操作的记录!");
  334. return;
  335. }
  336. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  337. {
  338. totalwt = 0;
  339. totalnum = 0;
  340. totallen = 0;
  341. planno = "";
  342. int incount = 0;
  343. UltraGridRow ugr = ultraGrid2.Rows[i];
  344. UltraGridRow ugrc = null;
  345. //从表操作
  346. if (ugr.HasChild())
  347. {
  348. foreach (UltraGridRow crow in ugr.ChildBands[0].Rows)
  349. {
  350. ugrc = crow;
  351. if (Convert.ToBoolean(ugrc.Cells["CHOOSE"].Value))
  352. {
  353. incount += 1;//判断主表是否循环
  354. YdmZcDaysendplanTrainCEntity comc = GetChildData(ugrc, ugr);
  355. if (comc == null)
  356. {
  357. return;
  358. }
  359. if (comc.PlanNum.ToString() != "")
  360. {
  361. totalnum += Convert.ToDouble(comc.PlanNum);
  362. }
  363. if (comc.PlanTotlLen.ToString() != "")
  364. {
  365. totallen += Convert.ToDouble(comc.PlanTotlLen);
  366. }
  367. if (comc.PlanWt.ToString() != "")
  368. {
  369. totalwt += Convert.ToDouble(comc.PlanWt);
  370. }
  371. comc.CreateTime = strTime;
  372. childData.Add(JSONFormat.Format(comc));
  373. }
  374. }
  375. if (incount > 0)
  376. {
  377. ydm = GetBaseData(ugr);
  378. if (ydm == null)
  379. {
  380. return;
  381. }
  382. ydm.SendDayplanNo = planno;
  383. ydm.PlanWt = totalwt.ToString("f3");
  384. ydm.PlanNum = totalnum.ToString();
  385. ydm.PlanTotlLen = totallen.ToString();
  386. baseData.Add(JSONFormat.Format(ydm));
  387. }
  388. }
  389. }
  390. if (baseData.Count > 1)
  391. {
  392. MessageUtil.ShowWarning("不能跨发运计划号新增!");
  393. return;
  394. }
  395. if (MessageBox.Show("是否确认新增日计划?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;
  396. if (baseData.Count > 0 || childData.Count > 0)
  397. {
  398. CoreClientParam ccp = new CoreClientParam();
  399. ccp.ServerName = "com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay";
  400. ccp.MethodName = "saveYdmSendPlan";
  401. ccp.ServerParams = new object[] { baseData, childData };
  402. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  403. if (ccp.ReturnCode == -1) return;
  404. MessageBox.Show("新增日计划成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
  405. doQuery();
  406. foreach (UltraGridRow ugrow in ultraGrid2.Rows)
  407. {
  408. if (ugrow.Cells["SEND_PLAN_NO"].Value.ToString().Equals(ydm.SendPlanNo.ToString()))
  409. {
  410. ugrow.Activate();
  411. ugrow.ExpandAll();
  412. }
  413. }
  414. //}
  415. }
  416. else
  417. {
  418. MessageUtil.ShowTips("新增失败!");
  419. return;
  420. }
  421. }
  422. /// <summary>
  423. /// 新增子记录数据
  424. /// </summary>
  425. /// <param name="ugrc"></param>
  426. /// <returns></returns>
  427. private YdmZcDaysendplanTrainCEntity GetChildData(UltraGridRow ugrc, UltraGridRow ugr)
  428. {
  429. YdmZcDaysendplanTrainCEntity com = new YdmZcDaysendplanTrainCEntity();
  430. // 编制量
  431. string prepwt = ugrc.Cells["EDI_WT_C"].Value.ToString();
  432. if (prepwt == "0")
  433. {
  434. MessageUtil.ShowTips("编制量不能为零!");
  435. ugrc.Cells["CHOOSE"].Value = false;
  436. return null;
  437. }
  438. string sale = ugr.Cells["SALE_ORG"].Value.ToString();
  439. string salecode = "";
  440. switch (sale)
  441. {
  442. case "100101":
  443. salecode = "X";
  444. break;
  445. case "100102":
  446. salecode = "M";
  447. break;
  448. case "100103":
  449. salecode = "G";
  450. break;
  451. default:
  452. break;
  453. }
  454. string Daytime = DateTime.Now.ToString("yyMMdd");
  455. com.SendPlanNo = ugrc.Cells["SEND_PLAN_NO"].Value.ToString();
  456. com.OrderNo = ugrc.Cells["ORDER_NO"].Value.ToString();
  457. com.OrderSeq = ugrc.Cells["ORDER_SEQ"].Value.ToString();
  458. com.DeliveryNo = ugrc.Cells["DELIVERY_NO"].Value.ToString();
  459. //com.SendDayplanNo = com.OrderNo + "," + salecode + "2" + "D" + Daytime + "," + com.OrderSeq + "";
  460. com.SendDayplanNo = salecode + "2" + "D" + Daytime;
  461. planno = com.SendDayplanNo.ToString();
  462. com.MaterialNo = ugrc.Cells["MATERIAL_NO"].Value.ToString();
  463. com.MaterialName = ugrc.Cells["MATERIAL_NAME"].Value.ToString();
  464. com.Produccode = ugrc.Cells["PRODUCCODE"].Value.ToString();
  465. com.Producname = ugrc.Cells["PRODUCNAME"].Value.ToString();
  466. com.PrdCls = ugrc.Cells["PRD_CLS"].Value.ToString();
  467. com.Psc = ugrc.Cells["PSC"].Value.ToString();
  468. com.PscDesc = ugrc.Cells["PSC_DESC"].Value.ToString();
  469. com.SpecCode = ugrc.Cells["SPEC_CODE"].Value.ToString();
  470. com.SpecName = ugrc.Cells["SPEC_NAME"].Value.ToString();
  471. com.LenNo = ugrc.Cells["LEN_NO"].Value.ToString();
  472. com.LenDesc = ugrc.Cells["LEN_DESC"].Value.ToString();
  473. com.PlanWt = ugrc.Cells["EDI_WT_C"].Value.ToString();
  474. com.PlanNum = ugrc.Cells["EDI_NUM_C"].Value.ToString();
  475. com.PlanTotlLen = ugrc.Cells["EDI_TOTL_LEN_C"].Value.ToString();
  476. com.CreateName = this.UserInfo.GetUserName();
  477. com.UpdateName = this.UserInfo.GetUserName();
  478. com.OrdPk = ugrc.Cells["ORD_PK"].Text.Trim();
  479. com.OrdLnPk = ugrc.Cells["ORD_LN_PK"].Text.Trim();
  480. com.OrdLnDlyPk = ugrc.Cells["ORD_LN_DLY_PK"].Text.Trim();
  481. return com;
  482. }
  483. private YdmZcDaysendplanTrainMEntity GetBaseData(UltraGridRow ugr)
  484. {
  485. YdmZcDaysendplanTrainMEntity com = new YdmZcDaysendplanTrainMEntity();
  486. ArrayList list = new ArrayList();
  487. list.Add(ugr.Cells["SEND_PLAN_NO"].Value.ToString());
  488. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentApp.doQueryFalg", new object[] { list }, ob);
  489. if (dt.Rows.Count>0)
  490. {
  491. if (dt.Rows[0]["APP_FLAG"].ToString().Equals("0"))
  492. {
  493. MessageUtil.ShowTips("你选中的记录月车皮申请数未审批,请重新选择!");
  494. return null;
  495. }
  496. }
  497. if (ugr.Cells["VEHICLE_60_NUM"].Value.ToString() == "0")
  498. {
  499. MessageUtil.ShowTips("请输入日申请数量!");
  500. return null;
  501. }
  502. com.SendPlanNo = ugr.Cells["SEND_PLAN_NO"].Value.ToString();
  503. com.SaleOrg = ugr.Cells["SALE_ORG"].Value.ToString();
  504. com.SaleOrgDesc = ugr.Cells["SALE_ORG_DESC"].Value.ToString();
  505. com.CustomerNo = ugr.Cells["CUSTOMER_NO"].Value.ToString();
  506. com.CustomerNm = ugr.Cells["CUSTOMER_NM"].Value.ToString();
  507. com.ReceivNo = ugr.Cells["RECEIV_NO"].Value.ToString();
  508. com.ReceivNm = ugr.Cells["RECEIV_NM"].Value.ToString();
  509. com.StationNo = ugr.Cells["STATION_NO"].Value.ToString();
  510. com.StationNm = ugr.Cells["STATION_NM"].Value.ToString();
  511. com.SpclLnNo = ugr.Cells["SPCL_LN_NO"].Value.ToString();
  512. com.SpclLnNm = ugr.Cells["SPCL_LN_NM"].Value.ToString();
  513. com.WagonsPlanNo = ugr.Cells["WAGONS_PLAN_NO"].Value.ToString();
  514. com.Vehicle60Num = ugr.Cells["VEHICLE_60_NUM"].Value.ToString();
  515. com.Vehicle70Num = ugr.Cells["VEHICLE_70_NUM"].Value.ToString();
  516. com.VehicleDayNum = (double.Parse(ugr.Cells["VEHICLE_60_NUM"].Value.ToString())).ToString();
  517. //com.PlanNum = ugr.Cells["PLAN_NUM"].Value.ToString();
  518. //com.PlanWt = ugr.Cells["PLAN_WT"].Value.ToString();
  519. //com.PlanTotlLen = ugr.Cells["PLAN_TOTL_LEN"].Value.ToString();
  520. com.PlanStartTime = DateTime.Now.AddDays(1).ToString("yyyy/MM/dd");
  521. com.PlanEndTime = DateTime.Now.AddDays(1).ToString("yyyy/MM/dd");
  522. com.ApplyDay = DateTime.Now.ToString("yyyy/MM/dd");
  523. com.CreateName = this.UserInfo.GetUserName();
  524. com.UpdateName = this.UserInfo.GetUserName();
  525. com.DepartmentCode = ugr.Cells["DEPARTMENT_CODE"].Value.ToString();
  526. com.DepartmentDesc = ugr.Cells["DEPARTMENT_DESC"].Value.ToString();
  527. com.ManagementNo = ugr.Cells["MANAGEMENT_NO"].Value.ToString();
  528. com.ManagementName = ugr.Cells["MANAGEMENT_NAME"].Value.ToString();
  529. return com;
  530. }
  531. /// <summary>
  532. ///下发
  533. /// </summary>
  534. private void doDown()
  535. {
  536. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  537. ArrayList list1 = new ArrayList();
  538. int isSelect = 0;//是否选择行
  539. if (ugr == null)
  540. {
  541. MessageUtil.ShowTips("无数据,不能进行此操作!");
  542. return;
  543. }
  544. string strTime = DateTime.Now.ToString();
  545. foreach (UltraGridRow row in ultraGrid1.Rows)
  546. {
  547. if (Convert.ToBoolean(row.Cells["CHK"].Text) == true)
  548. {
  549. isSelect += 1;
  550. ArrayList prList = new ArrayList();
  551. prList.Add(row.Cells["SEND_DAYPLAN_NO"].Value.ToString());
  552. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay.queryPlanState", new Object[] { prList }, this.ob);
  553. if (dt.Rows.Count > 0)
  554. {
  555. if (dt.Rows[0]["SEND_DAYPLAN_STATUS"].ToString() != "编辑")
  556. {
  557. MessageUtil.ShowTips("您选中的记录已" + dt.Rows[0]["SEND_DAYPLAN_STATUS"].ToString() + "不能进行此操作!");
  558. return;
  559. }
  560. if (dt.Rows[0]["APP_FLAG"].ToString().Equals("0"))
  561. {
  562. MessageUtil.ShowTips("您选中的记录批复数未审批,不能进行此操作!");
  563. return;
  564. }
  565. }
  566. else
  567. {
  568. MessageUtil.ShowTips("你选中的记录已不存在,请重新选择!");
  569. return;
  570. }
  571. ArrayList list = new ArrayList();
  572. list.Add(this.UserInfo.GetUserName());
  573. list.Add(strTime);
  574. list.Add(row.Cells["SEND_DAYPLAN_NO"].Text.Trim());
  575. list1.Add(list);
  576. }
  577. }
  578. if (isSelect == 0)
  579. {
  580. MessageUtil.ShowTips("请选择要下发的数据!");
  581. return;
  582. }
  583. if (MessageBox.Show("是否确认下发?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)return;
  584. int count = ServerHelper.SetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay.queryPlanIssued", new Object[] { list1 }, this.ob);
  585. if (count != 0)
  586. {
  587. MessageUtil.ShowTips("下发成功!");
  588. doQuery();
  589. }
  590. }
  591. /// <summary>
  592. /// 废除
  593. /// </summary>
  594. private void doDelete()
  595. {
  596. ArrayList pramliat = new ArrayList();
  597. ArrayList listall = new ArrayList();
  598. int isSelect = 0;//是否选择行
  599. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  600. if (ugr == null)
  601. {
  602. MessageUtil.ShowTips("无数据,不能进行此操作!");
  603. return;
  604. }
  605. string strTime = DateTime.Now.ToString();
  606. foreach (UltraGridRow row in ultraGrid1.Rows)
  607. {
  608. if (Convert.ToBoolean(row.Cells["CHK"].Text) == true)
  609. {
  610. isSelect += 1;
  611. if (!doQueryFalg(row)) return;
  612. ArrayList pram = new ArrayList();
  613. pram.Add(this.UserInfo.GetUserName());
  614. pram.Add(strTime);
  615. pram.Add(ugr.Cells["SEND_DAYPLAN_NO"].Text.Trim());
  616. pram.Add(ugr.Cells["SEND_PLAN_NO"].Text.Trim());
  617. pramliat.Add(pram);
  618. //从表数据
  619. if (row.HasChild())
  620. {
  621. foreach (UltraGridRow crow in row.ChildBands[0].Rows)
  622. {
  623. ArrayList list = new ArrayList();
  624. list.Add(crow.Cells["SEND_DAYPLAN_NO"].Value.ToString());
  625. list.Add(crow.Cells["SEND_PLAN_NO"].Value.ToString());
  626. list.Add(crow.Cells["ORDER_NO"].Value.ToString());
  627. list.Add(crow.Cells["ORDER_SEQ"].Value.ToString());
  628. list.Add(crow.Cells["DELIVERY_NO"].Value.ToString());
  629. list.Add(this.UserInfo.GetUserName());
  630. list.Add(strTime);
  631. listall.Add(list);
  632. }
  633. }
  634. }
  635. }
  636. if (isSelect == 0)
  637. {
  638. MessageUtil.ShowTips("请选择要撤销的数据!");
  639. return;
  640. }
  641. if (MessageBox.Show("是否确认撤销?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;
  642. //主表子表有效标志置为无效
  643. int count = ServerHelper.SetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay.deltePlanSend", new Object[] { pramliat, listall }, this.ob);
  644. if (count != 0)
  645. {
  646. MessageUtil.ShowTips("撤销成功!");
  647. doQuery();
  648. }
  649. }
  650. //刷新
  651. private void doRefresh()
  652. {
  653. GetCustomer();
  654. }
  655. /// <summary>
  656. /// 判断废除条件
  657. /// </summary>
  658. /// <param name="ugr">选中的行ultraGrid.ActiveRow</param>
  659. /// <returns>返回true之通过,flase不通过</returns>
  660. private bool doQueryFalg(UltraGridRow ugr)
  661. {
  662. if (ugr == null) return false;
  663. ArrayList prList = new ArrayList();
  664. prList.Clear();
  665. prList.Add(ugr.Cells["SEND_DAYPLAN_NO"].Value.ToString());
  666. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay.queryPlanState", new Object[] { prList }, this.ob);
  667. if (dt.Rows.Count > 0)
  668. {
  669. if (dt.Rows[0]["SEND_DAYPLAN_STATUS"].ToString() != "编辑" && dt.Rows[0]["SEND_DAYPLAN_STATUS"].ToString() != "下发")
  670. {
  671. MessageUtil.ShowTips("您选中的记录已" + dt.Rows[0]["SEND_DAYPLAN_STATUS"].ToString() + "不能进行此操作!");
  672. return false;
  673. }
  674. if (dt.Rows[0]["APP_FLAG"].ToString().Equals("1"))
  675. {
  676. MessageUtil.ShowTips("您选中的记录车皮运号已审批,不能进行此操作!");
  677. return false;
  678. }
  679. }
  680. else
  681. {
  682. MessageUtil.ShowTips("你选中的记录已不存在,请重新选择!");
  683. return false;
  684. }
  685. return true;
  686. }
  687. /// <summary>
  688. /// Check选择事件
  689. /// </summary>
  690. /// <param name="sender"></param>
  691. /// <param name="e"></param>
  692. private void chkCustomer_CheckedChanged(object sender, EventArgs e)
  693. {
  694. if (chkCustomer.Checked)
  695. cmbCustomer.ReadOnly = false;
  696. else
  697. cmbCustomer.ReadOnly = true;
  698. if (chkSpcl.Checked)
  699. cmbSpcl.ReadOnly = false;
  700. else
  701. cmbSpcl.ReadOnly = true;
  702. if (chkStation.Checked)
  703. cmbStation.ReadOnly = false;
  704. else
  705. cmbStation.ReadOnly = true;
  706. if (chkDate.Checked) { PlanDay.Enabled = true; EndTime.Enabled = true; }
  707. else
  708. {
  709. PlanDay.Enabled = false; EndTime.Enabled = false;
  710. }
  711. if (chkYearMatch.Checked) { cmbYear.ReadOnly = false; cmbMonth.ReadOnly = false; } else { cmbYear.ReadOnly = true; cmbMonth.ReadOnly = true; }
  712. if (ChcStatus.Checked) { ComStatus.ReadOnly = false; } else { ComStatus.ReadOnly = true; }
  713. }
  714. /// <summary>
  715. /// 判断录入限制
  716. /// </summary>
  717. /// <param name="sender"></param>
  718. /// <param name="e"></param>
  719. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  720. {
  721. ultraGrid2.UpdateData();
  722. //获取父行(没有上一层)
  723. if (!e.Cell.Row.HasParent())
  724. {
  725. string vehiMonth = e.Cell.Row.Cells["VEHICLE_MONTH_NUM"].Value.ToString();
  726. string vehi60= e.Cell.Row.Cells["VEHICLE_60_NUM"].Value.ToString();
  727. string actnum = e.Cell.Row.Cells["ACT_MONTH_NUM"].Value.ToString();//月使用量
  728. string batchnum = e.Cell.Row.Cells["BATCH_MONTH_NUM"].Value.ToString();//月批复量
  729. string dayVehi = e.Cell.Row.Cells["VEHICLE_DAY_NUM"].Value.ToString();//日申请车皮数
  730. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainDay.queryDaySendPlan", new object[] { e.Cell.Row.Cells["SEND_PLAN_NO"].Text.Trim() }, this.ob);
  731. string vehiDay = dt.Rows[0]["BATCH_DAY_NUM"].ToString();
  732. if (vehi60 == "")
  733. {
  734. vehi60 = "0";
  735. e.Cell.Row.Cells["VEHICLE_60_NUM"].Value = "0";
  736. }
  737. if (e.Cell.Column.Key.Equals("VEHICLE_60_NUM"))
  738. {
  739. if (Convert.ToDouble(batchnum) - Convert.ToDouble(actnum) < Convert.ToDouble(e.Cell.Row.Cells["VEHICLE_60_NUM"].Value))
  740. {
  741. MessageUtil.ShowTips("月车皮数不足,请重新输入!");
  742. e.Cell.Row.Cells["VEHICLE_60_NUM"].Value = 0;
  743. return;
  744. }
  745. }
  746. }
  747. else
  748. {
  749. index = e.Cell.Row.Index;
  750. #region 可编制量
  751. string rem_wt = e.Cell.Row.Cells["REM_WT"].Value.ToString();
  752. string rem_num = e.Cell.Row.Cells["REM_NUM"].Value.ToString();
  753. string rem_len = e.Cell.Row.Cells["REM_TOTL_LEN"].Value.ToString();
  754. #endregion
  755. #region 编制量
  756. string edi_wt = e.Cell.Row.Cells["EDI_WT_C"].Value.ToString();
  757. string edi_num = e.Cell.Row.Cells["EDI_NUM_C"].Value.ToString();
  758. string edi_len = e.Cell.Row.Cells["EDI_TOTL_LEN_C"].Value.ToString();
  759. #endregion
  760. if (edi_wt == "")
  761. {
  762. edi_wt = "0";
  763. e.Cell.Row.Cells["EDI_WT_C"].Value = "0";
  764. }
  765. if (e.Cell.Column.Key.Equals("EDI_WT_C"))
  766. {
  767. if (Convert.ToDouble(rem_wt) < Convert.ToDouble(edi_wt))
  768. {
  769. MessageUtil.ShowTips("编制量不能大于可编制量,请重新输入!");
  770. e.Cell.Row.Cells["EDI_WT_C"].Value = "0";
  771. return;
  772. }
  773. }
  774. //foreach (UltraGridRow row in ultraGrid2.Rows)
  775. //{
  776. // if (row.HasChild())
  777. // {
  778. // double planCont = 0;
  779. // double planWt = 0;
  780. // double planLen = 0;
  781. // foreach (UltraGridRow crow in row.ChildBands[0].Rows)
  782. // {
  783. // if (Convert.ToBoolean(crow.Cells["CHOOSE"].Text) == true)
  784. // {
  785. // planCont += Double.Parse(crow.Cells["EDI_NUM_C"].Value.ToString());
  786. // planWt += Double.Parse(crow.Cells["EDI_WT_C"].Value.ToString());
  787. // planLen += Double.Parse(crow.Cells["EDI_TOTL_LEN_C"].Value.ToString());
  788. // }
  789. // }
  790. // row.Cells["EDI_NUM"].Value = planCont.ToString();
  791. // row.Cells["EDI_WT"].Value = planWt.ToString();
  792. // row.Cells["EDI_TOTL_LEN"].Value = planLen.ToString();
  793. // }
  794. //}
  795. }
  796. }
  797. private void frmPipeStow_Shown(object sender, EventArgs e)
  798. {
  799. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
  800. toolMenu.Toolbars[0].Tools["Down"].InstanceProps.Visible = DefaultableBoolean.False;
  801. }
  802. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  803. {
  804. if (toolMenu == null) return;
  805. if (e.Tab.TabControl.SelectedTab.Key.Equals("0"))
  806. {
  807. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
  808. toolMenu.Toolbars[0].Tools["Down"].InstanceProps.Visible = DefaultableBoolean.False;
  809. toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True;
  810. PlanDay.Visible = false;
  811. EndTime.Visible = false;
  812. label1.Visible = false;
  813. chkDate.Visible = false;
  814. chkYearMatch.Visible = true;
  815. cmbYear.Visible = true;
  816. cmbMonth.Visible = true;
  817. ChcStatus.Visible = false;
  818. ComStatus.Visible = false;
  819. }
  820. else
  821. {
  822. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True;
  823. toolMenu.Toolbars[0].Tools["Down"].InstanceProps.Visible = DefaultableBoolean.True;
  824. toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False;
  825. PlanDay.Visible = true;
  826. EndTime.Visible = true;
  827. label1.Visible = true;
  828. chkDate.Visible = true;
  829. chkYearMatch.Visible = false;
  830. cmbYear.Visible = false;
  831. cmbMonth.Visible = false;
  832. ChcStatus.Visible = true;
  833. ComStatus.Visible = true ;
  834. }
  835. }
  836. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  837. {
  838. //if (index != -1)
  839. //{
  840. // if (ultraGrid1.ActiveRow.HasParent())
  841. // {
  842. // //ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows[index].Activate();
  843. // UltraGridCell cell = ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows[index].Cells["PLAN_UNIT"];
  844. // cell.Activate();
  845. // cell.IsInEditMode = true;
  846. // // = cell.Value.ToString().Length - 1;
  847. // index = -1;
  848. // }
  849. //}
  850. }
  851. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  852. {
  853. try
  854. {
  855. ultraGrid1.UpdateData();
  856. foreach (UltraGridRow r in ultraGrid1.Rows)
  857. {
  858. r.Cells["CHK"].Value = r.Selected;
  859. }
  860. }
  861. catch { }
  862. }
  863. }
  864. }