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.Server; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; using Core.StlMes.Client.Qcm; using Core.Mes.Client.Comm.Format; using System.Collections; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.SaleOrder.Dialog; using System.Threading; using Core.StlMes.Client.SaleOrder.BLL; using CoreFS.SA06; using Core.StlMes.Client.SaleOrder.Control; using System.Net; namespace Core.StlMes.Client.SaleOrder.ReviewForm { public partial class frmCraftReviewTechnology : FrmBase { private CtrlBom _ctrlBom; private CtrlBom _ctrlBomHead; private CtrlBom _ctrlBomJg; private CtrlBom _ctrlBomBl; private CtrlBomI _ctrlBomI; private CtrlBom _ctrlBomJgBl; private CraftOrdDesignBLL _craftOrdDesignBLL; //private PlaSaleOrdProcCtrl _plaSaleOrdProcCtrl; private string _errItem = "";//当前正在执行确认的错误项。 private bool _isRun = false;//是否正在执行后台查询和质量设计 private Dictionary _dicQualityFlag = new Dictionary(); private bool _isPopup = false; private string _operateType = "0"; //0工艺制定 1工艺刷新 2工艺复制(删除工艺评审主表,但不删除工艺制定的数据) /// /// 是否是弹窗 /// public bool IsPopup { get { return _isPopup; } set { _isPopup = value; } } /// /// 数据权限 /// public string[] DataPurviewIds { get { return this.ValidDataPurviewIds; } set { this.ValidDataPurviewIds = value; } } public frmCraftReviewTechnology() { InitializeComponent(); //ExceptionHelper.RegistException(); _ctrlBomHead = new CtrlBom(splitContainer1.Panel1); _ctrlBomHead.UltraLabel1.Text = " 产品"; _ctrlBomHead.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBomHead_AfterRowActivate); GridHelper.HidenExcludeColumns(_ctrlBomHead.UltraGridBom.DisplayLayout.Bands[0], "MaterialDesc"); _ctrlBom = new CtrlBom(ultraTabPageControl14); _ctrlBom.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBom_AfterRowActivate); _ctrlBom.UltraLabel1.Text = " 产品"; GridHelper.HidenColumns(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0], "JInMaterialDesc", "JOutMaterialDesc", "IInMaterialDesc", "IOutMaterialDesc"); GridHelper.HidenColumns(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0], "InMaterialNo"); _ctrlBomJg = new CtrlBom(ultraTabPageControl12); _ctrlBomJg.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBomJg_AfterRowActivate); _ctrlBomJg.UltraLabel1.Text = " 接箍"; GridHelper.HidenExcludeColumns(_ctrlBomJg.UltraGridBom.DisplayLayout.Bands[0], "InMaterialNo", "MaterialDesc", "BomTyp"); _ctrlBomBl = new CtrlBom(ultraTabPageControl13); _ctrlBomBl.UltraLabel1.Text = " 备料"; _ctrlBomI = new CtrlBomI(splitContainer2.Panel2); _ctrlBomJgBl = new CtrlBom(splitContainer2.Panel2); _ctrlBomJgBl.Visible = false; this.IsLoadUserView = true; } private void frmOrderReviewTechnology_Load(object sender, EventArgs e) { labelDateTimePicker1.DateTimePicker.Value = DateTime.Now.Date.AddDays(-30); labelDateTimePicker2.DateTimePicker.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1); //评审状态,设计状态,默认选中第一项,数据是手动绑定在控件上面的。 cmbSts.SelectedIndex = 0; cmbDesignSts.SelectedIndex = 0; ClsBaseInfo.SetComboItemHeight(cmbSts); ClsBaseInfo.SetComboItemHeight(cmbDesignSts); lblCmbPlanStatus.ComboBox.SelectedIndex = 0; EntityHelper.ShowGridCaption(_ctrlBomHead.UltraGridBom.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBomJg.UltraGridBom.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBomBl.UltraGridBom.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBomI.UltraGridBomI.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(_ctrlBomJgBl.UltraGridBom.DisplayLayout.Bands[0]); _craftOrdDesignBLL = new CraftOrdDesignBLL(ob); toolTip1.SetToolTip(chkUrgent, @"工艺文件紧急待处理的含义: 1.待制造部接收,但工艺评审状态未生效的合同。 2.制造部已接收,但是还没有上传工艺文件的合同。 3.制造部已下发,但工艺评审状态未生效的合同。"); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ctrlOrderLineDesign1.UltraGirdDelivery.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.Default; ctrlOrderLineDesign1.UltraGirdDelivery.DisplayLayout.Override.SelectedAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False; ctrlOrderLineDesign1.UltraGridD.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.Default; } /// /// 重写基类toolBar方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": doQuery(""); break; case "Lock": Lock(); break; case "Unlock": Unlock(); break; case "QueryCraft": QueryCraft(); break; case "SubmitAudit": SubmitAudit(); break; case "CreateCraft": CreateCraft(); break; case "doQuality": doQuality(); break; case "RefreshCraft": RefreshCraft(); break; case "ReviewOrderReport": ReviewOrderReport(); break; case "RollBack": RollBack(); break; case "Appoint": Appoint(); break; case "AppointCraftFile": AppointCraftFile(); break; case "AppointTmpCraftFile": AppointTmpCraftFile(); break; case "MatchCraftFile": MatchCraftFile(); break; case "Msc": ShowMsc(); break; case "PlnCraftChange": if (ultraGridOrderLine.ActiveRow == null) { MessageUtil.ShowWarning("请选择一条记录!"); return; } string ordLnPk = ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"); PlnCraftChange(ordLnPk, true, false, ob); Relocate(ordLnPk); break; case "SaveCraftChangeMemo": SaveCraftChangeMemo(); break; case "Export": Export(); break; case "doClose": this.Close(); break; } } private void Export() { GridHelper.ulGridToExcel(ultraGridOrderLine, "工艺评审记录"); } public void SaveCraftChangeMemo() { if (ultraGridOrderLine.ActiveRow == null) { MessageUtil.ShowWarning("请选择一条记录!"); return; } string ordLnPk = ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK"); string craftSeq = ultraGridOrderLine.GetActiveRowValue("CRAFT_SEQ"); string memo = ultraGridOrderLine.GetActiveRowValue("CRAFT_CHANGE_MEMO"); CraftOrdDesignBLL craftOrdDesginBLL = new CraftOrdDesignBLL(ob); CraftOrdDesignEntity craftOrdDesign = craftOrdDesginBLL.QueryCraftByOrLnPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk }); if (craftOrdDesign.Validflag != "2") { MessageUtil.ShowWarning("只有设计状态为制定中的工艺评审记录,才能保存工艺变更说明!"); return; } DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ordLnPk); if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != CoreUserInfo.UserInfo.GetUserID() && UserInfo.GetUserID() != "admin") { MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ",没有权限保存工艺变更说明!"); return; } ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateCraftChangeMemo", new object[] { ordLnPk, craftSeq, memo }, ob); MessageUtil.ShowTips("保存成功!"); Relocate(ordLnPk); } public void PlnCraftChange(string ordLnPk, bool showMsg, bool isBackgound, OpeBase ob) { CraftOrdDesignBLL craftOrdDesginBLL = new CraftOrdDesignBLL(ob); CraftOrdDesignEntity craftOrdDesign = craftOrdDesginBLL.QueryCraftByOrLnPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk }); if (craftOrdDesign.Validflag != "1" && craftOrdDesign.Validflag != "8") { if (showMsg) { MessageUtil.ShowWarning("只有变更待生效(或生效)状态的工艺评审记录,才能进行工艺变更!"); } return; } DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ordLnPk); if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != CoreUserInfo.UserInfo.GetUserID() && UserInfo.GetUserID() != "admin") { MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ",没有权限进行工艺变更!"); return; } DataTable dtOrdLn = GetOrdLnState(ordLnPk); if (dtOrdLn.Rows.Count > 0) { if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1") { MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许工艺变更!"); return; } } DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.IsExistCraftChange", new object[]{ ordLnPk }, ob); if (dt.Rows.Count == 0) { if (showMsg) { //MessageUtil.ShowWarning("没有需要进行工艺变更的排产记录!"); } //return; } if (!isBackgound) { if (MessageUtil.ShowYesNoAndQuestion("是否确认工艺变更?") == System.Windows.Forms.DialogResult.No) { return; } } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology"; ccp.MethodName = "PlnCraftChange"; ccp.ServerParams = new object[] { ordLnPk }; ccp.IfShowErrMsg = false; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); //object result = ServerHelper.SetDataReturnObj("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.PlnCraftChange", // new object[] { ordLnPk }, ob); if (ccp.ReturnObject.ToString2() != "") { if (showMsg) { if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning("变更失败!失败原因:" + ccp.ReturnObject.ToString2()); return; } else if (MessageUtil.ShowYesNoAndQuestion("变更失败!失败原因:" + ccp.ReturnObject.ToString2() + "。 \r\n 是否跳过本次变更,直接生效?") == System.Windows.Forms.DialogResult.No) { return; } else { ServerHelper.SetData("com.steering.pss.sale.order.DAL.CraftOrdDesignDAL.SetValidflagByPk", new object[] { "1", ordLnPk, craftOrdDesign.CraftSeq.ToString() }, ob); MessageUtil.ShowTips("生效成功!"); } return; } else { return; } } if (showMsg) { MessageUtil.ShowTips("变更成功!"); } if (!isBackgound) { CopyCraftLv2Popup popup = new CopyCraftLv2Popup(ordLnPk, ob); popup.ShowDialog(); } } private void RefreshCraft() { string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryCraftByOrLnPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk }); if (craftOrdDesign == null) { MessageUtil.ShowWarning("未制定工艺的合同行,不能刷新工艺!"); return; } _operateType = "1"; try { //CheckQuality(ordLnPk, false, ob); doQuality(); } finally { _operateType = "0"; } } private void MatchCraftFile() { IQueryable rows = ultraGridOrderLine.Rows.AsQueryable().Where("CHK = 'True'"); if(rows.Count() == 0) { MessageUtil.ShowWarning("请选一行记录!"); return; } CraftFileApplyBLL craftFileApplyBLL = new CraftFileApplyBLL(ob); CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); int matchCnt = 0; List craftOrdDesignList = new List(); foreach (UltraGridRow row in rows) { if(row.GetValue("ORDER_ADD_DESC") != "") { MessageUtil.ShowWarning("该合同行有附加要求,不能使用自动匹配功能!"); row.Activate(); return; } DataTable dtOrdLn = GetOrdLnState(row.GetValue("ORD_LN_PK")); if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1") { MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许使用自动匹配功能!"); row.Activate(); return; } DataTable dtCraftDesignSts = GetCraftDesignSts(row.GetValue("ORD_LN_PK")); if (dtCraftDesignSts.Rows.Count > 0) { if (dtCraftDesignSts.Rows[0]["DESIGN_STS"].ToString() != "S" || dtCraftDesignSts.Rows[0]["VALIDFLAG"].ToString() != "2") { MessageUtil.ShowWarning("请选择制定中并且设计状态通过的合同行进行自动匹配!"); row.Activate(); return; } } else { MessageUtil.ShowWarning("请选择制定中并且设计状态通过的合同行进行自动匹配!"); row.Activate(); return; } } if (MessageUtil.ShowYesNoAndQuestion("是否确认自动匹配工艺文件?") == System.Windows.Forms.DialogResult.No) { return; } string ordLnPk = ""; foreach (UltraGridRow row in rows) { DataTable dt = craftFileApplyBLL.GetMatchCraftFile(row.GetValue("ORD_LN_PK")); if (dt.Rows.Count == 1) { craftOrdDesignList.Add(new CraftOrdDesignEntity() { CraftNo = dt.Rows[0]["CRAFT_NO"].ToString(), CraftNoV = dt.Rows[0]["CRAFT_NO_V"].ToString(), CraftPath = dt.Rows[0]["CRAFT_PATH"].ToString(), CraftSource = "人工上传", UpdateName = UserInfo.GetUserName(), DeleteName = UserInfo.GetUserName(), OrdLnPk = row.GetValue("ORD_LN_PK") }); matchCnt++; } ordLnPk = row.GetValue("ORD_LN_PK"); } //...... craftOrdDesignBLL.MatchCraftFile(craftOrdDesignList); MessageUtil.ShowTips(string.Format("选中{0}行记录,其中系统自动匹配成功{1}行,失败{2}行!", rows.Count(), matchCnt, rows.Count() - matchCnt)); Relocate(ordLnPk); } private void AppointCraftFile() { ultraGridOrderLine.UpdateData(); string ordLnPk = ""; if (ultraGridOrderLine.Rows.AsQueryable().Where("CHK = 'True'").Count() == 0) { MessageUtil.ShowWarning("请选择合同行进行工艺文件指定!"); return; } ArrayList list = new ArrayList(); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (row.GetValue("CHK").ToString() == "True") { if (!row.GetValue("ORD_LN_PK").StartsWith("BL")) { DataTable dtOrdLn = GetOrdLnState(row.GetValue("ORD_LN_PK")); if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1") { MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许指定工艺文件!"); row.Activate(); return; } } DataRow mscRow = _craftOrdDesignBLL.GetMscByOrdLnPk(row.GetValue("ORD_LN_PK")); if (mscRow != null && mscRow["ALLOW_NK"].ToString() == "1") { MessageUtil.ShowWarning("合同管理号" + row.GetValue("MNG_ORDER_NO") + "对应的" + mscRow["MSC"].ToString() + "的是否内控标志为'是',只能由系统生成工艺文件,不能指定工艺文件!"); return; } //DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(row.GetValue("ORD_LN_PK")); //if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID() // && UserInfo.GetUserID() != "admin") //{ // MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能指定工艺文件!"); // return; //} ArrayList listSub = new ArrayList(); listSub.Add(row.GetValue("ORDER_NO")); listSub.Add(row.GetValue("ORDER_SEQ")); listSub.Add(row.GetValue("ORD_LN_PK")); list.Add(listSub); ordLnPk = row.GetValue("ORD_LN_PK"); } } CraftOrdDesignFilePopup popup = new CraftOrdDesignFilePopup(list, "AppointCraftFile", ob); GridHelper.SetExcludeColumnsActive(popup.UltraGrid1.DisplayLayout.Bands[0], "CHK"); popup.ShowDialog(); Relocate(ordLnPk); } private void AppointTmpCraftFile() { ultraGridOrderLine.UpdateData(); string ordLnPk = ""; if (ultraGridOrderLine.Rows.AsQueryable().Where("CHK = 'True'").Count() == 0) { MessageUtil.ShowWarning("请选择合同行进行工艺文件指定!"); return; } foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (row.GetValue("CHK") == "False") continue; if (!row.GetValue("ORD_LN_PK").StartsWith("BL")) { DataTable dtOrdLn = GetOrdLnState(row.GetValue("ORD_LN_PK")); if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1") { MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许指定工艺文件!"); row.Activate(); return; } } DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(row.GetValue("ORD_LN_PK")); if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID() && UserInfo.GetUserID() != "admin") { MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能指定工艺文件!"); row.Activate(); return; } DataRow mscRow = _craftOrdDesignBLL.GetMscByOrdLnPk(row.GetValue("ORD_LN_PK")); if (mscRow != null && mscRow["ALLOW_NK"].ToString() == "1") { MessageUtil.ShowWarning("合同管理号" + row.GetValue("MNG_ORDER_NO") + "对应的" + mscRow["MSC"].ToString() + "的是否内控标志为'是',只能由系统生成工艺文件,不能指定工艺文件!"); return; } } ArrayList list = new ArrayList(); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (row.GetValue("CHK").ToString() == "True") { ArrayList listSub = new ArrayList(); listSub.Add(row.GetValue("ORDER_NO")); listSub.Add(row.GetValue("ORDER_SEQ")); listSub.Add(row.GetValue("ORD_LN_PK")); list.Add(listSub); ordLnPk = row.GetValue("ORD_LN_PK"); } } CraftOrdDesignFilePopup popup = new CraftOrdDesignFilePopup(list, "AppointTmpCraftFile", ob); GridHelper.SetExcludeColumnsActive(popup.UltraGrid1.DisplayLayout.Bands[0], "CHK"); popup.ShowDialog(); Relocate(ordLnPk); } private void ReviewOrderReport() { try { this.Cursor = Cursors.WaitCursor; UltraGridRow ugr = ultraGridOrderLine.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择您要查看的合同行!"); return; } //string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString(); //string saleOrg = ugr.Cells["SALE_ORG"].Value.ToString(); //string ordPk = ugr.Cells["ORD_PK"].Value.ToString(); string orderNo = ugr.Cells["ORDER_NO"].Value.ToString(); string strurl = ""; if (ob.MainUrl.StartsWith("http://127.0.0.1")) { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepInterTradeCC.cpt&__bypagesize__=false" + "&cmbOrder=" + orderNo; } else { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepInterTradeCC.cpt&__bypagesize__=false" + "&cmbOrder=" + orderNo; } 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 = "TPCO合同查询"; fBug.Show(); } finally { this.Cursor = Cursors.Default; } } private void Appoint() { ultraGridOrderLine.UpdateData(); UltraGridRow[] rows = ultraGridOrderLine.Rows.AsQueryable().Where( a => a.GetValue("CHK") == "True").ToArray(); if (rows.Length == 0) { MessageUtil.ShowWarning("请选择一条记录然后再进行操作!"); return; } string[] ordLnPks = new string[rows.Length]; CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); for(int i = 0; i < rows.Length; i++) { DataTable dtComMsc = GetComMscByOrdLnPk(rows[i].GetValue("ORD_LN_PK")); if (dtComMsc.Rows.Count > 0 && dtComMsc.Rows[0]["UNIT_CODE_PROCESS"].ToString() != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin" && !(this.CustomInfo.ToString2().Contains("120504") && UserInfo.GetUserID() == "longjinhua")) { MessageUtil.ShowWarning(string.Format("只有{0}的人员,才能进行工艺指派!", dtComMsc.Rows[0]["UNIT_DESC_PROCESS"].ToString())); return; } //只有合同行才进行的验证,备料码不做这些验证。 if (!rows[i].GetValue("ORD_LN_PK").StartsWith("BL")) { DataTable dtOrdLn = GetOrdLnState(rows[i].GetValue("ORD_LN_PK")); if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1") { MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许工艺指派!"); Relocate(rows[i].GetValue("ORD_LN_PK")); return; } //DataTable dt = QueryPlnSaleorder(rows[i].GetValue("ORD_LN_PK")); //if (dt.Rows.Count > 0 && dt.Rows[0]["PORDERSTATUS"].ToString() != "0") //{ // MessageUtil.ShowWarning("当前合同行已经排产,不允许工艺指派!"); // rows[i].Activate(); // return; //} } CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity() { OrdLnPk = rows[i].GetValue("ORD_LN_PK"), CraftSeq = decimal.Parse(rows[i].GetValue("CRAFT_SEQ") == "" ? "0" : rows[i].GetValue("CRAFT_SEQ")) }); if (craftOrdDesign != null) { if (craftOrdDesign.Validflag == "4") { MessageUtil.ShowWarning("当前合同行有工艺文件正在审核中,不能进行工艺指派!"); Relocate(rows[i].GetValue("ORD_LN_PK")); return; } } ordLnPks[i] = rows[i].GetValue("ORD_LN_PK"); } CraftNamePopup craftNamePopup = new CraftNamePopup(ordLnPks, ob); craftNamePopup.ShowDialog(); Relocate(ordLnPks[ordLnPks.Length - 1]); } private void SubmitAudit() { ultraGridOrderLine.UpdateData(); IQueryable queryableRows = ultraGridOrderLine.Rows.AsQueryable().Where( a => a.GetValue("CHK") == "True"); if (queryableRows.Count() == 0) { MessageUtil.ShowWarning("请选择一条记录然后再进行操作!"); return; } List craftOrdDesignList = new List(); ArrayList list = new ArrayList(); string ordLnPk = ""; foreach (UltraGridRow row in queryableRows) { ordLnPk = row.GetValue("ORD_LN_PK"); if (!ordLnPk.StartsWith("BL")) { DataTable dtOrdLn = GetOrdLnState(ordLnPk); if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1") { MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许提交审核!"); Relocate(ordLnPk); return; } } DataTable dtCraftDesignSts = GetCraftDesignSts(row.GetValue("ORD_LN_PK")); if (dtCraftDesignSts.Rows.Count > 0) { if (dtCraftDesignSts.Rows[0]["DESIGN_STS"].ToString() != "S" || dtCraftDesignSts.Rows[0]["VALIDFLAG"].ToString() != "2") { MessageUtil.ShowWarning("只有设计状态通过并且工艺制定中的合同行,才能提交审核!"); Relocate(row.GetValue("ORD_LN_PK")); return; } if (dtCraftDesignSts.Rows[0]["CRAFT_PATH"].ToString() == "") { MessageUtil.ShowWarning("请先生成工艺文件,然后再提交审核!"); Relocate(row.GetValue("ORD_LN_PK")); return; } } else { MessageUtil.ShowWarning("请先进行工艺制定,然后再进行操作!"); row.Activate(); return; } DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(row.GetValue("ORD_LN_PK")); if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID() && UserInfo.GetUserID() != "admin") { MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能提交审核!"); return; } if (row.GetValue("ORD_LN_PK").StartsWith("BL")) { MessageUtil.ShowWarning("备料码不需要审核,请直接生成工艺文件!"); return; } CraftOrdDesignEntity craftOrdDesignParm = new CraftOrdDesignEntity() { Validflag = "3", UpdateName = UserInfo.GetUserName(), OrdLnPk = row.GetValue("ORD_LN_PK"), OrderNo = row.GetValue("ORDER_NO"), OrderSeq = row.GetValue("ORDER_SEQ"), CraftSeq = decimal.Parse(row.GetValue("CRAFT_SEQ") == "" ? "0" : row.GetValue("CRAFT_SEQ")), CraftSource = "系统生成" }; craftOrdDesignList.Add(craftOrdDesignParm); } for (int i = 0; i < craftOrdDesignList.Count; i++) { string orderManageNo = craftOrdDesignList[i].OrderNo + "/" + craftOrdDesignList[i].OrderSeq; } if (MessageUtil.ShowYesNoAndQuestion("是否确认提交审核?") == System.Windows.Forms.DialogResult.No) { return; } _craftOrdDesignBLL.UpdateCraftNo(craftOrdDesignList, list); MessageUtil.ShowTips("提交审核成功!"); Relocate(ordLnPk); } private void CreateCraft() { ultraGridOrderLine.UpdateData(); IQueryable queryableRows = ultraGridOrderLine.Rows.AsQueryable().Where( a => a.GetValue("CHK") == "True"); if (queryableRows.Count() == 0) { MessageUtil.ShowWarning("请选择一条记录然后再进行操作!"); return; } List craftOrdDesignList = new List(); ArrayList list = new ArrayList(); string ordLnPk = ""; foreach (UltraGridRow row in queryableRows) { ordLnPk = row.GetValue("ORD_LN_PK"); DataTable dtCraftDesignSts = GetCraftDesignSts(row.GetValue("ORD_LN_PK")); if (dtCraftDesignSts.Rows.Count > 0) { if ((dtCraftDesignSts.Rows[0]["VALIDFLAG"].ToString() != "2" || dtCraftDesignSts.Rows[0]["DESIGN_STS"].ToString() != "S") && !row.GetValue("ORD_LN_PK").StartsWith("BL")) { MessageUtil.ShowWarning("只有工艺评审状态为制定中并且设计状态通过的合同行,才能生成工艺文件!"); return; } else if (row.GetValue("ORD_LN_PK").StartsWith("BL")) { if (dtCraftDesignSts.Rows[0]["DESIGN_STS"].ToString() != "S") { MessageUtil.ShowWarning("只有设计状态通过的备料码,才能生成工艺文件!"); return; } else if (dtCraftDesignSts.Rows[0]["VALIDFLAG"].ToString() != "2") { MessageUtil.ShowWarning("只有工艺评审状态为制定中的备料码,才能生成工艺文件!"); return; } } } else { MessageUtil.ShowWarning("请先进行工艺制定,然后再进行操作!"); row.Activate(); return; } DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(row.GetValue("ORD_LN_PK")); if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID() && UserInfo.GetUserID() != "admin") { MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能生成工艺文件!"); return; } if (!row.GetValue("ORD_LN_PK").StartsWith("BL")) { CraftAutoPeopleFrm autoPeoleFrm = new CraftAutoPeopleFrm(row.GetValue("ORD_LN_PK"), ob); if (autoPeoleFrm.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return; } } //string validflag = int.Parse(row.GetValue("CRAFT_SEQ")) > 1 ? "8" : "1"; CraftOrdDesignEntity craftOrdDesignParm = new CraftOrdDesignEntity() { LockFlag = "1", DeleteName = UserInfo.GetUserName(), OrdLnPk = row.GetValue("ORD_LN_PK"), DesginKey = row.GetValue("DESGIN_KEY"), OrderNo = row.GetValue("ORDER_NO"), OrderSeq = row.GetValue("ORDER_SEQ"), CraftSeq = decimal.Parse(row.GetValue("CRAFT_SEQ") == "" ? "0" : row.GetValue("CRAFT_SEQ")), CraftSource = "系统生成" }; craftOrdDesignList.Add(craftOrdDesignParm); } bool autoBackLog = false; bool autoMaterial = false; foreach(CraftOrdDesignEntity craftOrdDesign in craftOrdDesignList) { if (!_craftOrdDesignBLL.GetMaterialAutoCraft(craftOrdDesign.OrdLnPk)) { if (MessageUtil.ShowYesNoAndQuestion("是否将合同所对应的物料设置成<自动生成工艺文件>?") == DialogResult.Yes) { autoMaterial = true; } break; } } //if (MessageUtil.ShowYesNoAndQuestion("是否将合同所对应的制程设置成<自动生成工艺文件>?") == DialogResult.Yes) //{ // autoMaterial = true; //} //if (MessageUtil.ShowYesNoAndQuestion("是否确认生成工艺文件?") == System.Windows.Forms.DialogResult.No) //{ // return; //} try { this.Cursor = Cursors.WaitCursor; WaitingForm2 wf = new WaitingForm2("正在生成工艺文件...."); foreach(CraftOrdDesignEntity craftOrdDesign in craftOrdDesignList) { if (craftOrdDesign.OrdLnPk.StartsWith("BL")) { if (!_craftOrdDesignBLL.AutoCreateCraft(craftOrdDesign.OrdLnPk, "2")) { return; } } else { string filePathNew = "Qcm/Craft/" + craftOrdDesign.OrdLnPk + "/" + craftOrdDesign.CraftSeq + "/"; string pdfName = craftOrdDesign.OrderNo + "-" + craftOrdDesign.OrderSeq + "-" + craftOrdDesign.CraftSeq.ToString().PadLeft(3, '0'); craftOrdDesign.CraftPath = filePathNew + pdfName + ".pdf"; List craftOrdDesignParms = new List(); craftOrdDesignParms.Add(craftOrdDesign); _craftOrdDesignBLL.CreateCraft(craftOrdDesignParms, autoBackLog, autoMaterial, UserInfo.GetUserID()); if (!_craftOrdDesignBLL.CreatePdfToFtp(craftOrdDesign, pdfName)) { MessageUtil.ShowError("系统生成PDF失败,请稍后再试!"); return; } } } wf.Close(); MessageUtil.ShowTips("生成工艺文件成功!"); Relocate(ordLnPk); } finally { this.Cursor = Cursors.Default; } } /// /// 调用报表服务器生成PDF并上传到FTP服务器。 /// /// /// private bool CreatePdfToFtp(List craftOrdDesignList) { WebClient webClient = new WebClient(); List listPdf = new List(); foreach (CraftOrdDesignEntity craftOrdDesign in craftOrdDesignList) { string filePathNew = "Qcm/Craft/" + craftOrdDesign.OrdLnPk + "/" + craftOrdDesign.CraftSeq + "/"; string pdfName = craftOrdDesign.OrderNo + "-" + craftOrdDesign.OrderSeq + "-" + craftOrdDesign.CraftSeq.ToString().PadLeft(3, '0'); craftOrdDesign.CraftPath = filePathNew + pdfName + ".pdf"; DataTable dtComMsc = CraftOrdDesignCtrl.GetComMscByOrdLnPk(craftOrdDesign.OrdLnPk, ob); string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraft.cpt&bypagesize=false&format=pdf&embed=true" + "&desgin_key=" + craftOrdDesign.DesginKey + "&lnpk=" + craftOrdDesign.OrdLnPk; if (dtComMsc.Rows[0]["DEPARTMENT_CODE"].ToString() == "002001007") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraftCenter.cpt&bypagesize=false&format=pdf&embed=true" + "&desgin_key=" + craftOrdDesign.DesginKey + "&lnpk=" + craftOrdDesign.OrdLnPk; } byte[] pdf = webClient.DownloadData(strurl); FileBean fileBean = new FileBean(); fileBean.setFile(pdf); fileBean.setFileName(pdfName + ".pdf"); fileBean.setPathName(filePathNew); listPdf.Add(fileBean); } webClient.Dispose(); return FileHelper.Upload(listPdf); } private DataTable GetCraftDesignSts(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getCraftDesignSts", new object[] { ordLnPk }, ob); return dt; } private void Lock() { ultraGridOrderLine.UpdateData(); IQueryable queryable = ultraGridOrderLine.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True"); if (queryable.Count() == 0) { MessageUtil.ShowWarning("请选择一条记录,然后再进行操作!"); return; } ArrayList list = new ArrayList(); string ordLnPk = ""; foreach (UltraGridRow row in queryable) { DataTable dtOrdLn = GetOrdLnState(row.GetValue("ORD_LN_PK")); if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1") { MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许封锁!"); return; } CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); List craftOrdDesignList = craftOrdDesignBLL.Query(new CraftOrdDesignEntity() { OrdLnPk = row.GetValue("ORD_LN_PK") }, UserInfo.DataPurviewIds, UserInfo.GetUserID()); int lockCnt = craftOrdDesignList.Where(a => a.LockFlag == "1").Count(); if (lockCnt >= 1) { MessageUtil.ShowWarning("当前合同行正在工艺评审,不允许再次封锁!"); return; } DataTable dt = QueryPlnSaleorder(row.GetValue("ORD_LN_PK")); if (dt.Rows.Count > 0 && dt.Rows[0]["PORDERSTATUS"].ToString() != "0") { MessageUtil.ShowWarning("当前合同行已经排产,不允许封锁!"); return; } CraftOrdDesignEntity craftOrdDesign = new CraftOrdDesignEntity(); craftOrdDesign.OrdLnPk = row.GetValue("ORD_LN_PK"); ordLnPk = craftOrdDesign.OrdLnPk; craftOrdDesign.CreateName = UserInfo.GetUserName(); list.Add(JSONFormat.Format(craftOrdDesign)); } if (MessageUtil.ShowYesNoAndQuestion("是否确认封锁?") == DialogResult.No) { return; } ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.lock", new object[] { list }, ob); MessageUtil.ShowTips("封锁成功!"); doQuery(""); IQueryable queryableActive = ultraGridOrderLine.Rows.AsQueryable().Where( a => a.GetValue("ORD_LN_PK") == ordLnPk); if (queryableActive.Count() > 0) { queryableActive.First().Activate(); } } private void Unlock() { ultraGridOrderLine.UpdateData(); IQueryable queryable = ultraGridOrderLine.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True"); if (queryable.Count() == 0) { MessageUtil.ShowWarning("请选择一条记录,然后再进行操作!"); return; } else if (queryable.Count() >= 2) { MessageUtil.ShowWarning("不能同时解锁多条记录,请选择一条记录进行解锁!"); return; } ArrayList list = new ArrayList(); UltraGridRow row = queryable.First(); CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); List craftOrdDesignList = craftOrdDesignBLL.Query(new CraftOrdDesignEntity() { OrdLnPk = row.GetValue("ORD_LN_PK") }, UserInfo.DataPurviewIds, UserInfo.GetUserID()); IEnumerable queryableLock = craftOrdDesignList.Where( a => a.LockFlag == "1" && a.CraftSeq.ToString() == row.GetValue("CRAFT_SEQ")); if (queryableLock.Count() == 0) { MessageUtil.ShowWarning("当前合同行不是封锁状态,不允许解锁!"); return; } CraftOrdDesignEntity craftOrdDesign = new CraftOrdDesignEntity(); craftOrdDesign.OrdLnPk = row.GetValue("ORD_LN_PK"); craftOrdDesign.CraftSeq = decimal.Parse(row.GetValue("CRAFT_SEQ")); craftOrdDesign.CraftNo = ""; craftOrdDesign.DesginKey = ""; craftOrdDesign.LockFlag = "0"; craftOrdDesign.UpdateName = UserInfo.GetUserName(); craftOrdDesign.CreateName = UserInfo.GetUserName(); CraftNoPopup craftNoPopup = new CraftNoPopup(); DialogResult dialogResutl = craftNoPopup.ShowDialog(); if (dialogResutl == DialogResult.OK) { craftOrdDesign.CraftNo = craftNoPopup.UltraTextEditor1.Text.Trim(); } else { return; } list.Add(JSONFormat.Format(craftOrdDesign)); if (MessageUtil.ShowYesNoAndQuestion("是否确认解锁?") == DialogResult.No) { return; } ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.unlock", new object[] { list }, ob); MessageUtil.ShowTips("解锁成功!"); doQuery(""); IQueryable queryableActive = ultraGridOrderLine.Rows.AsQueryable().Where( a => a.GetValue("ORD_LN_PK") == craftOrdDesign.OrdLnPk); if (queryableActive.Count() > 0) { queryableActive.First().Activate(); } } private DataTable QueryPlnSaleorder(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.queryPlnSaleorder", new object[] { ordLnPk }, ob); return dt; } private void QueryCraft() { if (ultraGridOrderLine.ActiveRow == null) return; this.Cursor = Cursors.WaitCursor; try { DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK")); if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID() && UserInfo.GetUserID() != "admin") { MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能操作工艺文件!"); return; } CraftOrdDesignPopup craftOrdDesignPopup = new CraftOrdDesignPopup(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"), ob, this); //craftOrdDesignPopup.FormClosed += new FormClosedEventHandler((a, b) => //{ // this.BeginInvoke(new HandledEventHandler((sender, e) => // { // this.Cursor = Cursors.WaitCursor; // this.Relocate(sender.ToString()); // }), ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"), null); //}); craftOrdDesignPopup.Disposed += new EventHandler((a, b) => { string ordLnPk = ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"); doQuery(ordLnPk); var row = ultraGridOrderLine.Rows.Where(c => c.GetValue("ORD_LN_PK") == ordLnPk).FirstOrDefault(); if (row != null) { row.Activate(); } }); craftOrdDesignPopup.IsPopup = true; craftOrdDesignPopup.Show(); } finally { this.Cursor = Cursors.Default; } } /// /// 保存按钮,update周期修正值。 /// private void doSave() { if (ultraGridOrderLine.ActiveRow == null) { MessageBox.Show("请先选择合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); if (ultraGridMscPlPc.ActiveRow == null) { MessageBox.Show("请先选择生产周期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } //当没有选择项时,给出提示。 int chkNumber = 0; foreach (UltraGridRow row in ultraGridMscPlPc.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { chkNumber++; } } if (chkNumber <= 0) { MessageBox.Show("请先选中需要保存的生产周期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } ArrayList parms = new ArrayList(); foreach (UltraGridRow row in ultraGridMscPlPc.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { ArrayList parm = new ArrayList(); parm.Add(row.Cells["CYC_EDIT"].Value.ToString()); parm.Add(row.Cells["DESGIN_KEY"].Value.ToString()); parm.Add(row.Cells["ORD_LN_DLY_PK"].Value.ToString()); parm.Add(row.Cells["MSC_PLINE"].Value.ToString()); parms.Add(parm); } } //执行数据库相关操作 CoreClientParam ccp = new CoreClientParam(); //服务端的包名+类名 ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology"; //类里的方法名 ccp.MethodName = "UpdateCraftMscPlPc"; ccp.ServerParams = new object[] { parms }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else { MessageBox.Show("保存成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); GetMscPlPc(ordLnPk); } } private void RollBack() { if (ultraGridOrderLine.ActiveRow == null) { MessageUtil.ShowWarning("请选择一条记录,再进行操作!"); return; } DataRow plnSaleOrd = getPlnSaleOrdByPk(ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK")); if (plnSaleOrd != null && ultraGridOrderLine.ActiveRow.GetValue("REVIEW_STATUS") != "制定中") { if (plnSaleOrd["JGORD_IS_OK"].ToString() == "1") { MessageUtil.ShowWarning("计划接箍订单已经形成,不允许工艺回退!"); return; } else if (plnSaleOrd["DJBL_REQ_IS_OK"].ToString() == "1") { MessageUtil.ShowWarning("计划短节备料订单已经形成,不允许工艺回退!"); return; } } if (ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK").StartsWith("BL") && ultraGridOrderLine.ActiveRow.GetValue("REVIEW_STATUS") != "制定中") { MessageUtil.ShowWarning("只有制定中的备料码才可以工艺回退!"); return; } string craftSeq = ultraGridOrderLine.ActiveRow.GetValue("CRAFT_SEQ"); frmDesignFallBack frmFallBack = new frmDesignFallBack(pOrdLnPk, craftSeq, true, ob); frmFallBack.ShowDialog(); Relocate(pOrdLnPk); } private void ShowMsc() { if (ultraGridOrderLine.ActiveRow == null) return; var row = ultraGridOrderLine.ActiveRow; string psc = row.GetValue("PSC"); string msc = ""; string dimater = ""; string height = ""; string specCode = ""; msc = row.GetValue("MSC"); dimater = row.GetValue("DIMATER"); height = row.GetValue("HEIGHT"); specCode = row.GetValue("SPEC_CODE"); string ordLnPk = row.GetValue("ORD_LN_PK"); string custAlphaNo = ""; string specialDesc = ""; if (!ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK").StartsWith("BL")) { DataTable dt = GetOrdLnState(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK")); custAlphaNo = dt.Rows[0]["CUST_ALPHA_NO"].ToString() == "" ? dt.Rows[0]["CUST_ALPHA_NO2"].ToString() : dt.Rows[0]["CUST_ALPHA_NO"].ToString(); specialDesc = dt.Rows[0]["ORDER_SPECIAL_DESC"].ToString(); } FrmProPSCMSC2Popup popup = new FrmProPSCMSC2Popup(new string[] { psc, msc, dimater, height, specCode, ordLnPk}, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.AllMsc, "", ob); popup.ShowDialog(); } /// /// 评审通过 /// private void doReviewPass(string y) { ultraGridOrderLine.UpdateData(); if (ultraGridOrderLine.ActiveRow == null) { MessageBox.Show("请先选择合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } int ucount = 0; ArrayList paramPassList = new ArrayList(); ArrayList paramOrdPk = new ArrayList(); //提取出来,用于完成之后聚焦。 string ordLnPk = ""; foreach (UltraGridRow urow in ultraGridOrderLine.Rows) { if (Convert.ToBoolean(urow.Cells["CHK"].Value)) { //执行事务,改变评审主表、项目表、明细表状态为评审通过S。改变合同行状态为技术评审通过。 string deviewNo = urow.Cells["REVIEW_NO"].Value.ToString(); string ordPk = urow.Cells["ORD_PK"].Value.ToString(); ordLnPk = urow.Cells["ORD_LN_PK"].Value.ToString(); string reviewMan = UserInfo.GetUserName(); string reviewDept = UserInfo.GetDepartment(); //如果当前选中行的评审状态为失败或通过,return。 string reviewStatus = GetReviewStatus(ordLnPk); //WD如果为待审或评审中,则继续操作,否则组织操作。 if ("W".Equals(reviewStatus) || "D".Equals(reviewStatus)) { ucount++; if ("1".Equals(y)) { if (!"通过".Equals(urow.Cells["DESIGN_STS"].Value.ToString())) { MessageBox.Show("请先完成工艺制定。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); urow.Activate(); return; } //if ("评审通过".Equals(urow.Cells["REVIEW_STATUS"].Value.ToString())) //{ // MessageBox.Show("当前合同行,已通过技术评审,不允许重复提交。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // urow.Activate(); // return; //} } else { if ("评审失败".Equals(urow.Cells["REVIEW_STATUS"].Value.ToString())) { MessageBox.Show("当前合同行,评审状态为评审失败,不允许重复提交。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); urow.Activate(); return; } } if ("002001001001" != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin" && UserInfo.GetUserID() != "19880049" || !(this.CustomInfo.ToString2().Contains("120504") && UserInfo.GetUserID() == "longjinhua")) { MessageUtil.ShowWarning("只有制造部-计划科的人员,才能进行评审操作!"); return; } ArrayList param = new ArrayList(); param.Add(deviewNo); param.Add(ordPk); param.Add(ordLnPk); param.Add(reviewMan); param.Add(reviewDept); //用于判断是技术评审通过还是失败。 //param.Add(y); paramPassList.Add(param); //获取合同头集合,用于修正合同头状态。 paramOrdPk.Add(ordPk); } else { MessageBox.Show("当前合同行技术评审完毕,不允许再次执行技术评审。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } } } if ("0".Equals(y)) { if (MessageBox.Show("是否确认执行技术评审失败操作!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } else if ("1".Equals(y)) { if (MessageBox.Show("是否确认执行技术评审通过操作!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } if (ucount <= 0) { MessageBox.Show("请先勾选需要操作的合同行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } //执行数据库相关操作 CoreClientParam ccp = new CoreClientParam(); //服务端的包名+类名 ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology"; //类里的方法名 ccp.MethodName = "doReviewPass"; ccp.ServerParams = new object[] { paramPassList, y }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else { string[] strs = paramOrdPk.Cast().Distinct().ToArray(); for (int j = 0; j < strs.Length; j++) { if ("1".Equals(y)) { //依据当前合同行所属合同头Key,查询该合同头下是否还有技术评审通过以下的合同行。 DataTable GetLineDt = GetLineDtByOrdPk(strs[j]); if (GetLineDt.Rows.Count <= 0) { //没有,则合同行均为技术评审通过以上的状态,合同头状态修正为技术评审通过。 UpdateOrderHead(strs[j]); } } else { //依据当前合同行所属合同头Key,判断该合同头状态是否为技术评审通过。 DataTable ordHeadSts = GetOrderHeadSts(strs[j]); if (ordHeadSts.Rows.Count > 0) { string ordSts = ordHeadSts.Rows[0][0].ToString(); if ("12020202".Equals(ordSts)) { //则修改其状态为技术评审失败。12020203 UpdateOrderHeadSts(strs[j]); } //否则,不修改其状态。 } } } doQuery(""); //聚焦当前选中合同行。 foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (ordLnPk.Equals(row.Cells["ORD_LN_PK"].Value.ToString())) { row.Activate(); break; } } } } /// /// 获取当前合同头状态。 /// /// /// private DataTable GetOrderHeadSts(string ordPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetOrderHeadSts", new object[] { ordPk }, this.ob); } /// /// 修改当前合同头状态为技术评审失败 /// /// private void UpdateOrderHeadSts(string ordPk) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateOrderHeadSts", new object[] { ordPk }, this.ob); } /// /// 获取冶金规范的使用次数 /// /// /// private DataTable GetComMscByOrdLnPk(string ordLnPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getComMscByOrdLnPk", new object[] { ordLnPk }, ob); } /// /// 合同行均为技术评审通过以上的状态,合同头状态修正为技术评审通过。 /// private void UpdateOrderHead(string ordPk) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateOrderHead", new Object[] { ordPk }, this.ob); } /// /// 依据当前合同行所属合同头Key,查询该合同头下是否还有技术评审通过以下的合同行。 /// /// /// private DataTable GetLineDtByOrdPk(string ordPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetLineDtByOrdPk", new Object[] { ordPk }, this.ob); } private DataTable GetOrdLnState(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getOrdLnState", new object[] { ordLnPk }, ob); return dt; } private Dictionary _craftDataSourceDic = new Dictionary(); public bool CheckQuality(string ordLnPk, bool isBackGround, OpeBase ob) { this.ob = ob; string tipMsg = _operateType == "1" ? "刷新" : "制定"; CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); DataTable dtCraftDesignSts = GetCraftDesignSts(ordLnPk); DataTable dtOrdLn = GetOrdLnState(ordLnPk); DataTable dtMscUseCnt = GetComMscByOrdLnPk(ordLnPk); if (isBackGround == false) { DataTable dtFailLstItem = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getFailLstItem", new object[] { ordLnPk }, ob); if (dtFailLstItem.Rows.Count == 0 || dtFailLstItem.Rows[0]["LST_ITEM"].ToString() != "试样码") { DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ordLnPk); if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != CoreUserInfo.UserInfo.GetUserID() && UserInfo.GetUserID() != "admin") { MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ",没有权限进行工艺" + tipMsg + "!"); return false; } } } if (dtMscUseCnt.Rows.Count > 0 && int.Parse(dtMscUseCnt.Rows[0]["USER_COUNT"].ToString()) == 0) { if (!isBackGround) { MessageUtil.ShowWarning("冶金规范的可使用次数为0,不能再进行工艺" + tipMsg + "!"); } return false; } if (!ordLnPk.StartsWith("BL")) { if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1") { MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许工艺" + tipMsg + "!"); return false; } if (decimal.Parse(dtOrdLn.Rows[0]["ORDER_LN_STATUS"].ToString()) < decimal.Parse("12020301")) { MessageUtil.ShowWarning("生效前的合同行,不允许工艺" + tipMsg + "!"); return false; } if (decimal.Parse(dtOrdLn.Rows[0]["ORDER_LN_STATUS"].ToString()) >= decimal.Parse("12020602")) { MessageUtil.ShowWarning("缴库完毕的合同行,不允许工艺" + tipMsg + "!"); return false; } DataRow plnSaleOrd = getPlnSaleOrdByPk(ordLnPk); CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryCraftByOrLnPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk }); if (plnSaleOrd != null) { if (_operateType == "1") { if (plnSaleOrd["JGORD_IS_OK"].ToString() == "1") { MessageUtil.ShowWarning("计划接箍订单已经形成,不允许工艺刷新!"); return false; } else if (plnSaleOrd["DJBL_REQ_IS_OK"].ToString() == "1") { MessageUtil.ShowWarning("计划短节备料订单已经形成,不允许工艺刷新!"); return false; } } else if (_operateType == "0") { if (plnSaleOrd["PORDERSTATUS"].ToString() == "1" && isBackGround == false) { MessageUtil.ShowWarning("计划科已经接收,请联系计划科退回处理!"); return false; } else if (craftOrdDesign != null && craftOrdDesign.Validflag == "1") { //if (plnSaleOrd["PORDERSTATUS"].ToString() == "2") //{ // if (MessageUtil.ShowYesNoAndQuestion("该合同已经下发,是否进行工艺变更?") == DialogResult.No) // { // return false; // } //} //else if (plnSaleOrd["PORDERSTATUS"].ToString() == "3") //{ // if (MessageUtil.ShowYesNoAndQuestion("该合同正在生产中,是否进行工艺变更?") == DialogResult.No) // { // return false; // } //} } else if (decimal.Parse(plnSaleOrd["PORDERSTATUS"].ToString()) >= 4) { //MessageUtil.ShowWarning("该合同已经生产完成,不能再进行工艺制定!"); //return false; } } } } else { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetOrderLineCntByBl", new object[] { ordLnPk }, ob); if (dt.Rows[0][0].ToString() != "0") { MessageUtil.ShowWarning("该备料被制造部接收状态的合同使用,不允许工艺制定!"); return false; } if (_operateType == "1") { MessageUtil.ShowWarning("备料码不允许工艺刷新!"); return false; } } if (isBackGround == false && dtCraftDesignSts.Rows.Count > 0) { CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk, CraftSeq = decimal.Parse(dtCraftDesignSts.Rows[0]["CRAFT_SEQ"].ToString() == "" ? "0" : dtCraftDesignSts.Rows[0]["CRAFT_SEQ"].ToString()) }); if (craftOrdDesign != null) { if (craftOrdDesign.Validflag == "4") { MessageUtil.ShowWarning("当前合同行有工艺文件正在审批中,不能进行工艺" + tipMsg + "!"); return false; } else if (craftOrdDesign.Validflag == "6") { MessageUtil.ShowWarning("当前合同行有工艺文件正在相关科室审核中,不能进行工艺" + tipMsg + "!"); return false; } else if (craftOrdDesign.Validflag == "7") { MessageUtil.ShowWarning("当前合同行有工艺文件正在批准中,不能进行工艺" + tipMsg + "!"); return false; } else if (craftOrdDesign.Validflag == "9") { if (MessageUtil.ShowYesNoAndQuestion("当前合同行工艺评审状态为待生成,是否确认进行工艺制定?") == System.Windows.Forms.DialogResult.No) { return false; } } else if (craftOrdDesign.Validflag == "8") { if (MessageUtil.ShowYesNoAndQuestion("当前合同行工艺评审状态为变更待生效,是否确认进行工艺制定?") == System.Windows.Forms.DialogResult.No) { return false; } } else if (craftOrdDesign.Validflag == "1" && _operateType == "0") { if (MessageUtil.ShowYesNoAndQuestion("当前合同行工艺评审状态为生效状态,是否确认进行工艺制定?") == System.Windows.Forms.DialogResult.No) { return false; } } } } //if (!ordLnPk.StartsWith("BL") && dtOrdLn.Rows[0]["MPS_FL"].ToString() == "1" // && isBackGround == false && _craftDataSourceDic.Count == 0) //{ // Core.StlMes.Client.SaleOrder.Dialog.PopupAudit popupAudit = new Dialog.PopupAudit( // string.Format("合同号{0}合同行{1}", dtOrdLn.Rows[0]["ORDER_NO"].ToString(), dtOrdLn.Rows[0]["ORDER_SEQ"].ToString())); // popupAudit.MinimumSize = new Size(popupAudit.MinimumSize.Width + 50, popupAudit.MinimumSize.Height - 150); // popupAudit.MaximumSize = new Size(popupAudit.MaximumSize.Width + 50, popupAudit.MaximumSize.Height - 150); // popupAudit.BtnSubmit.Location = new Point(popupAudit.BtnSubmit.Location.X + 50, popupAudit.BtnSubmit.Location.Y); // popupAudit.CmbAuditType.Width += 50; // popupAudit.TxtAudit.Visible = false; // popupAudit.CmbAuditType.Caption = "工艺制定来源"; // popupAudit.CmbAuditType.ComboBox.Items.Clear(); // popupAudit.CmbAuditType.ComboBox.Items.Add("取MPS"); // popupAudit.CmbAuditType.ComboBox.Items.Add("取MSC"); // if (popupAudit.ShowDialog() == DialogResult.OK) // { // if (popupAudit.CmbAuditType.Text == "取MPS") // { // _craftDataSourceDic.Add(ordLnPk, "取MPS"); // } // else // { // //.......(工艺制定(MPS)) // _craftDataSourceDic.Add(ordLnPk, "取MSC"); // } // } // else // { // return false; // //_craftDataSourceDic.Add(ordLnPk, "取MPS"); // } //} //else if (!ordLnPk.StartsWith("BL") && dtOrdLn.Rows[0]["MPS_FL"].ToString() == "1" // && _craftDataSourceDic.Count > 0) //{ // string ordLnPkOld = _craftDataSourceDic.First().Key; // _craftDataSourceDic.Add(ordLnPk, _craftDataSourceDic[ordLnPkOld]); //} //else //{ // if (!_craftDataSourceDic.ContainsKey(ordLnPk)) // { // _craftDataSourceDic.Add(ordLnPk, "取MSC"); // } //} if (_craftDataSourceDic.ContainsKey(ordLnPk)) { _craftDataSourceDic.Remove(ordLnPk); } _craftDataSourceDic.Add(ordLnPk, "取MSC"); //if (!ordLnPk.StartsWith("BL") && dtOrdLn.Rows[0]["MPS_FL"].ToString() == "1") //{ // _craftDataSourceDic.Add(ordLnPk, "取MPS"); //} //else //{ // _craftDataSourceDic.Add(ordLnPk, "取MSC"); //} return true; } private bool _isBackGround = false; public void Quality(string ordLnPk, bool isBackGround, OpeBase ob) { this.ob = ob; string desPath = ""; string filePath = ""; _isBackGround = isBackGround; CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); DataTable dtCraftDesignSts = GetCraftDesignSts(ordLnPk); string crafSeq = dtCraftDesignSts.Rows.Count > 0 ? dtCraftDesignSts.Rows[0]["CRAFT_SEQ"].ToString() : ""; //MPS if (!ordLnPk.StartsWith("BL")) { if (_craftDataSourceDic[ordLnPk] == "取MPS") { CopyOrdToCraft(ordLnPk, "1", UserInfo.GetUserName(), isBackGround); } else { //.......(工艺制定(MPS)) CraftDesign(craftOrdDesignBLL, ordLnPk, crafSeq, isBackGround); } } else { CraftDesign(craftOrdDesignBLL, ordLnPk, crafSeq, isBackGround); } //dtCraftDesignSts = GetCraftDesignSts(ordLnPk); //CRAF_SEQ变了 //crafSeq = dtCraftDesignSts.Rows.Count > 0 ? dtCraftDesignSts.Rows[0]["CRAFT_SEQ"].ToString() : ""; //string designKey = dtCraftDesignSts.Rows.Count > 0 ? dtCraftDesignSts.Rows[0]["DESGIN_KEY"].ToString() : ""; //DataTable dtCraftDesignPl = GetDesignPlCraftNo(designKey); //if (dtCraftDesignPl.Rows.Count > 0 && dtCraftDesignPl.Rows[0]["PROCESS_NO"].ToString() != "") //{ // filePath = "Qcm/Craft_PL/" + dtCraftDesignPl.Rows[0]["MSC"].ToString() + "/" + dtCraftDesignPl.Rows[0]["MSC_PLINE"].ToString(); //} //if (filePath != "") //{ // desPath = "Qcm/Craft/" + ordLnPk + "/" + crafSeq; // int copyCnt = CopyFtpFile(filePath, desPath); // if(copyCnt > 0) // { // UpdateCraftNo(ordLnPk, dtCraftDesignPl.Rows[0]["PROCESS_NO"].ToString(), filePath); // } // else // { // UpdateCraftNo(ordLnPk, dtCraftDesignPl.Rows[0]["PROCESS_NO"].ToString(), ""); // } // if (copyCnt == -1) // { // MessageUtil.ShowWarning("复制工艺文件失败,请重新工艺制定!"); // return; // } //} } /// /// 质量设计 /// private void doQuality() { ultraGridOrderLine.UpdateData(); _craftDataSourceDic.Clear(); CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); try { this.Cursor = Cursors.WaitCursor; int chkCnt = ultraGridOrderLine.Rows.AsQueryable().Where("CHK = 'True'").Count(); if (chkCnt == 0) { MessageUtil.ShowWarning("请先选择合同行!"); return; } int i = 0; sum = 0; //共sum条合同行执行质量设计 sumT = 0; //通过 sumF = 0; //失败 string ordLnPkT = ""; //刷新UltraGrid,选中与取消选中时,需要刷新UltraGrid。 ultraGridOrderLine.UpdateData(); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value) == false) continue; if (CheckQuality(row.GetValue("ORD_LN_PK"), false, ob) == false) { Relocate(ordLnPkT); return; } } WaitingForm2 wf3 = new WaitingForm2("正在执行工艺设计,请稍候......"); try { foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { i++; ordLnPkT = row.GetValue("ORD_LN_PK"); Quality(row.GetValue("ORD_LN_PK"), false, ob); } } if (i <= 0) { MessageBox.Show("当前没有选中合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (sum <= 0) { return; } } finally { wf3.Close(); } if (_isRun == false) { MessageBox.Show("当前共" + sum + "条记录执行工艺制定," + sumT + "条记录通过," + sumF + "条记录不通过。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } Relocate(ordLnPkT); } finally { this.Cursor = Cursors.Default; } } private void CraftDesign(CraftOrdDesignBLL craftOrdDesignBLL, string ordLnPk, string craftSeq, bool isBackground) { CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk, CraftSeq = decimal.Parse(craftSeq == "" ? "0" : craftSeq) }); if (craftOrdDesign != null) { if (craftOrdDesign.Validflag == "1") { Quality(ordLnPk, "", isBackground); } else { //如果有多个合同行使用的DESIGN_KEY则不能清除工艺制定记录。 if (craftOrdDesignBLL.GetDesignKeyCnt(craftOrdDesign.DesginKey) >= 2) { Quality(ordLnPk, "", isBackground); } else { Quality(ordLnPk, craftOrdDesign.DesginKey, isBackground); } } } else { Quality(ordLnPk, "", isBackground); } if (!_isBackGround && UserInfo.GetUserID() != "admin") { //工艺指定,默认是点击工艺制定的人。 ArrayList list = new ArrayList(); list.Add(ordLnPk); ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.appoint", new object[] { list, "", UserInfo.GetUserName(), UserInfo.GetUserID() }, ob); } } /// /// 获取制程工艺评审中的工艺文件号。 /// /// /// private DataTable GetDesignPlCraftNo(string desginKey) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getDesignPlCraftNo", new object[] { desginKey }, ob); return dt; } /// /// 修改工艺文件号并置为生效状态 /// /// private void UpdateCraftNo(string ordLnPk, string craftNo, string craftPath) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.updateCraftNo", new object[] { ordLnPk, craftNo, craftPath }, ob); } /// /// 复制FTP服务器不同目录的文件。 /// /// /// public int CopyFtpFile(string srcPath, string desPath) { List list = FileHelper.Download(srcPath); int i = 0; foreach (FileBean file in list) { file.setPathName(desPath); i++; } bool result = FileHelper.Upload(list); if (result) { return i; } else { return -1; } } /// /// 查询工艺指派记录 /// /// /// private DataTable GetCraftDesignAppointByPk(string ordLnPk) { DataTable dt = ServerHelper.GetData( "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getCraftDesignAppointByPk", new object[] { ordLnPk }, ob); return dt; } private void Relocate(string ordLnPk) { doQuery(""); foreach (UltraGridRow rowT in ultraGridOrderLine.Rows) { if (ordLnPk.Equals(rowT.Cells["ORD_LN_PK"].Value.ToString())) { rowT.Activate(); break; } } } private void CopyOrdToCraft(string ordLnPk, string craftSrc, string userName, bool isBackground) { sum++; object obj = ServerHelper.SetDataReturnObj("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.copyOrdToCraft", new object[] { ordLnPk, craftSrc, userName, _operateType}, ob); if (!_isBackGround && UserInfo.GetUserID() != "admin") { //工艺指定,默认是点击工艺制定的人。 ArrayList list = new ArrayList(); list.Add(ordLnPk); ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.appoint", new object[] { list, UserInfo.GetUserName(), UserInfo.GetUserName(), UserInfo.GetUserID() }, ob); } if (obj.ToString() == "S") { if (_craftOrdDesignBLL == null) { _craftOrdDesignBLL = new CraftOrdDesignBLL(ob); } //自动生成工艺文件 string designStyle = isBackground ? "0" : "1"; try { this.Cursor = Cursors.WaitCursor; if (_craftOrdDesignBLL.AutoCreateCraft(ordLnPk, designStyle)) { //PlnCraftChange(ordLnPk, false, isBackgound, ob); } } finally { this.Cursor = Cursors.Default; } sumT++; } else { sumF++; } } private DataRow GetMscBLByPk(string bLCode) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.BLCodeManage.queryMscBlByPk", new object[] { bLCode }, ob); return dt.Rows[0]; } /// /// 获取合同行技术评审状态。 /// /// /// private string GetReviewStatus(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetReviewStatus", new Object[] { ordLnPk }, this.ob); if (dt.Rows.Count > 0) { return dt.Rows[0][0].ToString(); } else { return ""; } } private int sum = 0; private int sumT = 0; private int sumF = 0; /// /// 质量设计方法 /// private void Quality(string ordLnPk, string designKey, bool isBackgound) { if (AskRollBack() == false) return; string flag = ordLnPk.StartsWith("BL") ? "1" : "0"; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.craftDesign.main.CraftDesignMain"; ccp.MethodName = "craftDesign"; string isOrderReport = _isBackGround ? "0" : "1";//0表示销售提报排产界面调用, 1表示工艺评审点击按钮调用 ccp.ServerParams = new object[] { ordLnPk, UserInfo.GetUserName(), designKey, flag, _operateType, isOrderReport}; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else { if (!"".Equals(ccp.ReturnInfo)) { MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } sum++; if (Convert.ToBoolean(ccp.ReturnObject.ToString())) { sumT++; if (_craftOrdDesignBLL == null) { _craftOrdDesignBLL = new CraftOrdDesignBLL(ob); } //自动生成工艺文件 try { this.Cursor = Cursors.WaitCursor; if (_craftOrdDesignBLL.AutoCreateCraft(ordLnPk, isOrderReport)) { //PlnCraftChange(ordLnPk, false, isBackgound, ob); } } finally { this.Cursor = Cursors.Default; } } else { sumF++; } } } /// /// 质量设计方法 /// private void QualityBL(string blCode) { //循环遍历当前UltraGrid,判断行是否选中,选中则调用质量设计方法即可。 //循环调用质量设计方法。 if (AskRollBack() == false) return; ArrayList param = new ArrayList(); param.Add(UserInfo.GetUserID()); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignBL"; ccp.MethodName = "qualityDesignBL"; ccp.ServerParams = new object[] { blCode, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); //ccp.ReturnObject(); if (ccp.ReturnCode == -1) { return; } else { if (!"".Equals(ccp.ReturnInfo)) { MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } sum++; if (Convert.ToBoolean(ccp.ReturnObject.ToString())) { sumT++; } else { sumF++; } } } //如果orderNo为空就用查询区域的orderNo, 否则只查询指定的合同。 private DataTable GetParentData(string ordLnPk) { //模糊查询条件,合同号、评审状态W、F、S、设计状态。 string beginTime = ""; string endTime = ""; if (labelDateTimePicker1.Checked) { if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) > TimeSpan.FromDays(30)) { return null; } else if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) < TimeSpan.FromDays(0)) { return null; } beginTime = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTime = labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss"); } DataTable dt; if (CustomInfo == "Spline" || !checkBox1.Checked) { _isPopup = false; } else { _isPopup = true; } if (ordLnPk == "") { string orderNo = utxtOrderNo.Text.Trim(); string orderSts = cmbSts.Value.ToString().Trim(); string designSts = cmbDesignSts.Value.ToString().Trim(); string unit_code = UserInfo.GetDeptid(); string userId = UserInfo.GetUserID(); string userName = UserInfo.GetUserName(); string planStatus = lblCmbPlanStatus.Checked ? lblCmbPlanStatus.SelecteValue.ToString2() : ""; string urgent = chkUrgent.Checked ? "1" : "0"; ArrayList list = new ArrayList(); list.AddRange(designSts, orderNo, orderSts, unit_code, userId, userName, beginTime, endTime, planStatus, urgent); string supp = this.CustomInfo.ToString2().Contains("120504") ? "120504" : ""; if (this.CustomInfo.ToString2().Equals("120501")) { supp = "120501"; } if (this.CustomInfo.ToString2().Equals("120504-BBHT")) { dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.doQueryCraftBBHT", new Object[] { list, this.ValidDataPurviewIds, _isPopup.ToString(),supp }, this.ob); } else{ dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.doQueryCraft", new Object[] { list, this.ValidDataPurviewIds, _isPopup.ToString(),supp }, this.ob); } } else { DataRow drOld = slm_order_line.Select("ORD_LN_PK = '" + ordLnPk + "'")[0]; string orderNo = drOld["ORDER_NO"].ToString(); string orderSts = cmbSts.Value.ToString().Trim(); string designSts = cmbDesignSts.Value.ToString().Trim(); string unit_code = UserInfo.GetDeptid(); string userId = UserInfo.GetUserID(); string userName = UserInfo.GetUserName(); string planStatus = lblCmbPlanStatus.Checked ? lblCmbPlanStatus.SelecteValue.ToString2() : ""; string urgent = chkUrgent.Checked ? "1" : "0"; ArrayList list = new ArrayList(); list.AddRange(designSts, orderNo, orderSts, unit_code, userId, userName, beginTime, endTime, planStatus, urgent); string supp = this.CustomInfo.ToString2().Contains("120504") ? "120504" : ""; if (this.CustomInfo.ToString2().Equals("120501")) { supp = "120501"; } DataTable dtNew = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.doQueryCraft", new Object[] { list, this.ValidDataPurviewIds, _isPopup.ToString(), supp }, this.ob); DataRow drNew = dtNew.Select("ORD_LN_PK = '" + ordLnPk + "'")[0]; for(int i = 0; i < slm_order_line.Columns.Count; i++) { if (dtNew.Columns.Contains(slm_order_line.Columns[i].ColumnName)) { string str = drNew[slm_order_line.Columns[i].ColumnName].ToString(); if(str == "") { drOld[slm_order_line.Columns[i].ColumnName] = DBNull.Value; } else { drOld[slm_order_line.Columns[i].ColumnName] = drNew[slm_order_line.Columns[i].ColumnName].ToString(); } } } dt = slm_order_line.Copy(); } return dt; } /// /// 获取客户和标准合并的附加要求 /// /// /// /// private DataTable GetOrdStdAddAskDesc(string addAskNo, string stdCode) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getOrdStdAddAskDesc", new object[] { addAskNo, stdCode }, ob); } /// /// 合同行查询 /// private void doQuery(string ordLnPk) { WaitingForm2 wf3 = new WaitingForm2("正在查询,请稍候...."); try { this.Cursor = Cursors.WaitCursor; ultraGridOrderLine.BeginUpdate(); string beginTime = ""; string endTime = ""; if (labelDateTimePicker1.Checked) { if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) > TimeSpan.FromDays(90)) { MessageUtil.ShowWarning("查询条件:合同行生效时间范围不能超过90天!"); labelDateTimePicker1.DateTimePicker.Focus(); return; } else if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) < TimeSpan.FromDays(0)) { MessageUtil.ShowWarning("查询条件:合同行生效时间的开始时间不能大于结束时间!"); labelDateTimePicker1.DateTimePicker.Focus(); return; } beginTime = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTime = labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss"); } //模糊查询条件,合同号、评审状态W、F、S、设计状态。 string orderNo = utxtOrderNo.Text.Trim(); string orderSts = cmbSts.Value.ToString().Trim(); string designSts = cmbDesignSts.Value.ToString().Trim(); string unit_code = UserInfo.GetDeptid(); if (UserInfo.GetUserID() == "admin" || UserInfo.GetUserID() == "19880049" || (this.CustomInfo.ToString2().Contains("120504") && UserInfo.GetUserID() == "longjinhua")) { unit_code = ""; } //先清除交货信息子表记录,再清除合同行主表记录。 this.slm_order_line_delivery.Rows.Clear(); DataTable dt = GetParentData(ordLnPk); //当合同行数据为空时,清空其下设计状态TABLE。 if (dt.Rows.Count <= 0) { //交付标准 this.slm_ord_design_std.Rows.Clear(); //制程 this.slm_ord_design_msc_pl.Rows.Clear(); //制程适用钢种 this.slm_ord_design_msc_pl_gz.Rows.Clear(); //投入、产出物料,现在好像没有该表。 this.slm_ord_design_msc_pl_In.Rows.Clear(); //接箍料 this.com_msc_jg.Rows.Clear(); //接箍备料 this.com_msc_bl.Rows.Clear(); //单独备料 this.slm_ord_design_msc_bl.Rows.Clear(); //生产周期主表 this.slm_ord_design_msc_pl_pc.Rows.Clear(); //生产周期明细 this.slm_ord_design_msc_pl_pc_lst.Rows.Clear(); //质量设计展示项目。 if (ctrlOrderLineDesign1.DesignDt != null) { ctrlOrderLineDesign1.DesignDt.Rows.Clear(); } //质量设计不通过项目。 if (ctrlOrderLineDesign1.DesignDtNPass != null) { ctrlOrderLineDesign1.DesignDtNPass.Rows.Clear(); } _ctrlBom.BomBindingSource.Clear(); _ctrlBomBl.BomBindingSource.Clear(); _ctrlBomHead.BomBindingSource.Clear(); _ctrlBomI.BomIBindingSource.Clear(); _ctrlBomJg.BomBindingSource.Clear(); _ctrlBomJgBl.BomBindingSource.Clear(); } //绑定数据时,先绑定主表。 GridHelper.CopyDataToDatatable(ref dt, ref this.slm_order_line, true); foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (row.Cells.Exists("PLINE_SELECT")) { row.Cells["PLINE_SELECT"].Value = "产线确认"; } } ultraGridOrderLine.EndUpdate(); ultraGridOrderLine.UpdateData(); } finally { wf3.Close(); this.Cursor = Cursors.Default; } } /// /// 获取当前合同行主键下面,设计状态不通过的管理科室。 /// /// /// private DataTable isDesignV(string ordLnPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.isDesignV", new Object[] { ordLnPk }, this.ob); } /// /// 查询区合同号查询事件。 /// /// /// private void uchkOrderNo_CheckedChanged(object sender, EventArgs e) { if (uchkOrderNo.Checked) { utxtOrderNo.ReadOnly = false; } else { utxtOrderNo.Text = ""; utxtOrderNo.ReadOnly = true; } } /// /// 查询区评审状态 /// /// /// private void uchkSts_CheckedChanged(object sender, EventArgs e) { if (uchkSts.Checked) { cmbSts.Enabled = true; chkUrgent.Checked = false; } else { cmbSts.Enabled = false; cmbSts.SelectedIndex = 0; } } /// /// 查询区设计状态 /// /// /// private void uchkDesignSts_CheckedChanged(object sender, EventArgs e) { if (uchkDesignSts.Checked) { cmbDesignSts.Enabled = true; chkUrgent.Checked = false; } else { cmbDesignSts.Enabled = false; cmbDesignSts.SelectedIndex = 0; } } private string pOrdLnPk = ""; private string pDesignKey = ""; /// /// 选中合同行时 /// /// /// private void ultraGridOrderLine_AfterRowActivate(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; if (_isRun == false && ckbAutoRefresh.Checked) { ckbAutoRefresh.Checked = false; } //获取设计状态和设计状态明细。 pOrdLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); pDesignKey = ultraGridOrderLine.GetActiveRowValue("DESGIN_KEY"); string designKey = ultraGridOrderLine.ActiveRow.HasParent() ? ultraGridOrderLine.ActiveRow.ParentRow.Cells["DESGIN_KEY"].Value.ToString() : ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); GetOrdDesign(pOrdLnPk); //获取质量设计失败项目。 GetOrdDesignNPass(pOrdLnPk); GetDesginDownData(pOrdLnPk, designKey); //通过。 //if (ultraGridOrderLine.ActiveRow.GetValue("DESIGN_STS") == "失败") //{ // panel1.Visible = true; //} //else //{ // panel1.Visible = false; //} } finally { this.Cursor = Cursors.Default; } } private void ultraTabControl3_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (ultraGridOrderLine.ActiveRow == null) return; this.Cursor = Cursors.WaitCursor; string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); string designKey = ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); GetDesginDownData(ordLnPk, designKey); this.Cursor = Cursors.Default; } /// /// 获取质量设计向下数据 /// private void GetDesginDownData(string ordLnPk, string designKey) { if (ultraTabControl3.SelectedTab == null) return; switch (ultraTabControl3.SelectedTab.Key) { case "0": //产品交付要求数据绑定 GetDesignStd(designKey); break; case "1": //生产制程,全程途径数据绑定。 GetDesignMscPl(designKey); break; case "2": //接箍数据绑定。COM_MSC_JG GetComMscJg(designKey); break; case "3": //备料码数据绑定 GetMscBl(designKey); break; case "4": //交货行数据绑定。 GetMscPlPc(ordLnPk); break; case "5": GetBomHead(designKey); break; case "6": GetPlsOrdProc(ordLnPk); break; case "7": GetDesignWater(designKey); break; case "8": GetDesignProcess(designKey); break; } } private void GetDesignWater(string designKey) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignWater", new object[] { designKey }, ob); GridHelper.CopyDataToDatatable(dt, dataTable2, true); } private void GetDesignProcess(string designKey) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignProcess", new object[]{ designKey }, ob); GridHelper.CopyDataToDatatable(dt, dataTable3, true); } /// /// 获取计划排产队列 /// private void GetPlsOrdProc(string ordLnPk) { UltraGridRow row = ultraGridOrderLine.ActiveRow; DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.queryPlnProcess", new object[] { row.GetValue("ORD_LN_PK") }, ob); GridHelper.CopyDataToDatatable(dt, dataTable1, true); //PlnSaleordProcEntity plaOrdProcEntity = new PlnSaleordProcEntity(); //plaOrdProcEntity.CraftFileNo = row.GetValue("CRAFT_NO"); //plaOrdProcEntity.CraftNoV = row.GetValue("CRAFT_NO_V_C"); //_plaSaleOrdProcCtrl.Query(plaOrdProcEntity, ordLnPk); } /// /// 备料码 /// /// private void GetMscBl(string designKey) { DataTable mscBlDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftMscBl", new Object[] { designKey }, this.ob); GridHelper.CopyDataToDatatable(ref mscBlDt, ref this.slm_ord_design_msc_bl, true); ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMscBl, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]3 //}); } private void GetBomHead(string designKey) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getCraftBomLst", new object[] { designKey }, ob); _ctrlBomHead.BomBindingSource.DataSource = listSource; if (_ctrlBomHead.UltraGridBom.Rows.Count == 0) { _ctrlBom.BomBindingSource.Clear(); _ctrlBomJg.BomBindingSource.Clear(); _ctrlBomBl.BomBindingSource.Clear(); _ctrlBomI.BomIBindingSource.Clear(); _ctrlBomJgBl.BomBindingSource.Clear(); } } /// /// 查询Bom /// private void GetBom(SlmOrdDesignBomEntity bom) { List listSource = new List(); listSource.Add(EntityHelper.CopyEntity(bom)); _ctrlBom.BomBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBom.UltraGridBom); if (_ctrlBom.UltraGridBom.Rows.Count == 0) { _ctrlBomI.BomIBindingSource.Clear(); } } /// /// 查询BomJg /// private void GetBomJg(string bom) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomJgLst", new object[] { bom }, ob); _ctrlBomJg.BomBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBomJg.UltraGridBom); } /// /// 查询BomBl /// private void GetBomBl(string bom) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomBlLst", new object[] { bom }, ob); _ctrlBomBl.BomBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBomBl.UltraGridBom); } private void GetBomJgBlByBom(string bom, string bomJg) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomLstByBomJg", new object[] { bom, bomJg }, ob); _ctrlBomJgBl.BomBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBomJgBl.UltraGridBom); } private void GetBomIByBom(string bom) { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomILst", new object[] { bom }, ob); _ctrlBomI.BomIBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(_ctrlBomI.UltraGridBomI); } /// /// 交货行数据绑定。 /// /// private void GetMscPlPc(string ordLnPk) { DataTable mscPlPcDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftMscPlPc", new Object[] { ordLnPk, "" }, this.ob); if (mscPlPcDt.Rows.Count > 0) { GridHelper.CopyDataToDatatable(ref mscPlPcDt, ref this.slm_ord_design_msc_pl_pc, true); foreach (UltraGridRow row in ultraGridMscPlPc.Rows) { row.SetValue("BTN", "维护"); } } else { this.slm_ord_design_msc_pl_pc.Rows.Clear(); this.slm_ord_design_msc_pl_pc_lst.Rows.Clear(); } for (int i = 0; i < ultraGridMscPlPc.Rows.Count; i++) { //除最后一项,选择项外,其他项不可编辑。 for (int j = 0; j < ultraGridMscPlPc.Rows[i].Cells.Count - 1; j++) { ultraGridMscPlPc.Rows[i].Cells[j].Activation = Activation.ActivateOnly; } //生产周期截取4为小数。Convert.ToDouble(strValue).ToString("0.00");//95.12 string prdCyc = Math.Round(Convert.ToDouble(ultraGridMscPlPc.Rows[i].Cells["PRD_CYC"].Value), 4).ToString(); ultraGridMscPlPc.Rows[i].Cells["PRD_CYC"].Value = prdCyc; ultraGridMscPlPc.Rows[i].Cells["CHK"].Value = false; } ultraGridMscPlPc.UpdateData(); } /// /// 接箍数据绑定 /// /// private void GetComMscJg(string designKey) { DataTable comMscJgDt = ServerHelper.GetData( "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftComMscJg", new Object[] { designKey }, this.ob); if (comMscJgDt.Rows.Count > 0) { GridHelper.CopyDataToDatatable(ref comMscJgDt, ref this.com_msc_jg, true); } else { this.com_msc_jg.Rows.Clear(); this.com_msc_bl.Rows.Clear(); } //列自适应 GridHelper.RefreshAndAutoSizeExceptColumns(ultraGridJg, "FILE_NAME", "MEMO", "JG_MEMO"); } /// /// 生产制程,全程途径数据绑定。 /// /// private void GetDesignMscPl(string designKey) { DataTable designMscPlDt = ServerHelper.GetData( "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignMscPl", new Object[] { designKey }, this.ob); if (designMscPlDt.Rows.Count > 0) { GridHelper.CopyDataToDatatable(ref designMscPlDt, ref this.slm_ord_design_msc_pl, true); } else { this.slm_ord_design_msc_pl.Rows.Clear(); this.slm_ord_design_msc_pl_gz.Rows.Clear(); this.slm_ord_design_msc_pl_In.Rows.Clear(); this.slm_ord_design_msc_pl_gx_prl.Rows.Clear(); } ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridDesignMscPl, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } /// /// 产品交付要求数据绑定 /// /// private void GetDesignStd(string designKey) { DataTable designDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignStd", new Object[] { designKey }, this.ob); GridHelper.CopyDataToDatatable(ref designDt, ref this.slm_ord_design_std, true); } /// /// 用于判断,质量设计是否通过。 /// private string orderDesignSts = ""; /// /// 获取质量设计失败项目。 /// /// /// private void GetOrdDesignNPass(string ordLnPk) { //质量设计状态DESIGN_STS='F'的项目。 DataTable designDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignNPass", new Object[] { ordLnPk }, this.ob); if (designDt.Rows.Count <= 0) { if (ctrlOrderLineDesign1.DesignDtNPass != null) { ctrlOrderLineDesign1.DesignDtNPass.Rows.Clear(); } return; } DataTable orderLineDesign = new DataTable(); //设计状态主信息展示列。 orderLineDesign.Columns.Add("columns"); //*2是因为,每一行取2列,项目名称和管理科室。假设有12行记录,则该表有24列。 //项目名称,失败原因。项目名称,失败原因。项目名称,失败原因。项目名称,失败原因。 for (int i = 0; i < designDt.Rows.Count; i++) { orderLineDesign.Columns.Add("columns" + i); } //项目名称 DataRow designRowItem = orderLineDesign.NewRow(); //管理科室 DataRow designRowUnitDesc = orderLineDesign.NewRow(); //所有相关参数 DataRow designRowKey = orderLineDesign.NewRow(); //整体设计状态展示。 //string designSts = designDt.Rows[0]["DESIGN_STS_MAIN"].ToString(); //if ("W".Equals(designSts)) //{ // designSts = "等待"; //} //else if ("S".Equals(designSts)) //{ // designSts = "通过"; //} //else if ("F".Equals(designSts)) //{ // designSts = "失败"; //} designRowItem["columns"] = "待维护项目"; designRowUnitDesc["columns"] = "管理科室"; //为新创建的表赋值。 //int j = 0; for (int i = 0; i < designDt.Rows.Count; i++) { //项目名称 designRowItem["columns" + i] = designDt.Rows[i]["LST_ITEM"].ToString(); //管理科室 designRowUnitDesc["columns" + i] = designDt.Rows[i]["UNIT_DESC"].ToString(); //设计状态结果描述,产品规范码,冶金规范码,用途码,最终用户(来源客户表),钢种,设计对象Key值 //DESIGN_STS_DESC,PSC,MSC,USE_CODE,FINAL_USER,GRADECODE,DESIGN_OBJ_KEY designRowKey["columns" + i] = designDt.Rows[i]["DESIGN_STS_DESC"].ToString() + "|" + designDt.Rows[i]["PSC"].ToString() + "|" + designDt.Rows[i]["MSC"].ToString() + "|" + designDt.Rows[i]["USE_CODE"].ToString() + "|" + designDt.Rows[i]["FINAL_USER"].ToString() + "|" + designDt.Rows[i]["GRADECODE"].ToString() + "|" + designDt.Rows[i]["UNIT_CODE"].ToString() + "|" + designDt.Rows[i]["DESIGN_OBJ_KEY"].ToString(); } //第一行存储了项目名称和失败原因参数。 orderLineDesign.Rows.Add(designRowItem); orderLineDesign.Rows.Add(designRowUnitDesc); orderLineDesign.Rows.Add(designRowKey); ctrlOrderLineDesign1.DesignDtNPass = orderLineDesign; ctrlOrderLineDesign1.binUltraGridNPass(); } /// /// 获取设计状态和设计状态明细。 /// /// /// private void GetOrdDesign(string ordLnPk) { DataTable designDt = ServerHelper.GetData( "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesign", new Object[] { ordLnPk }, this.ob); if (designDt.Rows.Count <= 0) { orderDesignSts = ""; if (ctrlOrderLineDesign1.DesignDt != null) { ctrlOrderLineDesign1.DesignDt.Rows.Clear(); } return; } orderDesignSts = designDt.Rows[0]["DESIGN_STS_MAIN"].ToString(); DataTable orderLineDesign = new DataTable(); //总设计状态 orderLineDesign.Columns.Add("columns"); for (int i = 0; i < designDt.Rows.Count * 2; i++) { //有多少行,就有多少列,*2是因为每1行,取2列。设计状态和设计状态明细。 orderLineDesign.Columns.Add("columns" + i); } //项目名称行 DataRow designRowItem = orderLineDesign.NewRow(); //项目设计状态行。 DataRow designRowStsRs = orderLineDesign.NewRow(); //整体设计状态展示。 string designSts = designDt.Rows[0]["DESIGN_STS_MAIN"].ToString(); if ("W".Equals(designSts)) { designSts = "等待"; } else if ("S".Equals(designSts)) { designSts = "通过"; } else if ("F".Equals(designSts)) { designSts = "失败"; } designRowItem["columns"] = "工艺制定状态"; designRowStsRs["columns"] = designSts; int j = 0; //遍历所有行,获取相应数据。 for (int i = 0; i < designDt.Rows.Count; i++) { //构建第1行记录,第1列记录。 designRowItem["columns" + j] = designDt.Rows[i]["LST_ITEM"].ToString(); //构建第2行记录,第1列记录。 designRowStsRs["columns" + j] = designDt.Rows[i]["DESIGN_STS_RS"].ToString(); j++; //构建第1行记录,第2列记录。 designRowItem["columns" + j] = ""; //构建第2行记录,第2列记录。 designRowStsRs["columns" + j] = designDt.Rows[i]["DESIGN_STS_DESC"].ToString(); j++; } orderLineDesign.Rows.Add(designRowItem); orderLineDesign.Rows.Add(designRowStsRs); //将Table,Set传递给自定义控件。 ctrlOrderLineDesign1.DesignDt = orderLineDesign; //调用自定义控件方法绑定数据源。 ctrlOrderLineDesign1.binUltraGrid(); if(ctrlOrderLineDesign1.UltraGirdDelivery.Rows.Count >= 2) { foreach (var cell in ctrlOrderLineDesign1.UltraGirdDelivery.Rows[0].Cells) { if (cell.Value.ToString() == "内控标准" || cell.Value.ToString() == "试样码") { if (ctrlOrderLineDesign1.UltraGirdDelivery.Rows[1].Cells[cell.Column.Key].Value.ToString() == "缺项") { ctrlOrderLineDesign1.UltraGirdDelivery.Rows[1].Cells[cell.Column.Key].Appearance.BackColor = Color.FromArgb(255, 99, 71); } } } } } /// /// 全程途径选中行触发事件 /// /// /// private void ultraGridDesignMscPl_AfterRowActivate(object sender, EventArgs e) { string desginKey = ultraGridDesignMscPl.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); string mscPline = ultraGridDesignMscPl.ActiveRow.Cells["MSC_PLINE"].Value.ToString(); GetDesignMscPlGz(desginKey, mscPline); GetDesignMscPlIn(desginKey, mscPline); } /// /// 依据全程途径获取对应钢种 /// /// private void GetDesignMscPlGz(string desginKey, string mscPline) { DataTable desginMscPlGzDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignMscPlGz", new Object[] { desginKey, mscPline }, this.ob); GridHelper.CopyDataToDatatable(ref desginMscPlGzDt, ref this.slm_ord_design_msc_pl_gz, true); ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridGz, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } /// /// 依据全程途径获取工序投入产出物料 /// /// private void GetDesignMscPlIn(string desginKey, string mscPline) { DataTable desginMscPlInDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignMscPlIn", new Object[] { desginKey, mscPline }, this.ob); if (desginMscPlInDt.Rows.Count > 0) { GridHelper.CopyDataToDatatable(ref desginMscPlInDt, ref this.slm_ord_design_msc_pl_In, true); } else { this.slm_ord_design_msc_pl_In.Rows.Clear(); this.slm_ord_design_msc_pl_gx_prl.Rows.Clear(); } ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridIn, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } private void ultraGridIn_AfterRowActivate(object sender, EventArgs e) { string desginKey = ultraGridIn.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); string mscPline = ultraGridIn.ActiveRow.Cells["MSC_PLINE"].Value.ToString(); string backlogSeq = ultraGridIn.ActiveRow.Cells["BACKLOG_SEQ"].Value.ToString(); string processCode = ultraGridIn.ActiveRow.Cells["PROCESS_CODE"].Value.ToString(); GetDesignMscPlGxPrl(desginKey, mscPline, backlogSeq, processCode); } /// /// 依据工序获取适应产线 /// /// /// private void GetDesignMscPlGxPrl(string designKey, string mscPline, string backlogSeq, string processCode) { DataTable desginMscPlGxPrl = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignMscPlGxPrl", new Object[] { designKey, mscPline, backlogSeq, processCode }, this.ob); GridHelper.CopyDataToDatatable(ref desginMscPlGxPrl, ref this.slm_ord_design_msc_pl_gx_prl, true); ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridGxPrl, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } /// /// 接箍行触发事件,获取接箍备料信息。 /// /// /// private void ultraGridJg_AfterRowActivate(object sender, EventArgs e) { string codeJg = ultraGridJg.ActiveRow.Cells["KEY_JG"].Value.ToString(); string desginKey = ultraGridJg.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); GetJgBl(desginKey, codeJg); } /// /// 获取接箍备料信息 /// /// private void GetJgBl(string desginKey, string keyJg) { DataTable jgBlDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftJgBl", new Object[] { desginKey, keyJg }, this.ob); GridHelper.CopyDataToDatatable(ref jgBlDt, ref this.com_msc_bl, true); ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridBl, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } /// /// 交货行带出相应的工序。 /// /// /// private void ultraGridMscPlPc_AfterRowActivate(object sender, EventArgs e) { string designKey = ultraGridMscPlPc.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); string mscPline = ultraGridMscPlPc.ActiveRow.Cells["MSC_PLINE"].Value.ToString(); string ordLnDlyPk = ultraGridMscPlPc.ActiveRow.Cells["ORD_LN_DLY_PK"].Value.ToString(); GetMscPlPcLst(designKey, mscPline, ordLnDlyPk); ultraGridMscPlPcLst.UpdateData(); } /// /// 获取交货行对应的工序。 /// /// private void GetMscPlPcLst(string designKey, string mscPline, string ordLnDlyPk) { DataTable plPcLstDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftMscPlPcLst", new Object[] { designKey, mscPline, ordLnDlyPk }, this.ob); GridHelper.CopyDataToDatatable(ref plPcLstDt, ref this.slm_ord_design_msc_pl_pc_lst, true); for (int i = 0; i < ultraGridMscPlPcLst.Rows.Count; i++) { //生产周期截取4为小数。Convert.ToDouble(strValue).ToString("0.00");//95.12 string prdCyc = Convert.ToDouble(ultraGridMscPlPcLst.Rows[i].Cells["PRD_CYC"].Value).ToString("f4"); ultraGridMscPlPcLst.Rows[i].Cells["PRD_CYC"].Value = prdCyc; } ////列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMscPlPcLst, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); } private void _ctrlBomJg_AfterRowActivate(object sender, EventArgs e) { SlmOrdDesignBomEntity bomHead = (SlmOrdDesignBomEntity)_ctrlBomHead.UltraGridBom.ActiveRow.ListObject; SlmOrdDesignBomEntity bomJg = (SlmOrdDesignBomEntity)_ctrlBomJg.UltraGridBom.ActiveRow.ListObject; GetBomJgBlByBom(bomHead.Bom.ToString(), bomJg.Bom.ToString()); } private void ultraTabControl4_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (e.Tab.Key == "0") { splitContainer2.Panel2Collapsed = false; splitContainer2.SplitterDistance = this.Width - 300 - splitContainer1.Panel1.Width; _ctrlBomI.Visible = true; _ctrlBomJgBl.Visible = false; } else if (e.Tab.Key == "1") { splitContainer2.Panel2Collapsed = false; splitContainer2.SplitterDistance = 400; _ctrlBomI.Visible = false; _ctrlBomJgBl.Visible = true; } else { splitContainer2.Panel2Collapsed = true; } GetBomHeadDown(); } private void _ctrlBomHead_AfterRowActivate(object sender, EventArgs e) { GetBomHeadDown(); } private void GetBomHeadDown() { if (ultraTabControl4.SelectedTab == null) return; if (_ctrlBomHead.UltraGridBom.ActiveRow == null) return; SlmOrdDesignBomEntity bomHead = (SlmOrdDesignBomEntity)_ctrlBomHead.UltraGridBom.ActiveRow.ListObject; if (ultraTabControl4.SelectedTab.Key == "0") { GetBom(bomHead); } else if (ultraTabControl4.SelectedTab.Key == "1") { GetBomJg(bomHead.Bom.ToString()); } else if (ultraTabControl4.SelectedTab.Key == "2") { GetBomBl(bomHead.Bom.ToString()); } } private void _ctrlBom_AfterRowActivate(object sender, EventArgs e) { SlmOrdDesignBomEntity bom = (SlmOrdDesignBomEntity)_ctrlBom.UltraGridBom.ActiveRow.ListObject; GetBomIByBom(bom.Bom.ToString()); } /// /// 质量设计方法 /// private void QualityT(string ordLnPk, string designKey) { DataTable dtOrdLn = GetOrdLnState(ordLnPk); DataTable dtCraftDesign = GetCraftDesignSts(ordLnPk); string craftSeq = dtCraftDesign.Rows.Count > 0 ? dtCraftDesign.Rows[0]["CRAFT_SEQ"].ToString() : ""; //if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1") //{ // MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许工艺制定!"); // return; //} //DataTable dt = QueryPlnSaleorder(ordLnPk); //if (dt.Rows.Count > 0 && dt.Rows[0]["PORDERSTATUS"].ToString() != "0") //{ // MessageUtil.ShowWarning("当前合同行已经排产,不允许工艺制定!"); // return; //} CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); //CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity() //{ // OrdLnPk = ordLnPk, // CraftSeq = decimal.Parse(craftSeq == "" ? "0" : craftSeq) //}); //if (craftOrdDesign != null) //{ // if (craftOrdDesign.Validflag == "4") // { // MessageUtil.ShowWarning("当前合同行有工艺文件正在审核中,不能进行工艺制定!"); // Relocate(ordLnPk); // return; // } //} if (CheckQuality(ordLnPk, false, ob)) { Quality(ordLnPk, false, ob); } //string mpsFlg = ultraGridOrderLine.GetActiveRowValue("MPS_FL"); //CraftOrdDesignEntity craftDesign = craftOrdDesignBLL.QueryCraftByOrLnPk( // new CraftOrdDesignEntity() { OrdLnPk = ordLnPk }); //if (mpsFlg == "True" && craftDesign.QualityFlag == "1") //{ // CopyOrdToCraft(ordLnPk, craftDesign.QualityFlag, UserInfo.GetUserName(), false); //} //else //{ // CraftDesign(craftOrdDesignBLL, ordLnPk, craftSeq, false); //} Relocate(ordLnPk); } private bool AskRollBack() { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.qualityDesign.QualityDesignFallback.checkFallBack", new object[] { pOrdLnPk }, ob); if (dt.Rows.Count > 0) { if (_errItem != "" && _errItem != dt.Rows[0]["FALLBACK_ITEM"].ToString()) { string str = dt.Rows[0]["FALLBACK_DEPT_DESC"].ToString() + dt.Rows[0]["FALLBACK_MAN"].ToString() + "将此合同号回退至" + dt.Rows[0]["FALLBACK_ITEM"].ToString() + " 回退原因:" + dt.Rows[0]["FALLBACK_REASON"].ToString(); if (MessageUtil.ShowYesNoAndQuestion(str + " \r\n是否继续质量设计?") == DialogResult.No) { return false; } } } ServerHelper.SetData("com.steering.pss.sale.order.qualityDesign.QualityDesignFallback.updateFallBack", new object[] { pOrdLnPk }, ob); return true; } /// /// 选中之后,才允许编辑。 /// /// /// private void ultraGridMscPlPc_CellChange(object sender, CellEventArgs e) { ultraGridMscPlPc.UpdateData(); if (e.Cell.Column.Key.Equals("CHK")) { if (e.Cell.Value != null && !string.IsNullOrEmpty(e.Cell.Value.ToString())) { if (Convert.ToBoolean(e.Cell.Value)) { e.Cell.Row.Cells["CYC_EDIT"].Activation = Activation.AllowEdit; } else { //没有选中,除第一列外,全部不可编辑。 for (int i = 0; i < e.Cell.Row.Cells.Count - 1; i++) { e.Cell.Row.Cells[i].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } } else { //没有选中,除第一列外,全部不可编辑。 for (int i = 0; i < e.Cell.Row.Cells.Count - 1; i++) { e.Cell.Row.Cells[i].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } } } private void ultraGridMscPlPc_ClickCellButton(object sender, CellEventArgs e) { string ordLnPk = ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK"); string mscPline = ultraGridMscPlPc.GetActiveRowValue("MSC_PLINE"); string craftSeq = ultraGridOrderLine.GetActiveRowValue("CRAFT_SEQ"); PopupMscPlPc popup = new PopupMscPlPc(ordLnPk, mscPline, craftSeq, true, ob); popup.ShowDialog(); GetMscPlPc(ordLnPk); } /// /// 单项维护质量设计。 /// /// /// private void ctrlOrderLineDesign1_DesignCellText(string lstItem, string designObj) { try { this.Cursor = Cursors.WaitCursor; if (ultraGridOrderLine.ActiveRow == null) { MessageBox.Show("请先选中合同行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } ckbAutoRefresh.Checked = false; string desginKey = ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); string custAlphaNo = ""; string specialDesc = ""; if (!ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK").StartsWith("BL")) { DataTable dt = GetOrdLnState(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK")); custAlphaNo = dt.Rows[0]["CUST_ALPHA_NO"].ToString() == "" ? dt.Rows[0]["CUST_ALPHA_NO2"].ToString() : dt.Rows[0]["CUST_ALPHA_NO"].ToString(); specialDesc = dt.Rows[0]["ORDER_SPECIAL_DESC"].ToString(); } //外径、壁厚参数,DIMATER,HEIGHT string dimater = ultraGridOrderLine.ActiveRow.Cells["DIMATER"].Value.ToString(); string height = ultraGridOrderLine.ActiveRow.Cells["HEIGHT"].Value.ToString(); string specCode = ultraGridOrderLine.ActiveRow.Cells["SPEC_CODE"].Value.ToString(); string specName = ultraGridOrderLine.ActiveRow.Cells["SPEC_NAME"].Value.ToString(); //扣型 string modelCode = ultraGridOrderLine.ActiveRow.Cells["MODEL_CODE"].Value.ToString(); //评审单号,合同头表REVW_RPT_NO string revwRptNo = ultraGridOrderLine.ActiveRow.Cells["REVW_RPT_NO"].Value.ToString(); //钢种,钢级牌号 //string steelCode=ultraGridOrderLine.ActiveRow.Cells["STEELCODE"].Value.ToString(); //ADD_ASK_NO附加要求编号。 string addAskNo = ultraGridOrderLine.ActiveRow.Cells["ADD_ASK_NO"].Value.ToString(); //订货单位 //CUSTOMER_NM、CUSTOMER_NO string customerNo = ultraGridOrderLine.ActiveRow.Cells["CUSTOMER_NO"].Value.ToString(); string ordPk = ultraGridOrderLine.ActiveRow.Cells["ORD_PK"].Value.ToString(); string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); string designStsDesc = ""; string psc = ""; string msc = ""; string useCode = ""; string finalUser = ""; string gradeCode = ""; string unitCode = ""; string designObjKey = ""; if (designObj != "") { string[] designKeyObj = designObj.Split('|'); //设计状态结果描述,产品规范码,冶金规范码,用途码,最终用户(来源客户表),钢种,设计对象Key值 //DESIGN_STS_DESC,PSC,MSC,USE_CODE,FINAL_USER,GRADECODE,DESIGN_OBJ_KEY designStsDesc = designKeyObj[0]; psc = designKeyObj[1]; msc = designKeyObj[2]; useCode = designKeyObj[3]; finalUser = designKeyObj[4]; gradeCode = designKeyObj[5]; unitCode = designKeyObj[6]; designObjKey = designKeyObj[7]; } if (lstItem == "试样码") { //DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CraftSplineUnit.queryUnit", // new object[]{ }, ob); //if (dt.Rows.Count > 0) //{ // if (UserInfo.GetDeptid() != dt.Rows[0]["UNIT_CODE"].ToString() && UserInfo.GetUserID() != "admin") // { // MessageUtil.ShowWarning("只有" + dt.Rows[0]["UNIT_DESC"].ToString() + "的人员才能维护试样码!"); // return; // } //} } else { DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK")); if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID() && UserInfo.GetUserID() != "admin") { MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ",不能进行维护!"); return; } } switch (lstItem) { case "MSC(0)": //传入值:产品规范码PSC、最终用户(可能无值)、用途码(产品alpha)、基础MSC(无特殊要求)、失败原因描述 string[] strMsc = { psc, finalUser, useCode, msc, designStsDesc }; getMscFrm(strMsc, custAlphaNo, specialDesc, ordLnPk, designStsDesc); break; case "成分标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述 string[] strComponent = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getComponentFrm(strComponent, designStsDesc); break; case "理化标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述 string[] strMaterial = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getMaterialFrm(strMaterial, designStsDesc); break; case "探伤标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmComMSCStdDetection string[] strDetection = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getDetectionFrm(strDetection, designStsDesc); break; case "公差标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmTolerancesStandard string[] strTolerances = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getTolerancesFrm(strTolerances, designStsDesc); break; case "水压标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmWaterPressureStand string[] strWater = { psc, useCode, msc, dimater, height, modelCode, ordLnPk, designStsDesc }; getWaterFrm(strWater, designStsDesc); break; case "加工标准": //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmComMSCStdProcess string[] strCom = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getComFrm(strCom, designStsDesc); break; case "产品技术要求": //产品规范码PSC、最终用户、评审单号、基础MSC码、外径、壁厚、扣型编码。提供后台方法自动形成用途码与MSC,FrmOrderSpecialInfo string[] strSpecial = { psc, finalUser, revwRptNo, msc, dimater, height, modelCode, custAlphaNo, ordLnPk, specCode, specName, ordPk}; getSpecialFrm(strSpecial, designStsDesc); break; case "MSC(n)": //产品规范码PSC、最终用户、用途码(产品alpha)、使用MSC码、失败原因描述 string[] strMscN = { psc, finalUser, useCode, msc, designStsDesc }; getMscFrmN(strMscN, custAlphaNo, specialDesc, ordLnPk, designStsDesc); break; case "接箍制程": case "制程": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、失败原因描述 string[] strPro = { psc, useCode, msc, dimater, height, modelCode, desginKey, ordLnPk, designObjKey }; getProcess(strPro, custAlphaNo, specialDesc, ordLnPk, designStsDesc); break; case "钢种": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、制程号、失败原因描述 string[] strSteel = { psc, useCode, msc, dimater, height, modelCode, designObjKey, ordLnPk, designObjKey }; getSteel(strSteel, custAlphaNo, specialDesc, ordLnPk, designStsDesc); break; case "内控标准": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、制程号、失败原因描述 string[] strNk = { psc, useCode, msc, dimater, height, modelCode, designObjKey, designStsDesc }; getNk(strNk, custAlphaNo, specialDesc, ordLnPk, designStsDesc); break; case "镦拔扩": //钢种、镦拔扩外径(mm)、镦拔扩壁厚(mm)、失败原因描述; string[] strD = { gradeCode, dimater, height, ordLnPk, desginKey, designObjKey, designStsDesc }; getD(strD, designStsDesc); break; case "接箍": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、失败原因描述。 string[] strJg = { psc, useCode, msc, dimater, height, modelCode, designObjKey, ordLnPk, specCode, designStsDesc}; getMscJg(strJg, custAlphaNo, specialDesc, ordLnPk, designStsDesc); break; case "备料": //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、失败原因描述 string[] strBl = { psc, useCode, msc, dimater, height, modelCode, designStsDesc }; getMscBl(strBl, custAlphaNo, specialDesc, ordLnPk, designStsDesc); break; case "附件图片": string[] strFj = { psc, useCode, msc, designObjKey, designStsDesc }; getMscFj(strFj, custAlphaNo, specialDesc, ordLnPk, designStsDesc); break; case "适用产线": string[] oneKey = designObjKey.Split(','); if (oneKey.Length == 8) { string twoKey = oneKey[7]; if ("1".Equals(twoKey)) { //工序、失败原因描述FrmComMSCPlineRSpec string[] strLine = { designObjKey }; getLine(strLine, designStsDesc); } else { //2 //工序、失败原因描述FrmComMSCPlineRSpec string[] strLine = { designObjKey }; //另一个界面。 getLine2(strLine, designStsDesc); } } else { MessageBox.Show("传参错误,请传8个参数,以,分隔。请与管理员联系。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } break; case "合同附加要求": //产品规范码PSC、附加要求码、最终用户(如果无值则用订货单位替代); //现在改为最终用户允许为空。 //string userStr = finalUser; //if ("".Equals(finalUser)) //{ // userStr = customerNo; //} string[] strAskAdd = { psc, addAskNo, finalUser, ordPk, ordLnPk }; getAskAdd(strAskAdd, designStsDesc); break; case "投入/产出物料": break; case "成分偏差标准": ShowShowChemBias(designStsDesc); break; case "生产周期": //适用MSC码、制程号、失败原因描述;FrmProPSCMSC2 string[] strPDate = { msc, designObjKey, designStsDesc }; getPDate(strPDate, custAlphaNo, specialDesc, ordLnPk, designStsDesc); break; case "MPS": getCraft(desginKey, ordPk, ordLnPk); break; case "长度": getLength(ordLnPk); break; case "MSC(n)管理科室": getDesignDept(ordLnPk); break; case "试样码": ShowSpline(designObjKey, designStsDesc); break; case "首日检": ShowCraftOrdFd(ordLnPk, desginKey, designStsDesc, designObjKey); break; case "质保书": break; } } finally { this.Cursor = Cursors.Default; } } /// /// 调用MSC窗体 /// /// private void getMscFrm(string[] strMsc, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmPsc = new FrmProPSCMSC2Popup(strMsc, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.MSC, designStsDesc, this.ob); frmPsc.StdSucessEvent += new StdSucessHandler(frmPsc_StdSucessEvent); frmPsc.StartPosition = FormStartPosition.CenterScreen; frmPsc.WindowState = FormWindowState.Maximized; frmPsc.WindowState = FormWindowState.Maximized; frmPsc.ShowDialog(); } /// /// 冶金规范维护事件 /// /// /// void frmPsc_StdSucessEvent(object sender, StdEventArgs e) { //传出值:是否成功(0:失败/1:成功)、MSC、用途码,[采用事件触发] string isResult = e.Result; string msc = e.Msc; string useCode = e.UseCode; if ("1".Equals(isResult)) { _errItem = "MSC(0)"; try { QualityT(pOrdLnPk, pOrdLnPk); } catch { }; _errItem = ""; } } /// /// 调用成分窗体 /// /// private void getComponentFrm(string[] strComponent, string designStsDesc) { PopupChemStandard frmChem = new PopupChemStandard(strComponent, designStsDesc, this.ob); frmChem.ChemStdSuccessEvent += new ChemStdSuccessHandler(frmChem_ChemStdSuccessEvent); frmChem.StartPosition = FormStartPosition.CenterScreen; frmChem.WindowState = FormWindowState.Maximized; frmChem.ShowDialog(); } void frmChem_ChemStdSuccessEvent(object sender, ChemStdEventArgs e) { //是否成功(0:失败/1:成功)、CIC [采用事件触发] string isRsult = e.Result; string cic = e.Cic; if ("1".Equals(isRsult)) { _errItem = "成分标准"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 调用理化窗体 /// /// private void getMaterialFrm(string[] strMaterial, string designStsDesc) { PopupMaterialStandard frmMaterial = new PopupMaterialStandard(strMaterial, designStsDesc, this.ob); frmMaterial.MaterialStdSuccessEvent += new MaterialStdSuccessHandler(frmMaterial_MaterialStdSuccessEvent); frmMaterial.StartPosition = FormStartPosition.CenterScreen; frmMaterial.WindowState = FormWindowState.Maximized; frmMaterial.ShowDialog(); } /// /// 理化标准维护事件 /// /// /// void frmMaterial_MaterialStdSuccessEvent(object sender, MaterialStdEventArgs e) { //是否成功(0:失败/1:成功)、PIC,[采用事件触发] string isRsult = e.Result; string pic = e.Pic; if ("1".Equals(isRsult)) { _errItem = "理化标准"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 探伤标准 /// /// private void getDetectionFrm(string[] strDetection, string designStsDesc) { PopupComMSCStdDetection frmDetection = new PopupComMSCStdDetection(strDetection, designStsDesc, this.ob); frmDetection.DetectionStdSuccessEvent += new DetectionStdSuccessHandler(frmDetection_DetectionStdSuccessEvent); frmDetection.StartPosition = FormStartPosition.CenterScreen; frmDetection.WindowState = FormWindowState.Maximized; frmDetection.ShowDialog(); } /// /// 探伤标准维护事件 /// /// /// void frmDetection_DetectionStdSuccessEvent(object sender, DetectionStdEventArgs e) { //是否成功(0:失败/1:成功)、DIC,[采用事件触发] string isRsult = e.Result; string pic = e.Dic; if ("1".Equals(isRsult)) { _errItem = "探伤标准"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 公差标准 /// /// private void getTolerancesFrm(string[] strTolerances, string designStsDesc) { PopupTolerancesStandard frmTolerances = new PopupTolerancesStandard(strTolerances, designStsDesc, this.ob); frmTolerances.TolerancesStdSuccessEvent += new TolerancesStdSuccessHanlder(frmTolerances_TolerancesStdSuccessEvent); frmTolerances.StartPosition = FormStartPosition.CenterScreen; frmTolerances.WindowState = FormWindowState.Maximized; frmTolerances.ShowDialog(); } /// /// 公差标准维护事件 /// /// /// void frmTolerances_TolerancesStdSuccessEvent(object sender, TolerancesStdSuccessEventArgs e) { //是否成功(0:失败/1:成功)、SIC,[采用事件触发] string isRsult = e.Result; string sic = e.Sic; if ("1".Equals(isRsult)) { _errItem = "公差标准"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 水压标准 /// /// private void getWaterFrm(string[] strWater, string designStsDesc) { PopupProductWater frmWater = new PopupProductWater(strWater, designStsDesc, this.ob); frmWater.ProductWaterSuccessEvent += new ProductWaterSuccessHandler(frmWater_ProductWaterSuccessEvent); frmWater.StartPosition = FormStartPosition.CenterScreen; frmWater.WindowState = FormWindowState.Maximized; frmWater.ShowDialog(); } /// /// 水压标准维护事件 /// /// /// void frmWater_ProductWaterSuccessEvent(object sender, ProductWaterEventArgs e) { //是否成功(0:失败/1:成功)、WIC,[采用事件触发] string isRsult = e.Result; string wic = e.Wic; if ("1".Equals(isRsult)) { _errItem = "水压标准"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 加工标准 /// /// private void getComFrm(string[] strCom, string designStsDesc) { PopupComMSCStdProcess frmCom = new PopupComMSCStdProcess(strCom, designStsDesc, this.ob); frmCom.MscStdProcessSuccessEvent += new MscStdProcessSuccessHanlder(frmCom_MscStdProcessSuccessEvent); frmCom.StartPosition = FormStartPosition.CenterScreen; frmCom.WindowState = FormWindowState.Maximized; frmCom.ShowDialog(); } /// /// 加工标准维护事件 /// /// /// void frmCom_MscStdProcessSuccessEvent(object sender, MscStdProcessEventArgs e) { //是否成功(0:失败/1:成功)、GIC,[采用事件触发] string isRsult = e.Result; string gic = e.Gic; if ("1".Equals(isRsult)) { _errItem = "加工标准"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 产品技术特殊要求 /// /// private void getSpecialFrm(string[] strSpecial, string designStsDesc) { PopupOrderSpecialInfo popupOrderSpecialInfo = new PopupOrderSpecialInfo(strSpecial, designStsDesc, ob); popupOrderSpecialInfo.PopupOrderSpecialEvent += new PopupOrderSpecialHandler(popupOrderSpecialInfo_PopupOrderSpecialEvent); popupOrderSpecialInfo.ShowDialog(); } void popupOrderSpecialInfo_PopupOrderSpecialEvent(object sender, OrderSpecialInfoArgs e) { //是否成功(0:失败/1:成功)、MSC、MSC描述、MSC类型、用途码、用途码描述、[采用事件触发] //清空客户Alpha编号 string isRsult = e.Result; if ("1".Equals(isRsult)) { //成功,更新合同行msc相关数据。 string msc = e.Msc; string mscDesc = e.MscDesc; string mscType = e.ProductType; string useCode = e.UseCode; string useDesc = e.UseDesc; string custAlphaNo = e.CustAlphaNo; Object[] mscParams = new Object[] { msc, mscDesc, mscType, useCode, useDesc, custAlphaNo, pOrdLnPk }; if (e.CustAlphaNo != "") { UpdateOrderLineMsc(mscParams); } _errItem = "产品技术要求"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 技术特殊要求维护成功后,更新合同行Msc相关数据。 /// /// private void UpdateOrderLineMsc(Object[] mscParams) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateOrderLineMsc", mscParams, this.ob); } /// /// 调用MSC窗体,特殊技术要求 /// /// private void getMscFrmN(string[] strMscN, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmMscN = new FrmProPSCMSC2Popup(strMscN, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.MSCN, designStsDesc, this.ob); frmMscN.StdSucessEvent += new StdSucessHandler(frmMscN_StdSucessEvent); frmMscN.StartPosition = FormStartPosition.CenterScreen; frmMscN.WindowState = FormWindowState.Maximized; frmMscN.ShowDialog(); } /// /// 冶金规范维护事件 /// /// /// void frmMscN_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功)、MSC、用途码,[采用事件触发] string isRsult = e.Result; string msc = e.Msc; string useCode = e.UseCode; if ("1".Equals(isRsult)) { _errItem = "MSC(n)"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 调用MSC窗体,制程 /// /// private void getProcess(string[] strPro, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmProC = new FrmProPSCMSC2Popup(strPro, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.BackLog, designStsDesc, this.ob); frmProC.IsCraft = true; frmProC.StdSucessEvent += new StdSucessHandler(frmProC_StdSucessEvent); frmProC.StartPosition = FormStartPosition.CenterScreen; frmProC.WindowState = FormWindowState.Maximized; frmProC.ShowDialog(); } /// /// 制程维护事件 /// /// /// void frmProC_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功)、制程号,[采用事件触发] string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "制程"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 钢种 /// /// private void getSteel(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmSteel = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.BackLog, designStsDesc, this.ob); frmSteel.StdSucessEvent += new StdSucessHandler(frmSteel_StdSucessEvent); frmSteel.StartPosition = FormStartPosition.CenterScreen; frmSteel.WindowState = FormWindowState.Maximized; frmSteel.ShowDialog(); } /// /// 钢种 /// /// /// void frmSteel_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "钢种"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 内控标准 /// /// private void getNk(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmNk = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.NkStd, designStsDesc, this.ob); frmNk.StdSucessEvent += new StdSucessHandler(frmNk_StdSucessEvent); frmNk.StartPosition = FormStartPosition.CenterScreen; frmNk.WindowState = FormWindowState.Maximized; frmNk.ShowDialog(); } /// /// 内控标准 /// /// /// void frmNk_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "内控标准"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 镦拔扩 /// /// private void getD(string[] str, string designStsDesc) { PopupUpsettingDialExpansion frmD = new PopupUpsettingDialExpansion(str, designStsDesc, this.ob); frmD.UpsettingDialExpansionEvent += new UpsettingDialExpansionHandler(frmD_UpsettingDialExpansionEvent); frmD.StartPosition = FormStartPosition.CenterScreen; frmD.WindowState = FormWindowState.Maximized; frmD.ShowDialog(); } /// /// 镦拔扩 /// /// /// void frmD_UpsettingDialExpansionEvent(object sender, UpsettionDialExpansionArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "镦拔扩"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 接箍 /// /// private void getMscJg(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmJg = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.Jg, designStsDesc, this.ob); frmJg.IsCraft = true; frmJg.StdSucessEvent += new StdSucessHandler(frmJg_StdSucessEvent); frmJg.StartPosition = FormStartPosition.CenterScreen; frmJg.WindowState = FormWindowState.Maximized; frmJg.ShowDialog(); } /// /// 接箍 /// /// /// void frmJg_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "接箍"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 备料 /// /// private void getMscBl(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmBl = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.Bl, designStsDesc, this.ob); frmBl.StdSucessEvent += new StdSucessHandler(frmBl_StdSucessEvent); frmBl.StartPosition = FormStartPosition.CenterScreen; frmBl.WindowState = FormWindowState.Maximized; frmBl.ShowDialog(); } /// /// 备料 /// /// /// void frmBl_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "备料"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 附件图片 /// /// private void getMscFj(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmFj = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.Fj, designStsDesc, this.ob); frmFj.StdSucessEvent += new StdSucessHandler(frmFj_StdSucessEvent); frmFj.StartPosition = FormStartPosition.CenterScreen; frmFj.WindowState = FormWindowState.Maximized; frmFj.ShowDialog(); } /// /// 备料 /// /// /// void frmFj_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "附件图片"; try { QualityT(pOrdLnPk, pDesignKey); } catch (Exception ex) { string msg = ex.Message; }; _errItem = ""; } } private void ShowShowChemBias(string errMsg) { FrmProductCHEMBIAS productChemBias = new FrmProductCHEMBIAS(errMsg, ob); if (productChemBias.ShowDialog() == System.Windows.Forms.DialogResult.OK) { try { QualityT(pOrdLnPk, pDesignKey); } catch { }; } } /// /// 生产周期 /// /// private void getPDate(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc) { FrmProPSCMSC2Popup frmPDate = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.ProductDate, designStsDesc, this.ob); frmPDate.StdSucessEvent += new StdSucessHandler(frmPDate_StdSucessEvent); frmPDate.StartPosition = FormStartPosition.CenterScreen; frmPDate.WindowState = FormWindowState.Maximized; frmPDate.ShowDialog(); } /// /// 生产周期 /// /// /// void frmPDate_StdSucessEvent(object sender, StdEventArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "生产周期"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 适用产线 /// /// private void getLine(string[] str, string designStsDesc) { PopupComMSCPlineRSpec frmLine = new PopupComMSCPlineRSpec(str, designStsDesc, this.ob); frmLine.PlineRSpecSucessEvent += new PlineRSpecSucessHandler(frmLine_PlineRSpecSucessEvent); frmLine.StartPosition = FormStartPosition.CenterScreen; frmLine.WindowState = FormWindowState.Maximized; frmLine.ShowDialog(); } /// /// 适用产线 /// /// /// void frmLine_PlineRSpecSucessEvent(object sender, PlineRSpecArgs e) { //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm); string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "适用产线"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 适用产线2 /// /// private void getLine2(string[] strLine, string designStsDesc) { PopupMscCastRForg popup = new PopupMscCastRForg(strLine, designStsDesc, this.ob); popup.MscCastRForgSucessEvent += new MscCastRForgSucessHandler(popup_MscCastRForgSucessEvent); popup.ShowDialog(); } void popup_MscCastRForgSucessEvent(object sender, MscCastRForgArgs e) { string isRsult = e.Result; if ("1".Equals(isRsult)) { _errItem = "适用产线"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } /// /// 附加要求 /// /// private void getAskAdd(string[] str, string designStsDesc) { PopupOrderAskAdd popup = new PopupOrderAskAdd(str, designStsDesc, this.ob); popup.PopupOrderAskAddEvent += new PopupOrderAskAddHandler(popup_PopupOrderAskAddEvent); popup.ShowDialog(); } void popup_PopupOrderAskAddEvent(object sender, PopupOrderAskAddArgs e) { //是否成功(0:失败/1:成功)、MSC、用途码,[采用事件触发] string isRsult = e.Result; //string msc = e.Msc; //string useCode = e.UseCode; if ("1".Equals(isRsult)) { _errItem = "合同附加要求"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } private void getCraft(string desginKey, string ordPk, string ordLnPk) { SlmOrdDesignMscPlStiTcEntity mscPlStiTc = new SlmOrdDesignMscPlStiTcEntity(); mscPlStiTc.DesginKey = desginKey; mscPlStiTc.OrdPk = ordPk; mscPlStiTc.OrdLnPk = ordLnPk; PopupOrderCraft popup = new PopupOrderCraft(mscPlStiTc, ob); popup.PopupOrderCraftEvent += new PopupOrderCraftHandler(popup_PopupOrderCraftEvent); popup.ShowDialog(); } void popup_PopupOrderCraftEvent(object sender, PopupOrderCraftArgs e) { ultraGridOrderLine_AfterRowActivate(null, null); if (e.Result == "1") { _errItem = "MPS"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } } private void getLength(string ordLnPk) { frmDesignLength frmDsgLth = new frmDesignLength(ordLnPk, ob); frmDsgLth.ShowDialog(); _errItem = "长度"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } private void getDesignDept(string ordLnPk) { frmDesignDept frm = new frmDesignDept(ob, ordLnPk); frm.ShowDialog(); _errItem = "MSC(n)管理科室"; try { QualityT(pOrdLnPk, pDesignKey); } catch { }; _errItem = ""; } private void ShowSpline(string objKey, string errMsg) { FrmPhySample frmPhySample = new FrmPhySample(ob, objKey, pOrdLnPk, pDesignKey, errMsg); if (frmPhySample.ShowDialog() == System.Windows.Forms.DialogResult.OK) { try { QualityT(pOrdLnPk, pDesignKey); } catch { }; } } private void ShowCraftOrdFd(string ordLnPk, string designKey, string exceptionMsg, string objKey) { if (objKey == "Pic") { CraftOrdFdPicFrm fdPicFrm = new CraftOrdFdPicFrm(ordLnPk, designKey, exceptionMsg, ob); fdPicFrm.ShowDialog(); //QualityT(pOrdLnPk, pDesignKey); } if (objKey == "Wic") { CraftOrdFdWicFrm fdWicFrm = new CraftOrdFdWicFrm(ordLnPk, designKey, exceptionMsg, ob); fdWicFrm.ShowDialog(); //QualityT(pOrdLnPk, pDesignKey); } if (objKey == "Cic") { CraftOrdFdCicFrm fdCicFrm = new CraftOrdFdCicFrm(ordLnPk, designKey, exceptionMsg, ob); fdCicFrm.ShowDialog(); } } private void labelDateTimePicker1_CheckBox_CheckedChanged(object sender, EventArgs e) { labelDateTimePicker2.DateTimePicker.Enabled = labelDateTimePicker1.CheckBox.Checked; } private void utxtOrderNo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) { doQuery(""); } } private void ckbAutoRefresh_CheckedChanged(object sender, EventArgs e) { if (ckbAutoRefresh.Checked) { timer1.Start(); } else { timer1.Stop(); } } private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; if (_isRun == true) return; _isRun = true; DataTable dt = GetParentData(""); try { if (dt != null && dt.Rows.Count > 0) { Beap(); WaitingForm2 wf = new WaitingForm2(); wf.Msg = "正在刷新数据,请稍候......"; wf.Show(); wf.Update(); this.doQuery(""); this.Update(); while (_isBeaping) { } wf.ShowToUser = false; wf.Close(); } else { this.slm_order_line_delivery.Rows.Clear(); this.slm_order_line.Clear(); } } finally { _isRun = false; timer1.Enabled = true; } } private bool _isBeaping; private void Beap() { _isBeaping = true; Thread thread = new Thread(() => { for (int i = 0; i < 5; i++) { BeepHelper.Beep(500, 700); } _isBeaping = false; }); thread.Start(); } private void ultraGridOrderLine_InitializeRow(object sender, InitializeRowEventArgs e) { if (e.Row.GetValue("CHGE_VAL") != "") { e.Row.RowSelectorAppearance.BackColor = Color.FromArgb(255, 99, 71); } } private void ultraGridOrderLine_CellChange(object sender, CellEventArgs e) { ultraGridOrderLine.UpdateData(); string ordLnPk = ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK"); string craftSeq = ultraGridOrderLine.GetActiveRowValue("CRAFT_SEQ"); string picFdCheck = ultraGridOrderLine.GetActiveRowValue("PIC_FD_CHECK"); string wicFdCheck = ultraGridOrderLine.GetActiveRowValue("WIC_FD_CHECK"); string cicFdCheck = ultraGridOrderLine.GetActiveRowValue("CIC_FD_CHECK"); if (e.Cell.Column.Key == "PIC_FD_CHECK") { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.setPicFdCheck", new object[] { ordLnPk, craftSeq, picFdCheck }, ob); } else if (e.Cell.Column.Key == "WIC_FD_CHECK") { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.setWicFdCheck", new object[] { ordLnPk, craftSeq, wicFdCheck }, ob); } else if (e.Cell.Column.Key == "CIC_FD_CHECK") { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.setCicFdCheck", new object[] { ordLnPk, craftSeq, cicFdCheck }, ob); } } PopupTextBox popupTextBox; dlgOrderAskDown askDown; private void craftImg_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { UltraGridRow row = ultraGridOrderLine.ActiveRow; if (e.Button.Key.ToLower().Equals("select")) { if (ultraGridOrderLine.ActiveCell.Column.Key == "CRAFT_NO") { string filePath = row.GetValue("CRAFT_PATH"); askDown = new dlgOrderAskDown(this.ob, filePath); askDown.DeleteButton.Visible = false; askDown.Show(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "MPS_NO") { //string filePath = "Mps/" + row.GetValue("ORD_LN_PK"); //askDown = new dlgOrderAskDown(this.ob, filePath); //askDown.DeleteButton.Visible = false; //askDown.Show(); string filePath = "Mps/" + row.GetValue("ORD_LN_PK"); string dbFilePath = ""; bool isNull = false; DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReviewTechnologyList.selectMpsAddr", new object[] { row.GetValue("ORD_LN_PK") }, this.ob); if (dt != null && dt.Rows.Count > 0) { dbFilePath = dt.Rows[0][0].ToString(); } else { isNull = true; } string fpath = filePath; if (dbFilePath != filePath && isNull == false) fpath = dbFilePath; dlgOrderAskDown down = new dlgOrderAskDown(this.ob, fpath); down.DeleteButton.Visible = false; down.ShowDialog(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "DESCRIPTION_ALL") { popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString()); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.UltraPanel1.Visible = false; popupTextBox.Show(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "DESCRIPTION_DIFF") { popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString()); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.UltraPanel1.Visible = false; popupTextBox.Show(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "ORDER_SPECIAL_DESC") { popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString()); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.UltraPanel1.Visible = false; popupTextBox.Show(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "CHGE_VAL") { popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString()); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.UltraPanel1.Visible = false; popupTextBox.Show(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "MEMO") { popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString()); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.UltraPanel1.Visible = false; popupTextBox.Show(); } } } private void ultraGridOrderLine_MouseUp(object sender, MouseEventArgs e) { foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (row.Selected) { row.Cells["CHK"].Value = true; } } ultraGridOrderLine.UpdateData(); } private void chkUrgent_CheckedChanged(object sender, EventArgs e) { if(chkUrgent.Checked) { uchkSts.Checked = false; uchkDesignSts.Checked = false; lblCmbPlanStatus.Checked = false; } } private void lblCmbPlanStatus_CheckBox_CheckedChanged(object sender, EventArgs e) { if (lblCmbPlanStatus.Checked) { chkUrgent.Checked = false; } } private DataRow getPlnSaleOrdByPk(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getPlnSaleOrdByPk", new object[] { ordLnPk }, ob); if (dt.Rows.Count > 0) { return dt.Rows[0]; } else { return null; } } private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { string filePath = ultraGrid2.ActiveRow.GetValue("CRAFT_PATH"); askDown = new dlgOrderAskDown(this.ob, filePath); askDown.DeleteButton.Visible = false; askDown.Show(); } private void ultraTextEditor2_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { CraftOrdDesignEntity craftOrdDesign = _craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity() { OrdLnPk = ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"), CraftSeq = decimal.Parse(ultraGridOrderLine.ActiveRow.GetValue("CRAFT_SEQ")) }); string msc = ultraGridOrderLine.ActiveRow.GetValue("MSC"); string craftFileLv2Pks = ultraGrid2.GetActiveRowValue("CRAFT_FILE_LV2"); switch (ultraGrid2.ActiveRow.GetValue("PROCESS_DESC")) { case "轧制": ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "D", "轧制", craftOrdDesign.CraftNo, msc, craftFileLv2Pks); break; case "镦拔扩": ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "E", "镦拔扩", craftOrdDesign.CraftNo, msc, craftFileLv2Pks); break; case "热处理": ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "F", "热处理", craftOrdDesign.CraftNo, msc, craftFileLv2Pks); break; case "加工": ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "G", "加工", craftOrdDesign.CraftNo, msc, craftFileLv2Pks); break; } } private void ChoiceCraftFileLv2(string designKey, string processCode, string processDesc, string craftNo, string msc, string craftFileLv2Pks) { int cnt = _craftOrdDesignBLL.GetCntByDesignKeyProcess(designKey, processCode); if (cnt == 0) { MessageUtil.ShowWarning("一级工艺文件不包含" + processDesc + "工序!"); return; } FrmCraftFileLv2 frmCraftFileLv2 = new FrmCraftFileLv2(designKey, processCode, craftFileLv2Pks, craftNo, "1", ob, msc, false, "", "", "", ""); if (frmCraftFileLv2.ShowDialog() == DialogResult.OK) { ultraGrid2.ActiveRow.SetValue("CRAFT_FILE_LV2", frmCraftFileLv2.CraftFileLv2Nos); ultraGrid2.ActiveRow.SetValue("CRAFT_FILE_LV2_DESC", frmCraftFileLv2.CraftFileLv2Nos); } } private void ultraTextEditor3_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { Core.StlMes.Client.Qcm.PopupTextBox popupText = new Core.StlMes.Client.Qcm.PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 2000); if (popupText.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ultraGridOrderLine.ActiveCell.Value = popupText.TextInfo.Trim(); ultraGridOrderLine.ActiveRow.Update(); SaveCraftChangeMemo(); } } private void ultraTextEditor4_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { var row = ultraGridBl.ActiveRow; if (ultraGridBl.ActiveCell.Column.Key == "CRAFT_NO") { string filePath = row.GetValue("CRAFT_PATH"); askDown = new dlgOrderAskDown(this.ob, filePath); askDown.DeleteButton.Visible = false; askDown.Show(); } } private void ultraGridMscBl_InitializeLayout(object sender, InitializeLayoutEventArgs e) { } private void ultraTextEditor5_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { var row = ultraGridMscBl.ActiveRow; if (ultraGridMscBl.ActiveCell.Column.Key == "CRAFT_NO") { string filePath = row.GetValue("CRAFT_PATH"); askDown = new dlgOrderAskDown(this.ob, filePath); askDown.DeleteButton.Visible = false; askDown.Show(); } } private void ultraTextEditor6_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { var row = ultraGridJg.ActiveRow; if (ultraGridJg.ActiveCell.Column.Key == "FILE_NAME") { string designKey = row.GetValue("DESGIN_KEY"); string path = "Qcm/Jg/" + designKey + "/"; askDown = new dlgOrderAskDown(this.ob, path); askDown.DeleteButton.Visible = false; askDown.Show(); } else if (ultraGridJg.ActiveCell.Column.Key == "MEMO" || ultraGridJg.ActiveCell.Column.Key == "JG_MEMO") { PopupTextBox p = new PopupTextBox(ultraGridJg.ActiveCell.Value.ToString()); p.UltraPanel1.Visible = false; p.TxtInfo.ReadOnly = true; p.Show(); } } private void ultraGridOrderLine_DoubleClickRow(object sender, DoubleClickRowEventArgs e) { //CraftOrdFdPicFrm fdPicFrm = new CraftOrdFdPicFrm(e.Row.GetValue("ORD_LN_PK"), e.Row.GetValue("DESGIN_KEY"), ob); //fdPicFrm.ShowDialog(); //CraftOrdFdWicFrm fdWicFrm = new CraftOrdFdWicFrm(e.Row.GetValue("ORD_LN_PK"), e.Row.GetValue("DESGIN_KEY"), "111", ob); //fdWicFrm.ShowDialog(); } private void ultraGridOrderLine_ClickCellButton(object sender, CellEventArgs e) { UltraGridRow ugr = ultraGridOrderLine.ActiveRow; if (ugr == null || ugr.HasParent()) return; if (e.Cell.Column.Key.Equals("PLINE_SELECT")) { string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString().Trim(); frmPlineSelected fps = new frmPlineSelected(ordLnPk, this.ob); fps.ShowDialog(); } } private void ultraTextEditor7_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { var row = ultraGridOrderLine.ActiveRow; ComBaseWbsFrm frm = new ComBaseWbsFrm(this.ob); if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ultraGridOrderLine.ActiveCell.Value = frm.WbsEntity.WbsCode; Object[] param = new Object[] { frm.WbsEntity.WbsCode, pOrdLnPk }; ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.UpdateOrderLineWbs", param, this.ob); } } } }