FrmPlnOrderJgDj.cs 129 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079
  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 System.Collections;
  10. using System.IO;
  11. using System.Diagnostics;
  12. using Infragistics.Win.UltraWinGrid;
  13. using Infragistics.Win;
  14. using Infragistics.Win.UltraWinGrid.ExcelExport;
  15. using Infragistics.Excel;
  16. using CoreFS.CA06;
  17. using CoreFS.SA06;
  18. using Core.Mes.Client.Comm.Server;
  19. using Core.Mes.Client.Comm.Control;
  20. using Core.Mes.Client.Comm;
  21. using Core.Mes.Client.Comm.Tool;
  22. using com.steering.pss.plan.order;
  23. using com.steering.pss.plan.order.model;
  24. namespace Core.StlMes.Client.Plan.Order
  25. {
  26. /// <summary>
  27. /// 销售合同处理
  28. /// @author:杨天海
  29. /// @version:v1.2
  30. /// @date:2015.09.23
  31. /// </summary>
  32. public partial class FrmPlnOrderJgDj : FrmBase
  33. {
  34. //用于计算可分离容器的大小。
  35. private int _splitterDistance = 0;
  36. private bool _groupBox2ExpandedChanged = false;
  37. public FrmPlnOrderJgDj()
  38. {
  39. this.IsLoadUserView = true;
  40. InitializeComponent();
  41. }
  42. public FrmPlnOrderJgDj(OpeBase ob)
  43. {
  44. this.ob = ob;
  45. InitializeComponent();
  46. }
  47. public override void ToolBar_Click(object sender, string ToolbarKey)
  48. {
  49. base.ToolBar_Click(sender, ToolbarKey);
  50. switch (ToolbarKey)
  51. {
  52. case "Query": //查询
  53. doQuery(GetQueryCondition());
  54. break;
  55. case "ProcessJG"://接箍处理
  56. doProcessJg();
  57. break;
  58. case "CancelJg"://取消接箍合同
  59. doCancelJg();
  60. break;
  61. case "ProcessDJ"://短节处理
  62. doProcessDj();
  63. break;
  64. case "CancelDj"://取消短节合同
  65. doCancelDj();
  66. break;
  67. case "QueryJgl": //接箍料编制查询
  68. QueryJGl();
  69. break;
  70. case "SaveJg": //保存接箍合同
  71. UpdateJgOrder();
  72. break;
  73. case "Plait": //接箍料需求保存
  74. doPlait();
  75. break;
  76. case "AddPlait": //加入现有接箍料需求
  77. doAddPlait();
  78. break;
  79. case "Delete": //删除接箍需求
  80. Delete();
  81. break;
  82. case "DeleteOne": //删除接箍需求单量
  83. DeleteOne();
  84. break;
  85. case "RefresDate"://刷新加载数据
  86. RefresDate();
  87. break;
  88. case "Close": //关闭
  89. this.Close();
  90. break;
  91. }
  92. }
  93. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  94. {
  95. switch (e.Tool.Key)
  96. {
  97. case "Save"://更新短节备料信息
  98. UpdateDjBl(ultraGrid3);
  99. break;
  100. case "ConfirmZg"://轧管确认
  101. ConfirmBlZg(ultraGrid3);
  102. break;
  103. case "ConfirmBj"://镦拔扩确认
  104. ConfirmBlBj(ultraGrid3);
  105. break;
  106. case "ConfirmRcl"://热处理确认
  107. ConfirmBlRcl(ultraGrid3);
  108. break;
  109. case "Iussed"://短节需求下发
  110. IssuedBlNeed(ultraGrid3);
  111. break;
  112. case "CancelIssued"://取消下发
  113. CancelBlIssued(ultraGrid3);
  114. break;
  115. case "Export":
  116. doExportBl("DJBL");
  117. break;
  118. }
  119. }
  120. /// <summary>
  121. /// 备料轧管确认
  122. /// </summary>
  123. private void ConfirmBlZg(UltraGrid ugrid)
  124. {
  125. try
  126. {
  127. ugrid.UpdateData();
  128. ArrayList list = new ArrayList();
  129. IQueryable<UltraGridRow> checkRows = ugrid.Rows.AsQueryable().Where(" CHC = 'True' ");
  130. if (checkRows.Count() == 0)
  131. {
  132. MessageUtil.ShowTips("未勾选保存的备料!");
  133. return;
  134. }
  135. foreach (UltraGridRow uRow in checkRows)
  136. {
  137. ///查询合同状态
  138. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBLbyReqBlId",
  139. new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
  140. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  141. {
  142. break;
  143. }
  144. if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("0"))
  145. {
  146. ArrayList param = new ArrayList();
  147. param.Add("1");
  148. param.Add(uRow.Cells["GROUP_ROLL"].Value.ToString());
  149. param.Add(uRow.Cells["DIMATER_YLG"].Value.ToString());
  150. param.Add(uRow.Cells["HEIGHT_YLG"].Value.ToString());
  151. param.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  152. list.Add(param);
  153. }
  154. }
  155. if (list.Count == 0)
  156. {
  157. return;
  158. }
  159. int suceed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.confirmBlZg",
  160. new object[] { list }, this.ob);
  161. if (suceed > 0)
  162. {
  163. MessageUtil.ShowTips("保存成功!");
  164. }
  165. else
  166. {
  167. MessageUtil.ShowTips("保存失败!");
  168. }
  169. }
  170. catch (Exception ex)
  171. {
  172. if (ex is MESException)
  173. {
  174. }
  175. else
  176. {
  177. MessageBox.Show(ex.Message);
  178. }
  179. }
  180. if (ugrid != ultraGrid3)
  181. {
  182. QueryJGl();
  183. }
  184. else
  185. {
  186. doQuery(GetQueryCondition());
  187. }
  188. }
  189. /// <summary>
  190. /// 镦拔扩确认
  191. /// </summary>
  192. private void ConfirmBlBj(UltraGrid ugrid)
  193. {
  194. try
  195. {
  196. ugrid.UpdateData();
  197. ArrayList list = new ArrayList();
  198. IQueryable<UltraGridRow> checkRows = ugrid.Rows.AsQueryable().Where(" CHC = 'True' ");
  199. if (checkRows.Count() == 0)
  200. {
  201. MessageUtil.ShowTips("未勾选要保存的备料!");
  202. return;
  203. }
  204. foreach (UltraGridRow uRow in checkRows)
  205. {
  206. ///查询合同状态
  207. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBLbyReqBlId",
  208. new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
  209. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  210. {
  211. break;
  212. }
  213. if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("0"))
  214. {
  215. ArrayList param = new ArrayList();
  216. if (uRow.Cells["BJ_TYPE"].Value.ToString().Equals("")
  217. || uRow.Cells["BJ_TYPE"].Value.ToString().Equals("/"))
  218. {
  219. param.Add("2");
  220. }
  221. else
  222. {
  223. param.Add("1");
  224. }
  225. param.Add(uRow.Cells["E_IN_MATERIAL_NO"].Value.ToString());
  226. param.Add(uRow.Cells["E_IN_MATERIAL_NO"].Text.Trim());
  227. param.Add(uRow.Cells["DIMATER_YLG"].Value.ToString());
  228. param.Add(uRow.Cells["HEIGHT_YLG"].Value.ToString());
  229. param.Add(uRow.Cells["BJ_TYPE"].Value.ToString());
  230. param.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  231. list.Add(param);
  232. }
  233. }
  234. if (list.Count == 0)
  235. {
  236. return;
  237. }
  238. int suceed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.confirmBlBj",
  239. new object[] { list }, this.ob);
  240. if (suceed > 0)
  241. {
  242. MessageUtil.ShowTips("保存成功!");
  243. }
  244. else
  245. {
  246. MessageUtil.ShowTips("保存失败!");
  247. }
  248. }
  249. catch (Exception ex)
  250. {
  251. if (ex is MESException)
  252. {
  253. }
  254. else
  255. {
  256. MessageBox.Show(ex.Message);
  257. }
  258. }
  259. if (ugrid != ultraGrid3)
  260. {
  261. QueryJGl();
  262. }
  263. else
  264. {
  265. doQuery(GetQueryCondition());
  266. }
  267. }
  268. /// <summary>
  269. /// 热处理确认
  270. /// </summary>
  271. private void ConfirmBlRcl(UltraGrid ugrid)
  272. {
  273. try
  274. {
  275. ugrid.UpdateData();
  276. ArrayList list = new ArrayList();
  277. IQueryable<UltraGridRow> checkRows = ugrid.Rows.AsQueryable().Where(" CHC = 'True' ");
  278. if (checkRows.Count() == 0)
  279. {
  280. MessageUtil.ShowTips("未勾选要保存的备料!");
  281. return;
  282. }
  283. foreach (UltraGridRow uRow in checkRows)
  284. {
  285. ///查询合同状态
  286. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBLbyReqBlId",
  287. new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
  288. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  289. {
  290. break;
  291. }
  292. if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("0"))
  293. {
  294. ArrayList param = new ArrayList();
  295. if (uRow.Cells["GROUP_RCL"].Value.ToString().Equals("")
  296. || uRow.Cells["GROUP_RCL"].Value.ToString().Equals("/"))
  297. {
  298. param.Add("2");
  299. }
  300. else
  301. {
  302. param.Add("1");
  303. }
  304. param.Add(uRow.Cells["GROUP_RCL"].Value.ToString());
  305. param.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  306. list.Add(param);
  307. }
  308. }
  309. if (list.Count == 0)
  310. {
  311. return;
  312. }
  313. int suceed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.confirmBlRcl",
  314. new object[] { list }, this.ob);
  315. if (suceed > 0)
  316. {
  317. MessageUtil.ShowTips("保存成功!");
  318. }
  319. else
  320. {
  321. MessageUtil.ShowTips("保存失败!");
  322. }
  323. }
  324. catch (Exception ex)
  325. {
  326. if (ex is MESException)
  327. {
  328. }
  329. else
  330. {
  331. MessageBox.Show(ex.Message);
  332. }
  333. }
  334. if (ugrid != ultraGrid3)
  335. {
  336. QueryJGl();
  337. }
  338. else
  339. {
  340. doQuery(GetQueryCondition());
  341. }
  342. }
  343. private void ultraToolbarsManager2_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  344. {
  345. switch (e.Tool.Key)
  346. {
  347. case "Save"://保存接箍料信息
  348. UpdateDjBl(ultraGrid6);
  349. break;
  350. case "ConfirmZg"://轧管确认
  351. ConfirmBlZg(ultraGrid6);
  352. break;
  353. case "ConfirmBj"://镦拔扩确认
  354. ConfirmBlBj(ultraGrid6);
  355. break;
  356. case "ConfirmRcl"://热处理确认
  357. ConfirmBlRcl(ultraGrid6);
  358. break;
  359. case "Iussed": //接箍料需求下发
  360. IssuedBlNeed(ultraGrid6);
  361. break;
  362. case "CancelIssued"://取消下发
  363. CancelBlIssued(ultraGrid6);
  364. break;
  365. case "Export":
  366. doExportBl("JGL");
  367. break;
  368. }
  369. }
  370. private void ultraToolbarsManager3_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  371. {
  372. switch (e.Tool.Key)
  373. {
  374. case "Iussed"://合同下发
  375. OrderJgIssued();
  376. break;
  377. case "CancelIssued"://取消下发
  378. CancelJgIssued();
  379. break;
  380. }
  381. }
  382. /// <summary>
  383. /// 页面加载
  384. /// </summary>
  385. /// <param name="sender"></param>
  386. /// <param name="e"></param>
  387. private void FrmSaleOrderOP_Load(object sender, EventArgs e)
  388. {
  389. ctrlForQueryPORDERSTATUS.SelectedIndex = 0;
  390. this.ultraTextEditorAcceptNo.Value = DateTime.Now.ToString("yyMM") + "X" + DateTime.Now.ToString("MMdd");
  391. RefresDate();
  392. }
  393. /// <summary>
  394. /// 刷新加载数据
  395. /// </summary>
  396. private void RefresDate()
  397. {
  398. DataTable tableBaseInfo = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBaseinfoAll",
  399. new object[] { }, this.ob);
  400. DataTable tableBlbjtype = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderCraftInfo.getBjProcessC",
  401. new object[] { }, this.ob);
  402. DataTable tableBlPline = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBlZgPline",
  403. new object[] { }, this.ob);
  404. DataTable tableGrade = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBaseGrade",
  405. new object[] { }, this.ob);
  406. //热处理组
  407. ValueList vlistS1 = PlanComm.GeneralValuelist(ref tableBaseInfo, "BASECODE", "BASENAME");
  408. vlistS1.ValueListItems.Insert(0, "/", "/");
  409. ultraGrid3.DisplayLayout.Bands[0].Columns["GROUP_RCL"].ValueList = vlistS1;
  410. ValueList vlistS2 = PlanComm.GeneralValuelist(ref tableBaseInfo, "BASECODE", "BASENAME");
  411. vlistS2.ValueListItems.Insert(0, "/", "/");
  412. ultraGrid6.DisplayLayout.Bands[0].Columns["GROUP_RCL"].ValueList = vlistS2;
  413. ValueList vlistSteel1 = PlanComm.GeneralValuelist(ref tableBlbjtype, "PROCESS_DESC_C", "PROCESS_DESC_C");
  414. vlistSteel1.ValueListItems.Insert(0, "/", "/");
  415. ultraGrid3.DisplayLayout.Bands[0].Columns["BJ_TYPE"].ValueList = vlistSteel1;
  416. ValueList vlistSteel2 = PlanComm.GeneralValuelist(ref tableBlbjtype, "PROCESS_DESC_C", "PROCESS_DESC_C");
  417. vlistSteel2.ValueListItems.Insert(0, "/", "/");
  418. ultraGrid6.DisplayLayout.Bands[0].Columns["BJ_TYPE"].ValueList = vlistSteel2;
  419. ultraGrid3.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].ValueList
  420. = PlanComm.GeneralValuelist(ref tableBlPline, "PLINE_CODE", "PLINE_NAME");
  421. ultraGrid6.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].ValueList
  422. = PlanComm.GeneralValuelist(ref tableBlPline, "PLINE_CODE", "PLINE_NAME");
  423. ultraGrid3.DisplayLayout.Bands[0].Columns["GRADECODE"].ValueList
  424. = PlanComm.GeneralValuelist(ref tableGrade, "GRADECODE", "GRADENAME");
  425. ultraGrid6.DisplayLayout.Bands[0].Columns["GRADECODE"].ValueList
  426. = PlanComm.GeneralValuelist(ref tableGrade, "GRADECODE", "GRADENAME");
  427. doQuery(GetQueryCondition());
  428. }
  429. /// <summary>
  430. /// 获取查询条件信息
  431. /// </summary>
  432. /// <returns>查询条件信息</returns>
  433. private ArrayList GetQueryCondition()
  434. {
  435. ArrayList ary = new ArrayList();
  436. string strRollmonth = "";
  437. string strAcceptNo = "";//接收批次号
  438. string strOrderNo = ""; //合同号
  439. string strOrderStatus = ""; //合同状态
  440. string haveJg = ""; //是否有接箍
  441. string haveDj = ""; //是否有短节
  442. if (this.checkBoxHvJg.Checked)
  443. {
  444. haveJg = "1";
  445. }
  446. if (this.checkBoxHvDj.Checked)
  447. {
  448. haveDj = "1";
  449. }
  450. if (this.checkBoxAcceptNo.Checked)
  451. {
  452. strAcceptNo = this.ultraTextEditorAcceptNo.Text.Trim();
  453. }
  454. if (checkBoxForReqORDER_NO.Checked)
  455. {
  456. strOrderNo = ctrlForQueryORDER_NO.Text.Trim();
  457. }
  458. if (checkBoxForReqPORDERSTATUS.Checked)
  459. {
  460. strOrderStatus = ctrlForQueryPORDERSTATUS.Value.ToString();
  461. }
  462. if (checkBoxRollMonth.Checked)
  463. {
  464. strRollmonth = ultraDateTimeRollMonth.DateTime.ToString("yyyy-MM");
  465. }
  466. ary.Add(strRollmonth);
  467. ary.Add(strAcceptNo);
  468. ary.Add(strOrderNo);
  469. ary.Add(strOrderStatus);
  470. ary.Add(haveJg);
  471. ary.Add(haveJg);
  472. ary.Add(haveDj);
  473. ary.Add(haveDj);
  474. return ary;
  475. }
  476. /// <summary>
  477. /// 根据信息栏查询
  478. /// </summary>
  479. /// <param name="ary">查询条件信息</param>
  480. private void doQuery(ArrayList ary)
  481. {
  482. try
  483. {
  484. if (ary == null)
  485. {
  486. return;
  487. }
  488. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.querySaleOrder",
  489. new object[] { ary }, this.ob);
  490. GridHelper.CopyDataToDatatable(dt1, dataTable1, true);
  491. DataTable dt2 = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryJgOrder",
  492. new object[] { ary }, this.ob);
  493. GridHelper.CopyDataToDatatable(dt2, dataTable2, true);
  494. DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryDjBlNeed",
  495. new object[] { ary }, this.ob);
  496. GridHelper.CopyDataToDatatable(dt3, dataTable3, true);
  497. ///设置ultraGrid1单元格不可编辑
  498. PlanComm.setGridActivation(ultraGrid1.DisplayLayout.Bands[0], "CHC");
  499. ///设置ultraGrid2单元格不可编辑
  500. PlanComm.setGridActivation(ultraGrid2.DisplayLayout.Bands[0], "CHC");
  501. #region ultraGrid3表格查询
  502. foreach (UltraGridRow uRow in ultraGrid3.Rows)
  503. {
  504. if (!uRow.Cells["PLANSTATUS"].Value.ToString().Equals("待处理"))
  505. {
  506. uRow.Cells["JGBL_REQ_WEIGHT"].Activation = Activation.ActivateOnly;
  507. uRow.Cells["MATCHWEIGHT"].Activation = Activation.ActivateOnly;
  508. uRow.Cells["INDEX_SEQ"].Activation = Activation.ActivateOnly;
  509. }
  510. }
  511. #endregion
  512. ///设置ultraGrid3单元格不可编辑
  513. string[] strColum3 = new string[] { "CHC", "JGBL_REQ_WEIGHT", "MATCHWEIGHT",
  514. "GRADECODE", "GROUP_RCL","DIMATER_YLG","HEIGHT_YLG", "BJ_TYPE", "GROUP_ROLL" };
  515. PlanComm.setGridActivation(ultraGrid3.DisplayLayout.Bands[0], strColum3);
  516. }
  517. catch (Exception ex)
  518. {
  519. if (ex is MESException)
  520. {
  521. }
  522. else
  523. {
  524. MessageBox.Show(ex.Message);
  525. }
  526. }
  527. }
  528. /// <summary>
  529. /// 查询销售合同对应接箍和备料合同
  530. /// </summary>
  531. /// <param name="sender"></param>
  532. /// <param name="e"></param>
  533. private void ultraGrid1_BeforeRowActivate(object sender, RowEventArgs e)
  534. {
  535. #region 查询接箍短节
  536. string orderNo = e.Row.Cells["ORDER_NO"].Value.ToString();
  537. string orderSeq = e.Row.Cells["ORDER_SEQ"].Value.ToString();
  538. string deliveryNo = e.Row.Cells["DELIVERY_NO"].Value.ToString();
  539. foreach (UltraGridRow uRow in ultraGrid2.Rows)
  540. {
  541. if (uRow.Cells["ORDER_NO"].Value.ToString().Equals(orderNo)
  542. && uRow.Cells["ORDER_SEQ"].Value.ToString().Equals(orderSeq)
  543. && uRow.Cells["DELIVERY_NO"].Value.ToString().Equals(deliveryNo))
  544. {
  545. ultraGrid2.ActiveRow = uRow;
  546. uRow.Appearance.ForeColor = System.Drawing.Color.DarkBlue;
  547. }
  548. else
  549. {
  550. uRow.Appearance.ForeColor = System.Drawing.Color.Black;
  551. }
  552. }
  553. foreach (UltraGridRow uRow in ultraGrid3.Rows)
  554. {
  555. if (uRow.Cells["ORDER_NO"].Value.ToString().Equals(orderNo)
  556. && uRow.Cells["ORDER_SEQ"].Value.ToString().Equals(orderSeq)
  557. && uRow.Cells["DELIVERY_NO"].Value.ToString().Equals(deliveryNo))
  558. {
  559. ultraGrid3.ActiveRow = uRow;
  560. uRow.Appearance.ForeColor = System.Drawing.Color.DarkBlue;
  561. }
  562. else
  563. {
  564. uRow.Appearance.ForeColor = System.Drawing.Color.Black;
  565. }
  566. }
  567. #endregion
  568. }
  569. /// <summary>
  570. /// 接箍料编制查询
  571. /// </summary>
  572. private void QueryJGl()
  573. {
  574. try
  575. {
  576. DataTable dtJg = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryJgDeal", new object[] { }, this.ob);
  577. GridHelper.CopyDataToDatatable(dtJg, dataTable5, true);
  578. PlanComm.setGridDigitalColMaxInput(ultraGrid5.DisplayLayout.Bands[0], 5, 2,
  579. "OUTDIAMETER", "WALLTHICK", "AIMWALLTHICK", "AIMLENGTH");
  580. PlanComm.setGridDigitalColMaxInput(ultraGrid5.DisplayLayout.Bands[0], 5, 3,
  581. "SINGLEWEIGHT", "ORDERWEIGHT", "MATCHWEIGHT");
  582. PlanComm.setGridDigitalColMaxInput(ultraGrid5.DisplayLayout.Bands[0], 5, 0,
  583. "ORDERNUM", "MATCHNUM", "JGWT_BLREQ");
  584. ///设置grid不可编辑
  585. PlanComm.setGridActivation(ultraGrid5.DisplayLayout.Bands[0], "CHC", "MATCHNUM", "BUYCHOOSE");
  586. DataTable dtEdit = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryJgDealedit",
  587. new object[] { }, this.ob);
  588. GridHelper.CopyDataToDatatable(dtEdit, dataTable7, true);
  589. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  590. {
  591. uRow.Cells["SINGLE_ADDLEN"].Value = 10;
  592. }
  593. ///设置grid不可编辑
  594. PlanComm.setGridActivation(ultraGrid7.DisplayLayout.Bands[0], "CHC", "NUM_JG", "SINGLE_ADDLEN");
  595. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  596. {
  597. uRow.Cells["NUM_JG"].Activation = Activation.ActivateOnly;
  598. }
  599. DataTable dtJgl = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryJgBlNeed",
  600. new object[] { }, this.ob);
  601. GridHelper.CopyDataToDatatable(dtJgl, dataTable6, true);
  602. ///设置grid不可编辑
  603. string[] strColumn = new string[] { "CHC", "MATCHWEIGHT", "GRADECODE", "GROUP_RCL",
  604. "DIMATER_YLG","HEIGHT_YLG", "BJ_TYPE", "GROUP_ROLL", "INDEX_SEQ" };
  605. PlanComm.setGridActivation(ultraGrid6.DisplayLayout.Bands[0], strColumn);
  606. PlanComm.setGridDigitalColMaxInput(ultraGrid6.DisplayLayout.Bands[0], 5, 2,
  607. "OUTDIAMETER", "WALLTHICK", "AIMWALLTHICK", "LENGTHMAX", "LENGTHMIN", "AIMLENGTH");
  608. PlanComm.setGridDigitalColMaxInput(ultraGrid6.DisplayLayout.Bands[0], 5, 3,
  609. "SINGLEWEIGHT", "JGBL_REQ_WEIGHT", "MATCHWEIGHT");
  610. PlanComm.setGridDigitalColMaxInput(ultraGrid6.DisplayLayout.Bands[0], 5, 0,
  611. "JGBL_REQ_NUM", "MATCHNUM");
  612. dataTable4.Clear();
  613. }
  614. catch (Exception ex)
  615. {
  616. if (ex is MESException)
  617. {
  618. }
  619. else
  620. {
  621. MessageBox.Show(ex.Message);
  622. }
  623. }
  624. }
  625. /// <summary>
  626. /// 备料导出
  627. /// </summary>
  628. private void doExportBl(string bjType)
  629. {
  630. string url = "";
  631. if (bjType.Equals("JGL"))
  632. {
  633. url = "http://localhost:8075/WebReport/ReportServer?reportlet=ReqPlnBlJgOrder.cpt";
  634. }
  635. else
  636. {
  637. url = "http://localhost:8075/WebReport/ReportServer?reportlet=ReqPlnBlDjOrder.cpt";
  638. }
  639. FrmOutExcel outPut = new FrmOutExcel(url);
  640. outPut.ShowDialog();
  641. }
  642. /// <summary>
  643. /// 更新短节备料信息
  644. /// </summary>
  645. private void UpdateDjBl(UltraGrid ugrid)
  646. {
  647. try
  648. {
  649. ugrid.UpdateData();
  650. IQueryable<UltraGridRow> checkRows = ugrid.Rows.AsQueryable().Where(" CHC = 'True'");
  651. ArrayList list = new ArrayList();
  652. ///如果没有勾选待处理的条目,提示。
  653. if (checkRows.Count() == 0)
  654. {
  655. MessageUtil.ShowTips("未勾选要保存的备料!");
  656. return;
  657. }
  658. foreach (UltraGridRow uRow in checkRows)
  659. {
  660. ArrayList parms = new ArrayList();
  661. parms.Add(uRow.Cells["JGBL_REQ_WEIGHT"].Value.ToString());
  662. parms.Add(uRow.Cells["JGBL_REQ_NUM"].Value.ToString());
  663. parms.Add(uRow.Cells["MATCHWEIGHT"].Value.ToString());
  664. parms.Add(uRow.Cells["MATCHNUM"].Value.ToString());
  665. parms.Add(uRow.Cells["GRADECODE"].Value.ToString());
  666. parms.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  667. list.Add(parms);
  668. }
  669. int suceed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.UpdateDjblRcl",
  670. new object[] { list }, this.ob);
  671. if (suceed > 0)
  672. {
  673. MessageUtil.ShowTips("保存成功!");
  674. }
  675. else
  676. {
  677. MessageUtil.ShowTips("保存失败!");
  678. }
  679. }
  680. catch (Exception ex)
  681. {
  682. if (ex is MESException)
  683. {
  684. }
  685. else
  686. {
  687. MessageBox.Show(ex.Message);
  688. }
  689. }
  690. if (ugrid != ultraGrid3)
  691. {
  692. QueryJGl();
  693. }
  694. else
  695. {
  696. doQuery(GetQueryCondition());
  697. }
  698. }
  699. /// <summary>
  700. /// 保存接箍合同利库量和外购量信息
  701. /// </summary>
  702. private void UpdateJgOrder()
  703. {
  704. try
  705. {
  706. ArrayList list = new ArrayList();
  707. bool isChecked = false;
  708. foreach (UltraGridRow uRow in ultraGrid5.Rows)
  709. {
  710. if (Convert.ToBoolean(uRow.Cells["CHC"].Text))
  711. {
  712. ArrayList parms = new ArrayList();
  713. isChecked = true;
  714. parms.Add(uRow.Cells["MATCHWEIGHT"].Value.ToString());
  715. parms.Add(uRow.Cells["MATCHNUM"].Value.ToString());
  716. if (Convert.ToBoolean(uRow.Cells["BUYCHOOSE"].Text))
  717. {
  718. int buyplannum = Convert.ToInt32(uRow.Cells["ORDERNUM"].Value) -
  719. Convert.ToInt32(uRow.Cells["MATCHNUM"].Value) -
  720. Convert.ToInt32(uRow.Cells["JGWT_BLREQ"].Value);
  721. double buyplanweight = buyplannum * Convert.ToDouble(uRow.Cells["SINGLEWEIGHT"].Value) / 1000;
  722. parms.Add("1");//有无外购计划(1-有,0-无)
  723. parms.Add(buyplanweight.ToString());
  724. parms.Add(buyplannum);
  725. }
  726. else
  727. {
  728. parms.Add("0");
  729. parms.Add("0");
  730. parms.Add("0");
  731. }
  732. parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  733. list.Add(parms);
  734. }
  735. }
  736. ///如果没有勾选待处理的条目,提示。接箍合同
  737. if (!isChecked)
  738. {
  739. MessageUtil.ShowTips("未勾选待要保存的接箍合同!");
  740. return;
  741. }
  742. ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.updateLkwgWeight", new object[] { list }, this.ob);
  743. }
  744. catch (Exception ex)
  745. {
  746. if (ex is MESException)
  747. {
  748. }
  749. else
  750. {
  751. MessageBox.Show(ex.Message);
  752. }
  753. }
  754. QueryJGl();
  755. }
  756. /// <summary>
  757. /// 查询产品码
  758. /// </summary>
  759. /// <param name="parms">备料品名、标准、钢级、标准类别</param>
  760. /// <returns>产品码</returns>
  761. public string QueryPsc(string producCode, string stdCode, string steelCode, string stdStyle)
  762. {
  763. try
  764. {
  765. ArrayList param = new ArrayList();
  766. param.Add(producCode);
  767. param.Add(stdCode);
  768. param.Add(steelCode);
  769. param.Add(stdStyle);
  770. param.Add(stdStyle);
  771. param.Add(stdStyle);
  772. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryblPsc",
  773. new object[] { param }, this.ob);
  774. if (dt != null && dt.Rows.Count > 0)
  775. {
  776. return dt.Rows[0]["PSC"].ToString();
  777. }
  778. else
  779. {
  780. return "";
  781. }
  782. }
  783. catch
  784. {
  785. return "";
  786. }
  787. }
  788. /// <summary>
  789. /// 查询产品码与冶金规范对应关系\
  790. /// </summary>
  791. /// <param name="strPsc">产品码</param>
  792. /// <returns>冶金规范码</returns>
  793. public string QueryPscForMsc(string strPsc)
  794. {
  795. try
  796. {
  797. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryPscForMsc",
  798. new object[] { strPsc }, this.ob);
  799. if (dt != null && dt.Rows.Count > 0)
  800. {
  801. return dt.Rows[0]["MSC"].ToString();
  802. }
  803. else
  804. {
  805. return "";
  806. }
  807. }
  808. catch
  809. {
  810. return "";
  811. }
  812. }
  813. /// <summary>
  814. /// 根据备料冶金规范查找制程索引
  815. /// </summary>
  816. /// <param name="strMsc">冶金规范码</param>
  817. /// <returns>制程索引号集合</returns>
  818. private DataTable QueryBlIndex(string strMsc)
  819. {
  820. try
  821. {
  822. ArrayList parms = new ArrayList();
  823. parms.Add(strMsc);
  824. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryMscIndex",
  825. new object[] { parms }, this.ob);
  826. return dt;
  827. }
  828. catch
  829. {
  830. return null;
  831. }
  832. }
  833. /// <summary>
  834. /// 查询备料工序
  835. /// </summary>
  836. /// <param name="strMsc">冶金规范</param>
  837. /// <param name="msc_pline">全程产线</param>
  838. /// <returns>工序列表</returns>
  839. private DataTable QueryBlProcess(string strMsc, string msc_pline)
  840. {
  841. try
  842. {
  843. ArrayList parms = new ArrayList();
  844. parms.Add(strMsc);
  845. parms.Add(msc_pline);
  846. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBlProcess",
  847. new object[] { parms }, this.ob);
  848. return dt;
  849. }
  850. catch
  851. {
  852. return null;
  853. }
  854. }
  855. /// <summary>
  856. /// 查询接箍码
  857. /// </summary>
  858. /// <param name="strDesgin_key">Design_Key</param>
  859. /// <returns>接箍码表</returns>
  860. private DataTable QueryJgCode(string strDesgin_key)
  861. {
  862. try
  863. {
  864. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryJgCode",
  865. new object[] { strDesgin_key }, this.ob);
  866. return dt;
  867. }
  868. catch
  869. {
  870. return null;
  871. }
  872. }
  873. /// <summary>
  874. /// 查询短节备料码
  875. /// </summary>
  876. /// <param name="strDesgin_key">desgin_key</param>
  877. /// <returns>短节备料码集合</returns>
  878. public DataTable QueryBlCode(string strDesgin_key)
  879. {
  880. try
  881. {
  882. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBlCode",
  883. new object[] { strDesgin_key }, this.ob);
  884. return dt;
  885. }
  886. catch
  887. {
  888. return null;
  889. }
  890. }
  891. /// <summary>
  892. /// 查询一组短节备料码
  893. /// </summary>
  894. /// <param name="designKey">质量设计主键</param>
  895. /// <param name="gourpNum">备料组号</param>
  896. /// <returns></returns>
  897. private DataTable queryBlCodeByGp(string designKey, string gourpNum)
  898. {
  899. try
  900. {
  901. ArrayList param = new ArrayList();
  902. param.Add(designKey);
  903. param.Add(gourpNum);
  904. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBlCodeByGp",
  905. new object[] { param }, this.ob);
  906. return dt;
  907. }
  908. catch
  909. {
  910. return null;
  911. }
  912. }
  913. /// <summary>
  914. /// 查询接箍系数
  915. /// </summary>
  916. /// <returns></returns>
  917. private double queryCoeffiJg(int year, int month)
  918. {
  919. double coeffiJg = 1;
  920. ArrayList param = new ArrayList();
  921. param.Add(year);
  922. param.Add(month);
  923. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryPutRate",
  924. new object[] { param }, this.ob);
  925. if (dt != null && dt.Rows.Count > 0)
  926. {
  927. double.TryParse(dt.Rows[0]["COEFFI_JG"].ToString(), out coeffiJg);
  928. }
  929. return coeffiJg;
  930. }
  931. /// <summary>
  932. /// 接箍处理
  933. /// </summary>
  934. private void doProcessJg()
  935. {
  936. try
  937. {
  938. ultraGrid1.UpdateData();
  939. IQueryable<UltraGridRow> checkRows = ultraGrid1.Rows.AsQueryable().Where("CHC = 'True'");
  940. if (checkRows.Count() == 0)
  941. {
  942. MessageUtil.ShowTips("未勾选合同!");
  943. return;
  944. }
  945. WaitFromOpen();
  946. ArrayList listupdate = new ArrayList();
  947. ArrayList list = new ArrayList();
  948. foreach (UltraGridRow uRow in checkRows)
  949. {
  950. ArrayList status = new ArrayList();
  951. status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
  952. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.querySaleStatus",
  953. new object[] { status }, this.ob);
  954. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  955. {
  956. break;
  957. }
  958. if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
  959. {
  960. if (dtStatus.Rows[0]["JGORD_IS_OK"].ToString().Equals("1"))
  961. {
  962. WaitFromColse();
  963. MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  964. + uRow.Cells["ORDER_SEQ"].Value.ToString()
  965. + "已处理接箍!");
  966. return;
  967. }
  968. if (dtStatus.Rows[0]["JGORD_IS_OK"].ToString().Equals("2"))
  969. {
  970. WaitFromColse();
  971. MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  972. + uRow.Cells["ORDER_SEQ"].Value.ToString()
  973. + "没有接箍!");
  974. return;
  975. }
  976. if (dtStatus.Rows[0]["PLAN_NUM"].ToString().Equals("") ||
  977. dtStatus.Rows[0]["PLAN_NUM"].ToString().Equals("0"))
  978. {
  979. WaitFromColse();
  980. MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  981. + uRow.Cells["ORDER_SEQ"].Value.ToString()
  982. + "合同计划支数未知,请检查合同信息!");
  983. return;
  984. }
  985. string strDesgin_key = uRow.Cells["DESGIN_KEY"].Value.ToString();
  986. DataTable dtjg = QueryJgCode(strDesgin_key);
  987. ArrayList param = new ArrayList();
  988. double weightSale = 0;
  989. if (dtjg.Rows.Count > 0 && dtjg != null)
  990. {
  991. int JGnum = 0;
  992. foreach (DataRow dr in dtjg.Rows)
  993. {
  994. #region 接箍需求信息处理
  995. JGnum++;
  996. string strCodeJg = dr["CODE_JG"].ToString();//接箍码
  997. ArrayList parms = new ArrayList();
  998. //接箍合同号(合同号_合同行号_交货编码_G01)
  999. string strJGorderno = uRow.Cells["ORDER_NO"].Value.ToString() +
  1000. uRow.Cells["ORDER_SEQ"].Value.ToString() + uRow.Cells["DELIVERY_NO"].Value.ToString()
  1001. + "_G" + JGnum.ToString().PadLeft(2, '0');
  1002. double single_weight = 0; //接箍个单量
  1003. double weightJg = 0; //接箍合同量
  1004. PlnOrderJgEntity jgEntity = new PlnOrderJgEntity();
  1005. DataTable dtjgbase = QueryJgBase(strCodeJg);
  1006. if (dtjgbase == null || dtjgbase.Rows.Count <= 0)
  1007. {
  1008. WaitFromColse();
  1009. MessageUtil.ShowTips("未找到接箍码为:"+strCodeJg
  1010. + "的基础信息,请查看接箍码维护信息!");
  1011. return;
  1012. }
  1013. single_weight = Convert.ToDouble(dtjgbase.Rows[0]["WEIGHT_JG"]) / 1000;
  1014. weightJg = Convert.ToInt32(dtStatus.Rows[0]["PLAN_NUM"]) * single_weight;
  1015. weightSale += weightJg;
  1016. jgEntity.JgOrderno = strJGorderno;
  1017. jgEntity.OrderNo = uRow.Cells["ORDER_NO"].Value.ToString();
  1018. jgEntity.OrderSeq = uRow.Cells["ORDER_SEQ"].Value.ToString();
  1019. jgEntity.DeliveryNo = uRow.Cells["DELIVERY_NO"].Value.ToString();
  1020. jgEntity.BuyerId = uRow.Cells["BUYER_ID"].Value.ToString();
  1021. jgEntity.BuyerName = uRow.Cells["BUYER_NAME"].Value.ToString();
  1022. jgEntity.DelvryEdate = uRow.Cells["DELVRY_EDATE"].Value.ToString();
  1023. jgEntity.Ordercontact = uRow.Cells["ORDERCONTACT"].Value.ToString();
  1024. jgEntity.PrdcrNo = uRow.Cells["PRDCR_NO"].Value.ToString();
  1025. jgEntity.IfMonitorJg = "0";
  1026. jgEntity.Psc = uRow.Cells["PSC"].Value.ToString();
  1027. jgEntity.Msc = uRow.Cells["MSC"].Value.ToString();
  1028. jgEntity.CodeJg = strCodeJg;
  1029. jgEntity.Steelcode = dtjgbase.Rows[0]["STEELCODE_JG"].ToString();
  1030. jgEntity.Steelname = dtjgbase.Rows[0]["STEELCODE_JG_DESC"].ToString();
  1031. jgEntity.Outdiameter = dtjgbase.Rows[0]["DIAMETER_JG"].ToString();
  1032. jgEntity.Wallthick = dtjgbase.Rows[0]["HEIGHT_JG"].ToString();
  1033. jgEntity.ModelCode = dtjgbase.Rows[0]["MODEL_CODE"].ToString();
  1034. jgEntity.ModelDesc = dtjgbase.Rows[0]["MODEL_DESC"].ToString();
  1035. jgEntity.Aimlength = dtjgbase.Rows[0]["LENGTH_JG"].ToString();
  1036. jgEntity.Singleweight = dtjgbase.Rows[0]["WEIGHT_JG"].ToString();
  1037. jgEntity.Orderweight = weightJg.ToString();
  1038. jgEntity.Ordernum = dtStatus.Rows[0]["PLAN_NUM"].ToString();
  1039. jgEntity.CreateName = CoreUserInfo.UserInfo.GetUserName();
  1040. DataTable dtPro = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryPrdcrLst",
  1041. new object[] { jgEntity.PrdcrNo }, this.ob);
  1042. if (dtPro != null && dtPro.Rows.Count > 0)
  1043. {
  1044. jgEntity.Monitordemand = dtPro.Rows[0]["PROCESS_DESC"].ToString();
  1045. jgEntity.IfMonitorJg = "1";
  1046. }
  1047. list.Add(jgEntity);
  1048. #endregion
  1049. }
  1050. }
  1051. #region 更新销售合同
  1052. weightSale = weightSale * queryCoeffiJg(DateTime.Now.Year, DateTime.Now.Month);
  1053. param.Add("1");
  1054. param.Add("0");
  1055. param.Add(weightSale.ToString());//更新销售合同排产量=计划量-接箍量*系数
  1056. param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
  1057. listupdate.Add(param);
  1058. #endregion
  1059. }
  1060. else
  1061. {
  1062. WaitFromColse();
  1063. if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") > 0)
  1064. {
  1065. MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  1066. + uRow.Cells["ORDER_SEQ"].Value.ToString()
  1067. + "已下发,不能修改!");
  1068. }
  1069. else
  1070. {
  1071. MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  1072. + uRow.Cells["ORDER_SEQ"].Value.ToString()
  1073. + "未接收!");
  1074. }
  1075. return;
  1076. }
  1077. }
  1078. int succed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.tranSactionJg",
  1079. new object[] { list, listupdate }, this.ob);
  1080. WaitFromColse();
  1081. if (succed > 0)
  1082. {
  1083. MessageUtil.ShowTips("接箍处理成功!");
  1084. }
  1085. else
  1086. {
  1087. MessageUtil.ShowTips("接箍处理失败!");
  1088. }
  1089. }
  1090. catch (Exception ex)
  1091. {
  1092. WaitFromColse();
  1093. if (ex is MESException)
  1094. {
  1095. }
  1096. else
  1097. {
  1098. MessageBox.Show(ex.Message);
  1099. }
  1100. }
  1101. doQuery(GetQueryCondition());
  1102. }
  1103. /// <summary>
  1104. /// 撤消接箍处理
  1105. /// </summary>
  1106. private void doCancelJg()
  1107. {
  1108. try
  1109. {
  1110. ArrayList list = new ArrayList();
  1111. ultraGrid1.UpdateData();
  1112. IQueryable<UltraGridRow> checkRows = ultraGrid1.Rows.AsQueryable().Where("CHC = 'True'");
  1113. if (checkRows.Count() == 0)
  1114. {
  1115. MessageUtil.ShowTips("未勾选合同!");
  1116. return;
  1117. }
  1118. WaitFromOpen();
  1119. foreach (UltraGridRow uRow in checkRows)
  1120. {
  1121. ArrayList status = new ArrayList();
  1122. status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
  1123. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.querySaleStatus",
  1124. new object[] { status }, this.ob);
  1125. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  1126. {
  1127. break;
  1128. }
  1129. if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
  1130. {
  1131. if (!dtStatus.Rows[0]["JGORD_IS_OK"].ToString().Equals("1"))
  1132. {
  1133. WaitFromColse();
  1134. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
  1135. + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  1136. +uRow.Cells["ORDER_SEQ"].Value.ToString()
  1137. + "没有接箍合同!");
  1138. return;
  1139. }
  1140. ArrayList param = new ArrayList();
  1141. param.Add(CoreUserInfo.UserInfo.GetUserName());
  1142. param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
  1143. list.Add(param);
  1144. }
  1145. else if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") > 0)
  1146. {
  1147. WaitFromColse();
  1148. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
  1149. + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  1150. +uRow.Cells["ORDER_SEQ"].Value.ToString()
  1151. + "已下发,不能撤销!");
  1152. return;
  1153. }
  1154. else if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") < 0)
  1155. {
  1156. WaitFromColse();
  1157. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
  1158. + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  1159. + uRow.Cells["ORDER_SEQ"].Value.ToString()
  1160. + "还未接收!");
  1161. return;
  1162. }
  1163. }
  1164. int succed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.doCancelJg",
  1165. new object[] { list }, this.ob);
  1166. WaitFromColse();
  1167. if (succed > 0)
  1168. {
  1169. MessageUtil.ShowTips("撤消接箍合同成功!");
  1170. }
  1171. else
  1172. {
  1173. MessageUtil.ShowTips("撤消接箍合同失败!");
  1174. }
  1175. }
  1176. catch (Exception ex)
  1177. {
  1178. WaitFromColse();
  1179. if (ex is MESException)
  1180. {
  1181. }
  1182. else
  1183. {
  1184. MessageBox.Show(ex.Message);
  1185. }
  1186. }
  1187. doQuery(GetQueryCondition());
  1188. }
  1189. /// <summary>
  1190. /// 短节处理
  1191. /// </summary>
  1192. private void doProcessDj()
  1193. {
  1194. try
  1195. {
  1196. ultraGrid1.UpdateData();
  1197. IQueryable<UltraGridRow> checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHC = 'True'");
  1198. if (checkRows.Count() == 0)
  1199. {
  1200. MessageUtil.ShowTips("未勾选合同!");
  1201. return;
  1202. }
  1203. ArrayList paramBL = new ArrayList();
  1204. ArrayList paramUpdate = new ArrayList();
  1205. WaitFromOpen();
  1206. foreach (UltraGridRow uRow in checkRows)
  1207. {
  1208. ArrayList status = new ArrayList();
  1209. status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
  1210. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.querySaleStatus",
  1211. new object[] { status }, this.ob);
  1212. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  1213. {
  1214. break;
  1215. }
  1216. if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
  1217. {
  1218. if (dtStatus.Rows[0]["DJBL_REQ_IS_OK"].ToString().Equals("2"))
  1219. {
  1220. WaitFromColse();
  1221. MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  1222. + uRow.Cells["ORDER_SEQ"].Value.ToString() + "没有短节!");
  1223. return;
  1224. }
  1225. if (dtStatus.Rows[0]["DJBL_REQ_IS_OK"].ToString().Equals("1"))
  1226. {
  1227. WaitFromColse();
  1228. MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  1229. + uRow.Cells["ORDER_SEQ"].Value.ToString() + "已处理短节!");
  1230. return;
  1231. }
  1232. string strDesgin_key = uRow.Cells["DESGIN_KEY"].Value.ToString();
  1233. DataTable dtBl = queryBlCodeByGp(strDesgin_key, uRow.Cells["BL_GROUP_NUM"].Value.ToString());
  1234. ArrayList listupdate = new ArrayList();
  1235. if (dtBl.Rows.Count > 0 && dtBl != null)
  1236. {
  1237. foreach (DataRow dr in dtBl.Rows)
  1238. {
  1239. string strCodeBl = dr["PSC_BL"].ToString();//备料码
  1240. DataTable dtbllist = QueryBlList(strCodeBl);
  1241. if (dtbllist != null && dtbllist.Rows.Count > 0)
  1242. {
  1243. ArrayList parms = new ArrayList();
  1244. double planNum = Convert.ToInt32(uRow.Cells["PLAN_NUM"].Value);
  1245. #region 备料清单信息
  1246. double min_d = Convert.ToDouble(dtbllist.Rows[0]["MIN_D"]);
  1247. double min_h = Convert.ToDouble(dtbllist.Rows[0]["MIN_H"]);
  1248. double Weight_One = PlanComm.WeightOfMi(min_d, min_h);//米单重(吨/米)
  1249. string strPSC = "";//产品码
  1250. double aimlength = (Convert.ToDouble(dtbllist.Rows[0]["MAX_L"])
  1251. + Convert.ToDouble(dtbllist.Rows[0]["MIN_L"])) / 2;
  1252. double singleweight = aimlength * Weight_One;//单重
  1253. double eatchBlnum = aimlength / //每只备料管可切短节支数。
  1254. Convert.ToDouble(uRow.Cells["LENGTHMAX"].Value);
  1255. string specSameSale = "0";
  1256. if (uRow.Cells["OUTDIAMETER"].Value.ToString().Equals(dtbllist.Rows[0]["MIN_D"].ToString())
  1257. && uRow.Cells["WALLTHICK"].Value.ToString().Equals(dtbllist.Rows[0]["MIN_H"].ToString())
  1258. && uRow.Cells["STEELCODE"].Value.ToString().Equals(dtbllist.Rows[0]["STEELCODE"].ToString()))
  1259. {
  1260. specSameSale = "1";
  1261. }
  1262. parms.Add("短节备料");
  1263. parms.Add(uRow.Cells["ORDER_NO"].Value.ToString());
  1264. parms.Add(uRow.Cells["ORDER_SEQ"].Value.ToString());
  1265. parms.Add(uRow.Cells["DELIVERY_NO"].Value.ToString());
  1266. parms.Add(strCodeBl);
  1267. parms.Add("0"); //计划状态
  1268. parms.Add(CoreUserInfo.UserInfo.GetUserName());
  1269. parms.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
  1270. parms.Add(dtbllist.Rows[0]["STEELCODE"].ToString());
  1271. parms.Add(dtbllist.Rows[0]["STEELNAME"].ToString());
  1272. parms.Add("");//钢种代码
  1273. parms.Add(dtbllist.Rows[0]["MIN_D"].ToString());//外径
  1274. parms.Add(dtbllist.Rows[0]["MIN_H"].ToString());//壁厚
  1275. parms.Add("");//控制壁厚
  1276. parms.Add(dtbllist.Rows[0]["MAX_L"].ToString());
  1277. parms.Add(dtbllist.Rows[0]["MIN_L"].ToString());
  1278. parms.Add(aimlength.ToString());//控制长度
  1279. parms.Add(dtbllist.Rows[0]["STD_CODE"].ToString());
  1280. parms.Add(dtbllist.Rows[0]["STD_NAME"].ToString());
  1281. strPSC = QueryPsc(dtbllist.Rows[0]["PRODUCCODE"].ToString(),
  1282. dtbllist.Rows[0]["STD_CODE"].ToString(),
  1283. dtbllist.Rows[0]["STEELCODE"].ToString(),
  1284. dtbllist.Rows[0]["STD_STYLE"].ToString());
  1285. parms.Add(QueryPscForMsc(strPSC));
  1286. parms.Add(singleweight.ToString()); //单重
  1287. #endregion
  1288. if (planNum % eatchBlnum == 0)
  1289. {
  1290. parms.Add((int)(planNum / eatchBlnum) * singleweight);//备料需求量
  1291. parms.Add((int)(planNum / eatchBlnum));//备料需求支数
  1292. }
  1293. else
  1294. {
  1295. parms.Add(((int)(planNum / eatchBlnum) + 1) * singleweight);
  1296. parms.Add((int)(planNum / eatchBlnum) + 1);
  1297. }
  1298. parms.Add(specSameSale);
  1299. paramBL.Add(parms);
  1300. }
  1301. else
  1302. {
  1303. WaitFromColse();
  1304. MessageUtil.ShowError("备料码:" + strCodeBl + "未找到基础信息,请查看备料码是否已作废。");
  1305. return;
  1306. }
  1307. }
  1308. }
  1309. //完成短节
  1310. listupdate.Add("1");
  1311. listupdate.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
  1312. paramUpdate.Add(listupdate);
  1313. }
  1314. else if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") < 0)
  1315. {
  1316. WaitFromColse();
  1317. MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString()
  1318. + "/" + uRow.Cells["ORDER_SEQ"].Value.ToString() + "还未接收!");
  1319. return;
  1320. }
  1321. else
  1322. {
  1323. WaitFromColse();
  1324. MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/" +
  1325. uRow.Cells["ORDER_SEQ"].Value.ToString() + "已下发!");
  1326. return;
  1327. }
  1328. }
  1329. int isSucceed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.tranSactionDj",
  1330. new object[] { paramBL, paramUpdate }, this.ob);
  1331. WaitFromColse();
  1332. if (isSucceed > 0)
  1333. {
  1334. MessageUtil.ShowTips("短节处理成功!");
  1335. }
  1336. else
  1337. {
  1338. MessageUtil.ShowError("短节处理失败!");
  1339. }
  1340. }
  1341. catch (Exception ex)
  1342. {
  1343. WaitFromColse();
  1344. if (ex is MESException)
  1345. {
  1346. }
  1347. else
  1348. {
  1349. MessageBox.Show(ex.Message);
  1350. }
  1351. }
  1352. doQuery(GetQueryCondition());
  1353. }
  1354. /// <summary>
  1355. /// 撤消短节合同
  1356. /// </summary>
  1357. private void doCancelDj()
  1358. {
  1359. try
  1360. {
  1361. ultraGrid1.UpdateData();
  1362. IQueryable<UltraGridRow> checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHC = 'True'");
  1363. if (checkRows.Count() == 0)
  1364. {
  1365. MessageUtil.ShowTips("未勾选合同!");
  1366. return;
  1367. }
  1368. ArrayList list = new ArrayList();
  1369. WaitFromOpen();
  1370. foreach (UltraGridRow uRow in checkRows)
  1371. {
  1372. ArrayList status = new ArrayList();
  1373. status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
  1374. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.querySaleStatus",
  1375. new object[] { status }, this.ob);
  1376. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  1377. {
  1378. break;
  1379. }
  1380. if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
  1381. {
  1382. ArrayList param = new ArrayList();
  1383. if (!dtStatus.Rows[0]["DJBL_REQ_IS_OK"].ToString().Equals("1"))
  1384. {
  1385. WaitFromColse();
  1386. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
  1387. + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
  1388. + uRow.Cells["ORDER_SEQ"].Value.ToString()
  1389. + "没有短节合同!");
  1390. return;
  1391. }
  1392. param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
  1393. list.Add(param);
  1394. }
  1395. else if(dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") < 0)
  1396. {
  1397. WaitFromColse();
  1398. MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString()
  1399. + "/" + uRow.Cells["ORDER_SEQ"].Value.ToString() + "还未接收!");
  1400. return;
  1401. }
  1402. }
  1403. if (list.Count == 0)
  1404. {
  1405. WaitFromColse();
  1406. return;
  1407. }
  1408. int succed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.doCancelDj",
  1409. new object[] { list }, this.ob);
  1410. WaitFromColse();
  1411. if (succed > 0)
  1412. {
  1413. MessageUtil.ShowTips("撤消短节合同成功!");
  1414. }
  1415. else
  1416. {
  1417. MessageUtil.ShowTips("撤消短节合同失败!");
  1418. }
  1419. }
  1420. catch (Exception ex)
  1421. {
  1422. WaitFromColse();
  1423. if (ex is MESException)
  1424. {
  1425. }
  1426. else
  1427. {
  1428. MessageBox.Show(ex.Message);
  1429. }
  1430. }
  1431. doQuery(GetQueryCondition());
  1432. }
  1433. /// <summary>
  1434. /// 根据备料信息中备料码找冶金规范码
  1435. /// </summary>
  1436. /// <param name="blcode">备料码</param>
  1437. /// <returns>冶金规范码</returns>
  1438. private string BlForMsc(string blcode)
  1439. {
  1440. DataTable dtbllist = QueryBlList(blcode);
  1441. if (dtbllist != null && dtbllist.Rows.Count > 0)
  1442. {
  1443. string strPSC = "";
  1444. strPSC = QueryPsc(dtbllist.Rows[0]["PRODUCCODE"].ToString(),
  1445. dtbllist.Rows[0]["STD_CODE"].ToString(),
  1446. dtbllist.Rows[0]["STEELCODE"].ToString(),
  1447. dtbllist.Rows[0]["STD_STYLE"].ToString());
  1448. if (strPSC != "")
  1449. {
  1450. return QueryPscForMsc(strPSC);
  1451. }
  1452. else
  1453. {
  1454. return "";
  1455. }
  1456. }
  1457. return "";
  1458. }
  1459. /// <summary>
  1460. /// 新建接箍料需求信息
  1461. /// </summary>
  1462. private void doPlait()
  1463. {
  1464. try
  1465. {
  1466. ArrayList list_Rel = new ArrayList();
  1467. ArrayList list_Jgl = new ArrayList();
  1468. ArrayList list = new ArrayList();
  1469. ArrayList ary = new ArrayList();
  1470. #region 筛选、记录备料码种类
  1471. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  1472. {
  1473. if (Convert.ToBoolean(uRow.Cells["CHC"].Text))
  1474. {
  1475. if (uRow.Cells["JGBL_SUMLENTH"].Value.Equals("0") ||
  1476. uRow.Cells["JGBL_SUMLENTH"].Value.Equals(""))
  1477. {
  1478. MessageUtil.ShowTips("合同:" + uRow.Cells["JG_ORDERNO"].Value.ToString()
  1479. + ",备料:" + uRow.Cells["CODE_JG_BL"].Value.ToString() + "的项未知备料需求量!");
  1480. return;
  1481. }
  1482. if (!ary.Contains(uRow.Cells["CODE_JG_BL"].Value.ToString()))
  1483. {
  1484. ary.Add(uRow.Cells["CODE_JG_BL"].Value.ToString());
  1485. }
  1486. }
  1487. }
  1488. if (ary.Count == 0)
  1489. {
  1490. MessageUtil.ShowTips("未指定要新建的接箍料信息!");
  1491. return;
  1492. }
  1493. #endregion
  1494. #region 保存信息接箍料需求信息和接箍与备料关系
  1495. for (int i = 0; i < ary.Count; i++)
  1496. {
  1497. string JglCode = ary[i].ToString(); //接箍备料码
  1498. DataTable dtbllist = QueryBlList(JglCode);
  1499. if (dtbllist != null && dtbllist.Rows.Count > 0)
  1500. {
  1501. ArrayList parms_Jgl = new ArrayList();
  1502. double min_d = Convert.ToDouble(dtbllist.Rows[0]["MIN_D"]); //外径
  1503. double min_h = Convert.ToDouble(dtbllist.Rows[0]["MIN_H"]); //壁厚
  1504. double Weight_One = PlanComm.WeightOfMi(min_d, min_h); //接箍料米单重
  1505. string gradecode = "";//钢种代码
  1506. string steelcode = dtbllist.Rows[0]["STEELCODE"].ToString();//钢级代码
  1507. string steelname = dtbllist.Rows[0]["STEELNAME"].ToString();//钢级名称
  1508. double outdiameter = Convert.ToDouble(dtbllist.Rows[0]["MIN_D"]);//外径
  1509. double wallthick = Convert.ToDouble(dtbllist.Rows[0]["MIN_H"]);//壁厚
  1510. double aimwallthick = 0;//控制壁厚
  1511. double lengthmax = Convert.ToDouble(dtbllist.Rows[0]["MAX_L"]);//最大长度
  1512. double lengthmin = Convert.ToDouble(dtbllist.Rows[0]["MIN_L"]);//最小长度
  1513. double aimlength = (lengthmax + lengthmin) / 2;//控制长度
  1514. double singleweight = (aimlength * Weight_One);//备料单重
  1515. string std_code = dtbllist.Rows[0]["STD_CODE"].ToString();//标准代码
  1516. string std_name = dtbllist.Rows[0]["STD_NAME"].ToString();//标准名称
  1517. int jgbl_req_num = 0;//备料支数
  1518. double jgbl_req_weight = 0;//备料需求量
  1519. double jgbl_sumlenth = 0;//备料总长度
  1520. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  1521. {
  1522. if (Convert.ToBoolean(uRow.Cells["CHC"].Text) &&
  1523. uRow.Cells["CODE_JG_BL"].Value.ToString().Equals(JglCode))
  1524. {
  1525. ArrayList parms_Rel = new ArrayList();
  1526. int Num_Jgl = 0; //单个合同接箍料需求支数
  1527. double Len_Jgl = Convert.ToDouble(uRow.Cells["JGBL_SUMLENTH"].Value);//单个合同接箍料长度
  1528. double Weihgt_Jgl = Len_Jgl * Weight_One;//单个合同接箍料需求量
  1529. if ((Len_Jgl % aimlength) == 0)
  1530. {
  1531. Num_Jgl = (int)(Len_Jgl / aimlength);
  1532. }
  1533. else
  1534. {
  1535. Num_Jgl = (int)(Len_Jgl / aimlength) + 1;
  1536. }
  1537. jgbl_sumlenth += Len_Jgl;
  1538. #region 接箍及接箍料关系
  1539. parms_Rel.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  1540. parms_Rel.Add(i.ToString());
  1541. parms_Rel.Add(uRow.Cells["CODE_JG"].Value.ToString());
  1542. parms_Rel.Add(uRow.Cells["OUTDIAMETER"].Value.ToString());
  1543. parms_Rel.Add(uRow.Cells["AIMLENGTH"].Value.ToString());
  1544. parms_Rel.Add(uRow.Cells["WALLTHICK"].Value.ToString());
  1545. parms_Rel.Add(steelcode);
  1546. parms_Rel.Add(steelname);
  1547. parms_Rel.Add(uRow.Cells["SINGLEWEIGHT_JG"].Value.ToString());
  1548. parms_Rel.Add(JglCode);
  1549. parms_Rel.Add(aimlength.ToString());
  1550. parms_Rel.Add(singleweight.ToString());
  1551. parms_Rel.Add(Weihgt_Jgl.ToString());
  1552. parms_Rel.Add(Num_Jgl.ToString());
  1553. parms_Rel.Add(uRow.Cells["WEIGHT_JG"].Value.ToString());
  1554. parms_Rel.Add(uRow.Cells["NUM_JG"].Value.ToString());
  1555. parms_Rel.Add(uRow.Cells["SINGLE_ADDLEN"].Value.ToString());
  1556. parms_Rel.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  1557. #endregion
  1558. list_Rel.Add(parms_Rel);
  1559. }
  1560. }
  1561. if ((jgbl_sumlenth % aimlength) == 0)
  1562. {
  1563. jgbl_req_num = (int)(jgbl_sumlenth / aimlength);
  1564. }
  1565. else
  1566. {
  1567. jgbl_req_num = (int)(jgbl_sumlenth / aimlength) + 1;
  1568. }
  1569. jgbl_req_weight = jgbl_sumlenth * Weight_One;
  1570. #region 接箍料需求信息
  1571. parms_Jgl.Add(i.ToString());
  1572. parms_Jgl.Add("接箍料");
  1573. parms_Jgl.Add(steelcode);
  1574. parms_Jgl.Add(steelname);
  1575. parms_Jgl.Add(gradecode);//钢种代码
  1576. parms_Jgl.Add(outdiameter.ToString());
  1577. parms_Jgl.Add(wallthick.ToString());
  1578. parms_Jgl.Add(aimwallthick.ToString());//控制壁厚
  1579. parms_Jgl.Add(lengthmax.ToString());
  1580. parms_Jgl.Add(lengthmin.ToString());
  1581. parms_Jgl.Add(aimlength.ToString());//控制长度
  1582. parms_Jgl.Add(JglCode);
  1583. parms_Jgl.Add(singleweight.ToString());
  1584. parms_Jgl.Add(jgbl_req_weight.ToString());
  1585. parms_Jgl.Add(jgbl_req_num.ToString());
  1586. parms_Jgl.Add("0");
  1587. parms_Jgl.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  1588. parms_Jgl.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
  1589. parms_Jgl.Add(std_code);
  1590. parms_Jgl.Add(std_name);
  1591. parms_Jgl.Add(BlForMsc(JglCode));
  1592. #endregion
  1593. list_Jgl.Add(parms_Jgl);
  1594. }
  1595. else
  1596. {
  1597. MessageUtil.ShowError("备料码:" + JglCode + "未找到基础信息,请查看备料码是否已作废。");
  1598. return;
  1599. }
  1600. }
  1601. #endregion
  1602. ///更新接箍合同已做备料需求个数
  1603. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  1604. {
  1605. if (Convert.ToBoolean(uRow.Cells["CHC"].Text))
  1606. {
  1607. ArrayList parms = new ArrayList();
  1608. int jgwt_blreq = Convert.ToInt32(uRow.Cells["NUM_JG"].Value);
  1609. parms.Add(jgwt_blreq.ToString());
  1610. parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  1611. list.Add(parms);
  1612. }
  1613. }
  1614. int succed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.saveJglNeed",
  1615. new object[] { list_Jgl, list_Rel, list }, this.ob);
  1616. if (succed > 0)
  1617. {
  1618. MessageUtil.ShowTips("新建需求成功!");
  1619. }
  1620. else
  1621. {
  1622. MessageUtil.ShowTips("新建需求失败!");
  1623. return;
  1624. }
  1625. }
  1626. catch (Exception ex)
  1627. {
  1628. if (ex is MESException)
  1629. {
  1630. }
  1631. else
  1632. {
  1633. MessageBox.Show(ex.Message);
  1634. }
  1635. }
  1636. QueryJGl();
  1637. }
  1638. /// <summary>
  1639. /// 加入现有接箍料需求
  1640. /// </summary>
  1641. private void doAddPlait()
  1642. {
  1643. try
  1644. {
  1645. string code_jg_bl = "";//备料码
  1646. string req_bl_id = "";//备料需求编号
  1647. double jgbl_req_weight = 0;//备料需求量
  1648. int jgbl_req_num = 0;//备料需求支数
  1649. ArrayList listUpdateRel = new ArrayList();
  1650. ArrayList list_Rel = new ArrayList();
  1651. ArrayList listupdate = new ArrayList();
  1652. ArrayList list = new ArrayList();
  1653. int count = 0;
  1654. #region 筛选加入条件
  1655. foreach (UltraGridRow uRow in ultraGrid6.Rows)
  1656. {
  1657. if (Convert.ToBoolean(uRow.Cells["CHC"].Text))
  1658. {
  1659. count++;
  1660. code_jg_bl = uRow.Cells["CODE_JG_BL"].Value.ToString();
  1661. req_bl_id = uRow.Cells["REQ_BL_ID"].Value.ToString();
  1662. }
  1663. }
  1664. if (count == 1)
  1665. {
  1666. bool isChecked = false;
  1667. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  1668. {
  1669. if (Convert.ToBoolean(uRow.Cells["CHC"].Text))
  1670. {
  1671. isChecked = true;
  1672. if (code_jg_bl != uRow.Cells["CODE_JG_BL"].Value.ToString())
  1673. {
  1674. MessageUtil.ShowError("所选择的条目备料码"
  1675. + "与要加入的备料需求的备料码有不同,请重新选择!");
  1676. return;
  1677. }
  1678. }
  1679. }
  1680. ///如果没有勾选待处理的条目,提示。
  1681. if (!isChecked)
  1682. {
  1683. MessageUtil.ShowTips("未选择要加入现有需求的信息!");
  1684. return;
  1685. }
  1686. }
  1687. else
  1688. {
  1689. if (count == 0)
  1690. {
  1691. MessageUtil.ShowTips("请选择一条现有的接箍料需求!");
  1692. return;
  1693. }
  1694. MessageUtil.ShowError("您选择了多条接箍料需求,"
  1695. + "无法确定您需要将需求加入那条现有需求中!");
  1696. return;
  1697. }
  1698. #endregion
  1699. #region 接箍备料对应关系信息
  1700. DataTable dtbllist = QueryBlList(code_jg_bl);
  1701. if (dtbllist != null && dtbllist.Rows.Count > 0)
  1702. {
  1703. double outdiameter = Convert.ToDouble(dtbllist.Rows[0]["MIN_D"]);//外径
  1704. double wallthick = Convert.ToDouble(dtbllist.Rows[0]["MIN_H"]);//壁厚
  1705. double Weight_One = PlanComm.WeightOfMi(outdiameter, wallthick); //接箍料米单重
  1706. string steelcode = dtbllist.Rows[0]["STEELCODE"].ToString();//钢级代码
  1707. string steelname = dtbllist.Rows[0]["STEELNAME"].ToString();//钢级名称
  1708. double lengthmax = Convert.ToDouble(dtbllist.Rows[0]["MAX_L"]);//最大长度
  1709. double lengthmin = Convert.ToDouble(dtbllist.Rows[0]["MIN_L"]);//最小长度
  1710. double aimlength = (lengthmax + lengthmin) / 2;//控制长度
  1711. double singleweight = (aimlength * Weight_One);//备料单重
  1712. string std_code = dtbllist.Rows[0]["STD_CODE"].ToString();//标准代码
  1713. string std_name = dtbllist.Rows[0]["STD_NAME"].ToString();//标准名称
  1714. double jgbl_sumlenth = 0;//备料总长度
  1715. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  1716. {
  1717. if (Convert.ToBoolean(uRow.Cells["CHC"].Text))
  1718. {
  1719. if (uRow.Cells["JGBL_SUMLENTH"].Value.Equals("0") ||
  1720. uRow.Cells["JGBL_SUMLENTH"].Value.Equals(""))
  1721. {
  1722. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同:"
  1723. + uRow.Cells["JG_ORDERNO"].Value.ToString() + ",备料:"
  1724. + uRow.Cells["CODE_JG_BL"].Value.ToString() + "的项未知备料需求量!");
  1725. return;
  1726. }
  1727. bool bl = false;
  1728. int Num_Jgl = 0; //单个合同接箍料需求支数
  1729. double Len_Jgl = Convert.ToDouble(uRow.Cells["JGBL_SUMLENTH"].Value);//单个合同接箍料长度
  1730. double Weihgt_Jgl = Len_Jgl * Weight_One;//单个合同接箍料需求量
  1731. if ((Len_Jgl % aimlength) == 0)
  1732. {
  1733. Num_Jgl = (int)(Len_Jgl / aimlength);
  1734. }
  1735. else
  1736. {
  1737. Num_Jgl = (int)(Len_Jgl / aimlength) + 1;
  1738. }
  1739. jgbl_sumlenth += Len_Jgl;
  1740. DataTable dtRel = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryRelation",
  1741. new object[] { req_bl_id }, this.ob);
  1742. foreach (DataRow dr in dtRel.Rows)
  1743. {
  1744. if (uRow.Cells["JG_ORDERNO"].Value.ToString().Equals(
  1745. dr["JG_ORDERNO"].ToString()))
  1746. {
  1747. #region 有相同对应关系的情况,更新对应关系的需求量
  1748. bl = true;
  1749. ArrayList parms = new ArrayList();
  1750. parms.Add(Weihgt_Jgl.ToString());
  1751. parms.Add(Num_Jgl.ToString());
  1752. parms.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  1753. parms.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
  1754. parms.Add(req_bl_id);
  1755. parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  1756. listUpdateRel.Add(parms);
  1757. #endregion
  1758. }
  1759. }
  1760. if (bl == false)
  1761. {
  1762. #region 没有相同对应关系的情况,新增一条对应关系
  1763. ArrayList parms_Rel = new ArrayList();
  1764. parms_Rel.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  1765. parms_Rel.Add(req_bl_id);
  1766. parms_Rel.Add(uRow.Cells["CODE_JG"].Value.ToString());
  1767. parms_Rel.Add(uRow.Cells["OUTDIAMETER"].Value.ToString());
  1768. parms_Rel.Add(uRow.Cells["AIMLENGTH"].Value.ToString());
  1769. parms_Rel.Add(uRow.Cells["WALLTHICK"].Value.ToString());
  1770. parms_Rel.Add(steelcode);
  1771. parms_Rel.Add(steelname);
  1772. parms_Rel.Add(uRow.Cells["SINGLEWEIGHT_JG"].Value.ToString());
  1773. parms_Rel.Add(code_jg_bl);
  1774. parms_Rel.Add(aimlength.ToString());
  1775. parms_Rel.Add(singleweight.ToString());
  1776. parms_Rel.Add(Weihgt_Jgl.ToString());
  1777. parms_Rel.Add(Num_Jgl.ToString());
  1778. parms_Rel.Add(uRow.Cells["WEIGHT_JG"].Value.ToString());
  1779. parms_Rel.Add(uRow.Cells["NUM_JG"].Value.ToString());
  1780. parms_Rel.Add(uRow.Cells["SINGLE_ADDLEN"].Value.ToString());
  1781. parms_Rel.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  1782. list_Rel.Add(parms_Rel);
  1783. #endregion
  1784. }
  1785. }
  1786. }
  1787. //计算备料总量
  1788. if ((jgbl_sumlenth % aimlength) == 0)
  1789. {
  1790. jgbl_req_num = (int)(jgbl_sumlenth / aimlength);
  1791. }
  1792. else
  1793. {
  1794. jgbl_req_num = (int)(jgbl_sumlenth / aimlength) + 1;
  1795. }
  1796. jgbl_req_weight = jgbl_sumlenth * Weight_One;
  1797. }
  1798. else
  1799. {
  1800. MessageUtil.ShowError("备料码:" + code_jg_bl + "未找到基础信息,请查看备料码是否已作废。");
  1801. return;
  1802. }
  1803. #endregion
  1804. list.Add(jgbl_req_weight.ToString());
  1805. list.Add(jgbl_req_num.ToString());
  1806. list.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  1807. list.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
  1808. list.Add(req_bl_id);
  1809. ///更新接箍合同已做备料需求量
  1810. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  1811. {
  1812. if (Convert.ToBoolean(uRow.Cells["CHC"].Text))
  1813. {
  1814. ArrayList parms = new ArrayList();
  1815. int jgwt_blreq = Convert.ToInt32(uRow.Cells["NUM_JG"].Value);
  1816. parms.Add(jgwt_blreq);
  1817. parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  1818. listupdate.Add(parms);
  1819. }
  1820. }
  1821. ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.updateJglNeed",
  1822. new object[] { list, listUpdateRel, list_Rel, listupdate }, this.ob);
  1823. }
  1824. catch (Exception ex)
  1825. {
  1826. if (ex is MESException)
  1827. {
  1828. }
  1829. else
  1830. {
  1831. MessageBox.Show(ex.Message);
  1832. }
  1833. }
  1834. QueryJGl();
  1835. }
  1836. /// <summary>
  1837. /// 删除接箍料需求
  1838. /// </summary>
  1839. private void Delete()
  1840. {
  1841. try
  1842. {
  1843. ArrayList listJg = new ArrayList();
  1844. ArrayList listRel = new ArrayList();
  1845. ArrayList list = new ArrayList();
  1846. bool bl = false;
  1847. foreach (UltraGridRow uRow in ultraGrid6.Rows)
  1848. {
  1849. if (Convert.ToBoolean(uRow.Cells["CHC"].Text) && uRow.Cells["BLTYPE"].Value.ToString() == "接箍料")
  1850. {
  1851. ArrayList parms = new ArrayList();
  1852. bl = true;
  1853. parms.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  1854. listJg.Add(parms);
  1855. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryRelation",
  1856. new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
  1857. foreach (DataRow dr in dt.Rows)
  1858. {
  1859. ArrayList paramrel = new ArrayList();
  1860. ArrayList parmUpadte = new ArrayList();
  1861. paramrel.Add(dr["JG_ORDERNO"].ToString());
  1862. paramrel.Add(dr["REQ_BL_ID"].ToString());
  1863. listRel.Add(paramrel);
  1864. ///更新接箍合同已做备料需求个数
  1865. parmUpadte.Add("-" + dr["NUM_JG"].ToString());
  1866. parmUpadte.Add(dr["JG_ORDERNO"].ToString());
  1867. list.Add(parmUpadte);
  1868. }
  1869. }
  1870. }
  1871. if (bl)
  1872. {
  1873. if (MessageBox.Show("是否要删除该备料需求?", "警告", MessageBoxButtons.OKCancel) != DialogResult.OK)
  1874. {
  1875. return;
  1876. }
  1877. ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.deleteBlNeed",
  1878. new object[] { listRel, listJg, list }, this.ob);
  1879. }
  1880. else
  1881. {
  1882. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("请选择要删除的接箍料需求!");
  1883. return;
  1884. }
  1885. }
  1886. catch (Exception ex)
  1887. {
  1888. if (ex is MESException)
  1889. {
  1890. }
  1891. else
  1892. {
  1893. MessageBox.Show(ex.Message);
  1894. }
  1895. }
  1896. QueryJGl();
  1897. }
  1898. /// <summary>
  1899. /// 删除接箍料需求单量
  1900. /// </summary>
  1901. private void DeleteOne()
  1902. {
  1903. try
  1904. {
  1905. ArrayList list_Rel = new ArrayList();
  1906. ArrayList list_Jgl = new ArrayList();
  1907. ArrayList list = new ArrayList();
  1908. ArrayList ary = new ArrayList();
  1909. foreach (UltraGridRow uRow in ultraGrid4.Rows)
  1910. {
  1911. if (Convert.ToBoolean(uRow.Cells["CHC"].Text) &&
  1912. !ary.Contains(uRow.Cells["REQ_BL_ID"].Value.ToString()))
  1913. {
  1914. ary.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  1915. }
  1916. }
  1917. if (ary.Count > 0)
  1918. {
  1919. #region 删除接箍料与接箍对应关系信息,和接箍料需求量减少信息
  1920. for (int i = 0; i < ary.Count; i++)
  1921. {
  1922. double jgbl_req_weight = 0;
  1923. int jgbl_req_num = 0;
  1924. ArrayList parms_Jgl = new ArrayList();
  1925. foreach (UltraGridRow uRow in ultraGrid4.Rows)
  1926. {
  1927. if (Convert.ToBoolean(uRow.Cells["CHC"].Text) &&
  1928. uRow.Cells["REQ_BL_ID"].Value.ToString().Equals(ary[i].ToString()))
  1929. {
  1930. ArrayList parms_Rel = new ArrayList();
  1931. ArrayList parmUpadte = new ArrayList();
  1932. jgbl_req_weight += Convert.ToDouble(uRow.Cells["JGBL_REQ_WEIGHT"].Value);
  1933. jgbl_req_num += Convert.ToInt32(uRow.Cells["JGBL_REQ_NUM"].Value);
  1934. parms_Rel.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  1935. parms_Rel.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  1936. list_Rel.Add(parms_Rel);
  1937. ///更新接箍合同已做备料需求个数
  1938. parmUpadte.Add("-" + uRow.Cells["NUM_JG"].Value.ToString());
  1939. parmUpadte.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  1940. list.Add(parmUpadte);
  1941. }
  1942. }
  1943. foreach (UltraGridRow uRow in ultraGrid6.Rows)
  1944. {
  1945. if (uRow.Cells["REQ_BL_ID"].Value.ToString().Equals(ary[i].ToString()))
  1946. {
  1947. jgbl_req_weight = - jgbl_req_weight;
  1948. jgbl_req_num = - jgbl_req_num;
  1949. }
  1950. }
  1951. parms_Jgl.Add(jgbl_req_weight);
  1952. parms_Jgl.Add(jgbl_req_num);
  1953. parms_Jgl.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  1954. parms_Jgl.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
  1955. parms_Jgl.Add(ary[i].ToString());
  1956. list_Jgl.Add(parms_Jgl);
  1957. }
  1958. #endregion
  1959. if (MessageBox.Show("是否要删除这些备料需求量?", "警告",
  1960. MessageBoxButtons.OKCancel) == DialogResult.OK)
  1961. {
  1962. ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.deleteJglOne",
  1963. new object[] { list_Rel, list_Jgl, list }, this.ob);
  1964. }
  1965. }
  1966. else
  1967. {
  1968. MessageUtil.ShowTips("请至少选择一条接箍料需求单量!");
  1969. return;
  1970. }
  1971. }
  1972. catch (Exception ex)
  1973. {
  1974. if (ex is MESException)
  1975. {
  1976. }
  1977. else
  1978. {
  1979. MessageBox.Show(ex.Message);
  1980. }
  1981. }
  1982. QueryJGl();
  1983. }
  1984. /// <summary>
  1985. /// 查询接箍基础表
  1986. /// </summary>
  1987. /// <param name="strCodeJg">接箍码</param>
  1988. private DataTable QueryJgBase(string strCodeJg)
  1989. {
  1990. try
  1991. {
  1992. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryJgBase", new object[] {
  1993. strCodeJg }, this.ob);
  1994. return dt;
  1995. }
  1996. catch
  1997. {
  1998. return null;
  1999. }
  2000. }
  2001. /// <summary>
  2002. /// 查询备料清单表
  2003. /// </summary>
  2004. /// <param name="strCodeJg">备料码</param>
  2005. public DataTable QueryBlList(string strCodeJg)
  2006. {
  2007. try
  2008. {
  2009. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBlList", new object[] {
  2010. strCodeJg }, this.ob);
  2011. return dt;
  2012. }
  2013. catch
  2014. {
  2015. return null;
  2016. }
  2017. }
  2018. /// <summary>
  2019. /// 接箍合同下发
  2020. /// </summary>
  2021. private void OrderJgIssued()
  2022. {
  2023. try
  2024. {
  2025. bool isChecked = false;
  2026. ArrayList list = new ArrayList();
  2027. foreach (UltraGridRow uRow in ultraGrid2.Rows)
  2028. {
  2029. if (Convert.ToBoolean(uRow.Cells["CHC"].Text))
  2030. {
  2031. ArrayList parms = new ArrayList();
  2032. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryJgbyOrderno",
  2033. new object[] { uRow.Cells["JG_ORDERNO"].Value.ToString() }, this.ob);
  2034. if (dt == null && dt.Rows.Count <= 0)
  2035. {
  2036. break;
  2037. }
  2038. isChecked = true;
  2039. if (dt.Rows[0]["JGORDERSTATUS"].ToString().Equals("1"))
  2040. {
  2041. parms.Add("2");
  2042. parms.Add(DateTime.Now.ToString("yyyy/MM/dd"));
  2043. parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  2044. list.Add(parms);
  2045. }
  2046. else if (dt.Rows[0]["JGORDERSTATUS"].ToString().CompareTo("1") < 0)
  2047. {
  2048. MessageUtil.ShowTips("接箍合同" + uRow.Cells["JG_ORDERNO"].Value.ToString()
  2049. + "未完成配料!");
  2050. return;
  2051. }
  2052. else
  2053. {
  2054. MessageUtil.ShowTips("接箍合同" + uRow.Cells["JG_ORDERNO"].Value.ToString()
  2055. + "已经下发过了!");
  2056. return;
  2057. }
  2058. }
  2059. }
  2060. if (isChecked)
  2061. {
  2062. int result = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.issuedJgOrder",
  2063. new object[] { list }, this.ob);
  2064. if (Convert.ToBoolean(result))
  2065. {
  2066. MessageUtil.ShowTips("下发成功!");
  2067. }
  2068. }
  2069. else
  2070. {
  2071. MessageUtil.ShowTips("请勾选您要下发的接箍合同!");
  2072. return;
  2073. }
  2074. }
  2075. catch (Exception ex)
  2076. {
  2077. if (ex is MESException)
  2078. {
  2079. }
  2080. else
  2081. {
  2082. MessageBox.Show(ex.Message);
  2083. }
  2084. }
  2085. doQuery(GetQueryCondition());
  2086. }
  2087. /// <summary>
  2088. /// 接箍合同取消下发
  2089. /// </summary>
  2090. private void CancelJgIssued()
  2091. {
  2092. try
  2093. {
  2094. ultraGrid2.UpdateData();
  2095. ArrayList list = new ArrayList();
  2096. IQueryable<UltraGridRow> checkedRows = ultraGrid2.Rows.AsQueryable().Where("CHC = 'True'");
  2097. if (checkedRows.Count() == 0)
  2098. {
  2099. MessageUtil.ShowTips("未勾选要取消下发的接箍合同!");
  2100. return;
  2101. }
  2102. foreach (UltraGridRow uRow in checkedRows)
  2103. {
  2104. ArrayList param = new ArrayList();
  2105. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryJgbyOrderno",
  2106. new object[] { uRow.Cells["JG_ORDERNO"].Value.ToString() }, this.ob);
  2107. if (dt == null && dt.Rows.Count <= 0)
  2108. {
  2109. break;
  2110. }
  2111. if (dt.Rows[0]["JGORDERSTATUS"].ToString().CompareTo("2") < 0)
  2112. {
  2113. MessageUtil.ShowTips("接箍合同" + uRow.Cells["JG_ORDERNO"].Value.ToString()
  2114. + "还未下发!");
  2115. return;
  2116. }
  2117. param.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  2118. list.Add(param);
  2119. }
  2120. int succed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.cancelJgIssued",
  2121. new object[] { list }, this.ob);
  2122. if (succed > 0)
  2123. {
  2124. MessageUtil.ShowTips("取消下发成功!");
  2125. }
  2126. else
  2127. {
  2128. MessageUtil.ShowTips("取消下发失败!");
  2129. }
  2130. }
  2131. catch (Exception ex)
  2132. {
  2133. if (ex is MESException)
  2134. {
  2135. }
  2136. else
  2137. {
  2138. MessageBox.Show(ex.Message);
  2139. }
  2140. }
  2141. doQuery(GetQueryCondition());
  2142. }
  2143. /// <summary>
  2144. /// 备料取消下发
  2145. /// </summary>
  2146. private void CancelBlIssued(UltraGrid ugrid)
  2147. {
  2148. try
  2149. {
  2150. ugrid.UpdateData();
  2151. ArrayList list = new ArrayList();
  2152. IQueryable<UltraGridRow> checkedRows = ugrid.Rows.AsQueryable().Where("CHC = 'True'");
  2153. if (checkedRows.Count() == 0)
  2154. {
  2155. MessageUtil.ShowTips("未勾选要取消下发的备料!");
  2156. return;
  2157. }
  2158. foreach (UltraGridRow uRow in checkedRows)
  2159. {
  2160. ArrayList param = new ArrayList();
  2161. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBLbyReqBlId",
  2162. new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
  2163. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  2164. {
  2165. break;
  2166. }
  2167. if (dtStatus.Rows[0]["PLANSTATUS"].ToString().CompareTo("1") < 0)
  2168. {
  2169. MessageUtil.ShowTips("备料" + uRow.Cells["REQ_BL_ID"].Value.ToString()
  2170. + "未下发,不能取消下发!");
  2171. return;
  2172. }
  2173. param.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  2174. list.Add(param);
  2175. }
  2176. int succed = ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.cancelBlIssued",
  2177. new object[] { list }, this.ob);
  2178. if (succed > 0)
  2179. {
  2180. MessageUtil.ShowTips("取消下发成功!");
  2181. }
  2182. else
  2183. {
  2184. MessageUtil.ShowTips("取消下发失败!");
  2185. }
  2186. }
  2187. catch (Exception ex)
  2188. {
  2189. if (ex is MESException)
  2190. {
  2191. }
  2192. else
  2193. {
  2194. MessageBox.Show(ex.Message);
  2195. }
  2196. }
  2197. if (ugrid != ultraGrid3)
  2198. {
  2199. QueryJGl();
  2200. }
  2201. else
  2202. {
  2203. doQuery(GetQueryCondition());
  2204. }
  2205. }
  2206. /// <summary>
  2207. /// 备料需求下发
  2208. /// </summary>
  2209. private void IssuedBlNeed(UltraGrid ugrid)
  2210. {
  2211. try
  2212. {
  2213. ugrid.UpdateData();
  2214. ArrayList list = new ArrayList();
  2215. IQueryable<UltraGridRow> checkedRows = ugrid.Rows.AsQueryable().Where("CHC = 'True'");
  2216. if (checkedRows.Count() == 0)
  2217. {
  2218. MessageUtil.ShowTips("未勾选要下发的备料!");
  2219. return;
  2220. }
  2221. foreach (UltraGridRow uRow in checkedRows)
  2222. {
  2223. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryBLbyReqBlId",
  2224. new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
  2225. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  2226. {
  2227. break;
  2228. }
  2229. if (dtStatus.Rows[0]["PLANSTATUS"].ToString().CompareTo("0") > 0)
  2230. {
  2231. MessageUtil.ShowTips("备料" + uRow.Cells["REQ_BL_ID"].Value.ToString()
  2232. + "已经下发过了!");
  2233. return;
  2234. }
  2235. #region 判断是否可以下发
  2236. if (uRow.Cells["JGBL_REQ_WEIGHT"].Value.ToString().Equals("0"))
  2237. {
  2238. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("短节备料"
  2239. + uRow.Cells["REQ_BL_ID"].Value.ToString() + "需求量未知!");
  2240. return;
  2241. }
  2242. if (!dtStatus.Rows[0]["IF_ALLOW_ISSUE"].ToString().Equals("1"))
  2243. {
  2244. MessageUtil.ShowTips("需求" + uRow.Cells["REQ_BL_ID"].Value.ToString()
  2245. + "还不可以下发!");
  2246. return;
  2247. }
  2248. #endregion
  2249. ArrayList parms = new ArrayList();
  2250. parms.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  2251. list.Add(parms);
  2252. }
  2253. if (!Convert.ToBoolean(ServerHelper.SetData("com.steering.pss.plan.order." +
  2254. "CorePlnOrderJgDj.issuedJglNeed", new object[] { list }, this.ob)))
  2255. {
  2256. MessageUtil.ShowTips("下发失败!");
  2257. return;
  2258. }
  2259. MessageUtil.ShowTips("下发成功!");
  2260. }
  2261. catch (Exception ex)
  2262. {
  2263. if (ex is MESException)
  2264. {
  2265. }
  2266. else
  2267. {
  2268. MessageBox.Show(ex.Message);
  2269. }
  2270. }
  2271. if (ugrid != ultraGrid3)
  2272. {
  2273. QueryJGl();
  2274. }
  2275. else
  2276. {
  2277. doQuery(GetQueryCondition());
  2278. }
  2279. }
  2280. /// <summary>
  2281. /// 备料列数据变化时变化
  2282. /// </summary>
  2283. /// <param name="sender"></param>
  2284. /// <param name="e"></param>
  2285. private void ultraGrid3_AfterCellUpdate(object sender, CellEventArgs e)
  2286. {
  2287. #region 短节备料需求量、利库量填写时计算
  2288. if (e.Cell.Column.Key == "JGBL_REQ_WEIGHT" && e.Cell.Row.Cells["JGBL_REQ_WEIGHT"].DataChanged)
  2289. {
  2290. double jgbl_req_weight = 0;
  2291. int jgbl_req_num = 0;
  2292. e.Cell.Row.Update();
  2293. if (double.TryParse(e.Cell.Row.Cells["JGBL_REQ_WEIGHT"].Value.ToString(), out jgbl_req_weight))
  2294. {
  2295. double singleweight = Convert.ToDouble(e.Cell.Row.Cells["SINGLEWEIGHT"].Value);
  2296. if ((jgbl_req_weight % singleweight) == 0)
  2297. {
  2298. jgbl_req_num = (int)(jgbl_req_weight / singleweight);
  2299. }
  2300. else
  2301. {
  2302. jgbl_req_num = (int)(jgbl_req_weight / singleweight) + 1;
  2303. }
  2304. }
  2305. else
  2306. {
  2307. e.Cell.Row.Cells["JGBL_REQ_WEIGHT"].Value = "0";
  2308. }
  2309. e.Cell.Row.Cells["JGBL_REQ_NUM"].Value = jgbl_req_num.ToString();
  2310. e.Cell.Row.Update();
  2311. }
  2312. if (e.Cell.Column.Key == "MATCHWEIGHT" && e.Cell.Row.Cells["MATCHWEIGHT"].DataChanged)
  2313. {
  2314. double jgbl_req_weight = 0;
  2315. int jgbl_req_num = 0;
  2316. e.Cell.Row.Update();
  2317. if (double.TryParse(e.Cell.Row.Cells["MATCHWEIGHT"].Value.ToString(), out jgbl_req_weight))
  2318. {
  2319. double singleweight = Convert.ToDouble(e.Cell.Row.Cells["SINGLEWEIGHT"].Value);
  2320. if ((jgbl_req_weight % singleweight) == 0)
  2321. {
  2322. jgbl_req_num = (int)(jgbl_req_weight / singleweight);
  2323. }
  2324. else
  2325. {
  2326. jgbl_req_num = (int)(jgbl_req_weight / singleweight) + 1;
  2327. }
  2328. }
  2329. else
  2330. {
  2331. e.Cell.Row.Cells["MATCHWEIGHT"].Value = "0";
  2332. }
  2333. e.Cell.Row.Cells["MATCHNUM"].Value = jgbl_req_num.ToString();
  2334. e.Cell.Row.Update();
  2335. }
  2336. #endregion
  2337. }
  2338. /// <summary>
  2339. /// 接箍合同填写利库量
  2340. /// </summary>
  2341. /// <param name="sender"></param>
  2342. /// <param name="e"></param>
  2343. private void ultraGrid5_AfterCellUpdate(object sender, CellEventArgs e)
  2344. {
  2345. if (e.Cell.Column.Key == "MATCHNUM" && e.Cell.Row.Cells["MATCHNUM"].DataChanged)
  2346. {
  2347. int matchnum = 0;
  2348. double singleweight = Convert.ToDouble(e.Cell.Row.Cells["SINGLEWEIGHT"].Value);//箍单重(kg)
  2349. if (int.TryParse(e.Cell.Row.Cells["MATCHNUM"].Value.ToString(), out matchnum))
  2350. {
  2351. e.Cell.Row.Cells["MATCHWEIGHT"].Value = (matchnum * singleweight / 1000).ToString();
  2352. }
  2353. else
  2354. {
  2355. e.Cell.Row.Cells["MATCHNUM"].Value = "0";
  2356. }
  2357. e.Cell.Row.Update();
  2358. }
  2359. }
  2360. /// <summary>
  2361. /// 输入要做备料需求的接箍个数
  2362. /// </summary>
  2363. /// <param name="sender"></param>
  2364. /// <param name="e"></param>
  2365. private void ultraGrid7_AfterCellUpdate(object sender, CellEventArgs e)
  2366. {
  2367. if (e.Cell.Column.Key == "NUM_JG")
  2368. {
  2369. if (e.Cell.Row.Cells["NUM_JG"].DataChanged &&
  2370. Convert.ToBoolean(e.Cell.Row.Cells["CHC"].Text))
  2371. {
  2372. computJglLen(e.Cell.Row);
  2373. e.Cell.Row.Update();
  2374. }
  2375. }
  2376. if (e.Cell.Column.Key.Equals("SINGLE_ADDLEN"))
  2377. {
  2378. double addlen = 0;
  2379. if (!double.TryParse(e.Cell.Row.Cells["SINGLE_ADDLEN"].Value.ToString(),out addlen))
  2380. {
  2381. e.Cell.Row.Cells["SINGLE_ADDLEN"].Value=0;
  2382. }
  2383. }
  2384. }
  2385. /// <summary>
  2386. /// 根据接箍个数,算接箍料长度,重量
  2387. /// </summary>
  2388. /// <param name="uRow"></param>
  2389. private void computJglLen(UltraGridRow uRow)
  2390. {
  2391. int Num_Jg = 0;
  2392. if (int.TryParse(uRow.Cells["NUM_JG"].Value.ToString(), out Num_Jg))
  2393. {
  2394. //接箍料长度=接箍个数*(接箍长度+单个接箍切损长度)
  2395. double jgbl_sumlenth = Num_Jg * (Convert.ToDouble(uRow.Cells["AIMLENGTH"].Value)
  2396. + Convert.ToDouble(uRow.Cells["SINGLE_ADDLEN"].Value)) / 1000;
  2397. double singleweight_jg = Convert.ToDouble(uRow.Cells["SINGLEWEIGHT_JG"].Value);//接箍单重(kg)
  2398. //接箍料目标长度取长度上下限中间值
  2399. double JglAimlenth = (Convert.ToDouble(uRow.Cells["MIN_L"].Value)
  2400. + Convert.ToDouble(uRow.Cells["MAX_L"].Value)) / 2;
  2401. int numJgl = 0; //接箍料支数
  2402. double weight_jg = singleweight_jg * Num_Jg / 1000;//接箍重量
  2403. double min_d = Convert.ToDouble(uRow.Cells["MIN_D"].Value); //备料外径
  2404. double min_h = Convert.ToDouble(uRow.Cells["MIN_H"].Value); //备料壁厚
  2405. double Weight_One = PlanComm.WeightOfMi(min_d, min_h); //接箍料米单重
  2406. if ((jgbl_sumlenth % JglAimlenth) == 0)
  2407. {
  2408. numJgl = (int)(jgbl_sumlenth / JglAimlenth);
  2409. }
  2410. else
  2411. {
  2412. numJgl = (int)(jgbl_sumlenth / JglAimlenth) + 1;
  2413. }
  2414. uRow.Cells["NUM_JGBL"].Value = numJgl;
  2415. uRow.Cells["JGBL_SUMLENTH"].Value = Math.Round(jgbl_sumlenth,2);
  2416. uRow.Cells["WEIGHT_JG"].Value = Math.Round(weight_jg,3);
  2417. uRow.Cells["JGBL_REQ_WEIGHT"].Value = Math.Round(Weight_One * jgbl_sumlenth,3);
  2418. }
  2419. else
  2420. {
  2421. uRow.Cells["NUM_JG"].Value = 0;
  2422. }
  2423. }
  2424. /// <summary>
  2425. /// 选择接箍合同备料
  2426. /// </summary>
  2427. /// <param name="sender"></param>
  2428. /// <param name="e"></param>
  2429. private void ultraGrid7_CellChange(object sender, CellEventArgs e)
  2430. {
  2431. if (e.Cell.Column.Key == "CHC")
  2432. {
  2433. setJgleditNum(e.Cell.Row);
  2434. }
  2435. }
  2436. /// <summary>
  2437. /// 接箍料编辑表勾选时的操作
  2438. /// </summary>
  2439. /// <param name="uRow">勾选行</param>
  2440. private void setJgleditNum(UltraGridRow cRow)
  2441. {
  2442. if (Convert.ToBoolean(cRow.Cells["CHC"].Text))
  2443. {
  2444. ultraGrid7.UpdateData();
  2445. IQueryable<UltraGridRow> listRow = ultraGrid7.Rows.AsQueryable().Where(" CHC = 'True'");
  2446. listRow = listRow.Where(" JG_ORDERNO = '"
  2447. + cRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
  2448. listRow = listRow.Where(" CODE_JG_BL != '"
  2449. + cRow.Cells["CODE_JG_BL"].Value.ToString() + "'");
  2450. foreach (UltraGridRow uRow in listRow.ToArray())
  2451. {
  2452. uRow.Cells["CHC"].Value = false;
  2453. uRow.Cells["NUM_JG"].Activation = Activation.ActivateOnly;
  2454. uRow.Cells["NUM_JG"].Value = "";
  2455. uRow.Cells["WEIGHT_JG"].Value = "";
  2456. uRow.Cells["NUM_JGBL"].Value = "";
  2457. uRow.Cells["JGBL_SUMLENTH"].Value = "";
  2458. uRow.Cells["JGBL_REQ_WEIGHT"].Value = "";
  2459. }
  2460. ultraGrid5.UpdateData();
  2461. listRow = ultraGrid5.Rows.AsQueryable().Where(" JG_ORDERNO = '" + cRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
  2462. foreach (UltraGridRow uRow in listRow.ToArray())
  2463. {
  2464. int num_jg = Convert.ToInt32(uRow.Cells["ORDERNUM"].Value) -
  2465. Convert.ToInt32(uRow.Cells["MATCHNUM"].Value) -
  2466. Convert.ToInt32(uRow.Cells["JGWT_BLREQ"].Value);
  2467. cRow.Cells["NUM_JG"].Value = num_jg;
  2468. break;
  2469. }
  2470. cRow.Cells["NUM_JG"].Activation = Activation.AllowEdit;
  2471. cRow.Update();
  2472. }
  2473. if (!Convert.ToBoolean(cRow.Cells["CHC"].Text))
  2474. {
  2475. cRow.Cells["NUM_JG"].Activation = Activation.ActivateOnly;
  2476. cRow.Cells["NUM_JG"].Value = "";
  2477. cRow.Cells["WEIGHT_JG"].Value = "";
  2478. cRow.Cells["NUM_JGBL"].Value = "";
  2479. cRow.Cells["JGBL_SUMLENTH"].Value = "";
  2480. cRow.Cells["JGBL_REQ_WEIGHT"].Value = "";
  2481. cRow.Update();
  2482. }
  2483. ultraGrid7.UpdateData();
  2484. ultraGrid5.UpdateData();
  2485. }
  2486. private void FrmSaleOrderOP_Shown(object sender, EventArgs e)
  2487. {
  2488. setTab2Appearance(DefaultableBoolean.False);
  2489. }
  2490. private void ultraGrid7_BeforeRowActivate(object sender, RowEventArgs e)
  2491. {
  2492. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  2493. {
  2494. uRow.Appearance.BackColor = System.Drawing.Color.White;
  2495. }
  2496. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  2497. {
  2498. if (uRow.Cells["CODE_JG_BL"].Value.Equals(e.Row.Cells["CODE_JG_BL"].Value))
  2499. {
  2500. uRow.Appearance.BackColor = System.Drawing.Color.PaleGreen;
  2501. }
  2502. }
  2503. }
  2504. /// <summary>
  2505. /// 选择tab页面时,菜单变化
  2506. /// </summary>
  2507. /// <param name="sender"></param>
  2508. /// <param name="e"></param>
  2509. private void ultraTabControl1_SelectedTabChanged(object sender,
  2510. Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  2511. {
  2512. if (toolMenu != null)
  2513. {
  2514. if (e.Tab.TabPage == ultraTabPageOrder)
  2515. {
  2516. setTab1Appearance(DefaultableBoolean.True);
  2517. setTab2Appearance(DefaultableBoolean.False);
  2518. if (toolMenu.Toolbars[0].Tools.Exists("RefresDate"))
  2519. {
  2520. toolMenu.Toolbars[0].Tools["RefresDate"].InstanceProps.Visible = DefaultableBoolean.True;
  2521. }
  2522. }
  2523. if (e.Tab.TabPage == ultraTabPageJgdeal)
  2524. {
  2525. setTab1Appearance(DefaultableBoolean.False);
  2526. setTab2Appearance(DefaultableBoolean.True);
  2527. if (toolMenu.Toolbars[0].Tools.Exists("RefresDate"))
  2528. {
  2529. toolMenu.Toolbars[0].Tools["RefresDate"].InstanceProps.Visible = DefaultableBoolean.True;
  2530. }
  2531. }
  2532. }
  2533. }
  2534. private void setTab1Appearance(DefaultableBoolean appearance)
  2535. {
  2536. #region tab1显示或隐藏
  2537. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  2538. {
  2539. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = appearance;
  2540. }
  2541. if (toolMenu.Toolbars[0].Tools.Exists("ProcessJG"))
  2542. {
  2543. toolMenu.Toolbars[0].Tools["ProcessJG"].InstanceProps.Visible = appearance;
  2544. }
  2545. if (toolMenu.Toolbars[0].Tools.Exists("CancelJg"))
  2546. {
  2547. toolMenu.Toolbars[0].Tools["CancelJg"].InstanceProps.Visible = appearance;
  2548. }
  2549. if (toolMenu.Toolbars[0].Tools.Exists("ProcessDj"))
  2550. {
  2551. toolMenu.Toolbars[0].Tools["ProcessDj"].InstanceProps.Visible = appearance;
  2552. }
  2553. if (toolMenu.Toolbars[0].Tools.Exists("CancelDj"))
  2554. {
  2555. toolMenu.Toolbars[0].Tools["CancelDj"].InstanceProps.Visible = appearance;
  2556. }
  2557. #endregion
  2558. }
  2559. private void setTab2Appearance(DefaultableBoolean appearance)
  2560. {
  2561. #region tab2显示或隐藏
  2562. if (toolMenu.Toolbars[0].Tools.Exists("QueryJgl"))
  2563. {
  2564. toolMenu.Toolbars[0].Tools["QueryJgl"].InstanceProps.Visible = appearance;
  2565. }
  2566. if (toolMenu.Toolbars[0].Tools.Exists("SaveJg"))
  2567. {
  2568. toolMenu.Toolbars[0].Tools["SaveJg"].InstanceProps.Visible = appearance;
  2569. }
  2570. if (toolMenu.Toolbars[0].Tools.Exists("Plait"))
  2571. {
  2572. toolMenu.Toolbars[0].Tools["Plait"].InstanceProps.Visible = appearance;
  2573. }
  2574. if (toolMenu.Toolbars[0].Tools.Exists("AddPlait"))
  2575. {
  2576. toolMenu.Toolbars[0].Tools["AddPlait"].InstanceProps.Visible = appearance;
  2577. }
  2578. if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
  2579. {
  2580. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = appearance;
  2581. }
  2582. if (toolMenu.Toolbars[0].Tools.Exists("DeleteOne"))
  2583. {
  2584. toolMenu.Toolbars[0].Tools["DeleteOne"].InstanceProps.Visible = appearance;
  2585. }
  2586. #endregion
  2587. }
  2588. private void checkBoxForReqORDER_NO_CheckedChanged(object sender, EventArgs e)
  2589. {
  2590. if (checkBoxForReqORDER_NO.Checked)
  2591. {
  2592. ctrlForQueryORDER_NO.Enabled = true;
  2593. }
  2594. else
  2595. {
  2596. ctrlForQueryORDER_NO.Enabled = false;
  2597. }
  2598. }
  2599. private void checkBoxForReqPORDERSTATUS_CheckedChanged(object sender, EventArgs e)
  2600. {
  2601. if (checkBoxForReqPORDERSTATUS.Checked)
  2602. {
  2603. ctrlForQueryPORDERSTATUS.Enabled = true;
  2604. }
  2605. else
  2606. {
  2607. ctrlForQueryPORDERSTATUS.Enabled = false;
  2608. }
  2609. }
  2610. /// <summary>
  2611. /// 选择备料组
  2612. /// </summary>
  2613. /// <param name="sender"></param>
  2614. /// <param name="e"></param>
  2615. private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
  2616. {
  2617. if (e.Cell.Column.Key.Equals("BL_GROUP_NUM")
  2618. && (e.Cell.Row.Cells["PORDERSTATUS"].Value.ToString().Equals("待接收")
  2619. || e.Cell.Row.Cells["PORDERSTATUS"].Value.ToString().Equals("已接收")))
  2620. {
  2621. //选择短节备料组
  2622. FrmGroupofDjBl ChooseGroup = new FrmGroupofDjBl(this.ob);
  2623. int orderNum = 0;
  2624. int.TryParse(e.Cell.Row.Cells["PLAN_NUM"].Value.ToString(), out orderNum);
  2625. ChooseGroup.Desgin_key = e.Cell.Row.Cells["DESGIN_KEY"].Value.ToString();
  2626. ChooseGroup.Group_num = e.Cell.Row.Cells["BL_GROUP_NUM"].Value.ToString();
  2627. ChooseGroup.Plan_num = e.Cell.Row.Cells["PLAN_NUM"].Value.ToString();
  2628. ChooseGroup.Order_no = e.Cell.Row.Cells["ORDER_NO"].Value.ToString();
  2629. ChooseGroup.Order_seq = e.Cell.Row.Cells["ORDER_SEQ"].Value.ToString();
  2630. ChooseGroup.Delivery_no = e.Cell.Row.Cells["DELIVERY_NO"].Value.ToString();
  2631. ChooseGroup.Lengthdisc = e.Cell.Row.Cells["LENGTHDISC"].Value.ToString();
  2632. ChooseGroup.LengthMax = Convert.ToDouble(e.Cell.Row.Cells["LENGTHMAX"].Value);
  2633. ChooseGroup.OrderNum = orderNum;
  2634. ChooseGroup.Outdiameter = e.Cell.Row.Cells["OUTDIAMETER"].Value.ToString();
  2635. ChooseGroup.Wallthick = e.Cell.Row.Cells["WALLTHICK"].Value.ToString();
  2636. ChooseGroup.Steelcode = e.Cell.Row.Cells["STEELCODE"].Value.ToString();
  2637. ChooseGroup.Steelname = e.Cell.Row.Cells["STEELNAME"].Value.ToString();
  2638. ChooseGroup.ShowDialog();
  2639. //判断是否需要更新合同备料组
  2640. if (!e.Cell.Row.Cells["BL_GROUP_NUM"].Value.ToString().Equals(ChooseGroup.Group_num))
  2641. {
  2642. try
  2643. {
  2644. ArrayList parms = new ArrayList();
  2645. e.Cell.Row.Cells["BL_GROUP_NUM"].Value = ChooseGroup.Group_num;
  2646. parms.Add(e.Cell.Row.Cells["BL_GROUP_NUM"].Value.ToString());
  2647. parms.Add(e.Cell.Row.Cells["ORD_PK"].Value.ToString());
  2648. parms.Add(e.Cell.Row.Cells["ORD_LN_PK"].Value.ToString());
  2649. parms.Add(e.Cell.Row.Cells["ORD_LN_DLY_PK"].Value.ToString());
  2650. ServerHelper.SetData("com.steering.pss.plan.order.CorePlnOrderJgDj.updateDjBlGroup", new object[] { parms }, this.ob);
  2651. }
  2652. catch (Exception ex)
  2653. {
  2654. if (ex is MESException)
  2655. {
  2656. }
  2657. else
  2658. {
  2659. MessageBox.Show(ex.Message);
  2660. }
  2661. }
  2662. }
  2663. if (ChooseGroup.IsCreatOk)
  2664. {
  2665. doQuery(GetQueryCondition());
  2666. }
  2667. }
  2668. }
  2669. private void checkBoxAcceptNo_CheckedChanged(object sender, EventArgs e)
  2670. {
  2671. if (checkBoxAcceptNo.Checked)
  2672. {
  2673. ultraTextEditorAcceptNo.Enabled = true;
  2674. }
  2675. else
  2676. {
  2677. ultraTextEditorAcceptNo.Enabled = false;
  2678. }
  2679. }
  2680. private void ultraGrid7_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
  2681. {
  2682. ultraGrid5.UpdateData();
  2683. ultraGrid7.UpdateData();
  2684. IQueryable<UltraGridRow> listRow = ultraGrid7.Rows.AsQueryable().Where(" CODE_JG_BL = '"
  2685. + e.Row.Cells["CODE_JG_BL"].Value.ToString() + "'");
  2686. foreach (UltraGridRow uRow in listRow.ToArray())
  2687. {
  2688. uRow.Cells["CHC"].Value = true;
  2689. IQueryable<UltraGridRow> rows = ultraGrid5.Rows.AsQueryable().Where(" JG_ORDERNO = '"
  2690. + uRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
  2691. uRow.Cells["NUM_JG"].Activation = Activation.AllowEdit;
  2692. foreach (UltraGridRow cRow in rows)
  2693. {
  2694. int num_jg = Convert.ToInt32(cRow.Cells["ORDERNUM"].Value) -
  2695. Convert.ToInt32(cRow.Cells["MATCHNUM"].Value) -
  2696. Convert.ToInt32(cRow.Cells["JGWT_BLREQ"].Value);
  2697. uRow.Cells["NUM_JG"].Value = num_jg;
  2698. break;
  2699. }
  2700. }
  2701. listRow = ultraGrid7.Rows.AsQueryable().Where(" CODE_JG_BL != '"
  2702. + e.Row.Cells["CODE_JG_BL"].Value.ToString() + "'");
  2703. foreach (UltraGridRow uRow in listRow.ToArray())
  2704. {
  2705. uRow.Cells["CHC"].Value = false;
  2706. uRow.Cells["NUM_JG"].Activation = Activation.ActivateOnly;
  2707. uRow.Cells["NUM_JG"].Value = "";
  2708. uRow.Cells["WEIGHT_JG"].Value = "";
  2709. uRow.Cells["NUM_JGBL"].Value = "";
  2710. uRow.Cells["JGBL_SUMLENTH"].Value = "";
  2711. uRow.Cells["JGBL_REQ_WEIGHT"].Value = "";
  2712. }
  2713. ultraGrid5.UpdateData();
  2714. ultraGrid7.UpdateData();
  2715. }
  2716. private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
  2717. {
  2718. if (_groupBox2ExpandedChanged == false)
  2719. {
  2720. _splitterDistance = splitContainer1.SplitterDistance;
  2721. if (splitContainer1.SplitterDistance >= 1)
  2722. {
  2723. ultraExpandableGroupBox2.Expanded = true;
  2724. }
  2725. }
  2726. if (splitContainer1.Panel2Collapsed)
  2727. {
  2728. ultraExpandableGroupBox2.Visible = false;
  2729. }
  2730. }
  2731. private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e)
  2732. {
  2733. _groupBox2ExpandedChanged = true;
  2734. if (ultraExpandableGroupBox2.Expanded == false)
  2735. {
  2736. splitContainer1.SplitterDistance = this.Width;
  2737. }
  2738. else
  2739. {
  2740. splitContainer1.SplitterDistance = _splitterDistance;
  2741. }
  2742. _groupBox2ExpandedChanged = false;
  2743. }
  2744. private void ultraGrid1_CellDataError(object sender, CellDataErrorEventArgs e)
  2745. {
  2746. e.RaiseErrorEvent = false;
  2747. }
  2748. private void ultraGrid5_AfterRowActivate(object sender, EventArgs e)
  2749. {
  2750. UltraGridRow ugr = ultraGrid5.ActiveRow;
  2751. if (ugr == null)
  2752. {
  2753. return;
  2754. }
  2755. foreach (UltraGridRow uRow in ultraGrid7.Rows)
  2756. {
  2757. if (uRow.Cells["JG_ORDERNO"].Value.ToString().Equals(
  2758. ugr.Cells["JG_ORDERNO"].Value.ToString()))
  2759. {
  2760. ultraGrid7.ActiveRow = uRow;
  2761. uRow.Appearance.ForeColor = System.Drawing.Color.DarkBlue;
  2762. }
  2763. else
  2764. {
  2765. uRow.Appearance.ForeColor = System.Drawing.Color.Black;
  2766. }
  2767. }
  2768. }
  2769. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  2770. {
  2771. try
  2772. {
  2773. for (int i = 0; i < ultraGrid1.Selected.Rows.Count; i++)
  2774. {
  2775. if (ultraGrid1.Selected.Rows[i].GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  2776. {
  2777. ultraGrid1.Selected.Rows[i].Cells["CHC"].Value = true;
  2778. }
  2779. }
  2780. }
  2781. catch (Exception ex)
  2782. {
  2783. MessageBox.Show(ex.Message, "出错");
  2784. }
  2785. }
  2786. private void ultraGrid7_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  2787. {
  2788. foreach (UltraGridRow uRow in ultraGrid7.Selected.Rows)
  2789. {
  2790. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  2791. {
  2792. uRow.Cells["CHC"].Value = true;
  2793. setJgleditNum(uRow);
  2794. }
  2795. }
  2796. }
  2797. private void ultraGrid6_CellChange(object sender, CellEventArgs e)
  2798. {
  2799. if (e.Cell.Column.Key.Equals("BJ_TYPE"))
  2800. {
  2801. if (e.Cell.Row.Cells["BJ_TYPE"].Value.ToString().Equals("")
  2802. || e.Cell.Row.Cells["BJ_TYPE"].Value.ToString().Equals("/"))
  2803. {
  2804. e.Cell.Row.Cells["DIMATER_YLG"].Value = "";
  2805. e.Cell.Row.Cells["DIMATER_YLG"].ValueList = null;
  2806. e.Cell.Row.Cells["HEIGHT_YLG"].Value = "";
  2807. e.Cell.Row.Cells["HEIGHT_YLG"].ValueList = null;
  2808. }
  2809. else
  2810. {
  2811. ArrayList param = new ArrayList();
  2812. param.Add(e.Cell.Row.Cells["BJ_TYPE"].Value.ToString());
  2813. param.Add(e.Cell.Row.Cells["OUTDIAMETER"].Value.ToString());
  2814. param.Add(e.Cell.Row.Cells["WALLTHICK"].Value.ToString());
  2815. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryRollRupset",
  2816. new object[] { param }, this.ob);
  2817. e.Cell.Row.Cells["DIMATER_YLG"].ValueList = PlanComm.GeneralValuelist(ref dt, "MIN_D", "MIN_D");
  2818. e.Cell.Row.Cells["HEIGHT_YLG"].ValueList = PlanComm.GeneralValuelist(ref dt, "MIN_H", "MIN_H");
  2819. if (dt != null && dt.Rows.Count > 0)
  2820. {
  2821. if (e.Cell.Row.Cells["DIMATER_YLG"].Value.ToString().Equals(""))
  2822. {
  2823. e.Cell.Row.Cells["DIMATER_YLG"].Value = dt.Rows[0]["MIN_D"].ToString();
  2824. }
  2825. if (e.Cell.Row.Cells["HEIGHT_YLG"].Value.ToString().Equals(""))
  2826. {
  2827. e.Cell.Row.Cells["HEIGHT_YLG"].Value = dt.Rows[0]["MIN_H"].ToString();
  2828. }
  2829. }
  2830. }
  2831. }
  2832. }
  2833. private void ultraGrid6_AfterRowActivate(object sender, EventArgs e)
  2834. {
  2835. UltraGridRow ugr = ultraGrid6.ActiveRow;
  2836. if (ugr == null)
  2837. {
  2838. return;
  2839. }
  2840. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CorePlnOrderJgDj.queryRelation",
  2841. new object[] { ugr.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
  2842. GridHelper.CopyDataToDatatable(dt, dataTable4, true);
  2843. }
  2844. private void ultraGrid3_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  2845. {
  2846. foreach (UltraGridRow uRow in ultraGrid3.Selected.Rows)
  2847. {
  2848. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  2849. {
  2850. uRow.Cells["CHC"].Value = true;
  2851. }
  2852. }
  2853. }
  2854. private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  2855. {
  2856. foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows)
  2857. {
  2858. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  2859. {
  2860. uRow.Cells["CHC"].Value = true;
  2861. }
  2862. }
  2863. }
  2864. private void ultraGrid6_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  2865. {
  2866. foreach (UltraGridRow uRow in ultraGrid6.Selected.Rows)
  2867. {
  2868. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  2869. {
  2870. uRow.Cells["CHC"].Value = true;
  2871. }
  2872. }
  2873. }
  2874. private void ultraGrid5_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  2875. {
  2876. foreach (UltraGridRow uRow in ultraGrid5.Selected.Rows)
  2877. {
  2878. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  2879. {
  2880. uRow.Cells["CHC"].Value = true;
  2881. }
  2882. }
  2883. }
  2884. private void checkBoxRollMonth_CheckedChanged(object sender, EventArgs e)
  2885. {
  2886. if (checkBoxRollMonth.Checked == false)
  2887. {
  2888. ultraDateTimeRollMonth.Enabled = false;
  2889. }
  2890. else
  2891. {
  2892. ultraDateTimeRollMonth.Enabled = true;
  2893. }
  2894. }
  2895. /// <summary>
  2896. /// 等待窗口
  2897. /// </summary>
  2898. private void WaitFromOpen()
  2899. {
  2900. this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待
  2901. if (Constant.WaitingForm == null)
  2902. {
  2903. Constant.WaitingForm = new WaitingForm();
  2904. }
  2905. Constant.WaitingForm.ShowToUser = true;
  2906. Constant.WaitingForm.Show();
  2907. Constant.WaitingForm.Update();
  2908. }
  2909. /// <summary>
  2910. /// 关闭等待
  2911. /// </summary>
  2912. private void WaitFromColse()
  2913. {
  2914. this.Cursor = Cursors.Default;
  2915. Constant.WaitingForm.ShowToUser = false;
  2916. Constant.WaitingForm.Close();
  2917. Constant.WaitingForm = null;
  2918. }
  2919. }
  2920. }