FrmSemiFinish.cs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Format;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using Core.StlMes.Client.YdmBase;
  6. using Core.StlMes.Client.YdmPipeManage.Dialog;
  7. using Core.StlMes.Client.YdmPipeManage.Entity;
  8. using Core.StlMes.Client.YdmPipeManage.Tool;
  9. using CoreFS.CA06;
  10. using Infragistics.Win.UltraWinGrid;
  11. using System;
  12. using System.Collections.Generic;
  13. using System.ComponentModel;
  14. using System.Data;
  15. using System.Drawing;
  16. using System.Linq;
  17. using System.Text;
  18. using System.Windows.Forms;
  19. namespace Core.StlMes.Client.YdmPipeManage
  20. {
  21. public partial class FrmSemiFinish : FrmBase
  22. {
  23. private PlnOrderZgSEntity plnOrdZgStity;
  24. public FrmSemiFinish()
  25. {
  26. InitializeComponent();
  27. }
  28. private string proPlanId = "";//轧管排产订单号
  29. private string gxPlanNo = "";//工序生产序号
  30. private void FrmSemiFinish_Load(object sender, EventArgs e)
  31. {
  32. this.RegStartTime.Value = DateTime.Parse(new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToString());
  33. DateTime d1 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
  34. this.RegEndTime.Value = DateTime.Parse(d1.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd") + " 23:59:59");
  35. EntityHelper.ShowGridCaption<YdmZcInlistEntity>(this.ultraGrid1.DisplayLayout.Bands[0]);
  36. InitBase();
  37. InitCloum();
  38. }
  39. /// <summary>
  40. /// 绑定列
  41. /// </summary>
  42. private void InitCloum()
  43. {
  44. //材料状态
  45. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150101", "材料产出待判");
  46. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150102", "材料管理封锁");
  47. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150103", "材料质量封锁");
  48. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150104", "材料可编计划");
  49. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150105", "材料已编计划");
  50. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150106", "材料为余材");
  51. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150201", "材料产出等待(未综合判定)");
  52. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150202", "材料产出(已综合判定");
  53. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150203", "材料为余材(已综合判定)");
  54. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150204", "材料脱单余材(销售组织脱单)");
  55. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150205", "材料缴库余材(销售组织缴库)");
  56. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150301", "材料可编提单");
  57. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150302", "材料已编提单");
  58. this.ultraGrid1.DisplayLayout.ValueLists[0].ValueListItems.Add("80150303", "销售出厂");
  59. }
  60. /// <summary>
  61. /// 加载基础信息
  62. /// </summary>
  63. private void InitBase()
  64. {
  65. YdmBaseClass.InitComboEditor(TxtStorage, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getStorageDetail", "STORAGE_NO", this.ob, false);
  66. //BaseMethod.InitPline(TxtPline, this.ob);
  67. BaseMethod.InitProcduce(TxtProduc, this.ob);//品名
  68. BaseMethod.InitStdStyle(TxtStdStyle, this.ob);//标准类别
  69. BaseMethod.InitMaterial(TxtMaterial, this.ob);//物料码
  70. BaseMethod.InitStdName(TxtStdName, this.ob);//标准
  71. //BaseMethod.InitProducFlagCom(TxtProductFlag, this.ob);
  72. BaseMethod.InitSourse(TxtSourse, this.ob, "2010");
  73. BaseMethod.InitMapStatusCom(TxtMagstatus, this.ob);
  74. BaseMethod.InitGrade(TxtGrade, this.ob);
  75. BaseMethod.InitSpec(TxtSpcName, this.ob);
  76. BaseMethod.InitModel(TxtModel, this.ob);
  77. this.TxtProductFlag.SelectedIndex = 0;
  78. this.TxtMagstatus.SelectedIndex = 0;
  79. //this.TxtBelongCode.SelectedIndex = 0;
  80. //this.TxtSourse.SelectedIndex = 0;
  81. if (this.CustomInfo.ToString2().Contains("120504"))
  82. {
  83. this.TxtBelongCode.SelectedIndex = 1;
  84. this.TxtPline.SelectedIndex = 2;
  85. }
  86. else
  87. {
  88. this.TxtBelongCode.SelectedIndex = 0;
  89. this.TxtPline.SelectedIndex = 0;
  90. }
  91. }
  92. /// <summary>
  93. /// 重写基类方法
  94. /// </summary>
  95. /// <param name="sender"></param>
  96. /// <param name="ToolbarKey"></param>
  97. public override void ToolBar_Click(object sender, string ToolbarKey)
  98. {
  99. switch (ToolbarKey)
  100. {
  101. case "Query":
  102. QueryInListData();
  103. break;
  104. case "Add":
  105. addInListData();
  106. break;
  107. case "canceAdd":
  108. canceAddData();
  109. break;
  110. case "Export":
  111. exportData();
  112. break;
  113. case "Close":
  114. this.Close();
  115. break;
  116. }
  117. }
  118. /// <summary>
  119. /// 查询外购管手工入库信息
  120. /// </summary>
  121. private void QueryInListData()
  122. {
  123. string jugeNo = "";
  124. string regStartTim = "";
  125. string regEndTim = "";
  126. if(this.chkRegTime.Checked)
  127. {
  128. regStartTim = this.RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  129. regEndTim = this.RegEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  130. }
  131. if (this.chkFurnace.Checked)
  132. {
  133. if (this.txtFurnace.Text.Trim() == "")
  134. {
  135. MessageUtil.ShowTips("炉号不能为空!");
  136. return;
  137. }
  138. else
  139. {
  140. jugeNo = this.txtFurnace.Text.Trim();
  141. }
  142. }
  143. List<YdmZcInlistEntity> listSource = EntityHelper.GetData<YdmZcInlistEntity>(
  144. "com.steering.pss.ydm.pipemanage.FrmSemiFinish.doQueryInListWg", new object[] { regStartTim, regEndTim, jugeNo }, ob);
  145. YdmZcInlistEntitybindingSource.DataSource = listSource;
  146. }
  147. /// <summary>
  148. /// 新增外购管入库信息
  149. /// </summary>
  150. private void addInListData()
  151. {
  152. YdmZcInlistEntity ydmEntity = GetAddData();
  153. string errMessage = CheckData(ydmEntity);
  154. if (errMessage.Length > 0)
  155. {
  156. MessageUtil.ShowWarning(errMessage);
  157. return;
  158. }
  159. string ydmTity = JSONFormat.Format(ydmEntity);
  160. string plnOrdZgEntity = JSONFormat.Format(plnOrdZgStity);
  161. if (MessageUtil.ShowYesNoAndQuestion("是否进行手工入库?") == DialogResult.No)
  162. {
  163. return;
  164. }
  165. CoreClientParam ccp = new CoreClientParam();
  166. ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmSemiFinish";
  167. ccp.MethodName = "doAddInListData";
  168. ccp.ServerParams = new object[] { ydmTity, plnOrdZgEntity };
  169. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  170. if (ccp.ReturnCode != -1)
  171. {
  172. if (ccp.ReturnInfo.Equals("入库成功!"))
  173. {
  174. QueryInListData();
  175. MessageUtil.ShowTips(ccp.ReturnInfo);
  176. }
  177. else
  178. {
  179. MessageUtil.ShowTips(ccp.ReturnInfo);
  180. }
  181. }
  182. }
  183. /// <summary>
  184. /// 撤销手工入库
  185. /// </summary>
  186. private void canceAddData()
  187. {
  188. this.ultraGrid1.UpdateData();
  189. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  190. if (uRow == null) return;
  191. YdmZcInlistEntity ydmZcinListTity = (YdmZcInlistEntity)uRow.ListObject;
  192. string ydmZcEntity = JSONFormat.Format(ydmZcinListTity);
  193. if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销?") == DialogResult.No) return;
  194. CoreClientParam ccp = new CoreClientParam();
  195. ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmSemiFinish";
  196. ccp.MethodName = "doCancelInList";
  197. ccp.ServerParams = new object[] { ydmZcEntity };
  198. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  199. if (ccp.ReturnCode != -1)
  200. {
  201. if (ccp.ReturnInfo.Equals("撤销成功!"))
  202. {
  203. QueryInListData();
  204. MessageUtil.ShowTips(ccp.ReturnInfo);
  205. }
  206. else
  207. {
  208. MessageUtil.ShowTips(ccp.ReturnInfo);
  209. }
  210. }
  211. }
  212. /// <summary>
  213. /// 导出
  214. /// </summary>
  215. private void exportData()
  216. {
  217. GridHelper.ulGridToExcel(this.ultraGrid1, "外购管手工缴库实绩");
  218. }
  219. private YdmZcInlistEntity GetAddData()
  220. {
  221. YdmZcInlistEntity entity = new YdmZcInlistEntity();
  222. entity.InstockTypeCode = "800701";
  223. entity.InstockTypeName = "产出入库";
  224. entity.LotNo = txtLotNo.Text.Trim();
  225. entity.JudgeStoveNo = txtJudgeStoveNo.Text.Trim();
  226. entity.StoveNo = txtStoveNo.Text.Trim() == "" ? txtJudgeStoveNo.Text.Trim() : txtStoveNo.Text.Trim();
  227. entity.FlagStoveNoZg = txtFlagStoveNoZg.Text.Trim() == "" ? txtJudgeStoveNo.Text.Trim() : txtFlagStoveNoZg.Text.Trim();
  228. entity.BatchNo = TxtBathNo.Text.Trim();
  229. //entity.BatchGroudNo = "1";
  230. entity.MaterialNo = TxtMaterial.Value == null ? "" : TxtMaterial.Value.ToString();
  231. entity.MaterialName = TxtMaterial.Text;
  232. entity.Produccode = TxtProduc.Value == null ? "" : TxtProduc.Value.ToString();
  233. entity.Producname = TxtProduc.Text;
  234. entity.StdCode = TxtStdName.Value == null ? "" : TxtStdName.Value.ToString();
  235. entity.StdName = TxtStdName.Text;
  236. entity.Steelcode = TxtSteelCode.Tag == null ? "" : TxtSteelCode.Tag.ToString();
  237. entity.Steelname = TxtSteelCode.Text;
  238. entity.StdStyle = TxtStdStyle.Value == null ? "" : TxtStdStyle.Value.ToString();
  239. entity.StdStyleDesc = TxtStdStyle.Text;
  240. entity.SpecCode = TxtSpcName.Value == null ? "" : TxtSpcName.Value.ToString();
  241. entity.SpecName = TxtSpcName.Text;
  242. entity.ModelCode = TxtModel.Value == null ? "" : TxtModel.Value.ToString();
  243. entity.ModelDesc = TxtModel.Text;
  244. entity.PlineCode = TxtPline.Value == null ? "" : TxtPline.Value.ToString();
  245. entity.PlineName = TxtPline.Text;
  246. //if (decimal.Parse(TxtSpcName.Text.Trim().ToString3()) > 0)
  247. //{
  248. entity.ActDimater = decimal.Parse(TxtSpcName.Value == null?"0":TxtSpcName.Text.Trim().ToString3().Substring(0, TxtSpcName.Text.IndexOf("x")));
  249. entity.ActHeight = decimal.Parse(TxtSpcName.Value == null?"0":TxtSpcName.Text.Trim().Substring(TxtSpcName.Text.IndexOf("x") + 1));
  250. //}
  251. entity.ActLenMax = decimal.Parse(TxtMax.Value == null ? "" : TxtMax.Value.ToString());
  252. entity.ActLenMin = decimal.Parse(TxtMin.Value == null ? "" : TxtMin.Value.ToString());
  253. entity.ActCount = decimal.Parse(TxtNum.Text.Trim());
  254. entity.ActWeight = decimal.Parse(TxtActWgt.Value == null ? "" : TxtActWgt.Value.ToString());
  255. entity.ActLen = decimal.Parse(TxtActLen.Value == null ? "" : TxtActLen.Value.ToString());
  256. //entity.ActTheoryWeight = TxtWgt.Value == null ? "" : TxtWgt.Value.ToString();
  257. entity.BelongCode = TxtBelongCode.Value == null ? "" : TxtBelongCode.Value.ToString();
  258. entity.BelongName = TxtBelongCode.Text;
  259. entity.StorageNo = TxtStorage.Value == null ? "" : TxtStorage.Value.ToString();
  260. entity.StorageName = TxtStorage.Text;
  261. entity.LocationNo = TxtLocation.Value == null ? "" : TxtLocation.Value.ToString();
  262. entity.CreateName = UserInfo.GetUserName();
  263. entity.Memo = ultraTextEditor1.Text.Trim();
  264. entity.MatOriginCode = TxtSourse.Value == null ? "" : TxtSourse.Value.ToString();
  265. entity.MatOriginName = TxtSourse.Text;
  266. entity.MatStatus = TxtMagstatus.Value == null ? "" : TxtMagstatus.Value.ToString();
  267. entity.ProductFlag = TxtProductFlag.Value == null ? "" : TxtProductFlag.Value.ToString();
  268. entity.Gradecode = TxtGrade.Value == null?"":TxtGrade.Value.ToString();
  269. entity.Gradename = TxtGrade.Text;
  270. entity.BalYearMonth = DateTime.Now.ToString("yyyyMM");
  271. entity.SoureCode = TxtPline.Value == null ? "" : TxtPline.Value.ToString();
  272. entity.SoureName = TxtPline.Text;
  273. entity.Target = txtTarget.Text;
  274. return entity;
  275. }
  276. /// <summary>
  277. /// 验证数据
  278. /// </summary>
  279. /// <returns></returns>
  280. private string CheckData(YdmZcInlistEntity entity)
  281. {
  282. if (this.TxtProduc.Text == "")
  283. {
  284. return "品名不能为空!";
  285. }
  286. if (this.TxtSteelCode.Text == "")
  287. {
  288. return "钢级不能为空!";
  289. }
  290. if (this.TxtStdName.Text == "")
  291. {
  292. return "标准名称不能为空!";
  293. }
  294. if (this.TxtSpcName.SelectedItem == null)
  295. {
  296. return "规格不能为空!";
  297. }
  298. if (this.TxtGrade.SelectedItem == null)
  299. {
  300. return "钢种不能为空!";
  301. }
  302. if (this.TxtModel.SelectedItem == null)
  303. {
  304. return "扣型不能为空!";
  305. }
  306. if (this.TxtProductFlag.Text == "")
  307. {
  308. return "材料类别不能为空!";
  309. }
  310. if (this.TxtMagstatus.Text == "")
  311. {
  312. return "材料状态不能为空!";
  313. }
  314. if (this.TxtMax.Text == "")
  315. {
  316. return "长度上限不能为空!";
  317. }
  318. if (this.TxtMin.Text == "")
  319. {
  320. return "长度下限不能为空!";
  321. }
  322. if (this.TxtSourse.Text == "")
  323. {
  324. return "材料来源不能为空!";
  325. }
  326. if (this.TxtNum.Text.Trim() == "0")
  327. {
  328. return "支数不能为0!";
  329. }
  330. if (this.TxtActWgt.Text.Trim() == "0.000")
  331. {
  332. return "重量不能为0!";
  333. }
  334. if (this.TxtBelongCode.Text == "")
  335. {
  336. return "产权单位不能为空!";
  337. }
  338. if (this.txtJudgeStoveNo.Text == "")
  339. {
  340. return "炉号不能为空!";
  341. }
  342. if (this.TxtBathNo.Text == "")
  343. {
  344. return "批号不能为空!";
  345. }
  346. if (this.TxtStorage.Text == "")
  347. {
  348. return "仓库名称不能为空!";
  349. }
  350. if (this.TxtPline.Text == "")
  351. {
  352. MessageUtil.ShowTips("产线不能为空!");
  353. return "产线不能为空!";
  354. }
  355. return "";
  356. }
  357. private void chkRegTime_CheckedChanged(object sender, EventArgs e)
  358. {
  359. this.RegStartTime.Enabled = this.RegEndTime.Enabled = this.chkRegTime.Checked;
  360. }
  361. private void chkFurnace_CheckedChanged(object sender, EventArgs e)
  362. {
  363. this.txtFurnace.Enabled = this.chkFurnace.Checked;
  364. }
  365. private void TxtProductFlag_ValueChanged(object sender, EventArgs e)
  366. {
  367. string flag = "";
  368. if (this.TxtProductFlag.Value.ToString() == "801401")
  369. {
  370. flag = "801501";
  371. }
  372. else if (this.TxtProductFlag.Value.ToString() == "801402")
  373. {
  374. flag = "801502";
  375. }
  376. else if (this.TxtProductFlag.Value.ToString() == "801403")
  377. {
  378. flag = "801503";
  379. }
  380. BaseMethod.InitMapStatusCom(TxtMagstatus, ob, flag);
  381. }
  382. private void button1_Click(object sender, EventArgs e)
  383. {
  384. FrmPlnOrdZgS frmMaterialDialog = new FrmPlnOrdZgS(this.ob);
  385. frmMaterialDialog.ShowDialog();
  386. PlnOrderZgSEntity pscEntity = frmMaterialDialog.PlnOrderZgTity;
  387. if (pscEntity == null)
  388. {
  389. return;
  390. }
  391. TxtMaterial.Tag = pscEntity.OutwlId.ToString();
  392. TxtMaterial.Text = pscEntity.OutwlDesc.ToString();
  393. TxtSteelCode.Tag = pscEntity.Steelcode.ToString();
  394. TxtSteelCode.Text = pscEntity.Steelname.ToString();
  395. this.TxtGrade.Tag = pscEntity.Gradecode.ToString();
  396. TxtGrade.Text = pscEntity.Gradename.ToString();
  397. TxtProduc.Tag = pscEntity.Produccode.ToString2();
  398. TxtProduc.Text = pscEntity.Producname.ToString2();
  399. TxtStdStyle.Tag = pscEntity.StdStyle.ToString();
  400. TxtStdStyle.Text = pscEntity.StdStyleDesc.ToString();
  401. TxtSpcName.Tag = pscEntity.SpecCode.ToString();
  402. TxtSpcName.Text = pscEntity.SpecName.ToString();
  403. TxtModel.Tag = pscEntity.ModelCode.ToString();
  404. TxtModel.Text = pscEntity.ModelDesc.ToString();
  405. TxtStdName.Tag = pscEntity.StdCode.ToString();
  406. TxtStdName.Text = pscEntity.StdName.ToString();
  407. TxtPline.Tag = pscEntity.PlineCode.ToString();
  408. TxtPline.Text = pscEntity.PlineName.ToString();
  409. txtTarget.Text = pscEntity.Decision.ToString();
  410. //proPlanId = pscEntity.ProPlanId.ToString();
  411. //gxPlanNo = pscEntity.GxPlanNo.ToString();
  412. plnOrdZgStity = pscEntity;
  413. }
  414. private void TxtPline_ValueChanged(object sender, EventArgs e)
  415. {
  416. if (this.TxtPline.Value.ToString() == "C065")
  417. {
  418. this.txtTarget.Text = "B";
  419. }
  420. else if (this.TxtPline.Value.ToString() == "C066")
  421. {
  422. this.txtTarget.Text = "C";
  423. }
  424. else if (this.TxtPline.Value.ToString() == "C098")
  425. {
  426. this.TxtBelongCode.Value = "002023005";
  427. this.txtTarget.Text = "B";
  428. }
  429. else if (this.TxtPline.Value.ToString() == "C099")
  430. {
  431. this.TxtBelongCode.Value = "002023005";
  432. this.txtTarget.Text = "C";
  433. }
  434. }
  435. private void txtTarget_ValueChanged(object sender, EventArgs e)
  436. {
  437. if (this.txtTarget.Value.ToString2() == "B")
  438. {
  439. this.TxtPline.Value = "002001001".Equals(this.TxtBelongCode.Value.ToString2()) ? "C065" : "C098";
  440. }
  441. else if (this.txtTarget.Value.ToString2() == "C")
  442. {
  443. this.TxtPline.Value = "002001001".Equals(this.TxtBelongCode.Value.ToString2()) ? "C066" : "C099";
  444. }
  445. }
  446. private void TxtStorage_ValueChanged(object sender, EventArgs e)
  447. {
  448. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.CoreLocationDefine.doQuery", new Object[] { false, TxtStorage.SelectedItem.DataValue }, this.ob);
  449. if (dt != null && dt.Rows.Count > 0)
  450. {
  451. if (false)
  452. {
  453. Object[] obj = new Object[] { "", "" };
  454. DataRow dr = dt.NewRow();
  455. dr.ItemArray = obj;
  456. dt.Rows.InsertAt(dr, 0);
  457. }
  458. TxtLocation.DataSource = dt;
  459. TxtLocation.ValueMember = "LOCATION_NO";
  460. TxtLocation.DisplayMember = "LOCATION_NAME";
  461. YdmBaseClass.SetComboItemHeight(TxtLocation);
  462. }
  463. }
  464. }
  465. }