using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using Infragistics.Win.UltraWinGrid; using Pur.Entity; using Pur.Entity.configureEntity; using Pur.PublicTools; using Pur.require_plan; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Pur.balance { public partial class FrmBalanceBillManage_Audit : FrmPmsBase { public FrmBalanceBillManage_Audit() { InitializeComponent(); IsLoadUserView = true; } protected override void OnLoad(EventArgs e) { base.OnLoad(e); //ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框 ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid2_1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; } private void FrmBalanceBillManage_Load(object sender, EventArgs e) { dateBegin.Value = dateEnd.DateTime.AddDays(-7); txtItemClass.Enabled = false; PurCkInBillEntity CkInBillEntity = new PurCkInBillEntity(); DataTable dt_GropByItem = this.execute("com.hnshituo.pur.ck.service.CkInBillService", "GetCkInBill_GropByItem", new object[] { CkInBillEntity }); comm.FilComboboxAdd(txtItemClass, dt_GropByItem, "basecode", "basename", "", false, "", ""); InitColumns(); SetSumCount(); InitBindBox(); } private void InitColumns() { string[] arrColumnsDetail = new string[] { "CHK", "BALANCE_NO", "BALANCE_NO_SEQ", "SUPP_CODE", "SUPP_NAME", "ORDER_ID", "ORDER_LINE_SQE", "ITEM_UNIQUE", "ITEM_UP_NAME", "ITEM_CODE", "ITEM_DESC", "ITEM_DESC_E", "ITEM_NAME", "ITEM_ATTR_ID", "ITEM_ATTR", "ITEM_STANDARDS_ID", "ITEM_STANDARDS", "ITEM_UOM_ID", "BATCH_NO", "BUY_QTY", "ITEM_UOM", "BUY_PRICE", "BUY_AMT", "BUY_PRICE_TAX", "BUY_AMT_TAX", "ITEM_UOM_CONEFFICIENT", "INV_QTY", "WEIGHT_UNIT", "BUG_PRICE", "BUG_AMT", "INV_PHYSIC", "INV_POS", "IN_STOCK_NO", "DELIVERY_SUB_LINE_SQE", "INSTOCK_DATE", "CREATE_NAME", "CREATE_TIME", "BILL_NO", "TOTAL_REAL_PRICE", "IS_PRINT", "IS_PRINT_DESC", "MATER_GROUP", "APPROVE_STATUS", "APPROVE_STATUS_DESC" }; string[] arrColumnsCaptionDetail = new string[] { "选择", "结算单号", "结算单行号", "供应商", "供应商", "合同号", "合同行号", "唯一值标识", "物料大类", "物料编码", "物料描述", "物料英文名称", "物料名称", "属性编码", "属性", "标准", "标准", "单位换算ID", "批次号", "采购量", "采购单位", "不含税单价", "不含税金额", "含税单价", "含税金额", "转换系数", "入库量", "库存单位", "计划价", "计划金额", "库区", "库位", "入库单号", "送货单行号", "入库日期", "创建人", "创建日期", "发票编号", "发票金额", "是否打印", "是否打印", "报销事宜", "审核状态", "审核状态" };//"转换系数", PublicPur.InitColumns(arrColumnsDetail, arrColumnsCaptionDetail, dataTable2, ultraGrid2, new string[] { "CHK", "BALANCE_NO", "SUPP_NAME", "ITEM_UP_NAME", "BUY_QTY", "BUY_AMT", "BUY_AMT_TAX", "INV_QTY", "BUG_AMT", "CREATE_NAME", "CREATE_TIME", "BILL_NO", "TOTAL_REAL_PRICE", "IS_PRINT_DESC", "MATER_GROUP", "APPROVE_STATUS_DESC" }, true, new string[] { "CHK" });//"ITEM_UOM_CONEFFICIENT" PublicPur.InitColumns(arrColumnsDetail, arrColumnsCaptionDetail, dataTable2_1, ultraGrid2_1, new string[] { "CHK", "BALANCE_NO", "ITEM_UP_NAME", "SUPP_CODE", "SUPP_NAME", "ORDER_ID", "ITEM_UNIQUE", "ITEM_CODE", "ITEM_DESC", "ITEM_DESC_E", "ITEM_ATTR_ID", "ITEM_ATTR", "ITEM_STANDARDS_ID", "ITEM_STANDARDS", "ITEM_UOM_ID", "BATCH_NO", "CREATE_NAME", "CREATE_TIME", "BILL_NO", "TOTAL_REAL_PRICE", "IS_PRINT", "IS_PRINT_DESC", "MATER_GROUP","APPROVE_STATUS", "APPROVE_STATUS_DESC" }, false, new string[] { "CHK" });//"ITEM_UOM_CONEFFICIENT", PublicPur.InitCellPositionRight(ultraGrid2, new string[] { "BUY_QTY", "BUY_PRICE", "BUY_AMT", "BUY_PRICE_TAX", "BUY_AMT_TAX", "ITEM_UOM_CONEFFICIENT", "INV_QTY", "BUG_PRICE", "BUG_AMT" });//入库量保留三位 PublicPur.InitColumnShowLength(ultraGrid2, 0, new string[] { "BUY_QTY", "INV_QTY" }, 3, false);//入库量保留三位 PublicPur.InitColumnShowLength(ultraGrid2, 0, new string[] { "BUY_PRICE", "BUY_AMT", "BUY_PRICE_TAX", "BUY_AMT_TAX", "BUG_PRICE", "BUG_AMT" }, 2, false);//金额保留两位 PublicPur.InitCellPositionRight(ultraGrid2_1, new string[] { "BUY_QTY", "BUY_PRICE", "BUY_AMT", "BUY_PRICE_TAX", "BUY_AMT_TAX", "ITEM_UOM_CONEFFICIENT", "INV_QTY", "BUG_PRICE", "BUG_AMT" });//入库量保留三位 PublicPur.InitColumnShowLength(ultraGrid2_1, 0, new string[] { "BUY_QTY", "INV_QTY" }, 3, false);//入库量保留三位 PublicPur.InitColumnShowLength(ultraGrid2_1, 0, new string[] { "BUY_PRICE", "BUY_AMT", "BUY_PRICE_TAX", "BUY_AMT_TAX", "BUG_PRICE", "BUG_AMT" }, 2, false);//金额保留两位 } //设置统计风格 private void SetSumCount() { PublicPur.SetupSummaryHeade(new String[] { "Count", "Sum", "Sum", "Sum", "Sum", "Sum" }, new String[] { "共{0}条", "{0}", "{0}", "{0}", "{0}", "{0}" }, new string[] { "BALANCE_NO_SEQ", "BUY_QTY", "BUY_AMT", "BUY_AMT_TAX", "INV_QTY", "BUG_AMT" }, this.ultraGrid2_1.DisplayLayout.Bands[0], SummaryDisplayAreas.BottomFixed); } private void InitBindBox() { } //菜单按钮事件 public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query_Man": QueryBalanceInBillRecord_Man(); break; case "Query_Dept": QueryBalanceInBillRecord_Dept(); break; case "Examine_Man": UpdateAppRoveStatusIsMan();//业务主管审核 break; case "Examine_Dept": UpdateAppRoveStatusIsDept();//分管部长审核 break; case "Examine_ManCancel": UpdateAppRoveStatusIsManCancel();//业务主管取消审核 break; case "Examine_DeptCancel": UpdateAppRoveStatusIsDeptCancel();//分管部长取消审核 break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } private void UpdateAppRoveStatusIsMan() { ultraGrid2.UpdateData(); ArrayList list = new ArrayList(); DataRow[] arr = dataTable2.Select("CHK = 'True'"); string userId = UserInfo.GetUserID(); string userName = UserInfo.GetUserName(); string strDate = DateTime.Now.ToString(); if (arr.Length <= 0) { MessageUtil.ShowWarning("请选择需要操作的记录!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认对选择记录进行审核?") == DialogResult.Yes) { foreach (DataRow row in arr) { if (!Convert.ToString(row["APPROVE_STATUS"].ToString()).Equals("1")) { MessageUtil.ShowWarning("选择的操作记录结算单号" + row["BALANCE_NO"].ToString() + "未提报审核或业务主管审核已通过!"); } else { ArrayList arrList = new ArrayList(); arrList.Add(userId);//审核人id arrList.Add(userName);//审核人姓名 arrList.Add(row["BALANCE_NO"].ToString());//结算单号 list.Add(arrList); } } if (list.Count <= 0) { MessageUtil.ShowWarning("请重新选择需要操作的记录!"); return; } PublicServer.SetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.UpdateAppRoveStatusIsMan", new Object[] { list }, ob); QueryBalanceInBillRecord_Man(); MessageUtil.ShowTips("业务主管审核成功!"); } } private void UpdateAppRoveStatusIsDept() { ultraGrid2.UpdateData(); ArrayList list = new ArrayList(); DataRow[] arr = dataTable2.Select("CHK = 'True'"); string userId = UserInfo.GetUserID(); string userName = UserInfo.GetUserName(); string strDate = DateTime.Now.ToString(); if (arr.Length <= 0) { MessageUtil.ShowWarning("请选择需要操作的记录!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认对选择记录进行审核?") == DialogResult.Yes) { foreach (DataRow row in arr) { if (!Convert.ToString(row["APPROVE_STATUS"].ToString()).Equals("2")) { MessageUtil.ShowWarning("选择的操作记录结算单号" + row["BALANCE_NO"].ToString() + "业务主管未审核或分管部长审核已通过!"); } else { ArrayList arrList = new ArrayList(); arrList.Add(userId);//审核人id arrList.Add(userName);//审核人姓名 arrList.Add(row["BALANCE_NO"].ToString());//结算单号 list.Add(arrList); } } if (list.Count <= 0) { MessageUtil.ShowWarning("请重新选择需要操作的记录!"); return; } PublicServer.SetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.UpdateAppRoveStatusIsDept", new Object[] { list }, ob); QueryBalanceInBillRecord_Dept(); MessageUtil.ShowTips("分管部长审核成功!"); } } private void UpdateAppRoveStatusIsManCancel() { ultraGrid2.UpdateData(); ArrayList list = new ArrayList(); DataRow[] arr = dataTable2.Select("CHK = 'True'"); string userId = UserInfo.GetUserID(); string userName = UserInfo.GetUserName(); string strDate = DateTime.Now.ToString(); if (arr.Length <= 0) { MessageUtil.ShowWarning("请选择需要操作的记录!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认对选择记录进行取消审核?") == DialogResult.Yes) { foreach (DataRow row in arr) { if (Convert.ToString(row["APPROVE_STATUS"].ToString()).Equals("6")) { MessageUtil.ShowWarning("选择的操作记录结算单号" + row["BALANCE_NO"].ToString() + "已取消审核!"); continue; } else if (!Convert.ToString(row["APPROVE_STATUS"].ToString()).Equals("1")) { MessageUtil.ShowWarning("选择的操作记录结算单号" + row["BALANCE_NO"].ToString() + "不符合取消审核规则!"); } else { ArrayList arrList = new ArrayList(); arrList.Add(userId);//审核人id arrList.Add(userName);//审核人姓名 arrList.Add(row["BALANCE_NO"].ToString());//结算单号 list.Add(arrList); } } if (list.Count <= 0) { MessageUtil.ShowWarning("请重新选择需要操作的记录!"); return; } PublicServer.SetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.UpdateAppRoveStatusIsManCancel", new Object[] { list }, ob); QueryBalanceInBillRecord_Man(); MessageUtil.ShowTips("取消审核成功!"); } } private void UpdateAppRoveStatusIsDeptCancel() { ultraGrid2.UpdateData(); ArrayList list = new ArrayList(); DataRow[] arr = dataTable2.Select("CHK = 'True'"); string userId = UserInfo.GetUserID(); string userName = UserInfo.GetUserName(); string strDate = DateTime.Now.ToString(); if (arr.Length <= 0) { MessageUtil.ShowWarning("请选择需要操作的记录!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认对选择记录进行取消审核?") == DialogResult.Yes) { foreach (DataRow row in arr) { if (Convert.ToString(row["APPROVE_STATUS"].ToString()).Equals("6")) { MessageUtil.ShowWarning("选择的操作记录结算单号" + row["BALANCE_NO"].ToString() + "已取消审核!"); continue; ; } if (!Convert.ToString(row["APPROVE_STATUS"].ToString()).Equals("2")) { MessageUtil.ShowWarning("选择的操作记录结算单号" + row["BALANCE_NO"].ToString() + "不符合取消审核规则!"); } else { ArrayList arrList = new ArrayList(); arrList.Add(userId);//审核人id arrList.Add(userName);//审核人姓名 arrList.Add(row["BALANCE_NO"].ToString());//结算单号 list.Add(arrList); } } if (list.Count <= 0) { MessageUtil.ShowWarning("请重新选择需要操作的记录!"); return; } PublicServer.SetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.UpdateAppRoveStatusIsDeptCancel", new Object[] { list }, ob); QueryBalanceInBillRecord_Dept(); MessageUtil.ShowTips("取消审核成功!"); } } private void QueryBalanceInBillRecord_Man() { try { dataTable2.Rows.Clear(); ArrayList arrayList = new ArrayList(); if (chkDate.Checked) { arrayList.Add(dateBegin.DateTime.ToShortDateString() + " 00:00:00"); arrayList.Add(dateEnd.DateTime.ToShortDateString() + " 23:59:59"); } else { arrayList.Add("0001/01/01 00:00:00"); arrayList.Add("9999/12/31 23:59:59"); } if (chkSUPP_NAME.Checked) { arrayList.Add(ultraQuerySUPP_NAME.Text.Trim()); arrayList.Add(ultraQuerySUPP_NAME.Text.Trim()); arrayList.Add(ultraQuerySUPP_NAME.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (chkBALANCE_NO.Checked) { arrayList.Add(txtQueryBALANCE_NO.Text.Trim()); arrayList.Add(txtQueryBALANCE_NO.Text.Trim()); arrayList.Add(txtQueryBALANCE_NO.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (lab_ItemName.Checked && txtItemClass.Text.Trim() != "") { arrayList.Add(txtItemClass.Text.Trim()); arrayList.Add(txtItemClass.Text.Trim()); arrayList.Add(txtItemClass.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (cshStatus.Checked) { if (shStatus.Value.Equals("0")) { arrayList.Add("1"); arrayList.Add("1"); arrayList.Add("1"); } else if (shStatus.Value.Equals("1")) { arrayList.Add("2"); arrayList.Add("2"); arrayList.Add("2"); } } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } DataTable dt = PublicServer.GetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.QueryBalanceInBillRecordMan", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable2.Rows.Clear(); dataTable2_1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable2, true); GridHelper.RefreshAndAutoSize(ultraGrid2); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void QueryBalanceInBillRecord_Dept() { try { dataTable2.Rows.Clear(); ArrayList arrayList = new ArrayList(); if (chkDate.Checked) { arrayList.Add(dateBegin.DateTime.ToShortDateString() + " 00:00:00"); arrayList.Add(dateEnd.DateTime.ToShortDateString() + " 23:59:59"); } else { arrayList.Add("0001/01/01 00:00:00"); arrayList.Add("9999/12/31 23:59:59"); } if (chkSUPP_NAME.Checked) { arrayList.Add(ultraQuerySUPP_NAME.Text.Trim()); arrayList.Add(ultraQuerySUPP_NAME.Text.Trim()); arrayList.Add(ultraQuerySUPP_NAME.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (chkBALANCE_NO.Checked) { arrayList.Add(txtQueryBALANCE_NO.Text.Trim()); arrayList.Add(txtQueryBALANCE_NO.Text.Trim()); arrayList.Add(txtQueryBALANCE_NO.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (lab_ItemName.Checked && txtItemClass.Text.Trim() != "") { arrayList.Add(txtItemClass.Text.Trim()); arrayList.Add(txtItemClass.Text.Trim()); arrayList.Add(txtItemClass.Text.Trim()); } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } if (cshStatus.Checked) { if (shStatus.Value.Equals("0")) { arrayList.Add("2"); arrayList.Add("2"); arrayList.Add("2"); } else if (shStatus.Value.Equals("1")) { arrayList.Add("3"); arrayList.Add("3"); arrayList.Add("3"); } } else { arrayList.Add(""); arrayList.Add(""); arrayList.Add(""); } DataTable dt = PublicServer.GetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.QueryBalanceInBillRecordDept", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable2.Rows.Clear(); dataTable2_1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable2, true); GridHelper.RefreshAndAutoSize(ultraGrid2); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { QueryCkInBillRecordDetail(); } private void QueryCkInBillRecordDetail() { try { dataTable2_1.Rows.Clear(); ArrayList arrayList = new ArrayList(); arrayList.Add(ultraGrid2.ActiveRow.Cells["BALANCE_NO"].Text.Trim()); arrayList.Add(ultraGrid2.ActiveRow.Cells["BALANCE_NO"].Text.Trim()); arrayList.Add(ultraGrid2.ActiveRow.Cells["BALANCE_NO"].Text.Trim()); DataTable dt = PublicServer.GetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.QueryCkInBillRecordDetail", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable2_1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable2_1, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid2_1); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void chkSUPP_NAME_CheckedChanged(object sender, EventArgs e) { ultraQuerySUPP_NAME.Enabled = chkSUPP_NAME.Checked; } private void chkBALANCE_NO_CheckedChanged(object sender, EventArgs e) { txtQueryBALANCE_NO.Enabled = chkBALANCE_NO.Checked; } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { chkDate.Text = "编制日期"; chkBALANCE_NO.Location = new System.Drawing.Point(723, 12); txtQueryBALANCE_NO.Location = new System.Drawing.Point(797, 11); chkBALANCE_NO.Visible = true; txtQueryBALANCE_NO.Visible = true; cshStatus.Visible = true; shStatus.Visible = true; } private void cshStatus_CheckedChanged(object sender, EventArgs e) { shStatus.Enabled = cshStatus.Checked; } private void lab_ItemName_CheckedChanged(object sender, EventArgs e) { txtItemClass.Enabled = lab_ItemName.Checked; } } }