ComPlnJgOrdToDd.cs 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Format;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using Core.StlMes.Client.PlnSaleOrd.JGGXPln;
  6. using Core.StlMes.Client.PlnSaleOrd.JGGXPln.Entity;
  7. using Core.StlMes.Client.PlnSaleOrd.JGGXPln.model;
  8. using CoreFS.CA06;
  9. using Infragistics.Win.UltraWinGrid;
  10. using System;
  11. using System.Collections;
  12. using System.Data;
  13. using System.Drawing;
  14. using System.Linq;
  15. using System.Windows.Forms;
  16. namespace Core.StlMes.Client.PlnSaleOrd
  17. {
  18. /// <summary>
  19. /// 接箍合同组订单
  20. /// date 2016.03.17
  21. /// author Tianhai-Yang
  22. /// </summary>
  23. public partial class ComPlnJgOrdToDd : UserControl
  24. {
  25. public OpeBase _ob = null;
  26. private int _splitterDistance1 = 0;
  27. private int _splitterDistance2 = 0;
  28. private int _splitterDistance3 = 0;
  29. private bool _groupBox1ExpandedChanged = false;
  30. private bool _groupBox2ExpandedChanged = false;
  31. private bool _groupBox3ExpandedChanged = false;
  32. private bool _groupBox4ExpandedChanged = false;
  33. public ComPlnJgOrdToDd()
  34. {
  35. InitializeComponent();
  36. Init();
  37. }
  38. /// <summary>
  39. /// 初始化
  40. /// </summary>
  41. public void Init()
  42. {
  43. EntityHelper.ShowGridCaption<FrmPlnGxJgMEntity>(ultraGridJgGxM.DisplayLayout.Bands[0]);
  44. EntityHelper.ShowGridCaption<PlnGxJgPropEntity>(ultraGridJgGxProP.DisplayLayout.Bands[0]);
  45. PlanComm.setGridActivation(ultraGridJgOrd.DisplayLayout.Bands[0], "CHC");
  46. PlanComm.setGridActivation(ultraGridJgGxM.DisplayLayout.Bands[0], "CHC");
  47. PlanComm.setGridActivation(ultraGridJgGxProP.DisplayLayout.Bands[0]);
  48. PlanComm.setGridActivation(ultraGridJgGxOrd.DisplayLayout.Bands[0], "CHC");
  49. PlanComm.setGridDigitalCol(ultraGridJgGxOrd.DisplayLayout.Bands[0], 5, 0,
  50. "PRODUCED_NUM", "PLANNUM");
  51. PlanComm.setGridDigitalCol(ultraGridJgGxM.DisplayLayout.Bands[0], 5, 2,
  52. "Outdiameter", "Wallthick", "Aimlength", "Singleweight", "Diameter", "DiameterJg",
  53. "CheckJVal", "MinD", "MinH", "BlMinDOut", "BlMaxDIn", "AimlengthBl", "HeightJg",
  54. "DiameterPl", "HeightPl", "LengthMin", "LengthMax", "LengthJg", "WeightJg",
  55. "MinDCp", "MaxDCp", "LengthMin", "LengthMax", "MinHCp", "MaxHCp", "MinDJg", "MaxDJg");
  56. PlanComm.setGridDigitalCol(ultraGridJgGxM.DisplayLayout.Bands[0], 5, 3, "BlWeight");
  57. PlanComm.setGridDigitalCol(ultraGridJgGxM.DisplayLayout.Bands[0], 5, 0,
  58. "ProducedNum", "ZyplanNum", "BlNum", "PlanNum");
  59. PlanComm.setGridDigitalCol(ultraGridJgGxProP.DisplayLayout.Bands[0], 7, 3, "GroupBlWt");
  60. PlanComm.setGridDigitalCol(ultraGridJgGxProP.DisplayLayout.Bands[0], 5, 0,
  61. "GroupNum", "SingleCutNun", "GroupBlNum", "ProducedNum");
  62. PlanComm.setGridDigitalCol(ultraGridJgGxProP.DisplayLayout.Bands[0], 7, 2,
  63. "MinD", "MinH", "AimlengthBl", "AimCutLen", "LengthMin", "LengthMax");
  64. ultraGridJgGxM.DisplayLayout.Bands[0].Columns["Monitordemand"].EditorComponent = ultraTextEditorLook;
  65. ultraGridJgGxM.DisplayLayout.Bands[0].Columns["Monitordemand"].ButtonDisplayStyle
  66. = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always;
  67. }
  68. /// <summary>
  69. /// 刷新
  70. /// </summary>
  71. public void RefresDate()
  72. {
  73. DataTable dtjg = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd.queryJgOrdNo",
  74. new object[] { }, _ob);
  75. if (dtjg != null && dtjg.Rows.Count > 0)
  76. {
  77. DataRow dr = dtjg.NewRow();
  78. dtjg.Rows.InsertAt(dr, 0);
  79. }
  80. ultraComboJgOrdNo.DataSource = dtjg;
  81. ultraComboJgOrdNo.DisplayMember = "JG_ORDERNO";
  82. ultraComboJgOrdNo.ValueMember = "JG_ORDERNO";
  83. DataTable dtDd = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd.queryJgGxMNo",
  84. new object[] { }, _ob);
  85. if (dtDd != null && dtDd.Rows.Count > 0)
  86. {
  87. DataRow dr = dtDd.NewRow();
  88. dtDd.Rows.InsertAt(dr, 0);
  89. }
  90. ultraComboJgDdNo.DataSource = dtDd;
  91. ultraComboJgDdNo.DisplayMember = "PRO_PLAN_ID";
  92. ultraComboJgDdNo.ValueMember = "PRO_PLAN_ID";
  93. }
  94. /// <summary>
  95. /// 查询
  96. /// </summary>
  97. public void DoQuery()
  98. {
  99. string strJgOrdNo = "";
  100. string strJgDdNo = "";
  101. string strShowBlDeal = "0";
  102. if (checkBoxJgOrdNo.Checked)
  103. {
  104. strJgOrdNo = this.ultraComboJgOrdNo.Text;
  105. }
  106. if (checkBoxJgDdNo.Checked)
  107. {
  108. strJgDdNo = this.ultraComboJgDdNo.Text;
  109. }
  110. if(checkBoxShowBlDeal.Checked)
  111. {
  112. strShowBlDeal = "1";
  113. }
  114. bindingSourcePlnGxJgPropEntity.Clear();
  115. dataTableJgOrdE.Clear();
  116. DataTable dtjg = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd.queryJgOrd",
  117. new object[] { strJgOrdNo }, _ob);
  118. GridHelper.CopyDataToDatatable(dtjg, dataTableJgOrd, true);
  119. bindingSourcePlnGxJgPropEntity.DataSource = new DataSourceList<PlnGxJgPropEntity>();
  120. dataTableGxJgOrd.Clear();
  121. bindingSourcePlnGxJgMEntity.DataSource = EntityHelper.GetData<FrmPlnGxJgMEntity>(
  122. "com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd.queryJgGxM", new object[] { strJgDdNo, strShowBlDeal }, _ob);
  123. }
  124. /// <summary>
  125. /// 新建订单
  126. /// </summary>
  127. public void DoAdd()
  128. {
  129. ultraGridJgOrd.UpdateData();
  130. int jgGxNum = 0;
  131. int num = 0;
  132. string messageErr = "";
  133. IQueryable<UltraGridRow> checkedRows = ultraGridJgOrd.Rows.AsQueryable().Where(" CHC = 'True' ");
  134. if (checkedRows.Count() == 0)
  135. {
  136. MessageUtil.ShowTips("没有勾选任何行!");
  137. return;
  138. }
  139. #region 计算合并订单数
  140. PlanComm.WaitFromOpen(this.Cursor);
  141. var count1 = checkedRows.GroupBy(a => a.Cells["CODE_JG"].Value.ToString());
  142. foreach (var varGroup1 in count1)
  143. {
  144. IQueryable<UltraGridRow> codeRows = checkedRows.AsQueryable().Where(" CODE_JG = '" + varGroup1.Key + "' ");
  145. if (codeRows.Count() == 0)
  146. {
  147. continue;
  148. }
  149. var count2 = codeRows.GroupBy(a => a.Cells["PRD_STATION_DEPT"].Value.ToString());
  150. foreach (var varGroup2 in count2)
  151. {
  152. IQueryable<UltraGridRow> codeRows2 = codeRows.AsQueryable().Where(" PRD_STATION_DEPT = '" + varGroup2.Key + "' ");
  153. if (codeRows2.Count() == 0)
  154. {
  155. continue;
  156. }
  157. var count3 = codeRows2.GroupBy(a => a.Cells["ALPHA_CODE"].Value.ToString());
  158. foreach (var varGroup3 in count3)
  159. {
  160. IQueryable<UltraGridRow> codeRows3 = codeRows2.AsQueryable().Where(" ALPHA_CODE = '" + varGroup3.Key + "' ");
  161. if (codeRows3.Count() == 0)
  162. {
  163. continue;
  164. }
  165. var count4 = codeRows3.GroupBy(a => a.Cells["CUST_ALPHA_NO"].Value.ToString());
  166. num += count4.Count();
  167. }
  168. }
  169. }
  170. PlanComm.WaitFromColse(this.Cursor);
  171. if (MessageUtil.ShowQuestion("将新建" + num + "条订单,确认这样的操作吗?") == DialogResult.No)
  172. {
  173. return;
  174. }
  175. #endregion
  176. #region 合并订单
  177. PlanComm.WaitFromOpen(this.Cursor);
  178. var query = checkedRows.GroupBy(a => a.Cells["CODE_JG"].Value.ToString());
  179. foreach (var codeGroup in query)
  180. {
  181. ///过滤出相同接箍码的条目
  182. IQueryable<UltraGridRow> codeRows = checkedRows.AsQueryable().Where(" CODE_JG = '" + codeGroup.Key + "' ");
  183. if (codeRows.Count() == 0)
  184. {
  185. continue;
  186. }
  187. var queryAp = codeRows.GroupBy(a => a.Cells["ALPHA_CODE"].Value.ToString());
  188. foreach (var apGroup in queryAp)
  189. {
  190. ///过滤出相同接箍码的条目
  191. IQueryable<UltraGridRow> apRows = codeRows.AsQueryable().Where(" ALPHA_CODE = '" + apGroup.Key + "' ");
  192. if (apRows.Count() == 0)
  193. {
  194. continue;
  195. }
  196. var querySpec = apRows.GroupBy(a => a.Cells["CUST_ALPHA_NO"].Value.ToString());
  197. foreach (var sGroup in querySpec)
  198. {
  199. ///过滤出相同接箍码的条目
  200. IQueryable<UltraGridRow> specRows = apRows.AsQueryable().Where(" CUST_ALPHA_NO = '" + sGroup.Key + "' ");
  201. if (specRows.Count() == 0)
  202. {
  203. continue;
  204. }
  205. var queryPrdcr = specRows.GroupBy(a => a.Cells["PRD_STATION_DEPT"].Value.ToString());
  206. foreach (var prdcrGroup in queryPrdcr)
  207. {
  208. ///过滤出相同接箍码,相同监制的条目
  209. IQueryable<UltraGridRow> mRows = specRows.AsQueryable().Where(" PRD_STATION_DEPT = '" + prdcrGroup.Key + "' ");
  210. if (mRows.Count() == 0)
  211. {
  212. continue;
  213. }
  214. ArrayList list = new ArrayList();
  215. PlnGxJgMEntity gxJgM = new PlnGxJgMEntity();
  216. foreach (UltraGridRow uRow in mRows)
  217. {
  218. list.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  219. }
  220. gxJgM.CodeJg = codeGroup.Key;
  221. gxJgM.CustAlphaNo = sGroup.Key;
  222. gxJgM.OrderSpecialDesc = mRows.First().Cells["ORDER_SPECIAL_DESC"].Value.ToString();
  223. gxJgM.AlphaCode = apGroup.Key;
  224. gxJgM.AlphaName = mRows.First().Cells["ALPHA_NAME"].Value.ToString();
  225. gxJgM.PrdcrNo = mRows.First().Cells["PRDCR_NO"].Value.ToString();
  226. gxJgM.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  227. CoreClientParam ccp = new CoreClientParam();
  228. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd";
  229. ccp.MethodName = "addJgGxM";
  230. ccp.ServerParams = new object[] { list, JSONFormat.Format(gxJgM) };
  231. ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  232. if (ccp == null)
  233. {
  234. PlanComm.WaitFromColse(this.Cursor);
  235. MessageUtil.ShowTips("服务端处理失败!");
  236. return;
  237. }
  238. if (ccp.ReturnCode < 0)
  239. {
  240. PlanComm.WaitFromColse(this.Cursor);
  241. MessageUtil.ShowTips(ccp.ReturnInfo);
  242. return;
  243. }
  244. if (ccp.ReturnObject != null &&
  245. !ccp.ReturnObject.ToString().Equals(""))
  246. {
  247. messageErr = ccp.ReturnObject.ToString();
  248. continue;
  249. }
  250. jgGxNum++;
  251. }
  252. }
  253. }
  254. }
  255. PlanComm.WaitFromColse(this.Cursor);
  256. #endregion
  257. if (jgGxNum != num)
  258. {
  259. MessageUtil.ShowTips(jgGxNum + "条订单新建成功," + (num - jgGxNum)
  260. + "条新建失败。\n" + messageErr);
  261. }
  262. else
  263. {
  264. MessageUtil.ShowTips(jgGxNum + "条订单新建成功。");
  265. }
  266. DoQuery();
  267. }
  268. /// <summary>
  269. /// 加入订单
  270. /// </summary>
  271. public void DoJoinJgM()
  272. {
  273. ultraGridJgOrd.UpdateData();
  274. ultraGridJgGxM.UpdateData();
  275. IQueryable<UltraGridRow> rows = ultraGridJgGxM.Rows.AsQueryable().Where(" CHC = 'True' ");
  276. if (rows.Count() != 1)
  277. {
  278. MessageUtil.ShowTips("请选择一条已有的接箍订单。");
  279. return;
  280. }
  281. ArrayList list = new ArrayList();
  282. string proPlanId = rows.First().Cells["ProPlanId"].Value.ToString();
  283. string prdcrNo = rows.First().Cells["PrdcrNo"].Value.ToString();
  284. string codeJg = rows.First().Cells["CodeJg"].Value.ToString();
  285. string alphaCode = rows.First().Cells["AlphaCode"].Value.ToString();
  286. string custAlphaNo = rows.First().Cells["CustAlphaNo"].Value.ToString();
  287. IQueryable<UltraGridRow> checkedRows = ultraGridJgOrd.Rows.AsQueryable().Where(" CHC = 'True' ");
  288. if (checkedRows.Count() == 0)
  289. {
  290. MessageUtil.ShowTips("请选择要加入订单中的接箍合同。");
  291. return;
  292. }
  293. #region 筛选是否符合合并条件
  294. IQueryable<UltraGridRow> wrongRows = checkedRows.AsQueryable().Where(" CODE_JG != '" + codeJg + "' ");
  295. if (wrongRows.Count() > 0)
  296. {
  297. MessageUtil.ShowTips("接箍合同:" + wrongRows.First().Cells["JG_ORDERNO"].Value.ToString()
  298. + "不能合并到订单中(接箍码不同)。");
  299. return;
  300. }
  301. wrongRows = checkedRows.AsQueryable().Where(" CUST_ALPHA_NO != '" + custAlphaNo + "' ");
  302. if (wrongRows.Count() > 0)
  303. {
  304. MessageUtil.ShowTips("接箍合同:" + wrongRows.First().Cells["JG_ORDERNO"].Value.ToString()
  305. + "不能合并到订单中(特殊要求不同)。");
  306. return;
  307. }
  308. wrongRows = checkedRows.AsQueryable().Where(" ALPHA_CODE != '" + alphaCode + "' ");
  309. if (wrongRows.Count() > 0)
  310. {
  311. MessageUtil.ShowTips("接箍合同:" + wrongRows.First().Cells["JG_ORDERNO"].Value.ToString()
  312. + "不能合并到订单中(用途码不同)。");
  313. return;
  314. }
  315. #region 监制比较
  316. if (!prdcrNo.Trim().Equals(""))
  317. {
  318. var countPrdNo = checkedRows.GroupBy(a => a.Cells["PRDCR_NO"].Value.ToString());
  319. foreach (var varPrd in countPrdNo)
  320. {
  321. if (!isSamePrdcr(prdcrNo, varPrd.Key, this._ob)
  322. && !varPrd.Key.Equals(""))
  323. {
  324. wrongRows = checkedRows.AsQueryable().Where(" PRDCR_NO = '" + varPrd.Key + "' ");
  325. if (wrongRows.Count() > 0)
  326. {
  327. MessageUtil.ShowTips("接箍合同:" + wrongRows.First().Cells["JG_ORDERNO"].Value.ToString()
  328. + "不能合并到订单中(监制不同)。");
  329. return;
  330. }
  331. }
  332. }
  333. if (MessageUtil.ShowQuestion("该订单需要监制,确认加入该订单吗?") == DialogResult.No)
  334. {
  335. return;
  336. }
  337. }
  338. else
  339. {
  340. wrongRows = checkedRows.AsQueryable().Where(" PRDCR_NO != '' ");
  341. if (wrongRows.Count() > 0)
  342. {
  343. var querys = wrongRows.GroupBy(a => a.Cells["PRD_STATION_DEPT"].Value.ToString());
  344. if (querys.Count() == 1)
  345. {
  346. prdcrNo = querys.First().Key;
  347. if (MessageUtil.ShowQuestion("所选的接箍合同有监制,确认加入该订单吗?") == DialogResult.No)
  348. {
  349. return;
  350. }
  351. }
  352. else
  353. {
  354. MessageUtil.ShowTips("所选择的接箍合同中,监制有不同,不能合并。");
  355. return;
  356. }
  357. }
  358. }
  359. #endregion
  360. #endregion
  361. foreach (UltraGridRow uRow in checkedRows)
  362. {
  363. list.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  364. }
  365. CoreClientParam ccp = new CoreClientParam();
  366. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd";
  367. ccp.MethodName = "joinJgM";
  368. ccp.ServerParams = new object[] { list, proPlanId, prdcrNo,
  369. CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName() };
  370. ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  371. if (ccp == null)
  372. {
  373. MessageUtil.ShowError("服务端处理失败!");
  374. return;
  375. }
  376. if (ccp.ReturnCode < 0)
  377. {
  378. MessageUtil.ShowError(ccp.ReturnInfo);
  379. return;
  380. }
  381. if (ccp.ReturnObject != null)
  382. {
  383. MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  384. }
  385. DoQuery();
  386. }
  387. /// <summary>
  388. /// 比较两个监制的接箍、接箍料监制工序点监制单位是否相同
  389. /// </summary>
  390. /// <param name="prdcrNo1"></param>
  391. /// <param name="prdcrNo2"></param>
  392. /// <param name="_opeBase"></param>
  393. /// <returns></returns>
  394. public bool isSamePrdcr(string prdcrNo1, string prdcrNo2, OpeBase _opeBase)
  395. {
  396. bool fl = false;
  397. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd.selectPrdStation",
  398. new object[] { prdcrNo1 }, _opeBase);
  399. DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd.selectPrdStation",
  400. new object[] { prdcrNo2 }, _opeBase);
  401. if (dt1 != null && dt2 != null
  402. && dt1.Rows.Count == dt2.Rows.Count)
  403. {
  404. bool bl = true;
  405. for (int i = 0; i < dt1.Rows.Count; i++)
  406. {
  407. if (!dt1.Rows[i]["STATION_CODE"].ToString().Equals(
  408. dt2.Rows[i]["STATION_CODE"].ToString()))
  409. {
  410. bl = false;
  411. }
  412. if (!dt1.Rows[i]["PDEPT_NO"].ToString().Equals(
  413. dt2.Rows[i]["PDEPT_NO"].ToString()))
  414. {
  415. bl = false;
  416. }
  417. if (!dt1.Rows[i]["PDEPT_NO2"].ToString().Equals(
  418. dt2.Rows[i]["PDEPT_NO2"].ToString()))
  419. {
  420. bl = false;
  421. }
  422. if (!dt1.Rows[i]["PDEPT_NO3"].ToString().Equals(
  423. dt2.Rows[i]["PDEPT_NO3"].ToString()))
  424. {
  425. bl = false;
  426. }
  427. }
  428. if (bl)
  429. {
  430. fl = true;
  431. }
  432. }
  433. return fl;
  434. }
  435. /// <summary>
  436. /// 删除订单
  437. /// </summary>
  438. public void DoDelete()
  439. {
  440. ultraGridJgGxM.UpdateData();
  441. ArrayList list = new ArrayList();
  442. IQueryable<UltraGridRow> rows = ultraGridJgGxM.Rows.AsQueryable().Where(" CHC = 'True' ");
  443. if (rows.Count() == 0)
  444. {
  445. MessageUtil.ShowTips("请选择要删除的接箍订单。");
  446. return;
  447. }
  448. foreach (UltraGridRow uRow in rows)
  449. {
  450. list.Add(uRow.Cells["ProPlanId"].Value.ToString());
  451. }
  452. if (MessageUtil.ShowQuestion("确认删除这" + list.Count + "条订单吗?") == DialogResult.No)
  453. {
  454. return;
  455. }
  456. CoreClientParam ccp = new CoreClientParam();
  457. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd";
  458. ccp.MethodName = "deleteGxJgM";
  459. ccp.ServerParams = new object[] { list };
  460. ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  461. if (ccp == null)
  462. {
  463. MessageUtil.ShowError("服务端处理失败!");
  464. return;
  465. }
  466. if (ccp.ReturnCode < 0)
  467. {
  468. //MessageUtil.ShowError(ccp.ReturnInfo);
  469. return;
  470. }
  471. //if (ccp.ReturnObject != null)
  472. //{
  473. // MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  474. //}
  475. DoQuery();
  476. }
  477. /// <summary>
  478. /// 从订单中移除
  479. /// </summary>
  480. public void DoDeleteOne()
  481. {
  482. ultraGridJgGxOrd.UpdateData();
  483. ArrayList list = new ArrayList();
  484. IQueryable<UltraGridRow> rows = ultraGridJgGxOrd.Rows.AsQueryable().Where(" CHC = 'True' ");
  485. if (rows.Count() == 0)
  486. {
  487. MessageUtil.ShowTips("请选择要从订单中移除的合同。");
  488. return;
  489. }
  490. var query = rows.GroupBy(UltraGridRow => UltraGridRow.Cells["PRO_PLAN_ID"].Value.ToString());
  491. if (query.Count() > 1)
  492. {
  493. MessageUtil.ShowTips("只能同时移除同一订单下的合同。");
  494. return;
  495. }
  496. foreach (UltraGridRow uRow in rows)
  497. {
  498. list.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  499. }
  500. if (MessageUtil.ShowQuestion("确认删除这" + list.Count + "条订单明细吗?") == DialogResult.No)
  501. {
  502. return;
  503. }
  504. CoreClientParam ccp = new CoreClientParam();
  505. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd";
  506. ccp.MethodName = "deleteGxJgOrd";
  507. ccp.ServerParams = new object[] { list };
  508. ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  509. if (ccp == null)
  510. {
  511. MessageUtil.ShowError("服务端处理失败!");
  512. return;
  513. }
  514. if (ccp.ReturnCode < 0)
  515. {
  516. MessageUtil.ShowError(ccp.ReturnInfo);
  517. return;
  518. }
  519. if (ccp.ReturnObject != null)
  520. {
  521. MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  522. }
  523. DoQuery();
  524. }
  525. /// <summary>
  526. /// 查询接箍库存
  527. /// </summary>
  528. /// <param name="codeJg"></param>
  529. /// <param name="custAlphaNo"></param>
  530. /// <param name="alphaCode"></param>
  531. public void DoQueryMatJg(string codeJg, string custAlphaNo, string alphaCode)
  532. {
  533. //DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd.queryMatJg",
  534. // new object[] { codeJg, custAlphaNo, alphaCode }, this._ob);
  535. // GridHelper.CopyDataToDatatable(dt, dataTableMatJg, true);
  536. }
  537. private void ultraGridJgGxM_AfterRowActivate(object sender, EventArgs e)
  538. {
  539. UltraGridRow ugr = ultraGridJgGxM.ActiveRow;
  540. if (ugr == null)
  541. {
  542. return;
  543. }
  544. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd.queryGxJgOrd",
  545. new object[] { ugr.Cells["ProPlanId"].Value.ToString() }, _ob);
  546. GridHelper.CopyDataToDatatable(dt, dataTableJgOrdE, true);
  547. bindingSourcePlnGxJgPropEntity.DataSource = EntityHelper.GetData<PlnGxJgPropEntity>(
  548. "com.steering.pss.plnsaleord.jggxpln.CorePlnJgOrdToDd.queryJgGxProp",
  549. new object[] { ugr.Cells["ProPlanId"].Value.ToString() }, _ob);
  550. DoQueryMatJg(ugr.Cells["CodeJg"].Value.ToString(), ugr.Cells["CustAlphaNo"].Value.ToString(),
  551. ugr.Cells["AlphaCode"].Value.ToString());
  552. }
  553. #region 事件
  554. private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
  555. {
  556. if (_groupBox1ExpandedChanged == false || _groupBox2ExpandedChanged == false)
  557. {
  558. _splitterDistance1 = splitContainer1.SplitterDistance;
  559. if (splitContainer1.SplitterDistance > 25)
  560. {
  561. ultraExpandableJgOrd.Expanded = true;
  562. }
  563. else
  564. {
  565. ultraExpandableJgOrd.Expanded = false;
  566. }
  567. if (splitContainer1.SplitterDistance < splitContainer1.Parent.Height - 77)
  568. {
  569. ultraExpandableJgGxM.Expanded = true;
  570. }
  571. else
  572. {
  573. ultraExpandableJgGxM.Expanded = false;
  574. }
  575. }
  576. }
  577. private void splitContainer2_SplitterMoved(object sender, SplitterEventArgs e)
  578. {
  579. if (_groupBox3ExpandedChanged == false)
  580. {
  581. _splitterDistance2 = splitContainer2.SplitterDistance;
  582. if (splitContainer2.SplitterDistance < splitContainer2.Parent.Height - 35)
  583. {
  584. ultraExpandableJgGxOrd.Expanded = true;
  585. }
  586. else
  587. {
  588. ultraExpandableJgGxOrd.Expanded = false;
  589. }
  590. }
  591. }
  592. private void splitContainer3_SplitterMoved(object sender, SplitterEventArgs e)
  593. {
  594. if (_groupBox4ExpandedChanged == false)
  595. {
  596. _splitterDistance3 = splitContainer3.SplitterDistance;
  597. if (splitContainer3.SplitterDistance < splitContainer3.Parent.Width - 35)
  598. {
  599. ultraExpandableJgGxProP.Expanded = true;
  600. }
  601. else
  602. {
  603. ultraExpandableJgGxProP.Expanded = false;
  604. }
  605. }
  606. }
  607. private void ultraExpandableJgOrd_ExpandedStateChanged(object sender, EventArgs e)
  608. {
  609. _groupBox1ExpandedChanged = true;
  610. if (ultraExpandableJgOrd.Expanded == false)
  611. {
  612. _groupBox2ExpandedChanged = true;
  613. ultraExpandableJgGxM.Expanded = true;
  614. splitContainer1.SplitterDistance = 0;
  615. _groupBox2ExpandedChanged = false;
  616. }
  617. else
  618. {
  619. splitContainer1.SplitterDistance = _splitterDistance1;
  620. }
  621. _groupBox1ExpandedChanged = false;
  622. }
  623. private void ultraExpandableJgGxM_ExpandedStateChanged(object sender, EventArgs e)
  624. {
  625. _groupBox2ExpandedChanged = true;
  626. if (ultraExpandableJgGxM.Expanded == false)
  627. {
  628. _groupBox1ExpandedChanged = true;
  629. ultraExpandableJgOrd.Expanded = true;
  630. splitContainer1.SplitterDistance = this.Height;
  631. _groupBox1ExpandedChanged = false;
  632. }
  633. else
  634. {
  635. splitContainer1.SplitterDistance = _splitterDistance1;
  636. }
  637. _groupBox2ExpandedChanged = false;
  638. }
  639. private void ultraExpandableJgGxOrd_ExpandedStateChanged(object sender, EventArgs e)
  640. {
  641. _groupBox3ExpandedChanged = true;
  642. if (ultraExpandableJgGxOrd.Expanded == false)
  643. {
  644. splitContainer2.SplitterDistance = this.Height;
  645. }
  646. else
  647. {
  648. splitContainer2.SplitterDistance = _splitterDistance2;
  649. }
  650. _groupBox3ExpandedChanged = false;
  651. }
  652. private void ultraExpandableJgGxProP_ExpandedStateChanged(object sender, EventArgs e)
  653. {
  654. _groupBox4ExpandedChanged = true;
  655. if (ultraExpandableJgGxProP.Expanded == false)
  656. {
  657. splitContainer3.SplitterDistance = this.Width;
  658. }
  659. else
  660. {
  661. splitContainer3.SplitterDistance = _splitterDistance3;
  662. }
  663. _groupBox4ExpandedChanged = false;
  664. }
  665. private void checkBoxJgDdNo_CheckedChanged(object sender, EventArgs e)
  666. {
  667. if (checkBoxJgDdNo.Checked)
  668. {
  669. ultraComboJgDdNo.Enabled = true;
  670. }
  671. else
  672. {
  673. ultraComboJgDdNo.Enabled = false;
  674. }
  675. }
  676. private void checkBoxJgOrdNo_CheckedChanged(object sender, EventArgs e)
  677. {
  678. if (checkBoxJgOrdNo.Checked)
  679. {
  680. ultraComboJgOrdNo.Enabled = true;
  681. }
  682. else
  683. {
  684. ultraComboJgOrdNo.Enabled = false;
  685. }
  686. }
  687. private void ultraGridJgOrd_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  688. {
  689. foreach (UltraGridRow uRow in ultraGridJgOrd.Selected.Rows)
  690. {
  691. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  692. {
  693. uRow.Cells["CHC"].Value = true;
  694. }
  695. }
  696. }
  697. private void ultraGridJgGxOrd_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  698. {
  699. foreach (UltraGridRow uRow in ultraGridJgGxOrd.Selected.Rows)
  700. {
  701. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  702. {
  703. uRow.Cells["CHC"].Value = true;
  704. }
  705. }
  706. }
  707. private void ultraGridJgGxM_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  708. {
  709. foreach (UltraGridRow uRow in ultraGridJgGxM.Selected.Rows)
  710. {
  711. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  712. {
  713. uRow.Cells["CHC"].Value = true;
  714. }
  715. }
  716. }
  717. private void ultraGridJgGxProP_AfterRowActivate(object sender, EventArgs e)
  718. {
  719. UltraGridRow ugr = ultraGridJgGxProP.ActiveRow;
  720. if (ugr == null)
  721. {
  722. return;
  723. }
  724. foreach (UltraGridRow uRow in ultraGridJgGxOrd.Rows)
  725. {
  726. if (uRow.Cells["JG_GROUP_ID"].Value.ToString().Equals(
  727. ugr.Cells["JgGroupId"].Value.ToString()))
  728. {
  729. uRow.Appearance.BackColor = Color.FromArgb(255, 222, 173);
  730. }
  731. else
  732. {
  733. if (uRow.Index % 2 == 0)
  734. {
  735. uRow.Appearance.BackColor = FrmBase.DefaultBackColor;
  736. }
  737. else
  738. {
  739. uRow.Appearance.BackColor = Color.White;
  740. }
  741. }
  742. }
  743. }
  744. #endregion
  745. private void ultraTextEditorLook_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  746. {
  747. UltraGridRow ugr = ultraGridJgGxM.ActiveRow;
  748. if (ugr == null)
  749. {
  750. return;
  751. }
  752. string prdcrNo = ugr.Cells["PrdcrNo"].Value.ToString();
  753. string codeJg = ugr.Cells["CodeJg"].Value.ToString();
  754. FrmGxJgMPrdcrLst prdcr = new FrmGxJgMPrdcrLst(prdcrNo, codeJg, _ob);
  755. prdcr.Show();
  756. }
  757. }
  758. }