FrmCalculateDbk.cs 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. using com.steering.pss.plnsaleord.order.model;
  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.BaseMethod;
  6. using CoreFS.CA06;
  7. using CoreFS.SA06;
  8. using Infragistics.Win.UltraWinEditors;
  9. using Infragistics.Win.UltraWinGrid;
  10. using Newtonsoft.Json;
  11. using System;
  12. using System.Collections;
  13. using System.Collections.Generic;
  14. using System.ComponentModel;
  15. using System.Data;
  16. using System.Drawing;
  17. using System.Linq;
  18. using System.Text;
  19. using System.Windows.Forms;
  20. namespace Core.StlMes.Client.PlnSaleOrd.PopupWindow
  21. {
  22. public partial class FrmCalculateDbk : FrmBase
  23. {
  24. public bool isChange = false;
  25. private List<PlnSaleordProcEntity> procEntity = null;
  26. public FrmCalculateDbk(List<PlnSaleordProcEntity> _procEntity, OpeBase _ob)
  27. {
  28. this.IsLoadUserView = true;
  29. this.ob = _ob;
  30. procEntity = _procEntity;
  31. InitializeComponent();
  32. EntityHelper.ShowGridCaption<PlnDbkInOutInfoEntity>(ultraGridDbk.DisplayLayout.Bands[0]);
  33. }
  34. private void FrmCalculateDbk_Load(object sender, EventArgs e)
  35. {
  36. PlanComm.setGridActivation(ultraGridDbk.DisplayLayout.Bands[0], "CHC", "LenCutheadDbk", "LenCutendDbk", "LenScope");
  37. PlanComm.setGridDigitalCol(ultraGridDbk.DisplayLayout.Bands[0], 5, 3,
  38. "RollLength", "AimLenRoll", "AimLenEnd", "AimLenDbk", "InWtDbk", "OutWtDbk", "PlanWtD", "RatioDbk","LenZgCalMax", "LenZgCalMin", "LenDbkCalMax", "LenDbkCalMin", "Lengthmin", "Lengthmax", "LenDbkMin", "LenDbkMax","LenDbkZyMin", "LenDbkZyMax");
  39. PlanComm.setGridDigitalCol(ultraGridDbk.DisplayLayout.Bands[0], 5, 2,
  40. "DbkCut", "LenDc",
  41. "InspectionValue", "CheckJVal", "HeightOrdMin", "HeightOrdMax", "LenCutheadDbk", "LenCutendDbk", "LenLongerDbk", "Burning", "LenScope");
  42. PlanComm.setGridDigitalCol(ultraGridDbk.DisplayLayout.Bands[0], 5, 0,
  43. "PlanNumD", "OutNumDbk", "InNumDbk");
  44. //InitColorStyle();
  45. DoQuery();
  46. }
  47. /// <summary>
  48. /// 初始化列状态
  49. /// </summary>
  50. private void InitColorStyle()
  51. {
  52. UltraNumericEditor[] uneArr = new UltraNumericEditor[3];
  53. for (int i = 0; i < uneArr.Length; i++)
  54. {
  55. uneArr[i] = new UltraNumericEditor();
  56. uneArr[i].NumericType = NumericType.Double;
  57. if (i == 1)
  58. {
  59. uneArr[i].MaskInput = "nnnnn";
  60. }
  61. else
  62. {
  63. uneArr[i].MaskInput = "nnnnn.nn";
  64. }
  65. uneArr[i].SpinButtonDisplayStyle = Infragistics.Win.ButtonDisplayStyle.Always;
  66. this.Controls.Add(uneArr[i]);
  67. uneArr[i].Visible = false;
  68. }
  69. uneArr[0].SpinIncrement = 0.01;
  70. uneArr[1].SpinIncrement = 50;
  71. uneArr[2].SpinIncrement = 10;
  72. ultraGridDbk.DisplayLayout.Bands[0].Columns["LenCutheadDbk"].EditorComponent = uneArr[1];
  73. ultraGridDbk.DisplayLayout.Bands[0].Columns["LenCutendDbk"].EditorComponent = uneArr[1];
  74. ultraGridDbk.DisplayLayout.Bands[0].Columns["LenLongerDbk"].EditorComponent = uneArr[1];
  75. }
  76. private void DoQuery()
  77. {
  78. List<PlnDbkInOutInfoEntity> listSource = new List<PlnDbkInOutInfoEntity>();
  79. PlanComm.WaitFromOpen(this.Cursor);
  80. CoreClientParam ccp = new CoreClientParam();
  81. ccp.ServerName = "com.steering.pss.plnsaleord.order.CoreCalculateDbk";
  82. ccp.MethodName = "getDbkInoutInf";
  83. ccp.ServerParams = new object[] { procEntity };
  84. ccp = this.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
  85. if (ccp == null || ccp.ReturnObject == null)
  86. {
  87. PlanComm.WaitFromColse(this.Cursor);
  88. MessageBox.Show("服务端处理失败!");
  89. return;
  90. }
  91. PlanComm.WaitFromColse(this.Cursor);
  92. listSource = (List<PlnDbkInOutInfoEntity>)JsonConvert.DeserializeObject(
  93. ccp.ReturnObject.ToString(), typeof(List<PlnDbkInOutInfoEntity>));
  94. bindingSourcePlnDkbInfo.DataSource = listSource;
  95. return;
  96. }
  97. private void ultraToolbarsManager1_ToolClick(object sender,
  98. Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  99. {
  100. switch (e.Tool.Key)
  101. {
  102. case "DoQuery":
  103. DoQuery();
  104. break;
  105. case "ModifyDbkInSpec":
  106. DoChangeBom();
  107. break;
  108. case "ModifyBaseMaterial":
  109. ModifyBaseMaterial();
  110. break;
  111. case "SaveLenRoll":
  112. SaveLenRoll();
  113. break;
  114. case "ReashCal":
  115. RefresCal();
  116. break;
  117. case "ConfirmDbk":
  118. DoConfirmDbk();
  119. break;
  120. case "ConcelDbk":
  121. ConcelConfirmDbk();
  122. break;
  123. case "Export":
  124. PlanComm.Export(ref ultraGridDbk,
  125. "镦拔扩投入产出信息" + DateTime.Now.ToString("yyyy-MM-dd"));
  126. break;
  127. case "Close":
  128. this.Close();
  129. break;
  130. }
  131. }
  132. /// <summary>
  133. /// 保存切头尾,镦粗加长(m)
  134. /// </summary>
  135. private void SaveLenRoll()
  136. {
  137. ultraGridDbk.UpdateData();
  138. ArrayList errMessage = new ArrayList();
  139. ArrayList list = new ArrayList();
  140. IQueryable<UltraGridRow> uRows = ultraGridDbk.Rows.AsQueryable().Where(
  141. a => a.Cells["CHC"].Value.ToString().Equals("True"));
  142. if (uRows.Count() == 0)
  143. {
  144. MessageUtil.ShowTips("未勾选任何行!");
  145. return;
  146. }
  147. List<PlnSaleordProcEntity> listId = new List<PlnSaleordProcEntity>();
  148. foreach (UltraGridRow urow in uRows)
  149. {
  150. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreCalculateDbk.queryPlnOrdInfo",
  151. new object[] { urow.Cells["OrdLnDlyPk"].Value.ToString(), urow.Cells["PlnDivideId"].Value.ToString() }, this.ob);
  152. if (dt == null || dt.Rows.Count <= 0)
  153. {
  154. errMessage.Add("合同:" + urow.Cells["OrderNoSeq"].Value.ToString() + "/"
  155. + urow.Cells["DeliveryNo"].Value.ToString() + "未找到排产记录。");
  156. continue;
  157. }
  158. if (!dt.Rows[0]["PLANSTATUS"].ToString().Equals("1"))
  159. {
  160. errMessage.Add("合同:" + urow.Cells["OrderNoSeq"].Value.ToString() + "/"
  161. + urow.Cells["DeliveryNo"].Value.ToString() + "已经下发。");
  162. continue;
  163. }
  164. PlnSaleordProcEntity ordProcEntity = new PlnSaleordProcEntity();
  165. ordProcEntity.LenRollMin = urow.Cells["LenZgCalMin"].Value.ToString();
  166. ordProcEntity.LenRollMax = urow.Cells["LenZgCalMax"].Value.ToString();
  167. ordProcEntity.LenCutendDbk = urow.Cells["LenCutheadDbk"].Value.ToString();
  168. ordProcEntity.LenCutendDbk =urow.Cells["LenCutendDbk"].Value.ToString();
  169. ordProcEntity.LenCutendDbk = urow.Cells["LenLongerDbk"].Value.ToString();
  170. ordProcEntity.OrdLnDlyPk = urow.Cells["OrdLnDlyPk"].Value.ToString();
  171. ordProcEntity.PlnDivideId = urow.Cells["PlnDivideId"].Value.ToString();
  172. ordProcEntity.LenScope = urow.Cells["LenScope"].Value.ToString();
  173. list.Add(ordProcEntity);
  174. listId.Add(ordProcEntity);
  175. }
  176. if (list.Count == 0)
  177. {
  178. MessageUtil.ShowTips("保存失败,共" + errMessage.Count + "条。\n" + errMessage[0]);
  179. return;
  180. }
  181. int suceed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CoreCalculateDbk.saveLenRoll",
  182. new object[] { list }, this.ob);
  183. if (suceed > 0)
  184. {
  185. if (errMessage.Count == 0)
  186. {
  187. MessageUtil.ShowTips("保存成功,共" + list.Count + "条。");
  188. }
  189. else
  190. {
  191. MessageUtil.ShowTips(list.Count + "条保存成功,"
  192. + errMessage.Count + "条保存失败。\n" + errMessage[0]);
  193. }
  194. }
  195. DoQueryId(listId);
  196. }
  197. /// <summary>
  198. /// 小事能力维护
  199. /// </summary>
  200. private void ModifyBaseMaterial()
  201. {
  202. UltraGridRow ugr = ultraGridDbk.ActiveRow;
  203. if (ugr == null)
  204. {
  205. return;
  206. }
  207. string eInMaterialNo = ugr.Cells["EInMaterialNo"].Value.ToString();
  208. string eOutMaterialNo = ugr.Cells["EOutMaterialNo"].Value.ToString();
  209. string bjType = ugr.Cells["BjType"].Value.ToString();
  210. string bjPine = "";
  211. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreCalculateDbk.selectBjPine",
  212. new object[] { bjType }, this.ob);
  213. if (dt != null && dt.Rows.Count > 0)
  214. {
  215. bjPine = dt.Rows[0]["PLINE_CODE"].ToString();
  216. }
  217. FrmBaseMaterialEPl eBaseMtPl = new FrmBaseMaterialEPl(eInMaterialNo, eOutMaterialNo, bjPine, this.ob);
  218. eBaseMtPl.ShowDialog();
  219. DoQuery();
  220. }
  221. /// <summary>
  222. /// 默认产线Bom更改
  223. /// </summary>
  224. private void DoChangeBom()
  225. {
  226. UltraGridRow ugr = ultraGridDbk.ActiveRow;
  227. if (ugr == null)
  228. {
  229. return;
  230. }
  231. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreCalculateDbk.queryPlnOrdInfo",
  232. new object[] { ugr.Cells["OrdLnDlyPk"].Value.ToString(), ugr.Cells["PlnDivideId"].Value.ToString() }, this.ob);
  233. if (dt != null && dt.Rows.Count > 0)
  234. {
  235. if (!dt.Rows[0]["PLANSTATUS"].ToString().Equals("1"))
  236. {
  237. MessageUtil.ShowTips("合同:" + ugr.Cells["OrderNoSeq"].Value.ToString() + "/"
  238. + ugr.Cells["DeliveryNo"].Value.ToString() + "已经下发。");
  239. return;
  240. }
  241. FrmChangeBomDp changeBomDp = new FrmChangeBomDp(ugr.Cells["OrdLnDlyPk"].Value.ToString(),
  242. ugr.Cells["PlnDivideId"].Value.ToString(), this.ob);
  243. changeBomDp.Custom = "Dbk";
  244. changeBomDp.ShowDialog();
  245. PlnSaleordProcEntity procEntity = new PlnSaleordProcEntity();
  246. procEntity.OrdLnDlyPk = ugr.Cells["OrdLnDlyPk"].Value.ToString();
  247. procEntity.PlnDivideId = ugr.Cells["PlnDivideId"].Value.ToString();
  248. DoQueryId(new List<PlnSaleordProcEntity> { procEntity });
  249. isChange = true;
  250. }
  251. }
  252. private void DoQueryId(List<PlnSaleordProcEntity> listId)
  253. {
  254. UltraGridRow ugr = ultraGridDbk.ActiveRow;
  255. List<PlnDbkInOutInfoEntity> listSource = new List<PlnDbkInOutInfoEntity>();
  256. CoreClientParam ccp = new CoreClientParam();
  257. ccp.ServerName = "com.steering.pss.plnsaleord.order.CoreCalculateDbk";
  258. ccp.MethodName = "getDbkInoutInf";
  259. ccp.ServerParams = new object[] { listId };
  260. ccp = this.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
  261. if (ccp == null || ccp.ReturnObject == null)
  262. {
  263. PlanComm.WaitFromColse(this.Cursor);
  264. MessageBox.Show("服务端处理失败!");
  265. return;
  266. }
  267. listSource = (List<PlnDbkInOutInfoEntity>)JsonConvert.DeserializeObject(
  268. ccp.ReturnObject.ToString(), typeof(List<PlnDbkInOutInfoEntity>));
  269. List<PlnDbkInOutInfoEntity> listSource2 = (List<PlnDbkInOutInfoEntity>)bindingSourcePlnDkbInfo.DataSource;
  270. PlnDbkInOutInfoEntity[] querayable = new PlnDbkInOutInfoEntity[listId.Count];
  271. for (int i = 0; i < listId.Count;i++ )
  272. {
  273. PlnDbkInOutInfoEntity[] temp = listSource2.AsQueryable().Where(a =>
  274. a.OrdLnDlyPk == listId[i].OrdLnDlyPk && a.PlnDivideId == listId[i].PlnDivideId).ToArray();
  275. if (temp.Count() > 0)
  276. {
  277. querayable[i] = temp[0];
  278. }
  279. }
  280. if (querayable.Length > 0)
  281. {
  282. int number = listSource2.IndexOf(querayable[0]);
  283. for (int i = 0; i < querayable.Length; i++)
  284. {
  285. listSource2.Remove(querayable[i]);
  286. }
  287. for (int i = listSource.Count - 1; i >= 0; i--)
  288. {
  289. bindingSourcePlnDkbInfo.Insert(number, listSource[i]);
  290. }
  291. }
  292. ultraGridDbk.Refresh();
  293. if (ugr != null)
  294. {
  295. ultraGridDbk.ActiveRow = ugr;
  296. }
  297. }
  298. /// <summary>
  299. /// 重算
  300. /// </summary>
  301. private void RefresCal()
  302. {
  303. ultraGridDbk.UpdateData();
  304. ArrayList errMessage = new ArrayList();
  305. IQueryable<UltraGridRow> uRows = ultraGridDbk.Rows.AsQueryable().Where(" CHC = 'True' ");
  306. if (uRows.Count() == 0)
  307. {
  308. MessageUtil.ShowTips("未勾选任何行!");
  309. return;
  310. }
  311. List<PlnSaleordProcEntity> listId = new List<PlnSaleordProcEntity>();
  312. foreach (UltraGridRow urow in uRows)
  313. {
  314. if (!urow.Cells["BjType"].Text.Equals("镦粗"))
  315. {
  316. if (urow.Cells["LenCutheadDbk"].Text.ToString().Equals(""))
  317. {
  318. MessageUtil.ShowTips("拔扩切头为空,请维护基础数据!");
  319. return;
  320. }
  321. if (urow.Cells["LenCutendDbk"].Text.ToString().Equals(""))
  322. {
  323. MessageUtil.ShowTips("拔扩切尾为空,请维护基础数据!");
  324. return;
  325. }
  326. }
  327. else
  328. {
  329. if (urow.Cells["LenLongerDbk"].Text.ToString().Equals(""))
  330. {
  331. MessageUtil.ShowTips("镦粗加长为空,请维护基础数据!");
  332. return;
  333. }
  334. }
  335. if (urow.Cells["LenScope"].Text.ToString().Equals(""))
  336. {
  337. MessageUtil.ShowTips("壁厚范围%不能为空!");
  338. return;
  339. }
  340. PlnSaleordProcEntity procEntity = new PlnSaleordProcEntity();
  341. procEntity.LenScope = urow.Cells["LenScope"].Value.ToString();
  342. procEntity.LenCutheadDbk = urow.Cells["LenCutheadDbk"].Value.ToString();
  343. procEntity.LenCutendDbk = urow.Cells["LenCutendDbk"].Value.ToString();
  344. procEntity.LenLongerDbk = urow.Cells["LenLongerDbk"].Value.ToString();
  345. procEntity.RatioDbk = urow.Cells["RatioDbk"].Value.ToString();
  346. procEntity.Burning = urow.Cells["Burning"].Value.ToString();
  347. procEntity.OrdLnDlyPk = urow.Cells["OrdLnDlyPk"].Value.ToString();
  348. procEntity.PlnDivideId = urow.Cells["PlnDivideId"].Value.ToString();
  349. procEntity.OrderNo = urow.Cells["OrderNoSeq"].Value.ToString();
  350. procEntity.DeliveryNo = urow.Cells["DeliveryNo"].Value.ToString();
  351. listId.Add(procEntity);
  352. }
  353. CoreClientParam ccp = new CoreClientParam();
  354. ccp.ServerName = "com.steering.pss.plnsaleord.order.CoreCalculateDbk";
  355. ccp.MethodName = "recalculation";
  356. ccp.ServerParams = new object[] { listId };
  357. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  358. if (ccp.ReturnCode == -1) return;
  359. MessageUtil.ShowTips(ccp.ReturnInfo);
  360. if (ccp.ReturnInfo.Equals("重算成功!"))
  361. {
  362. DoQueryId(listId);
  363. }
  364. //RefreCalData(listId);
  365. }
  366. /// <summary>
  367. /// 取消镦拔扩确认
  368. /// </summary>
  369. private void ConcelConfirmDbk()
  370. {
  371. ultraGridDbk.UpdateData();
  372. ArrayList messageErr = new ArrayList();
  373. ArrayList errMessage = new ArrayList();
  374. List<PlnSaleordProcEntity> listId = new List<PlnSaleordProcEntity>();
  375. IQueryable<UltraGridRow> uRows = ultraGridDbk.Rows.AsQueryable().Where(" CHC = 'True' ");
  376. if (uRows.Count() == 0)
  377. {
  378. MessageUtil.ShowTips("未勾选任何行!");
  379. return;
  380. }
  381. foreach (UltraGridRow urow in uRows)
  382. {
  383. PlnSaleordProcEntity procEntity = new PlnSaleordProcEntity();
  384. procEntity.OrdLnDlyPk = urow.Cells["OrdLnDlyPk"].Value.ToString();
  385. procEntity.PlnDivideId = urow.Cells["PlnDivideId"].Value.ToString();
  386. procEntity.OrderNo = urow.Cells["OrderNoSeq"].Value.ToString();
  387. procEntity.DeliveryNo = urow.Cells["DeliveryNo"].Value.ToString();
  388. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreCalculateDbk.queryPlnOrdInfo",
  389. new object[] { procEntity.OrdLnDlyPk, procEntity.PlnDivideId }, this.ob);
  390. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  391. {
  392. messageErr.Add("");
  393. continue;
  394. }
  395. if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("1"))
  396. {
  397. if (dtStatus.Rows[0]["E_IS_OK"].ToString().Equals("0"))
  398. {
  399. messageErr.Add("合同:" + procEntity.OrderNo + "/"
  400. + procEntity.DeliveryNo + "镦拔扩还未确认。");
  401. continue;
  402. }
  403. procEntity.EIsOk = "0";
  404. listId.Add(procEntity);
  405. }
  406. else
  407. {
  408. messageErr.Add("合同:" + procEntity.OrderNo + "/"
  409. + procEntity.DeliveryNo + "已经下发。");
  410. continue;
  411. }
  412. }
  413. if (listId.Count == 0)
  414. {
  415. MessageUtil.ShowTips("取消确认失败,共" + messageErr.Count + "条。\n" + messageErr[0]);
  416. return;
  417. }
  418. CoreClientParam ccp = new CoreClientParam();
  419. ccp.ServerName = "com.steering.pss.plnsaleord.order.CoreCalculateDbk";
  420. ccp.MethodName = "confirmDbk";
  421. ccp.ServerParams = new object[] { listId };
  422. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  423. if (ccp.ReturnCode != -1)
  424. {
  425. if (messageErr.Count == 0)
  426. {
  427. MessageUtil.ShowTips("取消确认成功,共" + listId.Count + "条。");
  428. }
  429. else
  430. {
  431. MessageUtil.ShowTips(listId.Count + "条取消确认成功,"
  432. + messageErr.Count + "条取消确认失败。\n" + messageErr[0]);
  433. }
  434. }
  435. isChange = true;
  436. DoQueryId(listId);
  437. }
  438. /// <summary>
  439. /// 镦拔扩确认
  440. /// </summary>
  441. private void DoConfirmDbk()
  442. {
  443. ultraGridDbk.UpdateData();
  444. ArrayList messageErr = new ArrayList();
  445. ArrayList errMessage = new ArrayList();
  446. List<PlnSaleordProcEntity> listId = new List<PlnSaleordProcEntity>();
  447. IQueryable<UltraGridRow> uRows = ultraGridDbk.Rows.AsQueryable().Where(" CHC = 'True' ");
  448. if (uRows.Count() == 0)
  449. {
  450. MessageUtil.ShowTips("未勾选任何行!");
  451. return;
  452. }
  453. foreach (UltraGridRow urow in uRows)
  454. {
  455. PlnSaleordProcEntity procEntity = new PlnSaleordProcEntity();
  456. procEntity.OrdLnDlyPk = urow.Cells["OrdLnDlyPk"].Value.ToString();
  457. procEntity.PlnDivideId = urow.Cells["PlnDivideId"].Value.ToString();
  458. procEntity.OrderNo = urow.Cells["OrderNoSeq"].Value.ToString();
  459. procEntity.DeliveryNo = urow.Cells["DeliveryNo"].Value.ToString();
  460. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreCalculateDbk.queryPlnOrdInfo",
  461. new object[] { procEntity.OrdLnDlyPk, procEntity.PlnDivideId }, this.ob);
  462. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  463. {
  464. messageErr.Add("");
  465. continue;
  466. }
  467. if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("1"))
  468. {
  469. if (dtStatus.Rows[0]["E_IS_OK"].ToString().Equals("1"))
  470. {
  471. messageErr.Add("合同:" + procEntity.OrderNo + "/"
  472. + procEntity.DeliveryNo + "已经确认过了。");
  473. continue;
  474. }
  475. procEntity.EIsOk = "1";
  476. listId.Add(procEntity);
  477. }
  478. else
  479. {
  480. messageErr.Add("合同:" + procEntity.OrderNo + "/"
  481. + procEntity.DeliveryNo + "已经下发。");
  482. continue;
  483. }
  484. }
  485. if (listId.Count == 0)
  486. {
  487. MessageUtil.ShowTips("确认失败,共" + messageErr.Count + "条。\n" + messageErr[0]);
  488. return;
  489. }
  490. CoreClientParam ccp = new CoreClientParam();
  491. ccp.ServerName = "com.steering.pss.plnsaleord.order.CoreCalculateDbk";
  492. ccp.MethodName = "confirmDbk";
  493. ccp.ServerParams = new object[] { listId };
  494. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  495. if (ccp.ReturnCode != -1)
  496. {
  497. if (messageErr.Count == 0)
  498. {
  499. MessageUtil.ShowTips("确认成功,共" + listId.Count + "条。");
  500. }
  501. else
  502. {
  503. MessageUtil.ShowTips(listId.Count + "条确认成功,"
  504. + messageErr.Count + "条确认失败。\n" + messageErr[0]);
  505. }
  506. }
  507. isChange = true;
  508. DoQueryId(listId);
  509. }
  510. /// <summary>
  511. /// 调用重算方法
  512. /// </summary>
  513. /// <param name="listId"></param>
  514. public void RefreCalData(List<PlnSaleordProcEntity> listId)
  515. {
  516. ArrayList errMessage = new ArrayList();
  517. PlanComm.WaitFromOpen(this.Cursor);
  518. try
  519. {
  520. foreach (PlnSaleordProcEntity procEntity in listId)
  521. {
  522. string message = "";
  523. string ordNo = procEntity.OrderNo + "/" + procEntity.OrderSeq + "/" + procEntity.DeliveryNo;
  524. if (!PlnOrdProcRefresCal.RefresCal(procEntity.OrdLnDlyPk, procEntity.PlnDivideId, this.ob, out message))
  525. {
  526. errMessage.Add(ordNo + message);
  527. }
  528. }
  529. PlanComm.WaitFromColse(this.Cursor);
  530. if (errMessage.Count == listId.Count)
  531. {
  532. MessageUtil.ShowTips("重算失败!\n" + errMessage[0]);
  533. }
  534. else if (errMessage.Count != 0)
  535. {
  536. MessageUtil.ShowTips((listId.Count - errMessage.Count) + "条重算成功,"
  537. + errMessage.Count + "条重算失败!\n" + errMessage[0]);
  538. }
  539. else
  540. {
  541. MessageUtil.ShowTips("重算成功。");
  542. }
  543. }
  544. catch (Exception e)
  545. {
  546. PlanComm.WaitFromColse(this.Cursor);
  547. MessageBox.Show(e.Message);
  548. }
  549. }
  550. private void ultraGridDbk_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  551. {
  552. foreach (UltraGridRow uRow in ultraGridDbk.Selected.Rows)
  553. {
  554. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  555. {
  556. uRow.Cells["CHC"].Value = true;
  557. }
  558. }
  559. }
  560. }
  561. }