FrmDzFeedLoadResult.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. 
  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.YdmStuffManage.Entity;
  7. //using Core.StlMes.Client.ZGMil.Common;
  8. //using Core.StlMes.Client.ZGMil.Entity;
  9. //using Core.StlMes.Client.ZGMil.NodeResultQuery;
  10. using CoreFS.CA06;
  11. using Infragistics.Win.UltraWinGrid;
  12. using System;
  13. using System.Collections;
  14. using System.Collections.Generic;
  15. using System.ComponentModel;
  16. using System.Data;
  17. using System.Drawing;
  18. using System.Linq;
  19. using System.Text;
  20. using System.Windows.Forms;
  21. namespace Core.StlMes.Client.YdmStuffManage
  22. {
  23. public partial class FrmDzFeedLoadResult : FrmBase
  24. {
  25. private string departm = "";
  26. private string plineCode = "";
  27. private string user = "";
  28. private string bc = "";
  29. private string bz = "";
  30. private string[] pCode;
  31. //private string plineCode = "";
  32. public FrmDzFeedLoadResult()
  33. {
  34. InitializeComponent();
  35. bc = UserInfo.GetUserOrder();
  36. bz = UserInfo.GetUserGroup();
  37. }
  38. public override void ToolBar_Click(object sender, string ToolbarKey)
  39. {
  40. switch (ToolbarKey)
  41. {
  42. case "Query":
  43. doQuery();
  44. break;
  45. case "Node":
  46. node();
  47. break;
  48. case "NodeBack":
  49. nodeBack();
  50. break;
  51. case "Close":
  52. this.Close();
  53. break;
  54. }
  55. }
  56. #region 方法
  57. /// <summary>
  58. /// 上料
  59. /// </summary>
  60. private void node()
  61. {
  62. this.ultraGrid1.UpdateData();
  63. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  64. if (checkMagRows.Count() == 0)
  65. {
  66. MessageUtil.ShowTips("请勾选需要上料的炉批信息!");
  67. return;
  68. }
  69. //if (checkMagRows.Count() > 1)
  70. //{
  71. // MessageUtil.ShowTips("请不要勾选多个炉批信息!");
  72. // return;
  73. //}
  74. ArrayList parm = new ArrayList();
  75. ArrayList parm1 = new ArrayList();
  76. ArrayList parm2 = new ArrayList();
  77. int a = 0;
  78. double b = 0.0;
  79. foreach (UltraGridRow uRow in checkMagRows)
  80. {
  81. PlnZyDzMEntity plnZyDzMEntity = (PlnZyDzMEntity)uRow.ListObject;
  82. string plnZyDzMEntityString = JSONFormat.Format(plnZyDzMEntity);
  83. parm.Add(plnZyDzMEntityString);
  84. foreach (var plnZyDzCEntity in plnZyDzMEntity.PlnZyDzCTity)
  85. {
  86. if (!StringUtil.IsInt32(plnZyDzCEntity.RealIndoubleNum.ToString2()))
  87. {
  88. MessageUtil.ShowTips("输入的上料支不是整数!");
  89. return;
  90. }
  91. if (!StringUtil.IsDouble(plnZyDzCEntity.RealIndoubleWt.ToString2()))
  92. {
  93. MessageUtil.ShowTips("输入的上料吨不是数字!");
  94. return;
  95. }
  96. a = int.Parse(plnZyDzCEntity.PlanIndoubleNum.ToString2()) - int.Parse(plnZyDzCEntity.RealIndoubleNum.ToString2());
  97. b = double.Parse(plnZyDzCEntity.PlanIndoubleWt.ToString2()) - double.Parse(plnZyDzCEntity.RealIndoubleWt.ToString2());
  98. if ( a < 0 || b < 0 )
  99. {
  100. MessageUtil.ShowTips("输入的上料支吨不能大于计划支吨!");
  101. return;
  102. }
  103. parm1.Add(JSONFormat.Format(plnZyDzCEntity));
  104. }
  105. }
  106. string[] arr = BaseMethod.WarehousePermissionsStore(this.ValidDataPurviewIds, this.ob);
  107. parm2.Add(bc);
  108. parm2.Add(bz);
  109. parm2.Add(user);
  110. CoreClientParam ccp = new CoreClientParam();
  111. ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmDzFeedLoad";
  112. ccp.MethodName = "node";
  113. ccp.ServerParams = new object[] { parm, parm1, arr, parm2 };
  114. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  115. if (ccp.ReturnCode != -1)
  116. {
  117. MessageUtil.ShowTips("上料成功!");
  118. doQuery();
  119. }
  120. else
  121. {
  122. MessageUtil.ShowTips(ccp.ReturnInfo);
  123. }
  124. }
  125. /// <summary>
  126. /// 上料回退
  127. /// </summary>
  128. private void nodeBack()
  129. {
  130. this.ultraGrid1.UpdateData();
  131. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  132. if (checkMagRows.Count() == 0)
  133. {
  134. MessageUtil.ShowTips("请勾选需要上料的炉批信息!");
  135. return;
  136. }
  137. ArrayList parm = new ArrayList();
  138. ArrayList parm2 = new ArrayList();
  139. foreach (UltraGridRow uRow in checkMagRows)
  140. {
  141. PlnZyDzMEntity plnZyDzMEntity = (PlnZyDzMEntity)uRow.ListObject;
  142. string plnZyDzMEntityString = JSONFormat.Format(plnZyDzMEntity);
  143. parm.Add(plnZyDzMEntityString);
  144. foreach (var plnZyDzCEntity in plnZyDzMEntity.PlnZyDzCTity)
  145. {
  146. parm2.Add(JSONFormat.Format(plnZyDzCEntity));
  147. }
  148. }
  149. //string[] arr = BaseMethod.WarehousePermissionsStore(this.ValidDataPurviewIds, this.ob);
  150. CoreClientParam ccp = new CoreClientParam();
  151. ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmDzFeedLoad";
  152. ccp.MethodName = "nodeBack";
  153. ccp.ServerParams = new object[] { parm, parm2 };
  154. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  155. if (ccp.ReturnCode != -1)
  156. {
  157. MessageUtil.ShowTips("上料回退成功!");
  158. doQuery();
  159. }
  160. else
  161. {
  162. MessageUtil.ShowTips(ccp.ReturnInfo);
  163. }
  164. }
  165. /// <summary>
  166. /// 查询
  167. /// </summary>
  168. private void doQuery()
  169. {
  170. string JudgeStoveNo = "";
  171. string LotNo = "";
  172. string IsLoad = "0";
  173. if (chkJudgeStoveNo.Checked)
  174. {
  175. if (uteJudgeStoveNo.Text.Trim() == "")
  176. {
  177. JudgeStoveNo = "";
  178. }
  179. else
  180. {
  181. JudgeStoveNo = uteJudgeStoveNo.Value.ToString();
  182. }
  183. }
  184. if (chkLotNo.Checked)
  185. {
  186. if (uteLotNo.Text.Trim() == "")
  187. {
  188. LotNo = "";
  189. }
  190. else
  191. {
  192. LotNo = uteLotNo.Value.ToString();
  193. }
  194. }
  195. if (chkIsLoad.Checked)
  196. {
  197. IsLoad = "1";
  198. }
  199. WaitingForm2 wf = new WaitingForm2("正在加载,请稍候....");
  200. List<PlnZyDzMEntity> listSource = EntityHelper.GetData<PlnZyDzMEntity>(
  201. "Core.LgMes.Server.Stuffmanage.FrmDzFeedLoad.doQueryDataM", new object[] { JudgeStoveNo, LotNo, IsLoad }, this.ob);
  202. List<PlnZyDzCEntity> listSource2 = EntityHelper.GetData<PlnZyDzCEntity>(
  203. "Core.LgMes.Server.Stuffmanage.FrmDzFeedLoad.doQueryDataC", new object[] { JudgeStoveNo, LotNo, IsLoad }, this.ob);
  204. EntityHelper.AddEntityRelation<PlnZyDzMEntity, PlnZyDzCEntity>(listSource, listSource2, "HeatPlanNo", "HeatPlanNo");
  205. plnZyDzMEntityBindingSource.DataSource = listSource;
  206. wf.Close();
  207. }
  208. /// <summary>
  209. /// 非250、258、168、460的产线代码都为空
  210. /// </summary>
  211. /// <returns></returns>
  212. private string getPlineCode()
  213. {
  214. if (plineCode.Equals("C008") || plineCode.Equals("C009") || plineCode.Equals("C010") || plineCode.Equals("C017"))
  215. {
  216. return plineCode;
  217. }
  218. else
  219. {
  220. return "";
  221. }
  222. }
  223. #endregion
  224. #region 事件
  225. private void FrmFeedLoadResult_Load(object sender, EventArgs e)
  226. {
  227. NativeMethodNew na = new NativeMethodNew(this.ob);
  228. departm = UserInfo.GetDepartment();
  229. string[] arr = BaseMethod.WarehousePermissionsStore(this.ValidDataPurviewIds, this.ob);
  230. pCode = na.GetPlineCode(arr);//获取 用户 对应的产线
  231. foreach (String pCode1 in pCode)
  232. {
  233. if (!pCode1.Equals(""))
  234. {
  235. plineCode = pCode1;
  236. }
  237. }
  238. //plineCode = na.GetPCode(departm);//获取 用户 对应的产线
  239. //planWeight.Value = UserInfo.GetUserOrderText();
  240. //actualWeight.Value = UserInfo.GetUserGroupText();
  241. user = UserInfo.GetUserName();
  242. bc = UserInfo.GetUserOrder();
  243. bz = UserInfo.GetUserGroup();
  244. //EntityHelper.ShowGridCaption<MilPlanEntity5>(ultraGrid1.DisplayLayout.Bands[0]);
  245. //EntityHelper.ShowGridCaption<MilPlanEntity5>(ultraGrid2.DisplayLayout.Bands[0]);
  246. EntityHelper.ShowGridCaption<PlnZyDzMEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  247. EntityHelper.ShowGridCaption<PlnZyDzCEntity>(ultraGrid1.DisplayLayout.Bands[1]);
  248. doQuery();
  249. }
  250. private void chkLotNo_CheckedChanged(object sender, EventArgs e)
  251. {
  252. if (chkLotNo.Checked) { uteLotNo.Enabled = true; } else { uteLotNo.Enabled = false; }
  253. if (chkJudgeStoveNo.Checked) { uteJudgeStoveNo.Enabled = true; } else { uteJudgeStoveNo.Enabled = false; }
  254. }
  255. //private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  256. //{
  257. // foreach (UltraGridRow uRow in ultraGrid2.Rows)
  258. // {
  259. // if (int.Parse(uRow.Cells["PLAN_INDOUBLE_NUM"].Value.ToString3()) > int.Parse(uRow.Cells["ACT_COUNT"].Value.ToString3()))
  260. // {
  261. // MessageUtil.ShowTips("输入的上料支不能大于可分配支!");
  262. // return;
  263. // }
  264. // if (!StringUtil.IsInt(uRow.Cells["PLAN_INDOUBLE_NUM"].Value.ToString3()))
  265. // {
  266. // MessageUtil.ShowTips("输入的上料支不为整数,请重新输入!");
  267. // return;
  268. // }
  269. // }
  270. // int a = 0;
  271. // double b = 0.0;
  272. // if (ultraGrid2.Rows.Count > 0)
  273. // {
  274. // foreach (UltraGridRow uRow in ultraGrid2.Rows)
  275. // {
  276. // a += int.Parse(uRow.Cells["PLAN_INDOUBLE_NUM"].Value.ToString3()) * int.Parse(uRow.Cells["FIX_NUM"].Value.ToString3());
  277. // b += int.Parse(uRow.Cells["PLAN_INDOUBLE_NUM"].Value.ToString3()) * double.Parse(uRow.Cells["WEIGHT_M"].Value.ToString3());
  278. // }
  279. // }
  280. // actualNum.Value = a;
  281. // actualWeight.Value = b;
  282. //}
  283. #endregion
  284. }
  285. }