| | |
| | | public class prd_ExtractionPlanDetail : SysReportBaseService |
| | | { |
| | | string date = ""; |
| | | string TableName = ""; |
| | | //初始化 |
| | | public override void Initialize() |
| | | { |
| | |
| | | //设置单据列 |
| | | public override ReportHeader GetReportHeaders(IRptParams filter) |
| | | { |
| | | |
| | | //更新总拖期数量 和 总提料数量 |
| | | List<string> sqlList = new List<string>(); |
| | | string sql = string.Format(@"/*dialect*/ update a set a.TQSum = b.FHQTY from {0} a |
| | | join ( |
| | | select SUM(b.FHQTY)FHQTY, FIDENTITYID from {0} c |
| | | join Cg_PODemandPlanBillMain a on c.FSUPPLIERID = a.FSUPPLIERID and c.FHPURCHASEORGID = a.FHPURCHASEORGID |
| | | join(select SUM(FHQTY)FHQTY, FHMATERID, FID from Cg_PODemandPlanBillSub GROUP BY FHMATERID, FID) b on a.FID = B.FID and c.FHMATERID = b.FHMATERID |
| | | where {1} and datediff(d, FHDATE, getdate())> 0 |
| | | group by FIDENTITYID |
| | | ) b on a.FIDENTITYID = b.FIDENTITYID", |
| | | TableName, date); |
| | | //DBServiceHelper.Execute(Context, sql); |
| | | sqlList.Add(sql); |
| | | sql = string.Format(@"/*dialect*/ update a set a.PlanSum = b.FHQTY from {0} a |
| | | join ( |
| | | select SUM(b.FHQTY)FHQTY,FIDENTITYID from {0} c |
| | | join Cg_PODemandPlanBillMain a on c.FSUPPLIERID = a.FSUPPLIERID and c.FHPURCHASEORGID = a.FHPURCHASEORGID |
| | | join (select SUM(FHQTY)FHQTY, FHMATERID, FID from Cg_PODemandPlanBillSub GROUP BY FHMATERID,FID) b on a.FID = B.FID and c.FHMATERID = b.FHMATERID |
| | | where {1} and datediff(d,FHDATE,getdate())<=0 |
| | | group by FIDENTITYID |
| | | ) b on a.FIDENTITYID=b.FIDENTITYID", |
| | | TableName, date); |
| | | //DBServiceHelper.Execute(Context, sql); |
| | | sqlList.Add(sql); |
| | | DBServiceHelper.Execute(Context,string.Join(";", sqlList)); |
| | | |
| | | ReportHeader header = new ReportHeader(); |
| | | header.AddChild("FRogNUMBER", new LocaleValue("供应商信息&采购组织", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); |
| | | header.AddChild("FNAME", new LocaleValue("供应商信息&供应商", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); |
| | |
| | | header.AddChild("FQTY", new LocaleValue("物料信息&库存数量", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); |
| | | header.AddChild("FTRANSITQTY", new LocaleValue("物料信息&在途数量", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); |
| | | |
| | | //header.AddChild("FNUMBER", new LocaleValue("拖期明细&拖期数量", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); |
| | | |
| | | //header.AddChild("FNUMBER", new LocaleValue("计划明细&合计", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); |
| | | DataSet ds = DBServiceHelper.ExecuteDataSet(Context, "/*dialect*/select distinct convert(nvarchar(50),FHDATE,111) FHDATE from Cg_PODemandPlanBillMain"); |
| | | header.AddChild("TQSum", new LocaleValue("拖期明细&拖期数量", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); |
| | | DataSet ds = DBServiceHelper.ExecuteDataSet(Context, "/*dialect*/select distinct convert(nvarchar(50),FHDATE,23) FHDATE from Cg_PODemandPlanBillMain where " + date + " and datediff(d,FHDATE,getdate())>0 "); |
| | | DataTable dt = ds.Tables[0]; |
| | | if (dt.Rows.Count > 0) |
| | | { |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | | header.AddChild(dr[0].ToString(), new LocaleValue("拖期明细&" + dr[0].ToString() + "", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); |
| | | } |
| | | } |
| | | header.AddChild("PlanSum", new LocaleValue("计划明细&合计", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); |
| | | DataSet _ds = DBServiceHelper.ExecuteDataSet(Context, "/*dialect*/select distinct convert(nvarchar(50),FHDATE,23) FHDATE from Cg_PODemandPlanBillMain where " + date + " and datediff(d,FHDATE,getdate())<=0"); |
| | | dt = _ds.Tables[0]; |
| | | if (dt.Rows.Count > 0) |
| | | { |
| | | foreach (DataRow dr in dt.Rows) |
| | |
| | | //创建临时报表 |
| | | public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) |
| | | { |
| | | TableName = tableName; |
| | | string Filter = GetFilterWhere(filter); |
| | | string seqFld = string.Format(base.KSQL_SEQ, OrderColumn(filter)); |
| | | // 取数SQL |
| | | // FID, FEntryId, 编号、状态、物料、数量、单位、单位精度、单价、价税合计 ,t1M_L.FNAME as FMaterialName |
| | | string sql = string.Format(@"/*dialect*/ |
| | | exec 提料计划报表 '{0}','{1}','{2}' |
| | | ", |
| | | seqFld, |
| | | tableName |
| | | , Filter |
| | | ); |
| | | string sql = string.Format(@"/*dialect*/exec 提料计划报表 '{0}','{1}'", tableName, Filter.Trim()); |
| | | DBUtils.ExecuteDynamicObject(this.Context, sql); |
| | | |
| | | } |
| | | ////获取过滤条件 |
| | | private string GetFilterWhere(IRptParams filter) |
| | |
| | | string startValue = (customFilter["FBeginConveyDate"] == null) ? string.Empty : Convert.ToDateTime(customFilter["FBeginConveyDate"]).ToString("yyyy/MM/d"); |
| | | string endValue = (customFilter["FEndConveyDate"] == null) ? string.Empty : Convert.ToDateTime(customFilter["FEndConveyDate"]).ToString("yyyy/MM/d"); |
| | | strwhere.AppendLine(string.Format(" AND FHDate>=''{0}'' and FHDate<=''{1}'' ", startValue, endValue)); |
| | | date = string.Format(" FHDate>=''{0}'' and FHDate<=''{1}'' ", startValue, endValue); |
| | | date = string.Format(" FHDate>='{0}' and FHDate<='{1}' ", startValue, endValue); |
| | | //物料 |
| | | var baseDataNameValue = customFilter["FMATERIALID"]; |
| | | string MaterailName = baseDataNameValue == null |