frmBeltScaleActualinfo_Release.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  1. using com.hnshituo.core.webapp.vo;
  2. using Common;
  3. using Infragistics.Win;
  4. using Infragistics.Win.UltraWinEditors;
  5. using Infragistics.Win.UltraWinGrid;
  6. using JC_MeasuringSystem;
  7. using Microsoft.VisualBasic;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Data;
  11. using System.Drawing;
  12. using System.Windows.Forms;
  13. namespace BeltScaleSystem
  14. {
  15. /// <summary>
  16. /// 皮带结净数据发布 (没审核)
  17. /// </summary>
  18. public partial class frmBeltScaleActualinfo_Release : Form
  19. {
  20. public frmBeltScaleActualinfo_Release()
  21. {
  22. InitializeComponent();
  23. }
  24. //菜单栏事件
  25. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  26. {
  27. switch (e.Tool.Key)
  28. {
  29. case "查询":
  30. QueryScaleActualinfo();
  31. break;
  32. case "导出":
  33. ExporterScaleActual();
  34. break;
  35. case "审核":
  36. ApproveScaleActual(1);
  37. break;
  38. case "取消审核":
  39. ApproveScaleActual(2);
  40. break;
  41. }
  42. }
  43. #region 自定义变量
  44. private MeterWorkBeltActualService BeltActualService = new MeterWorkBeltActualService();
  45. private DataTable dtMaterial;//物料数据源
  46. private DataTable dtcustomerSupplier;//发货单位数据源
  47. MeterBaseMatterInfoService meterBaseMatterInfo = new MeterBaseMatterInfoService();//物料服务
  48. MeterBaseScalePointService monitorService = new MeterBaseScalePointService();
  49. MeterBaseCustomerSupplierService customerSupplierService = new MeterBaseCustomerSupplierService();
  50. private CoreAppUser appUser = null;//登陆信息
  51. private string userId = "", userName = ""; //用户ID用户名
  52. #endregion
  53. #region 菜单栏方法
  54. //实绩查询
  55. private void QueryScaleActualinfo() {
  56. try
  57. {
  58. if (DateTime.Compare(dtStartTime.Value, dtEndTime.Value) > 0)
  59. {
  60. MessageBox.Show("开始时间不能大于结束时间");
  61. return;
  62. }
  63. MeterWorkBeltActual actual = new MeterWorkBeltActual();
  64. DataTable dtScaleTable = dataTable2.Clone();
  65. DataTable dtScaleTable1 = dataTable1.Clone();
  66. CommonPage<MeterWorkBeltActual> cp = new CommonPage<MeterWorkBeltActual>();
  67. CommonPage<MeterWorkBeltActual> cp1 = new CommonPage<MeterWorkBeltActual>();
  68. if (checkDate.Checked)
  69. {
  70. cp.startTime = dtStartTime.Text.ToString();
  71. cp.endTime = dtEndTime.Text.ToString();
  72. cp1.startTime = dtStartTime.Text.ToString();
  73. cp1.endTime = dtEndTime.Text.ToString();
  74. if (cbDateFlag.SelectedIndex == 0) {
  75. actual.startTime = dtStartTime.Value;//不为空即可
  76. }
  77. if (cbDateFlag.SelectedIndex == 1)
  78. {
  79. actual.endTime = dtStartTime.Value;//不为空即可
  80. }
  81. if (cbDateFlag.SelectedIndex == 2)
  82. {
  83. actual.checkTime = dtStartTime.Value;//审核时间 就是发布时间 不为空即可
  84. }
  85. }
  86. if (cmMatName.Text.ToString() != "全部")
  87. {
  88. actual.newMatName = cmMatName.Text.ToString();
  89. }
  90. if (cbfahuo.Text.ToString() != "全部")
  91. {
  92. actual.newSupplier = cbfahuo.Text.ToString();
  93. }
  94. if (cbshouh.Text.ToString() != "全部")
  95. {
  96. actual.receivingUintName = cbshouh.Text.ToString();
  97. }
  98. if (ckShipNo.Checked) {
  99. if (ShipnoTxt_1.Text.ToString() != null && ShipnoTxt_1.Text.ToString().Trim() != "")//船号
  100. {
  101. actual.shipNo = ShipnoTxt_1.Text.ToString();
  102. }
  103. }
  104. if (cmbState.Text.ToString() != "全部" && cmbState.Text.ToString() != "" )
  105. {
  106. actual.valueFlag = cmbState.Value.ToString();
  107. }
  108. if (!Rbtn_AB.Checked)
  109. {
  110. if (Rbtn_A.Checked) {
  111. actual.scaleName = Rbtn_A.Text.ToString().Substring(0,1);
  112. }
  113. if (Rbtn_B.Checked)
  114. {
  115. actual.scaleName = Rbtn_B.Text.ToString().Substring(0, 1);
  116. }
  117. }
  118. if (moteTxt_1.Text.ToString().ToString().Trim() != "")
  119. {
  120. actual.unloadSite = moteTxt_1.Text.ToString().Trim();
  121. }
  122. actual.checkFlag = "0";//查询未审核的数据
  123. actual.valueFlag = "1";//有效数据
  124. cp.param = actual;
  125. RESTfulResult<List<MeterWorkBeltActual>> rms = BeltActualService.doQueryAndMultiple(cp);
  126. actual.checkFlag = "1";//已审核的数据
  127. cp1.param = actual;
  128. RESTfulResult<List<MeterWorkBeltActual>> rms1 = BeltActualService.doQueryAndMultiple(cp1);
  129. if (rms.Succeed&& rms1.Succeed)
  130. {
  131. // MessageBox.Show("sss" + rms.Data.Count + "---" + rms1.Data.Count);
  132. if (rms.Data != null && rms.Data.Count > 0)
  133. {
  134. dtScaleTable = rms.Data.ListToDataTable<MeterWorkBeltActual>();
  135. ClsControlPack.CopyDataToDatatable(ref dtScaleTable, ref dataTable2, true);
  136. ClsControlPack.RefreshAndAutoSize(beltActualGrid);
  137. foreach (UltraGridRow ugr in beltActualGrid.Rows)
  138. {
  139. if (ugr.Cells["newMatName"].Value.ToString().Contains("焦炭"))
  140. {
  141. ugr.Cells["unloadSite"].Value = ugr.Cells["unloadSite"].Value.ToString() + "含焦粉";
  142. }
  143. }
  144. //foreach (UltraGridRow ugr in beltActualGrid.Rows)
  145. //{
  146. // if (ugr.Cells["valueFlag"].Value.ToString() == "0")
  147. // {
  148. // ugr.Appearance.BackColor = Color.Red;
  149. // }
  150. //}
  151. }
  152. else
  153. {
  154. dtScaleTable.Clear();
  155. ClsControlPack.CopyDataToDatatable(ref dtScaleTable, ref dataTable2, true);
  156. ClsControlPack.RefreshAndAutoSize(beltActualGrid);
  157. }
  158. if (rms1.Data != null && rms1.Data.Count > 0)
  159. {
  160. dtScaleTable1 = rms1.Data.ListToDataTable<MeterWorkBeltActual>();
  161. string aa = "";
  162. ClsControlPack.CopyDataToDatatable(ref dtScaleTable1, ref dataTable1, true);
  163. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  164. {
  165. if (ugr.Cells["newMatName"].Value.ToString().Contains("焦炭"))
  166. {
  167. aa = ugr.Cells["unloadSite"].Value.ToString();
  168. ugr.Cells["unloadSite"].Value = aa + "含焦粉";
  169. }
  170. }
  171. ClsControlPack.RefreshAndAutoSize(ultraGrid1);
  172. //foreach (UltraGridRow ugr in ultraGrid1.Rows)
  173. //{
  174. // if (ugr.Cells["valueFlag"].Value.ToString() == "0")
  175. // {
  176. // ugr.Appearance.BackColor = Color.Red;
  177. // }
  178. //}
  179. }
  180. else
  181. {
  182. dtScaleTable.Clear();
  183. ClsControlPack.CopyDataToDatatable(ref dtScaleTable1, ref dataTable1, true);
  184. ClsControlPack.RefreshAndAutoSize(ultraGrid1);
  185. }
  186. }
  187. }
  188. catch (Exception ex)
  189. {
  190. MessageBox.Show("实绩查询失败,请联系技术中心!" + ex.Message);
  191. return;
  192. }
  193. }
  194. //审核
  195. private void ApproveScaleActual(int no) {
  196. try
  197. {
  198. List<MeterWorkBeltActual> list = new List<MeterWorkBeltActual>();//实绩实体
  199. string flag = "";
  200. //获取已选择的列
  201. List<UltraGridRow> uGrid = null;
  202. if (no == 1)
  203. {
  204. uGrid = GridHelper.UltraGridGetChooseRows(beltActualGrid, "UNCK");
  205. }
  206. else if(no==2){
  207. uGrid = GridHelper.UltraGridGetChooseRows(ultraGrid1, "UNCK");
  208. }
  209. if (uGrid.Count < 1)
  210. {
  211. MessageBox.Show("请勾选需要操作的实绩!");
  212. return;
  213. }
  214. if (no == 1) {
  215. foreach (UltraGridRow ugr in uGrid)
  216. {
  217. flag = ugr.Cells["checkFlag"].Value.ToString();
  218. if (flag != "0")
  219. {
  220. MessageBox.Show("不是未审核的实绩不允许审核!");
  221. return;
  222. }
  223. list.Add(new MeterWorkBeltActual { checkFlag = "1", actualNo = ugr.Cells["actualNo"].Value.ToString(),checkManNo= userId,checkManName=userName,checkTime= DateTime.Now});
  224. // MessageBox.Show(userId+"---"+ userName+"---");
  225. }
  226. RESTfulResult<int> rm = BeltActualService.doUpdateCheckFlags(list);
  227. if (rm.Succeed)
  228. {
  229. MessageBox.Show("审核成功!");
  230. QueryScaleActualinfo();
  231. return;
  232. }
  233. else
  234. {
  235. MessageBox.Show("审核失败,请联系技术中心!" + rm.Message);
  236. return;
  237. }
  238. } else if (no==2) {
  239. foreach (UltraGridRow ugr in uGrid)
  240. {
  241. flag = ugr.Cells["checkFlag"].Value.ToString();
  242. if (flag != "1")
  243. {
  244. MessageBox.Show("不是审核的实绩不允许取消审核!");
  245. return;
  246. }
  247. list.Add(new MeterWorkBeltActual { checkFlag = "0", actualNo = ugr.Cells["actualNo"].Value.ToString() });
  248. }
  249. RESTfulResult<int> rm = BeltActualService.doUpdateCheckFlags(list);
  250. if (rm.Succeed)
  251. {
  252. MessageBox.Show("取消审核成功!");
  253. QueryScaleActualinfo();
  254. return;
  255. }
  256. else
  257. {
  258. MessageBox.Show("取消审核失败,请联系技术中心!" + rm.Message);
  259. return;
  260. }
  261. }
  262. }
  263. catch (Exception ex)
  264. {
  265. MessageBox.Show("审核异常!" + ex.Message);
  266. return;
  267. }
  268. }
  269. //导出
  270. private void ExporterScaleActual()
  271. {
  272. string str = Interaction.InputBox("请输入要导出的文件名", "提示", "", 100, 100);
  273. string pqath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
  274. this.ultraGridExcelExporter1.Export(this.beltActualGrid, pqath + "\\" + str + ".xls");
  275. MessageBox.Show("导出成功,请查看桌面!是否有[" + str + ".xls]表格");
  276. }
  277. #endregion
  278. #region 公共方法区
  279. //初始化加载
  280. private void frmBeltScaleActualinfo_Load(object sender, EventArgs e)
  281. {
  282. //设置grid除了选择列 其余不可编辑
  283. GridHelper.SetExcludeColumnsActive(beltActualGrid.DisplayLayout.Bands[0], "UNCK");
  284. dtStartTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"));
  285. dtEndTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59"));
  286. userId = ((ST_MainForm)(this.MdiParent)).UserID;
  287. userName = ((ST_MainForm)(this.MdiParent)).UserName;
  288. appUser = ((ST_MainForm)(this.MdiParent)).AppUser;
  289. DataTable dt = new DataTable();
  290. dt.Columns.Add("TEXT");
  291. dt.Columns.Add("VALUE");
  292. dt.Rows.Add("-1", "全部");
  293. dt.Rows.Add("0", "无效");
  294. dt.Rows.Add("1", "有效");
  295. valueToCombo(dt, cmbState);
  296. this.cmbState.SelectedIndex = -1;
  297. DataTable dt2 = new DataTable();
  298. dt2.Columns.Add("TEXT");
  299. dt2.Columns.Add("VALUE");
  300. dt2.Rows.Add("0", "开始时间");
  301. dt2.Rows.Add("1", "结束时间");
  302. dt2.Rows.Add("2", "发布时间");
  303. valueToCombo(dt2, cbDateFlag);
  304. this.cbDateFlag.SelectedIndex = 0;
  305. //ValueList vlistFlag3 = new ValueList();
  306. //vlistFlag3.ValueListItems.Add("0", "无效");
  307. //vlistFlag3.ValueListItems.Add("1", "有效");
  308. //this.beltActualGrid.DisplayLayout.Bands[0].Columns["valueFlag"].ValueList = vlistFlag3;
  309. ValueList vlistFlag4 = new ValueList();
  310. vlistFlag4.ValueListItems.Add("0", "未审核");
  311. vlistFlag4.ValueListItems.Add("1", "已审核");
  312. this.beltActualGrid.DisplayLayout.Bands[0].Columns["checkFlag"].ValueList = vlistFlag4;
  313. ValueList vlistFlag5 = new ValueList();
  314. vlistFlag5.ValueListItems.Add("0", "未审核");
  315. vlistFlag5.ValueListItems.Add("1", "已审核");
  316. this.ultraGrid1.DisplayLayout.Bands[0].Columns["checkFlag"].ValueList = vlistFlag5;
  317. InitFromLoad();//加载物料
  318. QueryScaleActualinfo();
  319. }
  320. //下拉框控件自定义option
  321. public static void valueToCombo(DataTable source, UltraComboEditor cbb)
  322. {
  323. cbb.DataSource = source;
  324. cbb.DisplayMember = "VALUE";
  325. cbb.ValueMember = "TEXT";
  326. }
  327. //下拉框控件自定义option
  328. public static void valueToCombo1(DataTable source, ComboBox cbb)
  329. {
  330. cbb.DataSource = source;
  331. cbb.DisplayMember = "VALUE";
  332. cbb.ValueMember = "TEXT";
  333. }
  334. //控件初始化加载
  335. private void InitFromLoad()
  336. {
  337. try
  338. {
  339. RESTfulResult<List<MeterBaseMatterInfo>> rmx = meterBaseMatterInfo.doQueryListLike(new MeterBaseMatterInfo { validFlag = "1", pageNum = 1, pageSize = 9999 });
  340. RESTfulResult<List<MeterBaseCustomerSupplier>> rmx2 = customerSupplierService.doQuery(new MeterBaseCustomerSupplier { validFlag = "1" });
  341. if (rmx.Succeed && rmx.Data != null && rmx.Data.Count > 0)
  342. {
  343. dtMaterial = rmx.Data.ListToDataTable<MeterBaseMatterInfo>();
  344. }
  345. if (dtMaterial != null)
  346. {
  347. DataRow d1 = dtMaterial.NewRow();
  348. d1["matterName"] = "全部";
  349. d1["matterNo"] = "0";
  350. dtMaterial.Rows.InsertAt(d1, 0);
  351. cmMatName.DataSource = dtMaterial;
  352. cmMatName.DisplayMember = "matterName";
  353. cmMatName.ValueMember = "matterNo";
  354. }
  355. if (rmx2.Succeed && rmx2.Data != null && rmx2.Data.Count > 0)
  356. {
  357. dtcustomerSupplier = rmx2.Data.ListToDataTable<MeterBaseCustomerSupplier>();
  358. }
  359. if (dtcustomerSupplier != null)
  360. {
  361. DataRow d1 = dtcustomerSupplier.NewRow();
  362. d1["customerSupplierName"] = "全部";
  363. d1["customerSupplierNo"] = "0";
  364. dtcustomerSupplier.Rows.InsertAt(d1, 0);
  365. cbfahuo.DataSource = dtcustomerSupplier;
  366. cbfahuo.DisplayMember = "customerSupplierName";
  367. cbfahuo.ValueMember = "customerSupplierNo";
  368. DataTable dt2 = new DataTable();
  369. dt2.Columns.Add("TEXT");
  370. dt2.Columns.Add("VALUE");
  371. dt2.Rows.Add("0", "西区炼铁");
  372. dt2.Rows.Add("1", "东区炼铁");
  373. valueToCombo1(dt2, cbshouh);
  374. this.cbshouh.SelectedIndex = -1;
  375. }
  376. }
  377. catch (Exception ex)
  378. {
  379. MessageBox.Show("初始化失败 " + ex.ToString());
  380. }
  381. }
  382. //日期选择框
  383. private void checkDate_CheckedChanged(object sender, EventArgs e)
  384. {
  385. if (checkDate.Checked)
  386. {
  387. cbDateFlag.Enabled = true;
  388. dtStartTime.Enabled = true;
  389. dtEndTime.Enabled = true;
  390. }
  391. else
  392. {
  393. cbDateFlag.Enabled = false;
  394. dtStartTime.Enabled = false;
  395. dtEndTime.Enabled = false;
  396. }
  397. }
  398. //船号选择框
  399. private void ckShipNo_CheckedChanged(object sender, EventArgs e)
  400. {
  401. if (ckShipNo.Checked)
  402. {
  403. ShipnoTxt_1.Enabled = true;
  404. }
  405. else
  406. {
  407. ShipnoTxt_1.Enabled = false;
  408. }
  409. }
  410. #region 单选按钮 和文本框控制
  411. private void Rbtn_AB_CheckedChanged(object sender, EventArgs e)
  412. {
  413. if (Rbtn_AB.Checked) {
  414. Rbtn_A.Checked = false;
  415. Rbtn_B.Checked = false;
  416. }
  417. }
  418. private void Rbtn_A_CheckedChanged(object sender, EventArgs e)
  419. {
  420. if (Rbtn_A.Checked)
  421. {
  422. Rbtn_AB.Checked = false;
  423. Rbtn_B.Checked = false;
  424. }
  425. }
  426. private void radioButton3_CheckedChanged(object sender, EventArgs e)
  427. {
  428. if (Rbtn_B.Checked)
  429. {
  430. Rbtn_AB.Checked = false;
  431. Rbtn_A.Checked = false;
  432. }
  433. }
  434. #endregion
  435. #endregion
  436. }
  437. }