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 System.Threading; using CoreFS.SA06; namespace Core.StlMes.Client.Qcm.ht { public partial class frmCraftReviewTechnologyList : FrmBase { private CtrlBom _ctrlBom; private CtrlBom _ctrlBomHead; private CtrlBom _ctrlBomJg; private CtrlBom _ctrlBomBl; private CtrlBomI _ctrlBomI; private CtrlBom _ctrlBomJgBl; private string _errItem = "";//当前正在执行确认的错误项。 private bool _isRun = false;//是否正在执行后台查询和质量设计 private Dictionary _dicQualityFlag = new Dictionary(); private string _msc = ""; public frmCraftReviewTechnologyList(String msc, OpeBase ob) { _msc = msc; this.ob = ob; 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 frmOrderReviewTechnologyList_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); 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]); InitSche(); doQuery(); } private void InitSche() { } /// /// 重写基类toolBar方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": doQuery(); break; case "Msc": ShowMsc(); break; case "doClose": this.Close(); break; case "Export": GridHelper.ulGridToExcel(ultraGridOrderLine, "工艺评审清单"); break; } } private DataTable GetCraftDesignSts(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.getCraftDesignSts", new object[] { ordLnPk }, ob); return dt; } 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"); FrmProPSCMSC2Popup popup = new FrmProPSCMSC2Popup(new string[] { psc, msc, dimater, height, specCode, ordLnPk}, "", "", "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.AllMsc, "", ob); popup.ShowDialog(); } /// /// 获取当前合同头状态。 /// /// /// private DataTable GetOrderHeadSts(string ordPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetOrderHeadSts", new object[] { ordPk }, this.ob); } /// /// 修改当前合同头状态为技术评审失败 /// /// private void UpdateOrderHeadSts(string ordPk) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.UpdateOrderHeadSts", new object[] { ordPk }, this.ob); } /// /// 合同行均为技术评审通过以上的状态,合同头状态修正为技术评审通过。 /// private void UpdateOrderHead(string ordPk) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.UpdateOrderHead", new Object[] { ordPk }, this.ob); } /// /// 依据当前合同行所属合同头Key,查询该合同头下是否还有技术评审通过以下的合同行。 /// /// /// private DataTable GetLineDtByOrdPk(string ordPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetLineDtByOrdPk", new Object[] { ordPk }, this.ob); } private DataTable GetOrdLnState(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.getOrdLnState", new object[] { ordLnPk }, ob); return dt; } private Dictionary _craftDataSourceDic = new Dictionary(); /// /// 获取制程工艺评审中的工艺文件号。 /// /// /// private DataTable GetDesignPlCraftNo(string desginKey) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.getDesignPlCraftNo", new object[] { desginKey }, ob); return dt; } /// /// 修改工艺文件号并置为生效状态 /// /// private void UpdateCraftNo(string ordLnPk, string craftNo, string craftPath) { ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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 isClickQualityButton) { sum++; object obj = ServerHelper.SetDataReturnObj("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.copyOrdToCraft", new object[] { ordLnPk, craftSrc, userName }, ob); if (isClickQualityButton) { //工艺指定,默认是点击工艺制定的人。 ArrayList list = new ArrayList(); list.Add(ordLnPk); ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.appoint", new object[] { list, UserInfo.GetUserName(), UserInfo.GetUserName(), UserInfo.GetUserID() }, ob); } if (obj.ToString() == "S") { 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.CoreOrderReviewTechnologyList.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) { 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"; ccp.ServerParams = new object[] { ordLnPk, UserInfo.GetUserName(), designKey, flag }; 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++; } 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++; } } } private DataTable GetParentData() { //模糊查询条件,合同号、评审状态W、F、S、设计状态。 string beginTime = ""; string endTime = ""; if (labelDateTimePicker1.Checked) { beginTime = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTime = labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss"); } string ordLnPk = utxtOrderNo.Text.Trim(); string isValid = chkHis.Checked == true ? "0" : "1"; string planStatus = "1"; string userDesc = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : ""; if (labelComboBox1.Checked) { if (labelComboBox1.SelecteValue.ToString2() == "0") { planStatus = "0"; } } string isBl = checkBox1.Checked ? "1" : "0"; ArrayList list = new ArrayList(); list.AddRange(ordLnPk, beginTime, endTime, isValid, planStatus, isBl, userDesc, _msc); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.doQueryCraft1", new Object[] { list }, this.ob); return dt; } /// /// 合同行查询 /// private void doQuery() { try { this.Cursor = Cursors.WaitCursor; string beginTime = ""; string endTime = ""; if (labelDateTimePicker1.Checked) { /*if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) > TimeSpan.FromDays(30)) { MessageUtil.ShowWarning("查询条件:合同行生效时间范围不能超过31天!"); 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 ordLnPk = 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") { unit_code = ""; } //先清除交货信息子表记录,再清除合同行主表记录。 this.slm_order_line_delivery.Rows.Clear(); this.slm_order_line.Clear(); DataTable dt = GetParentData(); //当合同行数据为空时,清空其下设计状态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(); _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); ultraGridOrderLine.UpdateData(); } finally { this.Cursor = Cursors.Default; } } /// /// 获取当前合同行主键下面,设计状态不通过的管理科室。 /// /// /// private DataTable isDesignV(string ordLnPk) { return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.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.ReadOnly = false; } else { cmbSts.ReadOnly = true; cmbSts.SelectedIndex = 0; } } /// /// 查询区设计状态 /// /// /// private void uchkDesignSts_CheckedChanged(object sender, EventArgs e) { if (uchkDesignSts.Checked) { cmbDesignSts.ReadOnly = false; } else { cmbDesignSts.ReadOnly = true; cmbDesignSts.SelectedIndex = 0; } } private string pOrdLnPk = ""; private string pDesignKey = ""; /// /// 选中合同行时 /// /// /// private void ultraGridOrderLine_AfterRowActivate(object sender, EventArgs e) { string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString(); string designKey = ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); GetDesginDownData(ordLnPk, designKey); } 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 "7": GetPlsOrdProc(ordLnPk); break; } } /// /// 获取计划排产队列 /// 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, dataTable14, 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.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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.RefreshAndAutoSize(ultraGridJg); } /// /// 生产制程,全程途径数据绑定。 /// /// private void GetDesignMscPl(string designKey) { DataTable designMscPlDt = ServerHelper.GetData( "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.GetCraftDesignStd", new Object[] { designKey }, this.ob); GridHelper.CopyDataToDatatable(ref designDt, ref this.slm_ord_design_std, true); } /// /// 用于判断,质量设计是否通过。 /// private string orderDesignSts = ""; /// /// 全程途径选中行触发事件 /// /// /// 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.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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 keyJg = ultraGridJg.ActiveRow.Cells["KEY_JG"].Value.ToString(); string desginKey = ultraGridJg.ActiveRow.Cells["DESGIN_KEY"].Value.ToString(); GetJgBl(desginKey, keyJg); } /// /// 获取接箍备料信息 /// /// private void GetJgBl(string desginKey, string keyJg) { DataTable jgBlDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.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.CoreOrderReviewTechnologyList.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 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 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("REVIEW_STATUS") == "评审通过") { e.Row.Appearance.BackColor = Color.FromArgb(121, 205, 205); } else if (e.Row.GetValue("REVIEW_STATUS") == "评审中") { e.Row.Appearance.BackColor = Color.FromArgb(126, 192, 238); } if (e.Row.GetValue("HISTORY") == "1") { e.Row.RowSelectorAppearance.BackColor = Color.Yellow; } } private void ultraGridOrderLine_CellChange(object sender, CellEventArgs e) { ultraGridOrderLine.UpdateData(); } 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"); dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePath); down.DeleteButton.Visible = false; down.ShowDialog(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "MPS_NO") { 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 popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(),10000); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.ShowDialog(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "DESCRIPTION_DIFF") { PopupTextBox popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 10000); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.ShowDialog(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "ORDER_SPECIAL_DESC") { PopupTextBox popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 10000); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.ShowDialog(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "MEMO") { PopupTextBox popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 10000); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.ShowDialog(); } else if (ultraGridOrderLine.ActiveCell.Column.Key == "CRAFT_CHANGE_MEMO") { PopupTextBox popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 10000); popupTextBox.TxtInfo.ReadOnly = true; popupTextBox.ShowDialog(); } } } private void ultraGridOrderLine_MouseUp(object sender, MouseEventArgs e) { foreach (UltraGridRow row in ultraGridOrderLine.Rows) { if (row.Selected) { row.Cells["CHK"].Value = true; } } ultraGridOrderLine.UpdateData(); } //dlgOrderAskDown askDown; 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); //} } } }