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
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
|
|
|
|
}
|
|
}
|
|
|