华恒Mes鼎捷代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

212 lines
7.4 KiB

using System;
using System.Runtime.Remoting;
using System.Linq;
using System.Data.Linq;
using System.Xml;
using System.IO;
using ICSSoft.Base.Config.AppConfig;
using System.Collections.Specialized;
using ICSSoft.Frame.Helper;
using ICSSoft.Frame.Data.Entity;
using ICSSoft.Frame.DataConnect.Action;
using System.Data;
using ICSSoft.Base.Config.DBHelper;
using System.Collections.Generic;
namespace ICSSoft.Frame.DataConnect
{
/// <summary>
/// ReportFacade 的摘要说明。
/// 文件名: ReportFacade.cs
/// 修改人:
/// 修改日期:
/// 描 述:
/// 版 本:
/// </summary>
public class ICSReport : MarshalByRefObject
{
private FramDataContext _domainDataProvider = null;
public ICSReport()
{ }
public override object InitializeLifetimeService()
{
return null;
}
public ICSReport(FramDataContext domainDataProvider)
{
this._domainDataProvider = domainDataProvider;
}
public FramDataContext DataProvider
{
get
{
if (_domainDataProvider == null)
{
_domainDataProvider = new FramDataContext(AppConfig.AppConnectString);
}
return _domainDataProvider;
}
}
#region TimeDimension时间维度
/// <summary>
///
/// </summary>
public object GetTimeDimension(int Date)
{
//return this.DataProvider.CustomSearch(typeof(TimeDimension), new object[] { Date });
string sql = @"select * from ICSTimeDimension
where DDATE='"+Date+"'";
var objs = this._domainDataProvider.ExecuteQuery<ICSTimeDimension>(sql).ToList();
if (objs == null || objs.Count < 1)
return null;
else
return (ICSTimeDimension)objs[0];
}
public object[] QueryTimeDimensionYears()
{
//string sql = "SELECT DISTINCT YEAR FROM ICSTimeDimension ORDER BY YEAR";
//return this.DataProvider.CustomQuery(typeof(TimeDimension), new SQLCondition(sql));
string sql = @"select * from ICSTimeDimension order by YEAR";
sql = string.Format(sql);
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
List<object> rtn = new List<object>();
foreach (var item in dt.Rows)
{
rtn.Add(item as object);
}
return rtn.ToArray();
}
public object[] QueryTimeDimensionMonthsByYear(int year)
{
//string sql = "SELECT DISTINCT Dmonth FROM ICSTimeDimension WHERE YEAR=" + year + " ORDER BY Dmonth";
//return this.DataProvider.CustomQuery(typeof(TimeDimension), new SQLCondition(sql));
string sql = @"select * from ICSTimeDimension where YEAR='" + year + "' order by DMONTH";
sql = string.Format(sql);
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
List<object> rtn = new List<object>();
foreach (var item in dt.Rows)
{
rtn.Add(item as object);
}
return rtn.ToArray();
}
public object[] QueryTimeDimensionWeeksByYear(int year)
{
//string sql = "SELECT DISTINCT dweek FROM ICSTimeDimension WHERE YEAR=" + year + " ORDER BY dweek";
//return this.DataProvider.CustomQuery(typeof(TimeDimension), new SQLCondition(sql));
string sql = @"select * from ICSTimeDimension where YEAR='" + year + "' order by DWEEK";
sql = string.Format(sql);
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
List<object> rtn = new List<object>();
foreach (var item in dt.Rows)
{
rtn.Add(item as object);
}
return rtn.ToArray();
}
#endregion
#region 根据工作天、存货编码、资源代码查找生产订单号
public object[] QueryMOCodeFromReportSOQty(int shiftDay, string shiftCode, string resCode)
{
//object[] returnValue = null;
string sql = string.Empty;
sql += "select distinct MOCODE " + "\r\n";
sql += "from ICSRPTSOQTY,ICSMESEntityList " + "\r\n";
sql += "where ICSRPTSOQTY.ICSMESEntityList_serial=ICSMESEntityList.serial " + "\r\n";
//sql += "SELECT DISTINCT mocode " + "\r\n";
//sql += "FROM tblrptsoqty, tblmesentitylist " + "\r\n";
//sql += "WHERE tblrptsoqty.tblmesentitylist_serial = tblmesentitylist.serial " + "\r\n";
if (shiftDay > 0)
{
sql += "and ICSRPTSOQTY.SHIFTDAY = " + shiftDay.ToString() + " " + "\r\n";
}
if (shiftCode.Trim().Length > 0)
{
sql += "and ICSMESEntityList.SHIFTCODE = '" + shiftCode.Trim().ToUpper() + "' " + "\r\n";
}
if (resCode.Trim().Length > 0)
{
sql += "and ICSMESEntityList.RESCODE = '" + resCode.Trim().ToUpper() + "' " + "\r\n";
}
//returnValue = this.DataProvider.CustomQuery(typeof(ReportSOQty), new SQLCondition(sql));
//return returnValue;
sql = string.Format(sql);
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
List<object> rtn = new List<object>();
foreach (var item in dt.Rows)
{
rtn.Add(item as object);
}
return rtn.ToArray();
}
//根据工作天、班次代码、资源代码、生产订单号查询通过该工序的个数
public object[] QueryOPCountSumFromReportSOQty(int shiftDay, string shiftCode, string resCode, string moCode)
{
//object[] returnValue = null;
string sql = string.Empty;
sql += "select SUM(ICSRPTSOQTY.OpCount) as opcount " + "\r\n";
sql += "from ICSRPTSOQTY,ICSMESEntityList " + "\r\n";
sql += "where ICSRPTSOQTY.ICSMESEntityList_serial=ICSMESEntityList.serial " + "\r\n";
if (shiftDay > 0)
{
sql += "and ICSRPTSOQTY.SHIFTDAY = " + shiftDay.ToString() + " " + "\r\n";
}
if (shiftCode.Trim().Length > 0)
{
sql += "and ICSMESEntityList.SHIFTCODE = '" + shiftCode.Trim().ToUpper() + "' " + "\r\n";
}
if (resCode.Trim().Length > 0)
{
sql += "and ICSMESEntityList.RESCODE = '" + resCode.Trim().ToUpper() + "' " + "\r\n";
}
if (moCode.Trim().Length > 0)
{
sql += "and ICSRPTSOQTY.MOCODE = '" + moCode.Trim().ToUpper() + "' " + "\r\n";
}
//returnValue = this.DataProvider.CustomQuery(typeof(ReportSOQty), new SQLCondition(sql));
//return returnValue;
sql = string.Format(sql);
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
List<object> rtn = new List<object>();
foreach (var item in dt.Rows)
{
rtn.Add(item as object);
}
return rtn.ToArray();
}
#endregion
}
}