FrmBillInStorage.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  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.YdmBcPipeManage.Entity;
  6. using CoreFS.CA06;
  7. using Infragistics.Win;
  8. using Infragistics.Win.UltraWinGrid;
  9. using Newtonsoft.Json;
  10. using System;
  11. using System.Collections;
  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.YdmBcPipeManage
  20. {
  21. public partial class FrmBillInStorage : FrmBase
  22. {
  23. private string[] arr = null;
  24. public FrmBillInStorage()
  25. {
  26. InitializeComponent();
  27. this.IsLoadUserView = true;
  28. EntityHelper.ShowGridCaption<BillInStorageEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  29. EntityHelper.ShowGridCaption<YdmBcButtressEntity>(ultraGrid1.DisplayLayout.Bands[1]);
  30. EntityHelper.ShowGridCaption<YdmBcInlistEntity>(ultraGrid2.DisplayLayout.Bands[0]);
  31. ultraGrid2.DisplayLayout.Bands[0].Columns["Pdjg"].Hidden = false;
  32. }
  33. /// <summary>
  34. /// 重写基类方法
  35. /// </summary>
  36. /// <param name="sender"></param>
  37. /// <param name="ToolbarKey"></param>
  38. public override void ToolBar_Click(object sender, string ToolbarKey)
  39. {
  40. switch (ToolbarKey)
  41. {
  42. case "Query":
  43. doQuery();
  44. break;
  45. case "Add":
  46. doAdd();
  47. break;
  48. case "Export":
  49. exportData();
  50. break;
  51. case "Delete":
  52. doDelete();
  53. break;
  54. }
  55. }
  56. private void exportData()
  57. {
  58. if (ultraTabControl1.ActiveTab.Key.Equals("jieshou"))
  59. {
  60. GridHelper.ulGridToExcel(this.ultraGrid1, "未接收提报");
  61. }
  62. else
  63. {
  64. GridHelper.ulGridToExcel(this.ultraGrid2, "已接收提报");
  65. }
  66. }
  67. private void doDelete()
  68. {
  69. this.ultraGrid2.UpdateData();
  70. IQueryable<UltraGridRow> rows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'");
  71. ArrayList list = new ArrayList();
  72. foreach (var row in rows)
  73. {
  74. YdmBcInlistEntity entity = row.ListObject as YdmBcInlistEntity;
  75. list.Add(JSONFormat.Format(entity));
  76. }
  77. CoreClientParam ccp = new CoreClientParam();
  78. ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmBillInStorage";
  79. ccp.MethodName = "doDelete";
  80. ccp.ServerParams = new object[] { list };
  81. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  82. if (ccp.ReturnCode != -1)
  83. {
  84. MessageUtil.ShowTips("撤销成功!");
  85. doQuery();
  86. }
  87. else
  88. {
  89. MessageUtil.ShowTips(ccp.ReturnInfo);
  90. }
  91. }
  92. private void doAdd()
  93. {
  94. this.ultraGrid1.UpdateData();
  95. IQueryable<UltraGridRow> rows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  96. ArrayList list = new ArrayList();
  97. foreach(var row in rows){
  98. BillInStorageEntity entity = row.ListObject as BillInStorageEntity;
  99. int m = 0;
  100. foreach (var buttress in entity.ButtressList)
  101. {
  102. if (!StringUtil.IsInt(buttress.ActCount) || buttress.ActCount == "")
  103. {
  104. MessageUtil.ShowTips("支数请输入整数!");
  105. return;
  106. }
  107. if (buttress.LocationNo.Equals("") || buttress.LaryNo.Equals(""))
  108. {
  109. MessageUtil.ShowTips("提单" + entity.BillNo + "炉号" + entity.JudgeStoveNo + "料位、层号不能为空!");
  110. return;
  111. }
  112. m = m + int.Parse(buttress.ActCount.ToString3());
  113. }
  114. if (!(int.Parse(row.Cells["ActCount"].Text.ToString3()) == m))
  115. {
  116. MessageUtil.ShowTips("提单" + entity.BillNo + "炉号" + entity.JudgeStoveNo + "分配料位支数与出库单对应支数不符!");
  117. return;
  118. }
  119. entity.CreateName = UserInfo.GetUserName();
  120. entity.StorageNo = cmbStorageNo.Value.ToString();
  121. entity.StorageName = cmbStorageNo.Text.ToString();
  122. list.Add(JsonConvert.SerializeObject(entity));
  123. }
  124. CoreClientParam ccp = new CoreClientParam();
  125. ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmBillInStorage";
  126. ccp.MethodName = "doAdd";
  127. ccp.ServerParams = new object[] { list };
  128. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  129. if (ccp.ReturnCode != -1)
  130. {
  131. MessageUtil.ShowTips("接收成功!");
  132. doQuery();
  133. }
  134. else
  135. {
  136. MessageUtil.ShowTips(ccp.ReturnInfo);
  137. }
  138. }
  139. private void doQuery()
  140. {
  141. string start = "";
  142. string end = "";
  143. string billNo = "";
  144. string judgeStoveNo = "";
  145. string OrderNo = "";
  146. string flagStoveNo = "";
  147. if (chkOutTime.Checked)
  148. {
  149. start = startTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  150. end = endTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  151. }
  152. if (ChkBillNo.Checked)
  153. {
  154. billNo = txtBillNo.Value.ToString2();
  155. }
  156. if (ChkOrderNo.Checked)
  157. {
  158. OrderNo=txtOrderNo.Value.ToString2();
  159. }
  160. if(chkJudgeNo.Checked){
  161. judgeStoveNo = txtJudgeNo.Value.ToString2();
  162. }
  163. if (chkFlagJudgeNo.Checked)
  164. {
  165. flagStoveNo = txtFlagJudgeNo.Value.ToString2();
  166. }
  167. if (ultraTabControl1.ActiveTab.Key.Equals("jieshou"))
  168. {
  169. List<BillInStorageEntity> listSource = EntityHelper.GetData<BillInStorageEntity>(
  170. "com.steering.pss.ydm.pipemanage.FrmBillInStorage.doQuery", new object[] { start, end, billNo,OrderNo }, this.ob);
  171. billInStorageEntityBindingSource.DataSource = listSource;
  172. }
  173. else {
  174. List<YdmBcInlistEntity> listSource = EntityHelper.GetData<YdmBcInlistEntity>(
  175. "com.steering.pss.ydm.pipemanage.FrmBillInStorage.doQuery1", new object[] { start, end, billNo, judgeStoveNo, OrderNo, flagStoveNo }, this.ob);
  176. ydmBcInlistEntityBindingSource.DataSource = listSource;
  177. }
  178. }
  179. private void FrmBillInStorage_Load(object sender, EventArgs e)
  180. {
  181. arr = WarehousePermissionsStore1(this.ValidDataPurviewIds, this.ob);
  182. initStorageNo();
  183. DateTime now = DateTime.Now;
  184. DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
  185. DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
  186. this.startTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  187. this.endTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  188. }
  189. /// <summary>
  190. /// 仓库数据权限
  191. /// </summary>
  192. /// <param name="customInfo">页面配制信息(自定义参数)</param>
  193. /// <param name="validDataPurviewIds">用户数据权限</param>
  194. /// <returns>可查看仓库组成的字符串</returns>
  195. public static string[] WarehousePermissionsStore1(String[] validDataPurviewIds, OpeBase ob)
  196. {
  197. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmBillInStorage.getWarehousePermissionsStore", new object[] { validDataPurviewIds }, ob);
  198. if (dt != null && dt.Rows.Count > 0)
  199. {
  200. string[] storages = new string[dt.Rows.Count];
  201. for (int i = 0; i < dt.Rows.Count; i++)
  202. {
  203. storages[i] = dt.Rows[i]["STORAGE_NO"].ToString();
  204. }
  205. return storages;
  206. }
  207. else
  208. {
  209. return new string[1] { "" };
  210. }
  211. }
  212. private void initStorageNo()
  213. {
  214. var dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmBillInStorage.doQueryStorageArr", new object[] { arr }, ob);
  215. cmbStorageNo.DataSource = dt;
  216. cmbStorageNo.DisplayMember = "STORAGE_NAME";
  217. cmbStorageNo.ValueMember = "STORAGE_NO";
  218. cmbStorageNo.SelectedIndex = 0;
  219. }
  220. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  221. {
  222. if (ultraTabControl1.SelectedTab.Key == "jieshou")
  223. {
  224. chkOutTime.Text = "提单时间";
  225. label1.Visible = true;
  226. cmbStorageNo.Visible = true;
  227. chkJudgeNo.Visible = false;
  228. txtJudgeNo.Visible = false;
  229. chkFlagJudgeNo.Visible = false;
  230. txtFlagJudgeNo.Visible = false;
  231. if (toolMenu == null) return;
  232. if (toolMenu.Toolbars[0].Tools.Exists("Add"))
  233. toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True;
  234. if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
  235. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
  236. }
  237. else {
  238. chkOutTime.Text = "入库时间";
  239. label1.Visible = false;
  240. cmbStorageNo.Visible = false;
  241. chkJudgeNo.Visible = true;
  242. txtJudgeNo.Visible = true;
  243. chkFlagJudgeNo.Visible = true;
  244. txtFlagJudgeNo.Visible = true;
  245. if (toolMenu == null) return;
  246. if (toolMenu.Toolbars[0].Tools.Exists("Add"))
  247. toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False;
  248. if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
  249. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True;
  250. }
  251. }
  252. private void FrmBillInStorage_Shown(object sender, EventArgs e)
  253. {
  254. if (toolMenu == null) return;
  255. if (toolMenu.Toolbars[0].Tools.Exists("Add"))
  256. toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True;
  257. if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
  258. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
  259. }
  260. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  261. {
  262. try {
  263. ultraGrid1.UpdateData();
  264. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  265. ArrayList list = new ArrayList();
  266. list.Add(ugr.Cells["billNo"].Text.Trim());
  267. list.Add(ugr.Cells["judgeStoveNo"].Text.Trim());
  268. list.Add(ugr.Cells["batchNo"].Text.Trim());
  269. list.Add(ugr.Cells["groupNo"].Text.Trim());
  270. DataTable dt1 = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmBillInStorage.queryMativery", new object[] { list }, ob);
  271. GridHelper.CopyDataToDatatable(dt1, this.dataTable1, true);
  272. this.dataTable1.AcceptChanges();
  273. } catch{
  274. }
  275. }
  276. private void cmbLocationNo_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  277. {
  278. this.ultraGrid1.UpdateData();
  279. UltraGridRow row = this.ultraGrid1.ActiveRow.ParentRow;
  280. string storageNo = "";
  281. if (this.cmbStorageNo.Text != "")
  282. {
  283. storageNo = this.cmbStorageNo.Value.ToString2();
  284. }
  285. else
  286. {
  287. storageNo = row.Cells["TarStorageNo"].Text;
  288. }
  289. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmBillInStorage.doQueryLocation",
  290. new object[] { storageNo }, ob);
  291. dt.Columns["LOCATION_NAME"].Caption = "料位名称";
  292. BaseInfoPopup baseInfo = new BaseInfoPopup(dt, "LOCATION_NAME", "LOCATION_NO");
  293. baseInfo.Shown += new EventHandler((a, b) =>
  294. {
  295. var actRow = baseInfo.UltraGrid1.Rows.AsQueryable().Where(
  296. c => c.GetValue("LOCATION_NO") == this.cmbLocationNo.Tag.ToString2()).FirstOrDefault();
  297. if (actRow != null) actRow.Activate();
  298. });
  299. if (baseInfo.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  300. {
  301. this.ultraGrid1.ActiveCell.Value = baseInfo.ChoicedRow.GetValue("LOCATION_NAME");
  302. this.ultraGrid1.ActiveCell.Row.Cells["LocationNo"].Value = baseInfo.ChoicedRow.GetValue("LOCATION_NO");
  303. }
  304. }
  305. }
  306. }