frmBeltScaleActualinfo_addendum.cs 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824
  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.Generic;
  13. using System.Data;
  14. using System.Drawing;
  15. using System.Linq;
  16. using System.Net;
  17. using System.Threading;
  18. using System.Windows.Forms;
  19. using Newtonsoft.Json;
  20. namespace BeltScaleSystem
  21. {
  22. /// <summary>
  23. /// 皮带结净数据补录 包含已审核未审核
  24. /// </summary>
  25. public partial class frmBeltScaleActualinfo_addendum : Form
  26. {
  27. public frmBeltScaleActualinfo_addendum()
  28. {
  29. InitializeComponent();
  30. }
  31. //菜单栏事件
  32. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  33. {
  34. switch (e.Tool.Key)
  35. {
  36. case "查询":
  37. QueryScaleActualinfo();
  38. break;
  39. case "新增":
  40. AddScalePrediction();
  41. break;
  42. case "修改":
  43. UpdateScalePrediction();
  44. break;
  45. case "导出":
  46. ExporterScaleActual();
  47. break;
  48. case "删除":
  49. DeleteAndRecoverScaleActual(1);
  50. break;
  51. case "还原":
  52. DeleteAndRecoverScaleActual(2);
  53. break;
  54. }
  55. }
  56. #region 自定义变量
  57. private string userId = "", userName = ""; //用户ID用户名
  58. private MeterWorkBeltActualService BeltActualService = new MeterWorkBeltActualService();
  59. private CoreAppUser userinfo = null;
  60. private DataTable dtMaterial;//物料数据源
  61. private DataTable dtMaterial2;//物料数据源
  62. private DataTable dtcustomerSupplier;//发货单位数据源
  63. private DataTable dtPoint;//计量点数据源
  64. MeterBaseMatterInfoService meterBaseMatterInfo = new MeterBaseMatterInfoService();//物料服务
  65. MeterBaseScalePointService monitorService = new MeterBaseScalePointService();
  66. MeterBaseCustomerSupplierService customerSupplierService = new MeterBaseCustomerSupplierService();
  67. private Boolean IsBatch = false;
  68. #endregion
  69. #region 菜单栏方法
  70. //实绩查询
  71. private void QueryScaleActualinfo() {
  72. try
  73. {
  74. if (DateTime.Compare(dtStartTime.Value, dtEndTime.Value) > 0)
  75. {
  76. MessageBox.Show("开始时间不能大于结束时间");
  77. return;
  78. }
  79. MeterWorkBeltActual actual = new MeterWorkBeltActual();
  80. DataTable dtScaleTable = dataTable2.Clone();
  81. CommonPage<MeterWorkBeltActual> cp = new CommonPage<MeterWorkBeltActual>();
  82. if (checkDate.Checked)
  83. {
  84. cp.startTime = dtStartTime.Text.ToString();
  85. cp.endTime = dtEndTime.Text.ToString();
  86. if (cbDateFlag.SelectedIndex == 0) {
  87. actual.startTime = dtStartTime.Value;//不为空即可
  88. }
  89. if (cbDateFlag.SelectedIndex == 1)
  90. {
  91. actual.endTime = dtStartTime.Value;//不为空即可
  92. }
  93. if (cbDateFlag.SelectedIndex == 2)
  94. {
  95. actual.checkTime = dtStartTime.Value;//审核时间 就是发布时间 不为空即可
  96. }
  97. }
  98. if (cmMatName.Text.ToString() != "全部")
  99. {
  100. actual.newMatName = cmMatName.Text.ToString();
  101. }
  102. if (cbfahuo.Text.ToString() != "全部")
  103. {
  104. actual.newSupplier = cbfahuo.Text.ToString();
  105. }
  106. if (cbshouh.Text.ToString() != "全部")
  107. {
  108. actual.receivingUintName = cbshouh.Text.ToString();
  109. }
  110. if (ckShipNo.Checked) {
  111. if (ShipnoTxt_1.Text.ToString() != null && ShipnoTxt_1.Text.ToString().Trim() != "")//船号
  112. {
  113. actual.shipNo = ShipnoTxt_1.Text.ToString();
  114. }
  115. }
  116. if (cmbState.Text.ToString() != "全部" && cmbState.Text.ToString() != "" )
  117. {
  118. actual.valueFlag = cmbState.Value.ToString();
  119. }
  120. if (!Rbtn_AB.Checked)
  121. {
  122. if (Rbtn_A.Checked) {
  123. actual.scaleName = Rbtn_A.Text.ToString().Substring(0,1);
  124. }
  125. if (Rbtn_B.Checked)
  126. {
  127. actual.scaleName = Rbtn_B.Text.ToString().Substring(0, 1);
  128. }
  129. }
  130. if (moteTxt_1.Text.ToString().ToString().Trim() != "")
  131. {
  132. actual.unloadSite = moteTxt_1.Text.ToString().Trim();
  133. }
  134. cp.param = actual;
  135. RESTfulResult<List<MeterWorkBeltActual>> rms = BeltActualService.doQueryAndMultiple(cp);
  136. if (rms.Succeed)
  137. {
  138. if (rms.Data != null && rms.Data.Count > 0)
  139. {
  140. dtScaleTable = rms.Data.ListToDataTable<MeterWorkBeltActual>();
  141. ClsControlPack.CopyDataToDatatable(ref dtScaleTable, ref dataTable2, true);
  142. string aa = "";
  143. foreach (UltraGridRow ugr in beltActualGrid.Rows)
  144. {
  145. if (ugr.Cells["newMatName"].Value.ToString().Contains("焦炭"))
  146. {
  147. ugr.Cells["unloadSite"].Value = ugr.Cells["unloadSite"].Value.ToString() + "含焦粉";
  148. }
  149. if (ugr.Cells["valueFlag"].Value.ToString() == "0")
  150. {
  151. ugr.Appearance.BackColor = Color.Red;
  152. }
  153. else if (ugr.Cells["checkFlag"].Value.ToString() == "1")
  154. {
  155. ugr.Appearance.BackColor = Color.YellowGreen;
  156. }
  157. else
  158. {
  159. ugr.Appearance.BackColor = Color.White;
  160. //ugr.Cells["forwardingUnitName"].Value = "";
  161. //ugr.Cells["forwardingUnitName"].Appearance.BackColor = Color.Gray;
  162. }
  163. }
  164. ClsControlPack.RefreshAndAutoSize(beltActualGrid);
  165. }
  166. else
  167. {
  168. dtScaleTable.Clear();
  169. ClsControlPack.CopyDataToDatatable(ref dtScaleTable, ref dataTable2, true);
  170. ClsControlPack.RefreshAndAutoSize(beltActualGrid);
  171. }
  172. }
  173. }
  174. catch (Exception ex)
  175. {
  176. MessageBox.Show("实绩查询失败,请联系技术中心!" + ex.Message);
  177. return;
  178. }
  179. }
  180. //实绩新增
  181. private void AddScalePrediction() {
  182. RESTfulResult<string> rm = BeltActualService.doAdd(findFromInfo(1));
  183. if (rm.Succeed)
  184. {
  185. MessageBox.Show("新增实绩成功");
  186. QueryScaleActualinfo();
  187. return;
  188. }
  189. else
  190. {
  191. MessageBox.Show("新增实绩失败,请联系技术中心!" + rm.Message);
  192. return;
  193. }
  194. }
  195. //实绩修改
  196. private void UpdateScalePrediction()
  197. {
  198. try
  199. {
  200. if (!checkIsNull("from"))
  201. {
  202. MessageBox.Show("请选择需要修改的实绩!");
  203. return;
  204. }
  205. RESTfulResult<string> rm = BeltActualService.doUpdateWf(findFromInfo(2));
  206. if (rm.Succeed)
  207. {
  208. MessageBox.Show("实绩修改成功");
  209. QueryScaleActualinfo();
  210. return;
  211. }
  212. else
  213. {
  214. MessageBox.Show("实绩修改失败,请联系技术中心!" + rm.Message);
  215. return;
  216. }
  217. }
  218. catch (Exception ex)
  219. {
  220. MessageBox.Show("实绩修改异常!" + ex.Message);
  221. return;
  222. }
  223. }
  224. //实绩删除
  225. private void DeleteAndRecoverScaleActual(int no)
  226. {
  227. try
  228. {
  229. List<MeterWorkBeltActual> list = new List<MeterWorkBeltActual>();//实绩实体
  230. string flag = "";
  231. //获取已选择的列
  232. List<UltraGridRow> uGrid = GridHelper.UltraGridGetChooseRows(beltActualGrid, "UNCK");
  233. if (!checkIsNull("check",uGrid.Count)) {
  234. MessageBox.Show("请勾选需要操作的实绩!");
  235. return;
  236. }
  237. if (no == 1)
  238. {
  239. foreach (UltraGridRow ugr in uGrid)
  240. {
  241. flag = ugr.Cells["valueFlag"].Value.ToString();
  242. if (flag == "0")
  243. {
  244. MessageBox.Show("该实绩已是无效,不允许删除!");
  245. return;
  246. }
  247. list.Add(new MeterWorkBeltActual { valueFlag = "0", actualNo = ugr.Cells["actualNo"].Value.ToString() });
  248. }
  249. RESTfulResult<int> rm = BeltActualService.doUpdateFlags(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. else if(no==2){
  263. foreach (UltraGridRow ugr in uGrid)
  264. {
  265. flag = ugr.Cells["valueFlag"].Value.ToString();
  266. if (flag != "0")
  267. {
  268. MessageBox.Show("不是无效的实绩不允许还原!");
  269. return;
  270. }
  271. list.Add(new MeterWorkBeltActual { valueFlag = "1", actualNo = ugr.Cells["actualNo"].Value.ToString() });
  272. }
  273. RESTfulResult<int> rm = BeltActualService.doUpdateFlags(list);
  274. if (rm.Succeed)
  275. {
  276. MessageBox.Show("实绩还原成功");
  277. QueryScaleActualinfo();
  278. return;
  279. }
  280. else
  281. {
  282. MessageBox.Show("实绩还原失败,请联系技术中心!" + rm.Message);
  283. return;
  284. }
  285. }
  286. }
  287. catch (Exception ex)
  288. {
  289. MessageBox.Show("实绩删除还原异常!" + ex.Message);
  290. return;
  291. }
  292. }
  293. //审核
  294. private void ApproveScaleActual(int no) {
  295. try
  296. {
  297. List<MeterWorkBeltActual> list = new List<MeterWorkBeltActual>();//实绩实体
  298. string flag = "";
  299. //获取已选择的列
  300. List<UltraGridRow> uGrid = GridHelper.UltraGridGetChooseRows(beltActualGrid, "UNCK");
  301. if (!checkIsNull("check", uGrid.Count))
  302. {
  303. MessageBox.Show("请勾选需要操作的实绩!");
  304. return;
  305. }
  306. if (no == 1) {
  307. foreach (UltraGridRow ugr in uGrid)
  308. {
  309. flag = ugr.Cells["checkFlag"].Value.ToString();
  310. if (flag != "0")
  311. {
  312. MessageBox.Show("不是未审核的实绩不允许审核!");
  313. return;
  314. }
  315. list.Add(new MeterWorkBeltActual { checkFlag = "1", actualNo = ugr.Cells["actualNo"].Value.ToString() });
  316. }
  317. RESTfulResult<int> rm = BeltActualService.doUpdateCheckFlags(list);
  318. if (rm.Succeed)
  319. {
  320. MessageBox.Show("审核成功!");
  321. QueryScaleActualinfo();
  322. return;
  323. }
  324. else
  325. {
  326. MessageBox.Show("审核失败,请联系技术中心!" + rm.Message);
  327. return;
  328. }
  329. } else if (no==2) {
  330. foreach (UltraGridRow ugr in uGrid)
  331. {
  332. flag = ugr.Cells["checkFlag"].Value.ToString();
  333. if (flag != "1")
  334. {
  335. MessageBox.Show("不是审核的实绩不允许取消审核!");
  336. return;
  337. }
  338. list.Add(new MeterWorkBeltActual { checkFlag = "0", actualNo = ugr.Cells["actualNo"].Value.ToString() });
  339. }
  340. RESTfulResult<int> rm = BeltActualService.doUpdateCheckFlags(list);
  341. if (rm.Succeed)
  342. {
  343. MessageBox.Show("取消审核成功!");
  344. QueryScaleActualinfo();
  345. return;
  346. }
  347. else
  348. {
  349. MessageBox.Show("取消审核失败,请联系技术中心!" + rm.Message);
  350. return;
  351. }
  352. }
  353. }
  354. catch (Exception ex)
  355. {
  356. MessageBox.Show("审核异常!" + ex.Message);
  357. return;
  358. }
  359. }
  360. //导出
  361. private void ExporterScaleActual()
  362. {
  363. string str = Interaction.InputBox("请输入要导出的文件名", "提示", "", 100, 100);
  364. string pqath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
  365. this.ultraGridExcelExporter1.Export(this.beltActualGrid, pqath + "\\" + str + ".xls");
  366. MessageBox.Show("导出成功,请查看桌面!是否有[" + str + ".xls]表格");
  367. }
  368. #endregion
  369. #region 公共方法区
  370. //初始化加载
  371. private void frmBeltScaleActualinfo_Load(object sender, EventArgs e)
  372. {
  373. ScaleName.SelectedIndex = -1;
  374. userinfo = ((ST_MainForm)(this.MdiParent)).AppUser;
  375. //设置grid除了选择列 其余不可编辑
  376. GridHelper.SetExcludeColumnsActive(beltActualGrid.DisplayLayout.Bands[0], "UNCK");
  377. userId = ((ST_MainForm)(this.MdiParent)).UserID;
  378. userName = ((ST_MainForm)(this.MdiParent)).UserName;
  379. dtStartTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"));
  380. dtEndTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59"));
  381. DataTable dt = new DataTable();
  382. dt.Columns.Add("TEXT");
  383. dt.Columns.Add("VALUE");
  384. dt.Rows.Add("-1", "全部");
  385. dt.Rows.Add("0", "无效");
  386. dt.Rows.Add("1", "有效");
  387. valueToCombo(dt, cmbState);
  388. this.cmbState.SelectedIndex = -1;
  389. DataTable dt2 = new DataTable();
  390. dt2.Columns.Add("TEXT");
  391. dt2.Columns.Add("VALUE");
  392. dt2.Rows.Add("0", "开始时间");
  393. dt2.Rows.Add("1", "结束时间");
  394. dt2.Rows.Add("2", "发布时间");
  395. valueToCombo(dt2, cbDateFlag);
  396. this.cbDateFlag.SelectedIndex = 0;
  397. ValueList vlistFlag3 = new ValueList();
  398. vlistFlag3.ValueListItems.Add("0", "无效");
  399. vlistFlag3.ValueListItems.Add("1", "有效");
  400. this.beltActualGrid.DisplayLayout.Bands[0].Columns["valueFlag"].ValueList = vlistFlag3;
  401. ValueList vlistFlag4 = new ValueList();
  402. vlistFlag4.ValueListItems.Add("0", "未审核");
  403. vlistFlag4.ValueListItems.Add("1", "已审核");
  404. this.beltActualGrid.DisplayLayout.Bands[0].Columns["checkFlag"].ValueList = vlistFlag4;
  405. InitFromLoad();//加载物料
  406. InitPntInfo();//加载计量点
  407. QueryScaleActualinfo();
  408. }
  409. //下拉框控件自定义option
  410. public static void valueToCombo(DataTable source, UltraComboEditor cbb)
  411. {
  412. cbb.DataSource = source;
  413. cbb.DisplayMember = "VALUE";
  414. cbb.ValueMember = "TEXT";
  415. }
  416. //下拉框控件自定义option
  417. public static void valueToCombo1(DataTable source, ComboBox cbb)
  418. {
  419. cbb.DataSource = source;
  420. cbb.DisplayMember = "VALUE";
  421. cbb.ValueMember = "TEXT";
  422. }
  423. //控件初始化加载
  424. private void InitFromLoad()
  425. {
  426. try
  427. {
  428. RESTfulResult<List<MeterBaseMatterInfo>> rmx = meterBaseMatterInfo.doQueryListLike(new MeterBaseMatterInfo { validFlag = "1", pageNum = 1, pageSize = 9999 });
  429. RESTfulResult<List<MeterBaseCustomerSupplier>> rmx2 = customerSupplierService.doQuery(new MeterBaseCustomerSupplier { validFlag = "1" });
  430. if (rmx.Succeed && rmx.Data != null && rmx.Data.Count > 0)
  431. {
  432. dtMaterial = rmx.Data.ListToDataTable<MeterBaseMatterInfo>();
  433. dtMaterial2 = dtMaterial.Copy();
  434. }
  435. if (dtMaterial != null)
  436. {
  437. DataRow d1 = dtMaterial.NewRow();
  438. d1["matterName"] = "全部";
  439. d1["matterNo"] = "0";
  440. dtMaterial.Rows.InsertAt(d1, 0);
  441. cmMatName.DataSource = dtMaterial;
  442. cmMatName.DisplayMember = "matterName";
  443. cmMatName.ValueMember = "matterNo";
  444. cmMatname_1.DataSource = dtMaterial2;
  445. cmMatname_1.DisplayMember = "matterName";
  446. cmMatname_1.ValueMember = "matterNo";
  447. cmMatname_1.SelectedIndex = -1;
  448. }
  449. if (rmx2.Succeed && rmx2.Data != null && rmx2.Data.Count > 0)
  450. {
  451. dtcustomerSupplier = rmx2.Data.ListToDataTable<MeterBaseCustomerSupplier>();
  452. }
  453. if (dtcustomerSupplier != null)
  454. {
  455. DataRow d1 = dtcustomerSupplier.NewRow();
  456. d1["customerSupplierName"] = "全部";
  457. d1["customerSupplierNo"] = "0";
  458. dtcustomerSupplier.Rows.InsertAt(d1, 0);
  459. cbfahuo.DataSource = dtcustomerSupplier;
  460. cbfahuo.DisplayMember = "customerSupplierName";
  461. cbfahuo.ValueMember = "customerSupplierNo";
  462. cbfahuo_1.DataSource = dtcustomerSupplier.Copy();
  463. cbfahuo_1.DisplayMember = "customerSupplierName";
  464. cbfahuo_1.ValueMember = "customerSupplierNo";
  465. cbfahuo_1.SelectedIndex = -1;
  466. DataTable dt2 = new DataTable();
  467. dt2.Columns.Add("TEXT");
  468. dt2.Columns.Add("VALUE");
  469. dt2.Rows.Add("0", "西区炼铁");
  470. dt2.Rows.Add("1", "东区炼铁");
  471. valueToCombo1(dt2, cbshouh);
  472. valueToCombo1(dt2.Copy(), cbshouh_1);
  473. this.cbshouh.SelectedIndex = -1;
  474. this.cbshouh_1.SelectedIndex = -1;
  475. }
  476. }
  477. catch (Exception ex)
  478. {
  479. MessageBox.Show("初始化失败 " + ex.ToString());
  480. }
  481. }
  482. //计量点信息
  483. private void InitPntInfo() {
  484. MeterBaseSpotInfoService meterBaseSpotInfoService = new MeterBaseSpotInfoService();//计量点信息
  485. RESTfulResult<List<MeterBaseSpotInfo>> spo = meterBaseSpotInfoService.doQueryWf(new MeterBaseSpotInfo { validFlag = "1", spotTypeNo = "001002005" });
  486. if (spo.Succeed && spo.Data != null && spo.Data.Count > 0)
  487. {
  488. dtPoint = spo.Data.ListToDataTable<MeterBaseSpotInfo>();
  489. }
  490. if (dtPoint != null)
  491. {
  492. cbPntName.DataSource = dtPoint;
  493. cbPntName.DisplayMember = "baseSpotName";
  494. cbPntName.ValueMember = "baseSpotNo";
  495. }
  496. cbPntName.SelectedIndex = -1;
  497. }
  498. private bool checkIsNull(string str="", int count=0) {
  499. if (str == "from") {
  500. if (actualNoTxt.Text.ToString().Trim() == "")
  501. {
  502. return false;
  503. }
  504. } else if (str =="check") {
  505. if (count<1)
  506. {
  507. return false;
  508. }
  509. }
  510. return true;
  511. }
  512. //日期选择框
  513. private void checkDate_CheckedChanged(object sender, EventArgs e)
  514. {
  515. if (checkDate.Checked)
  516. {
  517. cbDateFlag.Enabled = true;
  518. dtStartTime.Enabled = true;
  519. dtEndTime.Enabled = true;
  520. }
  521. else
  522. {
  523. cbDateFlag.Enabled = false;
  524. dtStartTime.Enabled = false;
  525. dtEndTime.Enabled = false;
  526. }
  527. }
  528. //船号选择框
  529. private void ckShipNo_CheckedChanged(object sender, EventArgs e)
  530. {
  531. if (ckShipNo.Checked)
  532. {
  533. ShipnoTxt_1.Enabled = true;
  534. }
  535. else
  536. {
  537. ShipnoTxt_1.Enabled = false;
  538. }
  539. }
  540. private void checkGridCell(UltraGrid grid)
  541. {
  542. try
  543. {
  544. grid.UpdateData();
  545. List<UltraGridRow> row = GridHelper.SetAllColumnsCheckByCode(beltActualGrid, "actualNo", "UNCK", IsBatch);
  546. if (row.Count == 0)
  547. {
  548. clearGridTable();
  549. return;
  550. }
  551. //界面赋值
  552. UltraGridRow ugr = row[0];
  553. MeterWorkBeltActual beltActual = new MeterWorkBeltActual();//实绩实体
  554. if (ugr != null)
  555. {
  556. beltActual.actualNo = ugr.Cells["actualNo"].Text.Trim(); //实绩编号
  557. //beltActual.baseSpotNo = ugr.Cells["baseSpotNo"].Text.ToString();//计量点编码
  558. beltActual.baseSpotName = ugr.Cells["baseSpotName"].Text.ToString();//计量点
  559. beltActual.scaleName = ugr.Cells["scaleName"].Text.ToString();//AB秤
  560. beltActual.createManName = ugr.Cells["createManName"].Text.ToString();//计量员
  561. beltActual.overstock = ugr.Cells["overstock"].Text.ToString() == "" ? DateTime.Now : Convert.ToDateTime(ugr.Cells["overstock"].Text.ToString());//压港时间
  562. beltActual.startTime = ugr.Cells["startTime"].Text.ToString() == "" ? DateTime.Now : Convert.ToDateTime(ugr.Cells["startTime"].Text.ToString());//开始时间
  563. beltActual.endTime = ugr.Cells["endTime"].Text.ToString() == "" ? DateTime.Now : Convert.ToDateTime(ugr.Cells["endTime"].Text.ToString());//结束时间
  564. beltActual.forwardingWeight = ugr.Cells["forwardingWeight"].Text.Trim() == "" ? 0 : Convert.ToDouble(ugr.Cells["forwardingWeight"].Text.Trim());//报港数量
  565. beltActual.startWeight = ugr.Cells["startWeight"].Text.Trim() == "" ? 0 : Convert.ToDouble(ugr.Cells["startWeight"].Text.Trim());//开始重量
  566. beltActual.endWeight = ugr.Cells["endWeight"].Text.Trim() == "" ? 0 : Convert.ToDouble(ugr.Cells["endWeight"].Text.Trim());//结束重量
  567. beltActual.netWeight = ugr.Cells["netWeight"].Text.Trim() == "" ? 0 : Convert.ToDouble(ugr.Cells["netWeight"].Text.Trim());//结束重量
  568. //beltActual.unloadWharf = ugr.Cells["unloadWharf"].Text.Trim();//卸货码头
  569. beltActual.shipNo = ugr.Cells["shipNo"].Text.Trim();//船号
  570. beltActual.newSupplier = ugr.Cells["newSupplier"].Text.Trim();//发货单位
  571. beltActual.receivingUintName = ugr.Cells["receivingUintName"].Text.Trim(); //收货单位
  572. beltActual.unloadSite = ugr.Cells["unloadSite"].Text.Trim(); //备注
  573. //beltActual.forwardingUnitNo = ugr.Cells["forwardingUnitNo"].Text.Trim();//发货单位编号
  574. //beltActual.receivingUintNo = ugr.Cells["receivingUintNo"].Text.Trim();//收货单位编号
  575. beltActual.newMatName = ugr.Cells["newMatName"].Text.Trim(); //物料名称
  576. beltActual.predictionNo = ugr.Cells["predictionNo"].Text.Trim();//计划
  577. //beltActual.productNo = ugr.Cells["productNo"].Text.Trim();//物料编号
  578. beltActual.orderNo = ugr.Cells["orderNo"].Text.Trim();//合同号
  579. beltActual.newGg = ugr.Cells["newGg"].Text.Trim();//规格
  580. beltActual.newMatClass = ugr.Cells["newMatClass"].Text.Trim();//物料类别
  581. beltActual.newHlh = ugr.Cells["newHlh"].Text.Trim();//海轮号
  582. autoAutoFill(beltActual);
  583. }
  584. else
  585. {
  586. clearGridTable();
  587. }
  588. }
  589. catch (Exception ex)
  590. {
  591. MessageBox.Show("checkGridCell方法处理异常:" + ex);
  592. }
  593. }
  594. //填充窗口表单
  595. private void autoAutoFill(MeterWorkBeltActual beltActual)
  596. {
  597. if (beltActual == null || string.IsNullOrEmpty(beltActual.actualNo))
  598. {
  599. return;
  600. }
  601. cbPntName.Text = beltActual.baseSpotName;//计量点
  602. cbfahuo_1.Text = beltActual.newSupplier;//发货单位
  603. cbshouh_1.Text = beltActual.receivingUintName;//收货单位
  604. cmMatname_1.Text = beltActual.newMatName;//物料名称
  605. shipnoTxt.Text = beltActual.shipNo;//船号
  606. actualNoTxt.Text = beltActual.actualNo;//实绩编号
  607. startWeightTxt.Text = beltActual.startWeight.ToString();//开始重量
  608. endWeight_Txt.Text = beltActual.endWeight.ToString();//结束重量
  609. netWeightTxt.Text = beltActual.netWeight.ToString();//净重
  610. meterStaffTxt.Text = beltActual.createManName;//计量员
  611. ScaleName.Text = beltActual.scaleName;//ab秤
  612. requiteWeightTxt.Text = beltActual.forwardingWeight.ToString();//发运重量
  613. startTime.Value = (DateTime)beltActual.startTime;//开始时间
  614. endTime.Value = (DateTime)beltActual.endTime;//开始时间
  615. predictionNo_Txt.Text = beltActual.predictionNo;
  616. newOrder_text.Text = beltActual.orderNo;//合同号
  617. newGg_text.Text = beltActual.newGg;//规格
  618. newMatClass_text.Text = beltActual.newMatClass;//物料类别
  619. newHlh_text.Text = beltActual.newHlh;//海轮号
  620. moteTxt.Text = beltActual.unloadSite.Contains("含焦粉")?beltActual.unloadSite.Replace("含焦粉",""): beltActual.unloadSite;
  621. }
  622. #region 单选按钮 和文本框控制
  623. private void Rbtn_AB_CheckedChanged(object sender, EventArgs e)
  624. {
  625. if (Rbtn_AB.Checked) {
  626. Rbtn_A.Checked = false;
  627. Rbtn_B.Checked = false;
  628. }
  629. }
  630. private void Rbtn_A_CheckedChanged(object sender, EventArgs e)
  631. {
  632. if (Rbtn_A.Checked)
  633. {
  634. Rbtn_AB.Checked = false;
  635. Rbtn_B.Checked = false;
  636. }
  637. }
  638. private void radioButton3_CheckedChanged(object sender, EventArgs e)
  639. {
  640. if (Rbtn_B.Checked)
  641. {
  642. Rbtn_AB.Checked = false;
  643. Rbtn_A.Checked = false;
  644. }
  645. }
  646. private void startWeightTxt_KeyPress(object sender, KeyPressEventArgs e)
  647. {
  648. int keyValue = (int)e.KeyChar;
  649. if ((keyValue >= 48 && keyValue <= 57) || keyValue == 8 || keyValue == 46)
  650. {
  651. if (sender != null && sender is TextBox && keyValue == 46)
  652. {
  653. if (((TextBox)sender).Text.IndexOf(".") >= 0)
  654. e.Handled = true;
  655. else
  656. e.Handled = false;
  657. }
  658. else
  659. e.Handled = false;
  660. }
  661. else
  662. e.Handled = true;
  663. }
  664. private void endWeight_Txt_KeyPress(object sender, KeyPressEventArgs e)
  665. {
  666. int keyValue = (int)e.KeyChar;
  667. if ((keyValue >= 48 && keyValue <= 57) || keyValue == 8 || keyValue == 46)
  668. {
  669. if (sender != null && sender is TextBox && keyValue == 46)
  670. {
  671. if (((TextBox)sender).Text.IndexOf(".") >= 0)
  672. e.Handled = true;
  673. else
  674. e.Handled = false;
  675. }
  676. else
  677. e.Handled = false;
  678. }
  679. else
  680. e.Handled = true;
  681. }
  682. private void netWeightTxt_KeyPress(object sender, KeyPressEventArgs e)
  683. {
  684. int keyValue = (int)e.KeyChar;
  685. if ((keyValue >= 48 && keyValue <= 57) || keyValue == 8 || keyValue == 46)
  686. {
  687. if (sender != null && sender is TextBox && keyValue == 46)
  688. {
  689. if (((TextBox)sender).Text.IndexOf(".") >= 0)
  690. e.Handled = true;
  691. else
  692. e.Handled = false;
  693. }
  694. else
  695. e.Handled = false;
  696. }
  697. else
  698. e.Handled = true;
  699. }
  700. private void endWeight_Txt_TextChanged(object sender, EventArgs e)
  701. {
  702. this.netWeightTxt.Text = (Convert.ToDouble(endWeight_Txt.Text.ToString().Trim()) - Convert.ToDouble(startWeightTxt.Text.ToString().Trim())).ToString();
  703. }
  704. private void beltActualGrid_CellChange(object sender, CellEventArgs e)
  705. {
  706. if (e.Cell.Column.Key == "UNCK")
  707. {
  708. checkGridCell(beltActualGrid);
  709. }
  710. }
  711. private void clearGridTable() {
  712. cbPntName.Text = "";//计量点
  713. cbfahuo_1.Text = "";//发货单位
  714. cbshouh_1.Text = "";//收货单位
  715. cmMatname_1.Text = "";//物料名称
  716. shipnoTxt.Text = "";//船号
  717. actualNoTxt.Text = "";//实绩编号
  718. startWeightTxt.Text = "0";//开始重量
  719. endWeight_Txt.Text = "0";//结束重量
  720. netWeightTxt.Text = "0";//净重
  721. meterStaffTxt.Text = "";//计量员
  722. ScaleName.Text = "";//ab秤
  723. requiteWeightTxt.Text = "";//发运重量
  724. moteTxt.Text = "";
  725. predictionNo_Txt.Text = "";
  726. newOrder_text.Text = "";//合同号
  727. newGg_text.Text = "";//规格
  728. newMatClass_text.Text = "";//物料类别
  729. newHlh_text.Text = "";//海轮号
  730. }
  731. private void checkBox1_CheckedChanged(object sender, EventArgs e)
  732. {
  733. if (checkBox1.Checked)
  734. {
  735. IsBatch = true;
  736. }
  737. else {
  738. IsBatch = false;
  739. }
  740. }
  741. #endregion
  742. //获取表单数据
  743. private MeterWorkBeltActual findFromInfo(int no)
  744. {
  745. MeterWorkBeltActual beltActual = new MeterWorkBeltActual();
  746. beltActual.baseSpotName= cbPntName.Text;//计量点
  747. beltActual.newSupplier = cbfahuo_1.Text;//发货单位
  748. beltActual.forwardingUnitNo = cbfahuo_1.SelectedValue.ToString();//发货单位编码
  749. beltActual.receivingUintName=cbshouh_1.Text;//收货单位
  750. beltActual.receivingUintNo=cbshouh_1.SelectedValue.ToString();//收货单位编码
  751. beltActual.newMatName = cmMatname_1.Text;//物料名称
  752. beltActual.shipNo= shipnoTxt.Text;//船号
  753. beltActual.actualNo= actualNoTxt.Text;//实绩编号
  754. beltActual.startWeight= Convert.ToDouble(startWeightTxt.Text.Trim());//开始重量
  755. beltActual.endWeight = Convert.ToDouble(endWeight_Txt.Text.Trim());//结束重量
  756. beltActual.netWeight = Convert.ToDouble(netWeightTxt.Text.Trim());//净重重量
  757. beltActual.createManName=meterStaffTxt.Text;//计量员
  758. beltActual.scaleName=ScaleName.Text;//ab秤
  759. beltActual.forwardingWeight= Convert.ToDouble(requiteWeightTxt.Text);//发运重量
  760. beltActual.startTime=startTime.Value;//开始时间
  761. beltActual.endTime=endTime.Value;//结束时间
  762. beltActual.unloadSite=moteTxt.Text;
  763. beltActual.predictionNo = predictionNo_Txt.Text.ToString().Trim();
  764. beltActual.orderNo = newOrder_text.Text.ToString().Trim();//合同号
  765. beltActual.newGg = newGg_text.Text.ToString().Trim();//规格
  766. beltActual.newMatClass = newMatClass_text.Text.ToString().Trim();//物料类别
  767. beltActual.newHlh = newHlh_text.Text.ToString().Trim();//海轮号
  768. if (no == 1)
  769. {
  770. beltActual.createManNo = userId;
  771. beltActual.createManName = userName;
  772. beltActual.meterClass = userinfo.userClass;//班级班组
  773. beltActual.meterGroup = userinfo.userGroup;
  774. }
  775. else {
  776. beltActual.updateManNo = userId;
  777. beltActual.updateManName = userName;
  778. }
  779. return beltActual;
  780. }
  781. #endregion
  782. }
  783. }