| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using CoreFS.CA06;
- using System.Windows.Forms;
- using Core.Mes.Client.Common;
- using System.Collections;
- using System.Data;
- /***文档注释***********************************************
- * 作者 : 刘现
- * 创建日期 : 2011.02.18
- * 描述 : 完成作业管理手动更新功能
- * 注意事项 : 所有作业管理手动更共用
- * 遗留BUG : 无
- * 修改日期 :
- * 修改人员 :
- * 修改内容 :
- ***********************************************************/
- namespace Core.LgMes.Client.LgJobMgt
- {
- public class ClassManualUpdateInfo
- {
- /// <summary>
- /// 跟据岗位获取数据库表名
- /// </summary>
- /// <param name="strPosCode">岗位编号</param>
- /// <param name="strType">表类型(MATERIEL:物料消耗表,JOB:作业表</param>
- /// <returns>表名</returns>
- public static string analysPosTableName(string strPosCode, string strType)
- {
- string strJobTableName = ""; //作业表名
- string strAddTableName = ""; //物料消耗
- string strReturnTable = ""; //返回表名
- switch (strPosCode)
- {
- case "B":
- strJobTableName = "STL_HMP_OPTINFO";
- strAddTableName = "STL_HMP_ADDITIVES";
- break;
- case "C":
- strJobTableName = "STL_BOF_OPTINFO";
- strAddTableName = "STL_BOF_ADDITIVES";
- break;
- case "D":
- strJobTableName = "STL_CAS_OPTINFO";
- strAddTableName = "STL_CAS_ADDITIVES";
- break;
- case "E":
- strJobTableName = "STL_LFS_OPTINFO";
- strAddTableName = "STL_LFS_ADDITIVES";
- break;
- case "F":
- strJobTableName = "STL_RHS_OPTINFO";
- strAddTableName = "STL_RHS_ADDITIVES";
- break;
- case "G":
- strJobTableName = "STL_CCM_OPTINFO";
- strAddTableName = "STL_CCM_ADDITIVES";
- break;
- case "I":
- strJobTableName = "STL_VDS_OPTINFO";
- strAddTableName = "STL_VDS_ADDITIVES";
- break;
- default:
- break;
- }
- //作业表
- if (strType == "JOB")
- strReturnTable = strJobTableName;
- //物料消耗表
- if (strType == "MATERIEL")
- strReturnTable = strAddTableName;
- return strReturnTable;
- }
- /// <summary>
- /// 时间显示框,在需要更改日期的时候弹出日期选择框
- /// </summary>
- /// <param name="cell"></param>
- /// <param name="strTableName"></param>
- /// <param name="strColumnName"></param>
- public static void SetCellDateTime(Infragistics.Win.UltraWinGrid.UltraGridCell cell, string _heatProcessNo, OpeBase ob)
- {
- string strTableName = ""; //表名
- frmSetTime frm = new frmSetTime(cell.Value);
- frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size);
- frm.ShowDialog();
- if (_heatProcessNo.Length >= 11 && frm._returnTime > new DateTime(2000, 1, 1, 0, 0, 0, 0))
- {
- strTableName = analysPosTableName(_heatProcessNo.Substring(0, 1), "JOB");
- DateTime dt = frm._returnTime;
- cell.Value = dt;
- try
- {
- UpdateTableField(_heatProcessNo, strTableName, cell.Column.Key.ToString(), "DATE", dt, ob);
- }
- catch
- {
- MessageBox.Show("日期输入格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- }
- /// <summary>
- /// 更新作业表字段信息
- /// </summary>
- /// <param name="_heatProcessNo">加热处理号</param>
- /// <param name="strTableName">表名</param>
- /// <param name="strColumnName">更新字段</param>
- /// <param name="strDataType">数据类型</param>
- /// <param name="Upt_Value">目标值</param>
- /// <param name="ob">服务端URL</param>
- public static void UpdateTableField(string _heatProcessNo, string strTableName, string strColumnName,
- string strDataType, object Upt_Value, OpeBase ob)
- {
- string strHeatNo = ""; //炉号
- string strStationCode = ""; //岗位
- string strDisposalTime = ""; //处理次理
- string strSqlID = ""; //sqlId
- string strErr = ""; //错误信息
- if (_heatProcessNo.Length == 0) return;
- strHeatNo = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(_heatProcessNo) : "";
- strStationCode = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(1, (int)OBJLEN.nDevCode) : "";
- strDisposalTime = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(3, (int)OBJLEN.nDealTime) : "";
- strSqlID = "UpdateTableField.Update"; //SQLID
- Hashtable ht = new Hashtable();
- ht.Add("I1", strTableName); //表名
- ht.Add("I2", strHeatNo); //炉号
- ht.Add("I3", strStationCode); //岗位
- ht.Add("I4", strDisposalTime); //处理次数
- ht.Add("I5", strColumnName.ToUpper()); //列名
- ht.Add("I6", strDataType); //数据类型
- ht.Add("I7", Upt_Value.ToString()); //更新值
- CommonClientToServer ccTs = new CommonClientToServer();
- ccTs.ob = ob;
- string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
- "UpdateTableField", strSqlID, ht, out strErr);
- if (strErr != "")
- MessageBox.Show("数据更新失败,重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- }
- /// <summary>
- /// 更新脱硫作业表字段信息
- /// </summary>
- /// <param name="_heatProcessNo">加热处理号</param>
- /// <param name="strTableName">表名</param>
- /// <param name="strColumnName">更新字段</param>
- /// <param name="strDataType">数据类型</param>
- /// <param name="Upt_Value">目标值</param>
- /// <param name="ob">服务端URL</param>
- public static void UpdateHmpTableField(string _heatProcessNo, string strTableName, string strColumnName,
- string strDataType, object Upt_Value, OpeBase ob)
- {
- string strSqlID = ""; //sqlId
- string strErr = ""; //错误信息
- if (_heatProcessNo.Length == 0) return;
- strSqlID = "UpdateHMPTableField.Update"; //SQLID
- Hashtable ht = new Hashtable();
- ht.Add("I1", strTableName); //表名
- ht.Add("I2", _heatProcessNo); //加热处理号
- ht.Add("I3", strColumnName.ToUpper()); //列名
- ht.Add("I4", strDataType); //数据类型
- ht.Add("I5", Upt_Value.ToString()); //更新值
- CommonClientToServer ccTs = new CommonClientToServer();
- ccTs.ob = ob;
- string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
- "UpdateTableField", strSqlID, ht, out strErr);
- if (strErr != "")
- MessageBox.Show("数据更新失败,重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- }
- /// <summary>
- /// 添加物料消耗公共方法
- /// </summary>
- /// <param name="_heatProcessNo">加热处理号</param>
- /// <param name="strMaterielCode">物料编码</param>
- /// <param name="strMaterielType">物料类型</param>
- /// <param name="strDataValue">值</param>
- /// <param name="strHoppernumID">料仓编号</param>
- /// <param name="strAddMtrType">投料类型1:料仓投料,2:手投料</param>
- /// <param name="ob">服务端URL</param>
- public static void AddMaterialProc(string _heatProcessNo, string strMaterielCode, string strMaterielType,
- string strDataValue, string strHoppernumID,string strAddMtrType,OpeBase ob)
- {
- string strHeatNo = ""; //炉号
- string strStationCode = ""; //岗位
- string strDisposalTime = ""; //处理次理
- string strSqlID = ""; //sqlId
- string strErr = ""; //错误信息
- string strTableName = ""; //表名
- string strPurposeCode = ""; //用途编码
- if (_heatProcessNo.Length == 0) return;
- strHeatNo = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(_heatProcessNo) : "";
- strStationCode = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(1, (int)OBJLEN.nDevCode) : "";
- strDisposalTime = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(3, (int)OBJLEN.nDealTime) : "";
- strTableName = analysPosTableName(_heatProcessNo.Substring(0, 1), "MATERIEL");
- if (strAddMtrType == "1") strPurposeCode = "自动投料";
- if (strAddMtrType == "2") strPurposeCode = "手投料";
- strSqlID = "AddMaterialProc.INSERT"; //SQLID
- Hashtable ht = new Hashtable();
- ht.Add("I1", strTableName); //表名
- ht.Add("I2", _heatProcessNo); //加热处理号
- ht.Add("I3", strMaterielCode); //物料编码
- ht.Add("I4", strMaterielType); //物料类型
- ht.Add("I5", strHeatNo); //炉号
- ht.Add("I6", strDataValue); //物料消耗
- ht.Add("I7", strAddMtrType); //投料类型
- ht.Add("I8", strHoppernumID); //料仓编号
- ht.Add("I9", strPurposeCode); //用途编码
- ht.Add("I10", strStationCode); //岗位
- ht.Add("I11", strDisposalTime); //处理次数
- CommonClientToServer ccTs = new CommonClientToServer();
- ccTs.ob = ob;
- string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
- "AddMaterialProc", strSqlID, ht, out strErr);
- if (strErr != "")
- MessageBox.Show("物料消耗数据录入失败,重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- }
- /// <summary>
- /// 手投料料仓对应物料配置
- /// </summary>
- /// <param name="ultraCell">激活Cell</param>
- /// <param name="e"></param>
- /// <param name="strStationCode">岗位</param>
- /// <param name="ob">服务端URL</param>
- public static void SetHatMaterial(Infragistics.Win.UltraWinGrid.UltraGridCell ultraCell,
- ref Infragistics.Win.UltraWinGrid.DoubleClickHeaderEventArgs e, string strStationCode, OpeBase ob)
- {
- string strErr = "";
- string strMaterielCode = ""; //物料编码
- string strOldMaterielCode = ""; //原始物料编码
- string strPurposeCode = ""; //用途编码
- string strOutValue = ""; //输出
- try
- {
- if (ultraCell != null)
- {
- string szBM = "";
- if (ultraCell.Column.Tag.ToString() != ultraCell.Column.Key)
- strOldMaterielCode = ultraCell.Column.Tag.ToString();
- string szMC = e.Header.Caption;
- frmSetMaterialName frm = new frmSetMaterialName(szMC, "1");
- frm.obMain = ob;
- frm.ShowDialog();
- if (frm.bChange)
- {
- strMaterielCode = frm.m_szWLBM;
- strPurposeCode = "手投料";
- string strSqlID = "SwapHatHopper.Procedure"; //SQLID
- Hashtable ht = new Hashtable();
- ht.Add("I1", strStationCode); //岗位
- ht.Add("I2", "STL"); //投料类型
- ht.Add("I3", strMaterielCode); //物料编码
- ht.Add("I4", strOldMaterielCode); //原始物料编码
- ht.Add("I5", strPurposeCode); //用途编码
- ht.Add("O1", strOutValue); //输出
- CommonClientToServer ccTs = new CommonClientToServer();
- ccTs.ob = ob;
- string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
- "SwapHatHopper", strSqlID, ht, out strErr);
- if (strErr != "")
- {
- MessageBox.Show("手投料物料配置失败,请重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- return;
- }
- e.Header.Caption = frm.m_szWLMC;
- ultraCell.Column.Tag = frm.m_szWLBM;
- }
- }
- }
- catch { }
- }
- /// <summary>
- /// 设置冶炼过程手投料配置信息
- /// </summary>
- /// <param name="ultraGrid">手投料Grid</param>
- /// <param name="ultraDs">手投料数据源</param>
- /// <param name="strStationCode">岗位</param>
- /// <param name="_dtMaterial">手投料配置信息</param>
- /// <param name="ob">服务端URL</param>
- public static void SetProceThrowFace(Infragistics.Win.UltraWinGrid.UltraGrid ultraGrid, Infragistics.Win.UltraWinDataSource.UltraDataSource ultraDs,
- string strStationCode, ref DataTable _dtMaterial, OpeBase ob)
- {
- try
- {
- string strErr = "";
- ArrayList arry = new ArrayList();
- arry.Add("GetHndTrwMtr.Select");//此ID为XML文件ID
- arry.Add(strStationCode); //岗位
- CommonClientToServer ccTs = new CommonClientToServer();
- ccTs.ob = ob;
- //查询手投料物料配置信息
- DataSet ds = ccTs.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
- "GetHndTrwMtr", arry, out strErr);
- if (strErr == "" && ds != null)
- {
- DataTable dt = ds.Tables[0];
- if (dt.Rows.Count > 0)
- {
- string szPZBM = dt.Rows[0]["CONFGCODE"].ToString();
- string[] arBM = szPZBM.Split('/');
- DataRow[] rows;
- int nCount = ultraGrid.DisplayLayout.Bands[0].Columns.Count;
- for (int i = 0; i < nCount; i++)
- {
- if (i < arBM.Length - 1)
- {
- rows = _dtMaterial.Select("MATERIELCODE='" + arBM[i] + "'");
- if (rows.Length > 0)
- {
- ultraGrid.DisplayLayout.Bands[0].Columns[i].Header.Caption = rows[0]["MATERIELFORSHORT"].ToString();
- ultraGrid.DisplayLayout.Bands[0].Columns[i].Tag = arBM[i];
- }
- }
- else
- {
- ultraGrid.DisplayLayout.Bands[0].Columns[i].Header.Caption = "";
- ultraGrid.DisplayLayout.Bands[0].Columns[i].Tag = ultraDs.Band.Columns[i].Key;
- }
- }
- }
- }
- }
- catch { }
- }
- /// <summary>
- /// 利用弹出计算器窗体增加手投料消耗
- /// </summary>
- /// <param name="_heatProcessNo"></param>
- /// <param name="ultraCell"></param>
- /// <param name="_dtMaterial"></param>
- /// <param name="ob"></param>
- public static void HndMtrFromAddMaterial(string _heatProcessNo, Infragistics.Win.UltraWinGrid.UltraGridCell ultraCell,
- DataTable _dtMaterial,OpeBase ob)
- {
- if (_heatProcessNo == "" || ultraCell.Column.Header.Caption == "")
- return;
- frmInputDecimal frm = new frmInputDecimal();
- frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size);
- frm.ShowDialog();
- if (frm._defaultValue != "")
- {
- string szMC = ultraCell.Column.Header.Caption, szWLBM = ultraCell.Column.Tag.ToString(), szWLLX = "";
- string szBH = ultraCell.Column.Key;
- DataRow[] rows = _dtMaterial.Select(" MATERIELCODE = '" + szWLBM + "'");
- if (rows.Length > 0)
- {
- szWLLX = rows[0]["MATERIELTYPE"].ToString();
- //录入手投料消耗
- ClassManualUpdateInfo.AddMaterialProc(_heatProcessNo, szWLBM, szWLLX, frm._defaultValue,
- ultraCell.Column.Key.ToString(), "2", ob);
- }
- }
- }
- }
- }
|