| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using CoreFS.CA06;
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Server;
- using System.Collections;
- using Core.Mes.Client.Comm.Tool;
- using Infragistics.Win.UltraWinGrid;
- using Core.StlMes.Client.YdmPipeManage.Tool;
- using Infragistics.Win;
- namespace Core.StlMes.Client.YdmPipeManage
- {
- public partial class FrmBillReport : FrmBase
- {
- private string[] _salgPermissions;
- private string[] _storagerPur;
-
- public FrmBillReport()
- {
- InitializeComponent();
- this.IsLoadUserView = true;
- }
- private void FrmBillReport_Load(object sender, EventArgs e)
- {
- DateTime now = DateTime.Now;
- DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
- DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
- StratBillTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
- EndBillTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
- CloseStratTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
- CloseEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
- BaseMethod.InitMonth(cmbMonth);
- BaseMethod.InitYear(cmbYear);
- cmbMonth.Value = string.Format("{0:00}", DateTime.Now.Month);
- cmbYear.Value = DateTime.Now.Year.ToString();
- _salgPermissions = BaseMethod.InitPermissions(this.ValidDataPurviewIds, ob);
- _storagerPur = BaseMethod.WarehousePermissions("", this.ValidDataPurviewIds, ob);
- }
- /// <summary>
- /// 重写基类方法
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="ToolbarKey"></param>
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- doQuery();
- break;
- case "Export"://导出
- if (ultraTabControl1.SelectedTab.Key.Equals("0"))
- {
- GridHelper.ulGridToExcel(GridBill, "提单报表子信息");
- }
- else
- {
- GridHelper.ulGridToExcel(ultraGrid1, "提单报表主信息");
- }
- break;
- case "Close":
- this.Close();
- break;
- }
- }
- /// <summary>
- /// 验证Checked是否勾选,显示控件可编辑 打勾表示可编辑,不打勾表示不可编辑
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void chk_CheckedChanged(object sender, EventArgs e)
- {
- if (chkBillList.Checked) { txtBillList.Enabled = true; } else { txtBillList.Enabled = false; }
- if (chkBillDate.Checked) { StratBillTime.Enabled = true; EndBillTime.Enabled = true; } else { StratBillTime.Enabled = false; EndBillTime.Enabled = false; }
- if (chkCloseDate.Checked) { CloseStratTime.Enabled = true; CloseEndTime.Enabled = true; } else { CloseStratTime.Enabled = false; CloseEndTime.Enabled = false; }
- if (chkOrder.Checked) { txtOrderNo.Enabled = true; } else { txtOrderNo.Enabled = false; }
- if (chkBillType.Checked) { cmbStatus.Enabled = true; } else { cmbStatus.Enabled = false; }
- if (chkSoage.Checked) { cmbSoage.Enabled = true; } else { cmbSoage.Enabled = false; }
- if (chkjies.Checked) { cmbJies.Enabled = true; } else { cmbJies.Enabled = false; }
- if (ChcTime.Checked) { cmbYear.Enabled = true; cmbMonth.Enabled = true; } else { cmbYear.Enabled = false; cmbMonth.Enabled = false; }
- if (chkHk.Checked) { cmbHk.Enabled = true; cmbCkf.Enabled = true; cmbYf.Enabled = true; } else { cmbHk.Enabled = false; cmbCkf.Enabled = false; cmbYf.Enabled = false; }
- if (chkJuno.Checked) { cmbJuNo.Enabled = true; } else { cmbJuNo.Enabled = false; }
- }
- /// <summary>
- /// 查询
- /// </summary>
- private void doQuery()
- {
- if (!ValidQuery()) return;
- ArrayList list = new ArrayList();
- string strStartTime = "";//开始时间
- string strEntTime = "";//结束时间
- string strStatus = "";
- string strBill = "";//提单号
- string strOrder = "";
- string closeStartTime = "";
- string closeEndTime = "";
- //string strHk="";
- //string strCkf = "";
- //string strYf = "";
- if (chkBillList.Checked)
- {
- strBill = txtBillList.Text.Trim();
- }
- if (chkBillDate.Checked)
- {
- strStartTime = StratBillTime.Value.ToString();
- strEntTime = EndBillTime.Value.ToString();
- if (DataTimeUtil.JudgeTime(DateTime.Parse(strStartTime), DateTime.Parse(strEntTime)) == 0)
- {
- MessageUtil.ShowTips("您所选择的日期区域不对,请重新选择!");
- return;
- }
- TimeSpan ts = Convert.ToDateTime(strEntTime) - Convert.ToDateTime(strStartTime);
- int sub = ts.Days;
- if (sub > 92)
- {
- MessageUtil.ShowTips("两个日期不能相差90天!");
- return;
- }
- }
- if(chkCloseDate.Checked)
- {
- closeStartTime = CloseStratTime.Value.ToString();
- closeEndTime = CloseEndTime.Value.ToString();
- if (DataTimeUtil.JudgeTime(DateTime.Parse(closeStartTime), DateTime.Parse(closeEndTime)) == 0)
- {
- MessageUtil.ShowTips("您所选择的日期区域不对,请重新选择!");
- return;
- }
- TimeSpan ts = Convert.ToDateTime(closeEndTime) - Convert.ToDateTime(closeStartTime);
- int sub = ts.Days;
- if (sub >92)
- {
- MessageUtil.ShowTips("两个日期不能相差92天!");
- return;
- }
- }
- if (chkBillType.Checked)
- {
- strStatus = cmbStatus.Value.ToString();
- }
- if (chkOrder.Checked)
- {
- strOrder = txtOrderNo.Text.Trim();
- }
- string strSoage = "";
- if (chkSoage.Checked)
- {
- strSoage = cmbSoage.Value.ToString();
- }
- string strJies = "";
- if(chkjies.Checked)
- {
- strJies=cmbJies.Value.ToString();
- }
- string beginTime = "";
- if (ChcTime.Checked)
- {
- beginTime = cmbYear.Text.Trim() + cmbMonth.Text.Trim();
- }
- //strHk = cmbHk.Value.ToString();
- //strCkf = cmbCkf.Value.ToString();
- //strYf=cmbYf.Value.ToString();
- //if (cmbStatus.Text.Trim().Equals("票据对齐"))
- //{
- // if (strHk.Equals("0") && strCkf.Equals("0") & strYf.Equals("0"))
- // {
- // MessageUtil.ShowTips("票据对齐除了000和222的状态!");
- // return;
- // }
- // if (strHk.Equals("2") && strCkf.Equals("2") & strYf.Equals("2"))
- // {
- // MessageUtil.ShowTips("票据对齐除了000和222的状态!");
- // return;
- // }
- //}
- bool strChkHk =false;
- if (chkHk.Checked)
- {
- strChkHk = true;
- }
- string juNo = "";
- if (chkJuno.Checked) { juNo = cmbJuNo.Text.Trim(); }
- if (chkBillDate.Checked && chkCloseDate.Checked)
- {
- MessageUtil.ShowTips("提单编制时间与提单关闭时间只能选择一个!"); return;
- }
- if (!chkBillDate.Checked && !chkCloseDate.Checked && strStatus.Equals("") && strBill.Equals("") && strOrder.Equals("") && !ChcTime.Checked && strJies.Equals("") && strSoage.Equals("") && juNo.Equals(""))
- {
- MessageUtil.ShowTips("请至少选择一个条件!"); return;
- }
- list.Add(strStartTime);
- list.Add(strEntTime);
- list.Add(strBill);
- list.Add(closeStartTime);
- list.Add(closeEndTime);
- string supplyUnit = this.CustomInfo;
- if (supplyUnit.Equals("BELONG_CODE")) {
- supplyUnit = "120501";
- } else if (supplyUnit.Equals("BELONG_CODE_TH")) {
- supplyUnit = "120504";
- }
- if (ultraTabControl1.SelectedTab.Key.Equals("0"))
- {
- list.Add(strOrder);
- DataTable dtBill = null;
- if (supplyUnit == "120501")
- {
- dtBill = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.CorePipeBillOfLadingClose.getQueryBillReport", new object[] { list, strJies, beginTime, strStatus, strChkHk, strSoage, juNo, supplyUnit, this.ValidDataPurviewIds }, ob);
- }
- else {
- dtBill = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.CorePipeBillOfLadingClose.getQueryBillReport", new object[] { list, strJies, beginTime, strStatus, strChkHk, strSoage, juNo, supplyUnit }, ob);
- }
- GridHelper.CopyDataToDatatable(dtBill, this.dataBill, true);
- BaseMethod.MergedCell(GridBill, new string[] { "BILL_NO" });
- foreach (UltraGridRow ugr in GridBill.Rows)
- {
- //理货在途量
- ugr.Cells["ActCountKc"].Value = (double.Parse(ugr.Cells["PLAN_COUNT"].Value.ToString()) - double.Parse(ugr.Cells["BEEN_COUNT"].Value.ToString())).ToString();
- if (double.Parse(ugr.Cells["ActCountKc"].Value.ToString())!=0.0)
- {
- ugr.Cells["ActWeightKc"].Value = (double.Parse(ugr.Cells["PLAN_WEIGHT"].Value.ToString()) - double.Parse(ugr.Cells["BEEN_WEIGHT"].Value.ToString())).ToString("f3");
- }
- else
- {
- ugr.Cells["ActWeightKc"].Value = "0.000";
- }
- ugr.Cells["ActCountZY"].Value = (double.Parse(ugr.Cells["ACT_COUNT"].Value.ToString()) - double.Parse(ugr.Cells["BEEN_COUNT"].Value.ToString())).ToString();
- if (double.Parse(ugr.Cells["ActCountZY"].Value.ToString())!=0.0)
- {
- ugr.Cells["ActWeightZY"].Value = (double.Parse(ugr.Cells["ACT_WEIGHT"].Value.ToString()) - double.Parse(ugr.Cells["BEEN_WEIGHT"].Value.ToString())).ToString("f3");
- }
- else
- {
- ugr.Cells["ActWeightZY"].Value = "0.000";
- }
- if (Math.Abs(double.Parse(ugr.Cells["ACT_WEIGHT_POST"].Value.ToString()) / double.Parse(ugr.Cells["BEEN_WEIGHT"].Value.ToString())) > 0.003)
- {
- ugr.Cells["ACT_WEIGHT_POST"].Appearance.BackColor = Color.FromArgb(255, 192, 128);
- ugr.Cells["ACT_WEIGHT_POST"].Appearance.BackHatchStyle = BackHatchStyle.None;
- }
- }
- }
- else
- {
- DataTable dtBill = null;
- if (supplyUnit == "120501")
- {
- dtBill = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.CorePipeBillOfLadingClose.getQueryBillMReport", new object[] { list, strJies, beginTime, strStatus, strChkHk, strSoage, supplyUnit, this.ValidDataPurviewIds }, ob);
- }
- else
- {
- dtBill = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.CorePipeBillOfLadingClose.getQueryBillMReport", new object[] { list, strJies, beginTime, strStatus, strChkHk, strSoage, supplyUnit }, ob);
- }
-
- GridHelper.CopyDataToDatatable(dtBill, this.dataBillM, true);
- //BaseMethod.MergedCell(ultraGrid1, new string[] { "BILL_NO" });
- foreach (UltraGridRow ugr in ultraGrid1.Rows)
- {
- //理货在途量
- ugr.Cells["ActCountKc"].Value = (double.Parse(ugr.Cells["PLAN_COUNT"].Value.ToString()) - double.Parse(ugr.Cells["BEEN_COUNT"].Value.ToString())).ToString();
- if (double.Parse(ugr.Cells["ActCountKc"].Value.ToString())!=0.0)
- {
- ugr.Cells["ActWeightKc"].Value = (double.Parse(ugr.Cells["PLAN_WEIGHT"].Value.ToString()) - double.Parse(ugr.Cells["BEEN_WEIGHT"].Value.ToString())).ToString("f3");
- }
- else { ugr.Cells["ActWeightKc"].Value = "0.000"; }
- //提单在途量
- ugr.Cells["ActCountZY"].Value = (double.Parse(ugr.Cells["ACT_COUNT"].Value.ToString()) - double.Parse(ugr.Cells["BEEN_COUNT"].Value.ToString())).ToString();
- if (double.Parse(ugr.Cells["ActCountZY"].Value.ToString())!=0.0)
- {
- ugr.Cells["ActWeightZY"].Value = (double.Parse(ugr.Cells["ACT_WEIGHT"].Value.ToString()) - double.Parse(ugr.Cells["BEEN_WEIGHT"].Value.ToString())).ToString("f3");
- }
- else { ugr.Cells["ActWeightZY"].Value = "0.000"; }
- if (Math.Abs(double.Parse(ugr.Cells["ACT_WEIGHT_POST"].Value.ToString()) / double.Parse(ugr.Cells["BEEN_WEIGHT"].Value.ToString())) > 0.003)
- {
- ugr.Cells["ACT_WEIGHT_POST"].Appearance.BackColor = Color.FromArgb(255, 192, 128);
- ugr.Cells["ACT_WEIGHT_POST"].Appearance.BackHatchStyle = BackHatchStyle.None;
- }
- }
- }
- }
- /// <summary>
- /// 查询时验证必填项
- /// </summary>
- /// <returns></returns>
- private bool ValidQuery()
- {
- if (DataTimeUtil.JudgeTime(DateTime.Parse(StratBillTime.Value.ToString()), DateTime.Parse(EndBillTime.Value.ToString())) == 0)
- {
- MessageUtil.ShowTips("您所选择的日期区域不对,请重新选择!");
- return false;
- }
- if (chkBillList.Checked && string.IsNullOrEmpty(txtBillList.Text.Trim()))
- {
- MessageBox.Show("请输入提货单号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- if (chkOrder.Checked && string.IsNullOrEmpty(txtOrderNo.Text.Trim()))
- {
- MessageBox.Show("请输入合同号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- if (chkBillType.Checked && string.IsNullOrEmpty(cmbStatus.Text.Trim()))
- {
- MessageBox.Show("请选择提单状态!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- if (chkjies.Checked && string.IsNullOrEmpty(cmbJies.Text.Trim()))
- {
- MessageBox.Show("请选择是否结算!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- if (chkSoage.Checked && string.IsNullOrEmpty(cmbSoage.Text.Trim()))
- {
- MessageBox.Show("请选择销售组织!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- if (chkJuno.Checked && string.IsNullOrEmpty(cmbJuNo.Text.Trim()))
- {
- MessageBox.Show("请输入炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- return true;
- }
- /// <summary>
- /// 按回车键触发查询按钮
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ContPublic_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Enter)
- {
- doQuery();
- }
- }
- private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
- {
- if (ultraTabControl1.SelectedTab.Key.Equals("0"))
- {
- chkOrder.Visible = true;
- txtOrderNo.Visible = true;
- }
- else
- {
- chkOrder.Visible = false;
- txtOrderNo.Visible = false;
- }
- }
- private void cmbStatus_ValueChanged(object sender, EventArgs e)
- {
- //if (cmbStatus.Text.Trim().Equals("票据对齐"))
- //{
- // chkHk.Visible = true;
- // cmbHk.Visible = true;
- // cmbCkf.Visible = true;
- // cmbYf.Visible = true;
- //}
- //else
- //{
- // chkHk.Visible = false;
- // cmbHk.Visible = false;
- // cmbCkf.Visible = false;
- // cmbYf.Visible = false;
- //}
- }
- }
- }
|