FrmJGPurchasePlan.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451
  1. using com.steering.mes.mcp.entity;
  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.Mcp.Control;
  7. using Core.StlMes.Client.Mcp.Entity;
  8. using CoreFS.CA06;
  9. using Infragistics.Win.UltraWinEditors;
  10. using Infragistics.Win.UltraWinGrid;
  11. using Newtonsoft.Json;
  12. using System;
  13. using System.Collections;
  14. using System.Collections.Generic;
  15. using System.Data;
  16. using System.Windows.Forms;
  17. namespace Core.StlMes.Client.Mcp.CollarLibrary
  18. {
  19. public partial class FrmJGPurchasePlan : FrmBase
  20. {
  21. public FrmJGPurchasePlan()
  22. {
  23. InitializeComponent();
  24. this.IsLoadUserView = true;
  25. }
  26. private void FrmCollarInventory_Load(object sender, EventArgs e)
  27. {
  28. RegStartTime.Value = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " 00:00:00");
  29. RegEndTime.Value = DateTime.Parse(DateTime.Today.AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd") + " 23:59:59");
  30. EntityHelper.ShowGridCaption<JgPurchasePlanEntity>(ultraGrid2.DisplayLayout.Bands[0]);
  31. PipeManageClass.setUltraGridColumnInput(ultraGrid2, new string[] { "DealNum" });//支数
  32. PipeManageClass.setUltraGridColumnMaxInput(ultraGrid2, new string[] { "DealWt" });//重量
  33. InitGrade(TxtGrade,ob);
  34. InitSpec(TxtSpcName, ob);
  35. InitModel(TxtModel, ob);
  36. InitSteel(TxtSteelCode, ob);
  37. InitStdName(TxtStdName, ob);
  38. }
  39. /// <summary>
  40. /// 初始化下拉框钢种
  41. /// </summary>
  42. /// <param name="uce"></param>
  43. /// <param name="ob"></param>
  44. public static void InitGrade(UltraComboEditor uce, OpeBase ob)
  45. {
  46. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.CollarLibrary.FrmCollarInventory.getGrade", new object[] { }, ob);
  47. InitComboEditor(uce, dt, "GRADENAME", "GRADECODE");
  48. }
  49. /// <summary>
  50. /// 获取规格
  51. /// </summary>
  52. /// <param name="uce"></param>
  53. /// <param name="ob"></param>
  54. public static void InitSpec(UltraComboEditor uce, OpeBase ob)
  55. {
  56. DataTable dt = ServerHelper.GetData("com.steering.ydm.bc.BaseOperations.getSpc", new object[] { }, ob);
  57. InitComboEditor(uce, dt, "SPEC_NAME", "SPEC_CODE");
  58. }
  59. /// <summary>
  60. /// 获取扣型
  61. /// </summary>
  62. /// <param name="uce"></param>
  63. /// <param name="ob"></param>
  64. public static void InitModel(UltraComboEditor uce, OpeBase ob)
  65. {
  66. DataTable dt = ServerHelper.GetData("com.steering.ydm.bc.BaseOperations.getModel", new object[] { }, ob);
  67. InitComboEditor(uce, dt, "MODEL_DESC", "MODEL_CODE");
  68. }
  69. /// <summary>
  70. /// 获取钢级
  71. /// </summary>
  72. /// <param name="uce"></param>
  73. /// <param name="ob"></param>
  74. public static void InitSteel(UltraComboEditor uce, OpeBase ob)
  75. {
  76. DataTable dt = ServerHelper.GetData("com.steering.ydm.bc.BaseOperations.getSteel", new object[] { }, ob);
  77. InitComboEditor(uce, dt, "STEELNAME", "STEELCODE");
  78. }
  79. /// <summary>
  80. /// 获取标准名称
  81. /// </summary>
  82. public static void InitStdName(UltraComboEditor uce, OpeBase ob)
  83. {
  84. DataTable dt = ServerHelper.GetData("com.steering.ydm.bc.BaseOperations.getStdName", new object[] { }, ob);
  85. InitComboEditor(uce, dt, "STD_NAME", "STD_CODE");
  86. }
  87. /// <summary>
  88. /// 初始下拉框
  89. /// </summary>
  90. /// <param name="uce"></param>
  91. /// <param name="dt"></param>
  92. /// <param name="showName"></param>
  93. /// <param name="hideValue"></param>
  94. public static void InitComboEditor(UltraComboEditor uce, DataTable dt, String showName, String hideValue)
  95. {
  96. uce.DataSource = dt;
  97. uce.DisplayMember = showName;
  98. uce.ValueMember = hideValue;
  99. }
  100. /// <summary>
  101. /// 重写基类方法
  102. /// </summary>
  103. /// <param name="sender"></param>
  104. /// <param name="ToolbarKey"></param>
  105. public override void ToolBar_Click(object sender, string ToolbarKey)
  106. {
  107. switch (ToolbarKey)
  108. {
  109. case "Query":
  110. doQuery();
  111. break;
  112. case "Add":
  113. doAdd();
  114. break;
  115. case "Delete":
  116. doDelete();
  117. break;
  118. case "Export":
  119. GridHelper.ulGridToExcel(ultraGrid2, "接箍采购计划");
  120. break;
  121. case "Close":
  122. this.Close();
  123. break;
  124. }
  125. }
  126. private void doQuery()
  127. {
  128. // 创建查询参数对象
  129. var queryParams = new JgPurchasePlanQueryParams();
  130. if (chkRegTime.Checked)
  131. {
  132. // 添加日期区间查询
  133. if (chkRegTime.Checked)
  134. {
  135. queryParams.CreateTimeStart = RegStartTime.Value.ToString("yyyy-MM-dd");
  136. queryParams.CreateTimeEnd = RegEndTime.Value.ToString("yyyy-MM-dd");
  137. }
  138. }
  139. if (!CheckQuery()) return;
  140. // 设置查询条件
  141. if (chkPlanNo.Checked)
  142. {
  143. queryParams.Planno = txtPlanNo.Text.Trim();
  144. }
  145. /* if (chkStatus.Checked)
  146. {
  147. queryParams.Status = Convert.ToInt32(cmbStatus.SelectedValue);
  148. }
  149. if (chkContractNo.Checked)
  150. {
  151. queryParams.ContractNo = txtContractNo.Text.Trim();
  152. }
  153. if (chkSgSign.Checked)
  154. {
  155. queryParams.SgSign = txtSgSign.Text.Trim();
  156. }*/
  157. // 配置 JSON 序列化设置
  158. var jsonSettings = new JsonSerializerSettings
  159. {
  160. NullValueHandling = NullValueHandling.Ignore
  161. };
  162. // 序列化查询参数
  163. string conditionJson = JsonConvert.SerializeObject(queryParams, jsonSettings);
  164. List<JgPurchasePlanEntity> listSource = EntityHelper.GetData<JgPurchasePlanEntity>
  165. ("com.steering.mes.mcp.CollarLibrary.FrmCollarInventory.queryPurchasePlan",
  166. new object[] { conditionJson }, this.ob);
  167. couplingMatDealEntityBindingSource.DataSource = listSource;
  168. GridHelper.RefreshAndAutoSize(ultraGrid2);
  169. }
  170. ///查询时验证必填项
  171. private bool CheckQuery()
  172. {
  173. if (DataTimeUtil.JudgeTime(DateTime.Parse(RegStartTime.Value.ToString()), DateTime.Parse(RegEndTime.Value.ToString())) == 0)
  174. {
  175. MessageUtil.ShowTips("开始时间不能大于结束时间!");
  176. return false;
  177. }
  178. return true;
  179. }
  180. /// <summary>
  181. /// 验证Checked是否勾选,显示控件可编辑 打勾表示可编辑,不打勾表示不可编辑
  182. /// </summary>
  183. /// <param name="sender"></param>
  184. /// <param name="e"></param>
  185. private void chk_CheckedChanged(object sender, EventArgs e)
  186. {
  187. if (chkPlanNo.Checked) { txtPlanNo.Enabled = true; } else { txtPlanNo.Enabled = false; }
  188. if (chkRegTime.Checked) { RegStartTime.Enabled = true; RegEndTime.Enabled = true; } else { RegStartTime.Enabled = false; RegEndTime.Enabled = false; }
  189. }
  190. //新增时验证必填项
  191. private string CheckAdd()
  192. {
  193. if (TxtNum.Value == null || string.IsNullOrEmpty(TxtNum.Value.ToString()) || Convert.ToDouble(TxtNum.Value.ToString()) <= 0)
  194. {
  195. return "请输入个数!";
  196. }
  197. if (TxtSpcName.Value == null || string.IsNullOrEmpty(TxtSpcName.Value.ToString()))
  198. {
  199. return "请选择规格!";
  200. }
  201. if (TxtSteelCode.Value == null || string.IsNullOrEmpty(TxtSteelCode.Value.ToString()))
  202. {
  203. return "请选择钢级!";
  204. }
  205. if (TxtModel.Value == null || string.IsNullOrEmpty(TxtModel.Value.ToString()))
  206. {
  207. return "请选择扣型!";
  208. }
  209. if (TxtStdName.Value == null || string.IsNullOrEmpty(TxtStdName.Value.ToString()))
  210. {
  211. return "请选择标准!";
  212. }
  213. if (TxtGrade.Value == null || string.IsNullOrEmpty(TxtGrade.Value.ToString()))
  214. {
  215. return "请选择钢种!";
  216. }
  217. return "";
  218. }
  219. private JgPurchasePlanEntity GetAddData()
  220. {
  221. JgPurchasePlanEntity entity = new JgPurchasePlanEntity();
  222. // 基础信息
  223. entity.Quantity = TxtNum.Value?.ToString()??"0";
  224. entity.Spec = TxtSpcName.Text?.Trim() ?? "";
  225. entity.SpecNo = TxtSpcName.Value?.ToString() ?? "";
  226. entity.SgSign = TxtSteelCode.Text?.Trim() ?? "";
  227. entity.SgSignCode = TxtSteelCode.Value?.ToString() ?? "";
  228. entity.BuckleType = TxtModel.Text?.Trim() ?? "";
  229. entity.BuckleTypeCode = TxtModel.Value?.ToString() ?? "";
  230. entity.SgStd = TxtStdName.Text?.Trim() ?? "";
  231. entity.SgStdCode = TxtStdName.Value?.ToString() ?? "";
  232. entity.SteelType = TxtGrade.Text?.Trim() ?? "";
  233. entity.Length = TxtLength.Value?.ToString() ??"";
  234. // 从规格获取外径和壁厚
  235. if (!string.IsNullOrEmpty(TxtDimater.Text))
  236. {
  237. entity.OuterDiameter = TxtDimater.Text;
  238. }
  239. if (!string.IsNullOrEmpty(TxtHeight.Text))
  240. {
  241. entity.WallThickness = TxtDimater.Text;
  242. }
  243. // 系统字段
  244. entity.Creator = UserInfo.GetUserName();
  245. return entity;
  246. }
  247. /// <summary>
  248. /// 新增
  249. /// </summary>
  250. private void doAdd()
  251. {
  252. string errMessage = CheckAdd();
  253. if (errMessage.Length > 0)
  254. {
  255. MessageUtil.ShowWarning(errMessage);
  256. return;
  257. }
  258. JgPurchasePlanEntity entity = GetAddData();
  259. if (MessageUtil.ShowYesNoAndQuestion("是否新增接箍采购计划信息?") == DialogResult.No)
  260. {
  261. return;
  262. }
  263. CoreClientParam ccp = new CoreClientParam();
  264. ccp.ServerName = "com.steering.mes.mcp.CollarLibrary.FrmCollarInventory";
  265. ccp.MethodName = "addPurchasePlan";
  266. ccp.ServerParams = new object[] { JSONFormat.Format(entity) };
  267. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  268. if (ccp.ReturnCode == -1) return;
  269. MessageUtil.ShowTips(ccp.ReturnInfo);
  270. if (ccp.ReturnInfo.Equals("新增成功!"))
  271. {
  272. doQuery();
  273. //clean();
  274. }
  275. }
  276. /// <summary>
  277. /// 删除
  278. /// </summary>
  279. private void doDelete()
  280. {
  281. UltraGridRow row = ultraGrid2.ActiveRow;
  282. if (row == null) return;
  283. int count = 0;
  284. ArrayList list = new ArrayList();
  285. foreach (UltraGridRow uRow in ultraGrid2.Rows)
  286. {
  287. if (Convert.ToBoolean(uRow.Cells["CHOOSE"].Text) == true)
  288. {
  289. count += 1;
  290. list.Add(uRow.Cells["id"].Text.Trim());
  291. }
  292. }
  293. if (count == 0) { MessageUtil.ShowTips("请选择要撤销的数据"); return; }
  294. if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销?") == DialogResult.No) return;
  295. CoreClientParam ccp = new CoreClientParam();
  296. try
  297. {
  298. this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待
  299. if (Constant.WaitingForm == null)
  300. {
  301. Constant.WaitingForm = new WaitingForm();
  302. }
  303. Constant.WaitingForm.ShowToUser = true;
  304. Constant.WaitingForm.Show();
  305. Constant.WaitingForm.Update();
  306. ccp.ServerName = "com.steering.mes.mcp.CollarLibrary.FrmCollarInventory";
  307. ccp.MethodName = "deletePurchasePlan";
  308. ccp.ServerParams = new object[] { list };
  309. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  310. this.Cursor = Cursors.Default;
  311. Constant.WaitingForm.ShowToUser = false;
  312. Constant.WaitingForm.Close();
  313. Constant.WaitingForm = null;
  314. }
  315. catch (Exception ex)
  316. {
  317. this.Cursor = Cursors.Default;
  318. Constant.WaitingForm.ShowToUser = false;
  319. Constant.WaitingForm.Close();
  320. Constant.WaitingForm = null;
  321. }
  322. if (ccp.ReturnCode == -1) return;
  323. MessageUtil.ShowTips(ccp.ReturnInfo);
  324. if (ccp.ReturnInfo.Equals("撤销成功!"))
  325. {
  326. doQuery();
  327. }
  328. }
  329. private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  330. {
  331. try
  332. {
  333. ultraGrid2.UpdateData();
  334. foreach (UltraGridRow r in ultraGrid2.Rows)
  335. {
  336. r.Cells["CHOOSE"].Value = r.Selected;
  337. }
  338. }
  339. catch { }
  340. }
  341. private void TxtNum_ValueChanged(object sender, EventArgs e)
  342. {
  343. string count = "0";
  344. if (!TxtNum.Value.Equals(""))
  345. {
  346. count = TxtNum.Value.ToString();
  347. }
  348. }
  349. private void clean()
  350. {
  351. // 清空输入控件
  352. TxtSteelCode.Text = "";
  353. TxtSteelCode.Value = null;
  354. TxtModel.Text = "";
  355. TxtModel.Value = null;
  356. TxtNum.Value = "0";
  357. TxtSpcName.Text = "";
  358. TxtSpcName.Value = null;
  359. TxtStdName.Text = "";
  360. TxtStdName.Value = null;
  361. TxtGrade.Text = "";
  362. TxtGrade.Value = null;
  363. TxtDimater.Text = "";
  364. TxtHeight.Text = "";
  365. }
  366. ArrayList pram = new ArrayList();
  367. private void TxtSpcName_TextChanged(object sender, EventArgs e)
  368. {
  369. string strSpec = "";
  370. if (this.TxtSpcName.Value == null)
  371. {
  372. return;
  373. }
  374. else
  375. {
  376. strSpec = TxtSpcName.Value.ToString();
  377. }
  378. pram.Clear();
  379. pram.Add(strSpec);
  380. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.CollarLibrary.FrmCollarInventory.getDimHeig", new object[] { pram }, this.ob);
  381. if (dt.Rows.Count > 0)
  382. {
  383. if (dt.Rows[0]["DIMATER"].ToString() != "")
  384. {
  385. TxtDimater.Text = string.Format("{0:F2}", Convert.ToDouble(dt.Rows[0]["DIMATER"].ToString()));
  386. if (!dt.Rows[0]["HEIGHT"].ToString().Equals(""))
  387. {
  388. TxtHeight.Text = string.Format("{0:F2}", Convert.ToDouble(dt.Rows[0]["HEIGHT"].ToString()));
  389. }
  390. else
  391. {
  392. TxtHeight.Text = "";
  393. }
  394. }
  395. else
  396. {
  397. TxtDimater.Text = "0.00";
  398. TxtHeight.Text = "0.00";
  399. }
  400. }
  401. }
  402. }
  403. }