frmScalePredictionSelect_nofh.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. using com.hnshituo.core.webapp.vo;
  2. using Common;
  3. using Common.vo.pb;
  4. using Infragistics.Win;
  5. using Infragistics.Win.UltraWinEditors;
  6. using Infragistics.Win.UltraWinGrid;
  7. using JC_MeasuringSystem;
  8. using MeterModuleLibrary;
  9. using MeterPlugInLibrary;
  10. using Microsoft.VisualBasic;
  11. using System;
  12. using System.Collections;
  13. using System.Collections.Generic;
  14. using System.Data;
  15. using System.Drawing;
  16. using System.Linq;
  17. using System.Net;
  18. using System.Threading;
  19. using System.Windows.Forms;
  20. namespace BeltScaleSystem
  21. {
  22. public partial class frmScalePredictionSelect_nofh : Form
  23. {
  24. public frmScalePredictionSelect_nofh()
  25. {
  26. InitializeComponent();
  27. }
  28. //菜单栏事件
  29. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  30. {
  31. switch (e.Tool.Key)
  32. {
  33. case "查询":
  34. QueryScalePrediction();
  35. break;
  36. case "导出":
  37. ExporterScalePrediction();
  38. break;
  39. }
  40. }
  41. #region 自定义变量
  42. // private ComBaseInfoService comBaseInfoService = new ComBaseInfoService(); //基础数服务
  43. PreBeltScalePreService PreBeltScalePreService = new PreBeltScalePreService();//预报服务
  44. private CoreAppUser appUser = null;//登陆信息
  45. private string userId = "", userName = ""; //用户ID用户名
  46. private DataTable dtMaterial;//物料数据源
  47. private DataTable dtMaterial2;//物料数据源
  48. private DataTable dtcustomerSupplier;//发货单位数据源
  49. private DataTable dtPoint;//计量点数据源
  50. MeterBaseMatterInfoService matterInfoService = new MeterBaseMatterInfoService();//物料服务
  51. MeterBaseCustomerSupplierService customerSupplierService = new MeterBaseCustomerSupplierService();
  52. #endregion
  53. #region 菜单栏方法
  54. //预报查询
  55. private void QueryScalePrediction() {
  56. try
  57. {
  58. if (DateTime.Compare(dtStartTime.Value, dtEndTime.Value) > 0)
  59. {
  60. MessageBox.Show("开始时间不能大于结束时间");
  61. return;
  62. }
  63. PreBeltScaleForecast forecast = new PreBeltScaleForecast();
  64. DataTable dtScaleTable = dataTable1.Clone();
  65. CommonPage<PreBeltScaleForecast> cp = new CommonPage<PreBeltScaleForecast>();
  66. if (checkDate.Checked)
  67. {
  68. cp.startTime = dtStartTime.Text.ToString();
  69. cp.endTime = dtEndTime.Text.ToString();
  70. }
  71. if (cmMatName.Text.ToString() != "全部") {
  72. forecast.newMatName = cmMatName.Text.ToString();
  73. }
  74. if (cbshouh.Text.ToString() != "全部" )
  75. {
  76. forecast.receivingUintName = cbshouh.Text.ToString();
  77. }
  78. if (ShipnoTxt_1.Text.ToString() != null && ShipnoTxt_1.Text.ToString().Trim() != "")//船号
  79. {
  80. forecast.shipNo = ShipnoTxt_1.Text.ToString();
  81. }
  82. if (cmbState.Text.ToString() != "全部" && cmbState.SelectedIndex != -1)
  83. {
  84. forecast.valueFlag = cmbState.Value.ToString();
  85. }
  86. cp.param = forecast; // new PreBeltScaleForecast { }; // !=0
  87. RESTfulResult<List<PreBeltScaleForecast>> rms = PreBeltScalePreService.doQueryWflike(cp);
  88. if (rms.Succeed)
  89. {
  90. if (rms.Data != null && rms.Data.Count > 0)
  91. {
  92. dtScaleTable = rms.Data.ListToDataTable<PreBeltScaleForecast>();
  93. ClsControlPack.CopyDataToDatatable(ref dtScaleTable, ref dataTable1, true);
  94. ClsControlPack.RefreshAndAutoSize(ultraGridBeltPre);
  95. foreach (UltraGridRow ugr in ultraGridBeltPre.Rows)
  96. {
  97. if (ugr.Cells["valueFlag"].Value.ToString() == "0")
  98. {
  99. ugr.Appearance.BackColor = Color.Red;
  100. }
  101. else if (ugr.Cells["valueFlag"].Value.ToString() == "3")
  102. {
  103. ugr.Appearance.BackColor = Color.YellowGreen;
  104. }
  105. else
  106. {
  107. ugr.Appearance.BackColor = Color.White;
  108. }
  109. }
  110. }
  111. else
  112. {
  113. dtScaleTable.Clear();
  114. ClsControlPack.CopyDataToDatatable(ref dtScaleTable, ref dataTable1, true);
  115. ClsControlPack.RefreshAndAutoSize(ultraGridBeltPre);
  116. }
  117. }
  118. }
  119. catch (Exception ex)
  120. {
  121. MessageBox.Show("预报查询失败,请联系技术中心!" + ex.Message);
  122. return;
  123. }
  124. }
  125. //导出预报数据
  126. private void ExporterScalePrediction() {
  127. string str = Interaction.InputBox("请输入要导出的文件名", "提示", "", 100, 100);
  128. string pqath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
  129. this.ultraGridExcelExporter1.Export(this.ultraGridBeltPre, pqath + "\\" + str + ".xls");
  130. MessageBox.Show("导出成功,请查看桌面!是否有[" + str + ".xls]表格");
  131. }
  132. #endregion
  133. #region 公共方法区
  134. private void frmScalePredictionManage_Load(object sender, EventArgs e)
  135. {
  136. //设置grid除了选择列 其余不可编辑
  137. GridHelper.SetExcludeColumnsActive(ultraGridBeltPre.DisplayLayout.Bands[0], "UNCK");
  138. userId = ((ST_MainForm)(this.MdiParent)).UserID;
  139. userName = ((ST_MainForm)(this.MdiParent)).UserName;
  140. appUser = ((ST_MainForm)(this.MdiParent)).AppUser;
  141. dtStartTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"));
  142. dtEndTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59"));
  143. DataTable dt = new DataTable();
  144. dt.Columns.Add("TEXT");
  145. dt.Columns.Add("VALUE");
  146. dt.Rows.Add("-1", "全部");
  147. dt.Rows.Add("0", "无效");
  148. dt.Rows.Add("1", "未使用");
  149. dt.Rows.Add("2", "使用中");
  150. dt.Rows.Add("3", "已完成");
  151. valueToCombo(dt, cmbState);
  152. this.cmbState.SelectedIndex = 0;
  153. //预报表转换
  154. ValueList vlistFlag1 = new ValueList();
  155. vlistFlag1.ValueListItems.Add("0", "无效");
  156. vlistFlag1.ValueListItems.Add("1", "未使用");
  157. vlistFlag1.ValueListItems.Add("2", "使用中");
  158. vlistFlag1.ValueListItems.Add("3", "已完成");
  159. this.ultraGridBeltPre.DisplayLayout.Bands[0].Columns["valueFlag"].ValueList = vlistFlag1;
  160. InitFromLoad();//加载
  161. QueryScalePrediction();
  162. }
  163. //控件初始化加载
  164. private void InitFromLoad() {
  165. try
  166. {
  167. RESTfulResult<List<MeterBaseMatterInfo>> rmx = matterInfoService.doQueryListLike(new MeterBaseMatterInfo { validFlag = "1", pageNum = 1, pageSize = 9999 });
  168. RESTfulResult<List<MeterBaseCustomerSupplier>> rmx2 = customerSupplierService.doQuery(new MeterBaseCustomerSupplier { validFlag = "1"});
  169. MeterBaseSpotInfoService meterBaseSpotInfoService = new MeterBaseSpotInfoService();//计量点信息
  170. RESTfulResult<List<MeterBaseSpotInfo>> spo = meterBaseSpotInfoService.doQueryWf(new MeterBaseSpotInfo { validFlag = "1", spotTypeNo = "001002005" });
  171. if (rmx.Succeed && rmx.Data != null && rmx.Data.Count > 0)
  172. {
  173. dtMaterial = rmx.Data.ListToDataTable<MeterBaseMatterInfo>();
  174. dtMaterial2 = dtMaterial.Copy();
  175. }
  176. if (dtMaterial != null)
  177. {
  178. DataRow d1 = dtMaterial.NewRow();
  179. d1["matterName"] = "全部";
  180. d1["matterNo"] = "0";
  181. dtMaterial.Rows.InsertAt(d1, 0);
  182. cmMatName.DataSource = dtMaterial;
  183. cmMatName.DisplayMember = "matterName";
  184. cmMatName.ValueMember = "matterNo";
  185. }
  186. if (rmx2.Succeed && rmx2.Data != null && rmx2.Data.Count > 0)
  187. {
  188. dtcustomerSupplier = rmx2.Data.ListToDataTable<MeterBaseCustomerSupplier>();
  189. }
  190. if (dtcustomerSupplier != null)
  191. {
  192. DataRow d1 = dtcustomerSupplier.NewRow();
  193. d1["customerSupplierName"] = "全部";
  194. d1["customerSupplierNo"] = "0";
  195. dtcustomerSupplier.Rows.InsertAt(d1, 0);
  196. cbfahuo.DataSource = dtcustomerSupplier;
  197. cbfahuo.DisplayMember = "customerSupplierName";
  198. cbfahuo.ValueMember = "customerSupplierNo";
  199. DataTable dt2 = new DataTable();
  200. dt2.Columns.Add("TEXT");
  201. dt2.Columns.Add("VALUE");
  202. dt2.Rows.Add("0", "西区炼铁");
  203. dt2.Rows.Add("1", "东区炼铁");
  204. valueToCombo1(dt2, cbshouh);
  205. this.cbshouh.SelectedIndex = -1;
  206. }
  207. }
  208. catch (Exception ex)
  209. {
  210. MessageBox.Show("初始化失败 " + ex.ToString());
  211. }
  212. }
  213. //下拉框控件自定义option
  214. public static void valueToCombo(DataTable source, UltraComboEditor cbb)
  215. {
  216. cbb.DataSource = source;
  217. cbb.DisplayMember = "VALUE";
  218. cbb.ValueMember = "TEXT";
  219. }
  220. //下拉框控件自定义option
  221. public static void valueToCombo1(DataTable source, ComboBox cbb)
  222. {
  223. cbb.DataSource = source;
  224. cbb.DisplayMember = "VALUE";
  225. cbb.ValueMember = "TEXT";
  226. }
  227. //时间控件开关
  228. private void checkDate_CheckedChanged(object sender, EventArgs e)
  229. {
  230. if (checkDate.Checked)
  231. {
  232. dtStartTime.Enabled = true;
  233. dtEndTime.Enabled = true;
  234. }
  235. else
  236. {
  237. dtStartTime.Enabled = false;
  238. dtEndTime.Enabled = false;
  239. }
  240. }
  241. #endregion
  242. }
  243. }