using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using CoreFS.SA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Data; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { class DtMscJg : DtBaseQcm { private CtrlMscJg _ctrlMscJg; public string relocatKey = ""; private string _flag = ""; public string Flag { get { return _flag; } set { _flag = value; } } public DtMscJg(CtrlMscJg ctrlMscJg) { _ctrlMscJg = ctrlMscJg; RegistQuery(QueryBL, "QueryBL"); RegistQuery(Query, "DefaultQuery"); RegistAction(Save, ActionType.Save); } protected void Query() { FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; UltraGrid grid = frm.ControlMsc.GridMsc; CheckBox checkBox = frm.ckbDeleteFilter; if (grid.ActiveRow == null) return; string msc = grid.ActiveRow.Cells["MSC"].Value.ToString(); string steelCode = frm.ultraGrid1.GetActiveRowValue("STEELCODE"); ArrayList list = new ArrayList(); list.Add(msc); list.Add(steelCode); //list.Add(checkBox.Checked ? "0" : ""); _ctrlMscJg.DtTorque.Clear(); if (_flag == "0" || frm.DimaterCp == "") { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.JGCodeManage.QueryWithMsc", new Object[] { list }, frm.ob); GridHelper.CopyDataToDatatable(dt, _ctrlMscJg.DtJG, true); } else { string modelDesc = GetSlmOrderLineByPk(frm.OrdLnPk)["MODEL_DESC"].ToString(); DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.JGCodeManage.QueryJgRMscByDH", new object[] { msc, frm.DimaterCp, frm.HeightCp, frm.SpecCode, modelDesc, steelCode }, frm.ob); GridHelper.CopyDataToDatatable(dt, _ctrlMscJg.DtJG, true); } QueryTorque(); foreach (UltraGridRow row in _ctrlMscJg.UltraGrid1.Rows) { foreach (UltraGridCell cell in row.Cells) { //if (cell.Column.Key != "DEMAND_BONDERIZING" && // cell.Column.Key != "DEMAND_COPPER" && // cell.Column.Key != "DEMAND_BLAST" && // cell.Column.Key != "DEMAND_DETECTION") //{ // cell.Activation = Activation.ActivateOnly; //} } if (row.GetValue("KEY_JG") == relocatKey) { row.Activate(); } } _ctrlMscJg.LoadData(); _ctrlMscJg.UltraGrid1.UpdateData(); GridHelper.RefreshAndAutoSizeExceptColumns(_ctrlMscJg.GridJG, "FILE_NAME", "MEMO", "JG_MEMO", "M_STD_NO", "W_STD_NO", "M_PRINT_NO", "W_PRINT_NO"); } private void QueryTorque() { FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; UltraGrid grid = frm.ControlMsc.GridMsc; if (grid.ActiveRow == null) return; string msc = grid.ActiveRow.Cells["MSC"].Value.ToString(); string steelCode = frm.ultraGrid1.GetActiveRowValue("STEELCODE"); ArrayList list = new ArrayList(); list.Add(msc); list.Add(steelCode); if (_flag == "0" || frm.DimaterCp == "") { DataTable dtTorque = ServerHelper.GetData("com.steering.pss.qcm.JGCodeManage.QueryTorqueWithMsc", new Object[] { list }, frm.ob); GridHelper.CopyDataToDatatable(dtTorque, _ctrlMscJg.DtTorque, true); } else { _ctrlMscJg.DtTorque.Clear(); string modelDesc = GetSlmOrderLineByPk(frm.OrdLnPk)["MODEL_DESC"].ToString(); DataTable dtTorque = ServerHelper.GetData("com.steering.pss.qcm.JGCodeManage.QueryTorqueByDH", new object[] { msc, frm.DimaterCp, frm.HeightCp, frm.SpecCode, modelDesc, steelCode }, frm.ob); GridHelper.CopyDataToDatatable(dtTorque, _ctrlMscJg.DtTorque, true); } } private DataRow GetSlmOrderLineByPk(string orderLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getSlmOrderLineByPk", new object[] { orderLnPk }, _ctrlMscJg.FrmProPscMsc2.ob); return dt.Rows[0]; } private void QueryBL() { FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; UltraGridRow ugr1 = _ctrlMscJg.GridJG.ActiveRow.HasParent() ? _ctrlMscJg.GridJG.ActiveRow.ParentRow : _ctrlMscJg.GridJG.ActiveRow; string codeJg = ugr1.Cells["CODE_JG"].Value.ToString(); string custAlphaNo = ugr1.Cells["CUST_ALPHA_NO"].Value.ToString(); string alphaCode = ugr1.Cells["ALPHA_CODE"].Value.ToString(); DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.JGRBLCode.doQuery2", new Object[] { codeJg, custAlphaNo, alphaCode }, frm.ob); GridHelper.CopyDataToDatatable(dt, _ctrlMscJg.DtBL, true); GridHelper.RefreshAndAutoSize(_ctrlMscJg.GridBL); } protected override bool CheckData(ActionType actionType, out ArrayList parm, out string msg) { parm = new ArrayList(); msg = ""; UltraGrid gridMsc = _ctrlMscJg.FrmProPscMsc2.ControlMsc.GridMsc; if (gridMsc.ActiveRow == null) { msg = "请先维护冶金规范,然后再进行操作!"; return false; } var jgRow = _ctrlMscJg.UltraGrid1.ActiveRow.HasParent() ? _ctrlMscJg.UltraGrid1.ActiveRow.ParentRow : _ctrlMscJg.UltraGrid1.ActiveRow; DataTable dtComMscRjgCnt = GetComMscRJgCnt(jgRow); if (dtComMscRjgCnt.Rows[0][0].ToString() != "0") { msg = gridMsc.ActiveRow.GetValue("MSC") + "下已经存在相同的接箍数据!"; return false; } if (jgRow == null) { msg = "请先关联接箍码!"; return false; } parm.AddRange(jgRow.GetValue("DEMAND_DETECTION"), jgRow.GetValue("DEMAND_BONDERIZING"), jgRow.GetValue("DEMAND_COPPER"), jgRow.GetValue("DEMAND_BLAST"), CoreUserInfo.UserInfo.GetUserName(), jgRow.GetValue("MEMO"), jgRow.GetValue("TORQUE_UNIT"), jgRow.GetValue("TORQUE_MAX"), jgRow.GetValue("TORQUE_MIN"), jgRow.GetValue("TORQUE_BEST"), jgRow.GetValue("POINT_MAX"), jgRow.GetValue("POINT_MIN"), jgRow.GetValue("M_STD_NO"), jgRow.GetValue("W_STD_NO"), jgRow.GetValue("M_PRINT_NO"), jgRow.GetValue("W_PRINT_NO"), jgRow.GetValue("FILE_PATH"), jgRow.GetValue("JG_MEMO"), jgRow.GetValue("MSC"), jgRow.GetValue("KEY_JG")); return true; } private DataTable GetComMscRJgCnt(UltraGridRow row) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getMscRJgCnt", new object[] { row.GetValue("CODE_JG"), row.GetValue("DEMAND_DETECTION"), row.GetValue("DEMAND_BONDERIZING"), row.GetValue("DEMAND_COPPER"), row.GetValue("DEMAND_BLAST"), row.GetValue("ORDER_SPECIAL_DESC"), row.GetValue("ALPHA_CODE"), row.GetValue("KEY_JG"), row.GetValue("MSC")}, _ctrlMscJg.FrmProPscMsc2.ob); return dt; } protected override bool IsSelectData(ActionType actionType, out string msg) { _ctrlMscJg.UltraGrid1.UpdateData(); msg = "请选择一条接箍,再进行操作!"; if (_ctrlMscJg.UltraGrid1.ActiveRow == null) { return false; } else { return true; } } public bool Save() { FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.saveMscRJg", new object[] { Parm }, frm.ob); relocatKey = Parm[7].ToString(); return true; } //private bool JgIsRepeat() //{ // FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; // DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.JGAndMSC.jgIsRepeat", // new object[] { Parm }, frm.ob); // if (dt.Rows.Count > 0) // { // return true; // } // else // { // return false; // } //} private DataTable GetMscTabByMsc(string msc, OpeBase ob) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getComMscByMsc", new object[] { msc }, ob); return dt; } public bool Delete() { if (MessageUtil.ShowYesNoAndQuestion("是否确认删除该记录?") == DialogResult.No) { return false; } FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; var jgRow = _ctrlMscJg.UltraGrid1.ActiveRow; string keyJg = jgRow.GetValue("KEY_JG"); string path = "Qcm/Jg/" + keyJg + "/"; if (jgRow.GetValue("FILE_PATH").Contains(jgRow.GetValue("KEY_JG"))) { bool delete = FileHelper.Delete(path); if (!delete) { MessageUtil.ShowWarning("删除接箍失败!"); return false; } } ServerHelper.SetData("com.steering.pss.qcm.JGAndMSC.doDelete", new object[] { _ctrlMscJg.UltraGrid1.ActiveRow.GetValue("KEY_JG") }, frm.ob); MessageUtil.ShowTips("删除成功!"); Query(); return true; } public void DeleteJgRBl() { if (MessageUtil.ShowYesNoAndQuestion("是否确认删除该记录?") == DialogResult.No) { return; } string codeJg = _ctrlMscJg.UltraGrid2.ActiveRow.GetValue("CODE_JG"); string pscBl = _ctrlMscJg.UltraGrid2.ActiveRow.GetValue("PSC_BL"); string custAlphaNo = _ctrlMscJg.UltraGrid2.ActiveRow.GetValue("CUST_ALPHA_NO"); string alphaCode = _ctrlMscJg.UltraGrid2.ActiveRow.GetValue("ALPHA_CODE"); FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; ServerHelper.SetData("com.steering.pss.qcm.JGRBLCode.delete", new object[] { codeJg, pscBl, custAlphaNo, alphaCode }, frm.ob); MessageUtil.ShowTips("删除成功!"); QueryBL(); } public void UpdateJgPath() { var jgRow = _ctrlMscJg.UltraGrid1.ActiveRow.HasParent() ? _ctrlMscJg.UltraGrid1.ActiveRow.ParentRow : _ctrlMscJg.UltraGrid1.ActiveRow; FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; ArrayList list = new ArrayList(); list.AddRange( jgRow.GetValue("FILE_PATH"), CoreUserInfo.UserInfo.GetUserName(), jgRow.GetValue("MSC"), jgRow.GetValue("KEY_JG")); ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.updateJgPath", new object[] { list }, frm.ob); } public void SaveTorque() { FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; if (_ctrlMscJg.UltraGrid1.ActiveRow == null) { MessageUtil.ShowWarning("请选择一行记录!"); return; } if (!_ctrlMscJg.UltraGrid1.ActiveRow.HasParent()) { MessageUtil.ShowWarning("请选择一行拧接记录!"); return; } var torqueRow = _ctrlMscJg.UltraGrid1.ActiveRow; if (MessageUtil.ShowYesNoAndQuestion("是否确认保存?") == DialogResult.No) { return; } ServerHelper.SetData("com.steering.pss.qcm.JGCodeManage.SaveTorque", new object[] { torqueRow.GetValue("ID"), torqueRow.GetValue("KEY_JG"), torqueRow.GetValue("TORQUE_UNIT"), torqueRow.GetValue("TORQUE_MAX"), torqueRow.GetValue("TORQUE_MIN"), torqueRow.GetValue("TORQUE_BEST"), torqueRow.GetValue("POINT_MAX"), torqueRow.GetValue("POINT_MIN"), torqueRow.GetValue("MIN_D"), torqueRow.GetValue("MAX_D"), torqueRow.GetValue("MIN_H"), torqueRow.GetValue("MAX_H") }, frm.ob); MessageUtil.ShowTips("保存成功!"); QueryTorque(); } public void DeleteTorque() { FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; if (_ctrlMscJg.UltraGrid1.ActiveRow == null) { MessageUtil.ShowWarning("请选择一行记录!"); return; } if (!_ctrlMscJg.UltraGrid1.ActiveRow.HasParent()) { MessageUtil.ShowWarning("请选择一行拧接记录!"); return; } var torqueRow = _ctrlMscJg.UltraGrid1.ActiveRow; if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.No) { return; } ServerHelper.SetData("com.steering.pss.qcm.JGCodeManage.deleteTorque", new object[] { torqueRow.GetValue("ID") }, frm.ob); MessageUtil.ShowTips("删除成功!"); QueryTorque(); } public void QueryMscRJgByDH() { FrmProPSCMSC2 frm = _ctrlMscJg.FrmProPscMsc2; DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.JGCodeManage.QueryJgRMscByDH", new object[] { }, frm.ob); GridHelper.CopyDataToDatatable(dt, _ctrlMscJg.DtJG, true); foreach (UltraGridRow row in _ctrlMscJg.UltraGrid1.Rows) { if (row.GetValue("KEY_JG") == relocatKey) { row.Activate(); } } _ctrlMscJg.LoadData(); _ctrlMscJg.UltraGrid1.UpdateData(); GridHelper.RefreshAndAutoSize(_ctrlMscJg.GridJG); } } }