FrmPlnZgMStoGp.cs 128 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761
  1. using com.steering.pss.plnsaleord.GpOptimize.model;
  2. using Core.Mes.Client.Comm.Control;
  3. using Core.Mes.Client.Comm.Format;
  4. using Core.Mes.Client.Comm.Server;
  5. using Core.Mes.Client.Comm.Tool;
  6. using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
  7. using Core.StlMes.Client.PlnSaleOrd.管坯优化;
  8. using CoreFS.CA06;
  9. using Infragistics.Win;
  10. using Infragistics.Win.UltraWinEditors;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Newtonsoft.Json;
  13. using NPOI.SS.Formula.Functions;
  14. using System;
  15. using System.Collections;
  16. using System.Collections.Generic;
  17. using System.ComponentModel;
  18. using System.Data;
  19. using System.Drawing;
  20. using System.Linq;
  21. using System.Windows.Forms;
  22. namespace Core.StlMes.Client.PlnSaleOrd
  23. {
  24. public partial class FrmPlnZgMStoGp : FrmBase
  25. {
  26. private UltraCombo groupCic = new UltraCombo();
  27. private UltraCombo groupPic = new UltraCombo();
  28. private UltraCombo groupSic = new UltraCombo();
  29. private UltraCombo groupDic = new UltraCombo();
  30. private int _splitterDistance1 = 0;
  31. private bool _groupBox1ExpandedChanged = false;
  32. private bool _groupBox2ExpandedChanged = false;
  33. private int numCont = 0;
  34. //DataTable dtlz = new DataTable();
  35. DataTable dtdd = new DataTable();
  36. private string proPlanIdSeq="";
  37. public FrmPlnZgMStoGp()
  38. {
  39. InitializeComponent();
  40. this.IsLoadUserView = true;
  41. }
  42. public override void ToolBar_Click(object sender, string ToolbarKey)
  43. {
  44. base.ToolBar_Click(sender, ToolbarKey);
  45. switch (ToolbarKey)
  46. {
  47. case "Query":
  48. Query();
  49. break;
  50. case "ModifyGpAimWall"://修改轧管投料
  51. ModifyGpAimWall();
  52. break;
  53. case "SaveZgMsGpIc"://保存管坯标准项
  54. SaveZgMsGpIc();
  55. break;
  56. case "updateZgMSWt"://修改需求总量 tzh 24.9.13
  57. updateZgMSWt();
  58. break;
  59. case "DoAddGp"://新增管坯需求
  60. DoAddGp();
  61. break;
  62. case "DeleteGpReq"://删除管坯
  63. DeleteGpReq();
  64. break;
  65. case "DeleteGpSinZg"://撤销订单管坯
  66. DeleteGpSinZg();
  67. break;
  68. case "ModifyGp"://保存管坯
  69. DoModifyGp();
  70. break;
  71. case "ConfirmGp"://确认
  72. DoConfirmGp();
  73. break;
  74. case "ConcelConfirmGp"://取消确认
  75. DoConcelConfirmGp();
  76. break;
  77. case "RefresDate":
  78. RefresDate();
  79. break;
  80. case "Walkthrough"://预排
  81. DoWalkthrough();
  82. break;
  83. case "Export"://导出
  84. Export();
  85. break;
  86. case "Analysis"://分析余量
  87. DoAnalysis();
  88. break;
  89. case "BluntAllow"://冲余量
  90. DoBluntAllow();
  91. break;
  92. case "Temporary"://临时确认
  93. DoTemporary();
  94. break;
  95. case "Modify"://修改
  96. DoModify();
  97. break;
  98. case "Close":
  99. this.Close();
  100. break;
  101. default:
  102. break;
  103. }
  104. }
  105. /// <summary>
  106. /// 临时确认
  107. /// </summary>
  108. private void DoTemporary()
  109. {
  110. ultraGridZgMs.UpdateData();
  111. List<PlnZgSToGpEntity> listZgMs = new List<PlnZgSToGpEntity>();
  112. IQueryable<UltraGridRow> ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
  113. if (ugrs.Count() == 0)
  114. {
  115. MessageUtil.ShowTips("请勾选要确认的订单!");
  116. return;
  117. }
  118. foreach (UltraGridRow ugr in ugrs)
  119. {
  120. PlnZgSToGpEntity zgSEntity = new PlnZgSToGpEntity();
  121. zgSEntity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
  122. zgSEntity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
  123. listZgMs.Add(zgSEntity);
  124. }
  125. CoreClientParam ccp = new CoreClientParam();
  126. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  127. ccp.MethodName = "doTemporary";
  128. ccp.ServerParams = new object[] { listZgMs };
  129. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  130. if (ccp.ReturnCode == -1) return;
  131. MessageUtil.ShowTips(ccp.ReturnInfo);
  132. if (ccp.ReturnInfo.Equals("确认成功!"))
  133. {
  134. DoQuery();
  135. }
  136. }
  137. private void Export()
  138. {
  139. //if (numCont == 0)
  140. //{
  141. // MessageUtil.ShowTips("请激活要导出的Grid!");
  142. // return;
  143. //}
  144. //else if (numCont == 1)
  145. //{
  146. // GridHelper.ulGridToExcel(ultraGridZgMs, "轧管订单排产信息");
  147. //}
  148. //else if (numCont == 2) { GridHelper.ulGridToExcel(ultraGridGpProc, "管坯需求信息"); }
  149. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  150. { GridHelper.ulGridToExcel(ultraGridZgMs, "轧管订单排产信息"); }
  151. else
  152. {
  153. GridHelper.ulGridToExcel(ultraGridGpProc, "管坯需求信息");
  154. }
  155. }
  156. private void FrmPlnZgMStoGp_Load(object sender, EventArgs e)
  157. {
  158. Init();
  159. RefresDate();
  160. }
  161. private void Init()
  162. {
  163. this.Controls.Add(groupCic);
  164. this.Controls.Add(groupPic);
  165. this.Controls.Add(groupSic);
  166. this.Controls.Add(groupDic);
  167. groupCic.Visible = false;
  168. groupPic.Visible = false;
  169. groupSic.Visible = false;
  170. groupDic.Visible = false;
  171. PlanComm.setGridActivation(ultraGridZgMs.DisplayLayout.Bands[0], "CHC", "GPREQ_WEIGHT");//"CIC_GP", "PIC_GP", "SIC_GP", "DIC_GP"
  172. PlanComm.setGridActivation(ultraGrid1.DisplayLayout.Bands[0], "CHC");
  173. PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 2,
  174. "DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMOUTDIAMETER", "AIMWALLTHICK",
  175. "LEN_GP_SINGLE", "AIMLENGTH", "OUTDIAMETER_ZG", "WALLTHICK_ZG");
  176. PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 3,
  177. "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "FurnWt", "LjWeight", "Reall_WT", "ALLOWANCE", "Reall_WT_MIN");
  178. PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 0,
  179. "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "FurnNum", "LjNum", "Reall_NUM");
  180. PlanComm.setGridDigitalCol(ultraGridGpProc.DisplayLayout.Bands[0], 5, 2,
  181. "LENGTH_GP", "LEN_GP_SINGLE", "CUT_LOSE_LEN", "DZ_CUT_HEAD_END", "DZ_BURN_LOSE",
  182. "LENGTH_ZZ" );
  183. PlanComm.setGridDigitalCol(ultraGridGpProc.DisplayLayout.Bands[0], 5, 3, "WEIGHT_GP_ONE", "GP_WEIGHT",
  184. "GP_WT_LONG", "DZ_CUT_HEAD_END", "DZ_LOSE_ADD", "OUT_WT_ZZ", "WT_ONE_ZZ", "FurnWt", "LjWeight", "GP_SYWEIGHT");
  185. PlanComm.setGridDigitalCol(ultraGridGpProc.DisplayLayout.Bands[0], 5, 0,
  186. "GP_NUM", "GP_NUM_LONG", "CUT_NUM_GP", "OUT_NUM_ZZ", "FurnNum", "LjNum");
  187. ultraGridZgMs.DisplayLayout.Bands[0].Columns["LEN_GP_SINGLE"].EditorComponent = ultraNumericSpLen;
  188. //ultraGridZgMs.DisplayLayout.Bands[0].Columns["LEN_CUTHEAD"].EditorComponent = ultraNumericSpCut;
  189. //ultraGridZgMs.DisplayLayout.Bands[0].Columns["LEN_CUTEND"].EditorComponent = ultraNumericSpCut;
  190. ultraGridZgMs.DisplayLayout.Bands[0].Columns["AIMWALLTHICK"].EditorComponent = ultraNumericSpwall;
  191. ultraGridZgMs.DisplayLayout.Bands[0].Columns["CRAFT_FILE_NO"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  192. ultraGridZgMs.DisplayLayout.Bands[0].Columns["GRADENAME"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  193. PlanComm.setGridActivation(ultraGrid2.DisplayLayout.Bands[0], "CHC");
  194. PlanComm.setGridActivation(ultraGridGpProc.DisplayLayout.Bands[0], "CHC");
  195. PlanComm.setGridDigitalCol(ultraGrid2.DisplayLayout.Bands[0], 5, 2, "OUTDIAMETER",
  196. "WALLTHICK", "LEN_ROLL_MAX", "LEN_ROLL_MIN", "AIMOUTDIAMETER", "AIMLENGTH",
  197. "DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMWALLTHICK",
  198. "LEN_GP_SINGLE", "LEN_CUTHEAD", "LEN_CUTEND", "TUBE_END_RATIO");
  199. PlanComm.setGridDigitalCol(ultraGrid2.DisplayLayout.Bands[0], 5, 3,
  200. "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "FurnWt", "LjWeight", "Reall_WT", "ALLOWANCE", "Reall_WT_MIN");
  201. PlanComm.setGridDigitalCol(ultraGrid2.DisplayLayout.Bands[0], 5, 0,
  202. "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "FurnNum", "LjNum", "Reall_NUM");
  203. PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 2, "DIAMETER_GP",
  204. "LENGTH_GP", "LEN_GP_SINGLE", "CUT_LOSE_LEN", "DZ_CUT_HEAD_END", "DZ_BURN_LOSE",
  205. "LENGTH_ZZ");
  206. PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 3, "WEIGHT_GP_ONE", "GP_WEIGHT",
  207. "GP_WT_LONG", "DZ_CUT_HEAD_END", "DZ_LOSE_ADD", "OUT_WT_ZZ", "WT_ONE_ZZ", "FurnWt", "LjWeight", "GP_SYWEIGHT");
  208. PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 0,
  209. "GP_NUM", "GP_NUM_LONG", "CUT_NUM_GP", "OUT_NUM_ZZ", "FurnNum", "LjNum");
  210. BaseHelper.GridColumnSum(ultraGridZgMs, new string[] { "Reall_WT", "GPREQ_WEIGHT"});
  211. BaseHelper.GridColumnCount(ultraGridZgMs, new string[] { "Reall_NUM", "GPREQ_NUM" });
  212. }
  213. /// <summary>
  214. /// 刷新
  215. /// </summary>
  216. private void RefresDate()
  217. {
  218. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpreqId",
  219. new object[] { }, this.ob);
  220. DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProPlanId",
  221. new object[] { }, this.ob);
  222. DataTable dtPlineB = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessPline",
  223. new object[] { "B" }, this.ob);
  224. DataTable dtPlineC = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessPline",
  225. new object[] { "C" }, this.ob);
  226. DataTable dtInWl = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectDMaterial",
  227. new object[] { }, this.ob);
  228. ultraGridZgMs.DisplayLayout.Bands[0].Columns["INWL_ID"].ValueList =
  229. PlanComm.GeneralValuelist(ref dtInWl, "IN_MATERIAL_NO", "IN_MATERIAL_DESC");
  230. ultraGridZgMs.DisplayLayout.Bands[0].Columns["INWL_ID"].Style =
  231. Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
  232. ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_ZZ"].ValueList =
  233. PlanComm.GeneralValuelist(ref dtPlineB, "PLINE_CODE", "PLINE_NAME");
  234. ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_ZZ"].Style =
  235. Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  236. ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_DZ"].ValueList =
  237. PlanComm.GeneralValuelist(ref dtPlineC, "PLINE_CODE", "PLINE_NAME");
  238. ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_DZ"].Style =
  239. Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  240. ultraGridGpProc.DisplayLayout.Bands[0].Columns["WT_ONE_ZZ"].Style =
  241. Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  242. ultraGridGpProc.DisplayLayout.Bands[0].Columns["DIAMETER_ZZ"].Style =
  243. Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  244. PlanComm.FillComBaseInfo(ultraComboProGpplanNo, dt1, "GPREQ_ID", "GPREQ_ID", true);
  245. PlanComm.FillComBaseInfo(ultraComboZgMsplan, dt2, "PRO_PLAN_ID", "PRO_PLAN_ID", true);
  246. }
  247. /// <summary>
  248. /// 查询
  249. /// </summary>
  250. private void Query()
  251. {
  252. //查所有订单号
  253. //dtdd = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectPlnOrderFun", new object[] { }, this.ob);
  254. //dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob);
  255. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  256. {
  257. DoQuery();
  258. }
  259. else
  260. {
  261. //查所有订单号
  262. dtdd = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectPlnOrderFun", new object[] { }, this.ob);
  263. DoQueryGpReq();
  264. }
  265. }
  266. /// <summary>
  267. /// 查询轧管排产订单
  268. /// </summary>
  269. private void DoQuery()
  270. {
  271. string outs_billet_fl = "";
  272. if (CustomInfo == "0")
  273. {
  274. outs_billet_fl = "0";
  275. }
  276. else if(CustomInfo == "1")
  277. {
  278. outs_billet_fl = "1";
  279. }
  280. else if (CustomInfo == "2")
  281. {
  282. outs_billet_fl = "1";
  283. }
  284. string raDButt = "0";
  285. if (radioButton1.Checked)
  286. {
  287. raDButt = "0";
  288. }
  289. string zgMsPlanNo = "";
  290. string proGpplanNo = "";
  291. string ordHead = "";
  292. string ordLine = "";
  293. string proMonth = "";
  294. string zgStrat = "";//确认状态
  295. if (chcZgMsplanNo.Checked)
  296. {
  297. zgMsPlanNo = ultraComboZgMsplan.Text.Trim();
  298. }
  299. if (chcProGpplanNo.Checked)
  300. {
  301. proGpplanNo = ultraComboProGpplanNo.Text.Trim();
  302. }
  303. if (ultraCheckOrdLine.Checked)
  304. {
  305. string ordNoSeq = this.ultraTextOrdLine.Text.Trim();
  306. PlnSaleOrderBase.parsOrdNoSeq(ordNoSeq, out ordHead, out ordLine);
  307. }
  308. if (this.ultraCheckProMonth.Checked)
  309. {
  310. proMonth = this.ultraDateTimeProMonth.DateTime.ToString("yyyy-MM");
  311. }
  312. if (this.ultraCheckEditor1.Checked)
  313. {
  314. zgStrat = this.comZgStrat.Value.ToString();
  315. }
  316. //if (!zgStrat.Equals("1") && proMonth.Equals(""))
  317. //{
  318. // MessageUtil.ShowTips("轧管确认状态不是已确认,必须选择生产年月!");
  319. // return;
  320. //}
  321. string gpReID = "";
  322. if (ultraCheckEditor2.Checked)
  323. {
  324. gpReID = "1";
  325. }
  326. DataTable dtMs = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProZgMsPln",
  327. new object[] { zgMsPlanNo, ordHead, ordLine, proMonth, zgStrat, outs_billet_fl, gpReID, CustomInfo }, this.ob);
  328. GridHelper.CopyDataToDatatable(dtMs, dataTable1, true);
  329. #region 赋值LJ,装炉,出库
  330. foreach (UltraGridRow ugr in ultraGridZgMs.Rows)
  331. {
  332. //int numz = 0;
  333. //double wtz = 0;
  334. int numLj = 0;
  335. double wtLj = 0;
  336. //int batNum = 0;
  337. //double batWt = 0;
  338. //if (dtlz.Rows.Count > 0)
  339. //{
  340. // DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'");
  341. // if (drs != null && drs.Length > 0)
  342. // {
  343. // if (!drs[0]["装炉支"].ToString().Equals(""))
  344. // {
  345. // ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString();
  346. // ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString();
  347. // numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString());
  348. // wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString());
  349. // }
  350. // else
  351. // {
  352. // numz = 0;
  353. // wtz = 0;
  354. // }
  355. // if (!drs[0]["LJ支"].ToString().Equals(""))
  356. // {
  357. // ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString();
  358. // ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString();
  359. // numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  360. // wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  361. // }
  362. // else
  363. // {
  364. // numLj = 0;
  365. // wtLj = 0;
  366. // }
  367. // if (!drs[0]["出库支"].ToString().Equals(""))
  368. // {
  369. // ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString();
  370. // ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString();
  371. // batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString());
  372. // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  373. // }
  374. // else
  375. // {
  376. // batNum = 0;
  377. // batWt = 0;
  378. // }
  379. // }
  380. //}
  381. //if (ugr.Cells["BATCHED_NUM"].Text.Equals(""))
  382. //{
  383. // batNum = 0;
  384. // batWt = 0;
  385. //}
  386. //else
  387. //{
  388. // batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  389. // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  390. //}
  391. //if (ugr.Cells["LjNum"].Value.Equals("0"))
  392. //{
  393. // numLj = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
  394. // wtLj = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
  395. //}
  396. //else
  397. //{
  398. numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  399. wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  400. //}
  401. int gpNum = 0;
  402. double gpWt = 0;
  403. double gpWtMin = 0;
  404. if (ugr.Cells["GPREQ_NUM"].Text.Equals(""))
  405. {
  406. gpNum = 0;
  407. gpWt = 0;
  408. gpWtMin = 0;
  409. }
  410. else
  411. {
  412. gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString());
  413. gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString());
  414. gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString());
  415. }
  416. double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
  417. int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
  418. //if (gpNum - batNum - numz - numLj - matcInNum < 0)
  419. //{
  420. // ugr.Cells["Reall_NUM"].Value = "0";
  421. // ugr.Cells["Reall_WT"].Value = "0";
  422. // ugr.Cells["Reall_WT_MIN"].Value = 0;
  423. //}
  424. //else
  425. //{
  426. // ugr.Cells["Reall_NUM"].Value = (gpNum - batNum - numz - numLj).ToString();
  427. // ugr.Cells["Reall_WT"].Value = (gpWt - batWt - wtz - wtLj).ToString();
  428. // ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj).ToString();
  429. //}
  430. if (gpNum - numLj <= 0)
  431. {
  432. ugr.Cells["Reall_NUM"].Value = "0";
  433. ugr.Cells["Reall_WT"].Value = "0";
  434. ugr.Cells["Reall_WT_MIN"].Value = 0;
  435. }
  436. else
  437. {
  438. ugr.Cells["Reall_NUM"].Value = (gpNum-numLj).ToString();
  439. ugr.Cells["Reall_WT"].Value = (gpWt - wtLj).ToString();
  440. if (gpWtMin - wtLj <= 0)
  441. {
  442. ugr.Cells["Reall_WT_MIN"].Value = 0;
  443. }
  444. else
  445. {
  446. ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - wtLj).ToString();
  447. }
  448. }
  449. if (proPlanIdSeq.Equals(ugr.Cells["PRO_PLAN_ID"].Text.ToString() + ugr.Cells["GX_PLAN_NO"].Text.ToString()))
  450. {
  451. ugr.Activate();
  452. }
  453. }
  454. #endregion
  455. ultraGridZgMs.UpdateData();
  456. if (radioButton1.Checked)
  457. {
  458. dataTable1.DefaultView.RowFilter = "Reall_NUM >0 ";
  459. DataTable dt = dataTable1.DefaultView.ToTable();
  460. _data1 = dataTable1.Copy();
  461. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  462. foreach (UltraGridRow ugr in ultraGridZgMs.Rows)
  463. {
  464. if (proPlanIdSeq.Equals(ugr.Cells["PRO_PLAN_ID"].Text.ToString() + ugr.Cells["GX_PLAN_NO"].Text.ToString()))
  465. {
  466. ugr.Activate();
  467. }
  468. }
  469. }
  470. }
  471. /// <summary>
  472. /// 查询轧管排产订单
  473. /// </summary>
  474. private void DoQueryZg(string gperqId,ArrayList list)
  475. {
  476. DataTable dtMs = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProZgMsPlnZ",
  477. new object[] { gperqId, list }, this.ob);
  478. GridHelper.CopyDataToDatatable(dtMs, dataTable3, true);
  479. //dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob);
  480. foreach (UltraGridRow ugr in ultraGrid2.Rows)
  481. {
  482. //int numz = 0;
  483. //double wtz = 0;
  484. int numLj = 0;
  485. double wtLj = 0;
  486. //int batNum = 0;
  487. //double batWt = 0;
  488. //if (dtlz.Rows.Count > 0)
  489. //{
  490. // DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'");
  491. // if (drs != null && drs.Length > 0)
  492. // {
  493. // if (!drs[0]["装炉支"].ToString().Equals(""))
  494. // {
  495. // ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString();
  496. // ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString();
  497. // numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString());
  498. // wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString());
  499. // }
  500. // else
  501. // {
  502. // numz = 0;
  503. // wtz = 0;
  504. // }
  505. // if (!drs[0]["LJ支"].ToString().Equals(""))
  506. // {
  507. // ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString();
  508. // ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString();
  509. // numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  510. // wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  511. // }
  512. // else
  513. // {
  514. // numLj = 0;
  515. // wtLj = 0;
  516. // }
  517. // if (!drs[0]["出库支"].ToString().Equals(""))
  518. // {
  519. // ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString();
  520. // ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString();
  521. // batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString());
  522. // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  523. // }
  524. // else
  525. // {
  526. // batNum = 0;
  527. // batWt = 0;
  528. // }
  529. // }
  530. //}
  531. //if (ugr.Cells["BATCHED_NUM"].Text.Equals(""))
  532. //{
  533. // batNum = 0;
  534. // batWt = 0;
  535. //}
  536. //else
  537. //{
  538. // batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  539. // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  540. //}
  541. // if (ugr.Cells["LjNum"].Value.Equals("0"))
  542. //{
  543. // numLj = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
  544. // wtLj = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
  545. //}
  546. //else
  547. //{
  548. numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  549. wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  550. //}
  551. int gpNum = 0;
  552. double gpWt = 0;
  553. double gpWtMin = 0;
  554. if (ugr.Cells["GPREQ_NUM"].Text.Equals(""))
  555. {
  556. gpNum = 0;
  557. gpWt = 0;
  558. gpWtMin = 0;
  559. }
  560. else
  561. {
  562. gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString());
  563. gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString());
  564. gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString());
  565. }
  566. double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
  567. int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
  568. //if (gpNum - batNum - numz - numLj - matcInNum < 0)
  569. //{
  570. // ugr.Cells["Reall_NUM"].Value = "0";
  571. // ugr.Cells["Reall_WT"].Value = "0";
  572. //}
  573. //else
  574. //{
  575. // ugr.Cells["Reall_NUM"].Value = (gpNum - batNum - numz - numLj - matcInNum).ToString();
  576. // ugr.Cells["Reall_WT"].Value = (gpWt - batWt - wtz - wtLj - matcInWt).ToString();
  577. // ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj - matcInWt).ToString();
  578. //}
  579. if (gpNum - numLj <= 0)
  580. {
  581. ugr.Cells["Reall_NUM"].Value = "0";
  582. ugr.Cells["Reall_WT"].Value = "0";
  583. ugr.Cells["Reall_WT_MIN"].Value = 0;
  584. }
  585. else
  586. {
  587. ugr.Cells["Reall_NUM"].Value = (gpNum - numLj).ToString();
  588. ugr.Cells["Reall_WT"].Value = (gpWt - wtLj).ToString();
  589. if (gpWtMin - wtLj <= 0)
  590. {
  591. ugr.Cells["Reall_WT_MIN"].Value = 0;
  592. }
  593. else
  594. {
  595. ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - wtLj).ToString();
  596. }
  597. }
  598. }
  599. }
  600. /// <summary>
  601. /// 查询管坯需求
  602. /// </summary>
  603. private void DoQueryGpReq(string gpreqId, ArrayList list)
  604. {
  605. DataTable dtGp = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProGpReqPln",
  606. new object[] { gpreqId, list }, this.ob);
  607. GridHelper.CopyDataToDatatable(dtGp, dataTable2, true);
  608. ////查所有订单号
  609. //DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectPlnOrderFun", new object[] { }, this.ob);
  610. //dtlz= ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob);
  611. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  612. {
  613. if (!ugr.Cells["REC_TYPE"].Text.ToString().Trim().Equals("预排"))
  614. {
  615. if (dtdd.Rows.Count > 0)
  616. {
  617. DataRow[] drId = dtdd.Select("GPREQ_ID ='" + ugr.Cells["GPREQ_ID"].Text.ToString() + "'");
  618. int num = 0;
  619. double weghit = 0;
  620. int numLj = 0;
  621. double weghitLj = 0;
  622. if (drId != null && drId.Length > 0)
  623. {
  624. for (int i = 0; i < drId.Length; i++)
  625. {
  626. //if (dtlz.Rows.Count > 0)
  627. //{
  628. // DataRow[] drs = dtlz.Select("订单号 ='" + drId[i]["PRO_PLAN_ID"].ToString() + "' AND 序号='" + drId[i]["GX_PLAN_NO"].ToString() + "'");
  629. // if (drs != null && drs.Length > 0)
  630. // {
  631. if (!drId[i]["FURNA_NUM"].ToString().Equals(""))
  632. {
  633. num += int.Parse(drId[0]["FURNA_NUM"].ToString());
  634. weghit += double.Parse(drId[0]["FURNA_WEIGHT"].ToString());
  635. }
  636. if (!drId[i]["LJ_NUM"].ToString().Equals(""))
  637. {
  638. numLj += int.Parse(drId[0]["LJ_NUM"].ToString());
  639. weghitLj += double.Parse(drId[0]["LJ_WEIGHT"].ToString());
  640. }
  641. // }
  642. //}
  643. }
  644. }
  645. ugr.Cells["FurnNum"].Value = num.ToString();
  646. ugr.Cells["FurnWt"].Value = weghit.ToString();
  647. ugr.Cells["LjNum"].Value = numLj.ToString();
  648. ugr.Cells["LjWeight"].Value = weghitLj.ToString();
  649. }
  650. if (!ugr.Cells["GPTYPE"].Text.ToString().Trim().Equals("锻坯"))
  651. {
  652. ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly;
  653. ugr.Cells["DZ_BURN_LOSE"].Appearance.BackColor = Color.Transparent;
  654. ugr.Cells["DZ_CUT_HEAD_END"].Activation = Activation.ActivateOnly;
  655. ugr.Cells["DZ_CUT_HEAD_END"].Appearance.BackColor = Color.Transparent;
  656. ugr.Cells["DZ_LOSE_ADD"].Activation = Activation.ActivateOnly;
  657. ugr.Cells["DZ_LOSE_ADD"].Appearance.BackColor = Color.Transparent;
  658. ugr.Cells["PLINE_CODE_DZ"].Activation = Activation.ActivateOnly;
  659. ugr.Cells["PLINE_CODE_DZ"].Appearance.BackColor = Color.Transparent;
  660. }
  661. }
  662. else
  663. {
  664. ugr.Cells["DIAMETER_ZZ"].Activation = Activation.ActivateOnly;
  665. ugr.Cells["DIAMETER_ZZ"].Appearance.BackColor = Color.Transparent;
  666. ugr.Cells["PLINE_CODE_ZZ"].Activation = Activation.ActivateOnly;
  667. ugr.Cells["PLINE_CODE_ZZ"].Appearance.BackColor = Color.Transparent;
  668. ugr.Cells["DZ_LOSE_ADD"].Activation = Activation.ActivateOnly;
  669. ugr.Cells["DZ_LOSE_ADD"].Appearance.BackColor = Color.Transparent;
  670. ugr.Cells["PLINE_CODE_DZ"].Activation = Activation.ActivateOnly;
  671. ugr.Cells["PLINE_CODE_DZ"].Appearance.BackColor = Color.Transparent;
  672. ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly;
  673. ugr.Cells["DZ_BURN_LOSE"].Appearance.BackColor = Color.Transparent;
  674. ugr.Cells["DZ_CUT_HEAD_END"].Activation = Activation.ActivateOnly;
  675. ugr.Cells["DZ_CUT_HEAD_END"].Appearance.BackColor = Color.Transparent;
  676. }
  677. }
  678. }
  679. /// <summary>
  680. /// 查询管坯需求信息
  681. /// </summary>
  682. private void DoQueryGpReq()
  683. {
  684. string outs_billet_fl = "";
  685. if (CustomInfo == "0")
  686. {
  687. outs_billet_fl = "0";
  688. }
  689. else
  690. {
  691. outs_billet_fl = "1";
  692. }
  693. //执行状态
  694. string[] statusArr = userControlGpStrat1.statusArr;
  695. string proGpplanNo = "";
  696. if (chcProGpplanNo.Checked)
  697. {
  698. proGpplanNo = ultraComboProGpplanNo.Text.Trim();
  699. }
  700. string proMonth = "";
  701. if (this.ultraCheckProMonth.Checked)
  702. {
  703. proMonth = this.ultraDateTimeProMonth.DateTime.ToString("yyyy-MM");
  704. }
  705. DataTable dtGp = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProGpReqPlnP",
  706. new object[] { proGpplanNo, statusArr, proMonth, outs_billet_fl, CustomInfo }, this.ob);
  707. GridHelper.CopyDataToDatatable(dtGp, dataTable4, true);
  708. //dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob);
  709. foreach (UltraGridRow ugr in ultraGridGpProc.Rows)
  710. {
  711. if (!ugr.Cells["REC_TYPE"].Text.ToString().Trim().Equals("预排"))
  712. {
  713. if (dtdd.Rows.Count > 0)
  714. {
  715. DataRow[] drId = dtdd.Select("GPREQ_ID ='" + ugr.Cells["GPREQ_ID"].Text.ToString() + "'");
  716. int num = 0;
  717. double weghit = 0;
  718. int numLj = 0;
  719. double weghitLj = 0;
  720. if (drId != null && drId.Length > 0)
  721. {
  722. for (int i = 0; i < drId.Length; i++)
  723. {
  724. //if (dtlz.Rows.Count > 0)
  725. //{
  726. // DataRow[] drs = dtlz.Select("订单号 ='" + drId[i]["PRO_PLAN_ID"].ToString() + "' AND 序号='" + drId[i]["GX_PLAN_NO"].ToString() + "'");
  727. // if (drs != null && drs.Length > 0)
  728. // {
  729. if (!drId[i]["FURNA_NUM"].ToString().Equals(""))
  730. {
  731. num += int.Parse(drId[i]["FURNA_NUM"].ToString());
  732. weghit += double.Parse(drId[i]["FURNA_WEIGHT"].ToString());
  733. }
  734. if (!drId[i]["LJ_NUM"].ToString().Equals(""))
  735. {
  736. numLj += int.Parse(drId[i]["LJ_NUM"].ToString());
  737. weghitLj += double.Parse(drId[i]["LJ_WEIGHT"].ToString());
  738. }
  739. // }
  740. //}
  741. }
  742. }
  743. ugr.Cells["FurnNum"].Value = num.ToString();
  744. ugr.Cells["FurnWt"].Value = weghit.ToString();
  745. ugr.Cells["LjNum"].Value = numLj.ToString();
  746. ugr.Cells["LjWeight"].Value = weghitLj.ToString();
  747. }
  748. }
  749. }
  750. }
  751. /// <summary>
  752. /// 调整单倍坯长和控制壁厚
  753. /// </summary>
  754. private void ModifyGpAimWall()
  755. {
  756. this.ultraGridZgMs.UpdateData();
  757. this.ultraGridZgMs.Update();
  758. ArrayList list = new ArrayList();
  759. IQueryable<UltraGridRow> ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
  760. if (ugrs.Count() == 0)
  761. {
  762. MessageUtil.ShowTips("未勾选任何行!");
  763. return;
  764. }
  765. foreach (UltraGridRow ugr in ugrs)
  766. {
  767. PlnOrderZgSEntity zgSentity = new PlnOrderZgSEntity();
  768. //double lenGpSingle = 0;
  769. //double aimwallthick = 0;
  770. //double lenCuthead = 0;
  771. //double lenCutend = 0;
  772. //double.TryParse(ugr.Cells["LEN_GP_SINGLE"].Value.ToString(), out lenGpSingle);
  773. //double.TryParse(ugr.Cells["AIMWALLTHICK"].Value.ToString(), out aimwallthick);
  774. //double.TryParse(ugr.Cells["LEN_CUTHEAD"].Value.ToString(), out lenCuthead);
  775. //double.TryParse(ugr.Cells["LEN_CUTEND"].Value.ToString(), out lenCutend);
  776. //if (ugr.Cells["LEN_CUTHEAD"].Text.Equals(""))
  777. //{
  778. // MessageUtil.ShowTips("请输入切头数据!");
  779. // return;
  780. //}
  781. //if (ugr.Cells["LEN_CUTEND"].Text.Equals(""))
  782. //{
  783. // MessageUtil.ShowTips("请输入切尾数据!");
  784. // return;
  785. //}
  786. zgSentity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
  787. zgSentity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
  788. //zgSentity.LenGpSingle = lenGpSingle.ToString();
  789. //zgSentity.Aimwallthick = aimwallthick.ToString();
  790. //zgSentity.LenCuthead = lenCuthead.ToString();
  791. //zgSentity.LenCutend = lenCutend.ToString();
  792. zgSentity.InwlId = ugr.Cells["INWL_ID"].Value.ToString();
  793. zgSentity.InwlDesc = ugr.Cells["INWL_ID"].Text.Trim();
  794. zgSentity.CicGp = ugr.Cells["CIC_GP"].Text.Trim();
  795. zgSentity.OutwlId = ugr.Cells["OUTWL_ID"].Value.ToString();
  796. list.Add(JSONFormat.Format(zgSentity));
  797. }
  798. CoreClientParam ccp = new CoreClientParam();
  799. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  800. ccp.MethodName = "modifyGpAimWall";
  801. ccp.ServerParams = new object[] { list, "1" };
  802. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  803. if (ccp.ReturnCode == -1) return;
  804. if (ccp.ReturnObject != null)
  805. {
  806. List<string> message = (List<string>)JsonConvert.DeserializeObject(
  807. ccp.ReturnObject.ToString(), typeof(List<string>));
  808. if (message.Count == 0)
  809. {
  810. MessageUtil.ShowTips(list.Count - message.Count + "条修改成功,"
  811. + message.Count + "条修改失败。");
  812. }
  813. else
  814. {
  815. MessageUtil.ShowTips(list.Count - message.Count + "条修改成功,"
  816. + message.Count + "条修改失败。\n" + message[0]);
  817. }
  818. if (list.Count - message.Count > 0)
  819. {
  820. DoQuery();
  821. }
  822. }
  823. }
  824. /// <summary>
  825. /// 查询管坯成分、材质、公差、探伤标准
  826. /// </summary>
  827. private void getGpIcList()
  828. {
  829. UltraGridRow ugr = this.ultraGridZgMs.ActiveRow;
  830. if (ugr == null)
  831. {
  832. return;
  833. }
  834. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectGpIcList",
  835. new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
  836. if (dt == null || dt.Rows.Count < 0)
  837. {
  838. return;
  839. }
  840. DataTable dtCic = null;
  841. DataTable dtPic = null;
  842. DataTable dtSic = null;
  843. DataTable dtDic = null;
  844. DataRow dr = dt.Rows[0];
  845. string[] listCic = dr["CIC"].ToString().Split(',');
  846. string[] listPic = dr["PIC"].ToString().Split(',');
  847. string[] listSic = dr["SIC"].ToString().Split(',');
  848. string[] listDic = dr["DIC"].ToString().Split(',');
  849. List<String> list = new List<String>();
  850. for (int i = 0; i < listCic.Length; i++)
  851. {
  852. list.Add(listCic[i].Trim());
  853. }
  854. string gradecode = ugr.Cells["GRADECODE"].Value.ToString();
  855. if (ugr.Cells["GRADECODE"].Value.ToString().Equals(""))
  856. {
  857. gradecode = dr["GRADECODE"].ToString();
  858. }
  859. if (listCic.Count() > 1 || (listCic.Count() == 1 && !listCic[0].Equals("")))
  860. {
  861. dtCic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenCicByGrade",
  862. new object[] { gradecode, list.ToArray() }, this.ob);
  863. }
  864. if (listPic.Count() > 1 || (listPic.Count() == 1 && !listPic[0].Equals("")))
  865. {
  866. dtPic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenPic",
  867. new object[] { listPic }, this.ob);
  868. }
  869. if (listSic.Count() > 1 || (listSic.Count() == 1 && !listSic[0].Equals("")))
  870. {
  871. dtSic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenSic",
  872. new object[] { listSic }, this.ob);
  873. }
  874. if (listDic.Count() > 1 || (listDic.Count() == 1 && !listDic[0].Equals("")))
  875. {
  876. dtDic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenDic",
  877. new object[] { listDic }, this.ob);
  878. }
  879. groupCic.DataSource = dtCic;
  880. groupCic.ValueMember = "CIC";
  881. groupCic.DisplayMember = "CIC";
  882. ugr.Cells["CIC_GP"].EditorComponent = groupCic;
  883. groupPic.DataSource = dtPic;
  884. groupPic.ValueMember = "PIC";
  885. groupPic.DisplayMember = "PIC";
  886. ugr.Cells["PIC_GP"].EditorComponent = groupPic;
  887. groupSic.DataSource = dtSic;
  888. groupSic.ValueMember = "SIC";
  889. groupSic.DisplayMember = "SIC";
  890. ugr.Cells["SIC_GP"].EditorComponent = groupSic;
  891. groupDic.DataSource = dtDic;
  892. groupDic.ValueMember = "DIC";
  893. groupDic.DisplayMember = "DIC";
  894. ugr.Cells["DIC_GP"].EditorComponent = groupDic;
  895. }
  896. /// <summary>
  897. /// 修改坯料需求重量 TZH 24.9.13
  898. /// </summary>
  899. private void updateZgMSWt()
  900. {
  901. ultraGridZgMs.UpdateData();
  902. List<PlnOrderZgSEntity> list = new List<PlnOrderZgSEntity>();
  903. IQueryable<UltraGridRow> ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
  904. if (ugrs.Count() == 0)
  905. {
  906. MessageUtil.ShowTips("未勾选任何行!");
  907. return;
  908. }
  909. foreach (UltraGridRow ugr in ugrs)
  910. {
  911. PlnOrderZgSEntity zgSentity = new PlnOrderZgSEntity();
  912. zgSentity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
  913. zgSentity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
  914. //实体类里面没有写GpreqWeight字段 暂时不改实体类 那个字段来接收下 TZH 24.9.13
  915. zgSentity.MatchWtIn = ugr.Cells["GPREQ_WEIGHT"].Value.ToString();
  916. list.Add(zgSentity);
  917. }
  918. CoreClientParam ccp = new CoreClientParam();
  919. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  920. ccp.MethodName = "updateZgMSWt";
  921. ccp.ServerParams = new object[] { list,UserInfo.GetUserName() };
  922. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  923. if (ccp.ReturnCode != -1)
  924. {
  925. if (ccp.ReturnObject != null)
  926. {
  927. List<string> message = (List<string>)JsonConvert.DeserializeObject(
  928. ccp.ReturnObject.ToString(), typeof(List<string>));
  929. if (message.Count == 0)
  930. {
  931. MessageUtil.ShowTips(list.Count - message.Count + "条修改成功,"
  932. + message.Count + "条修改失败。");
  933. }
  934. else
  935. {
  936. MessageUtil.ShowTips(list.Count - message.Count + "条修改成功,"
  937. + message.Count + "条修改失败。\n" + message[0]);
  938. }
  939. if(list.Count - message.Count>0){
  940. DoQuery();
  941. }
  942. }
  943. }
  944. }
  945. /// <summary>
  946. /// 保存轧管订单管坯标准
  947. /// </summary>
  948. private void SaveZgMsGpIc()
  949. {
  950. ultraGridZgMs.UpdateData();
  951. List<PlnOrderZgSEntity> list = new List<PlnOrderZgSEntity>();
  952. IQueryable<UltraGridRow> ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
  953. if (ugrs.Count() == 0)
  954. {
  955. MessageUtil.ShowTips("未勾选任何行!");
  956. return;
  957. }
  958. foreach (UltraGridRow ugr in ugrs)
  959. {
  960. PlnOrderZgSEntity zgSentity = new PlnOrderZgSEntity();
  961. zgSentity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
  962. zgSentity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
  963. zgSentity.CicGp = ugr.Cells["CIC_GP"].Value.ToString();
  964. zgSentity.PicGp = ugr.Cells["PIC_GP"].Value.ToString();
  965. zgSentity.SicGp = ugr.Cells["SIC_GP"].Value.ToString();
  966. zgSentity.DicGp = ugr.Cells["DIC_GP"].Value.ToString();
  967. zgSentity.WicGp = ugr.Cells["WIC_GP"].Value.ToString();
  968. zgSentity.GicGp = ugr.Cells["GIC_GP"].Value.ToString();
  969. list.Add(zgSentity);
  970. }
  971. CoreClientParam ccp = new CoreClientParam();
  972. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  973. ccp.MethodName = "saveZgMsGpIc";
  974. ccp.ServerParams = new object[] { list };
  975. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  976. if (ccp.ReturnCode != -1)
  977. {
  978. if (ccp.ReturnObject != null)
  979. {
  980. List<string> message = (List<string>)JsonConvert.DeserializeObject(
  981. ccp.ReturnObject.ToString(), typeof(List<string>));
  982. if (message.Count == 0)
  983. {
  984. MessageUtil.ShowTips(list.Count - message.Count + "条修改成功,"
  985. + message.Count + "条修改失败。");
  986. }
  987. else
  988. {
  989. MessageUtil.ShowTips(list.Count - message.Count + "条修改成功,"
  990. + message.Count + "条修改失败。\n" + message[0]);
  991. }
  992. if(list.Count - message.Count>0){
  993. DoQuery();
  994. }
  995. }
  996. }
  997. }
  998. /// <summary>
  999. /// 查找具有相同管坯成分标准可选项的订单
  1000. /// </summary>
  1001. private void FindSameCic()
  1002. {
  1003. UltraGridRow ugr = this.ultraGridZgMs.ActiveRow;
  1004. if (ugr == null)
  1005. {
  1006. return;
  1007. }
  1008. ultraGridZgMs.UpdateData();
  1009. if (!ugr.Cells["GPREQ_ID"].Value.ToString().Equals(""))
  1010. {
  1011. foreach (UltraGridRow uRow in ultraGridZgMs.Rows)
  1012. {
  1013. uRow.Cells["CHC"].Value = false;
  1014. uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0); ;
  1015. }
  1016. return;
  1017. }
  1018. string cicGp = ugr.Cells["CIC_GP"].Value.ToString();
  1019. if (cicGp.Equals(""))
  1020. {
  1021. foreach (UltraGridRow uRow in ultraGridZgMs.Rows)
  1022. {
  1023. uRow.Cells["CHC"].Value = false;
  1024. uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0); ;
  1025. }
  1026. return;
  1027. }
  1028. IEnumerable<UltraGridRow> uRows = ultraGridZgMs.Rows.Where(
  1029. a => a.Cells["CIC_GROUP_GP"].Value.ToString().Trim().Contains(cicGp));
  1030. IEnumerable<UltraGridRow> otherRows = ultraGridZgMs.Rows.Where(
  1031. a => !a.Cells["CIC_GROUP_GP"].Value.ToString().Trim().Contains(cicGp));
  1032. foreach (UltraGridRow uRow in uRows)
  1033. {
  1034. uRow.Cells["CHC"].Value = true;
  1035. uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 100, 0);
  1036. }
  1037. foreach (UltraGridRow uRow in otherRows)
  1038. {
  1039. uRow.Cells["CHC"].Value = false;
  1040. uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0); ;
  1041. }
  1042. }
  1043. /// <summary>
  1044. /// 使具有相同管坯成分标准可选项的订单管坯内控标准项都相同
  1045. /// </summary>
  1046. private void setSameCicGp()
  1047. {
  1048. UltraGridRow ugr = this.ultraGridZgMs.ActiveRow;
  1049. if (ugr == null)
  1050. {
  1051. return;
  1052. }
  1053. ultraGridZgMs.UpdateData();
  1054. if (!ugr.Cells["GPREQ_ID"].Value.ToString().Equals(""))
  1055. {
  1056. return;
  1057. }
  1058. string cicGp = ugr.Cells["CIC_GP"].Value.ToString();
  1059. string picGp = ugr.Cells["PIC_GP"].Value.ToString();
  1060. string sicGp = ugr.Cells["SIC_GP"].Value.ToString();
  1061. string dicGp = ugr.Cells["DIC_GP"].Value.ToString();
  1062. string wicGp = ugr.Cells["WIC_GP"].Value.ToString();
  1063. string gicGp = ugr.Cells["GIC_GP"].Value.ToString();
  1064. if (cicGp.Equals(""))
  1065. {
  1066. return;
  1067. }
  1068. IEnumerable<UltraGridRow> uRows = ultraGridZgMs.Rows.Where(
  1069. a => a.Cells["CIC_GROUP_GP"].Value.ToString().Trim().Contains(cicGp));
  1070. foreach (UltraGridRow uRow in uRows)
  1071. {
  1072. uRow.Cells["CIC_GP"].Value = cicGp;
  1073. uRow.Cells["PIC_GP"].Value = picGp;
  1074. uRow.Cells["SIC_GP"].Value = sicGp;
  1075. uRow.Cells["DIC_GP"].Value = dicGp;
  1076. uRow.Cells["WIC_GP"].Value = wicGp;
  1077. uRow.Cells["GIC_GP"].Value = gicGp;
  1078. }
  1079. }
  1080. /// <summary>
  1081. /// 新增管坯需求
  1082. /// </summary>
  1083. private void DoAddGp()
  1084. {
  1085. ultraGridZgMs.UpdateData();
  1086. ArrayList list = new ArrayList();
  1087. ArrayList messageErr = new ArrayList();
  1088. Dictionary<PlnReqinfGpEntity, List<PlnZgSToGpEntity>> dectionay =
  1089. new Dictionary<PlnReqinfGpEntity, List<PlnZgSToGpEntity>>();
  1090. IQueryable<UltraGridRow> urows = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
  1091. if (urows.Count() == 0)
  1092. {
  1093. return;
  1094. }
  1095. string ifxl="";
  1096. int offlinePro = urows.GroupBy(a => a.GetValue("SUPPLY_UNIT_CODE")).Count();
  1097. if(this.CustomInfo != "0")
  1098. {
  1099. if (offlinePro > 1)
  1100. {
  1101. MessageUtil.ShowTips("只有同制造商的订单信息,才能进行合并新增管坯需求!");
  1102. return;
  1103. }
  1104. }
  1105. if (urows.Count() > 1)
  1106. {
  1107. int s = 0;
  1108. foreach (UltraGridRow urow in urows)
  1109. {
  1110. if (urow.Cells["TYPE_FLAG"].Text.ToString().Equals("双经销"))
  1111. {
  1112. s = s + 1;
  1113. }
  1114. }
  1115. if (s > 0)
  1116. {
  1117. MessageUtil.ShowTips("双经销订单不允许与其他订单合并新增管坯需求!");
  1118. return;
  1119. }
  1120. }
  1121. foreach (UltraGridRow urow in urows)
  1122. {
  1123. ifxl = urow.Cells["OUTS_BILLET_FL"].Text.ToString();
  1124. if (urow.Cells["IS_PLAN_OK"].Text.ToString().Equals("") || urow.Cells["IS_PLAN_OK"].Text.ToString().Equals("/"))
  1125. {
  1126. MessageBox.Show("轧管订单:" + urow.Cells["PRO_PLAN_ID"].Value.ToString() + "/" + urow.Cells["GX_PLAN_NO"].Value.ToString() + ",计划未确认!");
  1127. return;
  1128. }
  1129. //if (urow.Cells["GPREQ_NUM"].Text.ToString().Equals("") || urow.Cells["GPREQ_NUM"].Text.ToString().Equals(""))
  1130. //{
  1131. // MessageBox.Show("需坯支不能为空或为零!");
  1132. // return;
  1133. //}
  1134. //if (urow.Cells["GPREQ_WEIGHT"].Text.ToString().Equals("") || urow.Cells["GPREQ_WEIGHT"].Text.ToString().Equals(""))
  1135. //{
  1136. // MessageBox.Show("需坯吨不能为空或为零!");
  1137. // return;
  1138. //}
  1139. //if (int.Parse(urow.Cells["Reall_NUM"].Text.ToString())<=0)
  1140. //{
  1141. // MessageBox.Show("管坯需坯支不能小于/等于零!");
  1142. // return;
  1143. //}
  1144. if (double.Parse(urow.Cells["Reall_WT"].Value.ToString()) <= 0)
  1145. {
  1146. MessageBox.Show("轧管订单:" + urow.Cells["PRO_PLAN_ID"].Value.ToString() + "/" + urow.Cells["GX_PLAN_NO"].Value.ToString() + ",待冶炼吨不能小于/等于零!");
  1147. return;
  1148. }
  1149. PlnOrderZgSEntity zgSEntity = new PlnOrderZgSEntity();
  1150. zgSEntity.ProPlanId = urow.Cells["PRO_PLAN_ID"].Value.ToString();
  1151. zgSEntity.GxPlanNo = urow.Cells["GX_PLAN_NO"].Value.ToString();
  1152. zgSEntity.ReallNum = urow.Cells["Reall_NUM"].Value.ToString();
  1153. zgSEntity.ReallWt = urow.Cells["Reall_WT"].Value.ToString();
  1154. zgSEntity.ReallWtMin = urow.Cells["Reall_WT_MIN"].Value.ToString();
  1155. list.Add(zgSEntity);
  1156. }
  1157. CoreClientParam ccp = new CoreClientParam();
  1158. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1159. ccp.MethodName = "getMergerGroup";
  1160. ccp.ServerParams = new object[] { list };
  1161. ccp = this.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
  1162. if (ccp == null)
  1163. {
  1164. MessageBox.Show("服务端处理失败!");
  1165. return;
  1166. }
  1167. if (ccp.ReturnObject == null)
  1168. {
  1169. return;
  1170. }
  1171. List<PlnZgSToGpEntity> listSource = (List<PlnZgSToGpEntity>)JsonConvert.DeserializeObject(
  1172. ccp.ReturnObject.ToString(), typeof(List<PlnZgSToGpEntity>));
  1173. IQueryable<PlnZgSToGpEntity> listErr = listSource.AsQueryable().Where(a => a.Succeed == -1);
  1174. IQueryable<PlnZgSToGpEntity> param = listSource.AsQueryable().Where(a => a.Succeed != -1);
  1175. if (listErr.Count() != 0)
  1176. {
  1177. string questionShow = "共" + listSource.Count + "条订单,其中" + listErr.Count()
  1178. + "条不能组管坯需求。\n(" + listErr.ToList()[0].Reason + ")\n"
  1179. + "是否继续?";
  1180. if (MessageUtil.ShowQuestion(questionShow) == DialogResult.No)
  1181. {
  1182. return;
  1183. }
  1184. }
  1185. #region 不可合并的订单
  1186. ////炼钢监制不合并组管坯需求
  1187. //IQueryable<PlnZgSToGpEntity> param = listReq.AsQueryable().Where(a => a.IfMonitorLg == "1");
  1188. //foreach (PlnZgSToGpEntity zgStoGp in param)
  1189. //{
  1190. // List<PlnZgSToGpEntity> listZgMS = new List<PlnZgSToGpEntity>();
  1191. // listZgMS.Add(zgStoGp);
  1192. // PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS);
  1193. // if (gpReqEntity != null)
  1194. // {
  1195. // dectionay.Add(gpReqEntity, listZgMS);
  1196. // }
  1197. //}
  1198. ////外购坯不合并组管坯需求
  1199. //param = listReq.AsQueryable().Where(a => a.IfMonitorLg != "1"
  1200. // && a.Ifbuyplan == "1");
  1201. //foreach (PlnZgSToGpEntity zgStoGp in param)
  1202. //{
  1203. // List<PlnZgSToGpEntity> listZgMS = new List<PlnZgSToGpEntity>();
  1204. // listZgMS.Add(zgStoGp);
  1205. // PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS);
  1206. // if (gpReqEntity != null)
  1207. // {
  1208. // dectionay.Add(gpReqEntity, listZgMS);
  1209. // }
  1210. //}
  1211. #endregion
  1212. #region 按合并原则合并组管坯需求
  1213. //IQueryable<PlnZgSToGpEntity> param = listReq.AsQueryable().Where(a => a.Succeed==-1);
  1214. //param = listReq.AsQueryable().Where(a => a.IfMonitorLg != "1"
  1215. // && a.Ifbuyplan != "1");
  1216. var cout1 = param.GroupBy(a => a.InwlId);// 投入物料编码一致
  1217. foreach (var group1 in cout1)
  1218. {
  1219. IQueryable<PlnZgSToGpEntity> listGp1 = param.AsQueryable().Where(a => a.InwlId == group1.Key);
  1220. if (listGp1.Count() == 0)
  1221. {
  1222. continue;
  1223. }
  1224. var cout2 = listGp1.GroupBy(a => a.LenGpSingle);// 单倍坯长一致
  1225. foreach (var group2 in cout2)
  1226. {
  1227. IQueryable<PlnZgSToGpEntity> listGp2 = listGp1.AsQueryable().Where(a => a.LenGpSingle == group2.Key);
  1228. if (listGp2.Count() == 0)
  1229. {
  1230. continue;
  1231. }
  1232. var cout3 = listGp2.GroupBy(a => a.CicGp);// 钢种索引码一致
  1233. foreach (var group3 in cout3)
  1234. {
  1235. IQueryable<PlnZgSToGpEntity> listGp3 = listGp2.AsQueryable().Where(a => a.CicGp == group3.Key);
  1236. if (listGp3.Count() == 0)
  1237. {
  1238. continue;
  1239. }
  1240. var cout4 = listGp3.GroupBy(a => a.Ifbuyplan);// 是否自炼一致
  1241. foreach (var group4 in cout4)
  1242. {
  1243. IQueryable<PlnZgSToGpEntity> listGp4 = listGp3.AsQueryable().Where(a => a.Ifbuyplan == group4.Key);
  1244. if (listGp4.Count() == 0)
  1245. {
  1246. continue;
  1247. }
  1248. var cout5 = listGp4.GroupBy(a => a.IfMonitorLg);// 监制工序点一致
  1249. foreach (var group5 in cout5)
  1250. {
  1251. IQueryable<PlnZgSToGpEntity> listGp5 = listGp4.AsQueryable().Where(a => a.IfMonitorLg == group5.Key);
  1252. if (listGp5.Count() == 0)
  1253. {
  1254. continue;
  1255. }
  1256. var cout6 = listGp5.GroupBy(a => a.Process);// 炼钢、铸造、锻造制程一致
  1257. foreach (var group6 in cout6)
  1258. {
  1259. IQueryable<PlnZgSToGpEntity> listGp6 = listGp5.AsQueryable().Where(a => a.Process == group6.Key);
  1260. if (listGp6.Count() == 0)
  1261. {
  1262. continue;
  1263. }
  1264. var cout7 = listGp6.GroupBy(a => a.PicGp);// 连铸或锻造的理化索引码
  1265. foreach (var group7 in cout7)
  1266. {
  1267. IQueryable<PlnZgSToGpEntity> listGp7 = listGp6.AsQueryable().Where(a => a.PicGp == group7.Key);
  1268. if (listGp7.Count() == 0)
  1269. {
  1270. continue;
  1271. }
  1272. var cout8 = listGp7.GroupBy(a => a.SicGp);// 连铸或锻造的公差索引码
  1273. foreach (var group8 in cout8)
  1274. {
  1275. IQueryable<PlnZgSToGpEntity> listGp8 = listGp7.AsQueryable().Where(a => a.SicGp == group8.Key);
  1276. if (listGp8.Count() == 0)
  1277. {
  1278. continue;
  1279. }
  1280. var cout9 = listGp8.GroupBy(a => a.StationRoadLg);//电炉环节的真空脱气工序点
  1281. foreach (var group9 in cout9)
  1282. {
  1283. IQueryable<PlnZgSToGpEntity> listGp9 = listGp8.AsQueryable().Where(a => a.StationRoadLg == group9.Key);
  1284. if (listGp9.Count() == 0)
  1285. {
  1286. continue;
  1287. }
  1288. var cout10 = listGp9.GroupBy(a => a.Gradecode);//钢种一致
  1289. foreach (var group10 in cout10)
  1290. {
  1291. IQueryable<PlnZgSToGpEntity> listGp10 = listGp9.AsQueryable().Where(a => a.Gradecode == group10.Key);
  1292. if (listGp10.Count() == 0)
  1293. {
  1294. continue;
  1295. }
  1296. //判断是否自练
  1297. if (ifxl.Equals("外购"))
  1298. {
  1299. List<PlnZgSToGpEntity> listZgMS = listGp10.ToList<PlnZgSToGpEntity>();
  1300. PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS);
  1301. gpReqEntity.CreateName = this.UserInfo.GetUserName();
  1302. gpReqEntity.CreateTime = DateTime.Now.ToString();
  1303. if (gpReqEntity != null)
  1304. {
  1305. dectionay.Add(gpReqEntity, listZgMS);
  1306. }
  1307. }
  1308. else
  1309. {
  1310. var cout11 = listGp10.GroupBy(a => a.GowhereName);//轧管产线一致
  1311. foreach (var group11 in cout11)
  1312. {
  1313. IQueryable<PlnZgSToGpEntity> listGp11 = listGp10.AsQueryable().Where(a => a.GowhereName == group11.Key);
  1314. if (listGp11.Count() == 0)
  1315. {
  1316. continue;
  1317. }
  1318. List<PlnZgSToGpEntity> listZgMS = listGp11.ToList<PlnZgSToGpEntity>();
  1319. PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS);
  1320. gpReqEntity.CreateName = this.UserInfo.GetUserName();
  1321. gpReqEntity.CreateTime = DateTime.Now.ToString();
  1322. if (gpReqEntity != null)
  1323. {
  1324. dectionay.Add(gpReqEntity, listZgMS);
  1325. }
  1326. }
  1327. }
  1328. }
  1329. }
  1330. }
  1331. }
  1332. }
  1333. }
  1334. }
  1335. }
  1336. }
  1337. }
  1338. #endregion
  1339. int count = dectionay.Count();
  1340. if (count == 0)
  1341. {
  1342. return;
  1343. }
  1344. if (MessageUtil.ShowQuestion("将新建" + count + "条管坯需求,确认这样做吗?")
  1345. == DialogResult.No)
  1346. {
  1347. return;
  1348. }
  1349. PlanComm.WaitFromOpen(this.Cursor);
  1350. try
  1351. {
  1352. foreach (KeyValuePair<PlnReqinfGpEntity, List<PlnZgSToGpEntity>> gpReqKV in dectionay)
  1353. {
  1354. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1355. ccp.MethodName = "addGpReqInf";
  1356. ccp.ServerParams = new object[] { gpReqKV.Key, gpReqKV.Value ,ifxl};
  1357. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1358. if (ccp.ReturnCode == -1)
  1359. {
  1360. PlanComm.WaitFromColse(this.Cursor);
  1361. return;
  1362. }
  1363. else if (ccp.ReturnObject != null)
  1364. {
  1365. //PlanComm.WaitFromColse(this.Cursor);
  1366. messageErr.Add(ccp.ReturnObject.ToString());
  1367. }
  1368. }
  1369. }
  1370. catch (Exception)
  1371. {
  1372. PlanComm.WaitFromColse(this.Cursor);
  1373. }
  1374. PlanComm.WaitFromColse(this.Cursor);
  1375. if (messageErr.Count == 0)
  1376. {
  1377. MessageUtil.ShowTips(count + "条管坯需求新建成功,0条新建失败。");
  1378. }
  1379. else
  1380. {
  1381. MessageUtil.ShowTips((count - messageErr.Count) + "条管坯需求新建成功,"
  1382. + messageErr.Count + "条新建失败。\n" + messageErr[0]);
  1383. }
  1384. if (count - messageErr.Count != 0) {
  1385. DoQuery();
  1386. }
  1387. }
  1388. /// <summary>
  1389. /// 删除管坯需求
  1390. /// </summary>
  1391. private void DeleteGpReq()
  1392. {
  1393. this.ultraGridGpProc.UpdateData();
  1394. ArrayList list = new ArrayList();
  1395. ArrayList messageErr = new ArrayList();
  1396. IQueryable<UltraGridRow> ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
  1397. if (ugrs.Count() == 0)
  1398. {
  1399. MessageUtil.ShowTips("未勾选任何管坯需求。");
  1400. return;
  1401. }
  1402. foreach (UltraGridRow ugr in ugrs)
  1403. {
  1404. //if (ugr.Cells["IFBUYPLAN"].Text.ToString().Equals("外购"))
  1405. //{
  1406. // if (!ugr.Cells["REQ_STATUS"].Text.ToString().Equals("编制")&&!ugr.Cells["REQ_STATUS"].Text.ToString().Equals("生效"))
  1407. // {
  1408. // MessageUtil.ShowTips("该外购管坯需求外购坯状态不是编制和生效状态,不能撤销!");
  1409. // return;
  1410. // }
  1411. //}
  1412. //else
  1413. //{
  1414. // if (!ugr.Cells["REQ_DONESTATUS"].Text.ToString().Equals("编制") && !ugr.Cells["REQ_DONESTATUS"].Text.ToString().Equals("计划"))
  1415. // {
  1416. // MessageUtil.ShowTips("该自炼管坯需求状态不是编制和计划状态,不能撤销!");
  1417. // return;
  1418. // }
  1419. //}
  1420. list.Add(ugr.Cells["GPREQ_ID"].Value.ToString());
  1421. }
  1422. CoreClientParam ccp = new CoreClientParam();
  1423. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1424. ccp.MethodName = "deleteGpReq";
  1425. ccp.ServerParams = new object[] { list };
  1426. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1427. if (ccp.ReturnCode != -1)
  1428. {
  1429. if (ccp.ReturnObject != null && !ccp.ReturnObject.Equals(""))
  1430. {
  1431. MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  1432. }
  1433. else
  1434. {
  1435. MessageUtil.ShowTips("删除成功。");
  1436. }
  1437. }
  1438. DoQueryGpReq();
  1439. }
  1440. /// <summary>
  1441. /// 撤销管坯需求部分轧管订单
  1442. /// </summary>
  1443. private void DeleteGpSinZg()
  1444. {
  1445. ultraGridZgMs.UpdateData();
  1446. ArrayList messageErr = new ArrayList();
  1447. List<PlnZgSToGpEntity> listZgMs = new List<PlnZgSToGpEntity>();
  1448. IQueryable<PlnZgSToGpEntity> listErr = null;
  1449. IQueryable<PlnZgSToGpEntity> listReq = null;
  1450. IQueryable<UltraGridRow> ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'");
  1451. if (ugrs.Count() == 0)
  1452. {
  1453. MessageUtil.ShowTips("请勾选要撤回的订单!");
  1454. return;
  1455. }
  1456. foreach (UltraGridRow ugr in ugrs)
  1457. {
  1458. PlnZgSToGpEntity zgSEntity = new PlnZgSToGpEntity();
  1459. zgSEntity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
  1460. zgSEntity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
  1461. listZgMs.Add(zgSEntity);
  1462. }
  1463. CoreClientParam ccp = new CoreClientParam();
  1464. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1465. ccp.MethodName = "getZgMsStatus";
  1466. ccp.ServerParams = new object[] { listZgMs };
  1467. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1468. if (ccp == null)
  1469. {
  1470. MessageBox.Show("服务端处理失败!");
  1471. return;
  1472. }
  1473. if (ccp.ReturnObject == null)
  1474. {
  1475. return;
  1476. }
  1477. listZgMs = (List<PlnZgSToGpEntity>)JsonConvert.DeserializeObject(
  1478. ccp.ReturnObject.ToString(), typeof(List<PlnZgSToGpEntity>));
  1479. listErr = listZgMs.AsQueryable().Where(a => a.Succeed == -1);
  1480. listReq = listZgMs.AsQueryable().Where(a => a.Succeed != -1);
  1481. if (listErr.Count() != 0)
  1482. {
  1483. foreach (PlnZgSToGpEntity zgStoGp in listErr)
  1484. {
  1485. messageErr.Add(zgStoGp.Reason);
  1486. }
  1487. }
  1488. var groupGpID = listReq.GroupBy(a => a.GpreqId);
  1489. foreach (var gpReqId in groupGpID)
  1490. {
  1491. IQueryable<PlnZgSToGpEntity> listSinGpZgMs =
  1492. listReq.Where(a => a.GpreqId == gpReqId.Key);
  1493. if (listSinGpZgMs.Count() == 0)
  1494. {
  1495. continue;
  1496. }
  1497. List<PlnZgSToGpEntity> list = listSinGpZgMs.ToList();
  1498. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1499. ccp.MethodName = "deleteGpReqZgMs";
  1500. ccp.ServerParams = new object[] { gpReqId.Key, list };
  1501. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1502. if (ccp.ReturnCode == -1)
  1503. {
  1504. return;
  1505. }
  1506. else if (ccp.ReturnObject != null && !ccp.ReturnObject.ToString().Equals(""))
  1507. {
  1508. messageErr.Add(ccp.ReturnObject.ToString());
  1509. }
  1510. }
  1511. if (messageErr.Count == 0)
  1512. {
  1513. MessageUtil.ShowTips(listZgMs.Count + "条订单撤销成功,0条订单撤销失败。");
  1514. }
  1515. else
  1516. {
  1517. MessageUtil.ShowTips((listZgMs.Count - messageErr.Count) + "条订单撤销成功,"
  1518. + messageErr.Count + "条订单撤销失败。\n" + messageErr[0]);
  1519. }
  1520. DoQueryGpReq();
  1521. }
  1522. /// <summary>
  1523. /// 修改管坯需求
  1524. /// </summary>
  1525. private void DoModifyGp()
  1526. {
  1527. ArrayList list = new ArrayList();
  1528. IQueryable<UltraGridRow> ugrs = null;
  1529. ultraGridGpProc.UpdateData();
  1530. ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
  1531. if (ugrs.Count() == 0)
  1532. {
  1533. MessageUtil.ShowTips("未勾选任何管坯需求。");
  1534. return;
  1535. }
  1536. foreach (UltraGridRow ugr in ugrs)
  1537. {
  1538. string gptype = "";//管坯类型(1铸坯2锻坯)
  1539. if (ugr.Cells["GPTYPE"].Text.ToString().Equals("铸坯"))
  1540. {
  1541. gptype = "1";
  1542. }
  1543. else
  1544. {
  1545. gptype = "2";
  1546. }
  1547. string castingtype = "";//铸造类型(1连铸2模铸)
  1548. if (ugr.Cells["CASTINGTYPE"].Text.ToString().Equals("连铸"))
  1549. {
  1550. castingtype = "1";
  1551. }
  1552. else
  1553. {
  1554. castingtype = "2";
  1555. }
  1556. PlnReqinfGpEntity reqinfGpEntity = new PlnReqinfGpEntity();
  1557. reqinfGpEntity.GpreqId = ugr.Cells["GPREQ_ID"].Value.ToString();
  1558. reqinfGpEntity.MaterialNo = ugr.Cells["MATERIAL_NO"].Value.ToString();
  1559. reqinfGpEntity.MaterialName = ugr.Cells["MATERIAL_NAME"].Value.ToString();
  1560. reqinfGpEntity.Gradecode = ugr.Cells["GRADECODE"].Value.ToString();
  1561. reqinfGpEntity.Gradename = ugr.Cells["GRADENAME"].Value.ToString();
  1562. reqinfGpEntity.Gptype = gptype;
  1563. reqinfGpEntity.Castingtype = castingtype;
  1564. reqinfGpEntity.WtOneZz = ugr.Cells["WT_ONE_ZZ"].Value.ToString();
  1565. reqinfGpEntity.DiameterZz = ugr.Cells["DIAMETER_ZZ"].Value.ToString();
  1566. reqinfGpEntity.PlineCodeDz = ugr.Cells["PLINE_CODE_DZ"].Value.ToString();
  1567. reqinfGpEntity.PlineNameDz = ugr.Cells["PLINE_CODE_DZ"].Text.ToString();
  1568. reqinfGpEntity.PlineCodeZz = ugr.Cells["PLINE_CODE_ZZ"].Value.ToString();
  1569. reqinfGpEntity.PlineNameZz = ugr.Cells["PLINE_CODE_ZZ"].Text.ToString();
  1570. reqinfGpEntity.DzLoseAdd = ugr.Cells["DZ_LOSE_ADD"].Value.ToString();
  1571. reqinfGpEntity.DzCutHeadEnd = ugr.Cells["DZ_CUT_HEAD_END"].Value.ToString();
  1572. reqinfGpEntity.DzBurnLose = ugr.Cells["DZ_BURN_LOSE"].Value.ToString();
  1573. reqinfGpEntity.WlidZz = ugr.Cells["WLID_ZZ"].Value.ToString();
  1574. reqinfGpEntity.WldescZz = ugr.Cells["WLDESC_ZZ"].Value.ToString();
  1575. list.Add(reqinfGpEntity);
  1576. }
  1577. if (MessageUtil.ShowQuestion("是否修改重算!")== DialogResult.No)
  1578. {
  1579. return;
  1580. }
  1581. PlanComm.WaitFromOpen(this.Cursor);
  1582. CoreClientParam ccp = new CoreClientParam();
  1583. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1584. ccp.MethodName = "modifyGp";
  1585. ccp.ServerParams = new object[] { list, UserInfo.GetUserName() };
  1586. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1587. PlanComm.WaitFromColse(this.Cursor);
  1588. if (ccp.ReturnCode != -1)
  1589. {
  1590. if (ccp.ReturnObject != null)
  1591. {
  1592. MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  1593. }
  1594. }
  1595. DoQueryGpReq();
  1596. }
  1597. private void DoModify()
  1598. {
  1599. ArrayList list = new ArrayList();
  1600. IQueryable<UltraGridRow> ugrs = null;
  1601. ultraGridGpProc.UpdateData();
  1602. ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
  1603. if (ugrs.Count() == 0)
  1604. {
  1605. MessageUtil.ShowTips("未勾选任何管坯需求。");
  1606. return;
  1607. }
  1608. foreach (UltraGridRow ugr in ugrs)
  1609. {
  1610. string gptype = "";//管坯类型(1铸坯2锻坯)
  1611. if (ugr.Cells["GPTYPE"].Text.ToString().Equals("铸坯"))
  1612. {
  1613. gptype = "1";
  1614. }
  1615. else
  1616. {
  1617. gptype = "2";
  1618. }
  1619. string castingtype = "";//铸造类型(1连铸2模铸)
  1620. if (ugr.Cells["CASTINGTYPE"].Text.ToString().Equals("连铸"))
  1621. {
  1622. castingtype = "1";
  1623. }
  1624. else
  1625. {
  1626. castingtype = "2";
  1627. }
  1628. PlnReqinfGpEntity reqinfGpEntity = new PlnReqinfGpEntity();
  1629. reqinfGpEntity.GpreqId = ugr.Cells["GPREQ_ID"].Value.ToString();
  1630. reqinfGpEntity.MaterialNo = ugr.Cells["MATERIAL_NO"].Value.ToString();
  1631. reqinfGpEntity.MaterialName = ugr.Cells["MATERIAL_NAME"].Value.ToString();
  1632. reqinfGpEntity.Gradecode = ugr.Cells["GRADECODE"].Value.ToString();
  1633. reqinfGpEntity.Gradename = ugr.Cells["GRADENAME"].Value.ToString();
  1634. reqinfGpEntity.Gptype = gptype;
  1635. reqinfGpEntity.Castingtype = castingtype;
  1636. reqinfGpEntity.WtOneZz = ugr.Cells["WT_ONE_ZZ"].Value.ToString();
  1637. reqinfGpEntity.DiameterZz = ugr.Cells["DIAMETER_ZZ"].Value.ToString();
  1638. reqinfGpEntity.PlineCodeDz = ugr.Cells["PLINE_CODE_DZ"].Value.ToString();
  1639. reqinfGpEntity.PlineNameDz = ugr.Cells["PLINE_CODE_DZ"].Text.ToString();
  1640. reqinfGpEntity.PlineCodeZz = ugr.Cells["PLINE_CODE_ZZ"].Value.ToString();
  1641. reqinfGpEntity.PlineNameZz = ugr.Cells["PLINE_CODE_ZZ"].Text.ToString();
  1642. reqinfGpEntity.DzLoseAdd = ugr.Cells["DZ_LOSE_ADD"].Value.ToString();
  1643. reqinfGpEntity.DzCutHeadEnd = ugr.Cells["DZ_CUT_HEAD_END"].Value.ToString();
  1644. reqinfGpEntity.DzBurnLose = ugr.Cells["DZ_BURN_LOSE"].Value.ToString();
  1645. reqinfGpEntity.WlidZz = ugr.Cells["WLID_ZZ"].Value.ToString();
  1646. reqinfGpEntity.WldescZz = ugr.Cells["WLDESC_ZZ"].Value.ToString();
  1647. list.Add(reqinfGpEntity);
  1648. }
  1649. if (MessageUtil.ShowQuestion("是否修改重算!") == DialogResult.No)
  1650. {
  1651. return;
  1652. }
  1653. PlanComm.WaitFromOpen(this.Cursor);
  1654. CoreClientParam ccp = new CoreClientParam();
  1655. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1656. ccp.MethodName = "doModify";
  1657. ccp.ServerParams = new object[] { list, UserInfo.GetUserName() };
  1658. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1659. PlanComm.WaitFromColse(this.Cursor);
  1660. if (ccp.ReturnCode != -1)
  1661. {
  1662. if (ccp.ReturnObject != null)
  1663. {
  1664. MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  1665. }
  1666. }
  1667. DoQueryGpReq();
  1668. }
  1669. /// <summary>
  1670. /// 管坯确认
  1671. /// </summary>
  1672. private void DoConfirmGp()
  1673. {
  1674. ArrayList list = new ArrayList();
  1675. IQueryable<UltraGridRow> ugrs = null;
  1676. ultraGridGpProc.UpdateData();
  1677. ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
  1678. if (ugrs.Count() == 0)
  1679. {
  1680. MessageUtil.ShowTips("未勾选任何管坯需求。");
  1681. return;
  1682. }
  1683. foreach (UltraGridRow ugr in ugrs)
  1684. {
  1685. list.Add(ugr.Cells["GPREQ_ID"].Value.ToString());
  1686. }
  1687. CoreClientParam ccp = new CoreClientParam();
  1688. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1689. ccp.MethodName = "confirmGp";
  1690. ccp.ServerParams = new object[] { list, UserInfo.GetUserName() };
  1691. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1692. if (ccp.ReturnCode != -1)
  1693. {
  1694. if (ccp.ReturnObject != null)
  1695. {
  1696. MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  1697. }
  1698. }
  1699. DoQueryGpReq();
  1700. }
  1701. /// <summary>
  1702. /// 取消确认
  1703. /// </summary>
  1704. private void DoConcelConfirmGp()
  1705. {
  1706. ArrayList list = new ArrayList();
  1707. IQueryable<UltraGridRow> ugrs = null;
  1708. ultraGridGpProc.UpdateData();
  1709. ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'");
  1710. if (ugrs.Count() == 0)
  1711. {
  1712. MessageUtil.ShowTips("未勾选任何管坯需求。");
  1713. return;
  1714. }
  1715. foreach (UltraGridRow ugr in ugrs)
  1716. {
  1717. list.Add(ugr.Cells["GPREQ_ID"].Value.ToString());
  1718. }
  1719. CoreClientParam ccp = new CoreClientParam();
  1720. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1721. ccp.MethodName = "concelConfirmGp";
  1722. ccp.ServerParams = new object[] { list };
  1723. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1724. if (ccp.ReturnCode != -1)
  1725. {
  1726. if (ccp.ReturnObject != null)
  1727. {
  1728. MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  1729. }
  1730. DoQueryGpReq();
  1731. }
  1732. }
  1733. /// <summary>
  1734. /// 预排
  1735. /// </summary>
  1736. private void DoWalkthrough()
  1737. {
  1738. string outs_billet_fl = "";
  1739. string yp = "";
  1740. if (CustomInfo == "0")
  1741. {
  1742. outs_billet_fl = "0";//自炼
  1743. yp = "自炼";
  1744. }
  1745. else
  1746. {
  1747. outs_billet_fl = "1";//外购
  1748. yp = "外购";
  1749. }
  1750. FrmWalktHrough wall = new FrmWalktHrough(this.ob,outs_billet_fl,this.CustomInfo);
  1751. wall.Text = yp+"预排";
  1752. wall.AutoSize = true;
  1753. wall.ShowDialog();
  1754. DoQueryGpReq();
  1755. }
  1756. /// <summary>
  1757. /// 分析是否有余量可利
  1758. /// </summary>
  1759. private void DoAnalysis()
  1760. {
  1761. UltraGridRow row = ultraGridZgMs.ActiveRow;
  1762. if (row == null) return;
  1763. int count = 0;
  1764. foreach (UltraGridRow ugr in ultraGridZgMs.Rows)
  1765. {
  1766. if (Convert.ToBoolean(ugr.Cells["CHC"].Text) == true && ugr.Cells["GPREQ_ID"].Text.Equals(""))
  1767. {
  1768. count++;
  1769. string ifMonitorLg = "0";
  1770. if (ugr.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是"))
  1771. {
  1772. ifMonitorLg = "1";
  1773. }
  1774. string outsBillFl = "0";
  1775. if (ugr.Cells["OUTS_BILLET_FL"].Text.ToString().Equals("外购"))
  1776. {
  1777. outsBillFl = "1";
  1778. }
  1779. string wholeBacklogDesc = "";
  1780. if (!ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals(""))
  1781. {
  1782. string[] sArray = ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries);
  1783. wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1);
  1784. }
  1785. ArrayList list = new ArrayList();
  1786. list.Add(ugr.Cells["GRADECODE"].Value.ToString());
  1787. list.Add(ugr.Cells["LEN_GP_SINGLE"].Value.ToString());
  1788. list.Add(ugr.Cells["INWL_ID"].Value.ToString());
  1789. list.Add(ifMonitorLg);
  1790. list.Add(outsBillFl);
  1791. list.Add(wholeBacklogDesc);
  1792. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProZgPlnAnaly", new object[] { list }, this.ob);
  1793. if (dt.Rows.Count > 0)
  1794. {
  1795. if (double.Parse(dt.Rows[0]["GP_SYWEIGHT"].ToString()) > 0)
  1796. {
  1797. //ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly;
  1798. ugr.Cells["ALLOWANCE"].Value = dt.Rows[0]["GP_SYWEIGHT"].ToString();
  1799. ugr.Appearance.BackColor = Color.GreenYellow;
  1800. //ugr.Cells["GPREQ_ID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  1801. }
  1802. }
  1803. }
  1804. ugr.Cells["CHC"].Value = false;
  1805. }
  1806. if (count == 0)
  1807. {
  1808. MessageUtil.ShowTips("请选择无管坯需求编号的轧管订单排产信息!");
  1809. return;
  1810. }
  1811. }
  1812. /// <summary>
  1813. /// 冲余量
  1814. /// </summary>
  1815. private void DoBluntAllow()
  1816. {
  1817. UltraGridRow ugr = ultraGridGpProc.ActiveRow;
  1818. if (ugr == null)
  1819. {
  1820. return;
  1821. }
  1822. ArrayList list1 = new ArrayList();
  1823. IQueryable<UltraGridRow> ugrs = null;
  1824. ultraGrid2.UpdateData();
  1825. ugrs = ultraGrid2.Rows.AsQueryable().Where("CHC = 'True'");
  1826. if (ugrs.Count() == 0)
  1827. {
  1828. MessageUtil.ShowTips("未勾选轧管排产订单信息。");
  1829. return;
  1830. }
  1831. double reallWT = 0;
  1832. foreach (UltraGridRow urow in ugrs)
  1833. {
  1834. //if (urow.Cells["ALLOWANCE"].Text.Equals("") || urow.Cells["ALLOWANCE"].Value.Equals("0"))
  1835. //{
  1836. // MessageBox.Show("选择的轧管订单:" + urow.Cells["PRO_PLAN_ID"].Value.ToString() + "/" + urow.Cells["GX_PLAN_NO"].Value.ToString() + ",没有管坯余量不能进行此操作!");
  1837. // return;
  1838. //}
  1839. reallWT += double.Parse(urow.Cells["Reall_WT"].Value.ToString());
  1840. string ifMonitorLg = "0";
  1841. if (urow.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是"))
  1842. {
  1843. ifMonitorLg = "1";
  1844. }
  1845. string outsBillFl = "0";
  1846. if (urow.Cells["OUTS_BILLET_FL"].Text.ToString().Equals("外购"))
  1847. {
  1848. outsBillFl = "1";
  1849. }
  1850. string wholeBacklogDesc = "";
  1851. if (!urow.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals(""))
  1852. {
  1853. string[] sArray = urow.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries);
  1854. wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1);
  1855. }
  1856. ArrayList list = new ArrayList();
  1857. list.Add(urow.Cells["PRO_PLAN_ID"].Value.ToString());
  1858. list.Add(urow.Cells["GX_PLAN_NO"].Value.ToString());
  1859. list.Add(urow.Cells["GRADECODE"].Value.ToString());
  1860. list.Add(urow.Cells["LEN_GP_SINGLE"].Value.ToString());
  1861. list.Add(urow.Cells["INWL_ID"].Value.ToString());
  1862. list.Add(ifMonitorLg);
  1863. list.Add(outsBillFl);
  1864. list.Add(wholeBacklogDesc);
  1865. list.Add(urow.Cells["Reall_NUM"].Value.ToString());
  1866. list.Add(urow.Cells["Reall_WT"].Value.ToString());
  1867. list1.Add(list);
  1868. }
  1869. if (reallWT > double.Parse(ugr.Cells["GP_SYWEIGHT"].Value.ToString()))
  1870. {
  1871. MessageBox.Show("选择轧管订单管坯需求吨大于余量不能进行此操作!");
  1872. return;
  1873. }
  1874. PlanComm.WaitFromOpen(this.Cursor);
  1875. CoreClientParam ccp = new CoreClientParam();
  1876. ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp";
  1877. ccp.MethodName = "doBluntAllow";
  1878. ccp.ServerParams = new object[] { list1 };
  1879. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1880. PlanComm.WaitFromColse(this.Cursor);
  1881. if (ccp.ReturnCode == -1) return;
  1882. MessageUtil.ShowTips(ccp.ReturnInfo);
  1883. if (ccp.ReturnInfo.Equals("冲余量成功!"))
  1884. {
  1885. DoQueryGpReq();
  1886. }
  1887. }
  1888. /// <summary>
  1889. /// 获取管坯信息
  1890. /// </summary>
  1891. /// <param name="listZgMS">组到同一管坯需求的轧管订单集合</param>
  1892. /// <returns></returns>
  1893. private static PlnReqinfGpEntity getGpFromListZgMs(List<PlnZgSToGpEntity> listZgMS)
  1894. {
  1895. if (listZgMS == null || listZgMS.Count == 0)
  1896. {
  1897. return null;
  1898. }
  1899. PlnZgSToGpEntity zgStoGp = listZgMS[0];
  1900. PlnReqinfGpEntity gpReqEntity = new PlnReqinfGpEntity();
  1901. double weightGpOne = 0;//管坯米单重
  1902. double diameterGp = 0;//管坯断面
  1903. int gpreqnum = 0;//需求支
  1904. double gpreqWeight = 0;//需求吨
  1905. double gpreqWeightMin = 0;//需求吨Min
  1906. double lenGpSingle = 0;
  1907. //管坯需求信息
  1908. double.TryParse(zgStoGp.LenGpSingle,out lenGpSingle);
  1909. double.TryParse(zgStoGp.DiameterGp, out diameterGp);
  1910. foreach (PlnZgSToGpEntity zgMsEntity in listZgMS)
  1911. {
  1912. //int numZgMs = 0;
  1913. //int cutNum = 0;//单坯分切数
  1914. //int.TryParse(zgMsEntity.NumS, out numZgMs);
  1915. //int.TryParse(zgMsEntity.OutnumCut, out cutNum);
  1916. //if (cutNum > 0)
  1917. //{
  1918. // double fl = numZgMs / Convert.ToDouble(cutNum);
  1919. // gpreqnum += (int)Math.Ceiling(fl);
  1920. //}
  1921. //gpreqnum += int.Parse(zgMsEntity.GpreqNum);
  1922. //gpreqWeight += double.Parse(zgMsEntity.GpreqWeight);
  1923. gpreqnum += int.Parse(zgMsEntity.ReallNum);
  1924. gpreqWeight += double.Parse(zgMsEntity.ReallWt);
  1925. gpreqWeightMin += double.Parse(zgMsEntity.ReallWtMin);
  1926. }
  1927. weightGpOne = PlanComm.GpweightOfmi(diameterGp) * lenGpSingle / 1000;
  1928. gpReqEntity.IfMonitorLg = zgStoGp.IfMonitorLg;
  1929. gpReqEntity.PrdcrNo = zgStoGp.PrdcrNo;
  1930. gpReqEntity.Ifbuyplan = zgStoGp.Ifbuyplan;
  1931. gpReqEntity.Sic = zgStoGp.SicGp;
  1932. gpReqEntity.Dic = zgStoGp.DicGp;
  1933. gpReqEntity.Cic = zgStoGp.CicGp;
  1934. gpReqEntity.Pic = zgStoGp.PicGp;
  1935. gpReqEntity.Wic = zgStoGp.WicGp;
  1936. gpReqEntity.Gic = zgStoGp.GicGp;
  1937. gpReqEntity.MaterialNo = zgStoGp.InwlId;
  1938. gpReqEntity.MaterialName = zgStoGp.InwlDesc;
  1939. gpReqEntity.LenGpSingle = zgStoGp.LenGpSingle;
  1940. gpReqEntity.Gradecode = zgStoGp.Gradecode;
  1941. gpReqEntity.Gradename = zgStoGp.Gradename;
  1942. gpReqEntity.DiameterGp = zgStoGp.DiameterGp;
  1943. gpReqEntity.WeightGpOne = weightGpOne.ToString();
  1944. gpReqEntity.GpNum = gpreqnum.ToString();
  1945. gpReqEntity.GpWeight = gpreqWeight.ToString();
  1946. gpReqEntity.GpWeightMin = gpreqWeightMin.ToString();
  1947. gpReqEntity.GowhereCode = zgStoGp.GowhereCode;
  1948. gpReqEntity.GowhereName = zgStoGp.GowhereName;
  1949. gpReqEntity.SupplyUnit = zgStoGp.SupplyUnit;
  1950. gpReqEntity.SupplyUnitCode = zgStoGp.SupplyUnitCode;
  1951. gpReqEntity.TypeFlag = zgStoGp.TypeFlag;
  1952. //gpReqEntity.GpNum = numGp.ToString();
  1953. //gpReqEntity.GpWeight = Math.Round(numGp * weightGpOne, 3).ToString();
  1954. return gpReqEntity;
  1955. }
  1956. /// <summary>
  1957. /// 获取轧管投料
  1958. /// </summary>
  1959. private void getZgMsInMaterial()
  1960. {
  1961. UltraGridRow ugr = this.ultraGridZgMs.ActiveRow;
  1962. if (ugr == null)
  1963. {
  1964. return;
  1965. }
  1966. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getZgMsInMaterial",
  1967. new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString(),
  1968. ugr.Cells["GX_PLAN_NO"].Value.ToString(), ugr.Cells["DIAMETER_GP"].Value.ToString(),ugr.Cells["GRADECODE_ALL"].Value.ToString() }, this.ob);
  1969. if (dt == null)
  1970. {
  1971. return;
  1972. }
  1973. //DataRow[] drs = dt.Select("SPEC_GP ='" + ugr.Cells["DIAMETER_GP"].Value.ToString() + "'");
  1974. //if (drs == null || drs.Length == 0) return;
  1975. //DataTable tmp = drs[0].Table.Clone(); // 复制DataRow的表结构
  1976. //foreach (DataRow row in drs)
  1977. //{
  1978. // tmp.ImportRow(row); // 将DataRow添加到DataTable中
  1979. //}
  1980. ugr.Cells["INWL_ID"].ValueList = PlanComm.GeneralValuelist(ref dt, "D_IN_MATERIAL_NO", "D_IN_MATERIAL_DESC");
  1981. }
  1982. #region 事件
  1983. private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
  1984. {
  1985. }
  1986. private void ultraGridZgMs_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
  1987. {
  1988. FindSameCic();
  1989. }
  1990. private void ultraGridZgMs_KeyDown(object sender, KeyEventArgs e)
  1991. {
  1992. if (e.Control && e.KeyCode == Keys.D)
  1993. {
  1994. setSameCicGp();
  1995. }
  1996. }
  1997. private void ultraGridZgMs_AfterRowActivate(object sender, EventArgs e)
  1998. {
  1999. UltraGridRow row = ultraGridZgMs.ActiveRow;
  2000. if (row == null) return;
  2001. getGpIcList();
  2002. getZgMsInMaterial();
  2003. string ifMonitorLg = "0";
  2004. if (row.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是"))
  2005. {
  2006. ifMonitorLg = "1";
  2007. }
  2008. string outsBillFl = "0";
  2009. if (row.Cells["OUTS_BILLET_FL"].Text.ToString().Equals("外购"))
  2010. {
  2011. outsBillFl = "1";
  2012. }
  2013. string wholeBacklogDesc = "";
  2014. if (!row.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals(""))
  2015. {
  2016. string[] sArray = row.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries);
  2017. wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1);
  2018. }
  2019. ArrayList list = new ArrayList();
  2020. list.Add(row.Cells["GRADECODE"].Value.ToString());
  2021. list.Add(row.Cells["LEN_GP_SINGLE"].Value.ToString());
  2022. list.Add(row.Cells["INWL_ID"].Value.ToString());
  2023. list.Add(ifMonitorLg);
  2024. list.Add(outsBillFl);
  2025. list.Add(wholeBacklogDesc);
  2026. DoQueryGpReq(row.Cells["GPREQ_ID"].Value.ToString(), list);
  2027. }
  2028. private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
  2029. {
  2030. if (_groupBox1ExpandedChanged == false || _groupBox2ExpandedChanged == false)
  2031. {
  2032. _splitterDistance1 = splitContainer1.SplitterDistance;
  2033. //if (splitContainer1.SplitterDistance > 25)
  2034. //{
  2035. // ultraExpandableGroupBox1.Expanded = true;
  2036. //}
  2037. //else
  2038. //{
  2039. // ultraExpandableGroupBox1.Expanded = false;
  2040. //}
  2041. if (splitContainer1.SplitterDistance < splitContainer1.Parent.Height - 95)
  2042. {
  2043. ultraExpandableGroupBox2.Expanded = true;
  2044. }
  2045. else
  2046. {
  2047. ultraExpandableGroupBox2.Expanded = false;
  2048. }
  2049. }
  2050. }
  2051. //private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
  2052. //{
  2053. // _groupBox1ExpandedChanged = true;
  2054. // if (ultraExpandableGroupBox1.Expanded == false)
  2055. // {
  2056. // _groupBox2ExpandedChanged = true;
  2057. // ultraExpandableGroupBox2.Expanded = true;
  2058. // splitContainer1.SplitterDistance = 0;
  2059. // _groupBox2ExpandedChanged = false;
  2060. // }
  2061. // else
  2062. // {
  2063. // splitContainer1.SplitterDistance = _splitterDistance1;
  2064. // }
  2065. // _groupBox1ExpandedChanged = false;
  2066. //}
  2067. private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e)
  2068. {
  2069. _groupBox2ExpandedChanged = true;
  2070. if (ultraExpandableGroupBox2.Expanded == false)
  2071. {
  2072. _groupBox1ExpandedChanged = true;
  2073. //ultraExpandableGroupBox1.Expanded = true;
  2074. splitContainer1.SplitterDistance = this.Height;
  2075. _groupBox1ExpandedChanged = false;
  2076. }
  2077. else
  2078. {
  2079. splitContainer1.SplitterDistance = _splitterDistance1;
  2080. }
  2081. _groupBox2ExpandedChanged = false;
  2082. }
  2083. private void chcProGpplanNo_CheckedChanged(object sender, EventArgs e)
  2084. {
  2085. if (chcProGpplanNo.Checked)
  2086. {
  2087. ultraComboProGpplanNo.Enabled = true;
  2088. }
  2089. else
  2090. {
  2091. ultraComboProGpplanNo.Enabled = false;
  2092. }
  2093. }
  2094. private void chcZgMsplanNo_CheckedChanged(object sender, EventArgs e)
  2095. {
  2096. if (chcZgMsplanNo.Checked)
  2097. {
  2098. ultraComboZgMsplan.Enabled = true;
  2099. }
  2100. else
  2101. {
  2102. ultraComboZgMsplan.Enabled = false;
  2103. }
  2104. }
  2105. private void ultraCheckOrdLine_CheckedChanged(object sender, EventArgs e)
  2106. {
  2107. if (ultraCheckOrdLine.Checked)
  2108. {
  2109. this.ultraTextOrdLine.Enabled = true;
  2110. }
  2111. else
  2112. {
  2113. ultraTextOrdLine.Enabled = false;
  2114. }
  2115. }
  2116. private void ultraCheckProMonth_CheckedChanged(object sender, EventArgs e)
  2117. {
  2118. if (ultraCheckProMonth.Checked)
  2119. {
  2120. this.ultraDateTimeProMonth.Enabled = true;
  2121. }
  2122. else
  2123. {
  2124. ultraDateTimeProMonth.Enabled = false;
  2125. }
  2126. }
  2127. private void ultraGridZgMs_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  2128. {
  2129. foreach (UltraGridRow uRow in ultraGridZgMs.Selected.Rows)
  2130. {
  2131. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  2132. {
  2133. uRow.Cells["CHC"].Value = true;
  2134. }
  2135. }
  2136. }
  2137. private void ultraGridGpProc_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  2138. {
  2139. foreach (UltraGridRow uRow in ultraGridGpProc.Selected.Rows)
  2140. {
  2141. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  2142. {
  2143. uRow.Cells["CHC"].Value = true;
  2144. }
  2145. }
  2146. }
  2147. private void ultraGridGpProc_AfterRowActivate(object sender, EventArgs e)
  2148. {
  2149. UltraGridRow ugr = ultraGridGpProc.ActiveRow;
  2150. if (ugr == null)
  2151. {
  2152. return;
  2153. }
  2154. #region 获取铸造,锻造产线
  2155. //if (!ugr.Cells["REC_TYPE"].Text.ToString().Trim().Equals("预排"))
  2156. //{
  2157. // if (!ugr.Cells["GPTYPE"].Value.ToString().Trim().Equals("锻坯"))
  2158. // {
  2159. // DataTable dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater",
  2160. // new object[] { "" }, this.ob);
  2161. // if (dtSpec == null || dtSpec.Rows.Count == 0)
  2162. // {
  2163. // return;
  2164. // }
  2165. // ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtSpec, "DIMATER", "DIMATER");
  2166. // }
  2167. // else
  2168. // {
  2169. // if (ugr.Cells["CASTINGTYPE"].Value.ToString().Trim().Equals("模铸"))
  2170. // {
  2171. // //DataTable dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecWt",
  2172. // //new object[] { "" }, this.ob);
  2173. // //if (dtSpec == null || dtSpec.Rows.Count == 0)
  2174. // //{
  2175. // // return;
  2176. // //}
  2177. // //ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtSpec, "WEIGHT", "WEIGHT");
  2178. // setValueListGp();
  2179. // }
  2180. // else
  2181. // {
  2182. // DataTable dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater",
  2183. // new object[] { "" }, this.ob);
  2184. // if (dtSpec == null || dtSpec.Rows.Count == 0)
  2185. // {
  2186. // return;
  2187. // }
  2188. // ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtSpec, "DIMATER", "DIMATER");
  2189. // }
  2190. // }
  2191. //}
  2192. #endregion
  2193. //if (CustomInfo == "1")//外购
  2194. //{
  2195. string ifMonitorLg = "0";
  2196. if (ugr.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是"))
  2197. {
  2198. ifMonitorLg = "1";
  2199. }
  2200. string outsBillFl = "0";
  2201. if (ugr.Cells["IFBUYPLAN"].Text.ToString().Equals("是"))
  2202. {
  2203. outsBillFl = "1";
  2204. }
  2205. //string wholeBacklogDesc = "";
  2206. //if (!ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals(""))
  2207. //{
  2208. // string[] sArray = ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries);
  2209. // wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1);
  2210. //}
  2211. ArrayList list = new ArrayList();
  2212. list.Add(ugr.Cells["CIC"].Value.ToString());
  2213. list.Add(ugr.Cells["LEN_GP_SINGLE"].Value.ToString());
  2214. list.Add(ugr.Cells["MATERIAL_NO"].Value.ToString());
  2215. list.Add(ifMonitorLg);
  2216. list.Add(outsBillFl);
  2217. list.Add(ugr.Cells["WHOLE_BACKLOG_DESC"].Value.ToString());
  2218. list.Add(ugr.Cells["PIC"].Value.ToString());
  2219. list.Add(ugr.Cells["SIC"].Value.ToString());
  2220. list.Add(ugr.Cells["STATION_ROAD_LG"].Value.ToString());
  2221. DoQueryZg(ugr.Cells["GPREQ_ID"].Value.ToString(), list);
  2222. //}
  2223. }
  2224. private void ultraGridZgMs_CellChange(object sender, CellEventArgs e)
  2225. {
  2226. UltraGridRow ugr = e.Cell.Row;
  2227. ugr.Update();
  2228. if (e.Cell.Column.Key.Equals("INWL_ID"))
  2229. {
  2230. ugr.Cells["INWL_DESC"].Value = ugr.Cells["INWL_ID"].Text;
  2231. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getZgMsInMaterial",
  2232. new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString(),
  2233. ugr.Cells["GX_PLAN_NO"].Value.ToString(),ugr.Cells["DIAMETER_GP"].Value.ToString(),ugr.Cells["GRADECODE_ALL"].Value.ToString()}, this.ob);
  2234. if (dt != null && dt.Rows.Count > 0)
  2235. {
  2236. dt.DefaultView.RowFilter = "D_IN_MATERIAL_NO='" + ugr.Cells["INWL_ID"].Value.ToString() + "'";
  2237. DataTable dtFilter = dt.DefaultView.ToTable();
  2238. ugr.Cells["GRADECODE"].Value = dtFilter.Rows[0]["GRADECODE"].ToString();
  2239. ugr.Cells["GRADENAME"].Value = dtFilter.Rows[0]["GRADENAME"].ToString();
  2240. //ugr.Cells["DIAMETER_GP"].Value = dtFilter.Rows[0]["DIMATER"].ToString();
  2241. }
  2242. // DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectGpIcList",
  2243. //new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
  2244. // if (dt1 == null || dt1.Rows.Count < 0)
  2245. // {
  2246. // return;
  2247. // }
  2248. DataTable dtCic = null;
  2249. // DataRow dr = dt1.Rows[0];
  2250. string[] listCic = ugr.Cells["CIC_GROUP_GP"].Value.ToString().Split(',');
  2251. //ArrayList list = new ArrayList();
  2252. //for (int i = 0; i < listCic.Length; i++)
  2253. //{
  2254. // list.Add(listCic[i].Trim());
  2255. //}
  2256. //listCic = list.ToArray();
  2257. if (listCic.Count() > 1 || (listCic.Count() == 1 && !listCic[0].Equals("")))
  2258. {
  2259. dtCic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenCicByGrade",
  2260. new object[] { ugr.Cells["GRADECODE"].Value.ToString(), listCic }, this.ob);
  2261. }
  2262. groupCic.DataSource = dtCic;
  2263. groupCic.ValueMember = "CIC";
  2264. groupCic.DisplayMember = "CIC";
  2265. if (dtCic.Rows.Count > 0)
  2266. {
  2267. ugr.Cells["CIC_GP"].Value = dtCic.Rows[0]["CIC"].ToString();
  2268. }
  2269. getGpIcList();
  2270. }
  2271. }
  2272. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  2273. {
  2274. foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows)
  2275. {
  2276. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  2277. {
  2278. uRow.Cells["CHC"].Value = true;
  2279. }
  2280. }
  2281. }
  2282. #endregion
  2283. /// <summary>
  2284. /// 锻造规格
  2285. /// </summary>
  2286. private void setValueListGp()
  2287. {
  2288. UltraGridRow ugr = ultraGridGpProc.ActiveRow;
  2289. if (ugr == null)
  2290. {
  2291. return;
  2292. }
  2293. ugr.Update();
  2294. if (!ugr.Cells["GPTYPE"].Value.ToString().Trim().Equals("锻坯"))
  2295. {
  2296. DataTable dtSpec = null;
  2297. string spceCode = "";
  2298. string spceName = "";
  2299. string wlidZz = "";//铸造物料编码
  2300. string wldescZz = "";//铸造物料描述
  2301. dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater",
  2302. new object[] { ugr.Cells["DIAMETER_ZZ"].Value.ToString() }, this.ob);
  2303. if (dtSpec == null || dtSpec.Rows.Count == 0)
  2304. {
  2305. return;
  2306. }
  2307. spceCode = dtSpec.Rows[0]["SPEC_CODE"].ToString();
  2308. spceName = dtSpec.Rows[0]["SPEC_NAME"].ToString();
  2309. wlidZz = "PA" + spceCode + ugr.Cells["GRADECODE"].Value.ToString();
  2310. wldescZz = "PA" + spceName + "," + ugr.Cells["GRADENAME"].Value.ToString();
  2311. ////可选连铸坯规格
  2312. //DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getSpindleSinlist",
  2313. // new object[] { ugr.Cells["GPREQ_ID"].Value.ToString(), "连铸" }, this.ob);
  2314. //ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt, "DIMATER", "DIMATER");
  2315. //铸造可选产线
  2316. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpZzPinelist",
  2317. new object[] { ugr.Cells["GRADECODE"].Value.ToString(), wlidZz }, this.ob);
  2318. if (dt1 == null || dt1.Rows.Count == 0)
  2319. {
  2320. ugr.Cells["PLINE_CODE_ZZ"].Value = "";
  2321. }
  2322. else
  2323. {
  2324. ugr.Cells["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt1, "PLINE_CODE", "PLINE_NAME");
  2325. }
  2326. ugr.Cells["WLID_ZZ"].Value = wlidZz;
  2327. ugr.Cells["WLDESC_ZZ"].Value = wldescZz;
  2328. ugr.Cells["WT_ONE_ZZ"].Activation = Activation.ActivateOnly;
  2329. }
  2330. ugr.Update();
  2331. if (ugr.Cells["CASTINGTYPE"].Value.ToString().Trim().Equals("模铸"))
  2332. {
  2333. DataTable dtSpec = null;
  2334. string spceCode = "";
  2335. string spceName = "";
  2336. string wlidZz = "";//铸造物料编码
  2337. string wldescZz = "";//铸造物料描述
  2338. dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecWt",
  2339. new object[] { ugr.Cells["DIAMETER_ZZ"].Value.ToString() }, this.ob);
  2340. if (dtSpec == null || dtSpec.Rows.Count == 0)
  2341. {
  2342. return;
  2343. }
  2344. spceCode = dtSpec.Rows[0]["SPEC_CODE"].ToString();
  2345. spceName = dtSpec.Rows[0]["SPEC_NAME"].ToString();
  2346. wlidZz = "PD" + spceCode + ugr.Cells["GRADECODE"].Value.ToString();
  2347. wldescZz = "PD" + spceName + "," + ugr.Cells["GRADENAME"].Value.ToString();
  2348. //可选模铸锭型
  2349. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getSpindleSinlist",
  2350. new object[] { ugr.Cells["GPREQ_ID"].Value.ToString(), "模铸" }, this.ob);
  2351. ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt, "WEIGHT", "WEIGHT");
  2352. //铸造可选产线
  2353. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpZzPinelist",
  2354. new object[] { ugr.Cells["GRADECODE"].Value.ToString(), wlidZz }, this.ob);
  2355. ugr.Cells["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt1, "PLINE_CODE", "PLINE_NAME");
  2356. //锻造可选产线
  2357. DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessCPline",
  2358. new object[] { wlidZz, ugr.Cells["MATERIAL_NO"].Value.ToString() }, this.ob);
  2359. ugr.Cells["PLINE_CODE_DZ"].ValueList = PlanComm.GeneralValuelist(ref dt2, "PLINE_CODE", "PLINE_NAME");
  2360. ugr.Cells["WLID_ZZ"].Value = wlidZz;
  2361. ugr.Cells["WLDESC_ZZ"].Value = wldescZz;
  2362. //ugr.Cells["DIAMETER_ZZ"].Activation = Activation.ActivateOnly;
  2363. //ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly;
  2364. }
  2365. else
  2366. {
  2367. DataTable dtSpec = null;
  2368. string spceCode = "";
  2369. string spceName = "";
  2370. string wlidZz = "";//铸造物料编码
  2371. string wldescZz = "";//铸造物料描述
  2372. dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater",
  2373. new object[] { ugr.Cells["DIAMETER_ZZ"].Value.ToString() }, this.ob);
  2374. if (dtSpec == null || dtSpec.Rows.Count == 0)
  2375. {
  2376. return;
  2377. }
  2378. spceCode = dtSpec.Rows[0]["SPEC_CODE"].ToString();
  2379. spceName = dtSpec.Rows[0]["SPEC_NAME"].ToString();
  2380. wlidZz = "PA" + spceCode + ugr.Cells["GRADECODE"].Value.ToString();
  2381. wldescZz = "PA" + spceName + "," + ugr.Cells["GRADENAME"].Value.ToString();
  2382. ////可选连铸坯规格
  2383. //DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getSpindleSinlist",
  2384. // new object[] { ugr.Cells["GPREQ_ID"].Value.ToString(), "连铸" }, this.ob);
  2385. //ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt, "DIMATER", "DIMATER");
  2386. //铸造可选产线
  2387. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpZzPinelist",
  2388. new object[] { ugr.Cells["GRADECODE"].Value.ToString(), wlidZz }, this.ob);
  2389. if (dt1 == null || dt1.Rows.Count == 0)
  2390. {
  2391. ugr.Cells["PLINE_CODE_ZZ"].Value = "";
  2392. }
  2393. else
  2394. {
  2395. ugr.Cells["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt1, "PLINE_CODE", "PLINE_NAME");
  2396. }
  2397. //锻造可选产线
  2398. DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessCPline",
  2399. new object[] { wlidZz, ugr.Cells["MATERIAL_NO"].Value.ToString() }, this.ob);
  2400. ugr.Cells["PLINE_CODE_DZ"].ValueList = PlanComm.GeneralValuelist(ref dt2, "PLINE_CODE", "PLINE_NAME");
  2401. ugr.Cells["WLID_ZZ"].Value = wlidZz;
  2402. ugr.Cells["WLDESC_ZZ"].Value = wldescZz;
  2403. ugr.Cells["WT_ONE_ZZ"].Activation = Activation.ActivateOnly;
  2404. }
  2405. }
  2406. ///// <summary>
  2407. ///// 管坯优化信息
  2408. ///// </summary>
  2409. ///// <param name="sender"></param>
  2410. ///// <param name="e"></param>
  2411. //private void ultraGridGpProc_Click(object sender, EventArgs e)
  2412. //{
  2413. // numCont = 2;
  2414. //}
  2415. ///// <summary>
  2416. ///// 轧管订单信息
  2417. ///// </summary>
  2418. ///// <param name="sender"></param>
  2419. ///// <param name="e"></param>
  2420. //private void ultraGridZgMs_Click(object sender, EventArgs e)
  2421. //{
  2422. // numCont = 1;
  2423. //}
  2424. //private void ultraGridZgMs_ClickCell(object sender, ClickCellEventArgs e)
  2425. //{
  2426. // numCont = 1;
  2427. //}
  2428. //private void ultraGridGpProc_ClickCell(object sender, ClickCellEventArgs e)
  2429. //{
  2430. // numCont = 2;
  2431. //}
  2432. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  2433. {
  2434. if (toolMenu == null) return;
  2435. if (e.Tab.TabControl.SelectedTab.Key.Equals("0"))
  2436. {
  2437. if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; }
  2438. if (toolMenu.Toolbars[0].Tools.Exists("ModifyGpAimWall")) { toolMenu.Toolbars[0].Tools["ModifyGpAimWall"].InstanceProps.Visible = DefaultableBoolean.True; }
  2439. if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; }
  2440. if (toolMenu.Toolbars[0].Tools.Exists("DoAddGp")) { toolMenu.Toolbars[0].Tools["DoAddGp"].InstanceProps.Visible = DefaultableBoolean.True; }
  2441. if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; }
  2442. if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpReq")) { toolMenu.Toolbars[0].Tools["DeleteGpReq"].InstanceProps.Visible = DefaultableBoolean.False; }
  2443. if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpSinZg")) { toolMenu.Toolbars[0].Tools["DeleteGpSinZg"].InstanceProps.Visible = DefaultableBoolean.True; }
  2444. if (toolMenu.Toolbars[0].Tools.Exists("ModifyGp")) { toolMenu.Toolbars[0].Tools["ModifyGp"].InstanceProps.Visible = DefaultableBoolean.False; }
  2445. if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGp")) { toolMenu.Toolbars[0].Tools["ConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; }
  2446. if (toolMenu.Toolbars[0].Tools.Exists("ConcelConfirmGp")) { toolMenu.Toolbars[0].Tools["ConcelConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; }
  2447. if (toolMenu.Toolbars[0].Tools.Exists("Walkthrough")) { toolMenu.Toolbars[0].Tools["Walkthrough"].InstanceProps.Visible = DefaultableBoolean.False; }
  2448. if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.False; }
  2449. if (toolMenu.Toolbars[0].Tools.Exists("Temporary")) { toolMenu.Toolbars[0].Tools["Temporary"].InstanceProps.Visible = DefaultableBoolean.True; }
  2450. chcZgMsplanNo.Visible = true;
  2451. ultraComboProGpplanNo.Visible = false;
  2452. ultraCheckOrdLine.Visible = true;
  2453. ultraTextOrdLine.Visible = true;
  2454. ultraCheckEditor1.Visible = true;
  2455. comZgStrat.Visible = true;
  2456. chcProGpplanNo.Visible = false;
  2457. ultraComboZgMsplan.Visible = true;
  2458. userControlGpStrat1.Visible = false;
  2459. radioButton1.Visible = true;
  2460. ultraCheckEditor2.Visible = true;
  2461. }
  2462. else
  2463. {
  2464. if (toolMenu.Toolbars[0].Tools.Exists("Temporary")) { toolMenu.Toolbars[0].Tools["Temporary"].InstanceProps.Visible = DefaultableBoolean.False; }
  2465. if (CustomInfo == "0")//自炼
  2466. {
  2467. if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.False; }
  2468. //ultraExpandableGroupBox1.Visible = false;
  2469. }
  2470. else
  2471. {
  2472. if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.True; }
  2473. //ultraExpandableGroupBox1.Visible = true;
  2474. }
  2475. //if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; }
  2476. if (toolMenu.Toolbars[0].Tools.Exists("ModifyGpAimWall")) { toolMenu.Toolbars[0].Tools["ModifyGpAimWall"].InstanceProps.Visible = DefaultableBoolean.False; }
  2477. if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.False; }
  2478. if (toolMenu.Toolbars[0].Tools.Exists("DoAddGp")) { toolMenu.Toolbars[0].Tools["DoAddGp"].InstanceProps.Visible = DefaultableBoolean.False; }
  2479. if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.False; }
  2480. if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpReq")) { toolMenu.Toolbars[0].Tools["DeleteGpReq"].InstanceProps.Visible = DefaultableBoolean.True; }
  2481. if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpSinZg")) { toolMenu.Toolbars[0].Tools["DeleteGpSinZg"].InstanceProps.Visible = DefaultableBoolean.False; }
  2482. if (toolMenu.Toolbars[0].Tools.Exists("ModifyGp")) { toolMenu.Toolbars[0].Tools["ModifyGp"].InstanceProps.Visible = DefaultableBoolean.True; }
  2483. if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGp")) { toolMenu.Toolbars[0].Tools["ConfirmGp"].InstanceProps.Visible = DefaultableBoolean.True; }
  2484. if (toolMenu.Toolbars[0].Tools.Exists("ConcelConfirmGp")) { toolMenu.Toolbars[0].Tools["ConcelConfirmGp"].InstanceProps.Visible = DefaultableBoolean.True; }
  2485. if (toolMenu.Toolbars[0].Tools.Exists("Walkthrough")) { toolMenu.Toolbars[0].Tools["Walkthrough"].InstanceProps.Visible = DefaultableBoolean.True; }
  2486. chcZgMsplanNo.Visible = false;
  2487. ultraComboProGpplanNo.Visible = true;
  2488. ultraCheckOrdLine.Visible = false;
  2489. ultraTextOrdLine.Visible = false;
  2490. ultraCheckEditor1.Visible = false;
  2491. comZgStrat.Visible = false;
  2492. chcProGpplanNo.Visible = true;
  2493. ultraComboZgMsplan.Visible = false;
  2494. userControlGpStrat1.Visible = true;
  2495. radioButton1.Visible = false;
  2496. ultraCheckEditor2.Visible = false;
  2497. }
  2498. }
  2499. private void FrmPlnZgMStoGp_Shown(object sender, EventArgs e)
  2500. {
  2501. if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; }
  2502. if (toolMenu.Toolbars[0].Tools.Exists("ModifyGpAimWall")) { toolMenu.Toolbars[0].Tools["ModifyGpAimWall"].InstanceProps.Visible = DefaultableBoolean.True; }
  2503. if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; }
  2504. if (toolMenu.Toolbars[0].Tools.Exists("DoAddGp")) { toolMenu.Toolbars[0].Tools["DoAddGp"].InstanceProps.Visible = DefaultableBoolean.True; }
  2505. if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; }
  2506. if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpReq")) { toolMenu.Toolbars[0].Tools["DeleteGpReq"].InstanceProps.Visible = DefaultableBoolean.False; }
  2507. if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpSinZg")) { toolMenu.Toolbars[0].Tools["DeleteGpSinZg"].InstanceProps.Visible = DefaultableBoolean.True; }
  2508. if (toolMenu.Toolbars[0].Tools.Exists("ModifyGp")) { toolMenu.Toolbars[0].Tools["ModifyGp"].InstanceProps.Visible = DefaultableBoolean.False; }
  2509. if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGp")) { toolMenu.Toolbars[0].Tools["ConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; }
  2510. if (toolMenu.Toolbars[0].Tools.Exists("ConcelConfirmGp")) { toolMenu.Toolbars[0].Tools["ConcelConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; }
  2511. if (toolMenu.Toolbars[0].Tools.Exists("Walkthrough")) { toolMenu.Toolbars[0].Tools["Walkthrough"].InstanceProps.Visible = DefaultableBoolean.False; }
  2512. if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.False; }
  2513. if (toolMenu.Toolbars[0].Tools.Exists("Temporary")) { toolMenu.Toolbars[0].Tools["Temporary"].InstanceProps.Visible = DefaultableBoolean.True; }
  2514. chcZgMsplanNo.Visible = true;
  2515. ultraComboProGpplanNo.Visible = false;
  2516. ultraCheckOrdLine.Visible = true;
  2517. ultraTextOrdLine.Visible = true;
  2518. ultraCheckEditor1.Visible = true;
  2519. comZgStrat.Visible = true;
  2520. chcProGpplanNo.Visible = false;
  2521. ultraComboZgMsplan.Visible = true;
  2522. userControlGpStrat1.Visible = false;
  2523. radioButton1.Visible = true;
  2524. ultraCheckEditor2.Visible = true;
  2525. }
  2526. private void ultraGridZgMs_ClickCellButton(object sender, CellEventArgs e)
  2527. {
  2528. UltraGridRow row = ultraGridZgMs.ActiveRow;
  2529. if (e.Cell.Column.Key.Equals("CRAFT_FILE_NO"))
  2530. {
  2531. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectCraftPath",
  2532. new object[] { row.GetValue("PRO_PLAN_ID"), row.GetValue("GX_PLAN_NO"), row.GetValue("CRAFT_FILE_NO"), row.GetValue("CRAFT_SEQ") }, this.ob);
  2533. if (dt.Rows.Count > 0)
  2534. {
  2535. string filePath = dt.Rows[0]["CRAFT_PATH"].ToString();
  2536. dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath);
  2537. askDown.Show();
  2538. }
  2539. }
  2540. else if (e.Cell.Column.Key.Equals("GRADENAME"))
  2541. {
  2542. if (!row.GetValue("GPREQ_ID").Equals(""))
  2543. {
  2544. MessageUtil.ShowTips("已生成管坯需求,不允许修改!");
  2545. return;
  2546. }
  2547. string ordLnDlyPk = row.GetValue("ORD_LN_DLY_PK");
  2548. string proPlanId = row.GetValue("PRO_PLAN_ID");
  2549. string gxPlanNo = row.GetValue("GX_PLAN_NO");
  2550. string gradeCode = row.GetValue("GRADECODE");
  2551. string gradeCodeAll = row.GetValue("GRADECODE_ALL");
  2552. string diameter = row.GetValue("DIAMETER_GP");
  2553. if (gradeCode.Equals(""))
  2554. {
  2555. return;
  2556. }
  2557. string[] groupCic = null;
  2558. if (!row.GetValue("GRADECODE").Equals(""))
  2559. {
  2560. groupCic = row.Cells["CIC_GROUP_GP"].Text.ToString().Split(',');
  2561. }
  2562. string cicGp = row.GetValue("CIC_GP");
  2563. string outsBilletfl = "";
  2564. if (CustomInfo == "0")
  2565. {
  2566. outsBilletfl = "0";
  2567. }
  2568. else
  2569. {
  2570. outsBilletfl = "1";
  2571. }
  2572. //int numz = 0;
  2573. //double wtz = 0;
  2574. //if (!row.Cells["FurnNum"].Text.ToString().Equals(""))
  2575. //{
  2576. // numz = int.Parse(row.Cells["FurnNum"].Value.ToString());
  2577. // wtz = double.Parse(row.Cells["FurnWt"].Value.ToString());
  2578. //}
  2579. int numLj = 0;
  2580. double wtLj = 0;
  2581. //if (!row.Cells["LjNum"].Value.ToString().Equals("0"))
  2582. //{
  2583. numLj = int.Parse(row.Cells["LjNum"].Value.ToString());
  2584. wtLj = double.Parse(row.Cells["LjWeight"].Value.ToString());
  2585. //}
  2586. //else
  2587. //{
  2588. // numLj = int.Parse(row.Cells["MATCH_NUM_IN"].Value.ToString());
  2589. // wtLj = double.Parse(row.Cells["MATCH_WT_IN"].Value.ToString());
  2590. //}
  2591. //int batNum = 0;
  2592. //double batWt = 0;
  2593. //if (!row.Cells["OUT_NUM"].Text.ToString().Equals(""))
  2594. //{
  2595. // batNum = int.Parse(row.Cells["OUT_NUM"].Value.ToString());
  2596. // batWt = double.Parse(row.Cells["OUT_WT"].Value.ToString());
  2597. //}
  2598. //int num = numz + numLj + batNum;
  2599. int num =numLj;
  2600. FrmChangeGrade frmBomConfirm = new FrmChangeGrade(outsBilletfl, proPlanId, gxPlanNo, this.ob, groupCic, cicGp, gradeCodeAll, diameter,num);
  2601. frmBomConfirm.ShowDialog();
  2602. bool flag = frmBomConfirm.Flag;
  2603. if (flag) { proPlanIdSeq = proPlanId + gxPlanNo; DoQuery(); }//如果有修改数据,则刷新页面
  2604. }
  2605. }
  2606. private DataTable _data1;
  2607. private void radioButton1_CheckedChanged(object sender, EventArgs e)
  2608. {
  2609. ultraGridZgMs.UpdateData();
  2610. //ultraGridZgMs.DataSource = dataTable1.DefaultView;
  2611. if (radioButton1.Checked)
  2612. {
  2613. dataTable1.DefaultView.RowFilter = "Reall_NUM >0 ";
  2614. DataTable dt = dataTable1.DefaultView.ToTable();
  2615. _data1 = dataTable1.Copy();
  2616. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  2617. }
  2618. else
  2619. {
  2620. GridHelper.CopyDataToDatatable(_data1, dataTable1, true);
  2621. }
  2622. ultraGridZgMs.Refresh();
  2623. ultraGridZgMs.Update();
  2624. }
  2625. }
  2626. }