You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

787 lines
34 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using ICSharpCode.Core;
using Mesnac.Codd.Session;
namespace Mesnac.Action.ChemicalWeighing.Product
{
/// <summary>
/// 生产管理辅助类
/// </summary>
public class ProductHelper
{
#region 班次
/// <summary>
/// 查询所有可用班次数据
/// </summary>
/// <returns>返回所有可用班次数据</returns>
public static DataTable GetShiftData()
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
string sqlstr = "SELECT * FROM Pmt_Shiftime order by Shift_id";
DataTable dt = dbHelper.GetDataTableBySql(sqlstr);
return dt;
}
/// <summary>
/// 查询所有可用班次列表
/// </summary>
/// <returns>返回所有可用班次实体列表</returns>
public static List<Entity.Pmt_Shiftime> GetShiftEntityList()
{
List<Entity.Pmt_Shiftime> lst = new List<Entity.Pmt_Shiftime>();
DataTable dt = GetShiftData();
if (dt != null)
{
Entity.Pmt_Shiftime entity = null;
foreach(DataRow dr in dt.Rows)
{
entity = ConvertDataRowToPptShift(dr);
lst.Add(entity);
}
}
return lst;
}
/// <summary>
/// 把DataRow数据行转换未Pmt_Shiftime实体对性爱那个
/// </summary>
/// <param name="dr">要转换的DataRow数据行</param>
/// <returns>返回转换后的实体对象</returns>
public static Entity.Pmt_Shiftime ConvertDataRowToPptShift(DataRow dr)
{
if (dr != null)
{
Entity.Pmt_Shiftime entity = new Entity.Pmt_Shiftime();
entity.Shift_id = (short)Mesnac.Basic.DataProcessor.RowValue(dr, "Shift_id", 0);
entity.Shift_name = Mesnac.Basic.DataProcessor.RowValue(dr, "Shift_name", String.Empty);
entity.Shift_st = Mesnac.Basic.DataProcessor.RowValue(dr, "Shift_st", String.Empty);
entity.Shift_st = Mesnac.Basic.DataProcessor.RowValue(dr, "Shift_st", String.Empty);
entity.Shift_class = Mesnac.Basic.DataProcessor.RowValue(dr, "Shift_class", 0);
return entity;
}
else
{
return null;
}
}
/// <summary>
/// 根据GUID查询班次行记录
/// </summary>
/// <param name="guid">guid</param>
/// <returns>返回对应的行记录</returns>
public static DataRow GetShiftDataRowByGUID(string guid)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
string sqlstr = "SELECT * FROM Pmt_Shiftime WHERE GUID = @GUID";
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
dbHelper.CommandText = sqlstr;
dbHelper.AddParameter("@GUID", guid);
DataTable dt = dbHelper.ToDataTable();
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0];
}
else
{
return null;
}
}
/// <summary>
/// 根据ShiftID查询班次行记录
/// </summary>
/// <param name="shiftID">要查询的ShiftID</param>
/// <returns>返回对应的班次行记录</returns>
public static DataRow GetShiftDataRowByID(int shiftID)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
string sqlstr = "SELECT * FROM Pmt_Shiftime WHERE Shift_id = @ShiftID";
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
dbHelper.CommandText = sqlstr;
dbHelper.AddParameter("@ShiftID", shiftID);
DataTable dt = dbHelper.ToDataTable();
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0];
}
else
{
return null;
}
}
/// <summary>
/// 根据班次ID获取班次名称
/// </summary>
/// <param name="shiftID">班次ID</param>
/// <returns>返回对应的班次名称</returns>
public static string GetShiftNameByShiftID(int shiftID)
{
DataRow dr = GetShiftDataRowByID(shiftID);
if (dr != null)
{
return Mesnac.Basic.DataProcessor.RowValue(dr, "Shift_name", String.Empty);
}
return String.Empty;
}
/// <summary>
/// 判断ShiftID在班次表中是否存在
/// </summary>
/// <param name="shiftID">要判断的ShiftID</param>
/// <returns>存在返回true否则返回false</returns>
public static bool IsExistsShiftID(string shiftID)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
string sqlstr = "SELECT COUNT(GUID) FROM Pmt_Shiftime WHERE ShiftID = @ShiftID";
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
dbHelper.CommandText = sqlstr;
dbHelper.AddParameter("@ShiftID", shiftID);
object result = dbHelper.ToScalar();
if (result != null && result != System.DBNull.Value)
{
int intResult = 0;
if (int.TryParse(result.ToString(), out intResult))
{
if (intResult > 0)
{
return true;
}
}
}
return false;
}
/// <summary>
/// 判断ShiftName在班次表中是否存在
/// </summary>
/// <param name="shiftName">要判断的ShiftName</param>
/// <returns>存在返回true否则返回false</returns>
public static bool IsExistsShiftName(string shiftName)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
string sqlstr = "SELECT COUNT(GUID) FROM Pmt_Shiftime WHERE ShiftName = @ShiftName";
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
dbHelper.CommandText = sqlstr;
dbHelper.AddParameter("@ShiftName", shiftName);
object result = dbHelper.ToScalar();
if (result != null && result != System.DBNull.Value)
{
int intResult = 0;
if (int.TryParse(result.ToString(), out intResult))
{
if (intResult > 0)
{
return true;
}
}
}
return false;
}
#endregion
#region 班组
#endregion
#region 自动刷新班次号
/// <summary>
/// 自动刷新班次号
/// </summary>
/// <returns>当前班次号</returns>
public static int shiftIDAtuoRefresh()
{
int shiftitem = 0;
string firstBegin = "0758";
string firstEnd = "1540";
string secondBegin = "1558";
string secondEnd = "2340";
string thirdBegin = "2358";
string thirdEnd = "0740";
DateTime dt = DateTime.Now;
object shiftT = null;
#region 从数据库获取值,填充以上变量
DataTable shiftTable = GetShiftData();
if (shiftTable != null && shiftTable.Rows.Count >= 3)
{
shiftT = shiftTable.Rows[0]["Shift_st"];
if (shiftT != null && shiftT != System.DBNull.Value)
{
if (DateTime.TryParse(shiftT.ToString(), out dt))
{
firstBegin = String.Format("{0:HHmm}", dt);
}
}
shiftT = shiftTable.Rows[0]["Shift_et"];
if (shiftT != null && shiftT != System.DBNull.Value)
{
if (DateTime.TryParse(shiftT.ToString(), out dt))
{
firstEnd = String.Format("{0:HHmm}", dt);
}
}
shiftT = shiftTable.Rows[1]["Shift_st"];
if (shiftT != null && shiftT != System.DBNull.Value)
{
if (DateTime.TryParse(shiftT.ToString(), out dt))
{
secondBegin = String.Format("{0:HHmm}", dt);
}
}
shiftT = shiftTable.Rows[1]["Shift_et"];
if (shiftT != null && shiftT != System.DBNull.Value)
{
if (DateTime.TryParse(shiftT.ToString(), out dt))
{
secondEnd = String.Format("{0:HHmm}", dt);
}
}
shiftT = shiftTable.Rows[2]["Shift_st"];
if (shiftT != null && shiftT != System.DBNull.Value)
{
if (DateTime.TryParse(shiftT.ToString(), out dt))
{
thirdBegin = String.Format("{0:HHmm}", dt);
}
}
shiftT = shiftTable.Rows[2]["Shift_et"];
if (shiftT != null && shiftT != System.DBNull.Value)
{
if (DateTime.TryParse(shiftT.ToString(), out dt))
{
thirdEnd = String.Format("{0:HHmm}", dt);
}
}
}
#endregion
string hhmm = DateTime.Now.ToString("HHmm");
if (((hhmm.CompareTo(firstBegin) > 0) && (hhmm.CompareTo(firstEnd) < 0)) || ((hhmm.CompareTo(secondBegin) > 0) && (hhmm.CompareTo(secondEnd) < 0)) || ((hhmm.CompareTo(thirdBegin) > 0) || (hhmm.CompareTo(thirdEnd) < 0)))
{
if ((hhmm.CompareTo(secondBegin) == 1) && (hhmm.CompareTo(secondEnd) == -1))
{
shiftitem = 2;
}
//else if (hhmm.CompareTo(thirdEnd) == -1 || hhmm.CompareTo(thirdEnd) == 0)
//{
// shiftitem = 3;
//}
else if ((hhmm.CompareTo(thirdBegin) == 1) && (hhmm.CompareTo(thirdEnd) == -1))
{
shiftitem = 3;
}
else if ((hhmm.CompareTo(firstEnd) == -1) && (hhmm.CompareTo(firstBegin) == 1))
{
shiftitem = 1;
}
}
return shiftitem;
}
#endregion
#region 工厂日历
/// <summary>
/// 工厂日历行
/// </summary>
/// <param name="planDate">计划生产日期</param>
/// <param name="shiftId">班次</param>
/// <returns>返回对应工厂日历行</returns>
public static DataRow GetShiftTimeRow(DateTime planDate, int shiftId)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
string strSql = "select * from PptShiftTime where Convert(varchar,Convert(datetime,ShiftDT),112) = @PlanDate and ShiftId = @ShiftId";
dbHelper.CommandText = strSql;
dbHelper.AddParameter("@PlanDate", String.Format("{0:yyyyMMdd}", planDate));
dbHelper.AddParameter("@ShiftId", shiftId);
DataTable dt = dbHelper.ToDataTable();
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0];
}
else
{
return null;
}
}
#endregion
#region 计划及配方
#region 获取当前计划配方数据基于PlanLog
/// <summary>
/// 获取当前计划配方数据基于PlanLog
/// </summary>
/// <returns>返回当前计划配方数据</returns>
//public static Entity.PlanRecipeData GetCurrentPlanRecipeData()
//{
// Entity.PlanLog planLog = PptPlan.PlanHelper.PlanLog;
// if (planLog != null)
// {
// Entity.PlanRecipeData planRecipeData = GetPlanRecipeData(planLog.LastPlanID, String.Empty);
// if (planRecipeData != null)
// {
// planRecipeData.RecipeHeadData.ShiftID = (short)planLog.LastShiftID;
// planRecipeData.RecipeHeadData.ClassID = (short)planLog.LastClassID;
// return planRecipeData;
// }
// }
// return null;
//}
#endregion
#region 根据计划编号获取计划及配方数据
/// <summary>
/// 根据计划编号获取计划及配方数据
/// </summary>
/// <param name="planID">计划编号</param>
/// <param name="recipeVersion">重传配方信息[新的配方版本]</param>
/// <returns>返回对应的计划配方数据</returns>
//public static Entity.PlanRecipeData GetPlanRecipeData(string planID, string recipeVersion)
//{
// if (!String.IsNullOrEmpty(planID))
// {
// if (Product.PptPlan.PlanHelper.PlanExists(planID))
// {
// #region 获取计划配方基础数据
// Entity.PlanRecipeData planRecipeData = new Entity.PlanRecipeData();
// //1、计划数据
// planRecipeData.PlanData = Product.PptPlan.PlanHelper.GetPlanDataEntity(planID);
// //针对重传配方时选择了与原计划配方不同版本时,通过新配方版本获取配方数据
// if (!String.IsNullOrEmpty(recipeVersion))
// {
// planRecipeData.PlanData.RecipeVersion = recipeVersion;
// Entity.SimplePmtRecipe simpleRecipe = Technical.TechnicalHelper.GetRecipeMaterial(planRecipeData.PlanData.RecipeMaterialCode, recipeVersion);
// planRecipeData.PlanData.RecipeGUID = simpleRecipe.GUID;
// planRecipeData.PlanData.RecipeCode = Technical.PmtRecipe.RecipeHelper.GenerateNextRecipeCode(planRecipeData.PlanData.RecipeMaterialCode, recipeVersion);
// }
// //2、配方主数据
// planRecipeData.RecipeData = Technical.PmtRecipe.RecipeHelper.GetRecipeEntityByGUID(planRecipeData.PlanData.RecipeGUID);
// if (Global.PublicVar.Instance.IsContainMix)
// {
// //3、上辅机称量头及称量物料数据
// planRecipeData.DicMixWeightHeadList = Technical.PmtRecipe.RecipeHelper.GetMixWeightHeadDicByRecipeGUID(planRecipeData.PlanData.RecipeGUID);
// //4、密炼机头参数及密炼步骤数据
// planRecipeData.DicMixHeadList = Technical.PmtRecipe.RecipeHelper.GetMixHeadDicByRecipeGUID(planRecipeData.PlanData.RecipeGUID);
// }
// if (Global.PublicVar.Instance.IsContainMill)
// {
// //5、下辅机称量头及称量物料数据
// planRecipeData.DicMillWeightHeadList = Technical.PmtRecipe.RecipeHelper.GetMillWeightHeadDicByRecipeGUID(planRecipeData.PlanData.RecipeGUID);
// //6、开炼机头参数及开炼步骤数据
// planRecipeData.DicMillHeadList = Technical.PmtRecipe.RecipeHelper.GetMillHeadDicByRecipeGUID(planRecipeData.PlanData.RecipeGUID);
// }
// #endregion
// #region 数据整理
// planRecipeData.RecipeHeadData.DownloadFlag = (Int16)Entity.DownLoadFlag.DownLoad;
// planRecipeData.RecipeHeadData.UnitNum = 1;
// planRecipeData.RecipeHeadData.RecipeName = planRecipeData.PlanData.RecipeMaterialName;
// planRecipeData.RecipeHeadData.RecipeVersion = planRecipeData.PlanData.RecipeVersion;
// planRecipeData.RecipeHeadData.PlanID = planRecipeData.PlanData.PlanID;
// planRecipeData.RecipeHeadData.PlanLotNumber = planRecipeData.PlanData.PlanID; //批次号默认设置为计划号
// planRecipeData.RecipeHeadData.Operator = Mesnac.Basic.UserInfo.Instance.UserName;
// planRecipeData.RecipeHeadData.EquipCode = Basic.BasicHelper.BasEquip.EquipCode;
// planRecipeData.RecipeHeadData.PlanNum = (Int16)planRecipeData.PlanData.PlanNum;
// planRecipeData.RecipeHeadData.ShiftID = (Int16)planRecipeData.PlanData.ShiftID;
// planRecipeData.RecipeHeadData.ClassID = (Int16)planRecipeData.PlanData.ClassID;
// Int16 serialNum = 0; //计划流水号
// Int16.TryParse(planRecipeData.PlanData.PlanID.Substring(10), out serialNum);
// planRecipeData.RecipeHeadData.SerialNumber = serialNum;
// #endregion
// return planRecipeData;
// }
// }
// return null;
//}
#endregion
//#region 获取称量物料数据表
///// <summary>
///// 获取称量物料数据表
///// </summary>
///// <param name="planRecipeData">计划配方数据</param>
///// <returns>返回称量物料数据表</returns>
//public static DataTable GetWeightListTable(Entity.PlanRecipeData planRecipeData)
//{
// DataTable weightListTable = new DataTable();
// weightListTable.TableName = "WeightListTable_" + Guid.NewGuid().ToString();
// weightListTable.Columns.Add("UnitNum", typeof(string));
// weightListTable.Columns.Add("WeightID", typeof(int));
// weightListTable.Columns.Add("JarNum", typeof(int));
// weightListTable.Columns.Add("MaterialName", typeof(string));
// weightListTable.Columns.Add("SetWeight", typeof(double));
// weightListTable.Columns.Add("RealWeight", typeof(double));
// weightListTable.Columns.Add("SetUpTolerance", typeof(double));
// weightListTable.Columns.Add("SetLowTolerance", typeof(double));
// weightListTable.Columns.Add("RealTolerance", typeof(double));
// if (Global.PublicVar.Instance.IsContainMix && planRecipeData.DicMixWeightHeadList != null && planRecipeData.DicMixWeightHeadList.Count > 0)
// {
// //添加上辅机称量至称量列表
// foreach (string unitNum in planRecipeData.DicMixWeightHeadList.Keys)
// {
// Entity.PmtMixWeightHead mixWeightHead = planRecipeData.DicMixWeightHeadList[unitNum];
// foreach (Entity.PmtMixWeight mixWeight in mixWeightHead.WeightList)
// {
// if (mixWeight.ActCode == 1)
// {
// DataRow row = weightListTable.NewRow();
// row["UnitNum"] = unitNum;
// row["WeightID"] = mixWeight.WeightID;
// row["JarNum"] = mixWeight.JarSerial;
// row["MaterialName"] = mixWeight.MaterialName;
// row["SetWeight"] = mixWeight.SetWeight;
// row["RealWeight"] = 0.00;
// row["SetUpTolerance"] = mixWeight.SetUpTolerance;
// row["SetLowTolerance"] = mixWeight.SetLowTolerance;
// row["RealTolerance"] = 0.00;
// weightListTable.Rows.Add(row);
// }
// }
// }
// }
// if (Global.PublicVar.Instance.IsContainMill && planRecipeData.DicMillWeightHeadList != null && planRecipeData.DicMillWeightHeadList.Count > 0)
// {
// //添加下辅机称量至称量列表
// foreach (string unitNum in planRecipeData.DicMillWeightHeadList.Keys)
// {
// Entity.PmtMillWeightHead millWeightHead = Cache.PlanRecipeCache.Instance.Data.DicMillWeightHeadList[unitNum];
// foreach (Entity.PmtMillWeight millWeight in millWeightHead.WeightList)
// {
// if (millWeight.ActCode == 1)
// {
// DataRow row = weightListTable.NewRow();
// row["UnitNum"] = unitNum;
// row["WeightID"] = millWeight.WeightID;
// row["JarNum"] = millWeight.JarSerial;
// row["MaterialName"] = millWeight.MaterialName;
// row["SetWeight"] = millWeight.SetWeight;
// row["RealWeight"] = 0.00;
// row["SetUpTolerance"] = millWeight.SetUpTolerance;
// row["SetLowTolerance"] = millWeight.SetLowTolerance;
// row["RealTolerance"] = 0.00;
// weightListTable.Rows.Add(row);
// }
// }
// }
// }
// weightListTable = Mesnac.Basic.DataProcessor.FormatDataTable(weightListTable, null, 2);
// return weightListTable;
//}
//#endregion
//#region 获取密炼步骤数据表
///// <summary>
///// 获取密炼步骤数据表
///// </summary>
///// <param name="planRecipeData">计划配方数据</param>
///// <returns>返回密炼步骤数据表</returns>
//public static DataTable GetMixStepListTable(Entity.PlanRecipeData planRecipeData)
//{
// DataTable mixStepListTable = new DataTable();
// mixStepListTable.TableName = "MixStepListTable_" + Guid.NewGuid().ToString();
// mixStepListTable.Columns.Add("UnitNum", typeof(string));
// mixStepListTable.Columns.Add("MixStep", typeof(int));
// mixStepListTable.Columns.Add("TermCode", typeof(string));
// mixStepListTable.Columns.Add("TermName", typeof(string));
// mixStepListTable.Columns.Add("MixTime", typeof(int));
// mixStepListTable.Columns.Add("MixTimeLimit", typeof(int));
// mixStepListTable.Columns.Add("MixTemp", typeof(double));
// mixStepListTable.Columns.Add("MixTempLimit", typeof(double));
// mixStepListTable.Columns.Add("MixEnergy", typeof(double));
// mixStepListTable.Columns.Add("MixEnergyLimit", typeof(double));
// mixStepListTable.Columns.Add("MixPower", typeof(int));
// mixStepListTable.Columns.Add("MixPowerLimit", typeof(int));
// mixStepListTable.Columns.Add("ActionCode", typeof(string));
// mixStepListTable.Columns.Add("ActionName", typeof(string));
// mixStepListTable.Columns.Add("MixPress", typeof(double));
// mixStepListTable.Columns.Add("MixSpeed", typeof(double));
// mixStepListTable.Columns.Add("MixRollerGap", typeof(double));
// mixStepListTable.Columns.Add("MixRamPosition", typeof(double));
// if (Global.PublicVar.Instance.IsContainMix && planRecipeData.DicMixHeadList != null && planRecipeData.DicMixHeadList.Count > 0)
// {
// //添加密炼步骤至密炼步骤列表
// foreach (string unitNum in planRecipeData.DicMixHeadList.Keys)
// {
// Entity.PmtMixHead mixHead = planRecipeData.DicMixHeadList[unitNum];
// foreach (Entity.PmtMixStep mixStep in mixHead.MixStepList)
// {
// DataRow row = mixStepListTable.NewRow();
// row["UnitNum"] = unitNum;
// row["MixStep"] = mixStep.MixStep;
// row["TermCode"] = mixStep.TermCode;
// row["TermName"] = Technical.TechnicalHelper.GetMixTermShowNameByTermCode(mixStep.TermCode);
// row["MixTime"] = mixStep.MixTime;
// row["MixTimeLimit"] = mixStep.MixTimeLimit;
// row["MixTemp"] = mixStep.MixTemp;
// row["MixTempLimit"] = mixStep.MixTempLimit;
// row["MixEnergy"] = mixStep.MixEnergy;
// row["MixEnergyLimit"] = mixStep.MixEnergyLimit;
// row["MixPower"] = mixStep.MixPower;
// row["MixPowerLimit"] = mixStep.MixPowerLimit;
// row["ActionCode"] = mixStep.ActionCode;
// row["ActionName"] = Technical.TechnicalHelper.GetMixActionShowNameByActionCode(mixStep.ActionCode);
// row["MixPress"] = mixStep.MixPress;
// row["MixSpeed"] = mixStep.MixSpeed;
// row["MixRollerGap"] = mixStep.MixRollerGap;
// row["MixRamPosition"] = mixStep.MixRamPosition;
// mixStepListTable.Rows.Add(row);
// }
// }
// }
// return mixStepListTable;
//}
//#endregion
//#region 获取开炼步骤数据表
///// <summary>
///// 获取开炼步骤数据表
///// </summary>
///// <param name="planRecipeData">计划配方数据</param>
///// <returns>返回开炼步骤数据表</returns>
//public static DataTable GetMillStepListTable(Entity.PlanRecipeData planRecipeData)
//{
// DataTable millStepListTable = new DataTable();
// millStepListTable.TableName = "MillStepListTable_" + Guid.NewGuid().ToString();
// millStepListTable.Columns.Add("UnitNum", typeof(string));
// millStepListTable.Columns.Add("MillStep", typeof(int));
// millStepListTable.Columns.Add("ActionCode", typeof(string));
// millStepListTable.Columns.Add("ActionName", typeof(string));
// millStepListTable.Columns.Add("MillTime", typeof(int));
// millStepListTable.Columns.Add("MillSpeed", typeof(double));
// millStepListTable.Columns.Add("MillCoolDeviceSpeed", typeof(double));
// millStepListTable.Columns.Add("MillRollerGap", typeof(double));
// millStepListTable.Columns.Add("MillWaterTemp", typeof(double));
// millStepListTable.Columns.Add("MillRubberTemp", typeof(double));
// millStepListTable.Columns.Add("MillSpeedRatio", typeof(double));
// if (Global.PublicVar.Instance.IsContainMill && planRecipeData.DicMillHeadList != null && planRecipeData.DicMillHeadList.Count > 0)
// {
// //添加开炼步骤至开炼步骤列表
// foreach (string unitNum in planRecipeData.DicMillHeadList.Keys)
// {
// Entity.PmtMillHead millHead = planRecipeData.DicMillHeadList[unitNum];
// foreach (Entity.PmtMillStep millStep in millHead.MillStepList)
// {
// DataRow row = millStepListTable.NewRow();
// row["UnitNum"] = unitNum;
// row["MillStep"] = millStep.MillStep;
// row["ActionCode"] = millStep.ActionCode;
// row["ActionName"] = Technical.TechnicalHelper.GetMillActionShowNameByActionCode(millStep.ActionCode);
// row["MillTime"] = millStep.MillTime;
// row["MillSpeed"] = millStep.MillSpeed;
// row["MillCoolDeviceSpeed"] = millStep.MillCoolDeviceSpeed;
// row["MillRollerGap"] = millStep.MillRollerGap;
// row["MillWaterTemp"] = millStep.MillWaterTemp;
// row["MillRubberTemp"] = millStep.MillRubberTemp;
// row["MillSpeedRatio"] = millStep.MillSpeedRatio;
// millStepListTable.Rows.Add(row);
// }
// }
// }
// return millStepListTable;
//}
//#endregion
#region 更新计划配方信息
/// <summary>
/// 更新计划配方信息
/// </summary>
/// <param name="planID">计划编号</param>
/// <param name="newRecipeGUID">新的配方GUID</param>
/// <param name="newRecipeVersion">新的配方版本</param>
/// <param name="newRecipeCode">新的配方编码</param>
public static void UpdatePlanRecipe(string planID, string newRecipeGUID, string newRecipeVersion, string newRecipeCode)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.CommandType = CommandType.Text;
string sqlstr = "update PptPlan set RecipeGUID = @RecipeGUID, RecipeVersion = @RecipeVersion, @RecipeCode = @RecipeCode where PlanID = @PlanID";
dbHelper.CommandText = sqlstr;
dbHelper.ClearParameter();
dbHelper.AddParameter("@RecipeGUID", newRecipeGUID);
dbHelper.AddParameter("@RecipeVersion", newRecipeVersion);
dbHelper.AddParameter("@RecipeCode", newRecipeCode);
dbHelper.AddParameter("@PlanID", planID);
dbHelper.ExecuteNonQuery();
}
#endregion
#endregion
#region 批次业务
#region 更新本地库批次信息PptGroupLot
/// <summary>
/// 更新本地库批次信息PptGroupLot
/// </summary>
/// <param name="newPlanNum">新设定的计划数</param>
public static void UpdateGroupLot(int newPlanNum)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
string strSql = "Update PptGroupLot Set SetNumber= @SetNumber where FinishTag=0";
dbHelper.CommandText = strSql;
dbHelper.AddParameter("@SetNumber", newPlanNum);
dbHelper.ExecuteNonQuery();
}
#endregion
#endregion
#region 条码业务
#region 清除扫描条码数据
/// <summary>
/// 清除扫描条码数据清空本地条码表PptShelfBar数据
/// </summary>
public static void TruncatePptShelfBar()
{
try
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.CommandType = CommandType.Text;
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
string strSql1 = "if exists(select * from sysobjects where xtype='U' and name='PptShelfBar') truncate table PptShelfBar";
dbHelper.CommandText = strSql1;
dbHelper.ExecuteNonQuery();
}
catch(Exception ex)
{
ICSharpCode.Core.LoggingService<ProductHelper>.Error("清除扫描条码数据异常:" + ex.Message, ex);
}
}
#endregion
#endregion
#region 掺用业务
#region 为掺用配方增加下传计划标志
/// <summary>
/// 为掺用配方增加下传计划标志
/// </summary>
/// <param name="recipeMaterialCode">配方物料编码</param>
public static void SetExePlan(string recipeMaterialCode)
{
try
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.CommandType = CommandType.Text;
dbHelper.ClearParameter();
string strSql = "truncate table PmtExecPlan;truncate table PmtChanYong;";
strSql += "insert into PmtExecPlan(MaterCode, PlanFlag) values(@MaterCode,@PlanFlag)";
dbHelper.CommandText = strSql;
dbHelper.AddParameter("@MaterCode", recipeMaterialCode);
dbHelper.AddParameter("@PlanFlag", "1");
dbHelper.ExecuteNonQuery();
}
catch(Exception ex)
{
ICSharpCode.Core.LoggingService<ProductHelper>.Error("为掺用配方增加下传计划标志异常:" + ex.Message, ex);
}
}
#endregion
#endregion
}
}