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.StlMes.Client.SaleOrder; using System.Collections; using Core.Mes.Client.Comm.Control; using Core.StlMes.Client.SaleComm; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using Core.Mes.Client.Comm.Server; using Core.StlMes.Client.SaleOrder.ReviewForm; using Core.StlMes.Client.SaleOrder.Dialog; namespace Core.StlMes.Client.SaleOrder { public partial class frmOrderEffect : FrmBase { public frmOrderEffect() { InitializeComponent(); this.IsLoadUserView = true; } private void frmOrderEffect_Load(object sender, EventArgs e) { DateTime Today = DateTime.Now; this.date_starte.DateTime = Today.Date.AddMonths(-1); this.date_end.DateTime = DateTime.Today; } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": this.Query(); break; case "doAdd": this.doAdd(); break; case "doUpdate": this.doUpdate(); break; case "PrintOrder": PrintOrder(); break; case "Confirm": AffirmAddDesc(); break; case "doClose": this.Close(); break; } } /// /// 确认加工备注 /// private void AffirmAddDesc() { gffect_oder.UpdateData(); UltraGridRow uRow = gffect_oder.ActiveRow; if (uRow == null) { MessageUtil.ShowWarning("请选择需要确认加工备注的合同!"); return; } if (uRow.GetText("TYPE_CODE") != "120106") { MessageUtil.ShowWarning("您选择的合同不是【自产+外加工】类型,不需要确认加工备注!"); return; } if (uRow.GetText("ORDER_STS") == "12020301") { MessageUtil.ShowWarning("您所选合同已经生效,不必重复确认加工备注!"); return; } string ordPk = uRow.GetText("ORD_PK"); FrmAffirmProcessMemo apm = new FrmAffirmProcessMemo(this.ob, ordPk); apm.ShowDialog(); } private void PrintOrder() { UltraGridRow ugr = gffect_oder.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择您要打印的合同!"); return; } string ordPk = ugr.Cells["ORD_PK"].Value.ToString(); string printPrice = ugr.Cells["PRINT_PRICE"].Value.ToString(); if (printPrice.Trim() == "结算价") { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.frmOrderEffect.queryBlaPriceStatus", new object[] { ordPk }, ob); if (dt != null && dt.Rows.Count > 0) { if (dt.Rows[0][0].ToString() != "0") { MessageUtil.ShowWarning("您选择合同的结算价尚未全部确认,不能打印!"); return; } } else { return; } } string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepFormalContractPrint.cpt&__bypagesize__=false" + "&ORD_PK=" + ordPk; FrmOrderRepExcel fBug = new FrmOrderRepExcel(ob, strurl); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.WindowState = FormWindowState.Maximized; fBug.Text = "合同打印"; fBug.Show(); } /// /// 撤销生效 /// private void doUpdate() { gffect_oder.UpdateData(); ArrayList parm = new ArrayList(); int count = 0; foreach (UltraGridRow row in gffect_oder.Rows) { if (row.Cells["CHK"].Value.ToString().ToUpper() == "TRUE") { string ordPk = row.Cells["ORD_PK"].Value.ToString(); if (row.Cells["TYPE_CODE"].Value.ToString() != "120102" && row.Cells["TYPE_CODE"].Value.ToString() != "120103") //现货合同暂时不管 { DataTable matDt = ServerHelper.GetData("com.steering.pss.sale.order.frmOrderEffect.queryOrderMat", new object[] { ordPk }, this.ob); if (matDt != null && matDt.Rows.Count > 0) { MessageUtil.ShowWarning("合同在材料表中存在记录,不允许撤回! "); return; } } List lockList = new List(); DataTable lockDt = ServerHelper.GetData("com.steering.pss.sale.order.frmOrderEffect.queryOrderLineLockStatus", new object[] { ordPk }, this.ob); if (lockDt != null && lockDt.Rows.Count > 0) { for (int i = 0; i < lockDt.Rows.Count; i++) { lockList.Add(lockDt.Rows[i][0].ToString()); } } if (lockList.Contains("1")) { MessageUtil.ShowWarning("您选择的合同存在合同行被锁定,无法撤销生效,\n请先处理合同变更,再撤销生效!"); return; } List list = new List(); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.frmOrderEffect.getOrdLnDlyPkStatus", new object[] { ordPk }, this.ob); if (dt != null && dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { list.Add(dt.Rows[i][0].ToString()); } } if (list.Contains("12020401") || list.Contains("12020402")) { MessageUtil.ShowError("您选择的合同已经开始提报,无法撤销生效,\n请先撤销提报,再撤销生效!"); return; } DataTable dt1 = ServerHelper.GetData("com.steering.pss.glbusiness.FrmTHOrderManage.getThBcOrder", new object[] { row.Cells["ORDER_NO"].Value.ToString() }, this.ob); if (dt1 != null && dt1.Rows.Count > 0 && !"002001042001012".Equals(UserInfo.GetDeptid()) && UserInfo.GetUserName() != "admin") { MessageUtil.ShowWarning("非配套服务科成员,无法撤销生效天淮半成品的合同!"); return; } if (row.Cells["ORDER_NO"].Value.ToString().StartsWith("TH") && !"002001042001012".Equals(UserInfo.GetDeptid()) && UserInfo.GetUserName() != "admin") { MessageUtil.ShowWarning("非配套服务科成员,无法撤销生效天淮成品的合同!"); return; } parm.Add(ordPk); count += 1; } } if (count == 0) { MessageUtil.ShowTips("请选择需要撤销生效的合同"); return; } if (MessageUtil.ShowQuestion("确认撤销生效?").ToString().ToLower().Equals("no")) { return; } string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()); string name = UserInfo.GetUserName(); string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob); dept = dept + "-" + UserInfo.GetDepartment(); CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.frmOrderEffect"; ccp.MethodName = "undoOrderEffect"; ccp.ServerParams = new object[] { parm, saleOrg, CustomInfo, dept, name }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) return; else { if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning(ccp.ReturnObject.ToString()); return; } } MessageBox.Show("撤销操作完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); Query(); } /// /// 生效 /// private void doAdd() { gffect_oder.UpdateData(); ArrayList parm = new ArrayList(); int count = 0; foreach (UltraGridRow row in gffect_oder.Rows) { if (row.Cells["CHK"].Value.ToString().ToUpper() == "TRUE") { string ordPk = row.Cells["ORD_PK"].Value.ToString(); //界面上先过滤一遍状态,后台也做了判断的。 if (row.Cells["ORDER_STS"].Value.ToString() == "12020301") { MessageUtil.ShowWarning("您所选合同已经生效,不必重复操作!"); return; } //判断选择的合同类型(120106) 加工备注是否确认 if (row.GetText("TYPE_CODE") == "120106") { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.frmOrderEffect.getPurLineMemoStatus", new object[] { ordPk }, this.ob); if (dt != null && dt.Rows.Count > 0) { if (dt.Rows[0][0].ToString2().Contains("L") || dt.Rows[0][0].ToString2().Contains("F")) { MessageUtil.ShowWarning("合同号:" + row.GetText("ORDER_NO") + " 属于自产+外加工类合同,请先确认其加工备注!"); return; } } else { MessageUtil.ShowWarning("合同号:" + row.GetText("ORDER_NO") + "发生异常!"); return; } } //DataTable dt1 = ServerHelper.GetData("com.steering.pss.glbusiness.FrmTHOrderManage.getThBcOrder", new object[] { row.Cells["ORDER_NO"].Value.ToString() }, this.ob); //if (dt1 != null && dt1.Rows.Count > 0 && !"002001042001012".Equals(UserInfo.GetDeptid()) && UserInfo.GetUserName() != "admin") //{ // MessageUtil.ShowWarning("非配套服务科成员,无法生效天淮半成品的合同!"); // return; //} //if (row.Cells["ORDER_NO"].Value.ToString().StartsWith("TH") && !"002001042001012".Equals(UserInfo.GetDeptid()) && UserInfo.GetUserName() != "admin") //{ // MessageUtil.ShowWarning("非配套服务科成员,无法生效天淮成品的合同!"); // return; //} ArrayList list = new ArrayList(); string custNo = row.Cells["CUSTM_ORDER_NO"].Value.ToString(); list.Add(ordPk); list.Add(custNo); parm.Add(list); count += 1; } } if (count == 0) { MessageUtil.ShowTips("请选择需要生效的合同"); return; } if (this.CustomInfo.Contains("NORMAL")) { if (MessageUtil.ShowYesNoAndQuestion("是否确认生效?") == DialogResult.No) { return; } } else { if (MessageUtil.ShowYesNoAndQuestion("是否确认放行生效?") == DialogResult.No) { return; } } string name = UserInfo.GetUserName(); string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob); dept = dept + "-" + UserInfo.GetDepartment(); string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()); CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.frmOrderEffect"; ccp.MethodName = "orderEffect"; ccp.ServerParams = new object[] { parm, name, this.CustomInfo, saleOrg, dept }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) return; else { if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } } MessageBox.Show("生效操作完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); Query(); } /// /// 获取当前合同头下面,勾选监制,但监制编号为null的Count /// /// /// private int GetPrdcrStsIsNullCount(string ordPk) { DataTable dt = Globals.GetData("com.steering.pss.sale.order.frmOrderEffect.GetPrdcrStsIsNullCount", new Object[] { ordPk }, this.ob); return Convert.ToInt32(dt.Rows[0][0]); } /// /// 获取当前合同头下面,勾选监制,但监制状态不通过的Count /// /// /// private int GetNoPrdcrStsCount(string ordPk) { DataTable dt = Globals.GetData("com.steering.pss.sale.order.frmOrderEffect.GetNoPrdcrStsCount", new Object[] { ordPk }, this.ob); return Convert.ToInt32(dt.Rows[0][0]); } public void Query() { //签约时间 string date = ""; if (che_date.Checked) { if (date_starte.Text.Equals("") || date_end.Text.Equals("")) { MessageBox.Show("请选择审批时间范围!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (Convert.ToDateTime(date_starte.Value) > Convert.ToDateTime(date_end.Value)) { date_starte.Focus(); MessageBox.Show("输入日期范围不正确!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } else { string strFrom1 = Convert.ToDateTime(date_starte.Value).ToString("yyyy-MM-dd") + " 00:00:01"; string strTo1 = Convert.ToDateTime(date_end.Value).ToString("yyyy-MM-dd") + " 23:59:59"; date += " AND B3.APPROVAL_TIME BETWEEN TO_DATE('" + strFrom1 + "' ,'YYYY-MM-DD HH24:MI:SS') AND TO_DATE( '" + strTo1 + "','YYYY-MM-DD HH24:MI:SS')"; } } else { date = ""; } //合同号 string order = ""; if (ord_no.Checked) order = orde_cho.Text.Trim(); //评审状态 string appstatus = ""; if (chkEffSts.Checked) { appstatus = cmbEffSts.Value.ToString().Trim();//ultraComboEditor1.Value.ToString().Trim() } string[] arr = this.ValidDataPurviewIds; DataTable dt = Globals.GetData("com.steering.pss.sale.order.frmOrderEffect.CoreOrderEffectHeadQuery", new Object[] { date, order, this.CustomInfo, appstatus, arr }, this.ob); gffect_oder.DataSource = dt; for (int i = 0; i < gffect_oder.Rows.Count; i++) { if (gffect_oder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value.ToString() == "0") { gffect_oder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value = false; } else { gffect_oder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value = true; } } //列自适应 GridHelper.RefreshAndAutoSizeExceptColumns(gffect_oder, new UltraGridColumn[] { }); } private void che_date_CheckedChanged(object sender, EventArgs e) { date_starte.Enabled = che_date.Checked; date_end.Enabled = che_date.Checked; } private void ord_no_CheckedChanged(object sender, EventArgs e) { orde_cho.Enabled = ord_no.Checked; } private void gffect_oder_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = gffect_oder.ActiveRow; if (ugr == null) return; this.doQueryeffect(gffect_oder.ActiveRow.Cells["ORD_PK"].Text); this.doQueryeffect_mol(gffect_oder.ActiveRow.Cells["ORDER_MODEL_NO"].Value.ToString()); this.queryPriceInfo(gffect_oder.ActiveRow.Cells["ORD_PK"].Text); for (int i = 0; i < ugr.Cells.Count; i++) { if (ugr.Cells[i].Column.Key.Equals("CUSTM_ORDER_NO") || ugr.Cells[i].Column.Key.Equals("CHK")) ugr.Cells[i].Activation = Activation.AllowEdit; else ugr.Cells[i].Activation = Activation.ActivateOnly; } } private void queryPriceInfo(string ordPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.frmOrderEffect.queryPriceInfo", new object[] { ordPk }, this.ob); if (dt != null && dt.Rows.Count > 0) { txtPrice.Text = dt.Rows[0][0].ToString(); } } private void doQueryeffect_mol(string ordermodel) { DataTable dt = Globals.GetData("com.steering.pss.sale.order.frmOrderEffect.CoreOrderEffectinfo", new Object[] { ordermodel }, this.ob); efforder_mol.DataSource = dt; //列自适应 GridHelper.RefreshAndAutoSizeExceptColumns(efforder_mol, new UltraGridColumn[] { }); } private void doQueryeffect(string order) { DataTable dt = Globals.GetData("com.steering.pss.sale.order.frmOrderEffect.CoreOrderEffectSqeQuery", new Object[] { order }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.orderLineDt, true); //列自适应 GridHelper.RefreshAndAutoSizeExceptColumns(efforder_seq, new UltraGridColumn[] { }); if (dt.Rows.Count > 0) { for (int i = 0; i < efforder_seq.Rows.Count; i++) { if (efforder_seq.Rows[i].Cells["OUTS_BILLET_FL"].Value.ToString() == "1") { efforder_seq.Rows[i].Cells["OUTS_BILLET_FL"].Value = true; } else { efforder_seq.Rows[i].Cells["OUTS_BILLET_FL"].Value = false; } if (efforder_seq.Rows[i].Cells["OUTS_STL_PIPE_FL"].Value.ToString() == "1") { efforder_seq.Rows[i].Cells["OUTS_STL_PIPE_FL"].Value = true; } else { efforder_seq.Rows[i].Cells["OUTS_STL_PIPE_FL"].Value = false; } if (efforder_seq.Rows[i].Cells["ASSEL_FL"].Value.ToString() == "1") { efforder_seq.Rows[i].Cells["ASSEL_FL"].Value = true; } else { efforder_seq.Rows[i].Cells["ASSEL_FL"].Value = false; } } } //DataTable dt1 = Globals.GetData("com.steering.pss.sale.order.frmOrderEffect.orderEffectPriceQuery", new Object[] { order }, this.ob); //gorder_price.DataSource = dt1; } private void gffect_oder_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { string acustom = gffect_oder.ActiveCell.Value.ToString(); dlgBuyerInfo spt = new dlgBuyerInfo(); spt.oPbd = this.ob; spt.customer = acustom; spt.FilePath = "checker"; spt.ShowDialog(); } private void efforder_seq_AfterRowActivate(object sender, EventArgs e) { if (efforder_seq.ActiveRow != null) { //DataRow orderLine = dataSet1.Tables["orderLineDt"].Rows[efforder_seq.ActiveRow.Index]; //ctrlOrderLineChild1.loadOrderLineChild(this.ob, orderLine); } } private void buload_Click(object sender, EventArgs e) { ArrayList slist = new ArrayList(); string sFileName = loadtx.Text; FlileUploadcomm.FlileUpload(sFileName); } private void deleload_Click(object sender, EventArgs e) { string sFileName = loadtx.Text; FlileDeletecomm.FlileDelete(sFileName); loadtx.Text = ""; } private void Downbu_Click(object sender, EventArgs e) { } private void orde_cho_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) Query(); } private void chkEffSts_CheckedChanged(object sender, EventArgs e) { if (chkEffSts.Checked) { cmbEffSts.ReadOnly = false; cmbEffSts.Value = "0"; } else { cmbEffSts.ReadOnly = true; } } } }