frmPipeEnter.cs 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.StlMes.Client.YdmPipeManage.Tool;
  11. using System.Collections;
  12. using Core.Mes.Client.Comm.Tool;
  13. using Core.Mes.Client.Comm.Server;
  14. using Core.Mes.Client.Comm.Control;
  15. using Core.StlMes.Client.YdmPipeManage.Dialog;
  16. using Core.StlMes.Client.YdmPipeManage.Entity;
  17. using Core.StlMes.Client.YdmBase;
  18. using Core.StlMes.Client.YdmPipeManage.Controls;
  19. using Infragistics.Win.UltraWinGrid;
  20. namespace Core.StlMes.Client.YdmPipeManage
  21. {
  22. public partial class frmPipeEnter : FrmBase
  23. {
  24. public frmPipeEnter()
  25. {
  26. this.IsLoadUserView = true;
  27. InitializeComponent();
  28. }
  29. private void frmPipeEnter_Load(object sender, EventArgs e)
  30. {
  31. //StartTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01" + " 00:00:00");
  32. //EndTime.Value = DateTime.Parse(DateTime.Now.AddMonths(1).AddDays(1 - DateTime.Now.Day).ToString("yyyy-MM-dd") + " 23:59:59");
  33. StartTime.Value = DateTime.Parse(new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToString());
  34. DateTime d1 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
  35. EndTime.Value = DateTime.Parse(d1.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd") + " 23:59:59");
  36. InitBase();
  37. InitBeglog();
  38. }
  39. private void InitBeglog()
  40. {
  41. string[] arr = BaseMethod.InitPermissions(this.ValidDataPurviewIds, ob);
  42. this.TxtBelongCode.Items.Clear();
  43. for (int i = 0; i < arr.Length; i++)
  44. {
  45. string ss = "";
  46. if (arr[i].ToString() == "100101")
  47. {
  48. ss = "国内贸易部";
  49. }
  50. else if (arr[i].ToString() == "100102")
  51. {
  52. ss = "国际贸易部";
  53. }
  54. this.TxtBelongCode.Items.Add(arr[i], ss);
  55. }
  56. }
  57. ArrayList pram = new ArrayList();
  58. DataTable orderDs = new DataTable();
  59. private void InitBase()
  60. {
  61. ArrayList parm = new ArrayList();
  62. parm.Add(this.CustomInfo);
  63. YdmBaseClass.InitComboEditorWithParm(cmbStorage, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getStorageDetail1", "STORAGE_NO", this.ob, false, new object[] { parm });
  64. YdmBaseClass.InitComboEditorWithParm(TxtStorage, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getStorageDetail1", "STORAGE_NO", this.ob, false, new object[] { parm });
  65. BaseMethod.InitPline1(TxtPline, this.ob,this.CustomInfo);
  66. BaseMethod.InitProducFlagCom(TxtProductFlag, this.ob);
  67. BaseMethod.InitSourse(TxtSourse, this.ob);
  68. BaseMethod.InitMapStatusCom(TxtMagstatus, this.ob);
  69. BaseMethod.InitGrade(cmbGrade, this.ob);
  70. BaseMethod.InitSpec(cmbSpec,this.ob);
  71. BaseMethod.InitModel(cmbModel,this.ob);
  72. }
  73. /// <summary>
  74. /// 重写基类方法
  75. /// </summary>
  76. /// <param name="sender"></param>
  77. /// <param name="ToolbarKey"></param>
  78. public override void ToolBar_Click(object sender, string ToolbarKey)
  79. {
  80. switch (ToolbarKey)
  81. {
  82. case "Query":
  83. QueryInListData();
  84. break;
  85. case"Add":
  86. addInListData();
  87. break;
  88. case "canceAdd":
  89. canceAddData();
  90. break;
  91. case"adjustYear":
  92. adjustYearMoth();
  93. break;
  94. case"Export":
  95. exportData();
  96. break;
  97. case "Close":
  98. this.Close();
  99. break;
  100. }
  101. }
  102. /// <summary>
  103. /// 调整结转年月
  104. /// </summary>
  105. private void adjustYearMoth()
  106. {
  107. this.ultraGrid1.UpdateData();
  108. ArrayList list = new ArrayList();
  109. ArrayList parm = new ArrayList();
  110. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  111. string yearMoth = uRow.Cells["BAL_YEAR_MONTH"].Text.Substring(0, 4) + uRow.Cells["BAL_YEAR_MONTH"].Text.Substring(5, 2);
  112. string adjustDoc = uRow.Cells["INSTOCK_DOC"].Value.ToString();
  113. string heatNo = uRow.Cells["JUDGE_STOVE_NO"].Value.ToString();
  114. string bacthNo = uRow.Cells["BATCH_NO"].Value.ToString();
  115. string bacthGroupNo = uRow.Cells["BATCH_GROUD_NO"].Value.ToString();
  116. //string moth = DateTime.Now.AddMonths(1).ToString("yyyyMM");
  117. string moth = DateTime.Parse(uRow.Cells["BAL_YEAR_MONTH"].Text).AddMonths(1).ToString("yyyyMM");
  118. string[] arr = BaseMethod.InitPermissions(this.ValidDataPurviewIds,ob);
  119. //parm.Add(heatNo);
  120. //parm.Add(bacthNo);
  121. //parm.Add(bacthGroupNo);
  122. parm.Add(moth);
  123. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeEnter.selectYearMoth", new object[] { parm, arr }, ob);
  124. if (int.Parse(ds.Rows[0]["ACOUNT"].ToString()) > 0)
  125. {
  126. MessageUtil.ShowTips("此炉【" + heatNo + "】已进行结转,不允许调整结转年月!");
  127. return;
  128. }
  129. string nowYearMoth = DateTime.Now.ToString("yyyyMM");
  130. //if (int.Parse(yearMoth) < int.Parse(nowYearMoth))
  131. //{
  132. // MessageUtil.ShowTips("修改的结转年月不能小于当月!");
  133. // return;
  134. //}
  135. list.Add(yearMoth);
  136. list.Add(yearMoth + "02 12:00:00");
  137. list.Add(adjustDoc);
  138. int count = ServerHelper.SetData("com.steering.pss.ydm.pipemanage.FrmPipeEnter.updateYear", new object[] { list }, ob);
  139. if (count > 0)
  140. {
  141. QueryInListData();
  142. MessageUtil.ShowTips("修改成功");
  143. }
  144. }
  145. /// <summary>
  146. /// 导出
  147. /// </summary>
  148. private void exportData()
  149. {
  150. GridHelper.ulGridToExcel(this.ultraGrid1,"手工缴库实绩");
  151. }
  152. /// <summary>
  153. /// 查询手工录入数据
  154. /// </summary>
  155. private void QueryInListData()
  156. {
  157. string heatNo = "";
  158. string storgeNo = "";
  159. string startTim = "";
  160. string endTim = "";
  161. ArrayList list = new ArrayList();
  162. if (chkRegTime.Checked)
  163. {
  164. startTim = StartTime.Value.ToString();
  165. endTim = EndTime.Value.ToString();
  166. }
  167. if (chkJudge.Checked)
  168. {
  169. if (this.cmbJudge.Text == "")
  170. {
  171. MessageUtil.ShowTips("请选择炉号!");
  172. return;
  173. }
  174. else
  175. {
  176. heatNo = this.cmbJudge.Text.Trim();
  177. }
  178. }
  179. if (chkWarehous.Checked)
  180. {
  181. if (this.cmbStorage.Text == "")
  182. {
  183. MessageUtil.ShowTips("请选择仓库!");
  184. return;
  185. }
  186. else
  187. {
  188. storgeNo = this.cmbStorage.Value.ToString();
  189. }
  190. }
  191. list.Add(heatNo);
  192. list.Add(storgeNo);
  193. string[] arr = BaseMethod.InitPermissions(this.ValidDataPurviewIds, this.ob);
  194. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeEnter.queryEnterInList", new object[] { list, arr, startTim, endTim,this.CustomInfo }, this.ob);
  195. GridHelper.CopyDataToDatatable(ref dt, ref dataTable4, true);
  196. }
  197. string storageno = "";
  198. string storagetype = "";
  199. string storagetypedesc = "";
  200. /// <summary>
  201. /// 新增手工录入数据
  202. /// </summary>
  203. private void addInListData()
  204. {
  205. if (!CheckData()) return;
  206. string orderType = doQueryOrderType(this.txtOrderNo.Text);
  207. if (orderType.Equals("120103"))
  208. {
  209. MessageUtil.ShowTips("此合同为研发合同,不允许入库!");
  210. return;
  211. }
  212. else if (orderType.Equals("120104"))
  213. {
  214. MessageUtil.ShowTips("此合同为预排合同,不允许入库!");
  215. return;
  216. }
  217. if (this.TxtProductFlag.Text == "商品")
  218. {
  219. if (this.txtOrderNo.Text == "" || this.cmbOrderSeq.Text == "" || this.cmbOrderDivNo.Text == "")
  220. {
  221. MessageUtil.ShowTips("材料类别为商品,请选择合同相关信息!");
  222. return;
  223. }
  224. }
  225. if (this.TxtProductFlag.Text == "成品")
  226. {
  227. if (this.txtOrderNo.Text != "" || this.cmbOrderSeq.Text != "" || this.cmbOrderDivNo.Text != "")
  228. {
  229. MessageUtil.ShowTips("材料类别为成品,请清除合同信息!");
  230. return;
  231. }
  232. }
  233. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeEnter.getCount", new object[] { this.TxtStoveNo.Text, this.TxtBathNo.Text }, ob);
  234. if (dt.Rows[0]["ACOUNT"].ToString() !="")
  235. {
  236. if ((int.Parse(dt.Rows[0]["ACOUNT"].ToString()) + int.Parse(this.TxtNum.Value.ToString())) - 9999 > 0)
  237. {
  238. MessageUtil.ShowTips("此炉批最多能录入【" + (9999 - int.Parse(dt.Rows[0]["ACOUNT"].ToString())).ToString() + "】支");
  239. return;
  240. }
  241. }
  242. else
  243. {
  244. if ((int.Parse(this.TxtNum.Value.ToString())) - 9999 > 0)
  245. {
  246. MessageUtil.ShowTips("此炉批最多能录入【" + (9999).ToString() + "】支");
  247. return;
  248. }
  249. }
  250. if (this.txtOrderNo.Text != "")
  251. {
  252. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeEnter.getOrderNo", new object[] { this.txtOrderNo.Text, this.cmbOrderSeq.Text, this.cmbOrderDivNo.Text }, ob);
  253. if (ds.Rows[0]["PRODUCNAME"].ToString() != this.TxtProduc.Text.ToString() || ds.Rows[0]["STD_STYLE_DESC"].ToString() != this.TxtStdStyle.Text || ds.Rows[0]["STEELNAME"].ToString() != this.TxtSteelCode.Text.ToString() || ds.Rows[0]["SPEC_CODE"].ToString() != this.cmbSpec.Value.ToString() || ds.Rows[0]["MODEL_DESC"].ToString() != this.cmbModel.Text.ToString() || ds.Rows[0]["STD_NAME"].ToString() != this.TxtStdName.Text)//|| ds.Rows[0]["LEN_MIN"].ToString() != this.TxtMin.Value.ToString() || ds.Rows[0]["LEN_MAX"].ToString() != this.TxtMax.Value.ToString()
  254. {
  255. MessageUtil.ShowTips("输入产品信息和合同产品信息不一致,请重新选择合同信息!");
  256. return;
  257. }
  258. if(!(compareToValue(double.Parse(ds.Rows[0]["LEN_MIN"].ToString()), double.Parse(ds.Rows[0]["LEN_MAX"].ToString()), double.Parse(this.TxtMin.Value.ToString()))&&(compareToValue(double.Parse(ds.Rows[0]["LEN_MIN"].ToString()), double.Parse(ds.Rows[0]["LEN_MAX"].ToString()), double.Parse(this.TxtMax.Value.ToString())))))
  259. {
  260. if(MessageUtil.ShowQuestion("输入长度上下限不满足合同上下限,是否继续入库?")== DialogResult.No)
  261. {
  262. return;
  263. }
  264. }
  265. }
  266. ArrayList parm = new ArrayList();
  267. string strInMemo = "";
  268. string strInbound = "800701";
  269. parm.Add(this.TxtStoveNo.Value.ToString());
  270. parm.Add(this.TxtBathNo.Value.ToString());
  271. parm.Add(this.TxtNum.Value.ToString().Replace("_",""));//支数
  272. parm.Add(this.TxtProduc.Tag.ToString());
  273. parm.Add(this.TxtProduc.Text);
  274. parm.Add(this.TxtSteelCode.Tag.ToString());
  275. parm.Add(this.TxtSteelCode.Text);
  276. parm.Add(this.cmbSpec.Value.ToString());
  277. parm.Add(this.cmbSpec.Text);
  278. parm.Add(this.cmbModel.Value.ToString());
  279. parm.Add(this.cmbModel.Text);
  280. parm.Add(this.TxtStdName.Tag.ToString());
  281. parm.Add(this.TxtStdName.Text);//标准名称 12
  282. parm.Add("");
  283. parm.Add("");
  284. parm.Add(this.TxtStdStyle.Tag.ToString());
  285. parm.Add(this.TxtStdStyle.Text);
  286. parm.Add(this.txtOrderNo.Text.Trim().ToUpper());
  287. parm.Add(this.cmbOrderSeq.Text.Trim());
  288. parm.Add(this.cmbOrderDivNo.Text.Trim());//合同行号
  289. parm.Add(this.TxtDimater.Text);//外径;//20
  290. parm.Add(this.TxtHeight.Text);//壁厚
  291. parm.Add(this.TxtMin.Value.ToString().Replace("_",""));
  292. parm.Add(this.TxtMax.Value.ToString().Replace("_", ""));
  293. parm.Add(this.UserInfo.GetUserName());
  294. parm.Add("0");
  295. parm.Add("1");
  296. parm.Add(this.TxtActWgt.Value.ToString().Replace("_", ""));//重量27
  297. DataTable dtMemo = PipeManageClass.getComTypeInfo(strInbound, ob);
  298. if (dtMemo.Rows.Count >= 1)
  299. {
  300. strInMemo = dtMemo.Rows[0]["MEMO"].ToString();
  301. }
  302. parm.Add(strInMemo);
  303. parm.Add(this.UserInfo.GetDeptid());
  304. parm.Add(this.UserInfo.GetDepartment());
  305. parm.Add(strInbound);//31
  306. parm.Add(this.TxtStorage.Value.ToString());//仓库号
  307. parm.Add(this.TxtLocation.Value.ToString());//料位号
  308. parm.Add(TxtBelongCode.Value.ToString());
  309. parm.Add(TxtBelongCode.Text.Trim());
  310. parm.Add(txtLen.Value.ToString());//36
  311. parm.Add(ClsBaseInfo.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this.ob));
  312. parm.Add(ClsBaseInfo.GetDepartBySectionId(this.UserInfo.GetDeptid(), this.ob));
  313. parm.Add(TxtPline.Value.ToString());//产线
  314. parm.Add(TxtPline.Text);
  315. parm.Add(cmbGrade.Value.ToString());//钢种
  316. parm.Add(cmbGrade.Text);
  317. parm.Add(this.ultraTextEditor1.Text.Trim());//备注
  318. parm.Add(TxtProductFlag.Value.ToString());//材料类别
  319. parm.Add(TxtMagstatus.Value.ToString());//材料状态
  320. parm.Add(storagetype);
  321. parm.Add(storagetypedesc);
  322. parm.Add(this.TxtSourse.Value.ToString());//材料来源
  323. parm.Add(this.TxtSourse.Text.ToString());
  324. parm.Add(this.txt_Ks.Value.ToString());//捆数
  325. if (TxtProductFlag.Text.Contains("商品"))
  326. {
  327. parm.Add("801703");//入库区分
  328. }
  329. else
  330. {
  331. parm.Add("801702");//入库区分
  332. }
  333. parm.Add(this.cmbIsDear.Value.ToString2());
  334. string[] arr = YdmBaseClass.Section(this.ValidDataPurviewIds, this.ob);
  335. CoreClientParam ccp = new CoreClientParam();
  336. ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmPipeEnter";
  337. ccp.MethodName = "addPipData";
  338. ccp.ServerParams = new object[] { parm,arr,this.CustomInfo};
  339. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  340. if (ccp.ReturnCode != -1)
  341. {
  342. if (ccp.ReturnInfo.Equals("手工入库成功!"))
  343. {
  344. QueryInListData();
  345. MessageUtil.ShowTips("手工入库成功!");
  346. }
  347. else
  348. {
  349. MessageUtil.ShowTips(ccp.ReturnInfo);
  350. }
  351. }
  352. }
  353. /// <summary>
  354. /// 查询合同类型
  355. /// </summary>
  356. /// <param name="orderNo"></param>
  357. /// <param name="orderSeq"></param>
  358. private string doQueryOrderType(string orderNo)
  359. {
  360. string orderType = "";
  361. //判断合同类型
  362. DataTable orderDs = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.CorePipeInTemp.doQueryOrderType", new object[] { orderNo }, ob);
  363. if (orderDs.Rows.Count > 0)
  364. {
  365. orderType = orderDs.Rows[0]["ORDER_TYP"].ToString();
  366. }
  367. return orderType;
  368. }
  369. /// <summary>
  370. /// 判断值在某范围内
  371. /// </summary>
  372. /// <param name="min"></param>
  373. /// <param name="max"></param>
  374. /// <param name="value"></param>
  375. /// <returns></returns>
  376. private bool compareToValue(double min, double max, double value)
  377. {
  378. if (value >= min && max >= value)
  379. {
  380. return true;
  381. }
  382. else
  383. {
  384. return false;
  385. }
  386. }
  387. /// <summary>
  388. /// 撤销手工录入数据
  389. /// </summary>
  390. private void canceAddData()
  391. {
  392. UltraGridRow row = this.ultraGrid1.ActiveRow;
  393. if (row == null || row.Index < 0)
  394. {
  395. MessageUtil.ShowTips("请选择需要撤销的数据!");
  396. return;
  397. }
  398. string[] arr = BaseMethod.InitPermissions(this.ValidDataPurviewIds, ob);
  399. string moth = "";
  400. string inListDoc = row.Cells["INSTOCK_DOC"].Value.ToString();//入库单号
  401. string orderNo = row.Cells["ORDER_NO"].Text.ToString();//合同号
  402. string orderSeqNo = row.Cells["ORDER_SEQ"].Text.ToString();//合同行
  403. string orderDivNo = row.Cells["DELIVERY_NO"].Text.ToString();//交货行
  404. string orderLinPk = row.Cells["ORD_LN_PK"].Text.ToString();//合同行键值
  405. string count = row.Cells["ACT_COUNT"].Text.ToString();// 支数
  406. string wgt = row.Cells["ACT_WEIGHT"].Text.ToString();//重量
  407. string len = row.Cells["ACT_LEN"].Text.ToString();//长度
  408. string userName = this.UserInfo.GetUserName();
  409. ArrayList list = new ArrayList();
  410. list.Add(inListDoc);
  411. list.Add(orderNo);
  412. list.Add(orderSeqNo);
  413. list.Add(orderDivNo);
  414. list.Add(orderLinPk);
  415. list.Add(count);
  416. list.Add(wgt);
  417. list.Add(len);
  418. list.Add(userName);
  419. list.Add(row.Cells["JUDGE_STOVE_NO"].Value.ToString());//炉号
  420. list.Add(row.Cells["BATCH_NO"].Value.ToString());//批号
  421. list.Add(row.Cells["BATCH_GROUD_NO"].Value.ToString());//组号
  422. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.CorePipeInTemp.queryMatNoStatus", new object[] { orderNo, orderSeqNo, orderDivNo, row.Cells["JUDGE_STOVE_NO"].Value.ToString(), row.Cells["BATCH_NO"].Value.ToString(), row.Cells["BATCH_GROUD_NO"].Value.ToString(),row.Cells["INSTOCK_DOC"].Text.ToString() }, this.ob);
  423. if (ds.Rows.Count == 0)
  424. {
  425. MessageUtil.ShowTips("此炉批组已发运,不允许撤销!");
  426. return;
  427. }
  428. else if (ds.Rows.Count == 1)
  429. {
  430. if (ds.Rows[0].ToString().Equals("80150302"))
  431. {
  432. MessageUtil.ShowWarning("该炉批组的数据不是可编提单状态,无法撤销!");
  433. return;
  434. }
  435. }
  436. else if (ds.Rows.Count > 1)
  437. {
  438. for (int i = 0; i < ds.Rows.Count; i++)
  439. {
  440. if (ds.Rows[i].ToString().Equals("80150302"))
  441. {
  442. MessageUtil.ShowWarning("该炉批组的数据不是可编提单状态,无法撤销!");
  443. return;
  444. }
  445. }
  446. }
  447. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.CorePipeInTemp.getLockFlag", new object[] { row.Cells["JUDGE_STOVE_NO"].Value.ToString(), row.Cells["BATCH_NO"].Value.ToString(), row.Cells["BATCH_GROUD_NO"].Value.ToString() }, ob);
  448. if (int.Parse(dt.Rows[0]["ACOUNT"].ToString()) > 0)
  449. {
  450. MessageUtil.ShowTips("炉号:" + row.Cells["JUDGE_STOVE_NO"].Value.ToString() + "、批号:" + row.Cells["BATCH_NO"].Value.ToString() + "的数据有被封锁的,不能撤销!");
  451. return;
  452. }
  453. ArrayList parm = new ArrayList();
  454. moth = DateTime.Parse(row.Cells["BAL_YEAR_MONTH"].Text).AddMonths(1).ToString("yyyyMM");
  455. parm.Add(moth);
  456. DataTable dg = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeAdjust.selectYearMoth", new object[] { parm, arr,this.CustomInfo }, ob);
  457. if (int.Parse(dg.Rows[0]["ACOUNT"].ToString()) > 0)
  458. {
  459. MessageUtil.ShowTips("此炉【" + row.Cells["JUDGE_STOVE_NO"].Text + "】已进行结转,不允许撤销!");
  460. return;
  461. }
  462. if (MessageUtil.ShowYesNoAndQuestion("是否撤销炉号【" + row.Cells["JUDGE_STOVE_NO"].Text + "】的库存?") == DialogResult.No) return;
  463. CoreClientParam ccp = new CoreClientParam();
  464. ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmPipeEnter";
  465. ccp.MethodName = "cancelPipData";
  466. ccp.ServerParams = new object[] { list };
  467. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  468. if (ccp.ReturnCode != -1)
  469. {
  470. if (ccp.ReturnInfo.Equals("撤销成功!"))
  471. {
  472. QueryInListData();
  473. MessageUtil.ShowTips("撤销成功!");
  474. }
  475. else
  476. {
  477. MessageUtil.ShowTips(ccp.ReturnInfo);
  478. }
  479. }
  480. }
  481. /// <summary>
  482. /// 验证数据
  483. /// </summary>
  484. /// <returns></returns>
  485. private bool CheckData()
  486. {
  487. if (this.TxtProduc.Text == "")
  488. {
  489. MessageUtil.ShowTips("品名不能为空!");
  490. return false;
  491. }
  492. if (this.TxtSteelCode.Text == "")
  493. {
  494. MessageUtil.ShowTips("钢级不能为空!");
  495. return false;
  496. }
  497. if (this.TxtStdName.Text == "")
  498. {
  499. MessageUtil.ShowTips("标准名称不能为空!");
  500. return false;
  501. }
  502. if (this.cmbSpec.SelectedItem == null)
  503. {
  504. MessageUtil.ShowTips("规格不能为空!");
  505. return false;
  506. }
  507. if (this.cmbGrade.SelectedItem == null)
  508. {
  509. MessageUtil.ShowTips("钢种不能为空!");
  510. return false;
  511. }
  512. if (this.cmbModel.SelectedItem == null)
  513. {
  514. MessageUtil.ShowTips("扣型不能为空!");
  515. return false;
  516. }
  517. //if (this.TxtDimater.Text == "")
  518. //{
  519. // MessageUtil.ShowTips("外径不能为空!");
  520. // return false;
  521. //}
  522. //if (this.TxtHeight.Text == "")
  523. //{
  524. // MessageUtil.ShowTips("壁厚不能为空!");
  525. // return false;
  526. //}
  527. if (this.TxtProductFlag.Text == "")
  528. {
  529. MessageUtil.ShowTips("材料类别不能为空!");
  530. return false;
  531. }
  532. if (this.TxtMagstatus.Text == "")
  533. {
  534. MessageUtil.ShowTips("材料状态不能为空!");
  535. return false;
  536. }
  537. if (this.TxtMax.Text == "")
  538. {
  539. MessageUtil.ShowTips("长度上限不能为空!");
  540. return false;
  541. }
  542. if (this.TxtMin.Text == "")
  543. {
  544. MessageUtil.ShowTips("长度下限不能为空!");
  545. return false;
  546. }
  547. if (this.TxtSourse.Text == "")
  548. {
  549. MessageUtil.ShowTips("材料来源不能为空!");
  550. return false;
  551. }
  552. if (this.TxtNum.Text.Trim() == "0")
  553. {
  554. MessageUtil.ShowTips("支数不能为0!");
  555. return false;
  556. }
  557. if (this.TxtActWgt.Text.Trim() == "0.000")
  558. {
  559. MessageUtil.ShowTips("重量不能为0!");
  560. return false;
  561. }
  562. if (this.TxtBelongCode.Text == "")
  563. {
  564. MessageUtil.ShowTips("销售组织不能为空!");
  565. return false;
  566. }
  567. //if (this.txtOrderNo.Text == "")
  568. //{
  569. // MessageUtil.ShowTips("合同号不能为空!");
  570. // return false;
  571. //}
  572. //if (this.cmbOrderSeq.Text == "")
  573. //{
  574. // MessageUtil.ShowTips("合同行号不能为空!");
  575. // return false;
  576. //}
  577. //if (this.cmbOrderDivNo.Text == "")
  578. //{
  579. // MessageUtil.ShowTips("交货行号不能为空!");
  580. // return false;
  581. //}
  582. if (this.TxtStoveNo.Text == "")
  583. {
  584. MessageUtil.ShowTips("炉号不能为空!");
  585. return false;
  586. }
  587. if (this.TxtBathNo.Text == "")
  588. {
  589. MessageUtil.ShowTips("批号不能为空!");
  590. return false;
  591. }
  592. if (this.TxtStorage.Text == "")
  593. {
  594. MessageUtil.ShowTips("仓库名称不能为空!");
  595. return false;
  596. }
  597. if (this.TxtPline.Text == "")
  598. {
  599. MessageUtil.ShowTips("产线不能为空!");
  600. return false;
  601. }
  602. if (this.cmbIsDear.Text == "")
  603. {
  604. MessageUtil.ShowTips("管材用途不能为空!");
  605. return false;
  606. }
  607. return true;
  608. }
  609. private void button1_Click(object sender, EventArgs e)
  610. {
  611. FrmEnterMaterialDialog frmMaterialDialog = new FrmEnterMaterialDialog(this.ob);
  612. frmMaterialDialog.ShowDialog();
  613. ComPscEntity pscEntity = frmMaterialDialog.PscEntity;
  614. if (pscEntity == null)
  615. {
  616. return;
  617. }
  618. TxtProduc.Tag = pscEntity.Produccode.ToString();
  619. TxtProduc.Text = pscEntity.Producname.ToString();
  620. TxtStdName.Tag = pscEntity.StdCode.ToString();
  621. TxtStdName.Text = pscEntity.StdName.ToString();
  622. TxtStdStyle.Tag = pscEntity.StdStyle == null ? "" : pscEntity.StdStyle.ToString();
  623. TxtStdStyle.Text = pscEntity.StdStyleDesc == null ? "" : pscEntity.StdStyleDesc.ToString();
  624. TxtSteelCode.Tag = pscEntity.Steelcode.ToString();
  625. TxtSteelCode.Text = pscEntity.Steelname.ToString();
  626. }
  627. private void chkJudge_CheckedChanged(object sender, EventArgs e)
  628. {
  629. this.cmbJudge.Enabled = this.chkJudge.Checked;
  630. }
  631. private void chkWarehous_CheckedChanged(object sender, EventArgs e)
  632. {
  633. this.cmbStorage.Enabled = this.chkWarehous.Checked;
  634. }
  635. private void TxtStorage_TextChanged(object sender, EventArgs e)
  636. {
  637. InitM();
  638. getStorageType();
  639. }
  640. /// <summary>
  641. /// 绑定目标料位号下拉框
  642. /// </summary>
  643. private void InitM()
  644. {
  645. //绑定料位号
  646. string strStorage = "";
  647. if (TxtStorage.Value == null)
  648. {
  649. return;
  650. }
  651. else
  652. {
  653. strStorage = TxtStorage.Value.ToString();
  654. }
  655. pram.Clear();
  656. pram.Add(strStorage);
  657. PipeManageClass.BindLocationInfo(pram, TxtLocation, ob);
  658. }
  659. /// <summary>
  660. /// 选择仓库之后获取对应的信息
  661. /// </summary>
  662. /// <param name="sender"></param>
  663. /// <param name="e"></param>
  664. private void getStorageType()
  665. {
  666. storageno = TxtStorage.Value.ToString();
  667. DataRow[] dr = ((DataTable)TxtStorage.DataSource).Select("STORAGE_NO='" + storageno + "'");
  668. if (dr.Length > 0)
  669. {
  670. storagetype = dr[0]["STORAGE_TYPE_NO"].ToString();
  671. storagetypedesc = dr[0]["STORAGE_TYPE_NAME"].ToString();
  672. //manageno = dr[0]["MANAGEMENT_NO"].ToString();
  673. //managedesc = dr[0]["MANAGEMENT_NAME"].ToString();
  674. }
  675. }
  676. private void cmbSpec_TextChanged(object sender, EventArgs e)
  677. {
  678. string strSpec = "";
  679. if (this.cmbSpec.Value == null)
  680. {
  681. return;
  682. }
  683. else
  684. {
  685. strSpec = cmbSpec.Value.ToString();
  686. }
  687. pram.Clear();
  688. pram.Add(strSpec);
  689. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeEnter.getDimHeig", new object[] { pram }, this.ob);
  690. if (dt.Rows.Count > 0)
  691. {
  692. if (dt.Rows[0]["DIMATER"].ToString() != "")
  693. {
  694. TxtDimater.Text = string.Format("{0:F2}", Convert.ToDouble(dt.Rows[0]["DIMATER"].ToString()));
  695. if (!dt.Rows[0]["HEIGHT"].ToString().Equals(""))
  696. {
  697. TxtHeight.Text = string.Format("{0:F2}", Convert.ToDouble(dt.Rows[0]["HEIGHT"].ToString()));
  698. }
  699. else
  700. {
  701. TxtHeight.Text = "";
  702. }
  703. }
  704. else
  705. {
  706. TxtDimater.Text = "0.00";
  707. TxtHeight.Text = "0.00";
  708. }
  709. }
  710. }
  711. private void button3_Click(object sender, EventArgs e)
  712. {
  713. FrmOrderDialog frmOrderDialog = new FrmOrderDialog(this.ob);
  714. frmOrderDialog.ShowDialog();
  715. SlmOrderLineEntity slmEntity = frmOrderDialog.SlmEntity;
  716. if (slmEntity == null)
  717. {
  718. return;
  719. }
  720. TxtProduc.Tag = slmEntity.Produccode.ToString();
  721. TxtProduc.Text = slmEntity.Producname.ToString();
  722. TxtStdName.Tag = slmEntity.StdCode.ToString();
  723. TxtStdName.Text = slmEntity.StdName.ToString();
  724. TxtStdStyle.Tag = slmEntity.StdStyle == null ? "" : slmEntity.StdStyle.ToString();
  725. TxtStdStyle.Text = slmEntity.StdStyleDesc == null ? "" : slmEntity.StdStyleDesc.ToString();
  726. TxtSteelCode.Tag = slmEntity.Steelcode.ToString();
  727. TxtSteelCode.Text = slmEntity.Steelname.ToString();
  728. cmbSpec.Tag = slmEntity.SpecCode.ToString();
  729. cmbSpec.Value = slmEntity.SpecCode.ToString();
  730. cmbSpec.Text = slmEntity.SpecName.ToString();
  731. cmbModel.Tag = slmEntity.ModelCode.ToString();
  732. cmbModel.Value = slmEntity.ModelCode.ToString();
  733. cmbModel.Text = slmEntity.ModelDesc.ToString();
  734. TxtDimater.Text = string.Format("{0:F2}", Convert.ToDouble(slmEntity.Dimater.ToString()));
  735. TxtHeight.Text = string.Format("{0:F2}", Convert.ToDouble(slmEntity.Height.ToString()));
  736. TxtMin.Value = slmEntity.LenMin.ToString();
  737. TxtMax.Value = slmEntity.LenMax.ToString();
  738. txtOrderNo.Tag = slmEntity.OrdPk.ToString();
  739. txtOrderNo.Text = slmEntity.OrderNo.ToString();
  740. cmbOrderSeq.Tag = slmEntity.OrdLnPk.ToString();
  741. cmbOrderSeq.Text = slmEntity.OrderSeq.ToString();//合同行号
  742. cmbOrderDivNo.Tag = slmEntity.OrdLnDlyPk.ToString();
  743. cmbOrderDivNo.Text = slmEntity.DeliveryNo.ToString();
  744. this.TxtProductFlag.Text = "商品";
  745. this.TxtMagstatus.Text = "材料可编计划(发运控制)";
  746. }
  747. private void TxtSourse_ValueChanged(object sender, EventArgs e)
  748. {
  749. if (this.TxtSourse.Text != "")
  750. {
  751. if (this.TxtSourse.Value.ToString() == "801302")//产线
  752. {
  753. //YdmBaseClass.InitComboEditor(TxtPline, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getFactoryDetail", "PLINE_CODE", this.ob, false);
  754. BaseMethod.InitPline1(TxtPline, this.ob, this.CustomInfo);
  755. }
  756. else if (this.TxtSourse.Value.ToString() == "801301")//外购
  757. {
  758. YdmBaseClass.InitComboEditor(TxtPline, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getWg", "BASE_CODE", this.ob, false);
  759. }
  760. else if (this.TxtSourse.Value.ToString() == "801303")//倒库
  761. {
  762. //YdmBaseClass.InitComboEditor(TxtPline, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getDk", "BASE_CODE", this.ob, false);
  763. BaseMethod.InitPline1(TxtPline, this.ob, this.CustomInfo);
  764. }
  765. else if (this.TxtSourse.Value.ToString() == "801304")//外委
  766. {
  767. YdmBaseClass.InitComboEditor(TxtPline, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getWw", "BASE_CODE", this.ob, false);
  768. }
  769. }
  770. }
  771. private void TxtProductFlag_ValueChanged(object sender, EventArgs e)
  772. {
  773. string flag = "";
  774. if(this.TxtProductFlag.Value.ToString() == "801401")
  775. {
  776. flag = "801501";
  777. }
  778. else if(this.TxtProductFlag.Value.ToString() == "801402")
  779. {
  780. flag = "801502";
  781. }
  782. else if(this.TxtProductFlag.Value.ToString() == "801403")
  783. {
  784. flag = "801503";
  785. }
  786. BaseMethod.InitMapStatusCom(TxtMagstatus, ob, flag);
  787. }
  788. }
  789. }