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); } /// /// 重写基类方法 /// /// /// 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; } } /// /// 验证Checked是否勾选,显示控件可编辑 打勾表示可编辑,不打勾表示不可编辑 /// /// /// 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; } } /// /// 查询 /// 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; } } } } /// /// 查询时验证必填项 /// /// 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; } /// /// 按回车键触发查询按钮 /// /// /// 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; //} } } }