|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using Mesnac.Codd.Session;
|
|
|
using System.Data;
|
|
|
using Mesnac.Action.Feeding.BasicInfo;
|
|
|
|
|
|
namespace Mesnac.Action.Feeding.FinishBatch
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 车报表存盘辅助类
|
|
|
/// </summary>
|
|
|
public class PptLotSaveHelper
|
|
|
{
|
|
|
private SaveDataPerLotHandler saveDataPerLot = null;
|
|
|
private LotBarcode lotBarcode = null;
|
|
|
private ShelfBarcode shelfBarcode = null;
|
|
|
private LotWeight lotWeight = null;
|
|
|
private RecipeData.RecipeInfo recipeInfo = null;
|
|
|
private RecipeData.PptPlanInfo planInfo = null;
|
|
|
private PlanExecuteData planExecuteData = null;
|
|
|
private bool isGetBWB = false; //是否获取了间隔时间
|
|
|
private int bwb = 0; //间隔时间
|
|
|
/// <summary>
|
|
|
/// 构造方法
|
|
|
/// </summary>
|
|
|
/// <param name="_saveDataPerLot">Plc每车存盘数据对象</param>
|
|
|
/// <param name="_lotBarcode">车数据</param>
|
|
|
/// <param name="_shelfBarcode">架子数据</param>
|
|
|
/// <param name="_lotWeight">车称重重数据</param>
|
|
|
/// <param name="_recipeInfo">配方数据</param>
|
|
|
/// <param name="_planInfo">计划数据</param>
|
|
|
/// <param name="_planExecuteData">计划执行数据</param>
|
|
|
public PptLotSaveHelper(SaveDataPerLotHandler _saveDataPerLot, LotBarcode _lotBarcode, ShelfBarcode _shelfBarcode, LotWeight _lotWeight, RecipeData.RecipeInfo _recipeInfo, RecipeData.PptPlanInfo _planInfo, PlanExecuteData _planExecuteData)
|
|
|
{
|
|
|
this.saveDataPerLot = _saveDataPerLot;
|
|
|
this.lotBarcode = _lotBarcode;
|
|
|
this.shelfBarcode = _shelfBarcode;
|
|
|
this.lotWeight = _lotWeight;
|
|
|
this.recipeInfo = _recipeInfo;
|
|
|
this.planInfo = _planInfo;
|
|
|
this.planExecuteData = _planExecuteData;
|
|
|
}
|
|
|
|
|
|
#region SavePptLotData - 保存当前车主存盘信息
|
|
|
/// <summary>
|
|
|
/// 保存当前车主存盘信息
|
|
|
/// </summary>
|
|
|
/// <param name="dbType">数据类型,网络数据库、本地数据库</param>
|
|
|
/// <param name="dbHelper">数据访问对象</param>
|
|
|
/// <param name="isNet">是否为网络版</param>
|
|
|
/// <returns>保存成功返回true,保存失败返回false</returns>
|
|
|
public bool SavePptLotData(Mesnac.Basic.DataSourceFactory.MCDbType dbType, DbHelper dbHelper, bool isNet)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
FeedingAction action = new FeedingAction();
|
|
|
string G_UserID = action.GetConfigValue("LastUserID", String.Empty); //获取工号
|
|
|
string ZJSID = String.Empty;
|
|
|
if (isNet && dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
ZJSID = "0";// action.GetMainHanderCodeByUserCode(G_UserID); //获取主机手ID
|
|
|
}
|
|
|
string MemNote = this.GetMemNote(this.saveDataPerLot); //获取车次备注
|
|
|
|
|
|
#region 基本信息
|
|
|
dbHelper.CommandType = CommandType.Text;
|
|
|
StringBuilder sqlstr_field = new StringBuilder();
|
|
|
StringBuilder sqlstr_value = new StringBuilder();
|
|
|
string fieldName = string.Empty;
|
|
|
string valueName = string.Empty;
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
sqlstr_field.Append("INSERT INTO Ppt_Lot(");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlstr_field.Append("INSERT INTO PptLotData(");
|
|
|
}
|
|
|
sqlstr_value.Append(" ) VALUES (");
|
|
|
#region 数据整理
|
|
|
#region Barcode
|
|
|
fieldName = "Barcode";
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, lotBarcode.Barcode);
|
|
|
#endregion
|
|
|
#region PlanDate
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Plan_Date";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PlanDate";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, String.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(planInfo.PlanDate)));
|
|
|
#endregion
|
|
|
#region MaterCode
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Mater_Code";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "MaterCode";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, this.recipeInfo.RecipeMaterialCode.Trim());
|
|
|
#endregion
|
|
|
#region MaterName
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Mater_Name";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "MaterName";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, this.recipeInfo.RecipeMaterialName.Trim());
|
|
|
#endregion
|
|
|
#region EquipCode
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Equip_Code";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "EquipCode";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, planInfo.RecipeEquipCode.Trim());
|
|
|
#endregion
|
|
|
#region SerialID
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Serial_Id";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "SerialID";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, planExecuteData.MixingFinishedCount);
|
|
|
#endregion
|
|
|
#region SerialBatchID
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Serial_BatchID";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "SerialBatchID";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, lotBarcode.SerialBatchId);
|
|
|
#endregion
|
|
|
#region ShiftID
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Shift_Id";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "ShiftID";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, planInfo.ShiftID);
|
|
|
#endregion
|
|
|
#region ClassID
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Shift_Class";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "ClassID";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, planInfo.ClassID);
|
|
|
#endregion
|
|
|
#region EdtCode
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Edt_Code";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "EdtCode";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, this.recipeInfo.RecipeVersionID);
|
|
|
#endregion
|
|
|
#region PlanID
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "plan_id";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PlanID";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, planInfo.PlanID.Trim());
|
|
|
#endregion
|
|
|
#region StartDatetime
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Start_Datetime";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "StartDatetime";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, String.Format("{0:yyyy-MM-dd HH:mm:ss}", saveDataPerLot.StrTime));
|
|
|
#endregion
|
|
|
#region SetWeight
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Set_Weight";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "SetWeight";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, lotWeight.SetWeight);
|
|
|
#endregion
|
|
|
#region RealWeight
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Real_Weight";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "RealWeight";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, lotWeight.RealWeight);
|
|
|
#endregion
|
|
|
#region ShelfBarcode
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Shelf_Barcode";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "ShelfBarcode";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, shelfBarcode.Barcode.Trim());
|
|
|
#endregion
|
|
|
|
|
|
#region done_rtime 排胶时间
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "done_rtime";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "DoneRtime";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.TimeOpenDoor);
|
|
|
#endregion
|
|
|
#region Done_Allrtime 炼胶总时间(卸料门关到位时刻)
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Done_Allrtime";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "DoneAllRtime";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
if (saveDataPerLot.Done_allrtime > 0)
|
|
|
{
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.Done_allrtime);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dbHelper.AddParameter(valueName, SaveDataPerLotHandler.RecipeTime);
|
|
|
}
|
|
|
#endregion
|
|
|
#region Bwb_Time 间隔时间 本车密炼开始时间-上车的密炼结束时间(暂时按0处理)
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Bwb_Time";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "BwbTime";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
|
|
|
if (!this.isGetBWB)
|
|
|
{
|
|
|
this.bwb = this.GetBwb();
|
|
|
this.isGetBWB = true;
|
|
|
}
|
|
|
dbHelper.AddParameter(valueName, this.bwb);
|
|
|
|
|
|
#endregion
|
|
|
#region Error_Sgn 超差报警
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Error_Sgn";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "ErrorSgn";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, PptWeighDataHelper.LotErrorSgn);
|
|
|
#endregion
|
|
|
#region Test_Result 检验标志,默认0
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Test_Result";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "TestResult";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, "0");
|
|
|
#endregion
|
|
|
#region Pj_Temp 排胶温度
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Pj_Temp";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PjTemp";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, String.Format("{0:F2}", saveDataPerLot.TempOpenDoor));
|
|
|
#endregion
|
|
|
#region Pj_Power 排胶功率
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Pj_Power";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PjPower";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, String.Format("{0:F2}", saveDataPerLot.PowerOpenDoor));
|
|
|
#endregion
|
|
|
#region Pj_Ener 排胶能量
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Pj_Ener";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PjEner";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, String.Format("{0:F2}", saveDataPerLot.EnergyOpenDoor));
|
|
|
#endregion
|
|
|
#region Rub_Status 胶料称称量状态
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "RubStatus";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "RubStatus";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.RubStatus >= 1 ? "1" : "0");
|
|
|
#endregion
|
|
|
#region CB_Status 炭黑秤称量状态
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "CBStatus";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "CBStatus";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.CBStatus >= 1 ? "1" : "0");
|
|
|
#endregion
|
|
|
#region Powder_Status 粉料秤称量状态
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "PowderStatus";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PowderStatus";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.FLStatus >= 1 ? "1" : "0");
|
|
|
#endregion
|
|
|
#region Oil_Status 油秤1称量状态
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "OilStatus";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "OilStatus";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.OilStatus >= 1 ? "1" : "0");
|
|
|
#endregion
|
|
|
#region Oil2_Status 油秤2称量状态
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Oil2Status";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "Oil2Status";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.Oil2Status >= 1 ? "1" : "0");
|
|
|
#endregion
|
|
|
#region Mix_Status 密炼机状态
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Mix_Status";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "MixStatus";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.MixStatus >= 1 ? "1" : "0");
|
|
|
#endregion
|
|
|
#region Poly_DisTime 加胶时间
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Poly_DisTime";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PolyDisTime";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.RubTime);
|
|
|
#endregion
|
|
|
#region CB_DisTime 加炭黑时间
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "CB_DisTime";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "CBDisTime";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.CBTime);
|
|
|
#endregion
|
|
|
#region Oil_DisTime 加油时间
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Oil_DisTime";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "OilDisTime";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.OilTime);
|
|
|
#endregion
|
|
|
#region Oil2_DisTime 加油2时间
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Oil2_DisTime";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "Oil2DisTime";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.Oil2Time);
|
|
|
#endregion
|
|
|
#region Powder_Distime 加粉料时间
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Powder_Distime";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PowderDistime";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.FlTime);
|
|
|
#endregion
|
|
|
#region CB_Batch 炭黑车次
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "CB_Batch";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "CBBatch";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.CBFinshNum);
|
|
|
#endregion
|
|
|
#region Oil_Batch 油1车次
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Oil_Batch";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "OilBatch";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.OilFinshNum);
|
|
|
#endregion
|
|
|
#region Oil2_Batch 油2车次
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Oil2_Batch";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "Oil2Batch";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.Oil2FinshNum);
|
|
|
#endregion
|
|
|
#region Poly_Batch 胶料车次
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Poly_Batch";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PolyBatch";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.RubFinshNum);
|
|
|
#endregion
|
|
|
#region Powder_Batch 粉料车次
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Powder_Batch";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "PowderBatch";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, saveDataPerLot.FLFinshNum);
|
|
|
#endregion
|
|
|
#region Used_Flag 使用标志:0不可用1可用2已用,默认为1
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Used_Flag";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "UsedFlag";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, "1");
|
|
|
#endregion
|
|
|
#region Worker_barcode 工号、主机手ID
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "worker_barcode";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "WorkerBarcode";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, G_UserID);
|
|
|
#endregion
|
|
|
#region Mem_note
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Mem_note";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "MemNote";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, MemNote);
|
|
|
#endregion
|
|
|
#region Warning_sgn 超时报警 暂时用0
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Warning_sgn";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "WarningSgn";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, 0);
|
|
|
#endregion
|
|
|
#region Shelf_num 每架子的车数
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Shelf_num";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "Shelfnum";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, this.GetShifNum());
|
|
|
#endregion
|
|
|
#region Limit_Time 暂时默认null
|
|
|
//if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
//{
|
|
|
// fieldName = "Limit_Time";
|
|
|
//}
|
|
|
//else
|
|
|
//{
|
|
|
// fieldName = "LimitTime";
|
|
|
//}
|
|
|
//valueName = "@" + fieldName;
|
|
|
//sqlstr_field.Append(fieldName).Append(",");
|
|
|
//sqlstr_value.Append(valueName).Append(",");
|
|
|
//dbHelper.AddParameter(valueName, "0");
|
|
|
#endregion
|
|
|
#region Max_time 暂时默认null
|
|
|
//if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
//{
|
|
|
// fieldName = "Max_time";
|
|
|
//}
|
|
|
//else
|
|
|
//{
|
|
|
// fieldName = "Maxtime";
|
|
|
//}
|
|
|
//valueName = "@" + fieldName;
|
|
|
//sqlstr_field.Append(fieldName).Append(",");
|
|
|
//sqlstr_value.Append(valueName).Append(",");
|
|
|
//dbHelper.AddParameter(valueName, "0");
|
|
|
#endregion
|
|
|
#region Lot_Energy 排胶能量
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "Lot_Energy";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "LotEnergy";
|
|
|
}
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName).Append(",");
|
|
|
sqlstr_value.Append(valueName).Append(",");
|
|
|
dbHelper.AddParameter(valueName, String.Format("{0:F2}", saveDataPerLot.EnergyOpenDoor));
|
|
|
#endregion
|
|
|
#region SDSTime 上顶栓时间
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
fieldName = "SDS_Time";
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName);
|
|
|
sqlstr_value.Append(valueName);
|
|
|
dbHelper.AddParameter(valueName, "0");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
fieldName = "SDSTime";
|
|
|
valueName = "@" + fieldName;
|
|
|
sqlstr_field.Append(fieldName);
|
|
|
sqlstr_value.Append(valueName);
|
|
|
dbHelper.AddParameter(valueName, "0");
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 配置信息
|
|
|
//PlcRecipeReader reader = PlcSchemaHandler.Instance.GetPlcRecipeReader("PptLot").FirstOrDefault();
|
|
|
//if (reader == null)
|
|
|
//{
|
|
|
// ICSharpCode.Core.LoggingService.Info("在PlcSchema.xml文件中缺少对PptLot的存盘配置...");
|
|
|
//}
|
|
|
//else
|
|
|
//{
|
|
|
// foreach (PlcRecipeReaderItem item in reader.ItemList)
|
|
|
// {
|
|
|
// fieldName = item.DataFieldName;
|
|
|
// valueName = "@" + fieldName;
|
|
|
// sqlstr_field.Append(fieldName).AppendLine(",");
|
|
|
// sqlstr_value.Append(valueName).AppendLine(",");
|
|
|
// dbHelper.AddParameter(valueName, PlcData.Instance.PlcLastValueRead(item.PlcFiledName));
|
|
|
// }
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 执行存储
|
|
|
sqlstr_value.Append(")"); //结束SQL语句
|
|
|
dbHelper.CommandText = sqlstr_field.ToString() + sqlstr_value.ToString();
|
|
|
dbHelper.ExecuteNonQuery();
|
|
|
#endregion
|
|
|
|
|
|
#region 重置报警信号
|
|
|
|
|
|
PptWeighDataHelper.LotErrorSgn = 0;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService.Error("存盘业务-保存车报表失败:" + ex.Message);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取备注字段值
|
|
|
/// </summary>
|
|
|
/// <param name="saveDataPerLotHandler"></param>
|
|
|
/// <returns></returns>
|
|
|
private string GetMemNote(SaveDataPerLotHandler saveDataPerLotHandler)
|
|
|
{
|
|
|
string memStr = String.Empty;
|
|
|
if (saveDataPerLot.RubFinshNum > 0)
|
|
|
{
|
|
|
memStr += "胶料车次:" + saveDataPerLot.RubFinshNum + " ";
|
|
|
}
|
|
|
if (saveDataPerLot.CBFinshNum > 0)
|
|
|
{
|
|
|
memStr += "炭黑车次:" + saveDataPerLot.CBFinshNum + " ";
|
|
|
}
|
|
|
if (saveDataPerLot.FLFinshNum > 0)
|
|
|
{
|
|
|
memStr += "粉料车次:" + saveDataPerLot.FLFinshNum + " ";
|
|
|
}
|
|
|
if (saveDataPerLot.OilFinshNum > 0)
|
|
|
{
|
|
|
memStr += "油1车次:" + saveDataPerLot.OilFinshNum + " ";
|
|
|
}
|
|
|
if (saveDataPerLot.Oil2FinshNum > 0)
|
|
|
{
|
|
|
memStr += "油2车次:" + saveDataPerLot.Oil2FinshNum + " ";
|
|
|
}
|
|
|
return memStr;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取当前配方中每架子的车数
|
|
|
/// </summary>
|
|
|
/// <returns>返回每架子对应的车数</returns>
|
|
|
private int GetShifNum()
|
|
|
{
|
|
|
return RecipeCache.Instance.RecipeInfo.ShelfLotCount;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 更新车报表中的超差标志、设定重量和实际重量
|
|
|
/// </summary>
|
|
|
/// <param name="dbType">数据类型:网络库、本地库</param>
|
|
|
/// <param name="dbHelper">数据访问对象</param>
|
|
|
/// <param name="isNet">是否为网络版</param>
|
|
|
public bool UpdateErrorSgnAndWeight(Mesnac.Basic.DataSourceFactory.MCDbType dbType, DbHelper dbHelper)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
string strSql = String.Empty;
|
|
|
if (dbType == Basic.DataSourceFactory.MCDbType.Server)
|
|
|
{
|
|
|
strSql = "update Ppt_Lot set Set_Weight=@SetWeight,Real_Weight=@RealWeight,Error_Sgn = @ErrorSgn where Barcode = @Barcode";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql = "update PptLotData set SetWeight=@SetWeight,RealWeight=@RealWeight,ErrorSgn = @ErrorSgn where Barcode = @Barcode";
|
|
|
}
|
|
|
dbHelper.ClearParameter();
|
|
|
dbHelper.CommandText = strSql;
|
|
|
dbHelper.AddParameter("@SetWeight", this.lotWeight.SetWeight);
|
|
|
dbHelper.AddParameter("@RealWeight", this.lotWeight.RealWeight);
|
|
|
dbHelper.AddParameter("@ErrorSgn", PptWeighDataHelper.LotErrorSgn);
|
|
|
dbHelper.AddParameter("@Barcode", lotBarcode.Barcode);
|
|
|
dbHelper.ExecuteNonQuery();
|
|
|
return true;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService.Error("更新车报表中的超差标志、设定重量和实际重量失败:" + ex.Message, ex);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取间隔时间(本次密炼开始时间 - 上一车的结束时间 - 加胶时间)
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public int GetBwb()
|
|
|
{
|
|
|
DateTime prevLotEndTime = DateTime.Now;
|
|
|
DateTime currBeginTime = DateTime.Parse(this.saveDataPerLot.StrTime);
|
|
|
if (this.GetPrevLotEndTime(out prevLotEndTime))
|
|
|
{
|
|
|
if (this.saveDataPerLot.Done_allrtime > this.saveDataPerLot.TimeOpenDoor)
|
|
|
{
|
|
|
this.SetPrevLotEndTime(currBeginTime.AddSeconds(this.saveDataPerLot.Done_allrtime)); //保存当前车的密炼结束时间
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
this.SetPrevLotEndTime(currBeginTime.AddSeconds(SaveDataPerLotHandler.RecipeTime)); //保存当前车的密炼结束时间
|
|
|
}
|
|
|
TimeSpan ts = currBeginTime - prevLotEndTime; //本次密炼开始时间 - 上一车的结束时间
|
|
|
int totalSeconds = Convert.ToInt32(ts.TotalSeconds) -this.saveDataPerLot.RubTime; //再减加胶时间
|
|
|
if (totalSeconds > 100000)
|
|
|
{
|
|
|
return 400;
|
|
|
}
|
|
|
else if (totalSeconds < 0)
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return totalSeconds;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (this.saveDataPerLot.Done_allrtime > this.saveDataPerLot.TimeOpenDoor)
|
|
|
{
|
|
|
this.SetPrevLotEndTime(currBeginTime.AddSeconds(this.saveDataPerLot.Done_allrtime)); //保存当前车的密炼结束时间
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
this.SetPrevLotEndTime(currBeginTime.AddSeconds(SaveDataPerLotHandler.RecipeTime)); //保存当前车的密炼结束时间
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 获取上一车的密炼结束时间
|
|
|
/// </summary>
|
|
|
/// <returns>返回上一车的密炼结束时间</returns>
|
|
|
private bool GetPrevLotEndTime(out DateTime prevLotEndTime)
|
|
|
{
|
|
|
prevLotEndTime = DateTime.Now;
|
|
|
DateTime dt2 = DateTime.Now;
|
|
|
FeedingAction action = new FeedingAction();
|
|
|
string strPrevLotEndTime = action.GetSysValue("PrevLotEndTime");
|
|
|
if (String.IsNullOrEmpty(strPrevLotEndTime))
|
|
|
{
|
|
|
prevLotEndTime.AddSeconds(-400);
|
|
|
return false;
|
|
|
}
|
|
|
else if (DateTime.TryParse(strPrevLotEndTime, out dt2))
|
|
|
{
|
|
|
prevLotEndTime = dt2;
|
|
|
return true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
prevLotEndTime.AddSeconds(-400);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 保存上一车的密炼结束时间
|
|
|
/// </summary>
|
|
|
/// <param name="prevLotEndTime"></param>
|
|
|
private void SetPrevLotEndTime(DateTime prevLotEndTime)
|
|
|
{
|
|
|
FeedingAction action = new FeedingAction();
|
|
|
action.UpdateSysValue("PrevLotEndTime", String.Format("{0:yyyy-MM-dd HH:mm:ss}", prevLotEndTime));
|
|
|
}
|
|
|
|
|
|
#region 更新本地库车报表的上传标志
|
|
|
/// <summary>
|
|
|
/// 更新本地库车报表的上传标志
|
|
|
/// </summary>
|
|
|
/// <param name="localHelper">本地库数据连接对象</param>
|
|
|
public void UpdateIsUpFlag(DbHelper localHelper)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
string strSql = "update PptLotData set IsUpFlag=1 where Barcode = @Barcode";
|
|
|
localHelper.ClearParameter();
|
|
|
localHelper.CommandText = strSql;
|
|
|
localHelper.AddParameter("@Barcode", this.lotBarcode.Barcode.Trim());
|
|
|
localHelper.ExecuteNonQuery();
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService.Error(String.Format("更新本地库车报表[{0}]上传标志失败:{1}", this.lotBarcode.Barcode, ex.Message));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
}
|