using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.PlnSaleOrd.PlanStove.entity;
using CoreFS.CA06;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
namespace Core.StlMes.Client.PlnSaleOrd.PlanStove
{
public class DBComm
{
///
/// 查询镦拔扩订单排产顺序耗时表,并将其内容绑定到grid1
///
public static DataSourceList queryOrderDBK(string PLINE_CODE, string ORD_NO, string PRO_PLAN_ID, string GX_PLAN_NO, string[] statusArr, OpeBase ob)
{
var datasource = EntityHelper.GetData(MethodDef.StoveBase.queryOrderS, new Object[] { SqlIDDef.PlanLuDBK.queryOrderDBK, PLINE_CODE, ORD_NO, PRO_PLAN_ID, GX_PLAN_NO, statusArr }, ob);
return datasource;
}
public static DataSourceList QueryOrderRCL(string PLINE_CODE, string ORD_NO, string PRO_PLAN_ID, string GX_PLAN_NO, string[] statusArr, OpeBase ob)
{
var datasource = EntityHelper.GetData(MethodDef.StoveBase.queryOrderS, new Object[] { SqlIDDef.PlanLuRCL.queryOrderRCL, PLINE_CODE, ORD_NO, PRO_PLAN_ID, GX_PLAN_NO, statusArr }, ob);
return datasource;
}
public static DataSourceList QueryOrderZG(string PLINE_CODE, string ORD_NO, string PRO_PLAN_ID, string GX_PLAN_NO, string[] statusArr, OpeBase ob)
{
var datasource = EntityHelper.GetData(MethodDef.StoveBase.queryOrderS, new Object[] { SqlIDDef.PlanLuZG.queryOrderZG, PLINE_CODE, ORD_NO, PRO_PLAN_ID, GX_PLAN_NO, statusArr }, ob);
return datasource;
}
public static DataSourceList QueryOrderJG(string PLINE_CODE, string ORD_NO, string PRO_PLAN_ID, string GX_PLAN_NO, string[] statusArr, OpeBase ob)
{
var datasource = EntityHelper.GetData(MethodDef.StoveBase.queryOrderS, new Object[] { SqlIDDef.PlanLuJGX.queryOrderJGX, PLINE_CODE, ORD_NO, PRO_PLAN_ID, GX_PLAN_NO, statusArr }, ob);
return datasource;
}
public static DataTable queryMaterialbyStv(string strInwlId,string CustomInfo,string JUDGE_STOVE_NO,string BATCH_NO,string BatchGroupNo,string PRO_PLAN_ID,string GX_PLAN_NO, OpeBase ob)
{
DataTable dt = new DataTable();
if (CustomInfo == CustomInfoDef.DEFINE_CUSTOMER_ZG)
{
dt = Core.Mes.Client.Comm.Server.ServerHelper.GetData(MethodDef.MaterialChoose.getGPInfo, new Object[] { strInwlId,JUDGE_STOVE_NO,PRO_PLAN_ID,GX_PLAN_NO,CommHelper.getProcessCode(CustomInfo) }, ob);
}
else
{
dt = Core.Mes.Client.Comm.Server.ServerHelper.GetData(MethodDef.MaterialChoose.getMaterialbyStove, new Object[] { strInwlId,JUDGE_STOVE_NO,BATCH_NO ,BatchGroupNo,PRO_PLAN_ID,GX_PLAN_NO, CommHelper.getProcessCode(CustomInfo)}, ob);
}
return dt;
}
public static DataTable queryMaterial(string strInwlId, string CustomInfo, OpeBase ob)
{
DataTable dt = new DataTable();
if (CustomInfo == CustomInfoDef.DEFINE_CUSTOMER_ZG)
{
dt = Core.Mes.Client.Comm.Server.ServerHelper.GetData(MethodDef.MaterialChoose.getGPInfo, new Object[] { strInwlId,CommHelper.getProcessCode(CustomInfo)}, ob);
}
else
{
dt = Core.Mes.Client.Comm.Server.ServerHelper.GetData(MethodDef.MaterialChoose.getMaterialInfo, new Object[] { strInwlId, CommHelper.getProcessCode(CustomInfo) }, ob);
}
return dt;
}
///
/// 获取炉计划表里批次生产序号最大的值
///
///
public static int GetMaxProdIndex(string CustomInfo,OpeBase ob)
{
int nResult = 0;
DataTable dt = Core.Mes.Client.Comm.Server.ServerHelper.GetData(MethodDef.StoveBase.queryMaxProdIndex, new Object[] { CommHelper.GetZYMtablename(CustomInfo) }, ob);
if (dt.Rows.Count > 0)
{
try
{
nResult = Convert.ToInt32(dt.Rows[0][0]);
}
catch
{}
}
return nResult;
}
///
/// 创建炉计划号的方法
///
///
public static string CreateHEAT_PLAN_NO(string CustomInfo,OpeBase ob)
{
string result = "";
string firstCode = CommHelper.getProcessCode(CustomInfo);
result = string.Format("{0}{1}{2}", firstCode, DateTime.Today.ToString("yyyyMMdd"), OnMaxTodayHEAT_PLAN_NO(CustomInfo,ob).ToString().PadLeft(4, '0'));
return result;
}
///
/// HEAT_PLAN_NO的格式如E201605160001,本函数获取其后四位+1的整形数字
///
///
public static int OnMaxTodayHEAT_PLAN_NO(string CustomInfo, OpeBase ob)
{
int nRet = 1;
DataTable dt = null;
dt = BaseEntityDAL.GetMaxHeatNo(CommHelper.GetZYMtablename(CustomInfo), ob);
if (dt.Rows.Count > 0)
{
try
{
nRet = Convert.ToInt32(dt.Rows[0][0]);
++nRet;
}
catch
{
}
}
return nRet;
}
public static void queryMaxMinLength(string OrdLnDlyPk, ref string LENGTHMAX, ref string LENGTHMIN,OpeBase ob)
{
DataTable dt = CommHelper.GetDataBySql(string.Format("select LENGTHMAX,LENGTHMIN from PLN_SALEORD where ORD_LN_DLY_PK = '{0}'", OrdLnDlyPk), ob);
foreach (DataRow row in dt.Rows)
{
LENGTHMAX = row["LENGTHMAX"].ToString();
LENGTHMIN = row["LENGTHMIN"].ToString();
}
}
public static int queryLockLiku(string JUDGE_STOVE_NO,string BATCHE_NO,string BATCH_GROUP_NO,string PRO_PLAN_ID,string GX_PLAN_NO,OpeBase ob)
{
int nRet = 1;
DataTable dt = ServerHelper.GetData(MethodDef.MaterialChoose.querylockliku, new Object[] { JUDGE_STOVE_NO, BATCHE_NO, BATCH_GROUP_NO, PRO_PLAN_ID, GX_PLAN_NO }, ob);
try
{
nRet = Convert.ToInt32(dt.Rows[0][0]);
}
catch
{
}
return nRet;
}
}
}