1
This commit is contained in:
@@ -26,8 +26,8 @@ namespace GZ.LJY000.Enpower.POSH_W5WagonPlan.BillConvertPlugInEx
|
||||
{
|
||||
|
||||
var sqlL = $@"/*dialect*/
|
||||
WITH #W5预测单 AS (
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSTARTDATE,t0e.FYEAR,t0e.FMATERIALID,t0e.FUNITID
|
||||
;WITH #W5预测单 AS (
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSTARTDATE,t0e.FYEAR,t0e.FMATERIALID,t0e.FUNITID,t0e.FCUSTID
|
||||
,FD1,FD2,FD3,FD4,FD5,FD6,FD7,FD8,FD9,FD10,FD11,FD12,FD13,FD14,FD15,FD16,FD17,FD18,FD19,FD20,FD21,FD22,FD23,FD24,FD25,FD26,FD27,FD28,FD29,FD30,FD31,FD32,FD33,FD34,FD35,FD36,FD37,FD38,FD39,FD40,FD41,FD42
|
||||
FROM T_PLN_FORECAST2W5 t0 --表头
|
||||
INNER JOIN T_PLN_FORECAST2W5ENTRY t0e on t0.FID = t0e.FID --表体
|
||||
@@ -45,7 +45,7 @@ WITH #W5预测单 AS (
|
||||
) AS t1
|
||||
)
|
||||
, #数据二次处理 AS (
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t0.FCUSTID
|
||||
,t0.FQTY
|
||||
,t0.RN
|
||||
,CASE t0.初始周天 WHEN 1 THEN 7 ELSE t0.初始周天 - 1 END '初始周天'
|
||||
@@ -55,7 +55,8 @@ WITH #W5预测单 AS (
|
||||
,DATEADD(SECOND,-1,DATEADD(DAY, 1, t0.日期)) AS 'endDate'
|
||||
FROM #W5装车计划 t0
|
||||
)
|
||||
SELECT *
|
||||
SELECT t0.*
|
||||
INTO #table1
|
||||
FROM (
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t1.groupby
|
||||
FROM #W5预测单 t0 ,
|
||||
@@ -64,15 +65,38 @@ FROM (
|
||||
|
||||
) tt
|
||||
CROSS APPLY (
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t0.FCUSTID
|
||||
,SUM(t0.FQTY) '最终数量'
|
||||
,MIN(t0.日期) minDate
|
||||
,MAX(t0.endDate) maxDate
|
||||
FROM #数据二次处理 t0
|
||||
WHERE tt.FEntryID = t0.FEntryID AND (t0.初始周天 + t0.RN - 1) > (tt.groupby -1) * 7 AND (t0.初始周天 + t0.RN-1) <= tt.groupby * 7
|
||||
GROUP BY t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR
|
||||
GROUP BY t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t0.FCUSTID
|
||||
) t0
|
||||
ORDER BY t0.minDate ASC
|
||||
|
||||
declare @startDate date,@endDate date
|
||||
SELECT @startDate = MIN(t0.minDate),@endDate = MAX(t0.maxDate)
|
||||
FROM #table1 t0
|
||||
;WITH #发货通知单 AS (
|
||||
SELECT t0.FBILLNO,t0.FDATE,t0.FCUSTOMERID,t0e.FMATERIALID,t0e.FQTY,t0e.F_PNDR_BASEQTY3 '2次调拨'
|
||||
FROM T_SAL_DELIVERYNOTICE t0
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY t0e on t0.FID = t0e.FID
|
||||
WHERE t0.FDOCUMENTSTATUS = 'C'
|
||||
AND t0.FDATE between @startDate AND @endDate
|
||||
)
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t0.FCUSTID,t0.minDate,t0.maxDate
|
||||
,CASE WHEN t0.最终数量 < (ISNULL(t1.FQTY,0) + ISNULL(t1.[2次调拨],0)) THEN 0 ELSE t0.最终数量 - (ISNULL(t1.FQTY,0) + ISNULL(t1.[2次调拨],0)) END AS '最终数量'
|
||||
FROM #table1 t0
|
||||
OUTER APPLY (
|
||||
SELECT SUM(t1.FQTY) FQTY ,SUM(t1.[2次调拨]) [2次调拨]
|
||||
FROM #发货通知单 t1
|
||||
WHERE 1 = 1 AND t1.FMATERIALID = t0.FMATERIALID
|
||||
AND t0.FCUSTID = t1.FCUSTOMERID
|
||||
AND t1.FDATE BETWEEN t0.minDate AND t0.maxDate
|
||||
) t1
|
||||
ORDER BY t0.minDate ASC
|
||||
DROP TABLE #table1
|
||||
";
|
||||
//throw new Exception(sqlL);
|
||||
var dataList = DBServiceHelper.ExecuteDynamicObject(this.Context, sqlL);
|
||||
@@ -91,8 +115,11 @@ ORDER BY t0.minDate ASC
|
||||
var unitFId = e.TargetBusinessInfo.GetField("FUnitID") as BaseDataField;
|
||||
var unitBaseFId = e.TargetBusinessInfo.GetField("FBaseUnitID") as BaseDataField;
|
||||
|
||||
//仓库
|
||||
var stockFid = e.TargetBusinessInfo.GetField("FStockId") as BaseDataField;
|
||||
////仓库
|
||||
//var stockFid = e.TargetBusinessInfo.GetField("FStockId") as BaseDataField;
|
||||
|
||||
//客户
|
||||
var custFid = e.TargetBusinessInfo.GetField("FCustId") as BaseDataField;
|
||||
|
||||
foreach (var item in dataList)
|
||||
{
|
||||
@@ -127,6 +154,14 @@ ORDER BY t0.minDate ASC
|
||||
// entity["FOwnerId"] = ownerObj;
|
||||
//}
|
||||
|
||||
var custId = item["FCUSTID"].Long2Int();
|
||||
if(custId > 0)
|
||||
{
|
||||
var custObj = BusinessDataServiceHelper.LoadSingle(this.Context, custId, custFid.RefFormDynamicObjectType);
|
||||
entity["CustID_Id"] = custId;
|
||||
entity["CustID"] = custObj;
|
||||
}
|
||||
|
||||
//# 计量单位
|
||||
var unitId = item["FUNITID"].Long2Int();
|
||||
if (unitId > 0)
|
||||
|
||||
Reference in New Issue
Block a user