frmShipmentDayApp.cs 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934
  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.Control;
  11. using System.Collections;
  12. using Core.Mes.Client.Comm.Server;
  13. using Core.StlMes.Client.YdmBase;
  14. using Core.Mes.Client.Comm.Tool;
  15. using Infragistics.Win.UltraWinGrid;
  16. using Core.StlMes.Client.PipeLeaveFactory.YdmObject;
  17. using Core.Mes.Client.Comm.Format;
  18. using Core.StlMes.Client.PipeLeaveFactory.Tool;
  19. using Infragistics.Win;
  20. namespace Core.StlMes.Client.PipeLeaveFactory
  21. {
  22. public partial class frmShipmentDayApp : FrmBase
  23. {
  24. /// <summary>
  25. /// 用户销售组织权限
  26. /// </summary>
  27. private string[] _salgPermissions = null;
  28. private string posit = "";//定位
  29. ArrayList pram = new ArrayList();
  30. private string departid;//对应部门ID
  31. private string departname;//对应部门
  32. private string management_no;//对应科室id
  33. private string management_name;//对应科室
  34. public frmShipmentDayApp()
  35. {
  36. InitializeComponent();
  37. this.IsLoadUserView = true;
  38. }
  39. private void frmShipmentDayApp_Load(object sender, EventArgs e)
  40. {
  41. ClsBaseInfo.SetComboItemHeight(cmbAppFalg);
  42. DateTime now = DateTime.Now;
  43. DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
  44. DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
  45. billNoStime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  46. BillNoEtime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  47. DelvryTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  48. EndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  49. _salgPermissions = InitPermissions();
  50. EntityHelper.ShowGridCaption<YdmZcBillCEntity>(ultraGridBillC.DisplayLayout.Bands[0]);
  51. //收货单位
  52. BaseHelper.InitOrderUnit(ComRevice, _salgPermissions, this.ob);
  53. //专用线
  54. YdmBaseClass.InitComboEditor(TxtLine, "com.steering.pss.ydm.pipeleavefactory.FrmPipeSendList.queryPrivateSid", "SPCL_LN_NO", ob, false);
  55. //到站
  56. YdmBaseClass.InitComboEditor(ComStation, "com.steering.pss.ydm.pipeleavefactory.FrmPipeSendList.queryArriveStation", "STATION_NO", ob, false);
  57. InAskDay();
  58. management_no = this.UserInfo.GetDeptid();
  59. management_name = this.UserInfo.GetDepartment();
  60. departid = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
  61. departname = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
  62. }
  63. /// <summary>
  64. /// 重写基类方法
  65. /// </summary>
  66. /// <param name="sender"></param>
  67. /// <param name="ToolbarKey"></param>
  68. public override void ToolBar_Click(object sender, string ToolbarKey)
  69. {
  70. switch (ToolbarKey)
  71. {
  72. case "Query":
  73. doQuery();
  74. break;
  75. case "Add":
  76. doAdd();
  77. break;
  78. case "Delete":
  79. doDelete();
  80. break;
  81. case "Update":
  82. doUpdate();
  83. break;
  84. case "App":
  85. doApp();
  86. break;
  87. case "DeleteApp":
  88. doDeleteApp();
  89. break;
  90. case "Export":
  91. GridHelper.ulGridToExcel(ultraGrid1, "铁运日请车批车");
  92. break;
  93. case "Close":
  94. this.Close();
  95. break;
  96. }
  97. }
  98. /// <summary>
  99. /// 查询请车批车号
  100. /// </summary>
  101. private void InAskDay()
  102. {
  103. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQueryAskDay", new object[] { DateTime.Now.ToString("yyyy-MM-dd") }, ob);
  104. ComAskDay.DataSource = dt;
  105. ComAskDay.ValueMember = "ASK_DAY_NO";
  106. Object[] obj = new Object[] { "" };
  107. DataRow dr = dt.NewRow();
  108. dr.ItemArray = obj;
  109. dt.Rows.Add(dr);
  110. }
  111. /// <summary>
  112. /// 查询
  113. /// </summary>
  114. private void doQuery()
  115. {
  116. if (ultraTabControl1.SelectedTab.Key.Equals("1"))
  117. {
  118. string strFalg = "";//审批状态
  119. string strStrattime = "";
  120. string strEndtime = "";
  121. string strAskDay = "";
  122. if (chkDate.Checked)
  123. {
  124. strStrattime = DelvryTime.Value.ToString(); strEndtime = EndTime.Value.ToString();
  125. if (DateTime.Parse(DelvryTime.Value.ToString()) > DateTime.Parse(EndTime.Value.ToString()))
  126. {
  127. MessageUtil.ShowTips("您所选择时间区间不正确,请重新选择!");
  128. return;
  129. }
  130. }
  131. if (chkFlag.Checked)
  132. {
  133. strFalg = cmbAppFalg.Value.ToString();
  134. }
  135. if (ChkAskDay.Checked)
  136. {
  137. if (txtAskDay.Text.Trim() == "")
  138. {
  139. MessageUtil.ShowTips("日请车批车不能为空!");
  140. return;
  141. }
  142. strAskDay = txtAskDay.Text.Trim();
  143. }
  144. pram.Clear();
  145. pram.Add(strAskDay);
  146. pram.Add(strFalg);
  147. pram.Add(strStrattime); pram.Add(strStrattime); pram.Add(strStrattime);
  148. pram.Add(strEndtime); pram.Add(strEndtime);
  149. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQuery", new object[] { pram, this.ValidDataPurviewIds }, this.ob);
  150. GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
  151. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  152. {
  153. string strindex = ultraGrid1.Rows[i].Cells["ASK_DAY_PK"].Value.ToString();
  154. if (strindex == posit)
  155. {
  156. UltraGridRow row = ultraGrid1.Rows[i];
  157. row.Activate();
  158. }
  159. }
  160. }
  161. else
  162. {
  163. ArrayList param = new ArrayList();
  164. string BillStartTime = "";
  165. string BillEndTime = "";
  166. if (ChcBillTime.Checked)
  167. {
  168. BillStartTime = billNoStime.Value.ToString(); BillEndTime = BillNoEtime.Value.ToString();
  169. if (DateTime.Parse(BillStartTime) > DateTime.Parse(BillEndTime))
  170. {
  171. MessageUtil.ShowTips("您所选择时间区间不正确,请重新选择!");
  172. return;
  173. }
  174. }
  175. string order="";
  176. if (ChcOrderNo1.Checked) { order = TxtOrderNo1.Text.Trim(); }
  177. //string status = "";
  178. //if (ChcStatus.Checked) { status = ComStatus.Value.ToString(); }
  179. string station = "";
  180. if (ChcStation.Checked && ComStation.Value != null) { station = ComStation.Value.ToString(); }
  181. string spcl = "";
  182. if (ChcLine.Checked && TxtLine.Value != null) { spcl = TxtLine.Value.ToString(); }
  183. string reciveNm = "";
  184. if (ChcRecive.Checked) { reciveNm = ComRevice.Text.Trim(); }
  185. param.Add(BillStartTime);
  186. param.Add(BillStartTime);
  187. param.Add(BillStartTime);
  188. param.Add(BillEndTime);
  189. param.Add(BillEndTime);
  190. param.Add(order);
  191. param.Add(station);
  192. param.Add(spcl);
  193. param.Add(reciveNm);
  194. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQueryBilM", new object[] { param, this.ValidDataPurviewIds }, this.ob);
  195. GridHelper.CopyDataToDatatable(ref dt, ref BillTable, true);
  196. if (dt.Rows.Count <=0)
  197. {
  198. List<YdmZcBillCEntity> listBillC = EntityHelper.GetData<YdmZcBillCEntity>("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainBill.queryBillC", new object[] { "" }, this.ob);
  199. ydmZcBillCEntityBindingSource.DataSource = listBillC;
  200. }
  201. for (int i = 0; i < ultraGridBillM.Rows.Count; i++)
  202. {
  203. string strindex = ultraGridBillM.Rows[i].Cells["BILL_NO"].Value.ToString();
  204. if (strindex == posit)
  205. {
  206. UltraGridRow row = ultraGridBillM.Rows[i];
  207. row.Activate();
  208. }
  209. }
  210. InAskDay();
  211. ComAskDay.Text = "";
  212. }
  213. posit = "";
  214. }
  215. /// <summary>
  216. /// 新增日请车
  217. /// </summary>
  218. private void doAdd()
  219. {
  220. ultraGridBillM.UpdateData();
  221. UltraGridRow ugr = ultraGridBillM.ActiveRow;
  222. if (ugr == null) { MessageUtil.ShowTips("无数据,不能进行此操作!"); return; }
  223. int isSelect = 0;
  224. ArrayList list = new ArrayList();
  225. string strTime = DateTime.Now.ToString();
  226. string askDay = "";
  227. if (ComAskDay.Text.Trim() == "")
  228. {
  229. doAskDayNo();
  230. }
  231. askDay = ComAskDay.Text.Trim();
  232. foreach (UltraGridRow row in ultraGridBillM.Rows)
  233. {
  234. if (Convert.ToBoolean(row.Cells["CHK"].Text) == true)
  235. {
  236. isSelect += 1;
  237. if (row.Cells["VEHICLE_DAY_NUM"].Text.Trim() == "0" || row.Cells["VEHICLE_DAY_NUM"].Text.Trim().Equals(""))
  238. {
  239. MessageUtil.ShowTips("请输日请车数!");
  240. return;
  241. }
  242. string spclNo = "N";
  243. if (!row.Cells["SPCL_LN_NO"].Value.ToString().Equals(""))
  244. {
  245. spclNo = row.Cells["SPCL_LN_NO"].Value.ToString();
  246. }
  247. pram.Clear();
  248. pram.Add(askDay);
  249. pram.Add(row.Cells["ASK_MONTH_NO"].Value.ToString());
  250. pram.Add(row.Cells["BILL_NO"].Value.ToString());
  251. pram.Add(row.Cells["STATION_NO"].Value.ToString());
  252. pram.Add(spclNo);
  253. pram.Add(row.Cells["RECEIV_NO"].Value.ToString());
  254. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQueryFalg", new object[] { pram }, ob);
  255. if (dt.Rows.Count > 0)
  256. {
  257. if (dt.Rows[0]["APP_FLAG"].ToString().Equals("1"))
  258. {
  259. MessageUtil.ShowTips("您要请车的该条数据已日请车审批,请重新选择!");
  260. return;
  261. }
  262. }
  263. YdmZcAskDayEntity ydm = new YdmZcAskDayEntity();
  264. ydm.AskDayNo = askDay;
  265. ydm.AskMonthNo = row.Cells["ASK_MONTH_NO"].Text.Trim();
  266. ydm.BillNo = row.Cells["BILL_NO"].Text.Trim();
  267. ydm.WagonsPlanNo = row.Cells["WAGONS_PLAN_NO"].Text.Trim();
  268. ArrayList listmonth = new ArrayList();
  269. listmonth.Add(row.Cells["ASK_MONTH_NO"].Text.Trim());
  270. listmonth.Add(row.Cells["BILL_NO"].Value.ToString());
  271. listmonth.Add(row.Cells["STATION_NO"].Text.Trim());
  272. listmonth.Add(spclNo);
  273. listmonth.Add(row.Cells["RECEIV_NO"].Text.Trim());
  274. DataTable dtDay = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQueryDayAsk", new object[] { listmonth }, this.ob);
  275. string strwaflag = "1";
  276. if (dtDay.Rows.Count > 0)
  277. {
  278. if (dtDay.Rows[0]["ASK_DAY_NO"].ToString() != askDay)
  279. {
  280. //if (MessageUtil.ShowYesNoAndQuestion("该请车记录已存在,是否继续添加补充请车?") == DialogResult.No) return;
  281. strwaflag = "2";
  282. }
  283. }
  284. ydm.WagonsFlag = strwaflag;
  285. ydm.SpclLnNm = row.Cells["SPCL_LN_NM"].Text.Trim();
  286. ydm.SpclLnNo = row.Cells["SPCL_LN_NO"].Text.Trim();
  287. ydm.StationNm = row.Cells["STATION_NM"].Text.Trim();
  288. ydm.StationNo = row.Cells["STATION_NO"].Text.Trim();
  289. ydm.ReceivNm = row.Cells["RECEIV_NM"].Text.Trim();
  290. ydm.ReceivNo = row.Cells["RECEIV_NO"].Text.Trim();
  291. ydm.PurName = this.UserInfo.GetUserName();
  292. ydm.PurTime = strTime;
  293. ydm.DepartmentCode = departid;
  294. ydm.DepartmentDesc = departname;
  295. ydm.ManagementName = management_name;
  296. ydm.ManagementNo = management_no;
  297. ydm.CreateName = this.UserInfo.GetUserName();
  298. ydm.CreateTime = strTime;
  299. ydm.VehicleDayNum = row.Cells["VEHICLE_DAY_NUM"].Text.Trim();
  300. ydm.Memo = row.Cells["MEMODAY"].Text.Trim();
  301. ydm.SendPlanNo = row.Cells["ASK_MONTH_PK"].Value;//月请车PK值
  302. list.Add(JSONFormat.Format(ydm));
  303. }
  304. }
  305. if (isSelect==0)
  306. {
  307. MessageUtil.ShowTips("请选择要操作的数据!");
  308. return;
  309. }
  310. if (MessageUtil.ShowYesNoAndQuestion("是否新增日请车?") == DialogResult.No) return;
  311. CoreClientParam ccp = new CoreClientParam();
  312. ccp.ServerName = "com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp";
  313. ccp.MethodName = "doAdd";
  314. ccp.ServerParams = new object[] { list };
  315. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  316. if (ccp.ReturnCode != -1)
  317. {
  318. if (ccp.ReturnInfo.Equals("新增请车成功!") || ccp.ReturnInfo.Equals("修改请车成功!"))
  319. {
  320. MessageUtil.ShowTips(ccp.ReturnInfo);
  321. posit = ugr.Cells["BILL_NO"].Text.Trim();
  322. doQuery();
  323. }
  324. }
  325. }
  326. /// <summary>
  327. /// 取消日请车
  328. /// </summary>
  329. private void doDelete()
  330. {
  331. ultraGrid1.UpdateData();
  332. UltraGridRow ugr = ultraGrid1.ActiveRow;
  333. if (ugr == null) { MessageUtil.ShowTips("无数据,不能进行此操作!"); return; }
  334. int isSelect = 0;
  335. ArrayList list1 = new ArrayList();
  336. foreach (UltraGridRow row in ultraGrid1.Rows)
  337. {
  338. if (Convert.ToBoolean(row.Cells["CHK"].Text) == true)
  339. {
  340. isSelect += 1;
  341. pram.Clear();
  342. pram.Add(row.Cells["ASK_DAY_PK"].Value.ToString());
  343. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQueryFalgAsk", new object[] { pram }, ob);
  344. if (dt.Rows.Count > 0)
  345. {
  346. if (dt.Rows[0]["APP_FLAG"].ToString().Equals("1"))
  347. {
  348. MessageUtil.ShowTips("您选择的该条数据已日请车审批,请重新选择!");
  349. return;
  350. }
  351. }
  352. ArrayList list = new ArrayList();
  353. list.Add(row.Cells["ASK_DAY_PK"].Value.ToString());
  354. list1.Add(list);
  355. }
  356. }
  357. if (isSelect == 0)
  358. {
  359. MessageUtil.ShowTips("请选择要操作的数据!");
  360. return;
  361. }
  362. if (MessageUtil.ShowYesNoAndQuestion("是否取消日请车?") == DialogResult.No) return;
  363. int count = ServerHelper.SetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doDelete", new object[] { list1 }, ob);
  364. if (count > 0)
  365. {
  366. MessageUtil.ShowTips("取消请车成功!");
  367. doQuery();
  368. }
  369. }
  370. /// <summary>
  371. /// 修改
  372. /// </summary>
  373. private void doUpdate()
  374. {
  375. ultraGrid1.UpdateData();
  376. ArrayList listUp = new ArrayList();
  377. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  378. if (ugr == null) return;
  379. int isSelect = 0;//修改,审批
  380. string strtime = "";
  381. foreach (UltraGridRow row in ultraGrid1.Rows)
  382. {
  383. if (Convert.ToBoolean(row.Cells["CHK"].Text)==true)
  384. {
  385. isSelect += 1;
  386. if (!doQueryFalg(row)) return;
  387. if (row.Cells["BATCH_DAY_NUM"].Value.ToString() == "")
  388. {
  389. MessageUtil.ShowTips("批复数不能为空,请重新输入!");
  390. return;
  391. }
  392. ArrayList list = new ArrayList();
  393. list.Add(row.Cells["BATCH_DAY_NUM"].Value.ToString());
  394. list.Add(row.Cells["ACT_DAY_60NUM"].Value.ToString());
  395. list.Add(row.Cells["ACT_DAY_70NUM"].Value.ToString());
  396. list.Add(this.UserInfo.GetUserName());
  397. list.Add(strtime);
  398. list.Add(row.Cells["ASK_DAY_PK"].Text.Trim());
  399. listUp.Add(list);
  400. }
  401. }
  402. if (isSelect == 0)
  403. {
  404. MessageUtil.ShowTips("请选择您要操作的记录!");
  405. return;
  406. }
  407. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.No) return;
  408. int count = ServerHelper.SetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doUpdate", new object[] { listUp }, ob);
  409. if(count>0)
  410. {
  411. MessageUtil.ShowTips("修改成功!");
  412. posit = ugr.Cells["ASK_DAY_PK"].Text.Trim();
  413. doQuery();
  414. }
  415. }
  416. /// <summary>
  417. /// 审批
  418. /// </summary>
  419. private void doApp()
  420. {
  421. ArrayList listUp = new ArrayList();
  422. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  423. if (ugr == null) return;
  424. int isSelect = 0;//修改,审批
  425. string strTime = DateTime.Now.ToString();
  426. foreach (UltraGridRow row in ultraGrid1.Rows)
  427. {
  428. if (Convert.ToBoolean(row.Cells["CHK"].Text)==true)
  429. {
  430. isSelect += 1;
  431. pram.Clear();
  432. pram.Add(row.Cells["ASK_DAY_PK"].Value.ToString());
  433. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQueryFalgAsk", new object[] { pram }, ob);
  434. if (dt.Rows.Count > 0)
  435. {
  436. if (dt.Rows[0]["APP_FLAG"].ToString().Equals("1"))
  437. {
  438. MessageUtil.ShowTips("您选中的记录已审批,请重新选择!");
  439. return;
  440. }
  441. if (dt.Rows[0]["BATCH_DAY_NUM"].ToString().Equals("0"))
  442. {
  443. MessageUtil.ShowTips("您输入的批复数大于日请车数,不能进行此操作!");
  444. return;
  445. }
  446. }
  447. else
  448. {
  449. MessageUtil.ShowTips("您选中的记录已不存在,请重新选择!");
  450. return;
  451. }
  452. ArrayList list = new ArrayList();
  453. list.Add(this.UserInfo.GetUserName());
  454. list.Add(strTime);
  455. list.Add(row.Cells["ASK_DAY_PK"].Value.ToString());
  456. string spcl = "N";
  457. if (!row.Cells["SPCL_LN_NO"].Value.ToString().Equals(""))
  458. {
  459. spcl = row.Cells["SPCL_LN_NO"].Value.ToString();
  460. }
  461. list.Add(row.Cells["BATCH_DAY_NUM"].Value.ToString());
  462. list.Add(row.Cells["STATION_NO"].Value.ToString());
  463. list.Add(spcl);
  464. list.Add(row.Cells["RECEIV_NO"].Value.ToString());
  465. list.Add(row.Cells["ASK_MONTH_NO"].Value.ToString());
  466. listUp.Add(list);
  467. }
  468. }
  469. if (isSelect == 0)
  470. {
  471. MessageUtil.ShowTips("请选择您要操作的记录!");
  472. return;
  473. }
  474. if (MessageUtil.ShowYesNoAndQuestion("是否确认审批?") == DialogResult.No) return;
  475. int count = ServerHelper.SetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doApp", new object[] { listUp }, ob);
  476. if (count > 0)
  477. {
  478. MessageUtil.ShowTips("审批通过!");
  479. posit = ugr.Cells["ASK_DAY_PK"].Text.Trim();
  480. doQuery();
  481. }
  482. }
  483. /// <summary>
  484. /// 取消审批
  485. /// </summary>
  486. private void doDeleteApp()
  487. {
  488. ArrayList listUp = new ArrayList();
  489. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  490. if (ugr == null) return;
  491. int isSelect = 0;
  492. string strTime = DateTime.Now.ToString();
  493. foreach (UltraGridRow row in ultraGrid1.Rows)
  494. {
  495. if (Convert.ToBoolean(row.Cells["CHK"].Text)==true)
  496. {
  497. isSelect += 1;
  498. pram.Clear();
  499. pram.Add(row.Cells["ASK_DAY_PK"].Value.ToString());
  500. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQueryFalgAsk", new object[] { pram }, ob);
  501. if (dt.Rows.Count > 0)
  502. {
  503. if (dt.Rows[0]["APP_FLAG"].ToString().Equals("0"))
  504. {
  505. MessageUtil.ShowTips("您选中的记录未审批,请重新选择!");
  506. return;
  507. }
  508. if (double.Parse(dt.Rows[0]["ACT_DAY_NUM"].ToString()) > 0)
  509. {
  510. MessageUtil.ShowTips("您选中的记录批复数已被占用,请重新选择!");
  511. return;
  512. }
  513. }
  514. else
  515. {
  516. MessageUtil.ShowTips("您选中的记录已不存在,请重新选择!");
  517. return;
  518. }
  519. ArrayList list = new ArrayList();
  520. list.Add(this.UserInfo.GetUserName());
  521. list.Add(strTime);
  522. list.Add(row.Cells["ASK_DAY_PK"].Value.ToString());
  523. string spcl = "N";
  524. if (!row.Cells["SPCL_LN_NO"].Value.ToString().Equals(""))
  525. {
  526. spcl = row.Cells["SPCL_LN_NO"].Value.ToString();
  527. }
  528. list.Add(row.Cells["BATCH_DAY_NUM"].Value.ToString());
  529. list.Add(row.Cells["STATION_NO"].Value.ToString());
  530. list.Add(spcl);
  531. list.Add(row.Cells["RECEIV_NO"].Value.ToString());
  532. list.Add(row.Cells["ASK_MONTH_NO"].Value.ToString());
  533. listUp.Add(list);
  534. }
  535. }
  536. if (isSelect == 0)
  537. {
  538. MessageUtil.ShowTips("请选择您要操作的记录!");
  539. return;
  540. }
  541. if (MessageUtil.ShowYesNoAndQuestion("是否确认取消审批?") == DialogResult.No) return;
  542. int count = ServerHelper.SetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doDeleteApp", new object[] { listUp }, ob);
  543. if (count > 0)
  544. {
  545. MessageUtil.ShowTips("取消成功!");
  546. posit = ugr.Cells["ASK_DAY_PK"].Text.Trim();
  547. doQuery();
  548. }
  549. }
  550. /// <summary>
  551. /// 判断修改,审批条件
  552. /// </summary>
  553. /// <param name="ugr">选中的行ultraGrid1.ActiveRow</param>
  554. /// <returns>返回true之通过,flase不通过</returns>
  555. private bool doQueryFalg(UltraGridRow ugr)
  556. {
  557. pram.Clear();
  558. pram.Add(ugr.Cells["ASK_DAY_PK"].Value.ToString());
  559. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQueryFalgAsk", new object[] { pram }, ob);
  560. if (dt.Rows.Count > 0)
  561. {
  562. if (dt.Rows[0]["APP_FLAG"].ToString().Equals("1"))
  563. {
  564. MessageUtil.ShowTips("您选中的记录已审批,请重新选择!");
  565. return false;
  566. }
  567. if (ugr.Cells["BATCH_DAY_NUM"].Text=="")
  568. {
  569. MessageUtil.ShowTips("批复数不能为空,不能进行此操作!");
  570. return false;
  571. }
  572. if (double.Parse(dt.Rows[0]["VEHICLE_DAY_NUM"].ToString()) < double.Parse(ugr.Cells["BATCH_DAY_NUM"].Value.ToString()))
  573. {
  574. MessageUtil.ShowTips("您输入的批复数大于日请车数,不能进行此操作!");
  575. return false;
  576. }
  577. }
  578. else
  579. {
  580. MessageUtil.ShowTips("您选中的记录已不存在,请重新选择!");
  581. return false;
  582. }
  583. return true;
  584. }
  585. /// <summary>
  586. /// Check选择事件
  587. /// </summary>
  588. /// <param name="sender"></param>
  589. /// <param name="e"></param>
  590. private void Chk_CheckedChanged(object sender, EventArgs e)
  591. {
  592. if (chkDate.Checked) { DelvryTime.Enabled = true; EndTime.Enabled = true; } else { DelvryTime.Enabled = false; EndTime.Enabled = false; }
  593. if (chkFlag.Checked) { cmbAppFalg.Enabled = true; } else { cmbAppFalg.Enabled = false; }
  594. if (ChkAskDay.Checked) { txtAskDay.Enabled = true; } else { txtAskDay.Enabled = false; }
  595. if (ChcBillTime.Checked) { billNoStime.Enabled = true; BillNoEtime.Enabled = true; } else { billNoStime.Enabled = false; BillNoEtime.Enabled = false; }
  596. if (ChcOrderNo1.Checked) { TxtOrderNo1.Enabled = true; } else { TxtOrderNo1.Enabled = false; }
  597. //if (ChcStatus.Checked) { ComStatus.Enabled = true; } else { ComStatus.Enabled = false; }
  598. if (ChcStation.Checked) { ComStation.Enabled = true; } else { ComStation.Enabled = false; }
  599. if (ChcLine.Checked) { TxtLine.Enabled = true; } else { TxtLine.Enabled = false; }
  600. if (ChcRecive.Checked) { ComRevice.Enabled = true; } else { ComRevice.Enabled = false; }
  601. }
  602. /// <summary>
  603. /// 获取用户的销售组织权限
  604. /// </summary>
  605. /// <returns></returns>
  606. private string[] InitPermissions()
  607. {
  608. ArrayList list = new ArrayList();
  609. string[] userDptIds = this.ValidDataPurviewIds;
  610. for (int i = 0; i < userDptIds.Length; i++)
  611. {
  612. string userDptId = userDptIds[i];
  613. if (userDptId.Length < 6)
  614. {
  615. if (!list.Contains("100101"))
  616. {
  617. list.Add("100101");
  618. }
  619. if (!list.Contains("100102"))
  620. {
  621. list.Add("100102");
  622. }
  623. if (!list.Contains("100103"))
  624. {
  625. list.Add("100103");
  626. }
  627. string[] strs = new string[list.Count];
  628. for (int j = 0; j < list.Count; j++)
  629. {
  630. strs[j] = list[j].ToString();
  631. }
  632. return strs;
  633. }
  634. else
  635. {
  636. if (userDptId.StartsWith("002002"))
  637. {
  638. if (!list.Contains("100102"))
  639. {
  640. list.Add("100102");
  641. }
  642. }
  643. else
  644. {
  645. if (userDptId.Length < 9)
  646. {
  647. if (!list.Contains("100101"))
  648. {
  649. list.Add("100101");
  650. }
  651. if (!list.Contains("100103"))
  652. {
  653. list.Add("100103");
  654. }
  655. }
  656. else
  657. {
  658. if (userDptId.StartsWith("002001004"))
  659. {
  660. if (!list.Contains("100101"))
  661. {
  662. list.Add("100101");
  663. }
  664. }
  665. else
  666. {
  667. if (!list.Contains("100103"))
  668. {
  669. list.Add("100103");
  670. }
  671. }
  672. }
  673. }
  674. }
  675. }
  676. if (list.Count == 0)
  677. {
  678. return null;
  679. }
  680. else
  681. {
  682. string[] strs = new string[list.Count];
  683. for (int i = 0; i < list.Count; i++)
  684. {
  685. strs[i] = list[i].ToString();
  686. }
  687. return strs;
  688. }
  689. }
  690. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  691. {
  692. //try
  693. //{
  694. // ultraGrid1.UpdateData();
  695. // foreach (UltraGridRow r in ultraGrid1.Rows)
  696. // {
  697. // r.Cells["CHK"].Value = r.Selected;
  698. // }
  699. //}
  700. //catch { }
  701. foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows)
  702. {
  703. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  704. {
  705. uRow.Cells["CHK"].Value = true;
  706. }
  707. }
  708. }
  709. private void ultraGridBillM_AfterRowActivate(object sender, EventArgs e)
  710. {
  711. UltraGridRow ugr = ultraGridBillM.ActiveRow;
  712. if (ugr == null)
  713. {
  714. return;
  715. }
  716. List<YdmZcBillCEntity> listBillC = EntityHelper.GetData<YdmZcBillCEntity>("com.steering.pss.ydm.pipeleavefactory.FrmPipeTrainBill.queryBillC", new object[] { ugr.Cells["BILL_NO"].Text }, this.ob);
  717. ydmZcBillCEntityBindingSource.DataSource = listBillC;
  718. }
  719. /// <summary>
  720. /// 日请车批车号
  721. /// </summary>
  722. private void doAskDayNo()
  723. {
  724. string strTallyLoad = "";
  725. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipeleavefactory.FrmShipmentDayApp.doQueryAskDay", new object[] { DateTime.Now.ToString("yyyy-MM-dd") }, ob);
  726. if (dt.Rows.Count <= 0)
  727. {
  728. strTallyLoad = DateTime.Now.ToString("yyyyMMdd") + "001";
  729. }
  730. else
  731. {
  732. string dtAsk = dt.Rows[0]["ASK_DAY_NO"].ToString();
  733. string AskDay = dtAsk.Substring(8, 3);
  734. string strLsh = "";//流水号
  735. if (double.Parse(AskDay) < 9)
  736. {
  737. strLsh = "00" + Convert.ToDouble(double.Parse(AskDay) + 1).ToString();
  738. }
  739. else if (double.Parse(AskDay) < 99)
  740. {
  741. strLsh = "0" + Convert.ToDouble(double.Parse(AskDay) + 1).ToString();
  742. }
  743. else
  744. {
  745. strLsh = Convert.ToDouble(double.Parse(AskDay) + 1).ToString();
  746. }
  747. strTallyLoad = DateTime.Now.ToString("yyyyMMdd") + strLsh;
  748. }
  749. DataTable dt2 = (DataTable)ComAskDay.DataSource;
  750. Object[] obj = new Object[] { strTallyLoad };
  751. DataRow dr = dt2.NewRow();
  752. dr.ItemArray = obj;
  753. if (dt2.Rows.Count > 0)
  754. {
  755. if (strTallyLoad != dt2.Rows[0]["ASK_DAY_NO"].ToString())
  756. {
  757. dt2.Rows.InsertAt(dr, 0);
  758. }
  759. }
  760. else
  761. {
  762. dt2.Rows.InsertAt(dr, 0);
  763. }
  764. ComAskDay.SelectedIndex = 0;
  765. }
  766. private void ultraGridBillM_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  767. {
  768. //try
  769. //{
  770. // ultraGridBillM.UpdateData();
  771. // foreach (UltraGridRow r in ultraGridBillM.Rows)
  772. // {
  773. // r.Cells["CHK"].Value = r.Selected;
  774. // }
  775. //}
  776. //catch { }
  777. foreach (UltraGridRow uRow in ultraGridBillM.Selected.Rows)
  778. {
  779. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  780. {
  781. uRow.Cells["CHK"].Value = true;
  782. }
  783. }
  784. }
  785. /// <summary>
  786. /// Grid内置按钮点击
  787. /// </summary>
  788. /// <param name="sender"></param>
  789. /// <param name="e"></param>
  790. private void ultraGridBillM_ClickCellButton(object sender, CellEventArgs e)
  791. {
  792. ultraGridBillM.UpdateData();
  793. UltraGridRow ugr = ultraGridBillM.ActiveRow;
  794. string statin = ugr.Cells["STATION_NO"].Value.ToString();
  795. string receiv = ugr.Cells["RECEIV_NO"].Value.ToString();
  796. string spLine = ugr.Cells["SPCL_LN_NO"].Value.ToString();
  797. FrmPleDayCar fpdc = new FrmPleDayCar(statin, receiv, spLine, ob);
  798. fpdc.AutoSize = true;
  799. fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  800. fpdc.Text = "月请车信息";
  801. fpdc.ShowDialog();
  802. if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK)
  803. {
  804. //获取弹出窗体的属性值
  805. ugr.Cells["ASK_MONTH_NO"].Value = fpdc.AskMonth;
  806. ugr.Cells["WAGONS_PLAN_NO"].Value = fpdc.Wagons;
  807. ugr.Cells["VEHICLE_MONTH_NUM"].Value = fpdc.VelMonth;
  808. ugr.Cells["BATCH_MONTH_NUM"].Value = fpdc.BathMonth;
  809. ugr.Cells["WAGONS_FLAG"].Value = fpdc.Wagflag;
  810. ugr.Cells["ACT_MONTH_NUM"].Value = fpdc.ActMonthNum;
  811. ugr.Cells["ASK_MONTH_PK"].Value = fpdc.AskDayNoPk;
  812. }
  813. }
  814. /// <summary>
  815. /// Grid列内容改变事件
  816. /// </summary>
  817. /// <param name="sender"></param>
  818. /// <param name="e"></param>
  819. private void ultraGridBillM_CellChange(object sender, CellEventArgs e)
  820. {
  821. if (e.Cell.Column.Key.Equals("VEHICLE_DAY_NUM"))
  822. {
  823. if (e.Cell.Row.Cells["BATCH_MONTH_NUM"].Text.Equals(""))
  824. {
  825. MessageUtil.ShowTips("月批复数不能为空!");
  826. e.Cell.Row.Cells["VEHICLE_DAY_NUM"].Value = "0";
  827. return;
  828. }
  829. }
  830. }
  831. /// <summary>
  832. /// 初始化隐藏按钮
  833. /// </summary>
  834. /// <param name="sender"></param>
  835. /// <param name="e"></param>
  836. private void frmShipmentDayApp_Shown(object sender, EventArgs e)
  837. {
  838. if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; }
  839. if (toolMenu.Toolbars[0].Tools.Exists("Update")) { toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; }
  840. if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; }
  841. if (toolMenu.Toolbars[0].Tools.Exists("App")) { toolMenu.Toolbars[0].Tools["App"].InstanceProps.Visible = DefaultableBoolean.False; }
  842. if (toolMenu.Toolbars[0].Tools.Exists("DeleteApp")) { toolMenu.Toolbars[0].Tools["DeleteApp"].InstanceProps.Visible = DefaultableBoolean.False; }
  843. if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; }
  844. }
  845. /// <summary>
  846. /// 切换Tab隐藏按钮
  847. /// </summary>
  848. /// <param name="sender"></param>
  849. /// <param name="e"></param>
  850. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  851. {
  852. if (toolMenu == null) return;
  853. if (e.Tab.TabControl.SelectedTab.Key.Equals("0"))
  854. {
  855. if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; }
  856. if (toolMenu.Toolbars[0].Tools.Exists("Update")) { toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; }
  857. if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; }
  858. if (toolMenu.Toolbars[0].Tools.Exists("App")) { toolMenu.Toolbars[0].Tools["App"].InstanceProps.Visible = DefaultableBoolean.False; }
  859. if (toolMenu.Toolbars[0].Tools.Exists("DeleteApp")) { toolMenu.Toolbars[0].Tools["DeleteApp"].InstanceProps.Visible = DefaultableBoolean.False; }
  860. if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; }
  861. }
  862. else
  863. {
  864. if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; }
  865. if (toolMenu.Toolbars[0].Tools.Exists("Update")) { toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.True; }
  866. if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; }
  867. if (toolMenu.Toolbars[0].Tools.Exists("App")) { toolMenu.Toolbars[0].Tools["App"].InstanceProps.Visible = DefaultableBoolean.True; }
  868. if (toolMenu.Toolbars[0].Tools.Exists("DeleteApp")) { toolMenu.Toolbars[0].Tools["DeleteApp"].InstanceProps.Visible = DefaultableBoolean.True; }
  869. if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.True; }
  870. }
  871. }
  872. /// <summary>
  873. /// 按回车键触发查询按钮
  874. /// </summary>
  875. /// <param name="sender"></param>
  876. /// <param name="e"></param>
  877. private void ContPublic_KeyDown(object sender, KeyEventArgs e)
  878. {
  879. if (e.KeyCode == Keys.Enter)
  880. {
  881. doQuery();
  882. }
  883. }
  884. }
  885. }