diff --git a/01.扩展/HandleUtils/HandleUtils.csproj b/01.扩展/HandleUtils/HandleUtils.csproj
index 37a1d6c..207bbc8 100644
--- a/01.扩展/HandleUtils/HandleUtils.csproj
+++ b/01.扩展/HandleUtils/HandleUtils.csproj
@@ -48,9 +48,11 @@
+
+
\ No newline at end of file
diff --git a/01.扩展/HandleUtils/sql/拆分字段值.sql b/01.扩展/HandleUtils/sql/拆分字段值.sql
new file mode 100644
index 0000000..2edbb54
--- /dev/null
+++ b/01.扩展/HandleUtils/sql/拆分字段值.sql
@@ -0,0 +1,72 @@
+declare @val varchar(8000)
+set @val = 'AA1,10.1;BB1,6.5'
+
+/************************ֳɶжstart***************************/
+--v1.0
+SELECT
+ rowSet.[1] AS 'MaterialId'
+ ,rowSet.[2] AS 'Qty'
+ ,rowSet.[3] AS 'StockId'
+ ,rowSet.[4] AS 'dateTime'
+FROM (
+ SELECT
+ CAST(''+ REPLACE(rowSet.resVal,',','') + '' AS XML) AS xmlVal
+ ,ROW_NUMBER() over (order by resVal) RN
+ FROM (
+ SELECT CAST(''+ REPLACE('AA1,10.1;BB1,16.5',';','') + '' AS XML) AS xmlVal
+ ) AS valSet
+ OUTER APPLY (
+ SELECT T.C.value('.','varchar(100)') resVal
+ FROM valSet.xmlVal.nodes('/v') AS T(C)
+ ) rowSet
+) AS valSet
+OUTER APPLY (
+ SELECT TT2.*
+ FROM (
+ SELECT T.C.value('.','varchar(100)') resVal
+ ,ROW_NUMBER() over (order by valSet.RN) RowNo
+ FROM valSet.xmlVal.nodes('/v') AS T(C)
+ ) TT
+ PIVOT ( MAX(TT.resVal) FOR TT.RowNo IN ([1],[2],[3],[4])) TT2
+) rowSet
+--v2.0
+SELECT
+ rowSet2.[1] AS 'MaterialId'
+ ,rowSet2.[2] AS 'Qty'
+ ,rowSet2.[3] AS 'StockId'
+ ,rowSet2.[4] AS 'FDate'
+ ,rowSet2.[5] AS 'FSBILLID'
+ ,rowSet2.[6] AS 'FSID'
+ ,rowSet2.[7] AS 'FSTABLENAME'
+ ,0 AS 'HasVal'
+FROM (
+ SELECT 1 ID,CAST(''+ REPLACE('AA1,10.1;BB1,16.5',';','') + '' AS XML) AS xmlVal
+) AS valSet
+OUTER APPLY (
+ SELECT ROW_NUMBER() OVER (ORDER BY valSet.ID) RN
+ ,CAST(''+ REPLACE(T.C.value('.','varchar(100)'),',','') + '' AS XML) xmlVal
+ FROM valSet.xmlVal.nodes('/v') AS T(C)
+) rowSet
+OUTER APPLY (
+ SELECT * FROM (
+ SELECT T.C.value('.','varchar(100)') AS xmlVal
+ ,ROW_NUMBER() OVER (ORDER BY rowSet.RN) RowNo
+ FROM rowSet.xmlVal.nodes('/v') AS T(C)
+ ) TT
+ PIVOT ( MAX(TT.xmlVal) FOR TT.RowNo IN ([1],[2],[3],[4],[5],[6],[7])) TT2
+) rowSet2
+/************************ֳɶжend***************************/
+
+/************************ֳɶstart***************************/
+SELECT
+ rowSet.resVal
+ ,rowSet.rowNo
+FROM (
+ SELECT CAST(''+ REPLACE('AA1,10.1;BB1,6.5',';','') + '' AS XML) AS xmlVal
+) AS valSet
+OUTER APPLY (
+ SELECT T.C.value('.','varchar(100)') resVal
+ ,row_number() over (order by C) rowNo
+ FROM valSet.xmlVal.nodes('/v') AS T(C)
+) rowSet
+/************************ֳɶend***************************/
\ No newline at end of file
diff --git a/01.扩展/HandleUtils/sql/查询字段所在表.sql b/01.扩展/HandleUtils/sql/查询字段所在表.sql
index 66e672d..d415d7e 100644
--- a/01.扩展/HandleUtils/sql/查询字段所在表.sql
+++ b/01.扩展/HandleUtils/sql/查询字段所在表.sql
@@ -6,6 +6,6 @@ FROM
syscolumns b
WHERE
a.id= b.id
- AND b.name LIKE '%FSALUNITID'
+ AND b.name LIKE '%FPRICE'
AND a.type= 'U'
- --AND a.name LIKE 'T_PRD_%'
\ No newline at end of file
+ AND a.name LIKE 'T_STK_STKTRANSFERINENTRY%'
\ No newline at end of file
diff --git a/01.扩展/HandleUtils/sql/查询表名.sql b/01.扩展/HandleUtils/sql/查询表名.sql
index d37346a..51b55c4 100644
--- a/01.扩展/HandleUtils/sql/查询表名.sql
+++ b/01.扩展/HandleUtils/sql/查询表名.sql
@@ -3,5 +3,5 @@ SELECT
FROM
sysobjects a
WHERE
- a.name LIKE 'T_AR_RECEIVABLEENTRY%'
+ a.name LIKE 'T_BD_MATERIAL%'
AND a.type= 'U'
\ No newline at end of file
diff --git a/01.扩展/HandleUtils/sql/查询表所在模块.sql b/01.扩展/HandleUtils/sql/查询表所在模块.sql
new file mode 100644
index 0000000..34dc3d6
--- /dev/null
+++ b/01.扩展/HandleUtils/sql/查询表所在模块.sql
@@ -0,0 +1,10 @@
+/****************ѯģ***************/
+SELECt FOBJECTTYPEID --ģ
+ ,FREFOBJECTTYPEID
+ ,FTABLENAME
+ ,FFIELDNAME
+ ,t1_l.FNAME
+FROM T_META_OBJECTTYPEREF t0
+ INNER JOIN T_META_OBJECTTYPE_L t1_l
+ on t0.FOBJECTTYPEID = t1_l.FID AND t1_l.FLOCALEID = 2052
+WHERE FTABLENAME = 'T_HS_OUTACCTG'
\ No newline at end of file
diff --git a/02.珠海市供水有限公司/SAL_OUTSTOCK/SAL_OUTSTOCK.csproj b/02.珠海市供水有限公司/SAL_OUTSTOCK/SAL_OUTSTOCK.csproj
index 5c269a9..6c66b31 100644
--- a/02.珠海市供水有限公司/SAL_OUTSTOCK/SAL_OUTSTOCK.csproj
+++ b/02.珠海市供水有限公司/SAL_OUTSTOCK/SAL_OUTSTOCK.csproj
@@ -69,11 +69,6 @@
-
-
-
-
-
diff --git a/02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/BillEventPlugInEx.py b/02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/BillEventPlugInEx.py
index 5275fff..3297d13 100644
--- a/02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/BillEventPlugInEx.py
+++ b/02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/BillEventPlugInEx.py
@@ -9,7 +9,6 @@ clr.AddReference("Kingdee.BOS.ServiceHelper")
from Kingdee.BOS import*
from Kingdee.BOS.Core import *
-from Kingdee.BOS.Core.Metadata.EntityElement import *
from Kingdee.BOS.Orm.DataEntity import*
from Kingdee.BOS.Orm.Metadata.DataEntity import*
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
@@ -40,52 +39,84 @@ def DataChanged(e):
entrys = this.View.Model.GetEntityDataObject(entity)
idlist = list(filter(lambda x:x["materialId"] > 0,map(lambda x:{ "materialId":x["MaterialId_Id"] ,"inRow": x["Seq"] - 1} ,entrys)))
GetcContractAnnualCost(idlist,hasQRCost)
-
+
+
def GetcContractAnnualCost(idList,hasQRCost):
# whereSql = " AND t0e.F_QNV_BASE1 IN ({0}) ".format(",".join(idList))
intoSqlList = List[str]()
if idList != None and idList.Count > 0:
- for idObj in idList:
- intoSqlList.Add("SELECT {0} AS 'MATERIALID' ,{1} inRow".format(str(idObj["materialId"]),str(idObj["inRow"])));
-
+ # for idObj in idList:
+ # intoSqlList.Add("SELECT {0} AS 'MATERIALID' ,{1} inRow".format(str(idObj["materialId"]),str(idObj["inRow"])));
+ # whereSql = " union ".join(intoSqlList);
+ for x in idList:
+ intoSqlList.Add(str(x["materialId"]) +','+ str(x["inRow"]))
+ whereSql = ";".join(intoSqlList);
sql = """/*dialect*/
- SELECT *
+SELECT
+ rowSet2.[1] AS 'MaterialId'
+ ,rowSet2.[2] AS 'inRow'
INTO #TMPMATERIALNUM
- FROM ({0}) tt
+FROM (
+ SELECT 1 ID,CAST(''+ REPLACE('{0}',';','') + '' AS XML) AS xmlVal
+) AS valSet
+OUTER APPLY (
+ SELECT ROW_NUMBER() OVER (ORDER BY valSet.ID) RN
+ ,CAST(''+ REPLACE(T.C.value('.','varchar(100)'),',','') + '' AS XML) xmlVal
+ FROM valSet.xmlVal.nodes('/v') AS T(C)
+) rowSet
+OUTER APPLY (
+ SELECT * FROM (
+ SELECT T.C.value('.','varchar(100)') AS xmlVal
+ ,ROW_NUMBER() OVER (ORDER BY rowSet.RN) RowNo
+ FROM rowSet.xmlVal.nodes('/v') AS T(C)
+ ) TT
+ PIVOT ( MAX(TT.xmlVal) FOR TT.RowNo IN ([1],[2])) TT2
+) rowSet2
- SELECT tt.inRow,ISNULL(t.,0) AS ''
- ,ISNULL(t.˰,0) AS '˰'
- ,ISNULL(t.ۺϵ,0) AS 'ۺϵ'
- ,ISNULL(t.Ĭ˰,0) AS 'Ĭ˰'
- FROM #TMPMATERIALNUM tt
- LEFT JOIN (SELECT t0e.FID
- ,t0e.FENTRYID
- ,t0.FBILLNO
- ,t0.F_QNV_TEXT2
- ,t0e.F_QNV_BASE1 AS ''
- ,t0e.F_QNV_DECIMAL1 AS '˰'
- ,t0e.F_QNV_DECIMAL3 AS 'ۺϵ'
- ,t0e.F_QNV_DATE2 AS 'Ч'
- ,t0e.F_QNV_DATE3 AS 'ʧЧ'
- ,t1.FTAXRATE AS 'Ĭ˰'
- ,ROW_NUMBER() OVER (PARTITION BY t0e.F_QNV_BASE1 ORDER BY t0e.F_QNV_DATE2 DESC) AS 'RN'
- FROM QNV_t_Cust_Entry100003 t0
- INNER JOIN QNV_t_Cust_Entry100004 t0e on t0.FID = t0e.FID
- INNER JOIN T_BD_TAXRATE t1 on t1.FID = t0e.F_QNV_BASE3
- WHERE 1=1
- AND t0.FDOCUMENTSTATUS ='C'
- AND GETDATE() BETWEEN t0e.F_QNV_DATE2 AND t0e.F_QNV_DATE3
- ) t on t. = tt.MATERIALID AND t.RN = 1
- WHERE 1 = 1
-
- """.format(" union ".join(intoSqlList))
+SELECT CONVERT(int,tt0.inRow) AS inRow
+ ,ISNULL(tt2.,0) AS ''
+ ,ISNULL(tt2.˰,0) AS '˰'
+ ,ISNULL(tt2.ۺϵ,0) AS 'ۺϵ'
+ ,ISNULL(tt2.Ĭ˰,0) AS 'Ĭ˰'
+ ,tt2.FBILLNO
+FROM #TMPMATERIALNUM tt0
+ OUTER APPLY (
+ SELECT TOP 1
+ t0e.FID
+ ,t0e.FENTRYID
+ ,t0.FBILLNO
+ ,t0.F_QNV_TEXT2
+ ,t0e.F_QNV_BASE1 AS ''
+ ,t0e.F_QNV_DECIMAL1 AS '˰'
+ ,t0e.F_QNV_DECIMAL3 AS 'ۺϵ'
+ ,t0e.F_QNV_DATE2 AS 'Ч'
+ ,t0e.F_QNV_DATE3 AS 'ʧЧ'
+ ,t1.FTAXRATE AS 'Ĭ˰'
+ FROM QNV_t_Cust_Entry100003 t0
+ INNER JOIN QNV_t_Cust_Entry100004 t0e on t0.FID = t0e.FID
+ INNER JOIN T_BD_TAXRATE t1 on t1.FID = t0e.F_QNV_BASE3
+ CROSS APPLY (
+ SELECT t3.FMATERIALID
+ FROM T_BD_MATERIAL t2
+ INNER JOIN T_BD_MATERIAL t3 on t2.FMASTERID = t3.FMASTERID
+ WHERE t2.FMATERIALID = tt0.MATERIALID
+ AND t3.FMATERIALID = t0e.F_QNV_BASE1
+ ) tt1
+ WHERE 1 = 1
+ AND t0.FDOCUMENTSTATUS ='C'
+ AND GETDATE() BETWEEN t0e.F_QNV_DATE2 AND t0e.F_QNV_DATE3
+ ORDER BY t0e.F_QNV_DATE2 DESC
+ ) tt2
+WHERE 1 = 1
+
+ """.format(whereSql)
result = DBServiceHelper.ExecuteDynamicObject(this.Context, sql)
if result != None and result.Count > 0:
priceKey = "ۺϵ" if hasQRCost else "˰"
for row in result:
- rowIndex = row["inRow"]
+ rowIndex = row["inRow"]
this.View.Model.SetValue("FTAXPRICE", row[priceKey], rowIndex)
this.View.Model.SetValue("FTAXRATE", row["Ĭ˰"], rowIndex)
this.View.InvokeFieldUpdateService("FTAXPRICE" ,rowIndex)
@@ -95,3 +126,5 @@ def DoCheckConditions():
if orgObj["Id"] == 101542:
return True
return False
+
+
diff --git a/02.珠海市供水有限公司/ZHSW.Python/sql/获取合同年度单价.sql b/02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/sql/获取合同年度单价.sql
similarity index 100%
rename from 02.珠海市供水有限公司/ZHSW.Python/sql/获取合同年度单价.sql
rename to 02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/sql/获取合同年度单价.sql
diff --git a/02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/sql/采购合同更新含税金额.sql b/02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/sql/采购合同更新含税金额.sql
new file mode 100644
index 0000000..bca11e4
--- /dev/null
+++ b/02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/sql/采购合同更新含税金额.sql
@@ -0,0 +1,101 @@
+SELECT
+ tt0.*
+ --CONVERT(int,tt0.inRow) AS 'inRow'
+ ,ISNULL(tt2.,0) AS ''
+ ,ISNULL(tt2.˰,0) AS '˰'
+ ,ISNULL(tt2.ۺϵ,0) AS 'ۺϵ'
+ ,ISNULL(tt2.Ĭ˰,0) AS 'Ĭ˰'
+ ,tt2.FUSEORGID
+ INTO #TMP
+FROM (
+ SELECT t0.FBILLNO
+ ,t0.FAPPLICATIONDATE
+ ,t0e.FMATERIALID MATERIALID
+ ,t0e.FENTRYID
+ ,t0e.FEVALUATEPRICE --
+ ,t0e.FTAXPRICE --˰
+ ,t0e.FTAXRATE --˰
+ ,t0e.FAMOUNT --
+ ,t0e.FREQAMOUNT --˰
+ ,t0e.FREQQTY
+ FROM T_PUR_Requisition t0
+ INNER JOIN T_PUR_ReqEntry t0e on t0.FID = t0e.FID
+ WHERE 1 = 1
+ --AND t0.FBILLNO = 'CGSQ000769'
+ --AND t0e.FEVALUATEPRICE = 0
+ AND t0.FAPPLICATIONORGID = 101542
+ --AND t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FAPPLICATIONDATE >= '2024-04-01 00:00:00'
+ ) tt0
+ OUTER APPLY (
+ SELECT TOP 1
+ t0e.FID
+ ,t0e.FENTRYID
+ ,t0.FBILLNO
+ ,t0.F_QNV_TEXT2
+ ,t0e.F_QNV_BASE1 AS ''
+ ,t0e.F_QNV_DECIMAL1 AS '˰'
+ ,t0e.F_QNV_DECIMAL3 AS 'ۺϵ'
+ ,t0e.F_QNV_DATE2 AS 'Ч'
+ ,t0e.F_QNV_DATE3 AS 'ʧЧ'
+ ,t1.FTAXRATE AS 'Ĭ˰'
+ ,tt1.FUSEORGID
+ FROM QNV_t_Cust_Entry100003 t0
+ INNER JOIN QNV_t_Cust_Entry100004 t0e on t0.FID = t0e.FID
+ INNER JOIN T_BD_TAXRATE t1 on t1.FID = t0e.F_QNV_BASE3
+ CROSS APPLY (
+ SELECT t3.FMATERIALID,t3.FUSEORGID
+ FROM T_BD_MATERIAL t2
+ INNER JOIN T_BD_MATERIAL t3 on t2.FMASTERID = t3.FMASTERID
+ --AND (t3.FUSEORGID = 101542 OR t3.FUSEORGID = 101549 OR t3.FUSEORGID = 1)
+ WHERE t2.FMATERIALID = tt0.MATERIALID
+ AND t3.FMATERIALID = t0e.F_QNV_BASE1
+ ) tt1
+ WHERE 1 = 1
+ AND t0.FDOCUMENTSTATUS ='C'
+ AND GETDATE() BETWEEN t0e.F_QNV_DATE2 AND t0e.F_QNV_DATE3
+ ORDER BY t0e.F_QNV_DATE2 DESC
+ ) tt2
+WHERE 1 = 1
+
+--SELECT t1.˰/(1+t1.Ĭ˰/100)--
+-- ,t1.˰ --˰
+-- ,t1.Ĭ˰ --˰
+-- ,t1.˰/(1+t1.Ĭ˰/100) * t0e.FREQQTY--
+-- ,t1.˰ * t0e.FREQQTY --˰
+-- ,t1.FAPPLICATIONDATE
+--FROM T_PUR_ReqEntry t0e
+-- INNER JOIN #TMP t1 on t0e.FENTRYID = t1.FENTRYID
+--ORDER BY t1.FAPPLICATIONDATE DESC
+
+
+
+--UPDATE t0e SET t0e.FEVALUATEPRICE = t1.˰/(1+t1.Ĭ˰/100)--
+-- ,t0e.FTAXPRICE = t1.˰ --˰
+-- ,t0e.FTAXRATE =t1.Ĭ˰ --˰
+-- ,t0e.FAMOUNT = t1.˰/(1+t1.Ĭ˰/100) * t0e.FREQQTY--
+-- ,t0e.FREQAMOUNT = t1.˰ * t0e.FREQQTY --˰
+--FROM T_PUR_ReqEntry t0e
+-- INNER JOIN #TMP t1 on t0e.FENTRYID = t1.FENTRYID
+
+SELECT t0.FBILLNO
+ ,t0.FAPPLICATIONDATE
+ ,t0.FID
+ ,t0.FTOTALAMOUNT
+ ,t1.sumREQAMOUNT
+ ,t0.FTOTALNOREQAMOUNT
+ ,t1.sumAMOUNT
+--UPDATE t0 SET t0.FTOTALAMOUNT = t1.sumREQAMOUNT
+-- ,t0.FTOTALNOREQAMOUNT =t1.sumAMOUNT
+FROM T_PUR_Requisition t0
+ CROSS APPLY (
+ SELECT SUM(t0e.FAMOUNT) sumAMOUNT,SUM(t0e.FREQAMOUNT) sumREQAMOUNT
+ FROM T_PUR_ReqEntry t0e
+ WHERE t0e.FID = t0.FID
+ GROUP BY t0e.FID
+ ) t1
+WHERE 1 = 1
+ AND t0.FAPPLICATIONDATE >= '2024-04-01 00:00:00'
+ AND t0.FAPPLICATIONORGID = 101542
+
+DROP TABLE #TMP
\ No newline at end of file
diff --git a/02.珠海市供水有限公司/ZHSW.Python/STK_MisDelivery/BillEventPlugInEx.py b/02.珠海市供水有限公司/ZHSW.Python/STK_MisDelivery/BillEventPlugInEx.py
new file mode 100644
index 0000000..ea49901
--- /dev/null
+++ b/02.珠海市供水有限公司/ZHSW.Python/STK_MisDelivery/BillEventPlugInEx.py
@@ -0,0 +1,43 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.DataEntity")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.Contracts")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+
+from Kingdee.BOS import*
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Metadata.EntityElement import *
+from Kingdee.BOS.Orm.DataEntity import*
+from Kingdee.BOS.Orm.Metadata.DataEntity import*
+from Kingdee.BOS.Core.DynamicForm.PlugIn import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
+from Kingdee.BOS.Util import *
+from System import *
+from System.ComponentModel import*
+from System.Collections.Generic import*
+from System.Text import*
+from Kingdee.BOS.ServiceHelper import *
+
+def DataChanged(e):
+ if e.Field.Key == "FDATE":
+ if DoCheckConditions():
+ if e.NewValue.ToString().Equals(e.OldValue.ToString()) == False:
+ details = this.View.BusinessInfo.GetEntity("FEntity")
+ if details != null:
+ entrys = this.View.Model.GetEntityDataObject(details)
+ if entrys != null and entrys.Count > 0:
+ rowIndex = this.View.Model.GetRowIndex(details, entry)
+ materialObjValue = entry["MaterialId_Id"];
+ materialValue = 0 if materialObjValue.IsNullOrEmptyOrWhiteSpace() else materialObjValue.Long2Int()
+
+ stockObjValue = entry["StockId_Id"];
+ stockValue = 0 if stockObjValue.IsNullOrEmptyOrWhiteSpace() else stockObjValue.Long2Int();
+def DoCheckConditions():
+ orgObj = this.View.Model.GetValue("FStockOrgId")
+ if orgObj["Id"] == 101542:
+ return True
+ # return False
+ return True
diff --git a/02.珠海市供水有限公司/ZHSW.Python/ZHSW.Python.pyproj b/02.珠海市供水有限公司/ZHSW.Python/ZHSW.Python.pyproj
index 22e2816..59aaac1 100644
--- a/02.珠海市供水有限公司/ZHSW.Python/ZHSW.Python.pyproj
+++ b/02.珠海市供水有限公司/ZHSW.Python/ZHSW.Python.pyproj
@@ -23,10 +23,17 @@
false
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/OperactionEventPlugInEx.py b/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/OperactionEventPlugInEx.py
new file mode 100644
index 0000000..5996fe9
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/OperactionEventPlugInEx.py
@@ -0,0 +1,47 @@
+#clrп
+import clr
+#Ӷcloudij
+clr.AddReference('System')
+clr.AddReference('System.Data')
+clr.AddReference("ExtensionMethods")
+# ýstart
+clr.AddReference('Kingdee.BOS')
+clr.AddReference('Kingdee.BOS.App')
+clr.AddReference('Kingdee.BOS.App.Core')
+clr.AddReference('Kingdee.BOS.Business.DynamicForm')
+clr.AddReference('Kingdee.BOS.Contracts')
+clr.AddReference('Kingdee.BOS.Core')
+clr.AddReference('Kingdee.BOS.DataEntity')
+clr.AddReference('Kingdee.BOS.ServiceHelper')
+# ýend
+
+#dairycloudеijʵռ䵼룬ݹ鵼룩
+from System import *
+from System.Data import *
+from System.Collections.Generic import List
+from ExtensionMethods import BooleanExtension as boolObjEx
+from ExtensionMethods import DateTimeExtension as dateObjEx
+from ExtensionMethods import ObjectExtension as objEx
+from ExtensionMethods import StringExtension as strObjEx
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Util import *
+from Kingdee.BOS.Core.Bill import *
+from Kingdee.BOS.Core.Bill.PlugIn import *
+from Kingdee.BOS.Orm.DataEntity import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
+from Kingdee.BOS.App.Data import *
+from Kingdee.BOS.ServiceHelper import *
+
+def OnPreparePropertys(e):
+ e.FieldKeys.Add("FWorkTimeType")
+
+
+def EndOperationTransaction(e):
+ # 8ύ9126
+ if this.FormOperation.OperationId == 8:
+ va = "1111";
+ # raise Exception("sss:{0}".format(type(strObjEx.ToDouble(va))));
+ raise Exception("sss:{0}".format(type(DictionaryUtils.Long2Int(va))));
+ # raise Exception(va.ToDouble());
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/SQLServer/更新对应表中产品对照倒置id.sql b/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/SQLServer/更新对应表中产品对照倒置id.sql
new file mode 100644
index 0000000..fa6ffff
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/SQLServer/更新对应表中产品对照倒置id.sql
@@ -0,0 +1,44 @@
+SELECT
+ t0.FID
+ ,t0e.FCPID
+ into #tmp
+FROM hw_mjcpdzb t0
+ INNER JOIN hw_mjcpdzbs t0e on t0.FID = t0e.FID
+GROUP BY
+ t0.FID,t0e.FCPID
+having
+ count(1) =1
+--SELECT * FROM #tmp
+SELECT t0.FID
+ ,t0.FMJID
+ ,t0e.FEntryID
+ ,t0e.FCPID
+ into #tmp1
+FROM hw_mjcpdzb t0
+ inner join hw_mjcpdzbs t0e on t0.FID = t0e.FID
+WHERE exists (SELECT 1 from #tmp t WHERE t.fid = t0.fid AND t0e.FCPID = t0.FCPID)
+
+/***********bomеģ߱start***********/
+--UPDATE t0 SET t0.FMJDZDZID = tt.FEntryID
+SELECT
+ tt.FEntryID,t0.*
+FROM
+ #tmp1 tt
+ inner join T_ENG_BOM t0 on t0.FMATERIALID = tt.FCPID AND t0.F_PAEZ_BASE = tt.FMJID
+
+drop table #tmp
+drop table #tmp1
+/***********bomеģ߱end***********/
+
+--UPDATE t1e SET t1e.FMJDZDZID = t0.FMJDZDZID
+SELECT
+ t0.FMJDZDZID,t1e.FMJDZDZID
+FROM T_ENG_BOM t0
+ INNER JOIN T_PRD_MOENTRY t1e on t0.FID = t1e.FBOMID
+WHERE t0.FMJDZDZID != 0 AND t1e.FMJDZDZID != t0.FMJDZDZID
+
+--UPDATE t0 SET t0.FMJDZDZID = t1.FMJDZDZID
+SELECT t0.*
+FROM T_PRD_PPBOM t0
+ INNER JOIN T_ENG_BOM t1 on t0.FBOMID = t1.FID
+WHERE t1.FMJDZDZID != 0 AND t1.FMJDZDZID != t0.FMJDZDZID
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/SQLServer/模具-产品对照倒置表.sql b/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/SQLServer/模具-产品对照倒置表.sql
new file mode 100644
index 0000000..9690fd6
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/SQLServer/模具-产品对照倒置表.sql
@@ -0,0 +1,32 @@
+IF EXISTS(SELECT * FROM sysobjects WHERE name = 'V_HWMJCPDZDZB')--Ϊͼ
+ DROP VIEW V_HWMJCPDZDZB--ͼ
+GO
+CREATE VIEW V_HWMJCPDZDZB AS
+SELECT
+ t0e.FEntryID 'FID'
+ ,t0e.FID AS 'FPID'
+ ,t0e.FCPID
+ ,t0e.FMJSMZQ AS 'FMJSCZQ'--'ģ'
+ ,CAST(t0e.FMJQS AS decimal(23,6)) AS 'FMJQS'--'ģǻ'
+ ,t0e.FBZCL AS 'FBZCN'--''
+ ,t0e.FJTBZ --AS '̨ע'
+ ,t0e.FMJHH --AS 'ģ/ϸ'
+ ,t0e.F_PAEZ_DECIMAL AS 'FCPDZ'--'Ʒ'
+ ,t0e.F_PAEZ_DECIMAL1 AS 'FCCSKZL'--'ˮ'
+ ,t0.FNUMBER
+ ,t0.FMJID
+ ,t0.F_PAEZ_TEXT AS 'FMJGGXH'--'ģ߹(** mm'
+ ,t0.F_PAEZ_TEXT1 AS 'FMJXS'--'ģѨ'
+ ,t0.F_PAEZ_COMBO AS 'FMJLX'--'ģ'
+ ,t0.FDOCUMENTSTATUS
+ ,t0.FFORBIDSTATUS
+ ,t1_l.FNAME AS 'FName'
+ ,t2_l.FNAME AS 'FProName'
+ ,t0.FMJID AS FMJMATERIALID
+ ,t0e.FCPID AS FCPMATERIALID
+FROM hw_mjcpdzb t0
+ INNER JOIN hw_mjcpdzbs t0e on t0.FID = t0e.FID
+ LEFT JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t0.FMJID AND t1_l.FLOCALEID = 2052
+ LEFT JOIN T_BD_MATERIAL_L t2_l on t2_l.FMATERIALID = t0e.FCPID AND t2_l.FLOCALEID = 2052
+WHERE
+ t0.FDOCUMENTSTATUS ='C'
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/SQLServer/模具产品对照-同一个模具下多个相同产品查询.sql b/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/SQLServer/模具产品对照-同一个模具下多个相同产品查询.sql
new file mode 100644
index 0000000..a79a138
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/PRD_MO/SQLServer/模具产品对照-同一个模具下多个相同产品查询.sql
@@ -0,0 +1,13 @@
+SELECT t.*,t1_l.*
+FROM (SELECT
+ t0.FID
+ ,count(1) co
+ ,t0e.FCPID
+FROM hw_mjcpdzb t0
+ INNER JOIN hw_mjcpdzbs t0e on t0.FID = t0e.FID
+GROUP BY
+ t0.FID,t0e.FCPID
+having
+ count(1) >1) t
+ inner join hw_mjcpdzb t0 on t.FID = t0.FID
+ inner join T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t0.FMJID
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/ProductionMaterialsReport.py b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/ProductionMaterialsReport.py
new file mode 100644
index 0000000..068e542
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/ProductionMaterialsReport.py
@@ -0,0 +1,323 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.DataEntity")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.Contracts")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+clr.AddReference("ExtensionMethods")
+# clr.AddReference("K3CExttensionMethods")
+from Kingdee.BOS import*
+from Kingdee.BOS.Contracts import*
+from Kingdee.BOS.Contracts.Report import*
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Metadata import *
+from Kingdee.BOS.Core.Report import*
+from Kingdee.BOS.Core.SqlBuilder import*
+from Kingdee.BOS.Core.Enums import *
+from Kingdee.BOS.App.Data import*
+from Kingdee.BOS.Orm.DataEntity import*
+from System import *
+from System.ComponentModel import*
+from System.Collections.Generic import*
+from System.Text import*
+from System.Threading.Tasks import*
+from Kingdee.BOS.ServiceHelper import *
+from ExtensionMethods import BooleanExtension as boolObjEx
+from ExtensionMethods import DateTimeExtension as dateObjEx
+from ExtensionMethods import ObjectExtension as objEx
+from ExtensionMethods import StringExtension as strObjEx
+# from K3CExttensionMethods import ListHeaderExtension as lhObjEx
+
+#初始化,在此事件中设置报表的属性全局参数
+def Initialize():
+ this.ReportProperty.ReportType= ReportType.REPORTTYPE_NORMAL;
+ this.IsCreateTempTableByPlugin=True;
+ #是否支持分组汇总,在后面GetSummaryColumnInfo方法中添加汇总字段,
+ #要在BOS中过滤框的汇总页签配置汇总信息,可参考:简单账表分组汇总设置
+ this.ReportProperty.IsGroupSummary=True;
+ #IsUIDesignerColumns=False,表示报表的列通过插件控制,后续在GetReportHeaders中构建列头
+ #需要在BOS过滤框的显示隐藏列中维护,字段标识与临时表字段保持一致
+ #账表列头构建更多详细说明参考:账表列构建
+ this.ReportProperty.IsUIDesignerColumns=False;
+ this.ReportProperty.PrimaryKeyFieldName = "FID";
+
+#创建临时报表,正式进入账表取数sql拼接并取数,把账表取数结果放到创建的临时表中
+#如果参数(this.IsCreateTempTableByPlugin=True),即调用BuilderReportSqlAndTempTable构建临时表
+#否则调用以下3个接口,完成账表取数逻辑的sql指令即:BuilderSelectFieldSQL、BuilderTempTableOrderBySQL、BuilderFormWhereSQL
+#rptfilter:账表参数,可以从这里获取过滤条件等
+#tableName:系统自动创建的账表临时表名,具备唯一性,最终报表页面展示的数据绑定此临时表,所以最终的报表结果数据要写入此临时表中
+def BuilderReportSqlAndTempTable(rptfilter,tableName):
+ #baseDataTemp=filter.BaseDataTempTable;#基础资料临时表;若设置了数据范围权限,该表会把根据数据范围过滤出来的内码存入临时表;
+ #循环获取所有基础资料数据范围的数据,可用来拼接到报表SQL里面实现数据权限过滤
+ #for b in baseDataTemp:
+ # baseType=b.BaseDataFormId;#基础资料FormId
+ # PKFldName=b.PKFieldName;#临时表中基础资料主键字段名,例如,FORGID
+ # baseTempTab=b.TempTable;#基础资料数据范围临时表名
+ #filterStr=filter.FilterParameter.FilterString;#过滤框条件页签过滤表达式
+ #过滤框快捷过滤页签的实体数据包,从这里面获取自定义的过滤字段值
+ #DynamicObject类型,用前面讲的实体数据包操作方式取值,用绑定实体属性标识
+ custFilter = rptfilter.FilterParameter.CustomFilter;
+ if(custFilter == None):
+ return;
+ whereSql = "";
+ # 产品id
+ _proMaterialId = custFilter["ProMaterialId"];
+ if(_proMaterialId != None):
+ whereSql = whereSql + " AND t0e.FMATERIALID = " + str(_proMaterialId["Id"]);
+
+ # 物料id
+ _materialId = custFilter["MaterialId"];
+ if(_materialId != None):
+ whereSql = whereSql + " AND t1e.FMATERIALID = " + str(_materialId["Id"]);
+
+ # 生产任务单
+ _billNo = objEx.ToSafeString(custFilter["BILLNO"]);
+ if(_billNo != ""):
+ whereSql = whereSql + " AND t0.FBILLNO LIKE '%{0}%'".format(_billNo);
+
+ # 生产投料单
+ _PPBomBillNo = objEx.ToSafeString(custFilter["PPBOMBILLNO"]);
+ if(_PPBomBillNo != ""):
+ whereSql = whereSql + " AND t1.FBILLNO LIKE '%{0}%'".format(_PPBomBillNo);
+
+ # 销售订单
+ _saleOrderNo = objEx.ToSafeString(custFilter["SALEORDERNO"]);
+ if(_saleOrderNo != ""):
+ whereSql = whereSql + " AND t0e.FSALEORDERNO LIKE '%{0}%'".format(_saleOrderNo);
+
+ _lcId = this.Context.UserLocale.LCID;
+ #raise Exception(str.Join(',',fldsSql));#调试时,可用此行代码,看看构建的动态列SQL对不对
+ #组装最终写入报表临时表的SQL
+ #注意!!!: 最终临时表一定要有FIDENTITYID ,要从1开始,且不重复 ,不断号,不然前台显示空白!!!!
+ sql=("""/*dialect*/
+DECLARE @LCID int
+SET @LCID = {1}
+
+SELECT
+ ROW_NUMBER() OVER(ORDER BY t0.FDATE DESC,t0.FID DESC,t0e.FSEQ ASC) AS FIDENTITYID--1.行号
+ ,t0.FID
+ ,t0e.FSEQ
+ ,t0e.FENTRYID
+ ,t0.FDATE --2.单据日期
+ ,t1.FBILLNO AS 'FPPBOMBILLNO'--3.生产投料单号
+ ,t1.FID AS 'FPPBOMID'
+ ,t0e.FSALEORDERNO --4.销售订单号
+ ,t0.FBILLNO--7.生产任务单号
+ ,t0e.FPLANSTARTDATE--38.计划开工日期
+ ,t0e.FPLANFINISHDATE--39.计划完工日期
+ ,t0e.FQTY--12.产品生产数量
+ ,t0e.FYIELDRATE
+ ,t0e.FROUTINGID
+ ,t0e.FMATERIALID AS 'ProMaterialId'
+ ,t0e.FUNITID AS 'PrdUnitId'
+ ,t1e.FENTRYID AS 'PPBOMENTRYID'
+ ,t1e.FMATERIALID
+ ,(t1e.FNUMERATOR / t1e.FDENOMINATOR) AS 'FUnitNeedQty' --18.物料单位用量
+ ,t1e.FNEEDQTY --22.物料总需求
+ ,t1e.FUNITID
+ ,t1e.FBOMENTRYID
+ ,t1e.FSTDQTY --标准用量 --29.标准数量
+ ,t1e.FMUSTQTY --应发数量 --30.应发数量
+ ,t1.FWORKSHOPID
+ ,t0.FCUSTOMERID --客户id
+ ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN '主产品' WHEN 2 THEN '联产品' WHEN 3 THEN '副产品' ELSE '' END) AS 'PRODUCTTYPE'--43.生产类型
+ ,(CASE t0e_a.FSTATUS WHEN 6 THEN '已结案'ELSE '' END) AS 'StatusIs6'--45.生产任务单结案否
+ ,(CASE t1.FDOCUMENTSTATUS WHEN 'A' THEN '创建' WHEN 'B' THEN '审核中' WHEN 'C' THEN '已审核' WHEN 'D' THEN '重新审核' WHEN 'Z' THEN '暂存' ELSE '' END) AS 'PPBOMStatus'--46.生产投料单状态
+ INTO #TmpTable0
+FROM T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ INNER JOIN T_PRD_PPBOM t1 on t1.FMOENTRYID = t0e.FENTRYID AND t1.FMOID = t0e.FID
+ INNER JOIN T_PRD_PPBOMENTRY t1e on t1e.FID = t1.FID
+WHERE 1 = 1 {2}
+SELECT
+ tt.*
+ ,t0e_q.FBASEWIPQTY --23.当前在制品数量
+ ,t0e_q.FPICKEDQTY --27.已领数量
+ ,t0e_q.FNOPICKEDQTY --28.未领数量
+ ,t0e_l.FMEMO --31.备注
+ ,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32.损耗数量
+ ,t0e_q.FSCRAPQTY --33.报废数量
+ ,t0e_q.FREPICKEDQTY --37.补料数量
+ ,t0e_q.FINVENTORYQTY
+ ,t0e_c.FSTOCKID
+ ,t0e_c.FSTOCKLOCID
+ INTO #TmpTable1
+FROM #TmpTable0 tt
+ LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --生产用料清单数量拆分表
+ LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID
+
+SELECT tt.*
+ ,t1.FMNEMONICCODE AS 'ProMnemonicCode'--6.助记码
+ ,t1.FNUMBER AS 'ProNumber'--8.产品编码
+ ,t1_l.FNAME AS 'ProName'--9.产品名称
+ ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.产品规格型号
+ ,t2_l.FNAME AS 'ProUnitName'--11.产品单位
+ ,t3.FNUMBER AS 'MaterialNumber'--8.物料编码
+ ,t3_l.FNAME AS 'MaterialName'--9.物料名称
+ ,t3_l.FSPECIFICATION AS 'MaterialSpecification'--10.物料规格型号
+ ,t4_l.FNAME AS 'MaterialUnitName'--11.物料单位
+ ,(CASE t3.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.物料来源
+ ,t6_l.FNAME AS 'WORKSHOPNAME' --44.生产车间
+ ,t3.FMASTERID
+ ,t3.FUSEORGID
+ ,t7_l.FMEMO AS 'BOMMEMO' --42.BOM备注项
+ ,t5_l.FNAME AS 'FSTOCKNAME'
+ ,t8.FNUMBER AS SaleUnitNumber --5.购货单位代码
+ INTO #TmpTable2
+FROM #TmpTable1 tt
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.ProMaterialId
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.ProMaterialId AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.PrdUnitId AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_MATERIAL t3 ON t3.FMATERIALID = tt.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t3_l ON t3_l.FMATERIALID = tt.FMATERIALID AND t3_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t4_l ON t4_l.FUNITID = tt.FUNITID AND t4_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L t5_l ON t5_l.FSTOCKID = tt.FSTOCKID AND t5_l.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L t6_l on t6_l.FDEPTID = tt.FWORKSHOPID AND t6_l.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t7_l ON t7_l.FENTRYID = tt.FBOMENTRYID AND t7_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_CUSTOMER t8 on t8.FCUSTID = tt.FCUSTOMERID
+SELECT tt.*
+ ,t1.FBASEQTY
+ ,t2_l.FNAME AS 'ROUTENAME'
+ ,t3e_A.FBASEINVQTY
+ ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.欠料
+ ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.物料在途数
+ ,t3e_A.FPURCHASEQTY --采购在途数量
+ ,t3e_A.FREQUISITIONQTY --采购申请在途数量
+ ,6 AS 'LOWEST6'
+ ,t3e_A.FREQUISITIONQTY - t3e_A.FPURCHASEQTY AS 'PR_C2PO_QTY'
+ ,0 AS 'ToBeInspectQTY'
+ ,0 AS 'PlanThrowInQty'
+ ,'' AS 'PlanThrowInDate'
+ ,'' AS 'CubicleName'
+ ,'' AS 'OTHERMEMO'
+ INTO {0}
+FROM #TmpTable2 tt
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t1 on t1.FMATERIALID = tt.FMASTERID AND t1.FSTOCKORGID = tt.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = tt.FROUTINGID AND t2_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FPPBOMENTRYID = tt.PPBOMENTRYID AND t3e.FMATERIALIDSUB = tt.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
+
+DROP TABLE #TmpTable0
+DROP TABLE #TmpTable1
+DROP TABLE #TmpTable2
+ """).format(tableName,_lcId,whereSql);
+ # raise Exception(sql);#可以通过此方法弹出Sql语句进行调试验证
+ DBUtils.Execute(this.Context,sql);#执行SQL,将报表数据写入临时表
+
+#构建账表列头
+def GetReportHeaders(rptfilter):
+
+ header = ReportHeader();
+ localEid = this.Context.UserLocale.LCID;#获取当前语言环境代码,中文为2052
+ # 索引
+ global _colIndex
+ _colIndex = 0;
+ def Incr1(val = 1):
+ global _colIndex
+ _resNum = _colIndex
+ _colIndex += val
+ return _resNum
+ datas = [
+ {"fieldName" :"FDATE", "showName" :"单据日期","Mergeable" : True,"dataType":SqlStorageType.SqlDatetime }
+ ,{"fieldName" :"FPPBOMBILLNO", "showName" :"生产投料单号","Mergeable" : True,"IsHyperlink":True }
+ ,{"fieldName" :"FSALEORDERNO", "showName" :"销售订单号","Mergeable" : True }
+ ,{"fieldName" :"SaleUnitNumber", "showName" :"购货单位代码","Mergeable" : True }
+ ,{"fieldName" :"ProMnemoniccode", "showName" :"助记码","Mergeable" : True }
+ ,{"fieldName" :"FBILLNO", "showName" :"生产任务单号","Mergeable" : True }
+ ,{"fieldName" :"ProNumber", "showName" :"产品代码","Mergeable" : True }
+ ,{"fieldName" :"ProName", "showName" :"产品名称","Mergeable" : True }
+ ,{"fieldName" :"ProSpecification", "showName" :"产品规格型号","Mergeable" : True }
+ ,{"fieldName" :"ProUnitName", "showName" :"产品单位","Mergeable" : True }
+ ,{"fieldName" :"FQTY", "showName" :"产品生产数量","Mergeable" : True,"dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"MaterialNumber", "showName" :"物料代码" }
+ ,{"fieldName" :"MaterialName", "showName" :"物料名称" }
+ ,{"fieldName" :"Materialsrc", "showName" :"物料来源" }
+ ,{"fieldName" :"MaterialSpecification", "showName" :"物料规格型号" }
+ ,{"fieldName" :"ROUTENAME", "showName" :"物料技术标准" }
+ ,{"fieldName" :"FUnitNeedQty", "showName" :"物料单位用量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"MaterialUnitName", "showName" :"物料单位" }
+ ,{"fieldName" :"FBASEINVQTY", "showName" :"物料库存量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"ToBeInspectQTY", "showName" :"物料待检数","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"FNEEDQTY", "showName" :"物料总需求","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"FBASEWIPQTY", "showName" :"当前在制品数量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"FBASELACKQTY", "showName" :"欠料","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"FBASEONORDERQTY", "showName" :"物料在途数","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"PlanThrowInQty", "showName" :"计划投料数量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"FPICKEDQTY", "showName" :"已领数量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"FNOPICKEDQTY", "showName" :"未领数量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"FSTDQTY", "showName" :"标准数量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"FMUSTQTY", "showName" :"应发数量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"FMEMO", "showName" :"备注"}
+ ,{"fieldName" :"FLossQty", "showName" :"损耗数量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"FSCRAPQTY", "showName" :"报废数量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"PlanThrowInDate", "showName" :"计划发料日期","dataType":SqlStorageType.SqlDatetime }
+ ,{"fieldName" :"FSTOCKNAME", "showName" :"仓库" }
+ ,{"fieldName" :"FSTOCKLOCNAME", "showName" :"仓位" }
+ ,{"fieldName" :"FREPICKEDQTY", "showName" :"补料数量","dataType":SqlStorageType.SqlDecimal}
+ ,{"fieldName" :"FPLANSTARTDATE", "showName" :"计划开工日期","dataType":SqlStorageType.SqlDatetime }
+ ,{"fieldName" :"FPLANFINISHDATE", "showName" :"计划完工日期","dataType":SqlStorageType.SqlDatetime }
+ ,{"fieldName" :"CubicleName", "showName" :"工位" }
+ ,{"fieldName" :"OTHERMEMO", "showName" :"其他备注项" }
+ ,{"fieldName" :"BOMMEMO", "showName" :"BOM备注项" }
+ ,{"fieldName" :"PRODUCTTYPE", "showName" :"生产类型" }
+ ,{"fieldName" :"WORKSHOPNAME", "showName" :"生产车间" }
+ ,{"fieldName" :"StatusIs6", "showName" :"生产任务单结案否" }
+ ,{"fieldName" :"PPBOMStatus", "showName" :"生产投料单状态" }
+ ,{"fieldName" :"PR_C2PO_QTY", "showName" :"PR已审未转PO数量","dataType":SqlStorageType.SqlDecimal}
+ ];
+
+ for item in datas:
+ head = header.AddChild(item["fieldName"], LocaleValue(item["showName"], localEid), Incr1())
+ if "dataType" in item:
+ head.ColType = item["dataType"]
+ if "Mergeable" in item:
+ head.Mergeable = item["Mergeable"]
+ if "IsLeaf" in item:
+ head.IsHyperlink = item["IsHyperlink"]
+
+ return header;
+
+#设置报表表头字段值
+#这里主要是把过滤框设置的字段值,显示到报表表头
+def GetReportTitles(rptfilter):
+ reportTitles = ReportTitles();
+
+ custFilter = rptfilter.FilterParameter.CustomFilter;
+ if(custFilter == None):
+ return;
+ _proMaterialId = custFilter["ProMaterialId"];
+ _materialId = custFilter["MaterialId"];
+
+ _billNo = objEx.ToSafeString(custFilter["BILLNO"]);
+ _PPBomBillNo = objEx.ToSafeString(custFilter["PPBOMBILLNO"]);
+ _saleOrderNo = objEx.ToSafeString(custFilter["SALEORDERNO"]);
+ if(_proMaterialId != None):
+ reportTitles.AddTitle("FTitleProMaterialId", _proMaterialId["Name"]);
+ if(_materialId != None):
+ reportTitles.AddTitle("FTitleMaterialId", _materialId["Name"]);
+ if(_billNo != ""):
+ reportTitles.AddTitle("FTitleBILLNO", _billNo);
+ if(_PPBomBillNo != ""):
+ reportTitles.AddTitle("FTitlePPBOMBILLNO", _PPBomBillNo);
+ if(_saleOrderNo != ""):
+ reportTitles.AddTitle("FTitleSALEORDERNO", _saleOrderNo);
+
+ return reportTitles;
+
+#报表关闭触发,通常在此处清理报表过程产生的临时表
+def CloseReport():
+ this.DropTempTable();
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/TablePlugIn.py b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/TablePlugIn.py
new file mode 100644
index 0000000..bcf66aa
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/TablePlugIn.py
@@ -0,0 +1,67 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("System.Data")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+from Kingdee.BOS import *
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Bill import *
+from Kingdee.BOS.Core.Report import *
+from System import *
+from System.Data import *
+from System.Net import *
+from System.Text import *
+from Kingdee.BOS.App.Data import *
+from Kingdee.BOS.Core.List.PlugIn import *
+from Kingdee.BOS.Core.List.PlugIn.Args import *
+
+def FormatCellValue(args):
+ # ڸʽ
+ if args.Header.ColType == SqlStorageType.SqlDatetime:
+ args.FormateValue = ("{0}").format(DateTime.Parse(str(args.FormateValue)).ToString("yyyy-MM-dd"))
+
+def CellDbClick(e):
+ e.Cancel = True
+ fldKey = e.Header.FieldName;
+ # 嵥
+ if fldKey == "FPPBOMBILLNO":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex
+ _moId = value=("{0}").format(tab.Rows[row-1]["FPPBOMID"]);
+ if _moId != None and str(_moId) != "" and str(_moId) != "0":
+ ShowForm("PRD_PPBOM", _moId)
+ #
+ if fldKey == "FBILLNO":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex
+ _moId = value=("{0}").format(tab.Rows[row-1]["FID"]);
+ if _moId != None and str(_moId) != "" and str(_moId) != "0":
+ ShowForm("PRD_MO", _moId)
+ #
+ if fldKey == "MaterialName":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex
+ _moId = value=("{0}").format(tab.Rows[row-1]["FMATERIALID"]);
+ if _moId != None and str(_moId) != "" and str(_moId) != "0":
+ ShowForm("BD_MATERIAL", _moId)
+ #Ʒ
+ if fldKey == "ProName":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex
+ _moId = value=("{0}").format(tab.Rows[row-1]["ProMaterialId"]);
+ if _moId != None and str(_moId) != "" and str(_moId) != "0":
+ ShowForm("BD_MATERIAL", _moId)
+
+def ShowForm(_fromId, _pkVal, _operationStatus = OperationStatus.VIEW ,_openStyleShowType = ShowType.Floating):
+ showParam = BillShowParameter();
+ showParam.FormId = _fromId;
+ showParam.OpenStyle.ShowType = _openStyleShowType;
+ showParam.Status = _operationStatus;
+ showParam.PKey = _pkVal;
+ this.View.ShowForm(showParam)
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/20240206联合查询.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/20240206联合查询.sql
new file mode 100644
index 0000000..138c71b
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/20240206联合查询.sql
@@ -0,0 +1,127 @@
+--declare @proMaterialId int
+--,@materialId int
+--,@FBILLNO varchar(80)
+--,@FPPBOMBILLNO varchar(80)
+--,@FSALEORDERNO varchar(80)
+--,@LCID int
+--SET @proMaterialId = ''
+--SET @materialId = ''
+--SET @FBILLNO = ''
+--SET @FPPBOMBILLNO = ''
+--SET @FSALEORDERNO = ''
+DECLARE @LCID int
+SET @LCID = 2052
+
+SELECT
+ ROW_NUMBER() OVER(ORDER BY t0.FID,t0e.FENTRYID) AS FIDENTITYID--1.к
+ ,t0.FID
+ ,t0e.FSEQ
+ ,t0e.FENTRYID
+ ,t0.FDATE --2.
+ ,t1.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ
+ ,t0e.FSALEORDERNO --4.۶
+ --5.λ
+ ,t0.FBILLNO--7.
+ ,t0e.FPLANSTARTDATE--38.ƻ
+ ,t0e.FPLANFINISHDATE--39.ƻ깤
+ ,t0e.FQTY--12.Ʒ
+ ,t0e.FYIELDRATE
+ ,t0e.FROUTINGID
+ ,t0e.FMATERIALID AS 'ProMaterialId'
+ ,t0e.FUNITID AS 'PrdUnitId'
+ ,t1e.FENTRYID AS 'PPBOMENTRYID'
+ ,t1e.FMATERIALID
+ ,(t1e.FNUMERATOR / t1e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ
+ ,t1e.FNEEDQTY --22.
+ ,t1e.FUNITID
+ ,t1e.FBOMENTRYID
+ ,t1e.FSTDQTY -- --29.
+ ,t1e.FMUSTQTY --Ӧ --30.Ӧ
+ ,t1.FWORKSHOPID
+ ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43.
+ ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ'ELSE '' END) AS 'StatusIs6'--45.
+ ,(CASE t1.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬
+ INTO #TmpTable0
+FROM T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ INNER JOIN T_PRD_PPBOM t1 on t1.FMOENTRYID = t0e.FENTRYID AND t1.FMOID = t0e.FID
+ INNER JOIN T_PRD_PPBOMENTRY t1e on t1e.FID = t1.FID
+WHERE 1 = 1
+ --AND t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END)
+ --AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END)
+ --AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END)
+ --AND t1.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE t1.FBILLNO END)
+ --AND t1e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t1e.FMATERIALID END)
+
+SELECT
+ tt.*
+ ,t0e_q.FBASEWIPQTY --23.ǰƷ
+ ,t0e_q.FPICKEDQTY --27.
+ ,t0e_q.FNOPICKEDQTY --28.δ
+ ,t0e_l.FMEMO --31.ע
+ ,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32.
+ ,t0e_q.FSCRAPQTY --33.
+ ,t0e_q.FREPICKEDQTY --37.
+ ,t0e_c.FSTOCKID
+ ,t0e_c.FSTOCKLOCID
+ INTO #TmpTable1
+FROM #TmpTable0 tt
+ LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --嵥ֱ
+ LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID
+
+SELECT tt.*
+ ,t1.FMNEMONICCODE AS 'ProMnemonicCode'--6.
+ ,t1.FNUMBER AS 'ProNumber'--8.Ʒ
+ ,t1_l.FNAME AS 'ProName'--9.Ʒ
+ ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ
+ ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ
+ ,t3.FNUMBER AS 'MaterialNumber'--8.ϱ
+ ,t3_l.FNAME AS 'MaterialName'--9.
+ ,t3_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ
+ ,t4_l.FNAME AS 'MaterialUnitName'--11.ϵλ
+ ,(CASE t3.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ
+ ,t6_l.FNAME AS 'WORKSHOPNAME' --44.
+ ,t3.FMASTERID
+ ,t3.FUSEORGID
+ ,t7_l.FMEMO AS 'BOMMEMO' --42.BOMע
+ ,t5_l.FNAME AS 'FSTOCKNAME'
+ INTO FSTOCKLOCID
+FROM #TmpTable1 tt
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.FUNITID AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_MATERIAL t3 ON t3.FMATERIALID = tt.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t3_l ON t3_l.FMATERIALID = tt.FMATERIALID AND t3_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t4_l ON t4_l.FUNITID = tt.FUNITID AND t4_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L t5_l ON t5_l.FSTOCKID = tt.FSTOCKID AND t5_l.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L t6_l on t6_l.FDEPTID = tt.FWORKSHOPID AND t6_l.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t7_l ON t7_l.FENTRYID = tt.FBOMENTRYID AND t7_l.FLOCALEID = @LCID
+
+SELECT tt.*
+ ,t1.FBASEQTY
+ ,t2_l.FNAME AS 'ROUTENAME'
+ ,t3e_A.FBASEINVQTY
+ ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ
+ ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.;
+ ,6 AS 'LOWEST6'
+FROM #TmpTable2 tt
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t1 on t1.FMATERIALID = tt.FMASTERID AND t1.FSTOCKORGID = tt.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = tt.FROUTINGID AND t2_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FPPBOMENTRYID = tt.PPBOMENTRYID AND t3e.FMATERIALIDSUB = tt.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
+
+DROP TABLE #TmpTable0
+DROP TABLE #TmpTable1
+DROP TABLE #TmpTable2
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/2新BOM层级库存状态.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/2新BOM层级库存状态.sql
new file mode 100644
index 0000000..7905725
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/2新BOM层级库存状态.sql
@@ -0,0 +1,3168 @@
+declare
+ @moBillNo varchar(100)
+ ,@salesBillNo varchar(100)
+ ,@ProMateriaNumber varchar(100)
+ ,@startMaterialId int
+ ,@endMaterialId int
+ ,@FSDate varchar (30)
+ ,@FEDate varchar (30)
+ ,@FSStock varchar (max)
+ ,@FName varchar (255)
+SET @moBillNo =''
+SET @salesBillNo =''
+SET @moBillNo = 0
+SET @moBillNo = 0
+SET @FSDate = '2024-02-06'
+SET @FEDate = '2024-03-06'
+--SET @FSNumber = 'TSH182H000208O'
+--SET @FENumber = 'TSH182H000208O'
+SET @FSStock =''
+SET @FName = ''
+
+SET nocount ON
+declare @FCloseBALDate varchar (30)
+declare @FClosedate varchar (30)
+
+--ѯʼһڵĩ
+If NOT Exists(
+ SELECT FORGID,MAX(FCLOSEDATE) fclosedate
+ FROM T_STK_CLOSEPROFILE
+ WHERE FORGID IN (1) AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate)
+ GROUP BY FORGID)
+BEGIN
+ SET @FClosedate='2020-01-01'
+ SET @FCloseBALDate='2020-01-01'
+ --print @FClosedate
+END
+ELSE
+BEGIN
+ --SET @FClosedate='2019-07-01'
+ SELECT @FClosedate= CONVERT(varchar (30),DATEADD(D,1,MAX(FCLOSEDATE)),23) FROM
+ T_STK_CLOSEPROFILE WHERE ((FORGID IN (1) AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID
+ SET @FCloseBALDate=CONVERT(varchar (30),DATEADD(D,-1,@FClosedate),23)
+ --print @FClosedat
+END
+
+ --ʱѡȡֿ
+
+IF EXISTS(SELECT * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID'))
+BEGIN
+ DROP TABLE #tmpStockID
+ print ''
+END
+Create Table #tmpStockID (
+ FID INT IDENTITY(1,1)
+ ,FStockID INT
+)
+DECLARE @Strsql varchar(max)
+SET @Strsql= 'INSERT INTO #tmpStockID SELECT DISTINCT FSTOCKID FROM T_BD_STOCK WHERE 1=1 ' +@FSStock
+EXEC(@Strsql)
+
+--״̬
+
+if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#Stock_Status_temp'))
+begin
+ DROP TABLE #Stock_Status_temp
+ print ''
+END
+
+Create Table #Stock_Status_temp (
+ INT IDENTITY(1,1),
+ INT,
+ ϴ varchar(100) null,
+ varchar(255) null,
+ ͺ varchar(255) null,
+ ɱ varchar(100) null,
+ --λ varchar(30) null,
+ ڽ DECIMAL (18,2) Null,
+ ڲɹ DECIMAL (18,2) Null,
+ ں DECIMAL (18,2) Null,
+ ĩ DECIMAL (18,2) Null,
+ ; DECIMAL (18,2) Null,
+ DECIMAL (18,2) Null,
+ DECIMAL (18,2) Null,
+ δ DECIMAL (18,2) Null,
+ DECIMAL (18,2) Null,
+ ۳ DECIMAL (18,2) Null,
+ ֿⲦ DECIMAL (18,2) Null,
+ ֿⲦ DECIMAL (18,2) Null,
+ 깺δת DECIMAL (18,2) Null,
+ ܶ DECIMAL (18,2) Null,
+ ռ DECIMAL (18,2) Null,
+ ÿ DECIMAL (18,2) Null,
+ ֿ INT,
+ ֿ varchar(100) null,
+ ֿ varchar(255) null,
+ װ INT,
+ װʽ varchar(255) null
+)
+
+if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#TMP'))
+begin
+ DROP TABLE #TMP
+ print ''
+END
+
+CREATE TABLE #TMP (
+ FID INT IDENTITY(1,1),
+ FSTOCKORGID INT NOT NULL DEFAULT 0,
+ FBILLENTRYID INT NOT NULL DEFAULT 0,
+ FORDERBY INT NOT NULL DEFAULT 0,
+ FSTOCKIO CHAR (1) NULL,
+ FMATERIALID INT NOT NULL DEFAULT 0,
+ FAUXPROPID INT NOT NULL DEFAULT 0,
+ FDATE DATETIME NULL,
+ FSTOCKID INT NOT NULL DEFAULT 0,
+ FSTOCKLOCID INT NOT NULL DEFAULT 0,
+ FSTOCKSTATUSID INT NOT NULL DEFAULT 0,
+ FBILLNAME NVARCHAR (100) NULL,
+ FBILLID INT NOT NULL DEFAULT 0,
+ FBILLSEQID INT NULL,
+ FBILLNO NVARCHAR (100) NULL,
+ FBASEQCQTY DECIMAL (23,10) NOT NULL DEFAULT 0,
+ FBASEINQTY DECIMAL (23,10) NOT NULL DEFAULT 0,
+ FBASEOUTQTY DECIMAL (23,10) NOT NULL DEFAULT 0
+)
+
+--BOM㼶
+
+IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#YC_T_MRP'))
+BEGIN
+ DROP TABLE #YC_T_MRP
+END
+
+CREATE TABLE #YC_T_MRP(
+ FID INT IDENTITY(1,1),
+ FBOMNumber NVARCHAR(255),
+ FMATERIALID INT,
+ ϱ NVARCHAR(255),
+ NVARCHAR(255),
+ Ʒ DECIMAL(28,10) DEFAULT (0),
+ DECIMAL(28,10),--BOM
+ ĸ DECIMAL(28,10),--BOMĸ
+ FQty DECIMAL(28,10),--
+ FLevle INT,
+ FERPCLSID INT,
+ FProMaterialId INT,
+ FOrderNum NVARCHAR(255),
+ FBOMID INT,
+ BOM㼶 NVARCHAR(200) NULL,
+ FSEQ1 INT,
+ FSEQ2 INT,
+ FSEQ3 INT,
+ FSEQ4 INT,
+ FSEQ5 INT,
+ FSEQ6 INT,
+ FParentNumber NVARCHAR(255)
+)
+
+IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#BOMTMP'))
+BEGIN
+ DROP TABLE #BOMTMP
+END
+
+/* ţ۶ţϽɸѡӦ*/
+SELECT
+ t0.FBILLNO
+ ,t0.FID
+ ,t0e.FQTY
+ ,t0e.FENTRYID
+ ,t0e.FMATERIALID
+ ,t0e_a.FREPQUAQTY
+ --,t0e_a.FREQSRC --1.۶
+ ,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO'
+ INTO #TEMPMO
+FROM
+ T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e ON t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID
+WHERE 1 = 1
+ AND t0.FDOCUMENTSTATUS = 'C'
+ AND (t0e_a.FSTATUS < 5)
+ --AND t0e.FMATERIALID = 100258
+ AND t0.FBILLNO = 'MO000023'
+
+/*ȡ״̬BOMʱ*/
+SELECT
+ ID=IDENTITY(INT,1,1)
+ ,T0.FID
+ ,T0.FNUMBER
+ ,T0.FMATERIALID
+ ,ROW_NUMBER() OVER(PARTITION BY T0.FMATERIALID ORDER BY t0.FID DESC) AS ROWID
+ ,t0.FDOCUMENTSTATUS
+ ,t0.FYIELDRATE
+ INTO #BOMTmp
+FROM T_ENG_BOM T0
+ INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --ϱ
+WHERE (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A')
+ --AND tm.FNUMBER = 'TSH182H000208O'
+ AND tm.FMATERIALID IN (SELECT DISTINCT FMATERIALID FROM #TEMPMO)
+ORDER BY FMATERIALID,FNUMBER
+
+--/*ʱУͬһϴֻһ°汾BOM*/
+DELETE FROM #BOMTmp WHERE ROWID != 1
+
+--ѯһƷϢ
+INSERT INTO #YC_T_MRP(
+ FBOMNumber,FMATERIALID,ϱ,,Ʒ
+ ,,ĸ,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum
+ ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT
+ t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER 'ϱ',t3.FNAME '',t0.FYIELDRATE 'Ʒ'
+ ,1 '',1 'ĸ',1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FMATERIALID,t1.FNUMBER 'ϱ'
+ ,t0.FID 'FBOMID',0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber'
+FROM T_ENG_BOM t0
+ INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --ϱ
+ LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --ϱ
+ LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--ϱ
+ INNER JOIN #BOMTmp t6 ON t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER
+WHERE 1=1
+ AND (t0.FDOCUMENTSTATUS = 'C')
+ORDER BY T0.FNUMBER
+
+--ݵһƷѯһƷIJϢ
+DECLARE @num INT,@level int,@LoopCount int
+SET @num = 1
+SET @level =1
+SET @LoopCount = 0;
+
+INSERT INTO #YC_T_MRP(
+ FBOMNumber,FMATERIALID,ϱ,,Ʒ
+ ,,ĸ,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum
+ ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT
+ t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t10.FYIELDRATE 'Ʒ'
+ ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
+ ,@level AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t5.FProMaterialId,T5.FOrderNum
+ ,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.ϱ 'FParentNumber'
+FROM #YC_T_MRP t5
+ LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FBOMID=t6.FID--BOM¼
+ INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ
+ LEFT JOIN T_ENG_BOM t10 ON t10.FID=t6.FID--BOM
+WHERE (t7.FFORBIDSTATUS = 'A')
+ AND T5.FLevle = 0 AND T5.FERPCLSID >= 2
+ AND t10.FDOCUMENTSTATUS = 'C'
+
+WHILE (@num > 0 AND @LoopCount < 10)
+BEGIN
+
+ SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID
+ INTO #BOMTmp1 FROM #YC_T_MRP t1
+ INNER JOIN T_ENG_BOM t0 ON t1.FMATERIALID=t0.FMATERIALID--BOMͷ
+ WHERE 1=1 AND (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') AND T1.FLevle=@level AND T1.FERPCLSID>=2
+
+ DELETE FROM #BOMTmp1 WHERE id NOT IN (SELECT max(id) FROM #BOMTmp1 GROUP BY FMATERIALID)
+
+ INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle
+ ,FERPCLSID,FProMaterialId,FOrderNum,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+ SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ'
+ ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
+ ,@level + 1 AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t1.FProMaterialId,T1.FOrderNum,0 'FBOMID'
+ ,t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t6.FSEQ 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t1.ϱ 'FParentNumber'
+ FROM #YC_T_MRP t1
+ INNER JOIN T_ENG_BOM t5 ON t1.FMATERIALID=t5.FMATERIALID--BOMͷ
+ LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FID=t6.FID--BOM¼
+ INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ
+ INNER JOIN #BOMTmp1 t10 ON t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER
+ WHERE 1 = 1 AND (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 AND t5.FDOCUMENTSTATUS = 'C'
+
+ SET @num = @@ROWCOUNT
+ SET @level += 1
+ SET @LoopCount += 1
+
+ DROP TABLE #BOMTmp1
+
+END
+
+UPDATE #YC_T_MRP SET BOM㼶 =REPLICATE('.',FLevle)++ convert(varchar(4),FLevle)
+
+--ⵥ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT
+ TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,
+ ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+ TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_PRD_INSTOCK TS
+ INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ --((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_PRD_INSTOCK TS
+ INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--ⵥ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.
+FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,
+TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty
+--t_STK_InStock
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+
+INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((
+((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.
+FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,
+FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,TSE.FRECEIVESTOCKSTATUS fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00')AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (TSE.FRECEIVESTOCKID > 0)) AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+ AND TSE.FRECEIVESTOCKFLAG = '1')
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,
+TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,
+TSE.FRECEIVESTOCKSTATUS fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEUNITQTY)) fbaseqcqty
+
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (TSE.FRECEIVESTOCKID > 0))
+AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') AND TSE.FRECEIVESTOCKFLAG = '1')
+GROUP BY TS.FSTOCKORGID,TSE.FRECEIVEOWNERTYPEID,TSE.FRECEIVEOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FRECEIVEAUXPROPID,0),
+ISNULL(TSE.FRECEIVELOT_TEXT,' '),ISNULL(TSE.FRECEIVEMTONO,' '),TSE.FRECEIVESTOCKID,ISNULL(TSE.FRECEIVESTOCKLOCID,0),
+TSE.FRECEIVESTOCKSTATUS,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,
+FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+--ϵ
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND
+ TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
+
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (
+((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,
+ TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
+
+--۳ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'۳ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
+FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard'))
+AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+--AND TS.FBILLNO='SA1907050103'
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+ FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
+ INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((
+ ((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+ AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,
+ TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_PRD_FEEDMTRL TS
+INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_PRD_FEEDMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--AND ts.FBILLNO IN ('M31910140010','M31907010006')
+
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,'ʼ' fbillname,SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_PRD_FEEDMTRL TS INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty
+FROM T_PRD_RETURNMTRL TS
+INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_PRD_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A'))
+--AND ts.FBILLNO='M21907200004'
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
+ FROM T_PRD_RETURNMTRL TS INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,
+0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,(0 - TSE.FBASEUNITQTY) fbaseinqty,0 fbaseoutqty
+FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
+AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
+ AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE= 'B' AND TMB.FISINVENTORY = '1')
+ AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT,''),ISNULL(TSE.FMTONO,''),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ ±־ FSTOCKFLAG 0:δ 1:Ѹ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty
+FROM T_PUR_RECEIVE TS INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TMB.FMaterialId = TSE.FMaterialId
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TMB.FISINVENTORY = '1')
+AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty
+
+FROM T_PUR_RECEIVE TS
+INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--˻
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+--˻
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'˻' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEUNITQTY) fbaseoutqty
+FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+
+--AND TS.FBILLNO ='SB1908230003'
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty
+ FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
+ INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+ AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+
+--ⵥ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
+TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEACTUALQTY fbaseoutqty
+
+FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEACTUALQTY)) fbaseqcqty
+FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,
+ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--ϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,
+ 0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ
+ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEQTY) fbaseoutqty
+
+FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty
+FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--װж
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'װж' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE
+(((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+ FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
+ TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--װж
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FDETAILID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'װж' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+
+CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseoutqty
+FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
+INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+ FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
+ INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,
+ TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
+
+
+
+--ŵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'ŵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,
+ ISNULL(TSE.FBOMID,0)
+
+
+
+--ⵥ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseinqty,0 fbaseoutqty
+
+FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_MISCELLANEOUSENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE<= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+ FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,
+ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseoutqty
+FROM T_STK_MISDELIVERY TS
+INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_MISDELIVERYENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+ --ʼ
+INSERT INTO #TMP (FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN (0 - TSE.FBASEQTY) ELSE TSE.FBASEQTY END) fbaseqcqty
+ FROM T_STK_MISDELIVERY TS INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--мӹⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'мӹⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_OEMINSTOCK TS
+INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_OEMINSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(FBASEQTY) fbaseqcqty
+FROM T_STK_OEMINSTOCK TS INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--мӹϵ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'мӹϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,(0 - FBASEQTY) fbaseinqty,0 fbaseoutqty
+
+FROM T_STK_OEMINSTOCKRTN TS
+INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_OEMINSTOCKRTNENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat')
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'',(0 - SUM(FBASEQTY)) fbaseqcqty
+ FROM T_STK_OEMINSTOCKRTN TS INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND FRETURNTYPE = 'StockReMat')
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
+ ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--̬ת
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'̬ת' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STATUSCONVERT TS
+INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STATUSCONVERT TS INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--״̬ת
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'״̬ת' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STOCKCONVERTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ӯ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ӯ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEGAINQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKCOUNTGAIN TS
+INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(TSE.FBASEGAINQTY) fbaseqcqty
+FROM T_STK_STKCOUNTGAIN TS INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--̿
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'̿' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,TSE.FBASELOSSQTY fbaseoutqty
+FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(0 - TSE.FBASELOSSQTY) fbaseqcqty
+ FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
+ ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ֱӵ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid,'ֱӵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+
+
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS
+.FOBJECTTYPEID = 'STK_TransferDirect')
+
+
+
+--ʼ
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FDESTSTOCKID fstockid,
+ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ',
+SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END -
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),
+TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+
+
+--ֱӵ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,
+FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,
+'ֱӵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,
+TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ʼ',
+
+SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END -
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
+
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,
+TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
+
+
+--ֲʽ뵥
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid,'ֲʽ뵥' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GEN
+ERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+--ֲʽ뵥
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ֲʽ뵥' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+
+
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'',SUM((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKOUTORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+ AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+ GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FSRCMTONO,' '),
+ TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FSRCPRODUCEDATE,TSE.FSRCEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
+
+--ֲʽ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,
+TSE.FSRCSTOCKSTATUSID fstockstatusid,'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(0 - TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFEROUTENTRY TSE INNER JOIN T_STK_STKTRANSFEROUT TS ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON
+TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,
+ TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+--ֲʽ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),
+ TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+
+--ֲʽ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKINORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,
+ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKINORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
+GROUP BY TS.FSTOCKINORGID,TSE.FOWNERTYPEINID,TSE.FOWNERINID,TSE.FDESTMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FDESTMTONO,' '),TSE.FDESTSTOCKID,
+ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEINID,TSE.FKEEPERINID,TSE.FDESTPRODUCEDATE,TSE.FDESTEXPIRYDATE,ISNULL(TSE.FDESTBOMID,0),TS.FDATE
+
+
+
+--Ʋֿ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid,'Ʋֿ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+ 0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+ FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+
+
+ --Ʋֿ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,
+ TSE.FSRCSTOCKSTATUSID fstockstatusid,
+ 'Ʋֿ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+ FROM T_REM_STKTRANSFERIN TS
+ INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
+ FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
+
+
+--ίⲹϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ίⲹϵ' fbillname,TS.FID fbillid,
+TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_SUB_FEEDMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+
+'ʼ',SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
+ TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ίϵ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ίϵ' fbillname,TS.FID fbillid,
+TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSE.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSEQ.FOWNERTYPEID,TSEQ.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSEQ.FKEEPERTYPEID,TSEQ.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ίϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ίϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+0 fbaseinqty,(0 - TSE.FBASESTOCKQTY) fbaseoutqty
+FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_SUB_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASESTOCKQTY) fbaseqcqty
+FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,
+TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSEA.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--߲Ʒⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+ 'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'߲Ʒⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_REM_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty
+ FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+---߲Ʒ˿ⵥ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,
+ FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'߲Ʒ˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty
+FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_REM_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
+ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS
+.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty
+
+FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_REM_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
+FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1)
+AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,
+ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty
+
+FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_REM_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
+FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ίⳬĵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ίⳬĵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
+
+FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SUB_EXCONSUMEENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOwnerTypeId,TSE.FOwnerId,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--˿ⵥ
+
+ INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty
+FROM
+T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
+LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TS.FEntrustRetStockId = 0)
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSE.FBASEREALQTY) fbaseqcqty
+FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1)
+AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS= 'A')) AND TS.FEntrustRetStockId = 0)
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--˿ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEOUTQTY) fbaseinqty,0 fbaseoutqty
+
+FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_SP_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSE.FBASEOUTQTY) fbaseqcqty
+ FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TSE.FSTOCKORGID fstockorgid,TSE.FBALDATE fdate,-200 forderby,
+ 'I' fstockio,TM.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TBS.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'',SUM(TSE.FBASEENDQTY) fbaseqcqty
+FROM T_STK_INVBAL TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN T_ENG_BOM TB ON (TB.FMASTERID = TSE.FBOMID AND TB.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON ((VO.FMASTERID = TSE.FOWNERID AND VO.FFORMID = TSE.FOWNERTYPEID) AND (VO.FUSEORGID = TSE.FSTOCKORGID OR VO.FUSEORGID = 0
+OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VO.FFORMID AND BT.FSTRATEGYTYPE = 1))))
+LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (VO.FITEMID = VO_L.FITEMID AND VO_L.FLOCALEID = 2052)
+LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON ((VK.FMASTERID = TSE.FKEEPERID AND VK.FFORMID = TSE.FKEEPERTYPEID) AND (VK.FUSEORGID = TSE.FSTOCKORGID OR VK.FUSEORGID = 0
+OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VK.FFORMID AND BT.FSTRATEGYTYPE = 1))))
+LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (VK.FITEMID = VK_L.FITEMID AND VK_L.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_LOTMASTER TBLM ON (ISNULL(TSE.FLOT,0) = TBLM.FMASTERID AND TBLM.FUSEORGID IN (1))
+
+WHERE ((TSE.FSTOCKORGID IN (1) AND (FBALTYPE IN(0,1) AND (FSTOCKORGID = 1 AND TSE.FBALDATE =@FCloseBALDate )))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND TM.FFORBIDSTATUS = 'A')
+
+
+GROUP BY TSE.FSTOCKORGID,TSE.FOWNERTYPEID,VO.FITEMID,TSE.FBALDATE,TM.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TBLM.FNUMBER,' '),ISNULL(TSE.FMTONO,' '),
+TBS.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,VK.FITEMID,TSE.FLOT,TMS.FISBATCHMANAGE,TMS.FISKFPERIOD,
+TMS.FISEXPPARTOFLOT,TBLM.FPRODUCEDATE,TSE.FPRODUCEDATE,TBLM.FEXPIRYDATE,TSE.FEXPIRYDATE,ISNULL(TB.FID,0)
+
+--ϲг
+
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp1
+FROM #TMP
+--WHERE FDATE <='2019-08-30'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ
+FROM #tmp1 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+
+--ڽ
+--SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+--INTO #tmp2
+
+--FROM #TMP
+----WHERE FDATE <=@FSDate
+--GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+--ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--SELECT *
+UPDATE t1 SET t1.ڽ=t2.FBASEQCQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp1 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+--ĩ
+UPDATE t1 SET t1.ĩ=t2.FBASEQCQTY+t2.FBASEINQTY-t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN
+ #tmp1 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+--ڲɹ
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp4 FROM #TMP TS WHERE FORDERBY<>'-200' AND fstockio='I' AND ( FBILLNAME NOT like'%%' AND FBILLNAME<>'̬ת')
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,
+FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+--ڲɹ
+
+UPDATE t1 SET t1.ڲɹ=t2.FBASEINQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp4 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+--ں
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp5 FROM #TMP TS WHERE fstockio='O' AND ( FBILLNAME NOT like'%%' AND FBILLNAME<>'̬ת')
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+--ں
+
+UPDATE t1 SET t1.ں=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp5 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+
+--ֿⲦֿⲦ
+
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp6 FROM #TMP TS WHERE FORDERBY<>'-200' AND ( FBILLNAME like'%%' )
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--ֿⲦ--ֿⲦ
+
+UPDATE t1 SET t1.ֿⲦ=t2.FBASEINQTY,t1.ֿⲦ=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp6 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+
+--
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp7 FROM #TMP TS WHERE ( FBILLNAME IN('ϵ','ίϵ' ))
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--
+UPDATE t1 SET t1.=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp7 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+
+--۳
+
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp8 FROM #TMP TS WHERE ( FBILLNAME ='۳ⵥ' )
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--۳
+UPDATE t1 SET t1.۳=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp8 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+--ܶ
+--۶ܶ
+--*******************************************
+
+--ѯ
+--(C.FBASEREMAINOUTQTY+C.FBaseReturnQty)ۼ˿+ʣδ
+SELECT (A.FBILLNO) AS ۵,(A.FID) ,(B.FENTRYID) ۷¼,(B.FSEQ) ,
+B.FMATERIALID AS ,B.FBASEUNITQTY ,(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS δ,FBaseReturnQty,
+ISNULL(B.FSTOCKID,0) ֿ,B.FAUXPROPID,A.FCLOSESTATUS,FCLOSEDATE,A.FDATE,B.FMRPCLOSESTATUS ҵر
+INTO #tmpSal
+FROM T_SAL_ORDER A
+INNER JOIN T_SAL_ORDERENTRY B ON A.FID =B.FID
+LEFT JOIN T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID
+LEFT JOIN T_SAL_ORDERENTRY_E D ON D.FID=B.FID AND D.FENTRYID =B.FENTRYID
+
+WHERE 1=1 AND A.FCANCELSTATUS='A' AND A.FDOCUMENTSTATUS='C' --AND B.FMRPTERMINATESTATUS='A'
+AND (B.FTERMINATEDATE >@FEDate OR ISNULL(B.FTERMINATEDATE,'') ='')
+AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')--رڿʼ֮ǰݲ
+AND A.FDATE <=@FEDate --AND A.FBILLNO='SO1909200018'
+ORDER BY A.FDATE,A.FID,B.FENTRYID,B.FMATERIALID
+
+
+
+--δ
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseoutqty
+FROM #tmpSal t1
+INNER JOIN (
+SELECT TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID,SUM(TSE.FBASEUNITQTY) fbaseoutqty
+FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE TS.FDATE>@FEDate AND
+( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+GROUP BY TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID ) t2 ON t2.FSOORDERNO =t1.۵ AND t2.FSOENTRYID=t1.۷¼ AND t1.=t2.FMATERIALID
+
+--۳˻
+--˻
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseoutqty
+FROM #tmpSal t1
+INNER JOIN (
+SELECT TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID,SUM((TSE.FBASEUNITQTY)) fbaseoutqty
+FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE TS.FDATE>@FEDate
+AND ( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+GROUP BY TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID
+) t2 ON t2.FORDERNO =t1.۵ AND t2.FSOENTRYID=t1.۷¼ AND t1.=t2.FMATERIALID
+
+
+
+SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #tmpSal1 FROM #tmpSal B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ )
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY
+
+
+SELECT ,,δ,FAUXPROPID,ֿ
+INTO #tmpSal3 FROM #tmpSal1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+--LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY
+
+
+
+SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ
+INTO #tmpSal2 FROM #tmpSal3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+--۶ܶ
+UPDATE t1 SET t1.ܶ=t2.δ
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpSal2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,ܶ)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS
+ ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #tmpSal2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+--*******************************************
+
+
+
+--;
+--************************************************
+
+--ɹ
+SELECT ddd.FPurchaseOrgID fstockorgid,ddd.FBILLNO ɹ,ddd.FID AS ɹ,B.FENTRYID ɹ¼,b.FMATERIALID ,
+ISNULL(b.FAUXPROPID,0) fauxpropid,ddd.FDATE fdate,TMS.FSTOCKID ֿ,FBASEUNITQTY ɹ,
+FREMAINSTOCKINQTY ʣ,FBASESTOCKINQTY ,ddd.FCLOSEDATE
+INTO #tmppoorder
+FROM t_pur_poorderentry b
+INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID AND FbusinessType NOT IN ('ZCCG','FYCG'))
+INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid
+INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid
+INNER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID
+WHERE (ddd.FPurchaseOrgID IN (1) AND (((ddd.FPurchaseOrgID IN (1))
+AND (ddd.FDATE <=@FEDate)) AND ddd.fdocumentStatus = 'C'))
+AND (b.FTERMINATEDATE >@FEDate OR ISNULL(b.FTERMINATEDATE,'') ='')
+AND (ddd.FCLOSEDATE>@FEDate or ISNULL(ddd.FCLOSEDATE,'')='')
+
+--ⵥ
+--SELECT *
+
+UPDATE t1 SET t1.ʣ=ʣ+t2.fbaseinqty
+FROM #tmppoorder t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID,tse.FPOORDERENTRYID,tse.FPOORDERNO,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+
+ INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1 AND TS.FDATE > @FEDate
+ AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND TS.FDOCUMENTSTATUS IN ('C')
+ GROUP BY TSE.FPOORDERNO,TSE.FPOORDERENTRYID,TSE.FMATERIALID
+)t2 ON t2.FPOORDERNO =t1.ɹ AND t2.FPOORDERENTRYID=t1.ɹ¼ AND t1.=t2.FMATERIALID
+
+
+--ϵ
+ --SELECT *
+UPDATE t1 SET t1.ʣ=ʣ-t2.fbaseinqty
+FROM #tmppoorder t1
+INNER JOIN(
+ SELECT tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID fmaterialid,SUM( TSE.FBASEUNITQTY) fbaseinqty
+
+ FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+ WHERE 1=1 AND (TS.FDATE >@FEDate)
+ AND TS.FDOCUMENTSTATUS IN ('C') AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND (TSE.FSTOCKID > 0)
+ AND TSF.FISGENFORIOS = '0'AND (TSE.FSTOCKFLAG = '1' OR (TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') )
+ GROUP BY tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID
+)t2 ON t2.FORDERNO =t1.ɹ AND t2.FPOORDERENTRYID=t1.ɹ¼ AND t1.=t2.FMATERIALID
+
+
+--º;
+
+SELECT ,ɹ,ʣ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #tmppoorder1 FROM #tmppoorder B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT
+ JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+
+SELECT ,ɹ,ʣ,FAUXPROPID,ֿ
+INTO #tmppoorder3 FROM #tmppoorder1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK
+ ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY
+
+
+
+
+SELECT ,SUM(ɹ)ɹ,SUM(ʣ)ʣ,FAUXPROPID,ֿ
+INTO #tmppoorder2 FROM #tmppoorder3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+
+--;
+UPDATE t1 SET t1.;=t2.ʣ
+FROM #Stock_Status_temp t1
+INNER JOIN #tmppoorder2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,;)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(ʣ)
+FROM #tmppoorder2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER
+ JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE ʣ<>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+
+
+
+
+--************************************************
+
+--
+--*************************************************
+--ѯֹ֮ǰ
+SELECT (MO.FBILLNO) ,ME.FPRODUCTTYPE,
+(MO.FID) ,(ME.FENTRYID) ¼,MA.FCONVEYDATE,ME.FMATERIALID ,
+ISNULL(ME.FSTOCKID,0) ֿ,ME.FAUXPROPID,MO.FDATE,ME.FSEQ,(ME.FQTY) ,
+--MQ.FBASENOSTOCKINQTY δ
+(CASE WHEN (MQ.FBASENOSTOCKINQTY)>0 THEN (MQ.FBASENOSTOCKINQTY) ELSE 0 END) AS δ,MQ.FBASERESTKQTY ˿
+
+INTO #tmpMO
+FROM T_PRD_MO MO
+INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID
+LEFT JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+LEFT JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+--AND MO.FBILLNO IN('MO1909090271','MO1905070262')
+AND MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>''
+AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')
+
+
+--ֹ֮ɵⵥ
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseInqty
+FROM #tmpMO t1
+INNER JOIN(
+ SELECT TSE.FMATERIALID,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseInqty
+ FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1
+ AND TS.FDATE > @FEDate AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ --AND TS.FBILLNO='MM1909090128'
+ GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+ --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 ON t1.=t2.FMOID AND t1.¼=t2.FMOENTRYID AND t1.=t2.FMATERIALID
+
+--ֹ֮ɵ˿ⵥ
+--SELECT *
+UPDATE t1 SET t1.δ=δ-t2.fbaseOutqty
+FROM #tmpMO t1
+INNER JOIN(
+ SELECT TSE.FMATERIALID fmaterialid,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseOutqty
+ FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
+ LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1
+ AND TS.FDATE > @FEDate
+ AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'
+ AND TS.FCANCELSTATUS = 'A' AND TS.FEntrustRetStockId = 0
+ GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 ON t1.=t2.FMOID AND t1.¼=t2.FMOENTRYID AND t1.=t2.FMATERIALID
+
+
+--º
+
+SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #tmpMO1 FROM #tmpMO B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,,δ,FAUXPROPID,ֿ
+INTO #tmpMO3 FROM #tmpMO1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY
+
+
+
+SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ
+INTO #tmpMO2 FROM #tmpMO3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+--
+UPDATE t1 SET t1.=t2.δ
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpMO2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #tmpMO2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+--***************END**********************************
+
+
+--
+--******************start*******************************
+
+----ѯֹ֮ǰϵ
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FBILLNO ϵ,TS.FID AS ,TSE.FENTRYID Ϸ¼,TSE.FMATERIALID ,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID ֿ,FBASEUNITQTY ,
+CASE WHEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY))>0 THEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY)) ELSE 0 END δ,
+(FBASEUNITQTY-FINSTOCKBASEQTY +FRETURNBASEQTY)
+INTO #TMPRECEIVE
+FROM T_PUR_RECEIVE TS
+INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_RECEIVEENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
+INNER JOIN T_PUR_RECEIVEENTRY_R TSER ON (TSE.FID = TSER.FID AND TSE.FENTRYID = TSER.FENTRYID)
+INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID
+WHERE 1=1 AND (TS.FDATE <= @FEDate)
+--AND ts.FBILLNO='T61908290024-' AND FRETURNBASEQTY<>0
+AND( FEXECUTEDATE>@FEDate OR ISNULL(FEXECUTEDATE,'')='')--ִ
+AND (TS.FSTOCKORGID IN (1))
+AND (TSE.FSTOCKID > 0)AND TSE.FSTOCKFLAG = '0'
+
+-- AND TS.FDOCUMENTSTATUS IN ('C')
+------ѯֹ֮ǰⵥ
+
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseInqty
+FROM #TMPRECEIVE t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1 AND TS.FDATE >@FEDate
+ AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID
+ --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 ON t1.=t2.FSBILLID AND t1.Ϸ¼=t2.FSID AND t1.=t2.FMATERIALID
+
+--
+--ѯֹ֮ϵ
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseInqty
+FROM #TMPRECEIVE t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_MRBENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+ WHERE 1=1 AND TS.FDATE >@FEDate
+ AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID
+
+) t2 ON t1.=t2.FSBILLID AND t1.Ϸ¼=t2.FSID AND t1.=t2.FMATERIALID
+
+
+
+--º
+
+SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #TMPRECEIVE1 FROM #TMPRECEIVE B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+
+SELECT ,,δ,FAUXPROPID,ֿ
+INTO #TMPRECEIVE3
+ FROM #TMPRECEIVE1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ
+INTO #TMPRECEIVE2 FROM #TMPRECEIVE3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+
+--
+UPDATE t1 SET t1.=t2.δ
+FROM #Stock_Status_temp t1
+INNER JOIN #TMPRECEIVE2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #TMPRECEIVE2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE δ<>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+
+--****************END*********************************
+
+--*********************δ*****************************************
+
+--δ()
+--***********************δ()*****************************
+--ѯֹ֮ǰ
+SELECT (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼,
+PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼,
+ISNULL(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID,(PE.FMUSTQTY) AS Ӧ,
+PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ
+INTO #tmpPPBOM
+ FROM T_PRD_MO MO
+INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID
+INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+INNER JOIN T_PRD_PPBOM PP ON PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID
+INNER JOIN T_PRD_PPBOMENTRY PE ON PP.FID =PE.FID
+LEFT JOIN T_PRD_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+LEFT JOIN T_PRD_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+AND (MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'')
+AND (MA.FFINISHDATE >@FEDate OR ISNULL(MA.FFINISHDATE,'')='')--2020-04-27֮깤Ϊ깤
+--AND (MA.FCLOSEDATE>@FEDate OR ISNULL(MA.FCLOSEDATE,'')='')--2020-04-27֮ǰǽ
+
+--AND PP.FBILLNO ='PP1910150215'
+
+ --ѯֹ֮еϵ
+ --SELECT δ,t2.fbaseOutqty,*
+UPDATE t1 SET t1.δ=δ+t2.fbaseOutqty
+FROM #tmpPPBOM t1
+INNER JOIN (
+SELECT tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
+TSE.FMATERIALID,SUM(TSED.FBASESTOCKACTUALQTY) fbaseOutqty
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+WHERE (TS.FDATE> @FEDate)
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
+GROUP BY tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
+) t2 ON t1.=t2.FMOBILLNO AND t1.¼=t2.FMOENTRYID
+AND t1.ϵ=t2.FPPBOMBILLNO AND t1.ϵ¼=t2.FPPBOMENTRYID AND t1.=t2.FMATERIALID
+
+
+
+--ºδ
+--SELECT * FROM #tmpPPBOM
+
+SELECT ,Ӧ,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #tmpPPBOM1 FROM #tmpPPBOM B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,Ӧ,δ,FAUXPROPID,ֿ
+INTO #tmpPPBOM3 FROM #tmpPPBOM1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,SUM(Ӧ)Ӧ,SUM(δ)δ,FAUXPROPID,ֿ
+INTO #tmpPPBOM2 FROM #tmpPPBOM3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+--δ()
+UPDATE t1 SET t1.δ=t2.δ
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpPPBOM2
+t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,δ)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #tmpPPBOM2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE δ>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+--*************************δ()*****************************************
+
+
+
+--δ(ί)
+--*************************δ(ί)***************************
+--ѯֹ֮ǰίⵥ
+SELECT (MO.FBILLNO) ίⵥ,(MO.FID) ί,(ME.FENTRYID) ίⵥ¼,
+PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼,
+ISNULL(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID,(PE.FMUSTQTY) AS Ӧ,
+PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ
+INTO #tmpSubBOM
+FROM T_SUB_REQORDER MO
+INNER JOIN T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
+--INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+INNER JOIN T_SUB_PPBOM PP ON PP.FSUBREQID =MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID
+INNER JOIN T_SUB_PPBOMENTRY PE ON PP.FID =PE.FID
+LEFT JOIN T_SUB_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+LEFT JOIN T_SUB_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+AND (MO.FDATE <=@FEDate AND ISNULL(ME.FCONVEYDATE,'')<>'')
+AND (ME.FCLOSEDATE>@FEDate OR ISNULL(ME.FCLOSEDATE,'')='')
+
+
+
+
+ --ѯֹ֮еϵ
+ --SELECT δ,t2.fbaseOutqty,*
+UPDATE t1 SET t1.δ=δ+t2.fbaseOutqty
+FROM #tmpSubBOM t1
+INNER JOIN (
+SELECT tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
+TSE.FMATERIALID,SUM(TSE.FBASESTOCKACTUALQTY) fbaseOutqty
+FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+WHERE (TS.FDATE> @FEDate)
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
+GROUP BY tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
+) t2 ON t1.ίⵥ=t2.FSUBREQBILLNO AND t1.ίⵥ¼=t2.FSUBREQENTRYID
+AND t1.ϵ=t2.FPPBOMBILLNO AND t1.ϵ¼=t2.FPPBOMENTRYID AND t1.=t2.FMATERIALID
+
+
+
+--ºδ
+--SELECT * FROM #tmpPPBOM
+
+SELECT ,Ӧ,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+ INTO #tmpSubBOM1 FROM #tmpSubBOM B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,Ӧ,δ,FAUXPROPID,ֿ
+INTO #tmpSubBOM3 FROM #tmpSubBOM1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,SUM(Ӧ)Ӧ,SUM(δ)δ,FAUXPROPID,ֿ
+INTO #tmpSubBOM2 FROM #tmpSubBOM3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+
+--δ(ί)
+UPDATE t1 SET t1.δ=ISNULL(t1.δ,0)+ISNULL(t2.δ,0)
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpSubBOM2
+t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,δ)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ
+ ,ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #tmpSubBOM2 TSE
+ INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+ INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+ INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+ LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052)
+ LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+ LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+ LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+--SELECT * FROM #tmpSal2 TSE
+WHERE δ > 0
+ AND NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+--*********************δ(ί)*END*******************************
+
+-- --ֹѯδ
+-- UPDATE t1 SET t1.δ=ISNULL(t1.δ,0)+ISNULL(t1.ܶ,0)
+--FROM #Stock_Status_temp t1
+--WHERE ISNULL(t1.ܶ,0)<>0
+
+--**********************END*******************************
+
+--깺δת
+--*******************strat*****************************
+
+--ѯֹ֮ǰвɹ
+
+SELECT TS.FAPPLICATIONORGID fstockorgid,TS.FBILLNO 뵥,TS.FID AS ,TSE.FENTRYID ¼,TSE.FMATERIALID ,
+ ISNULL(TSE.FAUXPROPID,0) FAUXPROPID,TS.FAPPLICATIONDATE fdate,TMS.FSTOCKID ֿ,
+ FBASEUNITQTY ,TSEF.FREMAINQTY AS δת
+INTO #TMPREQ
+FROM T_PUR_REQUISITION TS
+ INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
+ LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID
+ LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+WHERE 1=1
+--AND ts.FBILLNO ='SQ1910100001'AND FORDERBASEQTY<>FBASEUNITQTY AND TS.FCLOSESTATUS<>'B'
+ AND (TS.FAPPLICATIONDATE <=@FEDate)
+ AND (TS.FCLOSEDATE>@FEDate or ISNULL(TS.FCLOSEDATE,'')='')
+ AND (TS.FAPPLICATIONORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+
+ --ѯֹ֮вɹ
+ --SELECT *
+UPDATE t1 SET t1.δת=δת+t2.fbaseOrdqty
+FROM #TMPREQ t1
+INNER JOIN (
+ SELECT t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID,SUM(t1.FBASEUNITQTY) fbaseOrdqty
+ FROM T_PUR_POORDER t0
+ INNER JOIN T_PUR_POORDERENTRY t1 ON (t0.FID = t1.FID)
+ INNER JOIN T_PUR_POORDERENTRY_R t1R ON(t1R.FID = t1.FID AND t1.FENTRYID = t1R.FENTRYID)
+ INNER JOIN T_PUR_POORDERENTRY_LK t1k ON(t1.FENTRYID = t1k.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON t1.FMATERIALID = TM.FMATERIALID
+ WHERE t0.FDATE>@FEDate
+ AND ( t0.FCANCELSTATUS = 'A' AND TM.FFORBIDSTATUS = 'A')
+ GROUP BY t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID
+
+) t2 ON t1.=t2.FSBILLID AND t1.¼=t2.FSID AND t1.=t2.FMATERIALID
+
+
+--º
+
+
+SELECT ,,δת,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #TMPREQ1 FROM #TMPREQ B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+SELECT ,,δת,FAUXPROPID,ֿ
+INTO #TMPREQ3 FROM #TMPREQ1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+(TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+SELECT ,SUM(),SUM(δת)δת,FAUXPROPID,ֿ
+INTO #TMPREQ2 FROM #TMPREQ3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+--깺δת
+UPDATE t1 SET t1.깺δת=t2.δת
+FROM #Stock_Status_temp t1
+INNER JOIN #TMPREQ2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,깺δת)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δת)
+FROM #TMPREQ2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE δת<>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+
+--*****************************************************
+
+--ռ
+
+--********************************************************
+ SELECT TSE.FMATERIALID ,(TSE.FBASEQTY)FBASEQTY,
+ CASE WHEN TSE.FSTOCKID<>0 THEN TSE.FSTOCKID ELSE ISNULL(tms.FSTOCKID,0)END FSTOCKID,TSE.FAUXPROPID
+ INTO #TMPLINK FROM T_PLN_RESERVELINK TS
+ INNER JOIN T_PLN_RESERVELINKENTRY TSE ON TS.FID=TSE.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = TSE.FSTOCKID )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
+ WHERE TSE.FBASEQTY<>0
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--GROUP BY TSE.FSTOCKID,TSE.FMATERIALID,FAUXPROPID
+ORDER BY FSTOCKID,TSE.FMATERIALID,FAUXPROPID
+
+
+SELECT ,SUM(FBASEQTY)FBASEQTY,FAUXPROPID,B.FSTOCKID ֿ
+INTO #TMPLINK1 FROM #TMPLINK B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+--LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.FSTOCKID )
+--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.FSTOCKID AND TSL.FLOCALEID = 2052)
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+(TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+GROUP BY b.FSTOCKID,,FAUXPROPID
+ORDER BY b.FSTOCKID,,FAUXPROPID
+
+--ռ
+UPDATE t1 SET t1.ռ=t2.FBASEQTY
+FROM #Stock_Status_temp t1
+ INNER JOIN #TMPLINK1 t2 ON t1.=t2.
+ AND t1.ֿ=t2.ֿ
+ AND t1.װ=T2.FAUXPROPID
+
+--ݾռ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,ռ)
+SELECT
+ TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS
+ ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ
+ ,ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ
+ ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(FBASEQTY)
+FROM #TMPLINK1 TSE
+ INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+ INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID=TML.FMATERIALID AND TML.FLOCALEID =2052
+ INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+ LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+ LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+ LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+ LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+WHERE FBASEQTY <> 0
+ AND NOT EXISTS(
+ SELECT 1
+ FROM #Stock_Status_temp t2
+ WHERE TSE.=t2.
+ AND TSE.ֿ=t2.ֿ
+ AND t2.װ=TSE.FAUXPROPID)
+
+
+--*********************ռEND***********************************
+
+
+--ÿ
+--*******************************************************
+
+UPDATE t1 SET t1.ÿ=ISNULL(ĩ,0)+ISNULL(t1.,0)+ISNULL(;,0)-ISNULL(δ,0)-ISNULL(ܶ,0)
+FROM #Stock_Status_temp t1
+
+--*********************ÿEND**********************************
+
+--BOM
+SELECT =IDENTITY(INT,1,1),,ϴ,,ͺ,ɱ,ڽ
+ ,ڲɹ,ں,ĩ,;,,,δ,,۳
+ ,ֿⲦ,ֿⲦ,깺δת,ܶ,ռ,ÿ
+ ,ֿ,ֿ,ֿ,װʽ,FProMaterialId,Ʒ
+ INTO #Stock_Bom
+FROM (
+ SELECT t1.FMATERIALID ,ϴ,t2.,ͺ,ɱ,ڽ,ڲɹ,ں,ĩ
+ ,;,,,δ,,۳,ֿⲦ,ֿⲦ,깺δת
+ ,ܶ,ռ,ÿ,t2.ֿ,ֿ,ֿ,װʽ,t1.FProMaterialId,t1.FOrderNum Ʒ,FOrderNum
+ ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+ FROM #YC_T_MRP t1
+ INNER JOIN #Stock_Status_temp t2 ON t1.ϱ=t2.ϴ
+ UNION ALL
+ SELECT t1.FMATERIALID ,t1.ϱ ϴ,t2.FNAME ,t2.FSPECIFICATION ͺ
+ ,ISNULL(TM.FOLDNUMBER,'') ɱ,0 ڽ,0 ڲɹ,0 ں,0 ĩ
+ ,0 ;,0 ,0 , 0 δ,0 ,0 ۳,0 ֿⲦ
+ ,0 ֿⲦ,0 깺δת,0 ܶ,0 ռ,0 ÿ,ts.FSTOCKID,ts.FNUMBER AS ֿ
+ ,tsl.FNAME AS ֿ,''װʽ,t1.FProMaterialId,t1.FOrderNum Ʒ,FOrderNum
+ ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+ FROM #YC_T_MRP t1
+ INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = t1.FMATERIALID )
+ INNER JOIN T_BD_MATERIAL_L t2 ON (t2.FMATERIALID = t1.FMATERIALID )
+ INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ INNER JOIN T_BD_STOCK ts ON tms.FSTOCKID=ts.FSTOCKID
+ LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TS.FSTOCKID AND TSL.FLOCALEID = 2052)
+ WHERE 1=1
+ AND ϱ NOT IN (SELECT DISTINCT ϴ FROM #Stock_Status_temp t2)
+ AND TMS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID))t
+ORDER BY FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+
+SELECT
+ t0.FMATERIALID AS 'ProMateralId'
+ ,t1e.FMATERIALID
+ ,t1e_c.FSTOCKID
+ --,t1.FBILLNO
+ ,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--λ
+ ,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--λ
+ ,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--λδ
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS'
+ INTO #TEMPMOQTY
+FROM #TEMPMO t0
+ INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --嵥
+ INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID
+ INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID
+GROUP BY
+ t0.FMATERIALID,t1e.FMATERIALID,t1e_c.FSTOCKID
+SELECT t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
+ INTO #TEMPMONO2Pro
+FROM #TEMPMOQTY t0
+GROUP BY t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
+
+SELECT AS 'FIDENTITYID'
+ ,ϴ,,ͺ,ɱ
+ ,ڽ,ڲɹ,ں,ĩ
+ ,۳,ֿⲦ,ֿⲦ,깺δת
+ ,;,,,δ,,ܶ,ռ,ÿ
+ ,ֿ,ֿ,װʽ,Ʒ
+ ,t1.FBASENEEDQTY
+ ,t1.FBASENOPICKEDQTY
+ ,t1.FBASEPICKEDQTY
+ ,CASE CHARINDEX(',',t2.MONOS) WHEN 0 THEN t2.MONOS ELSE '' END AS 'MONO'
+ ,CASE CHARINDEX(',',t2.SALENOS) WHEN 0 THEN t2.SALENOS ELSE '' END AS 'SALENO'
+ ,t2.SALENOS,t2.MOENTRYIDS,t2.MOIDS
+ --INTO {0}
+FROM #Stock_Bom t0
+ LEFT JOIN #TEMPMONO2Pro t2 on t2.ProMateralId = t0.FProMaterialId
+ LEFT JOIN #TEMPMOQTY t1 ON t0. = t1.FMATERIALID AND t0.ֿ = t1.FSTOCKID AND t0.FProMaterialId = t1.ProMateralId
+
+DROP TABLE #TEMPMO
+DROP TABLE #TEMPMOQTY
+DROP TABLE #TEMPMONO2Pro
+DROP TABLE #Stock_Bom
+DROP TABLE #TMP
+DROP TABLE #TMP1
+DROP TABLE #TMPLINK
+DROP TABLE #TMPLINK1
+DROP TABLE #TMP4
+DROP TABLE #TMP5
+DROP TABLE #TMP6
+DROP TABLE #TMP7
+DROP TABLE #TMP8
+DROP TABLE #tmpSal
+DROP TABLE #tmpSal1
+DROP TABLE #tmpSal2
+DROP TABLE #tmpSal3
+DROP TABLE #tmpMO
+DROP TABLE #tmpMO1
+DROP TABLE #tmpMO2
+DROP TABLE #tmpMO3
+
+DROP TABLE #TMPREQ
+DROP TABLE #TMPREQ1
+DROP TABLE #TMPREQ2
+DROP TABLE #TMPREQ3
+DROP TABLE #TMPRECEIVE
+DROP TABLE #TMPRECEIVE1
+DROP TABLE #TMPRECEIVE2
+DROP TABLE #TMPRECEIVE3
+DROP TABLE #tmppoorder
+DROP TABLE #tmppoorder1
+DROP TABLE #tmppoorder2
+DROP TABLE #tmppoorder3
+DROP TABLE #tmpPPBOM
+DROP TABLE #tmpPPBOM1
+DROP TABLE #tmpPPBOM2
+DROP TABLE #tmpPPBOM3
+DROP TABLE #tmpSUBBOM
+DROP TABLE #tmpSUBBOM1
+DROP TABLE #tmpSUBBOM2
+DROP TABLE #tmpSUBBOM3
+DROP TABLE #Stock_Status_temp
+SET nocount off
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/aaaaaa.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/aaaaaa.sql
new file mode 100644
index 0000000..d9129a5
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/aaaaaa.sql
@@ -0,0 +1,3218 @@
+declare
+ @moBillNo varchar(100)
+ ,@salesBillNo varchar(100)
+ ,@ProMateriaNumber varchar(100)
+ ,@startMaterialId int
+ ,@endMaterialId int
+ ,@FSDate varchar (30)
+ ,@FEDate varchar (30)
+ ,@FSStock varchar (max)
+ ,@FName varchar (255)
+SET @moBillNo =''
+SET @salesBillNo =''
+SET @moBillNo = 0
+SET @moBillNo = 0
+SET @FSDate = '2024-02-06'
+SET @FEDate = '2024-03-06'
+--SET @FSNumber = 'TSH182H000208O'
+--SET @FENumber = 'TSH182H000208O'
+SET @FSStock =''
+SET @FName = ''
+
+SET nocount ON
+declare @FCloseBALDate varchar (30)
+declare @FClosedate varchar (30)
+
+--ѯʼһڵĩ
+If NOT Exists(
+ SELECT FORGID,MAX(FCLOSEDATE) fclosedate
+ FROM T_STK_CLOSEPROFILE
+ WHERE 1=1
+ --AND FORGID IN (1)
+ AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate)
+ GROUP BY FORGID)
+BEGIN
+ SET @FClosedate='2020-01-01'
+ SET @FCloseBALDate='2020-01-01'
+ --print @FClosedate
+END
+ELSE
+BEGIN
+ --SET @FClosedate='2019-07-01'
+ SELECT @FClosedate= CONVERT(varchar (30),DATEADD(D,1,MAX(FCLOSEDATE)),23) FROM
+ T_STK_CLOSEPROFILE WHERE ((
+ 1 =1
+ --AND FORGID IN (1)
+ AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID
+ SET @FCloseBALDate=CONVERT(varchar (30),DATEADD(D,-1,@FClosedate),23)
+ --print @FClosedat
+END
+
+ --ʱѡȡֿ
+
+IF EXISTS(SELECT * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID'))
+BEGIN
+ DROP TABLE #tmpStockID
+ print ''
+END
+Create Table #tmpStockID (
+ FID INT IDENTITY(1,1)
+ ,FStockID INT
+)
+DECLARE @Strsql varchar(max)
+SET @Strsql= 'INSERT INTO #tmpStockID SELECT DISTINCT FSTOCKID FROM T_BD_STOCK WHERE 1=1 ' +@FSStock
+EXEC(@Strsql)
+
+--״̬
+
+if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#Stock_Status_temp'))
+begin
+ DROP TABLE #Stock_Status_temp
+ print ''
+END
+
+Create Table #Stock_Status_temp (
+ INT IDENTITY(1,1),
+ INT,
+ ϴ varchar(100) null,
+ varchar(255) null,
+ ͺ varchar(255) null,
+ ɱ varchar(100) null,
+ --λ varchar(30) null,
+ ڽ DECIMAL (18,2) Null,
+ ڲɹ DECIMAL (18,2) Null,
+ ں DECIMAL (18,2) Null,
+ ĩ DECIMAL (18,2) Null,
+ ; DECIMAL (18,2) Null,
+ DECIMAL (18,2) Null,
+ DECIMAL (18,2) Null,
+ δ DECIMAL (18,2) Null,
+ DECIMAL (18,2) Null,
+ ۳ DECIMAL (18,2) Null,
+ ֿⲦ DECIMAL (18,2) Null,
+ ֿⲦ DECIMAL (18,2) Null,
+ 깺δת DECIMAL (18,2) Null,
+ ܶ DECIMAL (18,2) Null,
+ ռ DECIMAL (18,2) Null,
+ ÿ DECIMAL (18,2) Null,
+ ֿ INT,
+ ֿ varchar(100) null,
+ ֿ varchar(255) null,
+ װ INT,
+ װʽ varchar(255) null
+)
+
+if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#TMP'))
+begin
+ DROP TABLE #TMP
+ print ''
+END
+
+CREATE TABLE #TMP (
+ FID INT IDENTITY(1,1),
+ FSTOCKORGID INT NOT NULL DEFAULT 0,
+ FBILLENTRYID INT NOT NULL DEFAULT 0,
+ FORDERBY INT NOT NULL DEFAULT 0,
+ FSTOCKIO CHAR (1) NULL,
+ FMATERIALID INT NOT NULL DEFAULT 0,
+ FAUXPROPID INT NOT NULL DEFAULT 0,
+ FDATE DATETIME NULL,
+ FSTOCKID INT NOT NULL DEFAULT 0,
+ FSTOCKLOCID INT NOT NULL DEFAULT 0,
+ FSTOCKSTATUSID INT NOT NULL DEFAULT 0,
+ FBILLNAME NVARCHAR (100) NULL,
+ FBILLID INT NOT NULL DEFAULT 0,
+ FBILLSEQID INT NULL,
+ FBILLNO NVARCHAR (100) NULL,
+ FBASEQCQTY DECIMAL (23,10) NOT NULL DEFAULT 0,
+ FBASEINQTY DECIMAL (23,10) NOT NULL DEFAULT 0,
+ FBASEOUTQTY DECIMAL (23,10) NOT NULL DEFAULT 0
+)
+
+--BOM㼶
+
+IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#YC_T_MRP'))
+BEGIN
+ DROP TABLE #YC_T_MRP
+END
+
+CREATE TABLE #YC_T_MRP(
+ FID INT IDENTITY(1,1),
+ FBOMNumber NVARCHAR(255),
+ FMATERIALID INT,
+ ϱ NVARCHAR(255),
+ NVARCHAR(255),
+ Ʒ DECIMAL(28,10) DEFAULT (0),
+ DECIMAL(28,10),--BOM
+ ĸ DECIMAL(28,10),--BOMĸ
+ FQty DECIMAL(28,10),--
+ FLevle INT,
+ FERPCLSID INT,
+ FProMaterialId INT,
+ FOrderNum NVARCHAR(255),
+ FBOMID INT,
+ BOM㼶 NVARCHAR(200) NULL,
+ FSEQ1 INT,
+ FSEQ2 INT,
+ FSEQ3 INT,
+ FSEQ4 INT,
+ FSEQ5 INT,
+ FSEQ6 INT,
+ FParentNumber NVARCHAR(255)
+)
+
+IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#BOMTMP'))
+BEGIN
+ DROP TABLE #BOMTMP
+END
+
+/* ţ۶ţϽɸѡӦ*/
+SELECT
+ t0.FBILLNO
+ ,t0.FID
+ ,t0e.FQTY
+ ,t0e.FENTRYID
+ ,t0e.FMATERIALID
+ ,t0e_a.FREPQUAQTY
+ --,t0e_a.FREQSRC --1.۶
+ ,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO'
+ INTO #TEMPMO
+FROM
+ T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e ON t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID
+WHERE 1 = 1
+ AND t0.FDOCUMENTSTATUS = 'C'
+ AND (t0e_a.FSTATUS < 5)
+ --AND t0e.FMATERIALID = 100258
+ AND t0.FBILLNO = 'MO000023'
+
+/*ȡ״̬BOMʱ*/
+SELECT
+ ID=IDENTITY(INT,1,1)
+ ,T0.FID
+ ,T0.FNUMBER
+ ,T0.FMATERIALID
+ ,ROW_NUMBER() OVER(PARTITION BY T0.FMATERIALID ORDER BY t0.FID DESC) AS ROWID
+ ,t0.FDOCUMENTSTATUS
+ ,t0.FYIELDRATE
+ INTO #BOMTmp
+FROM T_ENG_BOM T0
+ INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --ϱ
+WHERE (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A')
+ --AND tm.FNUMBER = 'TSH182H000208O'
+ AND tm.FMATERIALID IN (SELECT DISTINCT FMATERIALID FROM #TEMPMO)
+ORDER BY FMATERIALID,FNUMBER
+
+--/*ʱУͬһϴֻһ°汾BOM*/
+DELETE FROM #BOMTmp WHERE ROWID != 1
+
+--ѯһƷϢ
+INSERT INTO #YC_T_MRP(
+ FBOMNumber,FMATERIALID,ϱ,,Ʒ
+ ,,ĸ,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum
+ ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT
+ t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER 'ϱ',t3.FNAME '',t0.FYIELDRATE 'Ʒ'
+ ,1 '',1 'ĸ',1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FMATERIALID,t1.FNUMBER 'ϱ'
+ ,t0.FID 'FBOMID',0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber'
+FROM T_ENG_BOM t0
+ INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --ϱ
+ LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --ϱ
+ LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--ϱ
+ INNER JOIN #BOMTmp t6 ON t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER
+WHERE 1=1
+ AND (t0.FDOCUMENTSTATUS = 'C')
+ORDER BY T0.FNUMBER
+
+--ݵһƷѯһƷIJϢ
+DECLARE @num INT,@level int,@LoopCount int
+SET @num = 1
+SET @level =1
+SET @LoopCount = 0;
+
+INSERT INTO #YC_T_MRP(
+ FBOMNumber,FMATERIALID,ϱ,,Ʒ
+ ,,ĸ,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum
+ ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT
+ t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t10.FYIELDRATE 'Ʒ'
+ ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
+ ,@level AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t5.FMATERIALID,T5.FOrderNum
+ ,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.ϱ 'FParentNumber'
+FROM #YC_T_MRP t5
+ LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FBOMID=t6.FID--BOM¼
+ INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ
+ LEFT JOIN T_ENG_BOM t10 ON t10.FID=t6.FID--BOM
+WHERE (t7.FFORBIDSTATUS = 'A')
+ AND T5.FLevle = 0 AND T5.FERPCLSID >= 2
+ AND t10.FDOCUMENTSTATUS = 'C'
+
+WHILE (@num > 0 AND @LoopCount < 10)
+BEGIN
+
+ SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID
+ INTO #BOMTmp1 FROM #YC_T_MRP t1
+ INNER JOIN T_ENG_BOM t0 ON t1.FMATERIALID=t0.FMATERIALID--BOMͷ
+ WHERE 1=1 AND (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') AND T1.FLevle=@level AND T1.FERPCLSID>=2
+
+ DELETE FROM #BOMTmp1 WHERE id NOT IN (SELECT max(id) FROM #BOMTmp1 GROUP BY FMATERIALID)
+
+ INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle
+ ,FERPCLSID,FProMaterialId,FOrderNum,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+ SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ'
+ ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
+ ,@level + 1 AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t1.FMATERIALID,T1.FOrderNum,0 'FBOMID'
+ ,t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t6.FSEQ 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t1.ϱ 'FParentNumber'
+ FROM #YC_T_MRP t1
+ INNER JOIN T_ENG_BOM t5 ON t1.FMATERIALID=t5.FMATERIALID--BOMͷ
+ LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FID=t6.FID--BOM¼
+ INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ
+ INNER JOIN #BOMTmp1 t10 ON t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER
+ WHERE 1 = 1 AND (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 AND t5.FDOCUMENTSTATUS = 'C'
+
+ SET @num = @@ROWCOUNT
+ SET @level += 1
+ SET @LoopCount += 1
+
+ DROP TABLE #BOMTmp1
+
+END
+
+UPDATE #YC_T_MRP SET BOM㼶 =REPLICATE('.',FLevle)++ convert(varchar(4),FLevle)
+
+--ⵥ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT
+ TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,
+ ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+ TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_PRD_INSTOCK TS
+ INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ --((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+ AND ((( 1=1 /*TS.FSTOCKORGID IN (1)*/ AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_PRD_INSTOCK TS
+ INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--ⵥ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.
+FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,
+TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty
+--t_STK_InStock
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+
+INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((
+((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.
+FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,
+FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,TSE.FRECEIVESTOCKSTATUS fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00')AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (TSE.FRECEIVESTOCKID > 0)) AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+ AND TSE.FRECEIVESTOCKFLAG = '1')
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,
+TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,
+TSE.FRECEIVESTOCKSTATUS fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEUNITQTY)) fbaseqcqty
+
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (TSE.FRECEIVESTOCKID > 0))
+AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') AND TSE.FRECEIVESTOCKFLAG = '1')
+GROUP BY TS.FSTOCKORGID,TSE.FRECEIVEOWNERTYPEID,TSE.FRECEIVEOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FRECEIVEAUXPROPID,0),
+ISNULL(TSE.FRECEIVELOT_TEXT,' '),ISNULL(TSE.FRECEIVEMTONO,' '),TSE.FRECEIVESTOCKID,ISNULL(TSE.FRECEIVESTOCKLOCID,0),
+TSE.FRECEIVESTOCKSTATUS,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,
+FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+--ϵ
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND
+ TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
+
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (
+((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,
+ TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
+
+--۳ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'۳ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
+FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard'))
+AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+--AND TS.FBILLNO='SA1907050103'
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+ FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
+ INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((
+ ((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+ AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,
+ TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_PRD_FEEDMTRL TS
+INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_PRD_FEEDMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--AND ts.FBILLNO IN ('M31910140010','M31907010006')
+
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,'ʼ' fbillname,SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_PRD_FEEDMTRL TS INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((/*TS.FSTOCKORGID IN (1) AND*/
+ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty
+FROM T_PRD_RETURNMTRL TS
+INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_PRD_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A'))
+--AND ts.FBILLNO='M21907200004'
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
+ FROM T_PRD_RETURNMTRL TS INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,
+0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,(0 - TSE.FBASEUNITQTY) fbaseinqty,0 fbaseoutqty
+FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
+AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((--TS.FSTOCKORGID IN (1)
+ 1 = 1
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
+ AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE= 'B' AND TMB.FISINVENTORY = '1')
+ AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT,''),ISNULL(TSE.FMTONO,''),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ ±־ FSTOCKFLAG 0:δ 1:Ѹ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty
+FROM T_PUR_RECEIVE TS INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TMB.FMaterialId = TSE.FMaterialId
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TMB.FISINVENTORY = '1')
+AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty
+
+FROM T_PUR_RECEIVE TS
+INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND */TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--˻
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+--˻
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'˻' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEUNITQTY) fbaseoutqty
+FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+
+--AND TS.FBILLNO ='SB1908230003'
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty
+ FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
+ INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+ AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+
+--ⵥ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
+TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEACTUALQTY fbaseoutqty
+
+FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEACTUALQTY)) fbaseqcqty
+FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,
+ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--ϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,
+ 0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ
+ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEQTY) fbaseoutqty
+
+FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty
+FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((/*TS.FSTOCKORGID IN (1) AND */TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--װж
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'װж' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE
+(((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+ FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
+ TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--װж
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FDETAILID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'װж' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+
+CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseoutqty
+FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
+INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+ FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
+ INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,
+ TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
+
+
+
+--ŵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'ŵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,
+ ISNULL(TSE.FBOMID,0)
+
+
+
+--ⵥ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseinqty,0 fbaseoutqty
+
+FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_MISCELLANEOUSENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE<= '2019-11-12 23:59:59'))
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+ FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,
+ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseoutqty
+FROM T_STK_MISDELIVERY TS
+INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_MISDELIVERYENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+ --ʼ
+INSERT INTO #TMP (FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN (0 - TSE.FBASEQTY) ELSE TSE.FBASEQTY END) fbaseqcqty
+ FROM T_STK_MISDELIVERY TS INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ --AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND ((( TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--мӹⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'мӹⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_OEMINSTOCK TS
+INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_OEMINSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(FBASEQTY) fbaseqcqty
+FROM T_STK_OEMINSTOCK TS INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((( TS.FDOCUMENTSTATUS IN ('C'))
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--мӹϵ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'мӹϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,(0 - FBASEQTY) fbaseinqty,0 fbaseoutqty
+
+FROM T_STK_OEMINSTOCKRTN TS
+INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_OEMINSTOCKRTNENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat')
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat')
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'',(0 - SUM(FBASEQTY)) fbaseqcqty
+ FROM T_STK_OEMINSTOCKRTN TS INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND ((( TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ --AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND FRETURNTYPE = 'StockReMat')
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
+ ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--̬ת
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'̬ת' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STATUSCONVERT TS
+INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STATUSCONVERT TS INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--״̬ת
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'״̬ת' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STOCKCONVERTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ӯ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ӯ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEGAINQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKCOUNTGAIN TS
+INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+--AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(TSE.FBASEGAINQTY) fbaseqcqty
+FROM T_STK_STKCOUNTGAIN TS INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+--AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--̿
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'̿' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,TSE.FBASELOSSQTY fbaseoutqty
+FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+--AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(0 - TSE.FBASELOSSQTY) fbaseqcqty
+ FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND ((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+ --AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
+ ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ֱӵ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid,'ֱӵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+
+
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS
+.FOBJECTTYPEID = 'STK_TransferDirect')
+
+
+
+--ʼ
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FDESTSTOCKID fstockid,
+ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ',
+SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END -
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),
+TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+
+
+--ֱӵ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,
+FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,
+'ֱӵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+--AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,
+TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ʼ',
+
+SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END -
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
+
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,
+TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
+
+
+--ֲʽ뵥
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid,'ֲʽ뵥' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GEN
+ERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ --AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+--ֲʽ뵥
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ֲʽ뵥' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+--AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+
+
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'',SUM((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((1=1
+ --AND (((TS.FSTOCKOUTORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+ AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+ GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FSRCMTONO,' '),
+ TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FSRCPRODUCEDATE,TSE.FSRCEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
+
+--ֲʽ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,
+TSE.FSRCSTOCKSTATUSID fstockstatusid,'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FDOCUMENTSTATUS IN ('C'))
+--AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(0 - TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFEROUTENTRY TSE INNER JOIN T_STK_STKTRANSFEROUT TS ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON
+TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+ --AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,
+ TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+--ֲʽ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),
+ TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+
+--ֲʽ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKINORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,
+ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKINORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
+GROUP BY TS.FSTOCKINORGID,TSE.FOWNERTYPEINID,TSE.FOWNERINID,TSE.FDESTMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FDESTMTONO,' '),TSE.FDESTSTOCKID,
+ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEINID,TSE.FKEEPERINID,TSE.FDESTPRODUCEDATE,TSE.FDESTEXPIRYDATE,ISNULL(TSE.FDESTBOMID,0),TS.FDATE
+
+
+
+--Ʋֿ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid,'Ʋֿ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+ 0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+ FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+
+
+ --Ʋֿ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,
+ TSE.FSRCSTOCKSTATUSID fstockstatusid,
+ 'Ʋֿ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+ FROM T_REM_STKTRANSFERIN TS
+ INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
+ FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
+
+
+--ίⲹϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ίⲹϵ' fbillname,TS.FID fbillid,
+TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_SUB_FEEDMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+
+'ʼ',SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
+ TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ίϵ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ίϵ' fbillname,TS.FID fbillid,
+TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSE.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSEQ.FOWNERTYPEID,TSEQ.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSEQ.FKEEPERTYPEID,TSEQ.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--ίϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ίϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+0 fbaseinqty,(0 - TSE.FBASESTOCKQTY) fbaseoutqty
+FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_SUB_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASESTOCKQTY) fbaseqcqty
+FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,
+TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSEA.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--߲Ʒⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+ 'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'߲Ʒⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_REM_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty
+ FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+---߲Ʒ˿ⵥ
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,
+ FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'߲Ʒ˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty
+FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_REM_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
+ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS
+.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty
+
+FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_REM_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
+FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1)
+AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,
+ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty
+
+FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_REM_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
+FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--ίⳬĵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ίⳬĵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
+
+FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SUB_EXCONSUMEENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOwnerTypeId,TSE.FOwnerId,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--˿ⵥ
+
+ INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty
+FROM
+T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
+LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TS.FEntrustRetStockId = 0)
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSE.FBASEREALQTY) fbaseqcqty
+FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1)
+AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS= 'A')) AND TS.FEntrustRetStockId = 0)
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--˿ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEOUTQTY) fbaseinqty,0 fbaseoutqty
+
+FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_SP_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ',SUM(0 - TSE.FBASEOUTQTY) fbaseqcqty
+ FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TSE.FSTOCKORGID fstockorgid,TSE.FBALDATE fdate,-200 forderby,
+ 'I' fstockio,TM.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TBS.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'',SUM(TSE.FBASEENDQTY) fbaseqcqty
+FROM T_STK_INVBAL TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN T_ENG_BOM TB ON (TB.FMASTERID = TSE.FBOMID AND TB.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON ((VO.FMASTERID = TSE.FOWNERID AND VO.FFORMID = TSE.FOWNERTYPEID) AND (VO.FUSEORGID = TSE.FSTOCKORGID OR VO.FUSEORGID = 0
+OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VO.FFORMID AND BT.FSTRATEGYTYPE = 1))))
+LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (VO.FITEMID = VO_L.FITEMID AND VO_L.FLOCALEID = 2052)
+LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON ((VK.FMASTERID = TSE.FKEEPERID AND VK.FFORMID = TSE.FKEEPERTYPEID) AND (VK.FUSEORGID = TSE.FSTOCKORGID OR VK.FUSEORGID = 0
+OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VK.FFORMID AND BT.FSTRATEGYTYPE = 1))))
+LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (VK.FITEMID = VK_L.FITEMID AND VK_L.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_LOTMASTER TBLM ON (ISNULL(TSE.FLOT,0) = TBLM.FMASTERID AND TBLM.FUSEORGID IN (1))
+
+WHERE ((TSE.FSTOCKORGID IN (1) AND (FBALTYPE IN(0,1) AND (FSTOCKORGID = 1 AND TSE.FBALDATE =@FCloseBALDate )))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND TM.FFORBIDSTATUS = 'A')
+
+
+GROUP BY TSE.FSTOCKORGID,TSE.FOWNERTYPEID,VO.FITEMID,TSE.FBALDATE,TM.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TBLM.FNUMBER,' '),ISNULL(TSE.FMTONO,' '),
+TBS.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,VK.FITEMID,TSE.FLOT,TMS.FISBATCHMANAGE,TMS.FISKFPERIOD,
+TMS.FISEXPPARTOFLOT,TBLM.FPRODUCEDATE,TSE.FPRODUCEDATE,TBLM.FEXPIRYDATE,TSE.FEXPIRYDATE,ISNULL(TB.FID,0)
+
+--ϲг
+
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp1
+FROM #TMP
+--WHERE FDATE <='2019-08-30'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ
+FROM #tmp1 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+
+--ڽ
+--SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+--INTO #tmp2
+
+--FROM #TMP
+----WHERE FDATE <=@FSDate
+--GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+--ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--SELECT *
+UPDATE t1 SET t1.ڽ=t2.FBASEQCQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp1 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+--ĩ
+UPDATE t1 SET t1.ĩ=t2.FBASEQCQTY+t2.FBASEINQTY-t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN
+ #tmp1 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+--ڲɹ
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp4 FROM #TMP TS WHERE FORDERBY<>'-200' AND fstockio='I' AND ( FBILLNAME NOT like'%%' AND FBILLNAME<>'̬ת')
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,
+FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+--ڲɹ
+
+UPDATE t1 SET t1.ڲɹ=t2.FBASEINQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp4 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+--ں
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp5 FROM #TMP TS WHERE fstockio='O' AND ( FBILLNAME NOT like'%%' AND FBILLNAME<>'̬ת')
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+--ں
+
+UPDATE t1 SET t1.ں=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp5 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+
+--ֿⲦֿⲦ
+
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp6 FROM #TMP TS WHERE FORDERBY<>'-200' AND ( FBILLNAME like'%%' )
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--ֿⲦ--ֿⲦ
+
+UPDATE t1 SET t1.ֿⲦ=t2.FBASEINQTY,t1.ֿⲦ=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp6 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+
+--
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp7 FROM #TMP TS WHERE ( FBILLNAME IN('ϵ','ίϵ' ))
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--
+UPDATE t1 SET t1.=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp7 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+
+--۳
+
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp8 FROM #TMP TS WHERE ( FBILLNAME ='۳ⵥ' )
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--۳
+UPDATE t1 SET t1.۳=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp8 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID
+
+--ܶ
+--۶ܶ
+--*******************************************
+
+--ѯ
+--(C.FBASEREMAINOUTQTY+C.FBaseReturnQty)ۼ˿+ʣδ
+SELECT (A.FBILLNO) AS ۵,(A.FID) ,(B.FENTRYID) ۷¼,(B.FSEQ) ,
+B.FMATERIALID AS ,B.FBASEUNITQTY ,(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS δ,FBaseReturnQty,
+ISNULL(B.FSTOCKID,0) ֿ,B.FAUXPROPID,A.FCLOSESTATUS,FCLOSEDATE,A.FDATE,B.FMRPCLOSESTATUS ҵر
+INTO #tmpSal
+FROM T_SAL_ORDER A
+INNER JOIN T_SAL_ORDERENTRY B ON A.FID =B.FID
+LEFT JOIN T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID
+LEFT JOIN T_SAL_ORDERENTRY_E D ON D.FID=B.FID AND D.FENTRYID =B.FENTRYID
+
+WHERE 1=1 AND A.FCANCELSTATUS='A' AND A.FDOCUMENTSTATUS='C' --AND B.FMRPTERMINATESTATUS='A'
+AND (B.FTERMINATEDATE >@FEDate OR ISNULL(B.FTERMINATEDATE,'') ='')
+AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')--رڿʼ֮ǰݲ
+AND A.FDATE <=@FEDate --AND A.FBILLNO='SO1909200018'
+ORDER BY A.FDATE,A.FID,B.FENTRYID,B.FMATERIALID
+
+
+
+--δ
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseoutqty
+FROM #tmpSal t1
+INNER JOIN (
+SELECT TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID,SUM(TSE.FBASEUNITQTY) fbaseoutqty
+FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE TS.FDATE>@FEDate AND
+( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+GROUP BY TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID ) t2 ON t2.FSOORDERNO =t1.۵ AND t2.FSOENTRYID=t1.۷¼ AND t1.=t2.FMATERIALID
+
+--۳˻
+--˻
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseoutqty
+FROM #tmpSal t1
+INNER JOIN (
+SELECT TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID,SUM((TSE.FBASEUNITQTY)) fbaseoutqty
+FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE TS.FDATE>@FEDate
+AND ( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+GROUP BY TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID
+) t2 ON t2.FORDERNO =t1.۵ AND t2.FSOENTRYID=t1.۷¼ AND t1.=t2.FMATERIALID
+
+
+
+SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #tmpSal1 FROM #tmpSal B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ )
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY
+
+
+SELECT ,,δ,FAUXPROPID,ֿ
+INTO #tmpSal3 FROM #tmpSal1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+--LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY
+
+
+
+SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ
+INTO #tmpSal2 FROM #tmpSal3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+--۶ܶ
+UPDATE t1 SET t1.ܶ=t2.δ
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpSal2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,ܶ)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS
+ ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #tmpSal2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+--*******************************************
+
+
+
+--;
+--************************************************
+
+--ɹ
+SELECT ddd.FPurchaseOrgID fstockorgid,ddd.FBILLNO ɹ,ddd.FID AS ɹ,B.FENTRYID ɹ¼,b.FMATERIALID ,
+ISNULL(b.FAUXPROPID,0) fauxpropid,ddd.FDATE fdate,TMS.FSTOCKID ֿ,FBASEUNITQTY ɹ,
+FREMAINSTOCKINQTY ʣ,FBASESTOCKINQTY ,ddd.FCLOSEDATE
+INTO #tmppoorder
+FROM t_pur_poorderentry b
+INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID AND FbusinessType NOT IN ('ZCCG','FYCG'))
+INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid
+INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid
+INNER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID
+WHERE (ddd.FPurchaseOrgID IN (1) AND (((ddd.FPurchaseOrgID IN (1))
+AND (ddd.FDATE <=@FEDate)) AND ddd.fdocumentStatus = 'C'))
+AND (b.FTERMINATEDATE >@FEDate OR ISNULL(b.FTERMINATEDATE,'') ='')
+AND (ddd.FCLOSEDATE>@FEDate or ISNULL(ddd.FCLOSEDATE,'')='')
+
+--ⵥ
+--SELECT *
+
+UPDATE t1 SET t1.ʣ=ʣ+t2.fbaseinqty
+FROM #tmppoorder t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID,tse.FPOORDERENTRYID,tse.FPOORDERNO,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+
+ INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1 AND TS.FDATE > @FEDate
+ AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND TS.FDOCUMENTSTATUS IN ('C')
+ GROUP BY TSE.FPOORDERNO,TSE.FPOORDERENTRYID,TSE.FMATERIALID
+)t2 ON t2.FPOORDERNO =t1.ɹ AND t2.FPOORDERENTRYID=t1.ɹ¼ AND t1.=t2.FMATERIALID
+
+
+--ϵ
+ --SELECT *
+UPDATE t1 SET t1.ʣ=ʣ-t2.fbaseinqty
+FROM #tmppoorder t1
+INNER JOIN(
+ SELECT tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID fmaterialid,SUM( TSE.FBASEUNITQTY) fbaseinqty
+
+ FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+ WHERE 1=1 AND (TS.FDATE >@FEDate)
+ AND TS.FDOCUMENTSTATUS IN ('C') AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND (TSE.FSTOCKID > 0)
+ AND TSF.FISGENFORIOS = '0'AND (TSE.FSTOCKFLAG = '1' OR (TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') )
+ GROUP BY tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID
+)t2 ON t2.FORDERNO =t1.ɹ AND t2.FPOORDERENTRYID=t1.ɹ¼ AND t1.=t2.FMATERIALID
+
+
+--º;
+
+SELECT ,ɹ,ʣ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #tmppoorder1 FROM #tmppoorder B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT
+ JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+
+SELECT ,ɹ,ʣ,FAUXPROPID,ֿ
+INTO #tmppoorder3 FROM #tmppoorder1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK
+ ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY
+
+
+
+
+SELECT ,SUM(ɹ)ɹ,SUM(ʣ)ʣ,FAUXPROPID,ֿ
+INTO #tmppoorder2 FROM #tmppoorder3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+
+--;
+UPDATE t1 SET t1.;=t2.ʣ
+FROM #Stock_Status_temp t1
+INNER JOIN #tmppoorder2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,;)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(ʣ)
+FROM #tmppoorder2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER
+ JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE ʣ<>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+
+
+
+
+--************************************************
+
+--
+--*************************************************
+--ѯֹ֮ǰ
+SELECT (MO.FBILLNO) ,ME.FPRODUCTTYPE,
+(MO.FID) ,(ME.FENTRYID) ¼,MA.FCONVEYDATE,ME.FMATERIALID ,
+ISNULL(ME.FSTOCKID,0) ֿ,ME.FAUXPROPID,MO.FDATE,ME.FSEQ,(ME.FQTY) ,
+--MQ.FBASENOSTOCKINQTY δ
+(CASE WHEN (MQ.FBASENOSTOCKINQTY)>0 THEN (MQ.FBASENOSTOCKINQTY) ELSE 0 END) AS δ,MQ.FBASERESTKQTY ˿
+
+INTO #tmpMO
+FROM T_PRD_MO MO
+INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID
+LEFT JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+LEFT JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+--AND MO.FBILLNO IN('MO1909090271','MO1905070262')
+AND MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>''
+AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')
+
+
+--ֹ֮ɵⵥ
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseInqty
+FROM #tmpMO t1
+INNER JOIN(
+ SELECT TSE.FMATERIALID,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseInqty
+ FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1
+ AND TS.FDATE > @FEDate AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ --AND TS.FBILLNO='MM1909090128'
+ GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+ --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 ON t1.=t2.FMOID AND t1.¼=t2.FMOENTRYID AND t1.=t2.FMATERIALID
+
+--ֹ֮ɵ˿ⵥ
+--SELECT *
+UPDATE t1 SET t1.δ=δ-t2.fbaseOutqty
+FROM #tmpMO t1
+INNER JOIN(
+ SELECT TSE.FMATERIALID fmaterialid,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseOutqty
+ FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
+ LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1
+ AND TS.FDATE > @FEDate
+ AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'
+ AND TS.FCANCELSTATUS = 'A' AND TS.FEntrustRetStockId = 0
+ GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 ON t1.=t2.FMOID AND t1.¼=t2.FMOENTRYID AND t1.=t2.FMATERIALID
+
+
+--º
+
+SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #tmpMO1 FROM #tmpMO B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,,δ,FAUXPROPID,ֿ
+INTO #tmpMO3 FROM #tmpMO1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY
+
+
+
+SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ
+INTO #tmpMO2 FROM #tmpMO3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+--
+UPDATE t1 SET t1.=t2.δ
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpMO2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #tmpMO2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+--***************END**********************************
+
+
+--
+--******************start*******************************
+
+----ѯֹ֮ǰϵ
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FBILLNO ϵ,TS.FID AS ,TSE.FENTRYID Ϸ¼,TSE.FMATERIALID ,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID ֿ,FBASEUNITQTY ,
+CASE WHEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY))>0 THEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY)) ELSE 0 END δ,
+(FBASEUNITQTY-FINSTOCKBASEQTY +FRETURNBASEQTY)
+INTO #TMPRECEIVE
+FROM T_PUR_RECEIVE TS
+INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_RECEIVEENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
+INNER JOIN T_PUR_RECEIVEENTRY_R TSER ON (TSE.FID = TSER.FID AND TSE.FENTRYID = TSER.FENTRYID)
+INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID
+WHERE 1=1 AND (TS.FDATE <= @FEDate)
+--AND ts.FBILLNO='T61908290024-' AND FRETURNBASEQTY<>0
+AND( FEXECUTEDATE>@FEDate OR ISNULL(FEXECUTEDATE,'')='')--ִ
+AND (TS.FSTOCKORGID IN (1))
+AND (TSE.FSTOCKID > 0)AND TSE.FSTOCKFLAG = '0'
+
+-- AND TS.FDOCUMENTSTATUS IN ('C')
+------ѯֹ֮ǰⵥ
+
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseInqty
+FROM #TMPRECEIVE t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1 AND TS.FDATE >@FEDate
+ AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID
+ --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 ON t1.=t2.FSBILLID AND t1.Ϸ¼=t2.FSID AND t1.=t2.FMATERIALID
+
+--
+--ѯֹ֮ϵ
+--SELECT *
+UPDATE t1 SET t1.δ=δ+t2.fbaseInqty
+FROM #TMPRECEIVE t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_MRBENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+ WHERE 1=1 AND TS.FDATE >@FEDate
+ AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID
+
+) t2 ON t1.=t2.FSBILLID AND t1.Ϸ¼=t2.FSID AND t1.=t2.FMATERIALID
+
+
+
+--º
+
+SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #TMPRECEIVE1 FROM #TMPRECEIVE B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+
+SELECT ,,δ,FAUXPROPID,ֿ
+INTO #TMPRECEIVE3
+ FROM #TMPRECEIVE1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ
+INTO #TMPRECEIVE2 FROM #TMPRECEIVE3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+
+--
+UPDATE t1 SET t1.=t2.δ
+FROM #Stock_Status_temp t1
+INNER JOIN #TMPRECEIVE2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #TMPRECEIVE2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE δ<>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+
+--****************END*********************************
+
+--*********************δ*****************************************
+
+--δ()
+--***********************δ()*****************************
+--ѯֹ֮ǰ
+SELECT (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼,
+PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼,
+ISNULL(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID,(PE.FMUSTQTY) AS Ӧ,
+PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ
+INTO #tmpPPBOM
+ FROM T_PRD_MO MO
+INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID
+INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+INNER JOIN T_PRD_PPBOM PP ON PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID
+INNER JOIN T_PRD_PPBOMENTRY PE ON PP.FID =PE.FID
+LEFT JOIN T_PRD_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+LEFT JOIN T_PRD_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+AND (MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'')
+AND (MA.FFINISHDATE >@FEDate OR ISNULL(MA.FFINISHDATE,'')='')--2020-04-27֮깤Ϊ깤
+--AND (MA.FCLOSEDATE>@FEDate OR ISNULL(MA.FCLOSEDATE,'')='')--2020-04-27֮ǰǽ
+
+--AND PP.FBILLNO ='PP1910150215'
+
+ --ѯֹ֮еϵ
+ --SELECT δ,t2.fbaseOutqty,*
+UPDATE t1 SET t1.δ=δ+t2.fbaseOutqty
+FROM #tmpPPBOM t1
+INNER JOIN (
+SELECT tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
+TSE.FMATERIALID,SUM(TSED.FBASESTOCKACTUALQTY) fbaseOutqty
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+WHERE (TS.FDATE> @FEDate)
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
+GROUP BY tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
+) t2 ON t1.=t2.FMOBILLNO AND t1.¼=t2.FMOENTRYID
+AND t1.ϵ=t2.FPPBOMBILLNO AND t1.ϵ¼=t2.FPPBOMENTRYID AND t1.=t2.FMATERIALID
+
+
+
+--ºδ
+--SELECT * FROM #tmpPPBOM
+
+SELECT ,Ӧ,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #tmpPPBOM1 FROM #tmpPPBOM B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,Ӧ,δ,FAUXPROPID,ֿ
+INTO #tmpPPBOM3 FROM #tmpPPBOM1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,SUM(Ӧ)Ӧ,SUM(δ)δ,FAUXPROPID,ֿ
+INTO #tmpPPBOM2 FROM #tmpPPBOM3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+--δ()
+UPDATE t1 SET t1.δ=t2.δ
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpPPBOM2
+t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,δ)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #tmpPPBOM2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE δ>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+--*************************δ()*****************************************
+
+
+
+--δ(ί)
+--*************************δ(ί)***************************
+--ѯֹ֮ǰίⵥ
+SELECT (MO.FBILLNO) ίⵥ,(MO.FID) ί,(ME.FENTRYID) ίⵥ¼,
+PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼,
+ISNULL(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID,(PE.FMUSTQTY) AS Ӧ,
+PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ
+INTO #tmpSubBOM
+FROM T_SUB_REQORDER MO
+INNER JOIN T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
+--INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+INNER JOIN T_SUB_PPBOM PP ON PP.FSUBREQID =MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID
+INNER JOIN T_SUB_PPBOMENTRY PE ON PP.FID =PE.FID
+LEFT JOIN T_SUB_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+LEFT JOIN T_SUB_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+AND (MO.FDATE <=@FEDate AND ISNULL(ME.FCONVEYDATE,'')<>'')
+AND (ME.FCLOSEDATE>@FEDate OR ISNULL(ME.FCLOSEDATE,'')='')
+
+
+
+
+ --ѯֹ֮еϵ
+ --SELECT δ,t2.fbaseOutqty,*
+UPDATE t1 SET t1.δ=δ+t2.fbaseOutqty
+FROM #tmpSubBOM t1
+INNER JOIN (
+SELECT tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
+TSE.FMATERIALID,SUM(TSE.FBASESTOCKACTUALQTY) fbaseOutqty
+FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+WHERE (TS.FDATE> @FEDate)
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
+GROUP BY tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
+) t2 ON t1.ίⵥ=t2.FSUBREQBILLNO AND t1.ίⵥ¼=t2.FSUBREQENTRYID
+AND t1.ϵ=t2.FPPBOMBILLNO AND t1.ϵ¼=t2.FPPBOMENTRYID AND t1.=t2.FMATERIALID
+
+
+
+--ºδ
+--SELECT * FROM #tmpPPBOM
+
+SELECT ,Ӧ,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+ INTO #tmpSubBOM1 FROM #tmpSubBOM B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,Ӧ,δ,FAUXPROPID,ֿ
+INTO #tmpSubBOM3 FROM #tmpSubBOM1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+SELECT ,SUM(Ӧ)Ӧ,SUM(δ)δ,FAUXPROPID,ֿ
+INTO #tmpSubBOM2 FROM #tmpSubBOM3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+
+--δ(ί)
+UPDATE t1 SET t1.δ=ISNULL(t1.δ,0)+ISNULL(t2.δ,0)
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpSubBOM2
+t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,δ)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ
+ ,ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+FROM #tmpSubBOM2 TSE
+ INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+ INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+ INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+ LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052)
+ LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+ LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+ LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+--SELECT * FROM #tmpSal2 TSE
+WHERE δ > 0
+ AND NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+--*********************δ(ί)*END*******************************
+
+-- --ֹѯδ
+-- UPDATE t1 SET t1.δ=ISNULL(t1.δ,0)+ISNULL(t1.ܶ,0)
+--FROM #Stock_Status_temp t1
+--WHERE ISNULL(t1.ܶ,0)<>0
+
+--**********************END*******************************
+
+--깺δת
+--*******************strat*****************************
+
+--ѯֹ֮ǰвɹ
+
+SELECT TS.FAPPLICATIONORGID fstockorgid,TS.FBILLNO 뵥,TS.FID AS ,TSE.FENTRYID ¼,TSE.FMATERIALID ,
+ ISNULL(TSE.FAUXPROPID,0) FAUXPROPID,TS.FAPPLICATIONDATE fdate,TMS.FSTOCKID ֿ,
+ FBASEUNITQTY ,TSEF.FREMAINQTY AS δת
+INTO #TMPREQ
+FROM T_PUR_REQUISITION TS
+ INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
+ LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID
+ LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+WHERE 1=1
+--AND ts.FBILLNO ='SQ1910100001'AND FORDERBASEQTY<>FBASEUNITQTY AND TS.FCLOSESTATUS<>'B'
+ AND (TS.FAPPLICATIONDATE <=@FEDate)
+ AND (TS.FCLOSEDATE>@FEDate or ISNULL(TS.FCLOSEDATE,'')='')
+ AND (TS.FAPPLICATIONORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+
+ --ѯֹ֮вɹ
+ --SELECT *
+UPDATE t1 SET t1.δת=δת+t2.fbaseOrdqty
+FROM #TMPREQ t1
+INNER JOIN (
+ SELECT t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID,SUM(t1.FBASEUNITQTY) fbaseOrdqty
+ FROM T_PUR_POORDER t0
+ INNER JOIN T_PUR_POORDERENTRY t1 ON (t0.FID = t1.FID)
+ INNER JOIN T_PUR_POORDERENTRY_R t1R ON(t1R.FID = t1.FID AND t1.FENTRYID = t1R.FENTRYID)
+ INNER JOIN T_PUR_POORDERENTRY_LK t1k ON(t1.FENTRYID = t1k.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON t1.FMATERIALID = TM.FMATERIALID
+ WHERE t0.FDATE>@FEDate
+ AND ( t0.FCANCELSTATUS = 'A' AND TM.FFORBIDSTATUS = 'A')
+ GROUP BY t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID
+
+) t2 ON t1.=t2.FSBILLID AND t1.¼=t2.FSID AND t1.=t2.FMATERIALID
+
+
+--º
+
+
+SELECT ,,δת,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ
+INTO #TMPREQ1 FROM #TMPREQ B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+SELECT ,,δת,FAUXPROPID,ֿ
+INTO #TMPREQ3 FROM #TMPREQ1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+(TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY
+
+
+SELECT ,SUM(),SUM(δת)δת,FAUXPROPID,ֿ
+INTO #TMPREQ2 FROM #TMPREQ3
+GROUP BY ֿ,,FAUXPROPID
+ORDER BY ֿ,,FAUXPROPID
+
+--깺δת
+UPDATE t1 SET t1.깺δת=t2.δת
+FROM #Stock_Status_temp t1
+INNER JOIN #TMPREQ2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,깺δת)
+
+SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δת)
+FROM #TMPREQ2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE δת<>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID)
+
+
+--*****************************************************
+
+--ռ
+
+--********************************************************
+ SELECT TSE.FMATERIALID ,(TSE.FBASEQTY)FBASEQTY,
+ CASE WHEN TSE.FSTOCKID<>0 THEN TSE.FSTOCKID ELSE ISNULL(tms.FSTOCKID,0)END FSTOCKID,TSE.FAUXPROPID
+ INTO #TMPLINK FROM T_PLN_RESERVELINK TS
+ INNER JOIN T_PLN_RESERVELINKENTRY TSE ON TS.FID=TSE.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = TSE.FSTOCKID )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
+ WHERE TSE.FBASEQTY<>0
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--GROUP BY TSE.FSTOCKID,TSE.FMATERIALID,FAUXPROPID
+ORDER BY FSTOCKID,TSE.FMATERIALID,FAUXPROPID
+
+
+SELECT ,SUM(FBASEQTY)FBASEQTY,FAUXPROPID,B.FSTOCKID ֿ
+INTO #TMPLINK1 FROM #TMPLINK B
+LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+--LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.FSTOCKID )
+--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.FSTOCKID AND TSL.FLOCALEID = 2052)
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+(TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+GROUP BY b.FSTOCKID,,FAUXPROPID
+ORDER BY b.FSTOCKID,,FAUXPROPID
+
+--ռ
+UPDATE t1 SET t1.ռ=t2.FBASEQTY
+FROM #Stock_Status_temp t1
+ INNER JOIN #TMPLINK1 t2 ON t1.=t2.
+ AND t1.ֿ=t2.ֿ
+ AND t1.װ=T2.FAUXPROPID
+
+--ݾռ
+
+INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,ռ)
+SELECT
+ TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS
+ ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ
+ ,ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ
+ ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(FBASEQTY)
+FROM #TMPLINK1 TSE
+ INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+ INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID=TML.FMATERIALID AND TML.FLOCALEID =2052
+ INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+ LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+ LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+ LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
+ LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+WHERE FBASEQTY <> 0
+ AND NOT EXISTS(
+ SELECT 1
+ FROM #Stock_Status_temp t2
+ WHERE TSE.=t2.
+ AND TSE.ֿ=t2.ֿ
+ AND t2.װ=TSE.FAUXPROPID)
+
+
+--*********************ռEND***********************************
+
+
+--ÿ
+--*******************************************************
+
+UPDATE t1 SET t1.ÿ=ISNULL(ĩ,0)+ISNULL(t1.,0)+ISNULL(;,0)-ISNULL(δ,0)-ISNULL(ܶ,0)
+FROM #Stock_Status_temp t1
+
+--*********************ÿEND**********************************
+
+--BOM
+SELECT =IDENTITY(INT,1,1),,ϴ,,ͺ,ɱ,ڽ
+ ,ڲɹ,ں,ĩ,;,,,δ,,۳,ֿⲦ
+ ,ֿⲦ,깺δת, ܶ,ռ,ÿ,ֿ,ֿ,ֿ,װʽ,Ʒ
+ INTO #Stock_Bom
+FROM (
+ SELECT t1.FMATERIALID ,ϴ,t2.,ͺ,ɱ,ڽ,ڲɹ,ں,ĩ
+ ,;,,,δ,,۳,ֿⲦ,ֿⲦ,깺δת
+ ,ܶ,ռ,ÿ,t2.ֿ,ֿ,ֿ,װʽ,t1.FOrderNum Ʒ,FOrderNum
+ ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+ FROM #YC_T_MRP t1
+ INNER JOIN #Stock_Status_temp t2 ON t1.ϱ=t2.ϴ
+ UNION ALL
+ SELECT t1.FMATERIALID ,t1.ϱ ϴ,t2.FNAME ,t2.FSPECIFICATION ͺ
+ ,ISNULL(TM.FOLDNUMBER,'') ɱ,0 ڽ,0 ڲɹ,0 ں,0 ĩ
+ ,0 ;,0 ,0 , 0 δ,0 ,0 ۳,0 ֿⲦ
+ ,0 ֿⲦ,0 깺δת,0 ܶ,0 ռ,0 ÿ,ts.FSTOCKID,ts.FNUMBER AS ֿ
+ ,tsl.FNAME AS ֿ,''װʽ,t1.FOrderNum Ʒ,FOrderNum
+ ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+ FROM #YC_T_MRP t1
+ INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = t1.FMATERIALID )
+ INNER JOIN T_BD_MATERIAL_L t2 ON (t2.FMATERIALID = t1.FMATERIALID )
+ INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ INNER JOIN T_BD_STOCK ts ON tms.FSTOCKID=ts.FSTOCKID
+ LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TS.FSTOCKID AND TSL.FLOCALEID = 2052)
+ WHERE 1=1
+ AND ϱ NOT IN (SELECT DISTINCT ϴ FROM #Stock_Status_temp t2)
+ AND TMS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID))t
+ORDER BY FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+
+SELECT
+ t0.FMATERIALID AS 'ProMateralId'
+ ,t2.FNUMBER
+ ,t0.FQTY
+ ,t1e.FMATERIALID
+ ,t1e_c.FSTOCKID
+ --,t1.FBILLNO
+ ,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--λ
+ ,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--λ
+ ,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--λδ
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS'
+ INTO #TEMPMOQTY
+FROM #TEMPMO t0
+ --INNER JOIN T_PRD_PPBOM t1 ON t0.FENTRYID = t1.FMOENTRYID AND t0.FMATERIALID = t1.FMATERIALID
+ INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --嵥
+ INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID
+ INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID
+ INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t0.FMATERIALID
+GROUP BY
+ t0.FMATERIALID,t0.FQTY,t1e.FMATERIALID,t1e_c.FSTOCKID,t2.FNUMBER
+
+SELECT AS 'FIDENTITYID'
+ ,ϴ
+ ,
+ ,ͺ
+ ,ɱ
+ ,ڽ
+ ,ڲɹ
+ ,ں
+ ,ĩ
+ ,;
+ ,
+ ,
+ ,δ
+ ,
+ ,۳
+ ,ֿⲦ
+ ,ֿⲦ
+ ,깺δת
+ ,ܶ
+ ,ռ
+ ,ÿ
+ ,ֿ
+ ,ֿ
+ ,װʽ
+ ,Ʒ
+ ,t1.FBASENEEDQTY
+ ,t1.FBASENOPICKEDQTY
+ ,t1.FBASEPICKEDQTY
+ ,t1.FQTY
+ ,CASE CHARINDEX(',',t1.MONOS) WHEN 0 THEN t1.MONOS ELSE '' END AS 'MONO'
+ ,CASE CHARINDEX(',',t1.SALENOS) WHEN 0 THEN t1.SALENOS ELSE '' END AS 'SALENO'
+ ,t1.SALENOS
+ ,t1.MOENTRYIDS
+ ,t1.MOIDS
+ --INTO {0}
+FROM #Stock_Bom t0
+ LEFT JOIN #TEMPMOQTY t1 ON t0. = t1.FMATERIALID
+ AND t0.ֿ = t1.FSTOCKID
+ AND t1.FNUMBER = t0.Ʒ
+
+DROP TABLE #TEMPMO
+DROP TABLE #TEMPMOQTY
+DROP TABLE #Stock_Bom
+DROP TABLE #TMP
+DROP TABLE #TMP1
+DROP TABLE #TMPLINK
+DROP TABLE #TMPLINK1
+DROP TABLE #TMP4
+DROP TABLE #TMP5
+DROP TABLE #TMP6
+DROP TABLE #TMP7
+DROP TABLE #TMP8
+DROP TABLE #tmpSal
+DROP TABLE #tmpSal1
+DROP TABLE #tmpSal2
+DROP TABLE #tmpSal3
+DROP TABLE #tmpMO
+DROP TABLE #tmpMO1
+DROP TABLE #tmpMO2
+DROP TABLE #tmpMO3
+
+DROP TABLE #TMPREQ
+DROP TABLE #TMPREQ1
+DROP TABLE #TMPREQ2
+DROP TABLE #TMPREQ3
+DROP TABLE #TMPRECEIVE
+DROP TABLE #TMPRECEIVE1
+DROP TABLE #TMPRECEIVE2
+DROP TABLE #TMPRECEIVE3
+DROP TABLE #tmppoorder
+DROP TABLE #tmppoorder1
+DROP TABLE #tmppoorder2
+DROP TABLE #tmppoorder3
+DROP TABLE #tmpPPBOM
+DROP TABLE #tmpPPBOM1
+DROP TABLE #tmpPPBOM2
+DROP TABLE #tmpPPBOM3
+DROP TABLE #tmpSUBBOM
+DROP TABLE #tmpSUBBOM1
+DROP TABLE #tmpSUBBOM2
+DROP TABLE #tmpSUBBOM3
+DROP TABLE #Stock_Status_temp
+SET nocount off
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/bbbbbb.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/bbbbbb.sql
new file mode 100644
index 0000000..d04404a
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/bbbbbb.sql
@@ -0,0 +1,50 @@
+--δ
+/* ţ۶ţϽɸѡӦ*/
+SELECT
+ t0.FBILLNO
+ ,t0.FID
+ ,t0e.FQTY
+ ,t0e.FENTRYID
+ ,t0e.FMATERIALID
+ ,t0e_a.FREPQUAQTY
+ --,t0e_a.FREQSRC --1.۶
+ ,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO'
+ INTO #TEMPMO
+FROM
+ T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e on t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID
+WHERE 1 = 1
+ AND t0.FDOCUMENTSTATUS = 'C'
+ AND (t0e_a.FSTATUS < 5)
+ --AND t0e.FMATERIALID = 100258
+ AND t0.FBILLNO = 'MO000023'
+
+SELECT
+ t0.FMATERIALID AS 'ProMateralId'
+ ,t1e.FMATERIALID
+ ,t1e_c.FSTOCKID
+ --,t1.FBILLNO
+ ,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--λ
+ ,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--λ
+ ,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--λδ
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS'
+ INTO #TEMPMOQTY
+FROM #TEMPMO t0
+ INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --嵥
+ INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID
+ INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID
+GROUP BY
+ t0.FMATERIALID,t1e.FMATERIALID,t1e_c.FSTOCKID
+
+SELECT t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
+ --INTO #TEMPMONO2Pro
+FROM #TEMPMOQTY t0
+GROUP BY t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
+
+DROP TABLE #TEMPMO
+--DROP TABLE #TMPLIST
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/bom层级库存状态.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/bom层级库存状态.sql
new file mode 100644
index 0000000..4c930f4
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/bom层级库存状态.sql
@@ -0,0 +1,3260 @@
+USE [AIS20220916152454]
+GO
+/****** Object: StoredProcedure [dbo].[Pro_BOMStockStatusBillEXP] Script Date: 2024/2/27 13:47:24 ******/
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+
+
+--״̬ TBH25702K01
+ ALTER procedure [dbo].[Pro_BOMStockStatusBillEXP] (
+ @FSNumber varchar (50) ,
+ @FENumber varchar (50) ,
+ @FSStock varchar (max),
+ @FSDate varchar (30),
+ @FEDate varchar (30),
+ @FName varchar (255)
+ )
+
+as
+
+set nocount on
+
+declare @FCloseBALDate varchar (30)
+declare @FClosedate varchar (30)
+
+--ѯʼһڵĩ
+If NOT Exists(SELECT FORGID, MAX(FCLOSEDATE) fclosedate FROM T_STK_CLOSEPROFILE WHERE FORGID IN (1) AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate)
+ GROUP BY FORGID)
+BEGIN
+ SET @FClosedate='2020-01-01'
+ SET @FCloseBALDate='2020-01-01'
+ --print @FClosedate
+END
+ELSE
+BEGIN
+ --SET @FClosedate='2019-07-01'
+ SELECT @FClosedate= CONVERT(varchar (30), DATEADD(D, 1,MAX(FCLOSEDATE)),23) FROM
+ T_STK_CLOSEPROFILE WHERE ((FORGID IN (1) AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID
+ SET @FCloseBALDate=CONVERT(varchar (30), DATEADD(D, -1,@FClosedate),23)
+ --print @FClosedat
+END
+
+ declare @FSWL varchar (50)
+ declare @FEWL varchar (50)
+
+
+ set @FSWL=''
+ set @FEWL=''
+
+ if @FSNumber<>'' and @FENumber<>''
+ begin
+ SET @FSWL= @FSNumber
+ SET @FEWL= @FENumber
+ end
+ if @FSNumber<>'' and @FENumber=''
+ begin
+ SET @FSWL= @FSNumber
+ SELECT @FEWL=MAX(FNUMBER)
+FROM T_BD_MATERIAL
+ end
+ if @FSNumber='' and @FENumber<>''
+ begin
+ SET @FEWL= @FENumber
+ SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL
+ end
+ if @FSNumber='' and @FENumber=''
+ begin
+ SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL
+ SELECT @FEWL=MAX(FNUMBER) FROM T_BD_MATERIAL
+ end
+
+ --ʱѡȡֿ
+
+ if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#tmpStockID'))
+ begin
+ drop table #tmpStockID
+ print ''
+ end
+ Create Table #tmpStockID (
+ FID INT IDENTITY(1,1),
+ FStockID INT ,
+ )
+ DECLARE @Strsql varchar(max)
+ set @Strsql= 'insert into #tmpStockID select distinct FSTOCKID from T_BD_STOCK where 1=1 ' +@FSStock
+ EXEC(@Strsql)
+
+--״̬
+
+ if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#Stock_Status_temp'))
+ begin
+ drop table #Stock_Status_temp
+ print ''
+ end
+
+ Create Table #Stock_Status_temp (
+ INT IDENTITY(1,1),
+ INT ,
+ ϴ varchar(100) null ,
+ varchar(255) null ,
+ ͺ varchar(255) null ,
+ ɱ varchar(100) null ,
+ --λ varchar(30) null ,
+ ڽ DECIMAL (18, 2) Null ,
+ ڲɹ DECIMAL (18, 2) Null ,
+ ں DECIMAL (18, 2) Null ,
+ ĩ DECIMAL (18, 2) Null ,
+ ; DECIMAL (18, 2) Null ,
+ DECIMAL (18, 2) Null ,
+ DECIMAL (18, 2) Null ,
+ δ DECIMAL (18, 2) Null ,
+ DECIMAL (18, 2) Null ,
+ ۳ DECIMAL (18, 2) Null ,
+ ֿⲦ DECIMAL (18, 2) Null ,
+ ֿⲦ DECIMAL (18, 2) Null ,
+ 깺δת DECIMAL (18, 2) Null,
+ ܶ DECIMAL (18, 2) Null ,
+ ռ DECIMAL (18, 2) Null ,
+ ÿ DECIMAL (18, 2) Null ,
+ ֿ INT ,
+ ֿ varchar(100) null ,
+ ֿ varchar(255) null ,
+ װ INT ,
+ װʽ varchar(255) null
+ )
+
+ if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#TMP'))
+ begin
+ drop table #TMP
+ print ''
+ end
+
+CREATE TABLE #TMP (
+FID INT IDENTITY(1,1),
+FSTOCKORGID INT NOT NULL DEFAULT 0,
+FBILLENTRYID INT NOT NULL DEFAULT 0,
+FORDERBY INT NOT NULL DEFAULT 0,
+FSTOCKIO CHAR (1) NULL,
+FMATERIALID INT NOT NULL DEFAULT 0,
+FAUXPROPID INT NOT NULL DEFAULT 0,
+FDATE DATETIME NULL,
+FSTOCKID INT NOT NULL DEFAULT 0,
+FSTOCKLOCID INT NOT NULL DEFAULT 0,
+FSTOCKSTATUSID INT NOT NULL DEFAULT 0,
+FBILLNAME NVARCHAR (100) NULL,
+FBILLID INT NOT NULL DEFAULT 0,
+FBILLSEQID INT NULL,
+FBILLNO NVARCHAR (100) NULL,
+FBASEQCQTY DECIMAL (23, 10) NOT NULL DEFAULT 0,
+FBASEINQTY DECIMAL (23, 10) NOT NULL DEFAULT 0,
+FBASEOUTQTY DECIMAL (23, 10) NOT NULL DEFAULT 0
+)
+
+
+--BOM㼶
+
+ if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#YC_T_MRP'))
+ begin
+ drop table #YC_T_MRP
+ end
+
+
+CREATE TABLE #YC_T_MRP(
+ FID INT IDENTITY(1,1),
+ FBOMNumber NVARCHAR(255),
+ FMATERIALID INT,
+ ϱ NVARCHAR(255),
+ NVARCHAR(255),
+ Ʒ DECIMAL(28,10) DEFAULT (0),
+ DECIMAL(28,10),--BOM
+ ĸ DECIMAL(28,10),--BOMĸ
+ FQty DECIMAL(28,10),--
+ FLevle INT ,
+ FERPCLSID INT,
+ FOrderNum NVARCHAR(255),
+ FBOMID INT,
+ BOM㼶 NVARCHAR(200) NULL,
+ FSEQ1 INT,
+ FSEQ2 INT,
+ FSEQ3 INT,
+ FSEQ4 INT,
+ FSEQ5 INT,
+ FSEQ6 INT,
+ FParentNumber NVARCHAR(255)
+)
+
+ if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#BOMTmp'))
+ begin
+ drop table #BOMTmp
+ end
+
+
+/*ȡ״̬BOMʱ*/
+SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID
+INTO #BOMTmp
+FROM T_ENG_BOM T0
+INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --ϱ
+WHERE (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A')
+AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ ORDER BY FMATERIALID,FNUMBER
+
+/*ʱУͬһϴֻһ°汾BOM*/
+ delete FROM #BOMTmp WHERE id not in (SELECT max(id) FROM #BOMTmp group by FMATERIALID)
+
+
+--ѯһƷϢ
+INSERT INTO #YC_T_MRP(
+ FBOMNumber,FMATERIALID,ϱ,,Ʒ
+ ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum
+ ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT
+ t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER 'ϱ',t3.FNAME '',t0.FYIELDRATE 'Ʒ'
+ ,1 '', 1 'ĸ', 1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FNUMBER 'ϱ'
+ ,t0.FID 'FBOMID',0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber'
+FROM T_ENG_BOM t0
+ INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --ϱ
+ LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --ϱ
+ LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--ϱ
+ INNER JOIN #BOMTmp t6 on t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER
+WHERE 1=1
+ AND (t0.FDOCUMENTSTATUS = 'C')
+ORDER BY T0.FNUMBER
+
+--SELECT * FROM #YC_T_MRP
+--ݵһƷѯһƷIJϢ
+INSERT INTO #YC_T_MRP(
+ FBOMNumber,FMATERIALID,ϱ,,Ʒ
+ ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum
+ ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT
+ t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t10.FYIELDRATE 'Ʒ'
+ ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
+ ,'1' 'FLevle',t8.FERPCLSID 'FERPCLSID',T5.FOrderNum
+ ,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.ϱ 'FParentNumber'
+FROM #YC_T_MRP t5
+ LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FBOMID=t6.FID--BOM¼
+ INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ
+ LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ
+ LEFT JOIN T_ENG_BOM t10 on t10.FID=t6.FID--BOM
+WHERE (t7.FFORBIDSTATUS = 'A')
+ AND T5.FLevle=0 AND T5.FERPCLSID >= 2
+ AND t10.FDOCUMENTSTATUS = 'C'
+
+
+
+/*ȡڶ״̬BOMʱ*/
+
+SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID
+INTO #BOMTmp1 FROM #YC_T_MRP t1
+INNER JOIN T_ENG_BOM t0 on t1.FMATERIALID=t0.FMATERIALID--BOMͷ
+WHERE 1=1 and (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') AND T1.FLevle=1 AND T1.FERPCLSID>=2
+
+
+
+ /*ʱУͬһϴֻһ°汾BOM*/
+ delete FROM #BOMTmp1 WHERE id not in (SELECT max(id) FROM #BOMTmp1 group by FMATERIALID)
+
+
+--ݵڶǶƻIJƷѯڶƷIJϢ
+INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID,
+FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ',
+t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty',
+'2' 'FLevle',t8.FERPCLSID 'FERPCLSID',T1.FOrderNum,0 'FBOMID',
+t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t6.FSEQ 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6'
+,t1.ϱ 'FParentNumber'
+FROM #YC_T_MRP t1
+INNER JOIN T_ENG_BOM t5 on t1.FMATERIALID=t5.FMATERIALID--BOMͷ
+LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FID=t6.FID--BOM¼
+INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ
+LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ
+LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ
+INNER JOIN #BOMTmp1 t10 on t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER
+WHERE 1=1 and (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=1 AND T1.FERPCLSID>=2 AND t5.FDOCUMENTSTATUS = 'C'
+
+
+
+
+/*ȡ״̬BOMʱ*/
+
+SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID
+INTO #BOMTmp2 FROM #YC_T_MRP t1
+INNER JOIN T_ENG_BOM t0 on t1.FMATERIALID=t0.FMATERIALID--BOMͷ
+WHERE 1=1 and (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') AND T1.FLevle=2 AND T1.FERPCLSID>=2
+
+
+
+/*ʱУͬһϴֻһ°汾BOM*/
+delete FROM #BOMTmp2 WHERE id not in (SELECT max(id) FROM #BOMTmp2 group by FMATERIALID)
+
+
+--ݵǶƻIJƷѯƷIJϢ
+INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID,
+FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ',
+t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty',
+'3' 'FLevle',t8.FERPCLSID 'FERPCLSID',T1.FOrderNum,0 'FBOMID',
+t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t1.FSEQ3 'FSEQ3',t6.FSEQ 'FSEQ4',0 'FSEQ5',0 'FSEQ6'
+,t1.ϱ 'FParentNumber'
+FROM #YC_T_MRP t1
+INNER JOIN T_ENG_BOM t5 on t1.FMATERIALID=t5.FMATERIALID--BOMͷ
+LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FID=t6.FID--BOM¼
+INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ
+LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ
+LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ
+INNER JOIN #BOMTmp2 t10 on t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER
+WHERE (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=2 AND T1.FERPCLSID>=2
+AND t5.FDOCUMENTSTATUS = 'C'
+
+
+
+
+/*ȡļ״̬BOMʱ*/
+
+SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID
+INTO #BOMTmp3 FROM #YC_T_MRP t1
+INNER JOIN T_ENG_BOM t0 on t1.FMATERIALID=t0.FMATERIALID--BOMͷ
+WHERE 1=1 and (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') AND T1.FLevle=3 AND T1.FERPCLSID>=2
+
+
+
+ /*ʱУͬһϴֻһ°汾BOM*/
+ delete FROM #BOMTmp3 WHERE id not in (SELECT max(id) FROM #BOMTmp3 group by FMATERIALID)
+
+
+--ݵļǶƻIJƷѯļƷIJϢ
+INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID,
+FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ',
+t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty',
+'4' 'FLevle',t8.FERPCLSID 'FERPCLSID',T1.FOrderNum,0 'FBOMID',
+t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t1.FSEQ3 'FSEQ3',t1.FSEQ4 'FSEQ4',T6.FSEQ 'FSEQ5',0 'FSEQ6'
+,t1.ϱ 'FParentNumber'
+FROM #YC_T_MRP t1
+INNER JOIN T_ENG_BOM t5 on t1.FMATERIALID=t5.FMATERIALID--BOMͷ
+LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FID=t6.FID--BOM¼
+INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ
+LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ
+LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ
+INNER JOIN #BOMTmp3 t10 on t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER
+WHERE (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=3 AND T1.FERPCLSID>=2
+AND t5.FDOCUMENTSTATUS = 'C'
+
+
+
+
+/*ȡļ״̬BOMʱ*/
+
+SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID
+INTO #BOMTmp4 FROM #YC_T_MRP t1
+INNER JOIN T_ENG_BOM t0 on t1.FMATERIALID=t0.FMATERIALID--BOMͷ
+WHERE 1=1 and (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') AND T1.FLevle=4 AND T1.FERPCLSID>=2
+
+
+
+ /*ʱУͬһϴֻһ°汾BOM*/
+ delete FROM #BOMTmp4 WHERE id not in (SELECT max(id) FROM #BOMTmp4 group by FMATERIALID)
+
+
+--ݵ弶ǶƻIJƷѯ弶ƷIJϢ
+INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID,
+FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ',
+t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty',
+'5' 'FLevle',t8.FERPCLSID 'FERPCLSID',T1.FOrderNum,0 'FBOMID',
+t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t1.FSEQ3 'FSEQ3',t1.FSEQ4 'FSEQ4', t1.FSEQ5'FSEQ5',T6.FSEQ 'FSEQ6'
+,t1.ϱ 'FParentNumber'
+FROM #YC_T_MRP t1
+INNER JOIN T_ENG_BOM t5 on t1.FMATERIALID=t5.FMATERIALID--BOMͷ
+LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FID=t6.FID--BOM¼
+INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ
+LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ
+LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ
+INNER JOIN #BOMTmp4 t10 on t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER
+WHERE (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=4 AND T1.FERPCLSID>=2
+AND t5.FDOCUMENTSTATUS = 'C'
+
+UPDATE #YC_T_MRP SET BOM㼶 =REPLICATE('.', FLevle) + + convert(varchar(4),FLevle)
+
+--select * from #YC_T_MRP
+
+
+--ⵥ
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby,'I' fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID fstockid,
+ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEREALQTY fbaseinqty, 0 fbaseoutqty
+FROM T_PRD_INSTOCK TS
+INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
+
+--and ts.FBILLNO ='MM1907010113'
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '),
+ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE,TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--ⵥ
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid , TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.
+FSTOCKSTATUSID fstockstatusid, 'ⵥ' fbillname,
+TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEUNITQTY fbaseinqty, 0 fbaseoutqty
+--t_STK_InStock
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+
+INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID,FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', SUM(TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((
+((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.
+FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+--ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID,
+FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY,FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FRECEIVESTOCKID fstockid, ISNULL(TSE.FRECEIVESTOCKLOCID, 0) fstocklocid, TSE.FRECEIVESTOCKSTATUS fstockstatusid, 'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty, 0 fbaseinqty, TSE.FBASEUNITQTY fbaseoutqty
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00')AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (TSE.FRECEIVESTOCKID > 0)) AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+ AND TSE.FRECEIVESTOCKFLAG = '1')
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio,
+TSE.FMATERIALID fmaterialid, ISNULL(TSE.FRECEIVEAUXPROPID, 0) fauxpropid,
+TSE.FRECEIVESTOCKID fstockid, ISNULL(TSE.FRECEIVESTOCKLOCID, 0) fstocklocid,
+TSE.FRECEIVESTOCKSTATUS fstockstatusid, 'ʼ', (0 - SUM(TSE.FBASEUNITQTY)) fbaseqcqty
+
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (TSE.FRECEIVESTOCKID > 0))
+AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') AND TSE.FRECEIVESTOCKFLAG = '1')
+GROUP BY TS.FSTOCKORGID, TSE.FRECEIVEOWNERTYPEID, TSE.FRECEIVEOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FRECEIVEAUXPROPID, 0),
+ISNULL(TSE.FRECEIVELOT_TEXT, ' '), ISNULL(TSE.FRECEIVEMTONO, ' '), TSE.FRECEIVESTOCKID, ISNULL(TSE.FRECEIVESTOCKLOCID, 0),
+TSE.FRECEIVESTOCKSTATUS, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--ϵ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID,
+FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+--ϵ
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,
+0 fbaseqcqty, 0 fbaseinqty, TSED.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND
+ TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
+
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (
+((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSED.FOWNERTYPEID, TSED.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '),
+ ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSED.FKEEPERTYPEID,
+ TSED.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0), TS.FDATE
+
+--۳ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, '۳ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,
+0 fbaseqcqty, 0 fbaseinqty, TSE.FBASEUNITQTY fbaseoutqty
+FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard'))
+AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+--AND TS.FBILLNO='SA1907050103'
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ', SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+ FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
+ INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((
+ ((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+ AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '),
+ ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE,
+ TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_PRD_FEEDMTRL TS
+INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_PRD_FEEDMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--and ts.FBILLNO in ('M31910140010','M31907010006')
+
+
+--ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ' fbillname,SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_PRD_FEEDMTRL TS INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '),
+ TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, (0 - TSEA.FBASESTOCKQTY) fbaseoutqty
+FROM T_PRD_RETURNMTRL TS
+INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_PRD_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A'))
+--and ts.FBILLNO='M21907200004'
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
+ FROM T_PRD_RETURNMTRL TS INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid,
+0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,
+0 fbaseqcqty, (0 - TSE.FBASEUNITQTY) fbaseinqty, 0 fbaseoutqty
+FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
+AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
+ AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE= 'B' AND TMB.FISINVENTORY = '1')
+ AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ ISNULL(TSE.FLOT_TEXT, ''), ISNULL(TSE.FMTONO,''), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--ϵ ±־ FSTOCKFLAG 0:δ 1:Ѹ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEUNITQTY fbaseinqty, 0 fbaseoutqty
+FROM T_PUR_RECEIVE TS INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TMB.FMaterialId = TSE.FMaterialId
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TMB.FISINVENTORY = '1')
+AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASEUNITQTY) fbaseqcqty
+
+FROM T_PUR_RECEIVE TS
+INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+--˻
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+--˻
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby,'O' fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, '˻' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, (0 - TSE.FBASEUNITQTY) fbaseoutqty
+FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+
+--AND TS.FBILLNO ='SB1908230003'
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASEUNITQTY) fbaseqcqty
+ FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
+ INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+ AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+
+--ⵥ
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID,
+TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--ϵ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, TSE.FBASEACTUALQTY fbaseoutqty
+
+FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEACTUALQTY)) fbaseqcqty
+FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID,
+ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+--ϵ
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid,
+ 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ
+ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, (0 - TSE.FBASEQTY) fbaseoutqty
+
+FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', SUM(TSE.FBASEQTY) fbaseqcqty
+FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0),
+ TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+--װж
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid, 'װж' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,
+CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE
+(((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ',
+ SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+ FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID,
+ TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--װж
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FDETAILID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid, 'װж' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,
+
+CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseinqty, CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseoutqty
+FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
+INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+ FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
+ INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '),
+ ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID,
+ TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0), TS.FDATE
+
+
+
+--ŵ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid, 'ŵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ', SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '),
+ ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE,
+ ISNULL(TSE.FBOMID, 0)
+
+
+
+--ⵥ
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,
+0 fbaseqcqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseinqty, 0 fbaseoutqty
+
+FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_MISCELLANEOUSENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE<= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ',
+ SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+ FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID,
+ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+--ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,
+0 fbaseqcqty, 0 fbaseinqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseoutqty
+FROM T_STK_MISDELIVERY TS
+INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_MISDELIVERYENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+ --ʼ
+INSERT INTO #TMP (FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ',
+ SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN (0 - TSE.FBASEQTY) ELSE TSE.FBASEQTY END) fbaseqcqty
+ FROM T_STK_MISDELIVERY TS INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0),
+ TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--мӹⵥ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'мӹⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty, FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_OEMINSTOCK TS
+INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_OEMINSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', SUM(FBASEQTY) fbaseqcqty
+FROM T_STK_OEMINSTOCK TS INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--мӹϵ
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'мӹϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,(0 - FBASEQTY) fbaseinqty, 0 fbaseoutqty
+
+FROM T_STK_OEMINSTOCKRTN TS
+INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_OEMINSTOCKRTNENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat')
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'', (0 - SUM(FBASEQTY)) fbaseqcqty
+ FROM T_STK_OEMINSTOCKRTN TS INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND FRETURNTYPE = 'StockReMat')
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID,
+ ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0),
+ TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+--̬ת
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'̬ת' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STATUSCONVERT TS
+INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ',
+SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STATUSCONVERT TS INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--״̬ת
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'״̬ת' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STOCKCONVERTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',
+SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+--ӯ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ӯ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEGAINQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKCOUNTGAIN TS
+INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ', SUM(TSE.FBASEGAINQTY) fbaseqcqty
+FROM T_STK_STKCOUNTGAIN TS INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO,' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+--̿
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'̿' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,
+0 fbaseqcqty, 0 fbaseinqty,TSE.FBASELOSSQTY fbaseoutqty
+FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ', SUM(0 - TSE.FBASELOSSQTY) fbaseqcqty
+ FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID,
+ ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--ֱӵ
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate ,TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid, 'ֱӵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+
+
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS
+.FOBJECTTYPEID = 'STK_TransferDirect')
+
+
+
+--ʼ
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FDESTSTOCKID fstockid,
+ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ',
+SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END -
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FDESTSTOCKID, ISNULL(TSE.FDESTSTOCKLOCID, 0),
+TSE.FDESTSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE
+
+
+
+--ֱӵ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID,
+FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid,
+'ֱӵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio,
+TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, 'ʼ',
+
+SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END -
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
+
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+GROUP BY TS.FSTOCKOUTORGID, TSE.FOWNERTYPEOUTID, TSE.FOWNEROUTID, TSE.FSRCMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0), TSE.FSRCSTOCKSTATUSID,
+TSE.FKEEPERTYPEOUTID, TSE.FKEEPEROUTID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FSRCBOMID, TS.FDATE
+
+
+--ֲʽ뵥
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid, 'ֲʽ뵥' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,
+0 fbaseqcqty, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GEN
+ERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FDESTLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FDESTSTOCKID, ISNULL(TSE.FDESTSTOCKLOCID, 0), TSE.FDESTSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE
+
+--ֲʽ뵥
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, 'ֲʽ뵥' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty,((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseinqty, 0 fbaseoutqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+
+
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+ SELECT TS.FSTOCKOUTORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, '', SUM((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKOUTORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+ AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+ GROUP BY TS.FSTOCKOUTORGID, TSE.FOWNERTYPEOUTID, TSE.FOWNEROUTID, TSE.FSRCMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FSRCMTONO, ' '),
+ TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0), TSE.FSRCSTOCKSTATUSID, TSE.FKEEPERTYPEOUTID, TSE.FKEEPEROUTID, TSE.FSRCPRODUCEDATE, TSE.FSRCEXPIRYDATE, TSE.FSRCBOMID, TS.FDATE
+
+--ֲʽ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid,
+TSE.FSRCSTOCKSTATUSID fstockstatusid, 'ֲʽ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid,
+ 'ʼ', SUM(0 - TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFEROUTENTRY TSE INNER JOIN T_STK_STKTRANSFEROUT TS ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON
+TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '),
+ ISNULL(TSE.FMTONO, ' '), TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0), TSE.FSRCSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID,
+ TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE
+
+--ֲʽ
+
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'ֲʽ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty, 0 fbaseoutqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,
+ 'ʼ', SUM(TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0),
+ TSE.FDESTSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE
+
+
+--ֲʽ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKINORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio,TSE.FDESTMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FDESTSTOCKID fstockid,
+ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'ֲʽ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,TSE.FBASEQTY fbaseinqty, 0 fbaseoutqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKINORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FDESTMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'ʼ', SUM(TSE.FBASEQTY) fbaseqcqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
+GROUP BY TS.FSTOCKINORGID, TSE.FOWNERTYPEINID, TSE.FOWNERINID, TSE.FDESTMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FDESTLOT_TEXT, ' '), ISNULL(TSE.FDESTMTONO, ' '), TSE.FDESTSTOCKID,
+ISNULL(TSE.FDESTSTOCKLOCID, 0), TSE.FDESTSTOCKSTATUSID, TSE.FKEEPERTYPEINID, TSE.FKEEPERINID, TSE.FDESTPRODUCEDATE, TSE.FDESTEXPIRYDATE, ISNULL(TSE.FDESTBOMID, 0), TS.FDATE
+
+
+
+--Ʋֿ
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid, 'Ʋֿ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,
+ 0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ',
+ SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+ FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FDESTLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '),
+ TSE.FDESTSTOCKID, ISNULL(TSE.FDESTSTOCKLOCID, 0), TSE.FDESTSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE
+
+
+
+ --Ʋֿ
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid,
+ TSE.FSRCSTOCKSTATUSID fstockstatusid,
+ 'Ʋֿ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+ FROM T_REM_STKTRANSFERIN TS
+ INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, 'ʼ',
+ SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
+ FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKOUTORGID, TSE.FOWNERTYPEOUTID, TSE.FOWNEROUTID, TSE.FSRCMATERIALID, ISNULL(TSE.FAUXPROPID, 0),
+ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0), TSE.FSRCSTOCKSTATUSID, TSE.FKEEPERTYPEOUTID, TSE.FKEEPEROUTID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FSRCBOMID, TS.FDATE
+
+
+--ίⲹϵ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ίⲹϵ' fbillname, TS.FID fbillid,
+TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_SUB_FEEDMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+
+'ʼ', SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID,
+ TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+--ίϵ
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ίϵ' fbillname, TS.FID fbillid,
+TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,0 fbaseqcqty, 0 fbaseinqty, TSE.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ', SUM(0 - TSE.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSEQ.FOWNERTYPEID, TSEQ.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '),
+ TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSEQ.FKEEPERTYPEID, TSEQ.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--ίϵ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ίϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,
+0 fbaseinqty, (0 - TSE.FBASESTOCKQTY) fbaseoutqty
+FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_SUB_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASESTOCKQTY) fbaseqcqty
+FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID,
+TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSEA.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0),
+TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+--߲Ʒⵥ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, 0 forderby,
+ 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, '߲Ʒⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_REM_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+ TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+ 'ʼ', SUM(TSE.FBASEREALQTY) fbaseqcqty
+ FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0),
+ TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+---߲Ʒ˿ⵥ
+
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO,
+ FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TS.FDATE fdate,TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'߲Ʒ˿ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,
+0 fbaseqcqty, (0 - TSE.FBASEREALQTY) fbaseinqty, 0 fbaseoutqty
+FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_REM_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ', SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID,
+ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+--ϵ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby,
+'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS
+.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, TSED.FBASESTOCKACTUALQTY fbaseoutqty
+
+FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_REM_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ', SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
+FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1)
+AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSED.FOWNERTYPEID, TSED.FOWNERID, TSE.FMATERIALID,
+ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSED.FKEEPERTYPEID, TSED.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0), TS.FDATE
+
+
+--ϵ
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, (0 - TSEA.FBASESTOCKQTY) fbaseoutqty
+
+FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_REM_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+ and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
+FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0),
+TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+--ίⳬĵ
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ίⳬĵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,0 fbaseinqty, TSE.FBASEUNITQTY fbaseoutqty
+
+FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SUB_EXCONSUMEENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ', SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOwnerTypeId, TSE.FOwnerId, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '),
+ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID,0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+--˿ⵥ
+
+ INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'˿ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, (0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty
+FROM
+T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
+LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TS.FEntrustRetStockId = 0)
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ', SUM(0 - TSE.FBASEREALQTY) fbaseqcqty
+FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1)
+AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS= 'A')) AND TS.FEntrustRetStockId = 0)
+ GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '),
+ TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+--˿ⵥ
+
+INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,
+
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, '˿ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno, 0 fbaseqcqty, (0 - TSE.FBASEOUTQTY) fbaseinqty, 0 fbaseoutqty
+
+FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_SP_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+ --ʼ
+INSERT INTO #TMP ( FSTOCKORGID,FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'ʼ', SUM(0 - TSE.FBASEOUTQTY) fbaseqcqty
+ FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0)
+
+
+
+INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY)
+
+SELECT TSE.FSTOCKORGID fstockorgid, TSE.FBALDATE fdate, -200 forderby,
+ 'I' fstockio, TM.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid,
+TBS.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,
+'', SUM(TSE.FBASEENDQTY) fbaseqcqty
+FROM T_STK_INVBAL TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN T_ENG_BOM TB ON (TB.FMASTERID = TSE.FBOMID AND TB.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON ((VO.FMASTERID = TSE.FOWNERID AND VO.FFORMID = TSE.FOWNERTYPEID) AND (VO.FUSEORGID = TSE.FSTOCKORGID OR VO.FUSEORGID = 0
+OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VO.FFORMID AND BT.FSTRATEGYTYPE = 1))))
+LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (VO.FITEMID = VO_L.FITEMID AND VO_L.FLOCALEID = 2052)
+LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON ((VK.FMASTERID = TSE.FKEEPERID AND VK.FFORMID = TSE.FKEEPERTYPEID) AND (VK.FUSEORGID = TSE.FSTOCKORGID OR VK.FUSEORGID = 0
+OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VK.FFORMID AND BT.FSTRATEGYTYPE = 1))))
+LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (VK.FITEMID = VK_L.FITEMID AND VK_L.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_LOTMASTER TBLM ON (ISNULL(TSE.FLOT, 0) = TBLM.FMASTERID AND TBLM.FUSEORGID IN (1))
+
+WHERE ((TSE.FSTOCKORGID IN (1) AND (FBALTYPE in(0, 1) AND (FSTOCKORGID = 1 AND TSE.FBALDATE =@FCloseBALDate )))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ AND TM.FFORBIDSTATUS = 'A')
+
+
+GROUP BY TSE.FSTOCKORGID, TSE.FOWNERTYPEID, VO.FITEMID, TSE.FBALDATE, TM.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TBLM.FNUMBER, ' '), ISNULL(TSE.FMTONO, ' '),
+TBS.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, VK.FITEMID, TSE.FLOT, TMS.FISBATCHMANAGE, TMS.FISKFPERIOD,
+TMS.FISEXPPARTOFLOT, TBLM.FPRODUCEDATE, TSE.FPRODUCEDATE, TBLM.FEXPIRYDATE, TSE.FEXPIRYDATE, ISNULL(TB.FID, 0)
+
+
+--ϲг
+
+select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY
+into #tmp1
+from #TMP
+--where FDATE <='2019-08-30'
+group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+
+
+
+insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ)
+
+select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ
+from #tmp1 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
+inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID
+
+
+
+--ڽ
+--select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY
+--into #tmp2
+
+--from #TMP
+----where FDATE <=@FSDate
+--group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+--order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+
+--select *
+UPDATE t1 set t1.ڽ=t2.FBASEQCQTY
+ from #Stock_Status_temp t1
+inner join #tmp1 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID
+
+
+--ĩ
+
+
+--select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY
+--into #tmp3
+--from #TMP
+
+----where FDATE <=@FEDate
+--group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+--order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+
+
+--ĩ
+UPDATE t1 set t1.ĩ=t2.FBASEQCQTY+t2.FBASEINQTY-t2.FBASEOUTQTY
+ from #Stock_Status_temp t1
+inner join
+ #tmp1 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID
+
+
+--ڲɹ
+select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY
+into #tmp4 from #TMP TS where FORDERBY<>'-200' and fstockio='I' and ( FBILLNAME not like'%%' and FBILLNAME<>'̬ת')
+and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12'
+group by FSTOCKORGID, FMATERIALID,
+FAUXPROPID, FSTOCKID
+order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+--ڲɹ
+
+UPDATE t1 set t1.ڲɹ=t2.FBASEINQTY
+ from #Stock_Status_temp t1
+inner join #tmp4 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID
+
+--ں
+select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY
+into #tmp5 from #TMP TS where fstockio='O' and ( FBILLNAME not like'%%' and FBILLNAME<>'̬ת')
+and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12'
+group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+--ں
+
+UPDATE t1 set t1.ں=t2.FBASEOUTQTY
+ from #Stock_Status_temp t1
+inner join #tmp5 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID
+
+
+--ֿⲦֿⲦ
+
+select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY
+into #tmp6 from #TMP TS where FORDERBY<>'-200' and ( FBILLNAME like'%%' )
+and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12'
+group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+
+--ֿⲦ--ֿⲦ
+
+UPDATE t1 set t1.ֿⲦ=t2.FBASEINQTY,t1.ֿⲦ=t2.FBASEOUTQTY
+ from #Stock_Status_temp t1
+inner join #tmp6 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID
+
+
+--
+select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY
+into #tmp7 from #TMP TS where ( FBILLNAME in('ϵ','ίϵ' ))
+and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12'
+group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+
+--
+UPDATE t1 set t1.=t2.FBASEOUTQTY
+ from #Stock_Status_temp t1
+inner join #tmp7 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID
+
+
+--۳
+
+select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY
+into #tmp8 from #TMP TS where ( FBILLNAME ='۳ⵥ' )
+and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12'
+group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID
+
+--۳
+UPDATE t1 set t1.۳=t2.FBASEOUTQTY
+ from #Stock_Status_temp t1
+inner join #tmp8 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID
+
+
+
+
+--ܶ
+--۶ܶ
+--*******************************************
+
+--ѯ
+--(C.FBASEREMAINOUTQTY+C.FBaseReturnQty)ۼ˿+ʣδ
+select (A.FBILLNO) as ۵,(A.FID) ,(B.FENTRYID) ۷¼ ,(B.FSEQ) ,
+B.FMATERIALID AS ,B.FBASEUNITQTY ,(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) as δ,FBaseReturnQty,
+isnull(B.FSTOCKID,0) ֿ,B.FAUXPROPID ,A.FCLOSESTATUS ,FCLOSEDATE, A.FDATE , B.FMRPCLOSESTATUS ҵر
+into #tmpSal
+from T_SAL_ORDER A
+inner join T_SAL_ORDERENTRY B on A.FID =B.FID
+left join T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID
+left join T_SAL_ORDERENTRY_E D on D.FID=B.FID AND D.FENTRYID =B.FENTRYID
+
+WHERE 1=1 AND A.FCANCELSTATUS='A' AND A.FDOCUMENTSTATUS='C' --AND B.FMRPTERMINATESTATUS='A'
+AND (B.FTERMINATEDATE >@FEDate OR isnull(B.FTERMINATEDATE,'') ='')
+AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')--رڿʼ֮ǰݲ
+AND A.FDATE <=@FEDate --AND A.FBILLNO='SO1909200018'
+ORDER BY A.FDATE ,A.FID,B.FENTRYID,B.FMATERIALID
+
+
+
+--δ
+--select *
+update t1 set t1.δ=δ+t2.fbaseoutqty
+from #tmpSal t1
+inner join (
+SELECT TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID,sum(TSE.FBASEUNITQTY) fbaseoutqty
+FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE TS.FDATE>@FEDate and
+( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+group by TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID ) t2 on t2.FSOORDERNO =t1.۵ and t2.FSOENTRYID=t1.۷¼ and t1.=t2.FMATERIALID
+
+--۳˻
+--˻
+--select *
+update t1 set t1.δ=δ+t2.fbaseoutqty
+from #tmpSal t1
+inner join (
+SELECT TSE.FORDERNO,TSE.FSOENTRYID ,TSE.FMATERIALID,sum((TSE.FBASEUNITQTY)) fbaseoutqty
+FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE TS.FDATE>@FEDate
+and ( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+group by TSE.FORDERNO,TSE.FSOENTRYID ,TSE.FMATERIALID
+) t2 on t2.FORDERNO =t1.۵ and t2.FSOENTRYID=t1.۷¼ and t1.=t2.FMATERIALID
+
+
+
+select ,, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ
+into #tmpSal1 from #tmpSal B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ )
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+
+order by
+
+
+select ,, δ,FAUXPROPID, ֿ
+into #tmpSal3 from #tmpSal1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+--left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+
+order by
+
+
+
+select ,sum(), sum(δ)δ ,FAUXPROPID, ֿ
+into #tmpSal2 from #tmpSal3
+group by ֿ,,FAUXPROPID
+order by ֿ,,FAUXPROPID
+
+--۶ܶ
+UPDATE t1 set t1.ܶ=t2.δ
+from #Stock_Status_temp t1
+inner join #tmpSal2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+
+--ݾ
+
+insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,ܶ)
+
+select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as
+ ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+from #tmpSal2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+
+inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID
+
+--select * from #tmpSal2 TSE
+where not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID)
+
+--*******************************************
+
+
+
+--;
+--************************************************
+
+--ɹ
+select ddd.FPurchaseOrgID fstockorgid, ddd.FBILLNO ɹ ,ddd.FID AS ɹ , B.FENTRYID ɹ¼,b.FMATERIALID ,
+ISNULL(b.FAUXPROPID, 0) fauxpropid, ddd.FDATE fdate, TMS.FSTOCKID ֿ, FBASEUNITQTY ɹ ,
+FREMAINSTOCKINQTY ʣ,FBASESTOCKINQTY ,ddd.FCLOSEDATE
+into #tmppoorder
+FROM t_pur_poorderentry b
+INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID AND FbusinessType NOT IN ('ZCCG', 'FYCG'))
+INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid
+INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid
+INNER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID
+WHERE (ddd.FPurchaseOrgID IN (1) AND (((ddd.FPurchaseOrgID IN (1))
+AND (ddd.FDATE <=@FEDate)) AND ddd.fdocumentStatus = 'C'))
+AND (b.FTERMINATEDATE >@FEDate OR isnull(b.FTERMINATEDATE,'') ='')
+AND (ddd.FCLOSEDATE>@FEDate or isnull(ddd.FCLOSEDATE,'')='')
+
+--ⵥ
+--select *
+
+update t1 set t1.ʣ=ʣ+t2.fbaseinqty
+from #tmppoorder t1
+inner join (
+ SELECT TSE.FMATERIALID , tse.FPOORDERENTRYID,tse.FPOORDERNO ,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+
+ INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1 AND TS.FDATE > @FEDate
+ and (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND TS.FDOCUMENTSTATUS IN ('C')
+ group by TSE.FPOORDERNO,TSE.FPOORDERENTRYID ,TSE.FMATERIALID
+)t2 on t2.FPOORDERNO =t1.ɹ and t2.FPOORDERENTRYID=t1.ɹ¼ and t1.=t2.FMATERIALID
+
+
+--ϵ
+ --select *
+update t1 set t1.ʣ=ʣ-t2.fbaseinqty
+from #tmppoorder t1
+INNER JOIN(
+ SELECT tse.FPOORDERENTRYID,tse.FORDERNO ,TSE.FMATERIALID fmaterialid, sum( TSE.FBASEUNITQTY) fbaseinqty
+
+ FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+ WHERE 1=1 and (TS.FDATE >@FEDate)
+ AND TS.FDOCUMENTSTATUS IN ('C') AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND (TSE.FSTOCKID > 0)
+ AND TSF.FISGENFORIOS = '0'AND (TSE.FSTOCKFLAG = '1' OR (TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') )
+ group by tse.FPOORDERENTRYID,tse.FORDERNO ,TSE.FMATERIALID
+)t2 on t2.FORDERNO =t1.ɹ and t2.FPOORDERENTRYID=t1.ɹ¼ and t1.=t2.FMATERIALID
+
+
+--º;
+
+select ,ɹ, ʣ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ
+into #tmppoorder1 from #tmppoorder B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left
+ join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+
+
+select ,ɹ, ʣ,FAUXPROPID, ֿ
+into #tmppoorder3 from #tmppoorder1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK
+ ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+
+order by
+
+
+
+
+select ,sum(ɹ)ɹ, sum(ʣ)ʣ ,FAUXPROPID, ֿ
+into #tmppoorder2 from #tmppoorder3
+group by ֿ,,FAUXPROPID
+order by ֿ,,FAUXPROPID
+
+
+--;
+UPDATE t1 set t1.;=t2.ʣ
+from #Stock_Status_temp t1
+inner join #tmppoorder2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,;)
+
+select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(ʣ)
+from #tmppoorder2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID
+
+--select * from #tmpSal2 TSE
+where ʣ<>0 AND
+ not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID)
+
+
+
+
+
+--************************************************
+
+--
+--*************************************************
+--ѯֹ֮ǰ
+select (MO.FBILLNO) ,ME.FPRODUCTTYPE ,
+(MO.FID) ,(ME.FENTRYID) ¼,MA.FCONVEYDATE,ME.FMATERIALID ,
+isnull(ME.FSTOCKID,0) ֿ,ME.FAUXPROPID ,MO.FDATE,ME.FSEQ,(ME.FQTY) ,
+--MQ.FBASENOSTOCKINQTY δ
+(CASE WHEN (MQ.FBASENOSTOCKINQTY)>0 THEN (MQ.FBASENOSTOCKINQTY) else 0 end) as δ,MQ.FBASERESTKQTY ˿
+
+into #tmpMO
+from T_PRD_MO MO
+inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID
+left JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+left JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+--AND MO.FBILLNO IN('MO1909090271' ,'MO1905070262')
+AND MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>''
+AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')
+
+
+--ֹ֮ɵⵥ
+--select *
+update t1 set t1.δ=δ+t2.fbaseInqty
+from #tmpMO t1
+inner join(
+ SELECT TSE.FMATERIALID , TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,sum(TSE.FBASEREALQTY) fbaseInqty
+ FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1
+ AND TS.FDATE > @FEDate AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ --AND TS.FBILLNO='MM1909090128'
+ group by TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+ --order by TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 on t1.=t2.FMOID and t1.¼=t2.FMOENTRYID and t1.=t2.FMATERIALID
+
+--ֹ֮ɵ˿ⵥ
+--select *
+update t1 set t1.δ=δ-t2.fbaseOutqty
+from #tmpMO t1
+inner join(
+ SELECT TSE.FMATERIALID fmaterialid, TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseOutqty
+ FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
+ LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ where 1=1
+ AND TS.FDATE > @FEDate
+ AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'
+ AND TS.FCANCELSTATUS = 'A' AND TS.FEntrustRetStockId = 0
+ group by TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 on t1.=t2.FMOID and t1.¼=t2.FMOENTRYID and t1.=t2.FMATERIALID
+
+
+--º
+
+select ,, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ
+into #tmpMO1 from #tmpMO B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+
+select ,, δ,FAUXPROPID, ֿ
+into #tmpMO3 from #tmpMO1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+
+order by
+
+
+
+select ,sum(), sum(δ)δ ,FAUXPROPID, ֿ
+into #tmpMO2 from #tmpMO3
+group by ֿ,,FAUXPROPID
+order by ֿ,,FAUXPROPID
+
+--
+UPDATE t1 set t1.=t2.δ
+from #Stock_Status_temp t1
+inner join #tmpMO2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,)
+
+select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+from #tmpMO2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID
+
+--select * from #tmpSal2 TSE
+where not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID)
+
+--***************end**********************************
+
+
+--
+--******************start*******************************
+
+----ѯֹ֮ǰϵ
+
+SELECT TS.FSTOCKORGID fstockorgid, TS.FBILLNO ϵ ,TS.FID AS , TSE.FENTRYID Ϸ¼,TSE.FMATERIALID ,
+ ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID ֿ, FBASEUNITQTY ,
+CASE WHEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY))>0 THEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY)) ELSE 0 END δ,
+(FBASEUNITQTY-FINSTOCKBASEQTY +FRETURNBASEQTY)
+INTO #TMPRECEIVE
+FROM T_PUR_RECEIVE TS
+INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_RECEIVEENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
+INNER JOIN T_PUR_RECEIVEENTRY_R TSER ON (TSE.FID = TSER.FID AND TSE.FENTRYID = TSER.FENTRYID)
+INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID
+WHERE 1=1 and (TS.FDATE <= @FEDate)
+--and ts.FBILLNO='T61908290024-' and FRETURNBASEQTY<>0
+AND( FEXECUTEDATE>@FEDate OR ISNULL(FEXECUTEDATE,'')='')--ִ
+and (TS.FSTOCKORGID IN (1))
+AND (TSE.FSTOCKID > 0)AND TSE.FSTOCKFLAG = '0'
+
+-- AND TS.FDOCUMENTSTATUS IN ('C')
+------ѯֹ֮ǰⵥ
+
+--select *
+update t1 set t1.δ=δ+t2.fbaseInqty
+from #TMPRECEIVE t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID , TSE.FSRCBILLNO,TSEL .FSBILLID ,TSEL.FSID ,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1 AND TS.FDATE >@FEDate
+ and (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ group by TSE.FSRCBILLNO,TSEL .FSBILLID ,TSEL.FSID,TSE.FMATERIALID
+ --order by TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 on t1.=t2.FSBILLID and t1.Ϸ¼=t2.FSID and t1.=t2.FMATERIALID
+
+--
+--ѯֹ֮ϵ
+--select *
+update t1 set t1.δ=δ+t2.fbaseInqty
+from #TMPRECEIVE t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID , TSE.FSRCBILLNO,TSEL .FSBILLID ,TSEL.FSID ,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_MRBENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+ WHERE 1=1 AND TS.FDATE >@FEDate
+ and (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ group by TSE.FSRCBILLNO,TSEL .FSBILLID ,TSEL.FSID,TSE.FMATERIALID
+
+) t2 on t1.=t2.FSBILLID and t1.Ϸ¼=t2.FSID and t1.=t2.FMATERIALID
+
+
+
+--º
+
+select ,, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ
+into #TMPRECEIVE1 from #TMPRECEIVE B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+
+
+select ,, δ,FAUXPROPID, ֿ
+into #TMPRECEIVE3
+ from #TMPRECEIVE1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+select ,sum(), sum(δ)δ ,FAUXPROPID, ֿ
+into #TMPRECEIVE2 from #TMPRECEIVE3
+group by ֿ,,FAUXPROPID
+order by ֿ,,FAUXPROPID
+
+
+--
+UPDATE t1 set t1.=t2.δ
+from #Stock_Status_temp t1
+inner join #TMPRECEIVE2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,)
+
+select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+from #TMPRECEIVE2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. )
+inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID
+
+--select * from #tmpSal2 TSE
+where δ<>0 AND
+ not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID)
+
+
+--****************end*********************************
+
+--*********************δ*****************************************
+
+--δ()
+--***********************δ()*****************************
+--ѯֹ֮ǰ
+select (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼,
+PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼,
+isnull(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID ,(PE.FMUSTQTY) AS Ӧ,
+PQ.FSELPICKEDQTY as ѡ,PQ.FBASENOPICKEDQTY AS δ
+into #tmpPPBOM
+ from T_PRD_MO MO
+inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID
+inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+inner join T_PRD_PPBOM PP on PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID
+inner join T_PRD_PPBOMENTRY PE on PP.FID =PE.FID
+left join T_PRD_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+left join T_PRD_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+AND (MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'')
+AND (MA.FFINISHDATE >@FEDate OR ISNULL(MA.FFINISHDATE ,'')='')--2020-04-27֮깤Ϊ깤
+--AND (MA.FCLOSEDATE>@FEDate OR ISNULL(MA.FCLOSEDATE,'')='')--2020-04-27֮ǰǽ
+
+--and PP.FBILLNO ='PP1910150215'
+
+ --ѯֹ֮еϵ
+ --select δ,t2.fbaseOutqty, *
+update t1 set t1.δ=δ+t2.fbaseOutqty
+from #tmpPPBOM t1
+INNER JOIN (
+SELECT tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
+TSE.FMATERIALID,sum(TSED.FBASESTOCKACTUALQTY) fbaseOutqty
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+WHERE (TS.FDATE> @FEDate)
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
+group by tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
+) t2 on t1.=t2.FMOBILLNO and t1.¼=t2.FMOENTRYID
+and t1.ϵ=t2.FPPBOMBILLNO and t1.ϵ¼=t2.FPPBOMENTRYID and t1.=t2.FMATERIALID
+
+
+
+--ºδ
+--select * from #tmpPPBOM
+
+select ,Ӧ, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ
+into #tmpPPBOM1 from #tmpPPBOM B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+
+select ,Ӧ, δ,FAUXPROPID, ֿ
+into #tmpPPBOM3 from #tmpPPBOM1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+
+select ,sum(Ӧ)Ӧ, sum(δ)δ ,FAUXPROPID, ֿ
+into #tmpPPBOM2 from #tmpPPBOM3
+group by ֿ,,FAUXPROPID
+order by ֿ,,FAUXPROPID
+
+--δ()
+UPDATE t1 set t1.δ=t2.δ
+from #Stock_Status_temp t1
+inner join #tmpPPBOM2
+t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,δ)
+
+select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+from #tmpPPBOM2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID
+
+--select * from #tmpSal2 TSE
+where δ>0 AND
+ not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID)
+
+--*************************δ()*****************************************
+
+
+
+--δ(ί)
+--*************************δ(ί)***************************
+--ѯֹ֮ǰίⵥ
+select (MO.FBILLNO) ίⵥ ,(MO.FID) ί,(ME.FENTRYID) ίⵥ¼,
+PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼,
+isnull(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID ,(PE.FMUSTQTY) AS Ӧ,
+PQ.FSELPICKEDQTY as ѡ,PQ.FBASENOPICKEDQTY AS δ
+into #tmpSubBOM
+from T_SUB_REQORDER MO
+inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
+--inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+inner join T_SUB_PPBOM PP on PP.FSUBREQID =MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID
+inner join T_SUB_PPBOMENTRY PE on PP.FID =PE.FID
+left join T_SUB_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+left join T_SUB_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+AND (MO.FDATE <=@FEDate AND ISNULL(ME.FCONVEYDATE,'')<>'')
+AND (ME.FCLOSEDATE>@FEDate OR ISNULL(ME.FCLOSEDATE,'')='')
+
+
+
+
+ --ѯֹ֮еϵ
+ --select δ,t2.fbaseOutqty, *
+update t1 set t1.δ=δ+t2.fbaseOutqty
+from #tmpSubBOM t1
+INNER JOIN (
+SELECT tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
+TSE.FMATERIALID,sum(TSE.FBASESTOCKACTUALQTY) fbaseOutqty
+FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+WHERE (TS.FDATE> @FEDate)
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
+group by tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
+) t2 on t1.ίⵥ=t2.FSUBREQBILLNO and t1.ίⵥ¼=t2.FSUBREQENTRYID
+and t1.ϵ=t2.FPPBOMBILLNO and t1.ϵ¼=t2.FPPBOMENTRYID and t1.=t2.FMATERIALID
+
+
+
+--ºδ
+--select * from #tmpPPBOM
+
+select ,Ӧ, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ
+ into #tmpSubBOM1 from #tmpSubBOM B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+
+select ,Ӧ, δ,FAUXPROPID, ֿ
+into #tmpSubBOM3 from #tmpSubBOM1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+
+select ,sum(Ӧ)Ӧ, sum(δ)δ ,FAUXPROPID, ֿ
+into #tmpSubBOM2 from #tmpSubBOM3
+group by ֿ,,FAUXPROPID
+order by ֿ,,FAUXPROPID
+
+
+--δ(ί)
+UPDATE t1 set t1.δ=isnull(t1.δ,0)+isnull(t2.δ,0)
+from #Stock_Status_temp t1
+inner join #tmpSubBOM2
+t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+
+--ݾ
+
+insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,δ)
+
+select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ)
+from #tmpSubBOM2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID
+
+--select * from #tmpSal2 TSE
+where δ>0 AND
+ not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID)
+
+
+
+
+--*********************δ(ί)*end*******************************
+
+-- --ֹѯδ
+-- UPDATE t1 set t1.δ=isnull(t1.δ,0)+isnull(t1.ܶ,0)
+--from #Stock_Status_temp t1
+--where isnull(t1.ܶ,0)<>0
+
+--**********************end*******************************
+
+
+
+
+--깺δת
+--*******************strat*****************************
+
+--ѯֹ֮ǰвɹ
+
+ SELECT TS.FAPPLICATIONORGID fstockorgid, TS.FBILLNO 뵥 ,TS.FID AS ,TSE.FENTRYID ¼,TSE.FMATERIALID ,
+ ISNULL(TSE.FAUXPROPID, 0) FAUXPROPID, TS.FAPPLICATIONDATE fdate, TMS.FSTOCKID ֿ,
+ FBASEUNITQTY ,TSEF.FREMAINQTY as δת
+ INTO #TMPREQ
+FROM T_PUR_REQUISITION TS
+INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID
+AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
+LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+WHERE 1=1
+--AND ts.FBILLNO ='SQ1910100001'AND FORDERBASEQTY<>FBASEUNITQTY AND TS.FCLOSESTATUS<>'B'
+ AND (TS.FAPPLICATIONDATE <=@FEDate)
+ AND (TS.FCLOSEDATE>@FEDate or isnull(TS.FCLOSEDATE,'')='')
+ AND (TS.FAPPLICATIONORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+
+
+
+ --ѯֹ֮вɹ
+ --select *
+update t1 set t1.δת=δת+t2.fbaseOrdqty
+from #TMPREQ t1
+INNER JOIN (
+ SELECT t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID ,t1.FMATERIALID,sum(t1.FBASEUNITQTY) fbaseOrdqty
+ FROM T_PUR_POORDER t0
+ INNER JOIN T_PUR_POORDERENTRY t1 on (t0.FID = t1.FID)
+ INNER JOIN T_PUR_POORDERENTRY_R t1R ON(t1R.FID = t1.FID AND t1.FENTRYID = t1R.FENTRYID)
+ INNER JOIN T_PUR_POORDERENTRY_LK t1k ON(t1.FENTRYID = t1k.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON t1.FMATERIALID = TM.FMATERIALID
+ WHERE t0.FDATE>@FEDate and
+ ( t0.FCANCELSTATUS = 'A' AND TM.FFORBIDSTATUS = 'A')
+ group by t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID ,t1.FMATERIALID
+
+) t2 on t1.=t2.FSBILLID and t1.¼=t2.FSID and t1.=t2.FMATERIALID
+
+
+--º
+
+
+select ,, δת,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ
+into #TMPREQ1 from #TMPREQ B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+select ,, δת,FAUXPROPID, ֿ
+into #TMPREQ3 from #TMPREQ1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+(TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+order by
+
+
+select ,sum(), sum(δת)δת ,FAUXPROPID, ֿ
+into #TMPREQ2 from #TMPREQ3
+group by ֿ,,FAUXPROPID
+order by ֿ,,FAUXPROPID
+
+--깺δת
+UPDATE t1 set t1.깺δת=t2.δת
+from #Stock_Status_temp t1
+inner join #TMPREQ2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+--ݾ
+
+insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,깺δת)
+
+select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δת)
+from #TMPREQ2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID
+
+--select * from #tmpSal2 TSE
+where δת<>0 AND
+ not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID)
+
+
+--*****************************************************
+
+--ռ
+
+--********************************************************
+ select TSE.FMATERIALID ,(TSE.FBASEQTY)FBASEQTY,
+ case when TSE.FSTOCKID<>0 then TSE.FSTOCKID else isnull(tms.FSTOCKID,0)end FSTOCKID,TSE.FAUXPROPID
+ into #TMPLINK from T_PLN_RESERVELINK TS
+ INNER JOIN T_PLN_RESERVELINKENTRY TSE ON TS.FID=TSE.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = TSE.FSTOCKID )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
+ where TSE.FBASEQTY<>0
+ --and (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+--group by TSE.FSTOCKID,TSE.FMATERIALID,FAUXPROPID
+order by FSTOCKID,TSE.FMATERIALID,FAUXPROPID
+
+
+select ,sum(FBASEQTY)FBASEQTY,FAUXPROPID, B.FSTOCKID ֿ
+into #TMPLINK1 from #TMPLINK B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+--left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.FSTOCKID )
+--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.FSTOCKID AND TSL.FLOCALEID = 2052)
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+(TM.FNUMBER in(select distinct ϱ from #YC_T_MRP ))
+and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+group by b.FSTOCKID,,FAUXPROPID
+order by b.FSTOCKID,,FAUXPROPID
+
+
+
+
+
+--ռ
+UPDATE t1 set t1.ռ=t2.FBASEQTY
+from #Stock_Status_temp t1
+inner join #TMPLINK1 t2 on t1.=t2. and t1.ֿ=t2.ֿ
+ and t1.װ=T2.FAUXPROPID
+
+--ݾռ
+
+insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,ռ)
+
+select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ,
+isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(FBASEQTY)
+from #TMPLINK1 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. )
+inner join T_BD_MATERIAL_L TML on TM.FMATERIALID=TML.FMATERIALID and TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID
+
+--select * from #tmpSal2 TSE
+where FBASEQTY<>0 AND
+ not exists(select * from #Stock_Status_temp t2 where
+TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID)
+
+
+
+
+
+--*********************ռEND***********************************
+
+
+--ÿ
+--*******************************************************
+
+UPDATE t1 set t1.ÿ=isnull(ĩ,0)+isnull(t1.,0)+isnull(;,0)-isnull(δ,0)-isnull(ܶ,0)
+from #Stock_Status_temp t1
+
+--*********************ÿEND**********************************
+
+ --BOM
+select =IDENTITY(INT,1,1), ϴ , , ͺ , ɱ , ڽ ,
+ ڲɹ , ں , ĩ , ; , , ,
+δ , ,۳ ,ֿⲦ ,ֿⲦ,깺δת ,
+ܶ ,ռ ,ÿ , ֿ ,ֿ , װʽ , Ʒ into #Stock_Bom
+from (
+ select ϴ , t2. , ͺ , ɱ , ڽ ,
+ ڲɹ , ں , ĩ , ; , , ,
+δ , ,۳ ,ֿⲦ ,ֿⲦ,깺δת ,
+ܶ ,ռ ,ÿ , ֿ ,ֿ , װʽ , t1.FOrderNum Ʒ
+,FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+from #YC_T_MRP t1
+INNER join #Stock_Status_temp t2 on t1.ϱ=t2.ϴ
+union all
+select t1.ϱ ϴ , t2.FNAME , t2.FSPECIFICATION ͺ , isnull(TM.FOLDNUMBER,'') ɱ ,
+0 ڽ , 0 ڲɹ , 0 ں , 0 ĩ ,0 ; ,0 , 0 ,
+0 δ , 0 ,0 ۳ ,0 ֿⲦ ,0 ֿⲦ,0 깺δת , 0 ܶ ,
+0 ռ ,0 ÿ , ts.FNUMBER as ֿ ,tsl.FNAME as ֿ , ''װʽ, t1.FOrderNum Ʒ
+,FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+from #YC_T_MRP t1
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = t1.FMATERIALID )
+INNER JOIN T_BD_MATERIAL_L t2 ON (t2.FMATERIALID = t1.FMATERIALID )
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+inner join T_BD_STOCK ts on tms.FSTOCKID=ts.FSTOCKID
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TS.FSTOCKID AND TSL.FLOCALEID = 2052)
+where ϱ not in (select distinct ϴ from #Stock_Status_temp t2)
+and TMS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+
+ )t
+ order by FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+
+select * from #Stock_Bom where like '%'+@FName+'%'
+
+drop table #TMP
+drop table #TMP1
+DROP TABLE #TMPLINK
+DROP TABLE #TMPLINK1
+drop table #TMP4
+drop table #TMP5
+drop table #TMP6
+drop table #TMP7
+drop table #TMP8
+drop table #tmpSal
+drop table #tmpSal1
+drop table #tmpSal2
+drop table #tmpSal3
+drop table #tmpMO
+drop table #tmpMO1
+drop table #tmpMO2
+drop table #tmpMO3
+
+drop table #TMPREQ
+drop table #TMPREQ1
+drop table #TMPREQ2
+drop table #TMPREQ3
+DROP TABLE #TMPRECEIVE
+DROP TABLE #TMPRECEIVE1
+DROP TABLE #TMPRECEIVE2
+DROP TABLE #TMPRECEIVE3
+drop table #tmppoorder
+drop table #tmppoorder1
+drop table #tmppoorder2
+drop table #tmppoorder3
+drop table #tmpPPBOM
+drop table #tmpPPBOM1
+drop table #tmpPPBOM2
+drop table #tmpPPBOM3
+drop table #tmpSUBBOM
+drop table #tmpSUBBOM1
+drop table #tmpSUBBOM2
+drop table #tmpSUBBOM3
+drop table #Stock_Status_temp
+
+set nocount off
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/创建临时表.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/创建临时表.sql
new file mode 100644
index 0000000..13bd909
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/创建临时表.sql
@@ -0,0 +1,88 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : sql server
+ Source Server Type : SQL Server
+ Source Server Version : 15002080
+ Source Host : .:1433
+ Source Catalog : AIS20231110222743
+ Source Schema : dbo
+
+ Target Server Type : SQL Server
+ Target Server Version : 15002080
+ File Encoding : 65001
+
+ Date: 06/02/2024 11:40:17
+*/
+
+
+-- ----------------------------
+-- Table structure for TMP123123123123123
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[TMP123123123123123]') AND type IN ('U'))
+ DROP TABLE [dbo].[TMP123123123123123]
+GO
+
+CREATE TABLE [dbo].[TMP123123123123123] (
+ [FIDENTITYID] bigint NOT NULL,
+ [FID] int NOT NULL,
+ [FSEQ] int NULL,
+ [FENTRYID] int NOT NULL,
+ [FDATE] datetime NULL,
+ [FPLANSTARTDATE] datetime NULL,
+ [FPLANFINISHDATE] datetime NULL,
+ [FSALEORDERNO] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
+ [FBILLNO] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
+ [FQTY] decimal(23,10) NOT NULL,
+ [FYIELDRATE] decimal(19,6) NOT NULL,
+ [FROUTINGID] int NULL,
+ [PRODUCTTYPE] varchar(6) COLLATE Chinese_PRC_CI_AS NOT NULL,
+ [ProMaterialId] int NULL,
+ [PrdUnitId] int NULL,
+ [FPPBOMBILLNO] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
+ [FBOMENTRYID] int NULL,
+ [ProMnemoniccode] nvarchar(20) COLLATE Chinese_PRC_CI_AS NULL,
+ [ProNumber] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
+ [ProName] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
+ [ProSpecification] nvarchar(510) COLLATE Chinese_PRC_CI_AS NULL,
+ [ProUnitName] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
+ [FMATERIALID] int NULL,
+ [FUnitNeedQty] decimal(38,15) NULL,
+ [FNEEDQTY] decimal(23,10) NOT NULL,
+ [FUNITID] int NOT NULL,
+ [FBASEWIPQTY] decimal(23,10) NULL,
+ [FPICKEDQTY] decimal(23,10) NULL,
+ [FNOPICKEDQTY] decimal(23,10) NULL,
+ [FSTDQTY] decimal(23,10) NOT NULL,
+ [FMUSTQTY] decimal(23,10) NOT NULL,
+ [FMEMO] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
+ [FLossQty] decimal(38,10) NULL,
+ [FSCRAPQTY] decimal(23,10) NULL,
+ [FREPICKEDQTY] decimal(23,10) NULL,
+ [FWORKSHOPID] int NULL,
+ [FSTOCKID] int NULL,
+ [FSTOCKLOCID] int NULL,
+ [PPBOMStatus] varchar(8) COLLATE Chinese_PRC_CI_AS NOT NULL,
+ [MaterialNumber] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
+ [MaterialName] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
+ [MaterialSpecification] nvarchar(510) COLLATE Chinese_PRC_CI_AS NULL,
+ [MaterialUnitName] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
+ [Materialsrc] varchar(3) COLLATE Chinese_PRC_CI_AS NOT NULL,
+ [WORKSHOPNAME] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
+ [FMASTERID] int NULL,
+ [FUSEORGID] int NULL,
+ [BOMMEMO] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
+ [FSTOCKNAME] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
+ [FBASEQTY] decimal(38,10) NULL,
+ [ROUTENAME] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
+ [FBASEINVQTY] decimal(23,10) NULL,
+ [FBASELACKQTY] decimal(23,10) NULL,
+ [FBASEONORDERQTY] decimal(23,10) NULL,
+ [StatusIs6] varchar(6) COLLATE Chinese_PRC_CI_AS NOT NULL,
+ [LOWEST6] int NOT NULL
+)
+GO
+
+ALTER TABLE [dbo].[TMP123123123123123] SET (LOCK_ESCALATION = TABLE)
+GO
+
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/新BOM层级库存状态.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/新BOM层级库存状态.sql
new file mode 100644
index 0000000..81eaa7f
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/新BOM层级库存状态.sql
@@ -0,0 +1,281 @@
+declare
+ @moBillNo varchar(100)
+ ,@salesBillNo varchar(100)
+ ,@startMaterialId int
+ ,@endMaterialId int
+ ,@FSDate varchar (30)
+ ,@FEDate varchar (30)
+ ,@FSNumber varchar (50)
+ ,@FENumber varchar (50)
+ ,@FSStock varchar (max)
+SET @moBillNo =''
+SET @salesBillNo =''
+SET @moBillNo = 0
+SET @moBillNo = 0
+SET @FSDate = '2024-01-05'
+SET @FEDate = '2024-02-05'
+SET @FSNumber = '1.01'
+SET @FENumber = '1.01'
+--SET @FSNumber = 'TSH182H000208O'
+--SET @FENumber = 'TSH182H000208O'
+SET @FSStock =''
+
+declare @FCloseBALDate varchar (30)
+declare @FClosedate varchar (30)
+
+--ѯʼһڵĩ
+If NOT Exists(
+ SELECT FORGID, MAX(FCLOSEDATE) fclosedate
+ FROM T_STK_CLOSEPROFILE
+ WHERE FORGID IN (1) AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate)
+ GROUP BY FORGID)
+BEGIN
+ SET @FClosedate='2020-01-01'
+ SET @FCloseBALDate='2020-01-01'
+ --print @FClosedate
+END
+ELSE
+BEGIN
+ --SET @FClosedate='2019-07-01'
+ SELECT @FClosedate= CONVERT(varchar (30), DATEADD(D, 1,MAX(FCLOSEDATE)),23) FROM
+ T_STK_CLOSEPROFILE WHERE ((FORGID IN (1) AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID
+ SET @FCloseBALDate=CONVERT(varchar (30), DATEADD(D, -1,@FClosedate),23)
+ --print @FClosedat
+END
+
+DECLARE @FSWL varchar (50)
+DECLARE @FEWL varchar (50)
+
+SET @FSWL=''
+SET @FEWL=''
+
+IF @FSNumber<>'' and @FENumber<>''
+BEGIN
+ SET @FSWL= @FSNumber
+ SET @FEWL= @FENumber
+END
+IF @FSNumber<>'' and @FENumber=''
+BEGIN
+ SET @FSWL= @FSNumber
+ SELECT @FEWL=MAX(FNUMBER) FROM T_BD_MATERIAL
+END
+IF @FSNumber='' and @FENumber<>''
+BEGIN
+ SET @FEWL= @FENumber
+ SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL
+END
+IF @FSNumber='' and @FENumber=''
+BEGIN
+ SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL
+ SELECT @FEWL=MAX(FNUMBER) FROM T_BD_MATERIAL
+END
+
+ --ʱѡȡֿ
+
+IF EXISTS(select * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID'))
+BEGIN
+ DROP TABLE #tmpStockID
+ print ''
+END
+Create Table #tmpStockID (
+ FID INT IDENTITY(1,1)
+ ,FStockID INT
+)
+DECLARE @Strsql varchar(max)
+SET @Strsql= 'insert into #tmpStockID select distinct FSTOCKID from T_BD_STOCK where 1=1 ' +@FSStock
+EXEC(@Strsql)
+
+--״̬
+
+if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#Stock_Status_temp'))
+begin
+ drop table #Stock_Status_temp
+ print ''
+end
+
+Create Table #Stock_Status_temp (
+ INT IDENTITY(1,1),
+ INT ,
+ ϴ varchar(100) null ,
+ varchar(255) null ,
+ ͺ varchar(255) null ,
+ ɱ varchar(100) null ,
+ --λ varchar(30) null ,
+ ڽ DECIMAL (18, 2) Null ,
+ ڲɹ DECIMAL (18, 2) Null ,
+ ں DECIMAL (18, 2) Null ,
+ ĩ DECIMAL (18, 2) Null ,
+ ; DECIMAL (18, 2) Null ,
+ DECIMAL (18, 2) Null ,
+ DECIMAL (18, 2) Null ,
+ δ DECIMAL (18, 2) Null ,
+ DECIMAL (18, 2) Null ,
+ ۳ DECIMAL (18, 2) Null ,
+ ֿⲦ DECIMAL (18, 2) Null ,
+ ֿⲦ DECIMAL (18, 2) Null ,
+ 깺δת DECIMAL (18, 2) Null,
+ ܶ DECIMAL (18, 2) Null ,
+ ռ DECIMAL (18, 2) Null ,
+ ÿ DECIMAL (18, 2) Null ,
+ ֿ INT ,
+ ֿ varchar(100) null ,
+ ֿ varchar(255) null ,
+ װ INT ,
+ װʽ varchar(255) null
+)
+
+if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#TMP'))
+begin
+ drop table #TMP
+ print ''
+end
+
+CREATE TABLE #TMP (
+ FID INT IDENTITY(1,1),
+ FSTOCKORGID INT NOT NULL DEFAULT 0,
+ FBILLENTRYID INT NOT NULL DEFAULT 0,
+ FORDERBY INT NOT NULL DEFAULT 0,
+ FSTOCKIO CHAR (1) NULL,
+ FMATERIALID INT NOT NULL DEFAULT 0,
+ FAUXPROPID INT NOT NULL DEFAULT 0,
+ FDATE DATETIME NULL,
+ FSTOCKID INT NOT NULL DEFAULT 0,
+ FSTOCKLOCID INT NOT NULL DEFAULT 0,
+ FSTOCKSTATUSID INT NOT NULL DEFAULT 0,
+ FBILLNAME NVARCHAR (100) NULL,
+ FBILLID INT NOT NULL DEFAULT 0,
+ FBILLSEQID INT NULL,
+ FBILLNO NVARCHAR (100) NULL,
+ FBASEQCQTY DECIMAL (23, 10) NOT NULL DEFAULT 0,
+ FBASEINQTY DECIMAL (23, 10) NOT NULL DEFAULT 0,
+ FBASEOUTQTY DECIMAL (23, 10) NOT NULL DEFAULT 0
+)
+
+--BOM㼶
+
+IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#YC_T_MRP'))
+BEGIN
+ DROP TABLE #YC_T_MRP
+END
+
+CREATE TABLE #YC_T_MRP(
+ FID INT IDENTITY(1,1),
+ FBOMNumber NVARCHAR(255),
+ FMATERIALID INT,
+ ϱ NVARCHAR(255),
+ NVARCHAR(255),
+ Ʒ DECIMAL(28,10) DEFAULT (0),
+ DECIMAL(28,10),--BOM
+ ĸ DECIMAL(28,10),--BOMĸ
+ FQty DECIMAL(28,10),--
+ FLevle INT ,
+ FERPCLSID INT,
+ FOrderNum NVARCHAR(255),
+ FBOMID INT,
+ BOM㼶 NVARCHAR(200) NULL,
+ FSEQ1 INT,
+ FSEQ2 INT,
+ FSEQ3 INT,
+ FSEQ4 INT,
+ FSEQ5 INT,
+ FSEQ6 INT,
+ FParentNumber NVARCHAR(255)
+)
+
+IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#BOMTMP'))
+BEGIN
+ DROP TABLE #BOMTMP
+END
+
+/*ȡ״̬BOMʱ*/
+SELECT
+ ID=IDENTITY(INT,1,1)
+ ,T0.FID
+ ,T0.FNUMBER
+ ,T0.FMATERIALID
+ ,ROW_NUMBER() OVER(PARTITION BY T0.FMATERIALID ORDER BY t0.FID DESC) AS ROWID
+ INTO #BOMTmp
+FROM T_ENG_BOM T0
+ INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --ϱ
+WHERE (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A')
+ AND (TM.FNUMBER >= @FSWL AND TM.FNUMBER <=@FEWL)
+ORDER BY FMATERIALID,FNUMBER
+
+--/*ʱУͬһϴֻһ°汾BOM*/
+--DELETE FROM #BOMTmp WHERE id NOT IN (SELECT max(id) FROM #BOMTmp GROUP BY FMATERIALID)
+DELETE FROM #BOMTmp WHERE ROWID > 1
+
+IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#TMP_TOP_BOM_SET'))
+BEGIN
+ DROP TABLE #TMP_TOP_BOM_SET
+END
+
+CREATE TABLE #TMP_TOP_BOM_SET(
+ FID int
+ ,FNUMBER varchar(80)
+ ,FMATERIALID int
+ ,FSEQ int
+ ,BOMLEVEL int
+ ,TOPID int
+ ,showlevel varchar(80)
+ ,BOMID int
+ ,FERPCLSID int
+)
+CREATE INDEX [#TMP_TOP_BOM_SET_FID] ON #TMP_TOP_BOM_SET(FID);
+
+INSERT INTO #TMP_TOP_BOM_SET
+SELECT
+ t0.FID
+ ,t1.FNUMBER
+ ,t0.FMATERIALID
+ ,ROW_NUMBER() over(partition BY t0.FID order by t0.fid)
+ ,1 'BOMLEVEL'
+ ,t0.FID AS 'TOPID'
+ ,''
+ ,t0.FID AS 'BOMID'
+ ,t2.FERPCLSID
+FROM T_ENG_BOM t0
+ INNER JOIN T_BD_MATERIAL t1 on t0.FMATERIALID = t1.FMATERIALID
+ LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID
+ INNER JOIN #BOMTmp t3 on t3.FNUMBER = t0.FNUMBER AND t3.FMATERIALID = t0.FMATERIALID
+WHERE 1 = 1
+ AND (t0.FDOCUMENTSTATUS = 'C')
+
+DECLARE @num INT,@level int,@LoopCount int
+SET @num = 1
+SET @level =1
+SET @LoopCount = 0;
+
+
+WHILE (@num > 0 AND @LoopCount < 10)
+BEGIN
+ INSERT INTO #TMP_TOP_BOM_SET
+ SELECT
+ t3.FID
+ ,t2.FNUMBER
+ ,t1.FMATERIALID
+ ,ROW_NUMBER() over(partition BY t0.TOPID,t0.bomid order by t0.fseq) 'FSEQ'
+ ,@level + 1 AS 'BOMLEVEL'
+ ,t0.TOPID
+ ,CONCAT(t0.showlevel,'-',CAST(dense_rank() over(partition BY t0.topid,t0.bomid,t0.fid order by t1.fseq) as VARCHAR)) 'showLevel'
+ ,0 'OID'
+ ,t4.FERPCLSID
+ FROM
+ #TMP_TOP_BOM_SET t0
+ LEFT JOIN T_ENG_BOMCHILD t1 on t0.BOMID = t1.FID
+ INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t1.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t1.FMATERIALID AND t1_l.FLOCALEID = 2052
+ LEFT JOIN T_ENG_BOM t3 on t1.FID = t3.FID--t1.FMATERIALID = t3.FMATERIALID
+ LEFT JOIN T_BD_MATERIALBASE t4 on t4.FMATERIALID = t1.FMATERIALID
+ WHERE 1 = 1
+ --AND (t2.FERPCLSID = 2 OR t2.FERPCLSID = 5 )
+ AND t0.FERPCLSID >= 2
+ AND t0.BOMLEVEL = @level
+ AND t3.FDOCUMENTSTATUS = 'C'
+ AND t2.FFORBIDSTATUS = 'A'
+
+ SET @num = @@ROWCOUNT
+ SET @level += 1
+ SET @LoopCount += 1
+END
+SELECT * FROM #TMP_TOP_BOM_SET
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/生产投料查询表_20240206.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/生产投料查询表_20240206.sql
new file mode 100644
index 0000000..bb41244
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/生产投料查询表_20240206.sql
@@ -0,0 +1,179 @@
+ --IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].TMP123123123123123') AND type IN ('U'))
+ -- DROP TABLE [dbo].TMP123123123123123
+ --GO
+
+ declare @tableName varchar(80)
+ ,@seqFid varchar(80)
+ ,@proMaterialId int
+ ,@materialId int
+ ,@FBILLNO varchar(80)
+ ,@FPPBOMBILLNO varchar(80)
+ ,@FSALEORDERNO varchar(80)
+ ,@LCID int
+
+ SET @tableName = 'TMP123123123123123'
+ SET @seqFid = 'ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID'
+ SET @proMaterialId = ''
+ SET @materialId = ''
+ SET @FBILLNO = ''
+ SET @FPPBOMBILLNO = ''
+ SET @FSALEORDERNO = ''
+ SET @LCID = 2052
+/***********************生产订单关联信息start****************************/
+ SELECT
+ --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.行号
+ t0.FID
+ ,t0e.FSEQ
+ ,t0e.FENTRYID
+ ,t0.FDATE --2.单据日期
+ ,t0e.FPLANSTARTDATE--38.计划开工日期
+ ,t0e.FPLANFINISHDATE--39.计划完工日期
+ ,t0e.FSALEORDERNO --4.销售订单号
+ ,t0.FBILLNO--7.生产任务单号
+ ,t0e.FQTY--12.产品生产数量
+ --,t0e.FSTOCKID--35.仓库
+ --,t0e.FSTOCKLOCID--36.仓位
+ ,t0e.FYIELDRATE
+ ,t0e.FROUTINGID
+ ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN '主产品' WHEN 2 THEN '主产品' WHEN 3 THEN '主产品' ELSE '' END) AS 'PRODUCTTYPE'--43.生产类型
+ ,t0e.FMATERIALID AS 'ProMaterialId'
+ ,t0e.FUNITID AS 'PrdUnitId'
+ --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.物料来源
+ INTO #TMPMO_BASE_INFO
+ FROM
+ T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID
+ WHERE
+ t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END)
+ AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END)
+
+ CREATE INDEX #TMPMO_BASE_INFO_INDEX_FENTRYID ON #TMPMO_BASE_INFO(FENTRYID);
+
+ SELECT tt.*
+ ,(CASE t0e_a.FSTATUS WHEN 6 THEN '已结案'ELSE '' END) AS 'StatusIs6'--45.生产任务单结案否
+ ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6.助记码
+ ,t1.FNUMBER AS 'ProNumber'--8.产品编码
+ ,t1_l.FNAME AS 'ProName'--9.产品名称
+ ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.产品规格型号
+ ,t2_l.FNAME AS 'ProUnitName'--11.产品单位
+ INTO #TmpTable0
+ FROM #TMPMO_BASE_INFO tt
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = tt.FENTRYID
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.ProMaterialId
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.ProMaterialId AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.PrdUnitId AND t2_l.FLOCALEID = @LCID
+
+ DROP TABLE #TMPMO_BASE_INFO
+
+ CREATE INDEX #TmpTable0_FENTRYID_INDEX ON #TmpTable0(FENTRYID);
+/***********************生产订单关联信息end****************************/
+
+/***********************生产用料清单关联信息start****************************/
+ SELECT
+ tt.*
+ ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.生产投料单号
+ ,t0e.FMATERIALID
+ ,t0e.FENTRYID AS 'PPBOMENTRYID'
+ ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.物料单位用量
+ ,t0e.FNEEDQTY --22.物料总需求
+ ,t0e.FUNITID
+ ,t0e.FBOMENTRYID
+ ,t0e.FSTDQTY --标准用量 --29.标准数量
+ ,t0e.FMUSTQTY --应发数量 --30.应发数量
+ ,t0.FWORKSHOPID
+ ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '创建' WHEN 'B' THEN '审核中' WHEN 'C' THEN '已审核' WHEN 'D' THEN '重新审核' WHEN 'Z' THEN '暂存' ELSE '' END) AS 'PPBOMStatus'--46.生产投料单状态
+ INTO #TMPPPBOM_BASE_INFO
+ FROM
+ T_PRD_PPBOM t0 --生产用料清单
+ INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID
+ INNER JOIN #TmpTable0 tt on t0.FMOENTRYID = tt.FENTRYID
+ WHERE
+ T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END)
+
+ CREATE INDEX #TMPPPBOM_BASE_INFO_PPBOMENTRYID_INDEX ON #TMPPPBOM_BASE_INFO(PPBOMENTRYID);
+
+ SELECT tt.*
+ ,t0e_q.FBASEWIPQTY --23.当前在制品数量
+ ,t0e_q.FPICKEDQTY --27.已领数量
+ ,t0e_q.FNOPICKEDQTY --28.未领数量
+ ,t0e_l.FMEMO --31.备注
+ ,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32.损耗数量
+ ,t0e_q.FSCRAPQTY --33.报废数量
+ ,t0e_q.FREPICKEDQTY --37.补料数量
+ ,t0e_c.FSTOCKID
+ ,t0e_c.FSTOCKLOCID
+ INTO #TmpTable1
+ FROM #TMPPPBOM_BASE_INFO tt
+ LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --生产用料清单数量拆分表
+ LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID
+
+ DROP TABLE #TMPPPBOM_BASE_INFO
+
+ SELECT
+ tt.*
+ ,t1.FNUMBER AS 'MaterialNumber'--8.物料编码
+ ,t1_l.FNAME AS 'MaterialName'--9.物料名称
+ ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.物料规格型号
+ ,t2_l.FNAME AS 'MaterialUnitName'--11.物料单位
+ ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.物料来源
+ ,t4_l.FNAME AS 'WORKSHOPNAME' --44.生产车间
+ ,t1.FMASTERID
+ ,t1.FUSEORGID
+ ,t5_l.FMEMO AS 'BOMMEMO' --42.BOM备注项
+ ,t3_l.FNAME AS 'FSTOCKNAME'
+ into #TmpTable2
+ FROM
+ #TmpTable1 tt
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.FUNITID AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = tt.FSTOCKID AND t3_l.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = tt.FWORKSHOPID AND t4_l.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = tt.FBOMENTRYID AND t5_L.FLOCALEID = @LCID
+
+/***********************生产用料清单关联信息end****************************/
+ SELECT
+ t0.*
+ ,t1.FBASEQTY
+ ,t2_l.FNAME AS 'ROUTENAME'
+ ,t3e_A.FBASEINVQTY
+ ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.欠料
+ ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.物料在途数
+ ,6 AS 'LOWEST6'
+ --INTO #TmpTable3
+ FROM
+ #TmpTable2 t0
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
+
+
+ --exec(N'
+ --SELECT
+ -- t0.*
+ -- ,' + @seqFid+ '
+ -- INTO ' + @tableName + '
+ --FROM
+ -- #TmpTable3 t0
+ --')
+
+ drop table #TmpTable0
+ drop table #TmpTable1
+ drop table #TmpTable2
+ --drop table #TmpTable3
+
+ --exec(N'SELECT * FROM '+ @tableName)
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/缺料分析查询报表.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/缺料分析查询报表.sql
new file mode 100644
index 0000000..7326fda
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/缺料分析查询报表.sql
@@ -0,0 +1,248 @@
+DECLARE @needNum DECIMAL(23,6)
+,@sDate varchar(100)
+,@eDate varchar(100)
+SET @needNum = 20
+SET @sDate = '2024-03-01'
+SET @eDate = '2024-03-24'
+
+CREATE TABLE #TMPMATERIALINFO(MATERIALID int,needNum decimal(23,6))
+INSERT INTO #TMPMATERIALINFO
+SELECT
+101521 AS 'MATERIALID'
+,10 needNum
+Union
+SELECT
+101530 AS 'MATERIALID'
+,30 needNum
+
+SELECT MATERIALID,SUM(needNum) needNum
+INTO #TMPMATERIALNUM
+FROM #TMPMATERIALINFO
+GROUP BY MATERIALID
+DROP TABLE #TMPMATERIALINFO
+
+--SELECT @needNum AS 'needNum'
+--,t0.FMATERIALID AS 'MATERIALID'
+--INTO #TMPMATERIALNUM
+--FROM T_BD_MATERIAL t0
+--WHERE t0.FDOCUMENTSTATUS = 'C'
+-- --AND t0.FMATERIALID = 100245
+-- --AND t0.FMATERIALID = 122599
+-- AND t0.FNUMBER IN ('1.02','1.05')
+-- --AND t0.FMATERIALID IN (100259,100235)
+
+SELECT t0.FMASTERID
+ ,t0.FMATERIALID
+ ,t0.FNUMBER
+ ,t0.FUSEORGID
+ ,t1.needNum AS 'ProMaterialQty'
+ INTO #ProMaterial
+FROM T_BD_MATERIAL t0
+ INNER JOIN #TMPMATERIALNUM t1 on t0.FMATERIALID = t1.MATERIALID
+WHERE t0.FDOCUMENTSTATUS = 'C'
+
+CREATE TABLE #PRO_MATERIAL_LACKANALYE(
+ FIDENTITYID int not null default 0
+ ,ProMaterialId int not null default 0
+ ,BomId int
+ ,Ʒ varchar(100) default ''
+ ,Ʒ varchar(100) default ''
+ ,Ʒ_ decimal(23,6) default 0
+ ,Ʒ_ʱ decimal(23,6) default 0
+ ,Ʒ_δ decimal(23,6) default 0
+ ,Ʒ_ decimal(23,6) default 0
+ ,Ʒ_ܶ decimal(23,6) default 0
+ ,Ʒ_; decimal(23,6) default 0
+ ,Ʒ_ÿ decimal(23,6) default 0
+ ,Ʒ_ʵ decimal(23,6) default 0
+ ,BOMLEVEL int
+ ,IsProduct int
+ ,ϸϼ int
+)
+
+CREATE TABLE #MATERIAL_LACKANALYE(
+ FIDENTITYID int not null default 0
+ ,MaterialId int not null default 0
+ ,BomId int
+ ,ϴ varchar(100) default ''
+ , varchar(100) default ''
+ ,_ decimal(23,6) default 0
+ ,_ʱ decimal(23,6) default 0
+ ,_δ decimal(23,6) default 0
+ ,_ decimal(23,6) default 0
+ ,_ܶ decimal(23,6) default 0
+ ,_; decimal(23,6) default 0
+ ,_ÿ decimal(23,6) default 0
+ ,_ʵ decimal(23,6) default 0
+ ,BOMLEVEL int
+ ,IsProduct int
+ ,ϸϼ int
+)
+
+SELECT t0.FMATERIALID
+ ,ISNULL(t3.sumQTY,0) AS ʱ
+ ,ISNULL(t4.sumBASENOPICKEDQTY,0) AS δ
+ ,ISNULL(t5.sumNoStockInQty,0) AS
+ ,ISNULL(t1. - t1.δ,0) AS 'ܶ'
+ ,ISNULL(t2. - t2.,0) AS ';'
+ ,(ISNULL(t3.sumQTY,0) - ISNULL(t4.sumBASENOPICKEDQTY,0) + ISNULL(t5.sumNoStockInQty,0) - ISNULL(t1. - t1.δ,0) + ISNULL(t2. - t2.,0)) AS 'ÿ'
+ INTO #Material_Stock_Statu
+FROM T_BD_MATERIAL t0
+ LEFT JOIN (
+ SELECT
+ t0e.FMATERIALID,SUM(t0e.FQTY) AS ''
+ ,SUM((t0e_r.FBASEREMAINOUTQTY + t0e_r.FBASERETURNQTY)) AS 'δ'
+ FROM T_SAL_ORDER t0
+ INNER JOIN T_SAL_ORDERENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_SAL_ORDERENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e_r.FENTRYID = t0e.FENTRYID
+ WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FCANCELSTATUS = 'A'
+ AND t0.FCLOSESTATUS = 'A'
+ AND t0.FDATE between @sDate AND @eDate
+ GROUP BY t0e.FMATERIALID
+ ) t1 on t1.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT
+ t0e.FMATERIALID,SUM(t0e.FQTY) AS ''
+ ,SUM(t0e_r.FREMAINSTOCKINQTY) AS 'ʣ'
+ ,SUM(t0e_r.FBASESTOCKINQTY) AS ''
+ FROM T_PUR_POORDER t0
+ INNER JOIN T_PUR_POORDERENTRY t0e on t0.FID = t0e.FID AND t0.FBUSINESSTYPE != 'ZCCG' AND t0.FBUSINESSTYPE != 'FYCG'
+ INNER JOIN T_PUR_POORDERENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e_r.FENTRYID = t0e.FENTRYID
+ WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FCANCELSTATUS = 'A'
+ AND t0.FCLOSESTATUS = 'A'
+ AND t0.FDATE BETWEEN @sDate AND @eDate
+ GROUP BY t0e.FMATERIALID
+ ) t2 on t2.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT tt0.FMATERIALID,tt0.FSTOCKORGID,SUM(tt0.FBASEQTY) AS sumQTY
+ FROM T_STK_INVENTORY tt0
+ GROUP BY tt0.FMATERIALID,tt0.FSTOCKORGID
+ ) t3 on t3.FMATERIALID = t0.FMASTERID AND t3.FSTOCKORGID = t0.FUSEORGID
+ LEFT JOIN (
+ SELECT t0e.FMATERIALID,SUM(t0e_q.FBASENOPICKEDQTY) sumBASENOPICKEDQTY
+ FROM T_PRD_PPBOMENTRY t0e
+ INNER JOIN T_PRD_PPBOMENTRY_Q t0e_q on t0e.FENTRYID = t0e_q.FENTRYID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FMOENTRYID
+ WHERE t0e_a.FSTATUS = 4
+ GROUP BY t0e.FMATERIALID
+ ) t4 on t4.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT t0e.FMATERIALID,SUM(t0e_q.FNOSTOCKINQTY) AS sumNoStockInQty
+ FROM T_PRD_MOENTRY t0e
+ INNER JOIN T_PRD_MOENTRY_Q t0e_q on t0e.FENTRYID = t0e_q.FENTRYID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ WHERE t0e_a.FSTATUS = 4
+ GROUP BY t0e.FMATERIALID
+ ) t5 on t5.FMATERIALID = t0.FMATERIALID
+WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FFORBIDSTATUS = 'A'
+
+INSERT INTO #MATERIAL_LACKANALYE
+SELECT
+ ROW_NUMBER() OVER (ORDER BY t0.FMATERIALID)
+ ,t0.FMATERIALID
+ ,t1.FID
+ ,t2.FNUMBER
+ ,t2_l.FNAME
+ ,t0.ProMaterialQty
+ ,t3.ʱ
+ ,t3.δ
+ ,t3.
+ ,t3.ܶ
+ ,t3.;
+ ,t3.ÿ
+ ,(CASE
+ WHEN t3.ÿ > t0.ProMaterialQty THEN 0
+ ELSE t3.ÿ - t0.ProMaterialQty
+ END)
+ ,0
+ ,1
+ ,1
+FROM #ProMaterial t0
+ INNER JOIN (
+ SELECT tt.FID,tt.FMATERIALID,ROW_NUMBER() OVER (PARTITION BY tt.FMATERIALID ORDER BY tt.FID DESC) AS 'rn' FROM T_ENG_BOM tt
+ WHERE 1 = 1
+ AND tt.FDOCUMENTSTATUS = 'C'
+ AND tt.FFORBIDSTATUS = 'A'
+ ) t1 on t0.FMATERIALID = t1.FMATERIALID AND t1.rn = 1 --AND t0.FUSEORGID = t1.FUSEORGID
+ INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t1.FMATERIALID
+ INNER JOIN T_BD_MATERIAL_L t2_l on t2_l.FMATERIALID = t1.FMATERIALID AND t2_l.FLOCALEID = 2052
+ LEFT JOIN #Material_Stock_Statu t3 on t1.FMATERIALID = t3.FMATERIALID
+WHERE 1 = 1
+ --AND EXISTS (SELECT COUNT(1) FROM T_ENG_BOM tt GROUP BY tt.FMATERIALID HAVING MAX(tt.FID) = t1.FID)
+ --AND t1.FDOCUMENTSTATUS = 'C'
+ --AND t1.FFORBIDSTATUS = 'A'
+ORDER BY
+ t0.FNUMBER
+
+--INSERT INTO #MATERIAL_LACKANALYE
+--SELECT * FROM #PRO_MATERIAL_LACKANALYE
+DECLARE @num INT,@level int,@LoopCount int
+SET @num = 1
+SET @level =0
+SET @LoopCount = 0;
+
+WHILE (@num <> 0 AND @LoopCount < 10)
+BEGIN
+ INSERT INTO #MATERIAL_LACKANALYE(MaterialId,BomId,_,_ʱ,_δ,_,_ܶ,_;,_ÿ,_ʵ,BOMLEVEL,ϸϼ,IsProduct)
+ SELECT
+ tt.FMATERIALID
+ ,ISNULL(t2.FID,0) AS BomId
+ ,ABS(tt._)
+ ,t3.ʱ
+ ,t3.δ
+ ,t3.
+ ,t3.ܶ
+ ,t3.;
+ ,t3.ÿ
+ ,(CASE
+ WHEN t3.ÿ > (ABS(tt._) + ISNULL(t4.ϼ_ʵ,0)) THEN 0
+ ELSE t3.ÿ - (ABS(tt._) + ISNULL(t4.ϼ_ʵ,0))
+ END) AS 'ʵ'
+ ,@level + 1
+ ,tt.co
+ ,0
+ FROM (
+ SELECT
+ t1.FMATERIALID
+ ,SUM(t0._ʵ * (t1.FNUMERATOR / t1.FDENOMINATOR)) AS '_'
+ ,count(1) co
+ FROM
+ #MATERIAL_LACKANALYE t0
+ INNER JOIN T_ENG_BOMCHILD t1 on t0.BomId = t1.FID
+ WHERE 1 = 1
+ AND t0.BOMLEVEL = @level
+ GROUP BY t1.FMATERIALID
+ ) tt
+ LEFT JOIN (
+ SELECT tt3.FID,tt3.FNUMBER,tt3.FMATERIALID,ROW_NUMBER() OVER (PARTITION BY tt3.FMATERIALID ORDER BY tt3.FID DESC) AS 'rn'
+ FROM T_ENG_BOM tt3
+ WHERE 1 = 1 AND tt3.FDOCUMENTSTATUS = 'C' AND tt3.FFORBIDSTATUS = 'A'
+ ) t2 ON t2.rn = 1 AND tt.FMATERIALID = t2.FMATERIALID
+ LEFT JOIN #Material_Stock_Statu t3 on t3.FMATERIALID = tt.FMATERIALID
+ LEFT JOIN (
+ SELECT tt.MaterialId,sum(tt._ʵ) AS 'ϼ_ʵ' FROM #MATERIAL_LACKANALYE tt GROUP BY tt.MaterialId
+ ) t4 on t4.MaterialId = tt.FMATERIALID
+
+ SET @num = @@ROWCOUNT
+ SET @level += 1
+ SET @LoopCount += 1
+
+END
+
+UPDATE t0 SET
+ t0.ϴ = t1.FNUMBER
+ ,t0. = t1_l.FNAME
+FROM #MATERIAL_LACKANALYE t0
+ INNER JOIN T_BD_MATERIAL t1 on t0.MaterialId = t1.FMATERIALID
+ INNER JOIN T_BD_MATERIAL_L t1_l on t0.MaterialId = t1_l.FMATERIALID AND t1_l.FLOCALEID = 2052
+
+SELECT t0.* FROM #MATERIAL_LACKANALYE t0
+
+DROP TABLE #ProMaterial
+DROP TABLE #TMPMATERIALNUM
+DROP TABLE #PRO_MATERIAL_LACKANALYE
+DROP TABLE #MATERIAL_LACKANALYE
+DROP TABLE #Material_Stock_Statu
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/缺料查询报表.sql b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/缺料查询报表.sql
new file mode 100644
index 0000000..5e67a9d
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/sql/缺料查询报表.sql
@@ -0,0 +1,819 @@
+
+/****** Object: StoredProcedure [dbo].[Pro_YEB_MaterialInventory] Script Date: 2024-03-08 14:18:49 ******/
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+
+--sp_helptext Pro_YEB_MaterialInventory
+
+ --exec Pro_YEB_MaterialInventory '','',0
+ --״̬
+alter procedure [dbo].[Pro_YEB_MaterialInventory] (
+ @FNumber varchar (max) ,
+ @FStock varchar (max) ,
+ @Flag bit
+ )
+AS
+
+set nocount on
+ --ʱѡȡֿ
+
+DECLARE @sStock varchar(max), @sNumber varchar(max)
+----
+--set @sStock=''
+--set @sNumber=''
+
+set @sStock=@FStock
+set @sNumber=@FNumber
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpStockID'))
+BEGIN
+ drop table #tmpStockID
+END
+ Create Table #tmpStockID (
+ FID INT IDENTITY(1,1),
+ FStockID INT ,
+ )
+
+ DECLARE @Strsql varchar(max)
+ set @Strsql= 'insert into #tmpStockID SELECT distinct FSTOCKID FROM T_BD_STOCK where 1=1 '+@sStock
+ EXEC(@Strsql)
+
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMaterialID'))
+ BEGIN
+ drop table #tmpMaterialID
+ END
+
+Create Table #tmpMaterialID (
+FID INT IDENTITY(1,1),
+FMaterialID INT ,
+)
+
+DECLARE @Ssql varchar(max)
+set @Ssql= 'insert into #tmpMaterialID SELECT distinct FMATERIALID FROM T_BD_MATERIAL where 1=1 and FUSEORGID=1 '+@sNumber -- and FNUMBER=''1.W003''
+EXEC(@Ssql)
+
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#Stock_Status_temp'))
+ BEGIN
+ drop table #Stock_Status_temp
+ END
+
+ Create Table #Stock_Status_temp (
+ INT IDENTITY(1,1),
+ INT ,
+ ϴ varchar(100) null ,
+ varchar(255) null ,
+ ͺ varchar(255) null ,
+ varchar(50) null ,
+ λ varchar(30) null ,
+ Ʒ varchar(255) null ,
+ --FLT1 varchar(255) null ,
+ FLT int null ,
+ ȫ DECIMAL (18, 2) Null ,
+ п DECIMAL (18, 2) Null ,
+ Ԥ DECIMAL (18, 2) Null ,
+ δPR DECIMAL (18, 2) Null ,
+ ѷ DECIMAL (18, 2) Null ,
+ ۽ DECIMAL (18, 2) Null ,
+ ƻԱ varchar(255) null ,
+ ɹԱ varchar(100) null
+ )
+ CREATE INDEX IDX_MaterialID ON #Stock_Status_temp ()
+
+
+ --drop table #YC_Sum_MRP F_PKGR_Brand Ʒ L/T F_PKGR_HUMIDITYSENSITIVITY ɹԱ
+insert into #Stock_Status_temp ( ,ϴ , , ͺ,,λ, ȫ, ƻԱ)
+SELECT TM.fmaterialid AS ,TM.fnumber,n.FNAME AS ,n.FSPECIFICATION AS ͺ,
+(case when TMB.FERPCLSID=1 THEN '' when TMB.FERPCLSID=2 THEN ''
+ when TMB.FERPCLSID=3 THEN 'ί' when TMB.FERPCLSID=5 THEN '' else ''END) '',
+ TUL1.FNAME 'λ',isnull(TMP.FPLANSAFESTOCKQTY,0) AS 'ȫ' ,ISNULL(PL.FNAME,'') AS 'ƻԱ'
+FROM t_bd_material TM
+inner join T_BD_MATERIAL_L n on TM.FMATERIALID =n.FMATERIALID and n.FLOCALEID =2052
+inner join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT OUTER JOIN T_BD_MATERIALBASE TMB on TM.FMATERIALID = TMB.FMATERIALID
+LEFT OUTER JOIN T_BD_MATERIALPLAN TMP ON TM.FMATERIALID=TMP.FMATERIALID
+LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON ( TMS.FSTOREUNITID = TUL1.FUNITID AND TUL1.FLOCALEID = 2052)
+LEFT OUTER JOIN V_BD_PLANNER_L PL ON ( TMP.FPLANERID = PL.fid AND PL.FLOCALEID = 2052)
+where TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A' and TMB.FERPCLSID<>5
+and TM.FMATERIALID in ( SELECT distinct FMATERIALID FROM #tmpMaterialID)
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tempINV'))
+BEGIN
+ drop table #tempINV
+END
+
+-- ʱ,ÿ
+SELECT TM.fmaterialid AS ,TM.fnumber,n.FNAME AS ,n.FSPECIFICATION AS ͺ,
+TUL1.FNAME 'λ',t1.FSTOCKID ,TSK.FNUMBER AS FStockNumber,TSL.FNAME 'ֿ', t1.FBASEQTY 'λ',
+(isnull(t1.FBASEQTY,0) - isnull(TSUB.FBASELOCKQTY,0)) AS 'ÿ'
+into #tempINV
+--SELECT *
+FROM t_bd_material TM
+inner join T_BD_MATERIAL_L n on TM.FMATERIALID =n.FMATERIALID and n.FLOCALEID =2052
+inner join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT OUTER JOIN T_BD_MATERIALPLAN TMP ON TM.FMATERIALID=TMP.FMATERIALID
+inner join T_STK_INVENTORY t1 on TM.FMASTERID = t1.FMATERIALID AND TM.FUSEORGID = t1.FSTOCKORGID and t1.FBASEQTY > 0
+LEFT OUTER JOIN T_ORG_ORGANIZATIONS_L O ON ( t1.FSTOCKORGID = O.FORGID AND O.FLOCALEID = 2052) --
+INNER JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = t1.FSTOCKID AND ( TSK.FUSEORGID = t1.FSTOCKORGID))
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = t1.FSTOCKID AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_UNIT TUS ON TMS.FSTOREUNITID = TUS.FUNITID
+LEFT OUTER JOIN T_BD_UNIT_L TUL0 ON (TMS.FSTOREUNITID = TUL0.FUNITID AND TUL0.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON ( t1.FBASEUNITID = TUL1.FUNITID AND TUL1.FLOCALEID = 2052)
+--Ԥ
+LEFT OUTER JOIN (
+ SELECT TLKE.FSUPPLYINTERID finventryid,SUM (TLKE.FBASEQTY) fbaselockqty, SUM (TLKE.FSECQTY) fseclockqty FROM T_PLN_RESERVELINKENTRY TLKE
+ INNER JOIN T_PLN_RESERVELINK TLKH ON TLKE.FID = TLKH.FID
+ WHERE (TLKE.FSUPPLYFORMID = 'STK_Inventory' AND TLKE.FLINKTYPE = '4' )
+ GROUP BY TLKE.FSUPPLYINTERID) tsub ON t1.FID = TSUB.FINVENTRYID
+WHERE -- TM.FUSEORGID =100038 and
+((t1.FBASEQTY <> 0) OR (t1.FSECQTY <> 0)) and
+ TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp)
+and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tempINVSum'))
+BEGIN
+ drop table #tempINVSum
+END
+ --insert into #Stock_Status_temp ( ,ϴ , , ͺ,λ, ֿ, ֿ, ֿ ,ʱ,ÿ)
+ SELECT ,fnumber, , ͺ, min(λ)λ,min(FSTOCKID)FSTOCKID ,min( FStockNumber)FStockNumber,
+ min(ֿ)ֿ, sum(λ)λ ,sum(ÿ) ÿ
+ into #tempINVSum FROM #tempINV
+ group BY ,fnumber, , ͺ
+
+
+
+ --ʱ,ÿ
+UPDATE t1 set t1.п=isnull(t2.ÿ,0)--,t1.ֿ=t2.FSTOCKID, t1.ֿ=t2.ֿ, t1.ֿ=t2.FStockNumber
+FROM #Stock_Status_temp t1
+inner join #tempINVSum t2 on t1.=t2.
+
+
+
+ --SELECT * FROM #Stock_Status_temp
+
+--; (Ԥ)
+--************************Ԥ************************
+
+UPDATE t1 set t1.Ԥ=0 FROM #Stock_Status_temp t1
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder'))
+BEGIN
+ drop table #tmppoorder
+END
+--ɹ
+SELECT ddd.FPurchaseOrgID fstockorgid, ddd.FBILLNO ɹ ,ddd.FID AS ɹ , B.FENTRYID ɹ¼,b.FMATERIALID ,
+ ddd.FDATE fdate, TMS.FSTOCKID ֿ, FBASEUNITQTY ɹ ,
+FREMAINSTOCKINQTY ʣ,FBASESTOCKINQTY ,ddd.FCLOSEDATE
+into #tmppoorder
+--SELECT *
+FROM t_pur_poorderentry b
+INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID)-- AND FbusinessType NOT IN ('ZCCG', 'FYCG'))
+INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid
+INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid
+LEFT OUTER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID
+WHERE ddd.FCANCELSTATUS='A'--AND ddd.fdocumentStatus = 'C'
+and b.FMRPCLOSESTATUS='A' and ddd.FCLOSESTATUS='A'
+and b.FMRPTERMINATESTATUS='A'
+and ddd.FBILLTYPEID not in( '6d01d059713d42a28bb976c90a121142','65445fa4673247')--ί
+
+
+ --ddd.FBILLNO ='CGDD000005'
+--AND (ddd.FDATE <=@FEDate)
+--AND (ddd.FCLOSEDATE>@FSDate or isnull(ddd.FCLOSEDATE,'')=''
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder1'))
+BEGIN
+ drop table #tmppoorder1
+END
+--º;
+
+SELECT ,ɹ, ʣ,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ
+into #tmppoorder1 FROM #tmppoorder B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder3'))
+BEGIN
+ drop table #tmppoorder3
+END
+
+SELECT ,ɹ, ʣ, ֿ
+into #tmppoorder3
+FROM #tmppoorder1 B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID )--TM.FUSEORGID =1 and
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp)
+--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder2'))
+BEGIN
+ drop table #tmppoorder2 END
+
+SELECT ,sum(ɹ)ɹ, sum(ʣ)ʣ , min(ֿ )ֿ
+into #tmppoorder2 FROM #tmppoorder3
+group BY
+--group BY ֿ,
+ORDER BY
+
+
+--;
+UPDATE t1 set t1.Ԥ=isnull(t2.ʣ,0)
+FROM #Stock_Status_temp t1
+inner join #tmppoorder2 t2 on t1.=t2.
+
+
+ --
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo'))
+BEGIN
+ drop table #tmpMo
+END
+--
+
+SELECT (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼,
+ME.FMATERIALID , (ME.FBASEUNITQTY) AS ,
+MA.FSTOCKINQUAQTY AS ,MQ.FBASENOSTOCKINQTY AS ʣ , TMS.FSTOCKID ֿ
+into #tmpMo
+FROM T_PRD_MO MO
+inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID
+inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+inner JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID
+LEFT OUTER JOIN T_BD_MATERIALSTOCK TMS ON ME.FMATERIALID = TMS.FMATERIALID
+WHERE MO.FCANCELSTATUS='A' and MA.FSTATUS in (2,3,4)
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo1'))
+BEGIN
+ drop table #tmpMo1
+END
+--º
+
+SELECT ,, ʣ,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ
+into #tmpMo1 FROM #tmpMo B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo2'))
+BEGIN
+ drop table #tmpMo2
+END
+
+SELECT ,, ʣ, ֿ
+into #tmpMo2
+FROM #tmpMo1 B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID )--TM.FUSEORGID =1 and
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp)
+--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo3'))
+BEGIN
+ drop table #tmpMo3
+END
+
+SELECT ,sum()ɹ, sum(ʣ)ʣ , min(ֿ )ֿ
+into #tmpMo3 FROM #tmpMo2
+group BY
+--group BY ֿ,
+ORDER BY
+
+
+--Ԥ
+UPDATE t1 set t1.Ԥ=isnull(t2.ʣ,0)
+FROM #Stock_Status_temp t1
+inner join #tmpMo3 t2 on t1.=t2.
+
+
+
+ --ί
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo'))
+BEGIN
+ drop table #tmpSubMo
+END
+--ί
+
+SELECT (MO.FBILLNO) ί ,(MO.FID) ί,(ME.FENTRYID) ί¼,
+ME.FMATERIALID , (MA.FBASEUNITQTY) AS ,
+MA.FBASESTOCKINQTY AS ,MA.FBASENOSTOCKINQTY AS ʣ , TMS.FSTOCKID ֿ
+into #tmpSubMo
+FROM T_SUB_REQORDER MO
+inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
+inner JOIN T_SUB_REQORDERENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+LEFT OUTER JOIN T_BD_MATERIALSTOCK TMS ON ME.FMATERIALID = TMS.FMATERIALID
+WHERE MO.FCANCELSTATUS='A' and ME.FSTATUS in (2,3,4)
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo1'))
+BEGIN
+ drop table #tmpSubMo1
+END
+--º
+
+SELECT ,, ʣ,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ
+into #tmpSubMo1 FROM #tmpSubMo B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo2'))
+BEGIN
+ drop table #tmpSubMo2
+END
+
+SELECT ,, ʣ, ֿ
+into #tmpSubMo2
+FROM #tmpSubMo1 B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID )--TM.FUSEORGID =1 and
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp)
+--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo3'))
+BEGIN
+ drop table #tmpSubMo3
+END
+
+SELECT ,sum()ɹ, sum(ʣ)ʣ , min(ֿ )ֿ
+into #tmpSubMo3 FROM #tmpSubMo2
+group BY
+--group BY ֿ,
+ORDER BY
+
+
+--Ԥ
+UPDATE t1 set t1.Ԥ=isnull(t1.Ԥ,0)+t2.ʣ
+FROM #Stock_Status_temp t1
+inner join #tmpSubMo3 t2 on t1.=t2.
+
+
+ --*******************END*****Ԥ************************
+
+
+--깺δת(δPR)
+--*******************strat*****************************
+
+--ѯвɹ
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ'))
+BEGIN
+ drop table #TMPREQ
+END
+
+ SELECT TS.FAPPLICATIONORGID fstockorgid, TS.FBILLNO 뵥 ,TS.FID AS ,TSE.FENTRYID ¼,TSE.FMATERIALID ,
+ ISNULL(TSE.FAUXPROPID, 0) FAUXPROPID, TS.FAPPLICATIONDATE fdate, TMS.FSTOCKID ֿ,
+ FBASEUNITQTY ,TSEF.FREMAINQTY AS δת
+ INTO #TMPREQ
+FROM T_PUR_REQUISITION TS
+INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
+LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+WHERE 1=1 AND (FCLOSESTATUS='A')--AND (TS.FDOCUMENTSTATUS IN ('C'))
+and TSE.FMRPTERMINATESTATUS='A'
+ AND (TS.FCANCELSTATUS IN ('A')) and TSE.FMRPCLOSESTATUS='A'
+
+
+
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ1'))
+BEGIN
+ drop table #TMPREQ1
+END
+--º
+
+SELECT ,, δת,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ
+into #TMPREQ1 FROM #TMPREQ B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ3'))
+BEGIN
+ drop table #TMPREQ3
+END
+
+SELECT ,, δת,FAUXPROPID, ֿ
+into #TMPREQ3 FROM #TMPREQ1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp)
+--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ2'))
+BEGIN
+ drop table #TMPREQ2
+END
+
+
+SELECT ,sum(), sum(δת)δת --,FAUXPROPID, ֿ
+into #TMPREQ2 FROM #TMPREQ3
+group BY
+ORDER BY
+
+--깺δת
+UPDATE t1 set t1.δPR=isnull(t2.δת,0)
+FROM #Stock_Status_temp t1
+inner join #TMPREQ2 t2 on t1.=t2.
+--and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+ -----ѯίⶩ
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB'))
+BEGIN
+ drop table #TMPREQSUB
+END
+
+ SELECT MO.FSubOrgId fstockorgid, MO.FBILLNO 뵥 ,MO.FID AS ,ME.FENTRYID ¼,ME.FMATERIALID ,
+ ISNULL(ME.FAUXPROPID, 0) FAUXPROPID, MO.FDATE fdate, TMS.FSTOCKID ֿ,
+ FBASEUNITQTY ,(ME.FQTY-FBasePurSelQty) AS δת
+
+ INTO #TMPREQSUB
+FROM T_SUB_REQORDER MO
+inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
+inner JOIN T_SUB_REQORDERENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+LEFT JOIN T_BD_MATERIAL TM ON ME.FMATERIALID=TM.FMATERIALID
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' --AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
+AND ME.FSTATUS in (2,3,4) AND ISNULL(FCLOSEDATE,'')=''--δ
+ and (ME.FQTY-FBasePurSelQty)>0
+
+
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB1'))
+BEGIN
+ drop table #TMPREQSUB1
+END
+--º
+
+SELECT ,, δת,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ
+into #TMPREQSUB1 FROM #TMPREQSUB B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB2'))
+BEGIN
+ drop table #TMPREQSUB2
+END
+
+SELECT ,, δת,FAUXPROPID, ֿ
+into #TMPREQSUB2 FROM #TMPREQSUB1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp)
+--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB3'))
+BEGIN
+ drop table #TMPREQSUB3
+END
+
+
+SELECT ,sum(), sum(δת)δת --,FAUXPROPID, ֿ
+into #TMPREQSUB3 FROM #TMPREQSUB2
+group BY
+ORDER BY
+
+--깺δת
+UPDATE t1 set t1.δPR=isnull(t1.δPR,0)+isnull(t2.δת,0)
+FROM #Stock_Status_temp t1
+inner join #TMPREQSUB3 t2 on t1.=t2.
+--and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+ --****************************δPR***********************************************
+
+ --SELECT * FROM #Stock_Status_temp
+
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM'))
+BEGIN
+ drop table #tmpPPBOM
+END
+
+--ѷ)
+--*****************δSTART***********************************
+
+--ѯֹ֮ǰ
+--δ ѷ)
+SELECT (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼,
+PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼,
+isnull(PC.FSTOCKID,0) ֿ,(PE.FMUSTQTY) AS Ӧ,
+PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ ,PQ.FNOPICKEDQTY AS δ
+into #tmpPPBOM
+FROM T_PRD_MO MO
+inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID
+inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+inner join T_PRD_PPBOM PP on PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID
+inner join T_PRD_PPBOMENTRY PE on PP.FID =PE.FID
+left join T_PRD_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+left join T_PRD_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+--WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
+WHERE 1=1 AND MO.FCANCELSTATUS='A' --AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
+AND MA.FSTATUS in(2,3,4) AND ISNULL(FCLOSEDATE,'')=''--δ
+
+--ºδ
+--SELECT * FROM #tmpPPBOM
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM1'))
+BEGIN
+ drop table #tmpPPBOM1
+END
+
+SELECT ,Ӧ, δ AS 'δ',case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ
+into #tmpPPBOM1 FROM #tmpPPBOM B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM3'))
+BEGIN
+ drop table #tmpPPBOM3
+END
+
+ SELECT ,Ӧ, δ, ֿ
+into #tmpPPBOM3 FROM #tmpPPBOM1 B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp)
+--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM2'))
+BEGIN
+ drop table #tmpPPBOM2
+END
+
+
+SELECT ,sum(Ӧ)Ӧ, sum(δ)δ ,min(ֿ) ֿ
+into #tmpPPBOM2 FROM #tmpPPBOM3
+group BY
+ORDER BY
+
+--δ
+UPDATE t1 set t1.ѷ=t2.δ
+FROM #Stock_Status_temp t1
+inner join #tmpPPBOM2 t2 on t1.=t2.
+--and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+
+
+ --ίδ ѷ)
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM'))
+BEGIN
+ drop table #tmpSubBOM
+END
+
+
+SELECT (MO.FBILLNO) ίⵥ ,(MO.FID) ί,(ME.FENTRYID) ίⵥ¼,
+PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼,
+isnull(PC.FSTOCKID,0) ֿ,(PE.FMUSTQTY) AS Ӧ,
+PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ ,PQ.FNOPICKEDQTY AS δ
+into #tmpSubBOM
+FROM T_SUB_REQORDER MO
+inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
+inner JOIN T_SUB_REQORDERENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+inner join T_SUB_PPBOM PP on PP.FSUBREQID=MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID
+inner join T_SUB_PPBOMENTRY PE on PP.FID =PE.FID
+left join T_SUB_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+left join T_SUB_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+--WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
+WHERE 1=1 AND MO.FCANCELSTATUS='A' --AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
+AND ME.FSTATUS in (2,3,4) AND ISNULL(FCLOSEDATE,'')=''--δ
+
+
+--ºδ
+--SELECT * FROM #tmpPPBOM
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM1'))
+BEGIN
+ drop table #tmpSubBOM1
+END
+
+SELECT ,Ӧ, δ AS 'δ',case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ
+into #tmpSubBOM1 FROM #tmpSubBOM B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM2'))
+BEGIN
+ drop table #tmpSubBOM2
+END
+
+SELECT ,Ӧ, δ, ֿ
+into #tmpSubBOM2 FROM #tmpSubBOM1 B
+left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp)
+--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+ if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM3'))
+BEGIN
+ drop table #tmpSubBOM3
+END
+
+
+SELECT ,sum(Ӧ)Ӧ, sum(δ)δ ,min(ֿ) ֿ
+into #tmpSubBOM3 FROM #tmpSubBOM2
+group BY
+ORDER BY
+
+--δ
+UPDATE t1 set t1.ѷ=ISNULL(t1.ѷ,0)+ISNULL(t2.δ,0)
+FROM #Stock_Status_temp t1
+inner join #tmpSubBOM3 t2 on t1.=t2.
+--and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID
+
+
+--*****************δEND***********************************
+----ݾ
+
+
+ --۶δ
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal'))
+BEGIN
+ drop table #tmpSal
+END
+--۶δ
+
+SELECT (A.FBILLNO) AS ۵,(A.FID) ,(B.FENTRYID) ۷¼ ,(B.FSEQ) ,
+B.FMATERIALID AS ,B.FBASEUNITQTY ,
+(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS δ,FBaseReturnQty,
+isnull(B.FSTOCKID,0) ֿ, A.FDATE
+into #tmpSal
+FROM T_SAL_ORDER A
+inner join T_SAL_ORDERENTRY B on A.FID =B.FID
+left join T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID
+left join T_SAL_ORDERENTRY_E D on D.FID=B.FID AND D.FENTRYID =B.FENTRYID
+
+WHERE 1=1 AND A.FCANCELSTATUS='A'and B.FMRPCLOSESTATUS='A' AND (A.FCLOSESTATUS='A')
+ORDER BY A.FDATE ,A.FID,B.FENTRYID,B.FMATERIALID
+
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal1'))
+BEGIN
+ drop table #tmpSal1
+END
+--ºδ
+SELECT ,, δ,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ
+into #tmpSal1 FROM #tmpSal B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ )
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal2'))
+BEGIN
+ drop table #tmpSal2
+END
+
+
+SELECT ,, δ, ֿ
+into #tmpSal2 FROM #tmpSal1 B
+left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ )
+WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp)
+-- and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
+ORDER BY
+
+
+
+if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal3'))
+BEGIN
+ drop table #tmpSal3
+END
+
+
+SELECT ,sum(), sum(δ)δ , min(ֿ) ֿ
+into #tmpSal3 FROM #tmpSal2
+group BY
+ORDER BY
+
+
+--۶δ
+UPDATE t1 set t1.ѷ=isnull(t1.ѷ,0)+t2.δ
+--SELECT t2.* ,t1.ϴ
+FROM #Stock_Status_temp t1
+inner join #tmpSal3 t2 on t1.=t2.
+
+
+
+ --*******************END*ѷ***************
+
+UPDATE t1 set t1.λ=isnull(TUL1.FNAME,'')
+--SELECT t1.λ,isnull(TUL1.FNAME,'')
+FROM #Stock_Status_temp t1
+inner join t_bd_material TM on t1.=TM.FMATERIALID -- TM.FUSEORGID =1 and
+inner join T_BD_MATERIAL_L n on TM.FMATERIALID =n.FMATERIALID and n.FLOCALEID =2052
+inner join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+inner join T_BD_MATERIALBASE TMB on TM.FMATERIALID = TMB.FMATERIALID
+
+LEFT OUTER JOIN T_BD_UNIT TUS ON TMS.FSTOREUNITID = TUS.FUNITID
+LEFT OUTER JOIN T_BD_UNIT_L TUL0 ON (TMS.FSTOREUNITID = TUL0.FUNITID AND TUL0.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON ( TMB.FBASEUNITID = TUL1.FUNITID AND TUL1.FLOCALEID = 2052)
+--where isnull(t1.λ,'')=''
+--***********************************
+
+ UPDATE t1 set t1.=(case when TMB.FERPCLSID=1 THEN '' when TMB.FERPCLSID=2 THEN ''
+ when TMB.FERPCLSID=3 THEN 'ί' when TMB.FERPCLSID=5 THEN '' else ''END)
+ FROM #Stock_Status_temp t1
+ inner join t_bd_material TM on t1.=TM.FMATERIALID
+ inner join T_BD_MATERIALBASE TMB on TM.FMATERIALID = TMB.FMATERIALID
+ where TMB.FERPCLSID<>5
+ --SELECT * ,۽=п+Ԥ-ѷ
+
+ update t1 set t1.۽= isnull(п,0)+isnull(Ԥ,0)-isnull(ѷ,0) FROM #Stock_Status_temp t1
+
+ -- F_PKGR_Brand Ʒ L/T F_UKUB_EPdate F_PKGR_HUMIDITYSENSITIVITY ɹԱ
+
+update t0 set t0.ɹԱ =isnull(TB.FName,''),t0.FLT =isnull(t1.FFixLeadTime,'0') ,
+t0.Ʒ = ''
+FROM #Stock_Status_temp t0
+inner join t_bd_material TM on t0.=TM.FMATERIALID
+LEFT OUTER JOIN t_BD_MaterialPlan t1 on t1.FMATERIALID=TM.FMATERIALID
+LEFT OUTER JOIN t_bd_MaterialPurchase TP on TP.FMATERIALID=TM.FMATERIALID
+LEFT OUTER JOIN V_BD_BUYER_L TB ON (TP.FPurchaserId = TB.fid )
+
+
+ --SELECT FLT,*
+ --update t1 set t1.FLT=(case when (isnull(t1.FLT1,'')='0'or isnull(t1.FLT1,'')='') then 0 else t1.FLT1 END)
+ --FROM #Stock_Status_temp t1 where FLT1=''
+
+ --delete FROM #Stock_Status_temp where TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A'
+ --TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A'AND
+
+if @Flag = 1
+BEGIN
+ SELECT ,,ϴ, , ͺ,, λ,isnull(ȫ,0) ȫ,isnull(п,0) п, isnull(Ԥ,0)Ԥ ,
+ isnull(δPR,0) δPR ,isnull(ѷ,0) ѷ ,isnull(۽,0)۽ , isnull(ƻԱ, '')AS ƻԱ ,
+ isnull(Ʒ, '')AS Ʒ , isnull(FLT,0)AS FLT , isnull(ɹԱ, '')AS ɹԱ
+ FROM #Stock_Status_temp t1
+ --inner join t_bd_material TM on t1.=TM.FMATERIALID
+where isnull(۽,0) < 0
+ORDER BY ϴ
+END
+else
+BEGIN
+ SELECT
+
+ ,
+ ,ϴ
+ ,
+ ,ͺ
+ ,
+ ,λ
+ ,isnull(ȫ,0)ȫ
+ ,isnull(п,0) AS п
+ ,isnull(Ԥ,0) Ԥ
+ ,isnull(δPR,0) δPR
+ ,isnull(ѷ,0) ѷ
+ ,isnull(۽,0)۽
+ ,isnull(ƻԱ, '') AS ƻԱ
+ ,isnull(Ʒ, '') AS Ʒ
+ ,isnull(FLT, 0) AS FLT
+ ,isnull(ɹԱ, '') AS ɹԱ
+ FROM #Stock_Status_temp t1
+ --inner join t_bd_material TM on t1.=TM.FMATERIALID
+ --where TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A' --=129833
+ ORDER BY ϴ
+END
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/测试赋值基础资料.py b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/测试赋值基础资料.py
new file mode 100644
index 0000000..31521bb
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/测试赋值基础资料.py
@@ -0,0 +1,61 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.DataEntity")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.Contracts")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+
+from System import *
+from Kingdee.BOS.App.Data import*
+from Kingdee.BOS.Core.DynamicForm import*
+from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import*
+from Kingdee.BOS.Core.List.PlugIn import*
+from Kingdee.BOS.Orm.DataEntity import*
+from Kingdee.BOS.Util import*
+from Kingdee.BOS import*
+
+def AfterCreateNewData(e):
+ details = this.View.BusinessInfo.GetEntity("FTreeEntity")
+ if details != None:
+ entrys = this.View.Model.GetEntityDataObject(details)
+ if entrys != None and entrys.Count > 0:
+ rowIndex = 0
+ count = entrys.Count
+ while count > rowIndex:
+ this.View.InvokeFieldUpdateService("FBomId",rowIndex)
+ rowIndex += 1
+ # for entry in entrys:
+ # rowIndex = this.View.Model.GetRowIndex(details, entry)
+ # this.View.InvokeFieldUpdateService("FBomId",rowIndex)
+ # bomObj = entry["BomId"]
+ # mjdzdzId = bomObj["FMJDZDZID"]
+ # this.View.Model.SetValue("FMJDZDZID",mjdzdzId)
+
+def BarItemClick(e):
+ if e.BarItemKey == "tbUpdMJCPDZDZID":
+ MJIDObj = this.View.Model.GetValue("F_PAEZ_BASE")
+ MATERIALID = this.View.Model.GetValue("FMATERIALID")
+ mjId = MJIDObj["id"]
+ cpId = MATERIALID["id"]
+ sql ="""/*dialect*/
+select
+ cast(b.FBZCL as real) as FBZCL
+ ,a.F_PAEZ_TEXT
+ ,a.F_PAEZ_TEXT1
+ ,b.Fjtbz
+ ,b.Fmjsmzq
+ ,b.Fmjqs
+ ,a.FMJID
+ ,b.FCPID
+ ,b.FEntryId
+from hw_mjcpdzb a
+ inner join hw_mjcpdzbs b on a.FID = b.FID
+where a.FMJID = {0} and b.FCPID={1}
+""".format(mjId,cpId)
+ # raise Exception(sql)
+ dbList = DBUtils.ExecuteDynamicObject(this.Context,sql);
+ if dbList.Count > 0:
+ data = dbList[0]
+ this.View.Model.SetValue("FMJDZDZID",data["FEntryId"])
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/类1.py b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/类1.py
new file mode 100644
index 0000000..a8458f1
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/类1.py
@@ -0,0 +1,36 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("System.Data")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+clr.AddReference("HW.ProductionMateralsPlugIn")
+
+from Kingdee.BOS import *
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Bill import *
+from Kingdee.BOS.Core.Report import *
+from System import *
+from System.Data import *
+from System.Net import *
+from System.Text import *
+from Kingdee.BOS.App.Data import *
+from Kingdee.BOS.Core.List.PlugIn import *
+from Kingdee.BOS.Core.List.PlugIn.Args import *
+from HW.ProductionMateralsPlugIn import *
+
+def CellDbClick(e):
+ e.Cancel = True
+ fldKey = e.Header.FieldName;
+ # 嵥
+ if fldKey == "FBILLNO":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex
+ _moId = value=("{0}").format(tab.Rows[row-1]["FID"]);
+ if _moId != None and str(_moId) != "" and str(_moId) != "0":
+ _ShowForm("PRD_PPBOM", _moId)
+
+def _ShowForm(_fromId, _pkVal, _operationStatus = OperationStatus.VIEW ,_openStyleShowType = ShowType.Floating):
+ TableOperationPlugInEx.ShowForm(_fromId,_pkVal)
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/类2.py b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/类2.py
new file mode 100644
index 0000000..863b2da
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/ProductionMaterialsReport/类2.py
@@ -0,0 +1,206 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.DataEntity")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.Contracts")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+clr.AddReference("ExtensionMethods")
+# clr.AddReference("K3CExttensionMethods")
+from Kingdee.BOS import*
+from Kingdee.BOS.Contracts import*
+from Kingdee.BOS.Contracts.Report import*
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Metadata import *
+from Kingdee.BOS.Core.Report import*
+from Kingdee.BOS.Core.SqlBuilder import*
+from Kingdee.BOS.Core.Enums import *
+from Kingdee.BOS.App.Data import*
+from Kingdee.BOS.Orm.DataEntity import*
+from System import *
+from System.ComponentModel import*
+from System.Collections.Generic import*
+from System.Text import*
+from System.Threading.Tasks import*
+from Kingdee.BOS.ServiceHelper import *
+from ExtensionMethods import BooleanExtension as boolObjEx
+from ExtensionMethods import DateTimeExtension as dateObjEx
+from ExtensionMethods import ObjectExtension as objEx
+from ExtensionMethods import StringExtension as strObjEx
+# from K3CExttensionMethods import ListHeaderExtension as lhObjEx
+
+#初始化,在此事件中设置报表的属性全局参数
+def Initialize():
+ this.ReportProperty.ReportType= ReportType.REPORTTYPE_NORMAL;
+ this.IsCreateTempTableByPlugin=True;
+ #是否支持分组汇总,在后面GetSummaryColumnInfo方法中添加汇总字段,
+ #要在BOS中过滤框的汇总页签配置汇总信息,可参考:简单账表分组汇总设置
+ this.ReportProperty.IsGroupSummary=True;
+ #IsUIDesignerColumns=False,表示报表的列通过插件控制,后续在GetReportHeaders中构建列头
+ #需要在BOS过滤框的显示隐藏列中维护,字段标识与临时表字段保持一致
+ #账表列头构建更多详细说明参考:账表列构建
+ this.ReportProperty.IsUIDesignerColumns=False;
+ this.ReportProperty.PrimaryKeyFieldName = "FID";
+
+#创建临时报表,正式进入账表取数sql拼接并取数,把账表取数结果放到创建的临时表中
+#如果参数(this.IsCreateTempTableByPlugin=True),即调用BuilderReportSqlAndTempTable构建临时表
+#否则调用以下3个接口,完成账表取数逻辑的sql指令即:BuilderSelectFieldSQL、BuilderTempTableOrderBySQL、BuilderFormWhereSQL
+#rptfilter:账表参数,可以从这里获取过滤条件等
+#tableName:系统自动创建的账表临时表名,具备唯一性,最终报表页面展示的数据绑定此临时表,所以最终的报表结果数据要写入此临时表中
+def BuilderReportSqlAndTempTable(rptfilter,tableName):
+ #baseDataTemp=filter.BaseDataTempTable;#基础资料临时表;若设置了数据范围权限,该表会把根据数据范围过滤出来的内码存入临时表;
+ #循环获取所有基础资料数据范围的数据,可用来拼接到报表SQL里面实现数据权限过滤
+ #for b in baseDataTemp:
+ # baseType=b.BaseDataFormId;#基础资料FormId
+ # PKFldName=b.PKFieldName;#临时表中基础资料主键字段名,例如,FORGID
+ # baseTempTab=b.TempTable;#基础资料数据范围临时表名
+ #filterStr=filter.FilterParameter.FilterString;#过滤框条件页签过滤表达式
+ #过滤框快捷过滤页签的实体数据包,从这里面获取自定义的过滤字段值
+ #DynamicObject类型,用前面讲的实体数据包操作方式取值,用绑定实体属性标识
+ custFilter = rptfilter.FilterParameter.CustomFilter;
+ if(custFilter == None):
+ return;
+ whereSql = "";
+
+ _lcId = this.Context.UserLocale.LCID;
+
+ #raise Exception(str.Join(',',fldsSql));#调试时,可用此行代码,看看构建的动态列SQL对不对
+ #组装最终写入报表临时表的SQL
+ #注意!!!: 最终临时表一定要有FIDENTITYID ,要从1开始,且不重复 ,不断号,不然前台显示空白!!!!
+ sql=("""/*dialect*/
+DECLARE @LCID int
+SET @LCID = {1}
+
+SELECT
+ ROW_NUMBER() OVER(ORDER BY t0.FDATE DESC,t0.FID DESC,t0e.FSEQ ASC) AS FIDENTITYID--1.行号
+ ,t0.FID
+ ,t0e.FSEQ
+ ,t0e.FENTRYID
+ ,t0.FDATE --2.单据日期
+ ,t1.FBILLNO AS 'FPPBOMBILLNO'--3.生产投料单号
+ ,t1.FID AS 'FPPBOMID'
+ ,t0e.FSALEORDERNO --4.销售订单号
+ ,t0.FBILLNO--7.生产任务单号
+ ,t0e.FPLANSTARTDATE--38.计划开工日期
+ ,t0e.FPLANFINISHDATE--39.计划完工日期
+ ,t0e.FQTY--12.产品生产数量
+ ,t0e.FYIELDRATE
+ ,t0e.FROUTINGID
+ ,t0e.FMATERIALID AS 'ProMaterialId'
+ ,t0e.FUNITID AS 'PrdUnitId'
+ ,t1e.FENTRYID AS 'PPBOMENTRYID'
+ ,t1e.FMATERIALID
+ ,(t1e.FNUMERATOR / t1e.FDENOMINATOR) AS 'FUnitNeedQty' --18.物料单位用量
+ ,t1e.FNEEDQTY --22.物料总需求
+ ,t1e.FUNITID
+ ,t1e.FBOMENTRYID
+ ,t1e.FSTDQTY --标准用量 --29.标准数量
+ ,t1e.FMUSTQTY --应发数量 --30.应发数量
+ ,t1.FWORKSHOPID
+ ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN '主产品' WHEN 2 THEN '联产品' WHEN 3 THEN '副产品' ELSE '' END) AS 'PRODUCTTYPE'--43.生产类型
+ ,(CASE t0e_a.FSTATUS WHEN 6 THEN '已结案'ELSE '' END) AS 'StatusIs6'--45.生产任务单结案否
+ ,(CASE t1.FDOCUMENTSTATUS WHEN 'A' THEN '创建' WHEN 'B' THEN '审核中' WHEN 'C' THEN '已审核' WHEN 'D' THEN '重新审核' WHEN 'Z' THEN '暂存' ELSE '' END) AS 'PPBOMStatus'--46.生产投料单状态
+ INTO #TmpTable0
+FROM T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ INNER JOIN T_PRD_PPBOM t1 on t1.FMOENTRYID = t0e.FENTRYID AND t1.FMOID = t0e.FID
+ INNER JOIN T_PRD_PPBOMENTRY t1e on t1e.FID = t1.FID
+WHERE 1 = 1 {2}
+SELECT
+ tt.*
+ ,t0e_q.FBASEWIPQTY --23.当前在制品数量
+ ,t0e_q.FPICKEDQTY --27.已领数量
+ ,t0e_q.FNOPICKEDQTY --28.未领数量
+ ,t0e_l.FMEMO --31.备注
+ ,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32.损耗数量
+ ,t0e_q.FSCRAPQTY --33.报废数量
+ ,t0e_q.FREPICKEDQTY --37.补料数量
+ ,t0e_q.FINVENTORYQTY
+ ,t0e_c.FSTOCKID
+ ,t0e_c.FSTOCKLOCID
+ INTO #TmpTable1
+FROM #TmpTable0 tt
+ LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --生产用料清单数量拆分表
+ LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID
+
+SELECT tt.*
+ ,t1.FMNEMONICCODE AS 'ProMnemonicCode'--6.助记码
+ ,t1.FNUMBER AS 'ProNumber'--8.产品编码
+ ,t1_l.FNAME AS 'ProName'--9.产品名称
+ ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.产品规格型号
+ ,t2_l.FNAME AS 'ProUnitName'--11.产品单位
+ ,t3.FNUMBER AS 'MaterialNumber'--8.物料编码
+ ,t3_l.FNAME AS 'MaterialName'--9.物料名称
+ ,t3_l.FSPECIFICATION AS 'MaterialSpecification'--10.物料规格型号
+ ,t4_l.FNAME AS 'MaterialUnitName'--11.物料单位
+ ,(CASE t3.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.物料来源
+ ,t6_l.FNAME AS 'WORKSHOPNAME' --44.生产车间
+ ,t3.FMASTERID
+ ,t3.FUSEORGID
+ ,t7_l.FMEMO AS 'BOMMEMO' --42.BOM备注项
+ ,t5_l.FNAME AS 'FSTOCKNAME'
+ INTO #TmpTable2
+FROM #TmpTable1 tt
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.ProMaterialId
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.ProMaterialId AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.PrdUnitId AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_MATERIAL t3 ON t3.FMATERIALID = tt.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t3_l ON t3_l.FMATERIALID = tt.FMATERIALID AND t3_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t4_l ON t4_l.FUNITID = tt.FUNITID AND t4_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L t5_l ON t5_l.FSTOCKID = tt.FSTOCKID AND t5_l.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L t6_l on t6_l.FDEPTID = tt.FWORKSHOPID AND t6_l.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t7_l ON t7_l.FENTRYID = tt.FBOMENTRYID AND t7_l.FLOCALEID = @LCID
+SELECT tt.*
+ ,t1.FBASEQTY
+ ,t2_l.FNAME AS 'ROUTENAME'
+ ,t3e_A.FBASEINVQTY
+ ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.欠料
+ ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.物料在途数
+ ,t3e_A.FPURCHASEQTY --采购在途数量
+ ,t3e_A.FREQUISITIONQTY --采购申请在途数量
+ ,6 AS 'LOWEST6'
+ ,t3e_A.FREQUISITIONQTY - t3e_A.FPURCHASEQTY AS 'PR_C2PO_QTY'
+ ,0 AS 'ToBeInspectQTY'
+ ,0 AS 'PlanThrowInQty'
+ ,'' AS 'PlanThrowInDate'
+ ,'' AS 'CubicleName'
+ ,'' AS 'OTHERMEMO'
+ INTO {0}
+FROM #TmpTable2 tt
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t1 on t1.FMATERIALID = tt.FMASTERID AND t1.FSTOCKORGID = tt.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = tt.FROUTINGID AND t2_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FPPBOMENTRYID = tt.PPBOMENTRYID AND t3e.FMATERIALIDSUB = tt.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
+
+DROP TABLE #TmpTable0
+DROP TABLE #TmpTable1
+DROP TABLE #TmpTable2
+ """).format(tableName,_lcId,whereSql);
+ # raise Exception(sql);#可以通过此方法弹出Sql语句进行调试验证
+ DBUtils.Execute(this.Context,sql);#执行SQL,将报表数据写入临时表
+
+#构建账表列头
+def GetReportHeaders(rptfilter):
+ header = ReportHeader();
+ localEid = this.Context.UserLocale.LCID;#获取当前语言环境代码,中文为2052
+
+ header.AddChild("FBILLNO", LocaleValue("生产任务单号", localEid), 0)
+
+ return header;
+
+#报表关闭触发,通常在此处清理报表过程产生的临时表
+def CloseReport():
+ this.DropTempTable();
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/产品Bom层级缺料分析查询表/HW.PRD_LackAnalyeBill.Python.py b/03.珠海市汇威精密制造有限公司/HW.Python/产品Bom层级缺料分析查询表/HW.PRD_LackAnalyeBill.Python.py
new file mode 100644
index 0000000..3c1231b
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/产品Bom层级缺料分析查询表/HW.PRD_LackAnalyeBill.Python.py
@@ -0,0 +1,305 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.DataEntity")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.Contracts")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+clr.AddReference("ExtensionMethods")
+
+from Kingdee.BOS import*
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Metadata.EntityElement import *
+from Kingdee.BOS.Orm.DataEntity import*
+from Kingdee.BOS.Orm.Metadata.DataEntity import*
+from Kingdee.BOS.Core.DynamicForm.PlugIn import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
+from System import *
+from System.ComponentModel import*
+from System.Collections.Generic import*
+from System.Text import*
+from Kingdee.BOS.ServiceHelper import *
+from ExtensionMethods import BooleanExtension as boolObjEx
+from ExtensionMethods import DateTimeExtension as dateObjEx
+from ExtensionMethods import ObjectExtension as objEx
+from ExtensionMethods import StringExtension as strObjEx
+
+def ButtonClick(e):
+ if e.Key.EndsWith("FToAnalyzeBtn", StringComparison.OrdinalIgnoreCase):
+ proEntity = this.View.Model.BusinessInfo.GetEntryEntity("FAnalyzeProEntity")
+ proRows = this.View.Model.GetEntityDataObject(proEntity)
+ this.View.Model.BeginIniti()
+ if proRows != None and proRows.Count > 0:
+ sDate = this.View.Model.GetValue("FBillSDate")
+ eDate = this.View.Model.GetValue("FBillEDate")
+ proStrList = List[str]();
+
+ for row in proRows:
+ proStrList.Add("SELECT {0} AS 'MATERIALID' ,{1} needNum".format(row["FAnalyzeProId"]["Id"],row["FAnalyzeProQty"]))
+
+ sql = """/*dialect*/
+DECLARE @needNum DECIMAL(23,6)
+,@sDate varchar(100)
+,@eDate varchar(100)
+SET @needNum = 20
+SET @sDate = '{1}'
+SET @eDate = '{2}'
+
+SELECT tt.MATERIALID,SUM(tt.needNum) needNum
+INTO #TMPMATERIALNUM
+FROM ({0}) tt
+GROUP BY tt.MATERIALID
+
+SELECT t0.FMASTERID
+ ,t0.FMATERIALID
+ ,t0.FNUMBER
+ ,t0.FUSEORGID
+ ,t1.needNum AS 'ProMaterialQty'
+ INTO #ProMaterial
+FROM T_BD_MATERIAL t0
+ INNER JOIN #TMPMATERIALNUM t1 on t0.FMATERIALID = t1.MATERIALID
+WHERE t0.FDOCUMENTSTATUS = 'C'
+
+CREATE TABLE #MATERIAL_LACKANALYE(
+ FIDENTITYID INT NOT NULL DEFAULT 0
+ ,MATERIALID INT NOT NULL DEFAULT 0
+ ,BomId int
+ ,ϴ varchar(100) DEFAULT ''
+ , varchar(100) DEFAULT ''
+ ,_ decimal(23,6) default 0
+ ,_ÿ decimal(23,6) DEFAULT 0
+ ,_ʵ decimal(23,6) DEFAULT 0
+ ,BOMLEVEL int
+ ,IsProduct int
+ ,ϸϼ int
+)
+
+SELECT t0.FMATERIALID
+ ,ISNULL(t3.sumQTY,0) AS ʱ
+ ,ISNULL(t4.sumBASENOPICKEDQTY,0) AS δ
+ ,ISNULL(t5.sumNoStockInQty,0) AS
+ ,CASE WHEN CHARINDEX('TC',t0.FNUMBER) = 1 THEN 0 ELSE ISNULL(t1. - t1.δ,0) END AS 'ܶ'
+ ,ISNULL(t2. - t2.,0) AS ';'
+ ,(ISNULL(t3.sumQTY,0) - ISNULL(t4.sumBASENOPICKEDQTY,0) + ISNULL(t5.sumNoStockInQty,0) - ISNULL(t1. - t1.δ,0) + ISNULL(t2. - t2.,0)) AS 'ÿ'
+ ,ISNULL(t6.,0) AS ''
+ INTO #Material_Stock_Statu
+FROM T_BD_MATERIAL t0
+ LEFT JOIN (
+ SELECT
+ t0e.FMATERIALID,SUM(t0e.FQTY) AS ''
+ ,SUM((t0e_r.FBASEREMAINOUTQTY + t0e_r.FBASERETURNQTY)) AS 'δ'
+ FROM T_SAL_ORDER t0
+ INNER JOIN T_SAL_ORDERENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_SAL_ORDERENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e_r.FENTRYID = t0e.FENTRYID
+ WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FCANCELSTATUS = 'A'
+ AND t0.FCLOSESTATUS = 'A'
+ AND t0.FDATE between @sDate AND @eDate
+ GROUP BY t0e.FMATERIALID
+ ) t1 on t1.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT
+ t0e.FMATERIALID,SUM(t0e.FQTY) AS ''
+ ,SUM(t0e_r.FREMAINSTOCKINQTY) AS 'ʣ'
+ ,SUM(t0e_r.FBASESTOCKINQTY) AS ''
+ FROM T_PUR_POORDER t0
+ INNER JOIN T_PUR_POORDERENTRY t0e on t0.FID = t0e.FID AND t0.FBUSINESSTYPE != 'ZCCG' AND t0.FBUSINESSTYPE != 'FYCG'
+ INNER JOIN T_PUR_POORDERENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e_r.FENTRYID = t0e.FENTRYID
+ WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FCANCELSTATUS = 'A'
+ AND t0.FCLOSESTATUS = 'A'
+ AND t0.FDATE BETWEEN @sDate AND @eDate
+ GROUP BY t0e.FMATERIALID
+ ) t2 on t2.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT tt0.FMATERIALID,tt0.FSTOCKORGID,SUM(tt0.FBASEQTY) AS sumQTY
+ FROM T_STK_INVENTORY tt0
+ GROUP BY tt0.FMATERIALID,tt0.FSTOCKORGID
+ ) t3 on t3.FMATERIALID = t0.FMASTERID AND t3.FSTOCKORGID = t0.FUSEORGID
+ LEFT JOIN (
+ SELECT t0e.FMATERIALID,SUM(t0e_q.FNOPICKEDQTY) sumBASENOPICKEDQTY
+ FROM T_PRD_PPBOMENTRY t0e
+ INNER JOIN T_PRD_PPBOMENTRY_Q t0e_q on t0e.FENTRYID = t0e_q.FENTRYID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FMOENTRYID
+ WHERE t0e_a.FSTATUS = 4
+ GROUP BY t0e.FMATERIALID
+ ) t4 on t4.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT t0e.FMATERIALID,SUM(t0e_q.FNOSTOCKINQTY) AS sumNoStockInQty
+ FROM T_PRD_MOENTRY t0e
+ INNER JOIN T_PRD_MOENTRY_Q t0e_q on t0e.FENTRYID = t0e_q.FENTRYID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ WHERE t0e_a.FSTATUS = 4
+ GROUP BY t0e.FMATERIALID
+ ) t5 on t5.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT t0e.FMATERIALID,SUM(FBASEUNITQTY-FINSTOCKBASEQTY + FRETURNBASEQTY) AS ''
+ FROM T_PUR_RECEIVE t0
+ INNER JOIN T_PUR_RECEIVEENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PUR_RECEIVEENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e.FENTRYID = t0e_r.FENTRYID
+ INNER JOIN T_PUR_RECEIVEENTRY_S t0e_s on t0e.FID = t0e_s.FID AND t0e.FENTRYID = t0e_s.FENTRYID
+ WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FCANCELSTATUS = 'A'
+ AND t0.FCLOSESTATUS = 'A'
+ AND t0.FDATE BETWEEN @sDate AND @eDate
+ GROUP BY t0e.FMATERIALID
+ ) t6 on t6.FMATERIALID = t0.FMATERIALID
+WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FFORBIDSTATUS = 'A'
+
+UPDATE #Material_Stock_Statu SET ÿ = ʱ - δ - ܶ + + ;
+
+INSERT INTO #MATERIAL_LACKANALYE
+SELECT
+ ROW_NUMBER() OVER (ORDER BY t0.FMATERIALID)
+ ,t0.FMATERIALID
+ ,t1.FID
+ ,t2.FNUMBER
+ ,t2_l.FNAME
+ ,t0.ProMaterialQty
+ ,t3.ÿ
+
+ ,(CASE CHARINDEX('TC',t0.FNUMBER)
+ WHEN 1 THEN 0 - t0.ProMaterialQty
+ ELSE (CASE
+ WHEN t3.ÿ > t0.ProMaterialQty THEN 0
+ ELSE t3.ÿ - t0.ProMaterialQty
+ END)
+ END)
+ ,0
+ ,1
+ ,1
+FROM #ProMaterial t0
+ INNER JOIN (
+ SELECT tt.FID,tt.FMATERIALID,ROW_NUMBER() OVER (PARTITION BY tt.FMATERIALID ORDER BY tt.FID DESC) AS 'rn' FROM T_ENG_BOM tt
+ WHERE 1 = 1 AND tt.FDOCUMENTSTATUS = 'C' AND tt.FFORBIDSTATUS = 'A'
+ ) t1 on t0.FMATERIALID = t1.FMATERIALID AND t1.rn = 1 --AND t0.FUSEORGID = t1.FUSEORGID
+ INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t1.FMATERIALID
+ INNER JOIN T_BD_MATERIAL_L t2_l on t2_l.FMATERIALID = t1.FMATERIALID AND t2_l.FLOCALEID = 2052
+ LEFT JOIN #Material_Stock_Statu t3 on t1.FMATERIALID = t3.FMATERIALID
+WHERE 1 = 1
+ORDER BY
+ t0.FNUMBER
+
+DECLARE @num INT,@level int,@LoopCount int
+SET @num = 1
+SET @level =0
+SET @LoopCount = 0;
+
+WHILE (@num <> 0 AND @LoopCount < 10)
+BEGIN
+ INSERT INTO #MATERIAL_LACKANALYE(MaterialId,BomId,_
+ ,_ÿ,_ʵ
+ ,BOMLEVEL,ϸϼ,IsProduct)
+ SELECT
+ tt.FMATERIALID
+ ,ISNULL(t2.FID,0) AS BomId
+ ,ABS(tt._)
+ ,t3.ÿ
+ ,(CASE
+ WHEN t3.ÿ > (ABS(tt._) + ISNULL(t4.ϼ_ʵ,0)) THEN 0
+ ELSE t3.ÿ - (ABS(tt._) + ISNULL(t4.ϼ_ʵ,0))
+ END) AS 'ʵ'
+ ,@level + 1
+ ,tt.co
+ ,0
+ FROM (
+ SELECT
+ t1.FMATERIALID,count(1) co
+ ,SUM(t0._ʵ * (t1.FNUMERATOR / t1.FDENOMINATOR)) AS '_'
+ FROM
+ #MATERIAL_LACKANALYE t0
+ INNER JOIN T_ENG_BOMCHILD t1 on t0.BomId = t1.FID
+ WHERE 1 = 1
+ AND t0.BOMLEVEL = @level
+ GROUP BY t1.FMATERIALID
+ ) tt
+ OUTER APPLY (
+ SELECT TOP 1 tt3.FID,tt3.FNUMBER,tt3.FMATERIALID
+ FROM T_ENG_BOM tt3
+ WHERE 1 = 1 AND tt3.FDOCUMENTSTATUS = 'C' AND tt3.FFORBIDSTATUS = 'A'
+ AND tt.FMATERIALID = tt3.FMATERIALID
+ ORDER BY tt3.FID DESC
+ ) t2
+ LEFT JOIN #Material_Stock_Statu t3 on t3.FMATERIALID = tt.FMATERIALID
+ OUTER APPLY (
+ SELECT tt4.MaterialId
+ ,ABS(SUM(tt4._ʵ)) AS 'ϼ_ʵ'
+ FROM #MATERIAL_LACKANALYE tt4
+ WHERE tt4.MaterialId = tt.FMATERIALID
+ GROUP BY tt4.MaterialId
+ ) t4
+ SET @num = @@ROWCOUNT
+ SET @level += 1
+ SET @LoopCount += 1
+END
+
+SELECT t0.MATERIALID,t0._,t0._ʵ,t0.IsProduct,t1.FNUMBER,t1_l.FNAME
+ ,ROW_NUMBER() OVER (ORDER BY t0.BOMLEVEL,t1.FNumber) 'FIDENTITYID'
+ ,t2.ʱ AS '_ʱ',t2.δ AS '_δ',t2. AS '_'
+ ,t2.ܶ AS '_ܶ',t2.; AS '_;',t2.ÿ AS '_ÿ',t2. AS '_'
+FROM (
+ SELECT t0.MATERIALID
+ ,SUM(t0._ʵ) AS '_ʵ'
+ ,SUM(t0._) AS '_'
+ ,MAX(t0.BOMLEVEL) AS 'BOMLEVEL'
+ ,MAX(t0.IsProduct) AS 'IsProduct'
+ FROM #MATERIAL_LACKANALYE t0
+ GROUP BY t0.MATERIALID
+) t0
+ INNER JOIN T_BD_MATERIAL t1 on t0.MaterialId = t1.FMATERIALID
+ INNER JOIN T_BD_MATERIAL_L t1_l on t0.MaterialId = t1_l.FMATERIALID AND t1_l.FLOCALEID = 2052
+ INNER JOIN #Material_Stock_Statu t2 on t2.FMATERIALID = t0.MATERIALID
+
+DROP TABLE #ProMaterial
+DROP TABLE #TMPMATERIALNUM
+DROP TABLE #MATERIAL_LACKANALYE
+DROP TABLE #Material_Stock_Statu
+""".format(" union all ".join(proStrList),sDate,eDate)
+
+ proRows.Clear()
+ # this.View.UpdateView("FAnalyzeProEntity");
+ materialEntity = this.View.Model.BillBusinessInfo.GetEntryEntity("FAnalyzeMaterialEntity")
+ materialRows = this.View.Model.GetEntityDataObject(materialEntity)
+ materialRows.Clear()
+ res = DBServiceHelper.ExecuteDynamicObject(this.Context,sql)
+
+ if res != None and res.Count > 0:
+ for item in res:
+ row = DynamicObject(materialEntity.DynamicObjectType)
+ isPro = item["IsProduct"]
+ matId = item["MaterialId"]
+ matFld = this.View.BillBusinessInfo.GetField("FAnalyzeMaterialId");#ֶԪԪ,ʹֶαʶ
+ matObj = BusinessDataServiceHelper.LoadSingle(this.Context, matId, matFld.RefFormDynamicObjectType)
+ row["FAnalyzeMaterialId_Id"] = matId
+ row["FAnalyzeMaterialId"] = matObj
+ row["FAnalyzeMQty"] = item["_"]
+ row["FStkQty"] = item["_ʱ"]
+ row["FNotIssueQty"] = item["_δ"]
+ row["FInMakingQty"] = item["_"]
+ row["FOrderMQty"] = item["_ܶ"]
+ row["FInTransitQty"] = item["_;"]
+ row["FAvailableQty"] = item["_ÿ"]
+ row["FActualQty"] = item["_ʵ"]
+ row["FDetectionQty"] = item["_"]
+ row["FIsAnalyzeMaterial"] = False if isPro == 1 else True
+ materialRows.Add(row)
+ if isPro == 1:
+ proRow = DynamicObject(proEntity.DynamicObjectType)
+ proRow["FAnalyzeProId_Id"] = matId
+ proRow["FAnalyzeProId"] = matObj
+ proRow["FAnalyzeProQty"] = item["_"]
+ proRow["FProStkQty"] = item["_ʱ"]
+ proRow["FProNotIssueQty"] = item["_δ"]
+ proRow["FProInMakingQty"] = item["_"]
+ proRow["FProOrderQty"] = item["_ܶ"]
+ proRow["FProInTransitQty"] = item["_;"]
+ proRow["FProAvailableQty"] = item["_ÿ"]
+ proRow["FProActualQty"] = item["_ʵ"]
+ proRows.Add(proRow);
+
+ this.View.UpdateView("FAnalyzeProEntity")
+ this.View.UpdateView("FAnalyzeMaterialEntity")
+
+ this.View.Model.EndIniti();
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/产品Bom层级缺料分析查询表/sql/缺料分析单数据查询.sql b/03.珠海市汇威精密制造有限公司/HW.Python/产品Bom层级缺料分析查询表/sql/缺料分析单数据查询.sql
new file mode 100644
index 0000000..0d6f697
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/产品Bom层级缺料分析查询表/sql/缺料分析单数据查询.sql
@@ -0,0 +1,54 @@
+SELECT
+ t0.FID
+ ,t0.FBILLNO
+ ,t0e.FMATERIALID
+ ,t0e.FMUSTQTY
+ ,t0e.FPICKEDQTY
+ ,t0e.FINVQTY
+ ,t0e.FCANPICKEDQTY
+ ,t0e.FLACKQTY
+ ,t0e.FBOMID
+ ,t0e.FSUMMARYID
+ --,t0e.*
+FROM T_PRD_LACKANALYSEBILL t0
+ INNER JOIN T_PRD_LACKENTRY t0e on t0e.FID = t0.FID
+--where t0.FID = 101203
+SELECT
+ --t0.FID
+ --,t0.FBILLNO
+ --,t0e.FMATERIALID
+ --,t0e.FSELECTED
+ --,t0e.FQTY
+ t0e.*
+FROM T_PRD_LACKANALYSEBILL t0
+ INNER JOIN T_PRD_LACKMOENTRY t0e on t0.FID = t0e.FID
+
+SELECT t1.FNUMBER,t0e_a.FSUMMARYID,*
+FROM T_PRD_PMPPBOMENTRY t0e
+ INNER JOIN T_PRD_PMPPBOMENTRY_A t0e_a on t0e.FENTRYID = t0e_a.FENTRYID
+ INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0e.FMATERIALIDSUB
+where t0e.FID = 101203
+ --AND t1.FNUMBER = 'TSB074H000108O'
+
+
+--MERGE INTO T_PRD_LACKENTRY U1 USING(
+--SELECT S.FID,S.FSUMMARYID,S.FENTRYID,S1.FMOBILLNO
+--FROM (
+-- SELECT T1.FID,T2.FSUMMARYID,MIN(T1.FENTRYID) AS FENTRYID
+-- FROM T_PRD_PMPPBOMENTRY T1
+-- INNER JOIN T_PRD_PMPPBOMENTRY_A T2 ON T1.FENTRYID = T2.FENTRYID --and t1.fid = @lFId
+-- GROUP BY T1.FID,T2.FSUMMARYID) S
+-- INNER JOIN T_PRD_PMPPBOMENTRY S1 ON S.FENTRYID = S1.FENTRYID
+-- INNER JOIN T_PRD_PMPPBOMENTRY_A S2 ON S.FENTRYID = S2.FENTRYID) U2 ON U1.FID = U2.FID AND U1.FSUMMARYID = U2.FSUMMARYID
+--WHEN MATCHED
+--THEN UPDATE SET U1.F_ISVCODE_MOBILLNO = U2.FMOBILLNO;
+
+--SELECT S.FID,S.FSUMMARYID,S.FENTRYID,S1.FMOBILLNO
+--FROM (
+-- SELECT T1.FID,T2.FSUMMARYID,MIN(T1.FENTRYID) AS FENTRYID
+-- FROM T_PRD_PMPPBOMENTRY T1
+-- INNER JOIN T_PRD_PMPPBOMENTRY_A T2 ON T1.FENTRYID = T2.FENTRYID --and t1.fid = @lFId
+-- GROUP BY T1.FID,T2.FSUMMARYID) S
+-- INNER JOIN T_PRD_PMPPBOMENTRY S1 ON S.FENTRYID = S1.FENTRYID
+-- INNER JOIN T_PRD_PMPPBOMENTRY_A S2 ON S.FENTRYID = S2.FENTRYID
+
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/产品Bom层级缺料分析查询表/sql/缺料分析单数据查询V1.sql b/03.珠海市汇威精密制造有限公司/HW.Python/产品Bom层级缺料分析查询表/sql/缺料分析单数据查询V1.sql
new file mode 100644
index 0000000..80678c5
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/产品Bom层级缺料分析查询表/sql/缺料分析单数据查询V1.sql
@@ -0,0 +1,256 @@
+DECLARE @needNum DECIMAL(23,6)
+,@sDate varchar(100)
+,@eDate varchar(100)
+,@dbName varchar(100)
+SET @needNum = 20
+SET @sDate = '2024-02-24'
+SET @eDate = '2024-03-24'
+
+select @dbName = db_name()
+
+SELECT tt.MATERIALID,SUM(tt.needNum) needNum
+INTO #TMPMATERIALNUM
+FROM (SELECT
+ CASE @dbName WHEN 'AIS20231110222743' THEN 101521 ELSE 782449 END AS 'MATERIALID'
+ ,10 needNum
+ Union
+ SELECT
+ CASE @dbName WHEN 'AIS20231110222743' THEN 101530 ELSE 808372 END AS 'MATERIALID'
+ ,30 needNum
+) tt
+GROUP BY tt.MATERIALID
+
+
+SELECT t0.FMASTERID
+ ,t0.FMATERIALID
+ ,t0.FNUMBER
+ ,t0.FUSEORGID
+ ,t1.needNum AS 'ProMaterialQty'
+ INTO #ProMaterial
+FROM T_BD_MATERIAL t0
+ INNER JOIN #TMPMATERIALNUM t1 on t0.FMATERIALID = t1.MATERIALID
+WHERE t0.FDOCUMENTSTATUS = 'C'
+
+CREATE TABLE #MATERIAL_LACKANALYE(
+ FIDENTITYID int not null default 0
+ ,MaterialId int not null default 0
+ ,BomId int
+ ,物料代码 varchar(100) default ''
+ ,物料名称 varchar(100) default ''
+ ,物料_分析需求数 decimal(23,6) default 0
+ ,物料_即时库存 decimal(23,6) default 0
+ ,物料_未发数 decimal(23,6) default 0
+ ,物料_在制数 decimal(23,6) default 0
+ ,物料_受订量 decimal(23,6) default 0
+ ,物料_在途量 decimal(23,6) default 0
+ ,物料_可用库存数 decimal(23,6) default 0
+ ,物料_实际需求数 decimal(23,6) default 0
+ ,物料_进检量 decimal(23,6) default 0
+ ,BOMLEVEL int
+ ,IsProduct int
+ ,物料个数分组合计 int
+)
+
+SELECT t0.FMATERIALID
+ ,ISNULL(t3.sumQTY,0) AS 即时库存
+ ,ISNULL(t4.sumBASENOPICKEDQTY,0) AS 未发数
+ ,ISNULL(t5.sumNoStockInQty,0) AS 在制数
+ ,CASE WHEN CHARINDEX('TC',t0.FNUMBER) = 1 THEN 0 ELSE ISNULL(t1.数量 - t1.未发数量,0) END AS '受订量'
+ --,ISNULL(t2.数量 - t2.入库数量,0) AS '在途量'
+ ,ISNULL(t2.剩余入库数量,0) AS '在途量'
+ ,0 AS '可用库存'
+ ,ISNULL(t6.进检量,0) AS '进检量'
+ INTO #Material_Stock_Statu
+FROM T_BD_MATERIAL t0
+ LEFT JOIN (
+ SELECT
+ t0e.FMATERIALID,SUM(t0e.FQTY) AS '数量'
+ ,SUM((t0e_r.FBASEREMAINOUTQTY + t0e_r.FBASERETURNQTY)) AS '未发数量'
+ FROM T_SAL_ORDER t0
+ INNER JOIN T_SAL_ORDERENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_SAL_ORDERENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e_r.FENTRYID = t0e.FENTRYID
+ WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FCANCELSTATUS = 'A'
+ AND t0.FCLOSESTATUS = 'A'
+ AND t0.FDATE between @sDate AND @eDate
+ GROUP BY t0e.FMATERIALID
+ ) t1 on t1.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT
+ t0e.FMATERIALID,SUM(t0e.FQTY) AS '数量'
+ ,SUM(t0e_r.FREMAINSTOCKINQTY - ISNULL(t1.sumBaseInQty,0) + ISNULL(t2.sumBaseInQty,0)) AS '剩余入库数量'
+ ,SUM(t0e_r.FBASESTOCKINQTY) AS '入库数量'
+ FROM T_PUR_POORDER t0
+ INNER JOIN T_PUR_POORDERENTRY t0e on t0.FID = t0e.FID AND t0.FBUSINESSTYPE != 'ZCCG' AND t0.FBUSINESSTYPE != 'FYCG'
+ INNER JOIN T_PUR_POORDERENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e_r.FENTRYID = t0e.FENTRYID
+ LEFT JOIN (
+ SELECT t1e.FMATERIALID,SUM(t1e.FBASEUNITQTY) sumBaseInQty
+ FROM T_PUR_MRB t1
+ INNER JOIN T_PUR_MRBENTRY t1e on t1.FID = t1e.FID
+ INNER JOIN T_PUR_MRBFIN t1f on t1f.FID = t1.FID
+ WHERE t1.FDOCUMENTSTATUS = 'C'
+ AND t1.FCANCELSTATUS = 'A'
+ AND t1f.FISGENFORIOS = 0
+ AND t1.FDATE > @eDate
+ GROUP BY t1e.FMATERIALID
+ ) t1 on t1.FMATERIALID = t0e.FMATERIALID
+ LEFT JOIN (
+ SELECT t0e.FMATERIALID,SUM(t0e.FBASEUNITQTY) sumBaseInQty
+ FROM T_STK_INSTOCK t0
+ INNER JOIN T_STK_INSTOCKENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_STK_INSTOCKENTRY_F t0e_f on t0e_f.FID = t0e.FID AND t0e_f.FENTRYID = t0e.FENTRYID
+ INNER JOIN T_STK_INSTOCKENTRY_LK t0e_lk on t0e_lk.FENTRYID = t0e.FENTRYID
+ INNER JOIN T_STK_INSTOCKFIN t0f on t0e.FID = t0f.FID
+ WHERE 1 = 1
+ AND t0.FCANCELSTATUS = 'A'
+ AND t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FDATE > @eDate
+ GROUP BY t0e.FMATERIALID
+ ) t2 on t2.FMATERIALID = t0e.FMATERIALID
+ WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FCANCELSTATUS = 'A'
+ AND t0.FCLOSESTATUS = 'A'
+ AND t0.FDATE BETWEEN @sDate AND @eDate
+ GROUP BY t0e.FMATERIALID
+ ) t2 on t2.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT tt0.FMATERIALID,tt0.FSTOCKORGID,SUM(tt0.FBASEQTY) AS sumQTY
+ FROM T_STK_INVENTORY tt0
+ GROUP BY tt0.FMATERIALID,tt0.FSTOCKORGID
+ ) t3 on t3.FMATERIALID = t0.FMASTERID AND t3.FSTOCKORGID = t0.FUSEORGID
+ LEFT JOIN (
+ SELECT t0e.FMATERIALID,SUM(t0e_q.FNOPICKEDQTY) sumBASENOPICKEDQTY
+ FROM T_PRD_PPBOMENTRY t0e
+ INNER JOIN T_PRD_PPBOMENTRY_Q t0e_q on t0e.FENTRYID = t0e_q.FENTRYID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FMOENTRYID
+ WHERE t0e_a.FSTATUS = 4
+ GROUP BY t0e.FMATERIALID
+ ) t4 on t4.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT t0e.FMATERIALID,SUM(t0e_q.FNOSTOCKINQTY) AS sumNoStockInQty
+ FROM T_PRD_MOENTRY t0e
+ INNER JOIN T_PRD_MOENTRY_Q t0e_q on t0e.FENTRYID = t0e_q.FENTRYID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ WHERE t0e_a.FSTATUS = 4
+ GROUP BY t0e.FMATERIALID
+ ) t5 on t5.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN (
+ SELECT t0e.FMATERIALID,SUM(FBASEUNITQTY-FINSTOCKBASEQTY + FRETURNBASEQTY) AS '进检量'
+ FROM T_PUR_RECEIVE t0
+ INNER JOIN T_PUR_RECEIVEENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PUR_RECEIVEENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e.FENTRYID = t0e_r.FENTRYID
+ INNER JOIN T_PUR_RECEIVEENTRY_S t0e_s on t0e.FID = t0e_s.FID AND t0e.FENTRYID = t0e_s.FENTRYID
+ WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FCANCELSTATUS = 'A'
+ AND t0.FCLOSESTATUS = 'A'
+ AND t0.FDATE BETWEEN @sDate AND @eDate
+ GROUP BY t0e.FMATERIALID
+ ) t6 on t6.FMATERIALID = t0.FMATERIALID
+WHERE t0.FDOCUMENTSTATUS = 'C'
+ AND t0.FFORBIDSTATUS = 'A'
+
+UPDATE #Material_Stock_Statu SET 可用库存 = 即时库存 - 未发数 - 受订量 + 在制数 + 在途量
+INSERT INTO #MATERIAL_LACKANALYE
+SELECT
+ ROW_NUMBER() OVER (ORDER BY t0.FMATERIALID)
+ ,t0.FMATERIALID
+ ,t1.FID
+ ,t2.FNUMBER
+ ,t2_l.FNAME
+ ,t0.ProMaterialQty
+ ,t3.即时库存
+ ,t3.未发数
+ ,t3.在制数
+ ,t3.受订量
+ ,t3.在途量
+ ,t3.可用库存
+ ,(CASE
+ WHEN t3.可用库存 > t0.ProMaterialQty THEN 0
+ ELSE t3.可用库存 - t0.ProMaterialQty
+ END)
+ ,t3.进检量
+ ,0
+ ,1
+ ,1
+FROM #ProMaterial t0
+ INNER JOIN (
+ SELECT tt.FID,tt.FMATERIALID,ROW_NUMBER() OVER (PARTITION BY tt.FMATERIALID ORDER BY tt.FID DESC) AS 'rn' FROM T_ENG_BOM tt
+ WHERE 1 = 1
+ AND tt.FDOCUMENTSTATUS = 'C'
+ AND tt.FFORBIDSTATUS = 'A'
+ ) t1 on t0.FMATERIALID = t1.FMATERIALID AND t1.rn = 1 --AND t0.FUSEORGID = t1.FUSEORGID
+ INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t1.FMATERIALID
+ INNER JOIN T_BD_MATERIAL_L t2_l on t2_l.FMATERIALID = t1.FMATERIALID AND t2_l.FLOCALEID = 2052
+ LEFT JOIN #Material_Stock_Statu t3 on t1.FMATERIALID = t3.FMATERIALID
+WHERE 1 = 1
+ORDER BY
+ t0.FNUMBER
+
+DECLARE @num INT,@level int,@LoopCount int
+SET @num = 1
+SET @level =0
+SET @LoopCount = 0;
+
+WHILE (@num <> 0 AND @LoopCount < 10)
+BEGIN
+ INSERT INTO #MATERIAL_LACKANALYE(MaterialId,BomId,物料_分析需求数,物料_即时库存,物料_未发数,物料_在制数,物料_受订量,物料_在途量,物料_可用库存数,物料_实际需求数,物料_进检量,BOMLEVEL,物料个数分组合计,IsProduct)
+ SELECT
+ tt.FMATERIALID
+ ,ISNULL(t2.FID,0) AS BomId
+ ,ABS(tt.汇总_分析需求数)
+ ,t3.即时库存 ,t3.未发数
+ ,t3.在制数
+ ,t3.受订量
+ ,t3.在途量
+ ,t3.可用库存
+ ,(CASE
+ WHEN t3.可用库存 > (ABS(tt.汇总_分析需求数) + ISNULL(t4.上级_实际需求数,0)) THEN 0
+ ELSE t3.可用库存 - (ABS(tt.汇总_分析需求数) + ISNULL(t4.上级_实际需求数,0))
+ END) AS '实际需求数'
+ ,t3.进检量
+ ,@level + 1
+ ,tt.co
+ ,0
+ FROM (
+ SELECT
+ t1.FMATERIALID
+ ,SUM(t0.物料_实际需求数 * (t1.FNUMERATOR / t1.FDENOMINATOR)) AS '汇总_分析需求数'
+ ,count(1) co
+ FROM
+ #MATERIAL_LACKANALYE t0
+ INNER JOIN T_ENG_BOMCHILD t1 on t0.BomId = t1.FID
+ WHERE 1 = 1
+ AND t0.BOMLEVEL = @level
+ GROUP BY t1.FMATERIALID
+ ) tt
+ LEFT JOIN (
+ SELECT tt3.FID,tt3.FNUMBER,tt3.FMATERIALID,ROW_NUMBER() OVER (PARTITION BY tt3.FMATERIALID ORDER BY tt3.FID DESC) AS 'rn'
+ FROM T_ENG_BOM tt3
+ WHERE 1 = 1 AND tt3.FDOCUMENTSTATUS = 'C' AND tt3.FFORBIDSTATUS = 'A'
+ ) t2 ON t2.rn = 1 AND tt.FMATERIALID = t2.FMATERIALID
+ LEFT JOIN #Material_Stock_Statu t3 on t3.FMATERIALID = tt.FMATERIALID
+ LEFT JOIN (
+ SELECT tt.MaterialId,sum(tt.物料_实际需求数) AS '上级_实际需求数' FROM #MATERIAL_LACKANALYE tt GROUP BY tt.MaterialId
+ ) t4 on t4.MaterialId = tt.FMATERIALID
+
+ SET @num = @@ROWCOUNT
+ SET @level += 1
+ SET @LoopCount += 1
+
+END
+
+UPDATE t0 SET
+ t0.物料代码 = t1.FNUMBER
+ ,t0.物料名称 = t1_l.FNAME
+ ,t0.FIDENTITYID = t2.rn
+FROM #MATERIAL_LACKANALYE t0
+ INNER JOIN T_BD_MATERIAL t1 on t0.MaterialId = t1.FMATERIALID
+ INNER JOIN T_BD_MATERIAL_L t1_l on t0.MaterialId = t1_l.FMATERIALID AND t1_l.FLOCALEID = 2052
+ INNER JOIN (SELECT MaterialId,ROW_NUMBER() OVER (ORDER BY bomlevel,物料代码) 'rn' FROM #MATERIAL_LACKANALYE) t2 on t0.MaterialId = t2.MaterialId
+
+SELECT t0.* FROM #MATERIAL_LACKANALYE t0 ORDER BY FIDENTITYID
+
+DROP TABLE #ProMaterial
+DROP TABLE #TMPMATERIALNUM
+DROP TABLE #MATERIAL_LACKANALYE
+DROP TABLE #Material_Stock_Statu
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/生产投料bom层级展示.py b/03.珠海市汇威精密制造有限公司/HW.Python/生产投料bom层级展示.py
new file mode 100644
index 0000000..a743537
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/生产投料bom层级展示.py
@@ -0,0 +1,3385 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.DataEntity")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.Contracts")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+clr.AddReference("ExtensionMethods")
+# clr.AddReference("K3CExttensionMethods")
+from Kingdee.BOS import*
+from Kingdee.BOS.Contracts import*
+from Kingdee.BOS.Contracts.Report import*
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Metadata import *
+from Kingdee.BOS.Core.Report import*
+from Kingdee.BOS.Core.SqlBuilder import*
+from Kingdee.BOS.Core.Enums import *
+from Kingdee.BOS.App.Data import*
+from Kingdee.BOS.Orm.DataEntity import*
+from System import *
+from System.ComponentModel import*
+from System.Collections.Generic import*
+from System.Text import*
+from System.Threading.Tasks import*
+from Kingdee.BOS.ServiceHelper import *
+from ExtensionMethods import BooleanExtension as boolObjEx
+from ExtensionMethods import DateTimeExtension as dateObjEx
+from ExtensionMethods import ObjectExtension as objEx
+from ExtensionMethods import StringExtension as strObjEx
+# from K3CExttensionMethods import ListHeaderExtension as lhObjEx
+
+#初始化,在此事件中设置报表的属性全局参数
+def Initialize():
+ this.ReportProperty.ReportType= ReportType.REPORTTYPE_NORMAL;
+ this.IsCreateTempTableByPlugin = True;
+ #是否支持分组汇总,在后面GetSummaryColumnInfo方法中添加汇总字段,
+ #要在BOS中过滤框的汇总页签配置汇总信息,可参考:简单账表分组汇总设置
+ this.ReportProperty.IsGroupSummary = True;
+ #IsUIDesignerColumns=False,表示报表的列通过插件控制,后续在GetReportHeaders中构建列头
+ #需要在BOS过滤框的显示隐藏列中维护,字段标识与临时表字段保持一致
+ #账表列头构建更多详细说明参考:账表列构建
+ this.ReportProperty.IsUIDesignerColumns = False;
+ # this.ReportProperty.PrimaryKeyFieldName = "FID";
+ this.ReportProperty.IdentityFieldName = "FIDENTITYID";
+
+#创建临时报表,正式进入账表取数sql拼接并取数,把账表取数结果放到创建的临时表中
+#如果参数(this.IsCreateTempTableByPlugin=True),即调用BuilderReportSqlAndTempTable构建临时表
+#否则调用以下3个接口,完成账表取数逻辑的sql指令即:BuilderSelectFieldSQL、BuilderTempTableOrderBySQL、BuilderFormWhereSQL
+#rptfilter:账表参数,可以从这里获取过滤条件等
+#tableName:系统自动创建的账表临时表名,具备唯一性,最终报表页面展示的数据绑定此临时表,所以最终的报表结果数据要写入此临时表中
+def BuilderReportSqlAndTempTable(rptfilter,tableName):
+ #baseDataTemp=filter.BaseDataTempTable;#基础资料临时表;若设置了数据范围权限,该表会把根据数据范围过滤出来的内码存入临时表;
+ #循环获取所有基础资料数据范围的数据,可用来拼接到报表SQL里面实现数据权限过滤
+ #for b in baseDataTemp:
+ # baseType=b.BaseDataFormId;#基础资料FormId
+ # PKFldName=b.PKFieldName;#临时表中基础资料主键字段名,例如,FORGID
+ # baseTempTab=b.TempTable;#基础资料数据范围临时表名
+ #filterStr=filter.FilterParameter.FilterString;#过滤框条件页签过滤表达式
+ #过滤框快捷过滤页签的实体数据包,从这里面获取自定义的过滤字段值
+ #DynamicObject类型,用前面讲的实体数据包操作方式取值,用绑定实体属性标识
+ custFilter = rptfilter.FilterParameter.CustomFilter;
+ if(custFilter == None):
+ return;
+ whereSql = "";
+ # 产品id
+ _proMaterialId = custFilter["ProMaterialId"];
+ if _proMaterialId != None:
+ whereSql = whereSql + " AND t0e.FMATERIALID = " + str(_proMaterialId["Id"]);
+
+ # # 物料id
+ # _materialId = custFilter["MaterialId"];
+ # if(_materialId != None):
+ # whereSql = whereSql + " AND t1e.FMATERIALID = " + str(_materialId["Id"]);
+
+ # 生产任务单
+ _billNo = objEx.ToSafeString(custFilter["BILLNO"]);
+ if _billNo != "":
+ whereSql = whereSql + " AND t0.FBILLNO = '{0}'".format(_billNo);
+
+ # # 生产投料单
+ # _PPBomBillNo = objEx.ToSafeString(custFilter["PPBOMBILLNO"]);
+ # if(_PPBomBillNo != ""):
+ # whereSql = whereSql + " AND t1.FBILLNO LIKE '%{0}%'".format(_PPBomBillNo);
+
+ # 销售订单
+ _saleOrderNo = objEx.ToSafeString(custFilter["SALEORDERNO"]);
+ if _saleOrderNo != "":
+ whereSql = whereSql + " AND t0e.FSALEORDERNO = '{0}'".format(_saleOrderNo);
+
+ _FSStock = ""
+ _stockSelectCollection = custFilter["FStockSelect"]
+ if _stockSelectCollection != None and _stockSelectCollection.Count > 0:
+ idList = set(map(lambda x : str(x["FStockSelect_Id"]), _stockSelectCollection))
+ _FSStock = " AND FSTOCKID IN ({0}) ".format(",".join(idList))
+
+ _F_ora_SDate = objEx.ToSafeString(custFilter["F_ora_SDate"])
+ _F_ora_EDate = objEx.ToSafeString(custFilter["F_ora_EDate"])
+
+ if whereSql == "":
+ return
+ # whereSql = "AND t0e.FMATERIALID = 0"
+
+ _lcId = this.Context.UserLocale.LCID;
+ #raise Exception(str.Join(',',fldsSql));#调试时,可用此行代码,看看构建的动态列SQL对不对
+ #组装最终写入报表临时表的SQL
+ #注意!!!: 最终临时表一定要有FIDENTITYID ,要从1开始,且不重复 ,不断号,不然前台显示空白!!!!
+ sql=("""/*dialect*/
+declare
+ @moBillNo varchar(100)
+ ,@salesBillNo varchar(100)
+ ,@ProMateriaNumber varchar(100)
+ ,@startMaterialId int
+ ,@endMaterialId int
+ ,@FSDate varchar (30)
+ ,@FEDate varchar (30)
+ ,@FSStock varchar (max)
+ ,@FName varchar (255)
+ ,@localId int
+SET @moBillNo =''
+SET @salesBillNo =''
+SET @moBillNo = 0
+SET @moBillNo = 0
+SET @FSDate = '{3}'
+SET @FEDate = '{4}'
+SET @FSStock =''
+SET @FName = ''
+SET @localId = {1}
+
+SET nocount ON
+declare @FCloseBALDate varchar (30)
+declare @FClosedate varchar (30)
+
+--查询起始日期最近一期的期末结存日期
+If NOT Exists(
+ SELECT FORGID,MAX(FCLOSEDATE) fclosedate
+ FROM T_STK_CLOSEPROFILE
+ WHERE FORGID IN (1) AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate)
+ GROUP BY FORGID)
+BEGIN
+ SET @FClosedate='2020-01-01'
+ SET @FCloseBALDate='2020-01-01'
+ --print @FClosedate
+END
+ELSE
+BEGIN
+ --SET @FClosedate='2019-07-01'
+ SELECT @FClosedate= CONVERT(varchar (30),DATEADD(D,1,MAX(FCLOSEDATE)),23) FROM
+ T_STK_CLOSEPROFILE WHERE ((FORGID IN (1) AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID
+ SET @FCloseBALDate=CONVERT(varchar (30),DATEADD(D,-1,@FClosedate),23)
+ --print @FClosedat
+END
+
+ --生成临时选取仓库
+
+IF EXISTS(SELECT * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID'))
+BEGIN
+ DROP TABLE #tmpStockID
+ print '存在'
+END
+Create Table #tmpStockID (
+ FID INT IDENTITY(1,1)
+ ,FStockID INT
+)
+DECLARE @Strsql varchar(max)
+--SET @Strsql= 'INSERT INTO #tmpStockID SELECT DISTINCT FSTOCKID FROM T_BD_STOCK WHERE 1=1 ' +@FSStock
+--EXEC(@Strsql)
+INSERT INTO #tmpStockID SELECT DISTINCT FSTOCKID FROM T_BD_STOCK WHERE 1=1 {5}
+
+--库存状态报表
+
+if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#Stock_Status_temp'))
+begin
+ DROP TABLE #Stock_Status_temp
+ print '存在'
+END
+
+Create Table #Stock_Status_temp (
+ 序号 INT IDENTITY(1,1),
+ 物料内码 INT,
+ 物料代码 varchar(100) null,
+ 物料名称 varchar(255) null,
+ 规格型号 varchar(255) null,
+ 旧编码 varchar(100) null,
+ --单位 varchar(30) null,
+ 上期结存 DECIMAL (18,2) Null,
+ 本期采购入库 DECIMAL (18,2) Null,
+ 本期耗用 DECIMAL (18,2) Null,
+ 期末结存 DECIMAL (18,2) Null,
+ 在途量 DECIMAL (18,2) Null,
+ 在制数 DECIMAL (18,2) Null,
+ 进检量 DECIMAL (18,2) Null,
+ 未发量 DECIMAL (18,2) Null,
+ 领料数量 DECIMAL (18,2) Null,
+ 销售出库数量 DECIMAL (18,2) Null,
+ 仓库拨出数量 DECIMAL (18,2) Null,
+ 仓库拨入数量 DECIMAL (18,2) Null,
+ 申购未转数 DECIMAL (18,2) Null,
+ 受订量 DECIMAL (18,2) Null,
+ 占用量 DECIMAL (18,2) Null,
+ 可用库存 DECIMAL (18,2) Null,
+ 仓库内码 INT,
+ 仓库代码 varchar(100) null,
+ 仓库名称 varchar(255) null,
+ 包装内码 INT,
+ 包装方式 varchar(255) null
+)
+
+if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#TMP'))
+begin
+ DROP TABLE #TMP
+ print '存在'
+END
+
+CREATE TABLE #TMP (
+ FID INT IDENTITY(1,1),
+ FSTOCKORGID INT NOT NULL DEFAULT 0,
+ FBILLENTRYID INT NOT NULL DEFAULT 0,
+ FORDERBY INT NOT NULL DEFAULT 0,
+ FSTOCKIO CHAR (1) NULL,
+ FMATERIALID INT NOT NULL DEFAULT 0,
+ FAUXPROPID INT NOT NULL DEFAULT 0,
+ FDATE DATETIME NULL,
+ FSTOCKID INT NOT NULL DEFAULT 0,
+ FSTOCKLOCID INT NOT NULL DEFAULT 0,
+ FSTOCKSTATUSID INT NOT NULL DEFAULT 0,
+ FBILLNAME NVARCHAR (100) NULL,
+ FBILLID INT NOT NULL DEFAULT 0,
+ FBILLSEQID INT NULL,
+ FBILLNO NVARCHAR (100) NULL,
+ FBASEQCQTY DECIMAL (23,10) NOT NULL DEFAULT 0,
+ FBASEINQTY DECIMAL (23,10) NOT NULL DEFAULT 0,
+ FBASEOUTQTY DECIMAL (23,10) NOT NULL DEFAULT 0
+)
+
+--分析BOM层级物料
+
+IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#YC_T_MRP'))
+BEGIN
+ DROP TABLE #YC_T_MRP
+END
+
+CREATE TABLE #YC_T_MRP(
+ FID INT IDENTITY(1,1),
+ FBOMNumber NVARCHAR(255),
+ FMATERIALID INT,
+ 物料编码 NVARCHAR(255),
+ 物料名称 NVARCHAR(255),
+ 成品率 DECIMAL(28,10) DEFAULT (0),
+ 分子 DECIMAL(28,10),--BOM分子
+ 分母 DECIMAL(28,10),--BOM分母
+ FQty DECIMAL(28,10),--用量
+ FLevle INT,
+ FERPCLSID INT,
+ FProMaterialId INT,
+ FOrderNum NVARCHAR(255),
+ FBOMID INT,
+ BOM层级 NVARCHAR(200) NULL,
+ FSEQ1 INT,
+ FSEQ2 INT,
+ FSEQ3 INT,
+ FSEQ4 INT,
+ FSEQ5 INT,
+ FSEQ6 INT,
+ FParentNumber NVARCHAR(255)
+)
+
+IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#BOMTMP'))
+BEGIN
+ DROP TABLE #BOMTMP
+END
+
+/* 根据生产订单号,销售订单号,物料进行筛选对应的物料*/
+SELECT
+ t0.FBILLNO
+ ,t0.FID
+ ,t0e.FQTY
+ ,t0e.FENTRYID
+ ,t0e.FMATERIALID
+ ,t0e_a.FREPQUAQTY
+ --,t0e_a.FREQSRC --1.销售订单
+ ,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO'
+ INTO #TEMPMO
+FROM
+ T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e ON t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID
+WHERE 1 = 1
+ AND t0.FDOCUMENTSTATUS = 'C'
+ AND (t0e_a.FSTATUS < 5)
+ {2}
+
+/*取出所有审核状态的BOM,放入临时表中*/
+SELECT
+ ID=IDENTITY(INT,1,1)
+ ,T0.FID
+ ,T0.FNUMBER
+ ,T0.FMATERIALID
+ ,ROW_NUMBER() OVER(PARTITION BY T0.FMATERIALID ORDER BY t0.FID DESC) AS ROWID
+ ,t0.FDOCUMENTSTATUS
+ ,t0.FYIELDRATE
+ INTO #BOMTmp
+FROM T_ENG_BOM T0
+ INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --物料表
+WHERE (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A')
+ --AND tm.FNUMBER = 'TSH182H000208O'
+ AND tm.FMATERIALID IN (SELECT DISTINCT FMATERIALID FROM #TEMPMO)
+ORDER BY FMATERIALID,FNUMBER
+
+--/*在临时表中,同一个物料代码只保留一个最新版本的BOM*/
+DELETE FROM #BOMTmp WHERE ROWID != 1
+
+--查询出第一级产成品信息
+INSERT INTO #YC_T_MRP(
+ FBOMNumber,FMATERIALID,物料编码,物料名称,成品率
+ ,分子,分母,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum
+ ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT
+ t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER '物料编码',t3.FNAME '物料名称',t0.FYIELDRATE '成品率'
+ ,1 '分子',1 '分母',1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FMATERIALID,t1.FNUMBER '物料编码'
+ ,t0.FID 'FBOMID',0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber'
+FROM T_ENG_BOM t0
+ INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --物料表
+ LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --物料表
+ LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--物料表
+ INNER JOIN #BOMTmp t6 ON t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER
+WHERE 1=1
+ AND (t0.FDOCUMENTSTATUS = 'C')
+ORDER BY T0.FNUMBER
+
+--根据第一级产成品关联查询出第一级产成品下面的材料信息
+DECLARE @num INT,@level int,@LoopCount int
+SET @num = 1
+SET @level =1
+SET @LoopCount = 0;
+
+INSERT INTO #YC_T_MRP(
+ FBOMNumber,FMATERIALID,物料编码,物料名称,成品率
+ ,分子,分母,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum
+ ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+SELECT
+ t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER '物料编码',T9.FNAME '物料名称',t10.FYIELDRATE '成品率'
+ ,t6.FNUMERATOR '分子',t6.FDENOMINATOR '分母',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
+ ,@level AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t5.FProMaterialId,T5.FOrderNum
+ ,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.物料编码 'FParentNumber'
+FROM #YC_T_MRP t5
+ LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FBOMID=t6.FID--BOM表分录
+ INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --物料表
+ LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --物料表
+ LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--物料表
+ LEFT JOIN T_ENG_BOM t10 ON t10.FID=t6.FID--BOM表
+WHERE (t7.FFORBIDSTATUS = 'A')
+ AND T5.FLevle = 0 AND T5.FERPCLSID >= 2
+ AND t10.FDOCUMENTSTATUS = 'C'
+
+WHILE (@num > 0 AND @LoopCount < 10)
+BEGIN
+
+ SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID
+ INTO #BOMTmp1 FROM #YC_T_MRP t1
+ INNER JOIN T_ENG_BOM t0 ON t1.FMATERIALID=t0.FMATERIALID--BOM表头
+ WHERE 1=1 AND (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') AND T1.FLevle=@level AND T1.FERPCLSID>=2
+
+ DELETE FROM #BOMTmp1 WHERE id NOT IN (SELECT max(id) FROM #BOMTmp1 GROUP BY FMATERIALID)
+
+ INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,物料编码,物料名称,成品率,分子,分母,FQty,FLevle
+ ,FERPCLSID,FProMaterialId,FOrderNum,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
+ SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER '物料编码',T9.FNAME '物料名称',t5.FYIELDRATE '成品率'
+ ,t6.FNUMERATOR '分子',t6.FDENOMINATOR '分母',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
+ ,@level + 1 AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t1.FProMaterialId,T1.FOrderNum,0 'FBOMID'
+ ,t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t6.FSEQ 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t1.物料编码 'FParentNumber'
+ FROM #YC_T_MRP t1
+ INNER JOIN T_ENG_BOM t5 ON t1.FMATERIALID=t5.FMATERIALID--BOM表头
+ LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FID=t6.FID--BOM表分录
+ INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --物料表
+ LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --物料表
+ LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--物料表
+ INNER JOIN #BOMTmp1 t10 ON t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER
+ WHERE 1 = 1 AND (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 AND t5.FDOCUMENTSTATUS = 'C'
+
+ SET @num = @@ROWCOUNT
+ SET @level += 1
+ SET @LoopCount += 1
+
+ DROP TABLE #BOMTmp1
+
+END
+
+UPDATE #YC_T_MRP SET BOM层级 =REPLICATE('.',FLevle)++ convert(varchar(4),FLevle)
+
+--生产入库单
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT
+ TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,
+ ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+ TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_PRD_INSTOCK TS
+ INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ --((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
+
+--初始数据
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_PRD_INSTOCK TS
+ INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--入库单
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.
+FSTOCKSTATUSID fstockstatusid,'入库单' fbillname,
+TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty
+--t_STK_InStock
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+
+INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+--初始数据
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((
+((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.
+FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--入库单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,
+FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,TSE.FRECEIVESTOCKSTATUS fstockstatusid,'入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00')AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (TSE.FRECEIVESTOCKID > 0)) AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
+ AND TSE.FRECEIVESTOCKFLAG = '1')
+
+--初始数据
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,
+TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,
+TSE.FRECEIVESTOCKSTATUS fstockstatusid,'初始数据',(0 - SUM(TSE.FBASEUNITQTY)) fbaseqcqty
+
+FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (TSE.FRECEIVESTOCKID > 0))
+AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') AND TSE.FRECEIVESTOCKFLAG = '1')
+GROUP BY TS.FSTOCKORGID,TSE.FRECEIVEOWNERTYPEID,TSE.FRECEIVEOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FRECEIVEAUXPROPID,0),
+ISNULL(TSE.FRECEIVELOT_TEXT,' '),ISNULL(TSE.FRECEIVEMTONO,' '),TSE.FRECEIVESTOCKID,ISNULL(TSE.FRECEIVESTOCKLOCID,0),
+TSE.FRECEIVESTOCKSTATUS,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--生产领料单
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,
+FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+--生产领料单
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'生产领料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND
+ TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--初始数据
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
+
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (
+((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,
+ TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
+
+--销售出库单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'销售出库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
+FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard'))
+AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+--AND TS.FBILLNO='SA1907050103'
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,
+ '初始数据',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+ FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
+ INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((
+ ((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+ AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,
+ TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--生产补料单
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产补料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_PRD_FEEDMTRL TS
+INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_PRD_FEEDMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+--AND ts.FBILLNO IN ('M31910140010','M31907010006')
+
+
+--初始数据
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,'初始数据' fbillname,SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_PRD_FEEDMTRL TS INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--生产退料单
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty
+FROM T_PRD_RETURNMTRL TS
+INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_PRD_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A'))
+--AND ts.FBILLNO='M21907200004'
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
+ FROM T_PRD_RETURNMTRL TS INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--退料单
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,
+0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,(0 - TSE.FBASEUNITQTY) fbaseinqty,0 fbaseoutqty
+FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
+AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
+ AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE= 'B' AND TMB.FISINVENTORY = '1')
+ AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT,''),ISNULL(TSE.FMTONO,''),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--收料单 库存更新标志 FSTOCKFLAG 0:未更新 1:已更新
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'收料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty
+FROM T_PUR_RECEIVE TS INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TMB.FMaterialId = TSE.FMaterialId
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TMB.FISINVENTORY = '1')
+AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEUNITQTY) fbaseqcqty
+
+FROM T_PUR_RECEIVE TS
+INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--销售退货单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+--销售退货单
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'销售退货单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEUNITQTY) fbaseoutqty
+FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+
+--AND TS.FBILLNO ='SB1908230003'
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEUNITQTY) fbaseqcqty
+ FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
+ INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+ AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+
+--简单生产入库单
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
+TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--简单生产领料单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产领料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEACTUALQTY fbaseoutqty
+
+FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',(0 - SUM(TSE.FBASEACTUALQTY)) fbaseqcqty
+FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,
+ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--简单生产退料单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,
+ 0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产退料单' fbillname,TS.FID fbillid,TSE.FSEQ
+ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEQTY) fbaseoutqty
+
+FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEQTY) fbaseqcqty
+FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--组装拆卸单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'组装拆卸单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE
+(((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
+ SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+ FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
+ TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--组装拆卸单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FDETAILID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'组装拆卸单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+
+CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseoutqty
+FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
+INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+ TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+ FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
+ INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,
+ TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
+
+
+
+--批号调整单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
+TSE.FSTOCKSTATUSID fstockstatusid,'批号调整单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+ '初始数据',SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,
+ ISNULL(TSE.FBOMID,0)
+
+
+
+--其他入库单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'其他入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseinqty,0 fbaseoutqty
+
+FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_MISCELLANEOUSENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE<= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --初始数据
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
+ SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+ FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,
+ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--其他出库单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'其他出库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseoutqty
+FROM T_STK_MISDELIVERY TS
+INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_MISDELIVERYENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+ --初始数据
+INSERT INTO #TMP (FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
+ SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN (0 - TSE.FBASEQTY) ELSE TSE.FBASEQTY END) fbaseqcqty
+ FROM T_STK_MISDELIVERY TS INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--受托加工材料入库单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'受托加工材料入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_OEMINSTOCK TS
+INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_OEMINSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(FBASEQTY) fbaseqcqty
+FROM T_STK_OEMINSTOCK TS INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--受托加工材料退料单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'受托加工材料退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,(0 - FBASEQTY) fbaseinqty,0 fbaseoutqty
+
+FROM T_STK_OEMINSTOCKRTN TS
+INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_OEMINSTOCKRTNENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat')
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'',(0 - SUM(FBASEQTY)) fbaseqcqty
+ FROM T_STK_OEMINSTOCKRTN TS INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND FRETURNTYPE = 'StockReMat')
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
+ ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--形态转换单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'形态转换单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STATUSCONVERT TS
+INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
+SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STATUSCONVERT TS INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--库存状态转换单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'库存状态转换单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STOCKCONVERTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
+SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--盘盈单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'盘盈单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEGAINQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKCOUNTGAIN TS
+INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'初始数据',SUM(TSE.FBASEGAINQTY) fbaseqcqty
+FROM T_STK_STKCOUNTGAIN TS INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--盘亏单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'盘亏单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,0 fbaseinqty,TSE.FBASELOSSQTY fbaseoutqty
+FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+ '初始数据',SUM(0 - TSE.FBASELOSSQTY) fbaseqcqty
+ FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
+ ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--直接调拨单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid,'直接调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+
+
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS
+.FOBJECTTYPEID = 'STK_TransferDirect')
+
+
+
+--初始数据
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
+ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FDESTSTOCKID fstockid,
+ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'初始数据',
+SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END -
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),
+TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+
+
+--直接调拨单
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,
+FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,
+'直接调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,
+TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'初始数据',
+
+SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END -
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
+
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
+GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,
+TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
+
+
+--分步式调入单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid,'分步式调入单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GEN
+ERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'初始数据',
+ SUM(TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,
+ TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+--分步式调入单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'分步式调入单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
+INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+
+
+
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'',SUM((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKOUTORGID IN (1)
+ AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+ AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
+ GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FSRCMTONO,' '),
+ TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FSRCPRODUCEDATE,TSE.FSRCEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
+
+--分步式调出单
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,
+TSE.FSRCSTOCKSTATUSID fstockstatusid,'分步式调出单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseinqty,
+CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,
+ '初始数据',SUM(0 - TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFEROUTENTRY TSE INNER JOIN T_STK_STKTRANSFEROUT TS ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON
+TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,
+ TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+--分步式调出单
+
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'分步式调出单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+ '初始数据',SUM(TSE.FBASEQTY) fbaseqcqty
+ FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),
+ TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+
+--分步式调出单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKINORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,
+ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'分步式调出单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+
+WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKINORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
+'初始数据',SUM(TSE.FBASEQTY) fbaseqcqty
+FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
+GROUP BY TS.FSTOCKINORGID,TSE.FOWNERTYPEINID,TSE.FOWNERINID,TSE.FDESTMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FDESTMTONO,' '),TSE.FDESTSTOCKID,
+ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEINID,TSE.FKEEPERINID,TSE.FDESTPRODUCEDATE,TSE.FDESTEXPIRYDATE,ISNULL(TSE.FDESTBOMID,0),TS.FDATE
+
+
+
+--生产线在制仓库调拨单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
+TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
+TSE.FDESTSTOCKSTATUSID fstockstatusid,'生产线在制仓库调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+ 0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
+FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'初始数据',
+ SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
+
+ FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
+
+
+
+ --生产线在制仓库调拨单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
+TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,
+ TSE.FSRCSTOCKSTATUSID fstockstatusid,
+ '生产线在制仓库调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
+ CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
+ FROM T_REM_STKTRANSFERIN TS
+ INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'初始数据',
+ SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
+ FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),
+ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
+
+
+--委外补料单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'委外补料单' fbillname,TS.FID fbillid,
+TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_SUB_FEEDMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+
+'初始数据',SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
+ TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--委外领料单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'委外领料单' fbillname,TS.FID fbillid,
+TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASESTOCKACTUALQTY fbaseoutqty
+FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'初始数据',SUM(0 - TSE.FBASESTOCKACTUALQTY) fbaseqcqty
+ FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+ INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSEQ.FOWNERTYPEID,TSEQ.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSEQ.FKEEPERTYPEID,TSEQ.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--委外退料单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'委外退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
+0 fbaseinqty,(0 - TSE.FBASESTOCKQTY) fbaseoutqty
+FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_SUB_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+ SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASESTOCKQTY) fbaseqcqty
+FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,
+TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSEA.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--生产线产品入库单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+ 'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产线产品入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
+FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_REM_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+--初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+ TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+ '初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty
+ FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+ WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+ TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+---生产线产品退库单
+
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,
+ FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'生产线产品退库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
+0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty
+FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_REM_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty
+FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
+ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--生产线领料单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
+'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'生产线领料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS
+.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty
+
+FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_REM_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'初始数据',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
+FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1)
+AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,
+ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
+
+
+--生产线退料单
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产线退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty
+
+FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+LEFT OUTER JOIN T_REM_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+ AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
+FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
+TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+
+--委外超耗单
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'委外超耗单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
+
+FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SUB_EXCONSUMEENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'初始数据',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
+FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOwnerTypeId,TSE.FOwnerId,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
+ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+--生产退库单
+
+ INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'生产退库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty
+FROM
+T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
+LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
+AND TS.FCANCELSTATUS = 'A')) AND TS.FEntrustRetStockId = 0)
+
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'初始数据',SUM(0 - TSE.FBASEREALQTY) fbaseqcqty
+FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1)
+AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS= 'A')) AND TS.FEntrustRetStockId = 0)
+ GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
+ TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+
+--简单生产退库单
+
+INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
+
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产退库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
+TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEOUTQTY) fbaseinqty,0 fbaseoutqty
+
+FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+LEFT OUTER JOIN T_SP_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_SP_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+
+
+
+ --初始数据
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'初始数据',SUM(0 - TSE.FBASEOUTQTY) fbaseqcqty
+ FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
+WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
+GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
+TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
+
+INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
+
+SELECT TSE.FSTOCKORGID fstockorgid,TSE.FBALDATE fdate,-200 forderby,
+ 'I' fstockio,TM.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
+TBS.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
+'库存余额表',SUM(TSE.FBASEENDQTY) fbaseqcqty
+FROM T_STK_INVBAL TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN T_ENG_BOM TB ON (TB.FMASTERID = TSE.FBOMID AND TB.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON ((VO.FMASTERID = TSE.FOWNERID AND VO.FFORMID = TSE.FOWNERTYPEID) AND (VO.FUSEORGID = TSE.FSTOCKORGID OR VO.FUSEORGID = 0
+OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VO.FFORMID AND BT.FSTRATEGYTYPE = 1))))
+LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (VO.FITEMID = VO_L.FITEMID AND VO_L.FLOCALEID = 2052)
+LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON ((VK.FMASTERID = TSE.FKEEPERID AND VK.FFORMID = TSE.FKEEPERTYPEID) AND (VK.FUSEORGID = TSE.FSTOCKORGID OR VK.FUSEORGID = 0
+OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VK.FFORMID AND BT.FSTRATEGYTYPE = 1))))
+LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (VK.FITEMID = VK_L.FITEMID AND VK_L.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_LOTMASTER TBLM ON (ISNULL(TSE.FLOT,0) = TBLM.FMASTERID AND TBLM.FUSEORGID IN (1))
+
+WHERE ((TSE.FSTOCKORGID IN (1) AND (FBALTYPE IN(0,1) AND (FSTOCKORGID = 1 AND TSE.FBALDATE =@FCloseBALDate )))
+--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ AND TM.FFORBIDSTATUS = 'A')
+
+
+GROUP BY TSE.FSTOCKORGID,TSE.FOWNERTYPEID,VO.FITEMID,TSE.FBALDATE,TM.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TBLM.FNUMBER,' '),ISNULL(TSE.FMTONO,' '),
+TBS.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,VK.FITEMID,TSE.FLOT,TMS.FISBATCHMANAGE,TMS.FISKFPERIOD,
+TMS.FISEXPPARTOFLOT,TBLM.FPRODUCEDATE,TSE.FPRODUCEDATE,TBLM.FEXPIRYDATE,TSE.FEXPIRYDATE,ISNULL(TB.FID,0)
+
+--合并所有出入库数据
+
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp1
+FROM #TMP
+--WHERE FDATE <='2019-08-30'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+
+
+INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码)
+
+SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
+ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码
+FROM #tmp1 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+
+--上期结存数
+--SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+--INTO #tmp2
+
+--FROM #TMP
+----WHERE FDATE <=@FSDate
+--GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+--ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--SELECT *
+UPDATE t1 SET t1.上期结存=t2.FBASEQCQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp1 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
+
+--期末结存
+UPDATE t1 SET t1.期末结存=t2.FBASEQCQTY+t2.FBASEINQTY-t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN
+ #tmp1 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
+
+--本期采购入库
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp4 FROM #TMP TS WHERE FORDERBY<>'-200' AND fstockio='I' AND ( FBILLNAME NOT like'%调拨单%' AND FBILLNAME<>'形态转换单')
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,
+FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+--本期采购入库
+
+UPDATE t1 SET t1.本期采购入库=t2.FBASEINQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp4 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
+
+--本期耗用
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp5 FROM #TMP TS WHERE fstockio='O' AND ( FBILLNAME NOT like'%调拨单%' AND FBILLNAME<>'形态转换单')
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+--本期耗用
+
+UPDATE t1 SET t1.本期耗用=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp5 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
+
+
+--仓库拨入数量仓库拨出数量
+
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp6 FROM #TMP TS WHERE FORDERBY<>'-200' AND ( FBILLNAME like'%调拨单%' )
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--仓库拨入数量--仓库拨出数量
+
+UPDATE t1 SET t1.仓库拨入数量=t2.FBASEINQTY,t1.仓库拨出数量=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp6 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
+
+
+--领料数量
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp7 FROM #TMP TS WHERE ( FBILLNAME IN('生产领料单','委外领料单' ))
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--领料数量
+UPDATE t1 SET t1.领料数量=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp7 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
+
+
+--销售出库数量
+
+SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
+INTO #tmp8 FROM #TMP TS WHERE ( FBILLNAME ='销售出库单' )
+AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
+--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
+GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
+
+--销售出库数量
+UPDATE t1 SET t1.销售出库数量=t2.FBASEOUTQTY
+ FROM #Stock_Status_temp t1
+INNER JOIN #tmp8 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
+
+--受订量
+--销售订单受订量
+--*******************************************
+
+--查询订单数
+--(C.FBASEREMAINOUTQTY+C.FBaseReturnQty)累计退库数量+剩余未出数量
+SELECT (A.FBILLNO) AS 销售单号,(A.FID) 销售内码,(B.FENTRYID) 销售分录,(B.FSEQ) 销售序号,
+B.FMATERIALID AS 物料内码,B.FBASEUNITQTY 订单数,(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS 未出数量,FBaseReturnQty,
+ISNULL(B.FSTOCKID,0) 仓库内码,B.FAUXPROPID,A.FCLOSESTATUS,FCLOSEDATE,A.FDATE,B.FMRPCLOSESTATUS 业务关闭
+INTO #tmpSal
+FROM T_SAL_ORDER A
+INNER JOIN T_SAL_ORDERENTRY B ON A.FID =B.FID
+LEFT JOIN T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID
+LEFT JOIN T_SAL_ORDERENTRY_E D ON D.FID=B.FID AND D.FENTRYID =B.FENTRYID
+
+WHERE 1=1 AND A.FCANCELSTATUS='A' AND A.FDOCUMENTSTATUS='C' --AND B.FMRPTERMINATESTATUS='A'
+AND (B.FTERMINATEDATE >@FEDate OR ISNULL(B.FTERMINATEDATE,'') ='')
+AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')--关闭日期在开始之前单据不考虑
+AND A.FDATE <=@FEDate --AND A.FBILLNO='SO1909200018'
+ORDER BY A.FDATE,A.FID,B.FENTRYID,B.FMATERIALID
+
+
+
+--更新未出数量
+--SELECT *
+UPDATE t1 SET t1.未出数量=未出数量+t2.fbaseoutqty
+FROM #tmpSal t1
+INNER JOIN (
+SELECT TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID,SUM(TSE.FBASEUNITQTY) fbaseoutqty
+FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
+INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE TS.FDATE>@FEDate AND
+( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+GROUP BY TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID ) t2 ON t2.FSOORDERNO =t1.销售单号 AND t2.FSOENTRYID=t1.销售分录 AND t1.物料内码=t2.FMATERIALID
+
+--销售出库退货
+--销售退货单
+--SELECT *
+UPDATE t1 SET t1.未出数量=未出数量+t2.fbaseoutqty
+FROM #tmpSal t1
+INNER JOIN (
+SELECT TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID,SUM((TSE.FBASEUNITQTY)) fbaseoutqty
+FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
+
+WHERE TS.FDATE>@FEDate
+AND ( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+GROUP BY TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID
+) t2 ON t2.FORDERNO =t1.销售单号 AND t2.FSOENTRYID=t1.销售分录 AND t1.物料内码=t2.FMATERIALID
+
+
+
+SELECT 物料内码,订单数,未出数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
+INTO #tmpSal1 FROM #tmpSal B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 )
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY 物料内码
+
+
+SELECT 物料内码,订单数,未出数量,FAUXPROPID,仓库内码
+INTO #tmpSal3 FROM #tmpSal1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+--LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY 物料内码
+
+
+
+SELECT 物料内码,SUM(订单数)订单数,SUM(未出数量)未出数量,FAUXPROPID,仓库内码
+INTO #tmpSal2 FROM #tmpSal3
+GROUP BY 仓库内码,物料内码,FAUXPROPID
+ORDER BY 仓库内码,物料内码,FAUXPROPID
+
+--销售订单受订量
+UPDATE t1 SET t1.受订量=t2.未出数量
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpSal2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
+
+
+--不存在数据就重新增
+
+INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,受订量)
+
+SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS
+ 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
+ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未出数量)
+FROM #tmpSal2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 )
+
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
+
+--*******************************************
+
+
+
+--在途量
+--************************************************
+
+--采购订单
+SELECT ddd.FPurchaseOrgID fstockorgid,ddd.FBILLNO 采购订单,ddd.FID AS 采购内码,B.FENTRYID 采购订单分录,b.FMATERIALID 物料内码,
+ISNULL(b.FAUXPROPID,0) fauxpropid,ddd.FDATE fdate,TMS.FSTOCKID 仓库内码,FBASEUNITQTY 采购数量,
+FREMAINSTOCKINQTY 剩余入库数量,FBASESTOCKINQTY 入库数量,ddd.FCLOSEDATE
+INTO #tmppoorder
+FROM t_pur_poorderentry b
+INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID AND FbusinessType NOT IN ('ZCCG','FYCG'))
+INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid
+INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid
+INNER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID
+WHERE (ddd.FPurchaseOrgID IN (1) AND (((ddd.FPurchaseOrgID IN (1))
+AND (ddd.FDATE <=@FEDate)) AND ddd.fdocumentStatus = 'C'))
+AND (b.FTERMINATEDATE >@FEDate OR ISNULL(b.FTERMINATEDATE,'') ='')
+AND (ddd.FCLOSEDATE>@FEDate or ISNULL(ddd.FCLOSEDATE,'')='')
+
+--入库单
+--SELECT *
+
+UPDATE t1 SET t1.剩余入库数量=剩余入库数量+t2.fbaseinqty
+FROM #tmppoorder t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID,tse.FPOORDERENTRYID,tse.FPOORDERNO,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+
+ INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1 AND TS.FDATE > @FEDate
+ AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND TS.FDOCUMENTSTATUS IN ('C')
+ GROUP BY TSE.FPOORDERNO,TSE.FPOORDERENTRYID,TSE.FMATERIALID
+)t2 ON t2.FPOORDERNO =t1.采购订单 AND t2.FPOORDERENTRYID=t1.采购订单分录 AND t1.物料内码=t2.FMATERIALID
+
+
+--退料单
+ --SELECT *
+UPDATE t1 SET t1.剩余入库数量=剩余入库数量-t2.fbaseinqty
+FROM #tmppoorder t1
+INNER JOIN(
+ SELECT tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID fmaterialid,SUM( TSE.FBASEUNITQTY) fbaseinqty
+
+ FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+ WHERE 1=1 AND (TS.FDATE >@FEDate)
+ AND TS.FDOCUMENTSTATUS IN ('C') AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND (TSE.FSTOCKID > 0)
+ AND TSF.FISGENFORIOS = '0'AND (TSE.FSTOCKFLAG = '1' OR (TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') )
+ GROUP BY tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID
+)t2 ON t2.FORDERNO =t1.采购订单 AND t2.FPOORDERENTRYID=t1.采购订单分录 AND t1.物料内码=t2.FMATERIALID
+
+
+--更新和新增在途量数据
+
+SELECT 物料内码,采购数量,剩余入库数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
+INTO #tmppoorder1 FROM #tmppoorder B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT
+ JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+
+
+SELECT 物料内码,采购数量,剩余入库数量,FAUXPROPID,仓库内码
+INTO #tmppoorder3 FROM #tmppoorder1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK
+ ON ( TSK.FMASTERID = B.仓库内码 )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY 物料内码
+
+
+
+
+SELECT 物料内码,SUM(采购数量)采购数量,SUM(剩余入库数量)剩余入库数量,FAUXPROPID,仓库内码
+INTO #tmppoorder2 FROM #tmppoorder3
+GROUP BY 仓库内码,物料内码,FAUXPROPID
+ORDER BY 仓库内码,物料内码,FAUXPROPID
+
+
+--在途量
+UPDATE t1 SET t1.在途量=t2.剩余入库数量
+FROM #Stock_Status_temp t1
+INNER JOIN #tmppoorder2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
+
+--不存在数据就重新增
+
+INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,在途量)
+
+SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
+ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(剩余入库数量)
+FROM #tmppoorder2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER
+ JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE 剩余入库数量<>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
+
+
+
+
+
+--************************************************
+
+--在制量
+--*************************************************
+--查询截止结束日期之前所有生产单
+SELECT (MO.FBILLNO) 生产单号,ME.FPRODUCTTYPE,
+(MO.FID) 生产内码,(ME.FENTRYID) 生产单分录,MA.FCONVEYDATE,ME.FMATERIALID 物料内码,
+ISNULL(ME.FSTOCKID,0) 仓库内码,ME.FAUXPROPID,MO.FDATE,ME.FSEQ,(ME.FQTY) 生产数量,
+--MQ.FBASENOSTOCKINQTY 未入库数量
+(CASE WHEN (MQ.FBASENOSTOCKINQTY)>0 THEN (MQ.FBASENOSTOCKINQTY) ELSE 0 END) AS 未入库数量,MQ.FBASERESTKQTY 退库数量
+
+INTO #tmpMO
+FROM T_PRD_MO MO
+INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID
+LEFT JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+LEFT JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+--AND MO.FBILLNO IN('MO1909090271','MO1905070262')
+AND MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>''
+AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')
+
+
+--截止日期之后生成的生产入库单
+--SELECT *
+UPDATE t1 SET t1.未入库数量=未入库数量+t2.fbaseInqty
+FROM #tmpMO t1
+INNER JOIN(
+ SELECT TSE.FMATERIALID,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseInqty
+ FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1
+ AND TS.FDATE > @FEDate AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+ AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ --AND TS.FBILLNO='MM1909090128'
+ GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+ --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 ON t1.生产内码=t2.FMOID AND t1.生产单分录=t2.FMOENTRYID AND t1.物料内码=t2.FMATERIALID
+
+--截止日期之后生成的生产退库单
+--SELECT *
+UPDATE t1 SET t1.未入库数量=未入库数量-t2.fbaseOutqty
+FROM #tmpMO t1
+INNER JOIN(
+ SELECT TSE.FMATERIALID fmaterialid,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseOutqty
+ FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
+ LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1
+ AND TS.FDATE > @FEDate
+ AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'
+ AND TS.FCANCELSTATUS = 'A' AND TS.FEntrustRetStockId = 0
+ GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 ON t1.生产内码=t2.FMOID AND t1.生产单分录=t2.FMOENTRYID AND t1.物料内码=t2.FMATERIALID
+
+
+--更新和新增在制数据
+
+SELECT 物料内码,生产数量,未入库数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
+INTO #tmpMO1 FROM #tmpMO B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+
+SELECT 物料内码,生产数量,未入库数量,FAUXPROPID,仓库内码
+INTO #tmpMO3 FROM #tmpMO1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+
+ORDER BY 物料内码
+
+
+
+SELECT 物料内码,SUM(生产数量)生产数量,SUM(未入库数量)未入库数量,FAUXPROPID,仓库内码
+INTO #tmpMO2 FROM #tmpMO3
+GROUP BY 仓库内码,物料内码,FAUXPROPID
+ORDER BY 仓库内码,物料内码,FAUXPROPID
+
+--在制量
+UPDATE t1 SET t1.在制数=t2.未入库数量
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpMO2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
+
+--不存在数据就重新增
+
+INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,在制数)
+
+SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
+ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未入库数量)
+FROM #tmpMO2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
+
+--***************END**********************************
+
+
+--进检量
+--******************start*******************************
+
+----查询截止结束日期之前所有收料单
+
+SELECT TS.FSTOCKORGID fstockorgid,TS.FBILLNO 收料单号,TS.FID AS 收料内码,TSE.FENTRYID 收料分录,TSE.FMATERIALID 物料内码,
+ ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID 仓库内码,FBASEUNITQTY 收料数量,
+CASE WHEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY))>0 THEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY)) ELSE 0 END 未进检量,
+(FBASEUNITQTY-FINSTOCKBASEQTY +FRETURNBASEQTY) 已审进检量
+INTO #TMPRECEIVE
+FROM T_PUR_RECEIVE TS
+INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
+INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+INNER JOIN T_PUR_RECEIVEENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
+INNER JOIN T_PUR_RECEIVEENTRY_R TSER ON (TSE.FID = TSER.FID AND TSE.FENTRYID = TSER.FENTRYID)
+INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID
+WHERE 1=1 AND (TS.FDATE <= @FEDate)
+--AND ts.FBILLNO='T61908290024-' AND FRETURNBASEQTY<>0
+AND( FEXECUTEDATE>@FEDate OR ISNULL(FEXECUTEDATE,'')='')--执行日期
+AND (TS.FSTOCKORGID IN (1))
+AND (TSE.FSTOCKID > 0)AND TSE.FSTOCKFLAG = '0'
+
+-- AND TS.FDOCUMENTSTATUS IN ('C')
+------查询截止结束日期之前所有入库单
+
+--SELECT *
+UPDATE t1 SET t1.未进检量=未进检量+t2.fbaseInqty
+FROM #TMPRECEIVE t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ WHERE 1=1 AND TS.FDATE >@FEDate
+ AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID
+ --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
+) t2 ON t1.收料内码=t2.FSBILLID AND t1.收料分录=t2.FSID AND t1.物料内码=t2.FMATERIALID
+
+--
+--查询截止结束日期之后所有退料单
+--SELECT *
+UPDATE t1 SET t1.未进检量=未进检量+t2.fbaseInqty
+FROM #TMPRECEIVE t1
+INNER JOIN (
+ SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty
+ FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_MRBENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
+ INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
+ WHERE 1=1 AND TS.FDATE >@FEDate
+ AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
+ GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID
+
+) t2 ON t1.收料内码=t2.FSBILLID AND t1.收料分录=t2.FSID AND t1.物料内码=t2.FMATERIALID
+
+
+
+--更新和新增进检量数据
+
+SELECT 物料内码,收料数量,未进检量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
+INTO #TMPRECEIVE1 FROM #TMPRECEIVE B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+
+
+SELECT 物料内码,收料数量,未进检量,FAUXPROPID,仓库内码
+INTO #TMPRECEIVE3
+ FROM #TMPRECEIVE1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+SELECT 物料内码,SUM(收料数量)收料数量,SUM(未进检量)未进检量,FAUXPROPID,仓库内码
+INTO #TMPRECEIVE2 FROM #TMPRECEIVE3
+GROUP BY 仓库内码,物料内码,FAUXPROPID
+ORDER BY 仓库内码,物料内码,FAUXPROPID
+
+
+--进检量
+UPDATE t1 SET t1.进检量=t2.未进检量
+FROM #Stock_Status_temp t1
+INNER JOIN #TMPRECEIVE2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
+
+--不存在数据就重新增
+
+INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,进检量)
+
+SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
+ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未进检量)
+FROM #TMPRECEIVE2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE 未进检量<>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
+
+
+--****************END*********************************
+
+--*********************未发量*****************************************
+
+--未发量(生产)
+--***********************未发量(生产)*****************************
+--查询截止结束日期之前所有生产单用料数
+SELECT (MO.FBILLNO) 生产单号,(MO.FID) 生产内码,(ME.FENTRYID) 生产单分录,
+PE.FMATERIALID 物料内码,(PP.FID) 用料内码,PP.FBILLNO 用料单号,(PE.FENTRYID) 用料单分录,
+ISNULL(PC.FSTOCKID,0) 仓库内码,PE.FAUXPROPID,(PE.FMUSTQTY) AS 应发数量,
+PQ.FSELPICKEDQTY AS 领料选单数量,PQ.FBASENOPICKEDQTY AS 未领数量
+INTO #tmpPPBOM
+ FROM T_PRD_MO MO
+INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID
+INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+INNER JOIN T_PRD_PPBOM PP ON PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID
+INNER JOIN T_PRD_PPBOMENTRY PE ON PP.FID =PE.FID
+LEFT JOIN T_PRD_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+LEFT JOIN T_PRD_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+AND (MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'')
+AND (MA.FFINISHDATE >@FEDate OR ISNULL(MA.FFINISHDATE,'')='')--2020-04-27之后完工为准完工日期
+--AND (MA.FCLOSEDATE>@FEDate OR ISNULL(MA.FCLOSEDATE,'')='')--2020-04-27之前是结案日期
+
+--AND PP.FBILLNO ='PP1910150215'
+
+ --查询截止结束日期之后所有单生产领料单
+ --SELECT 未领数量,t2.fbaseOutqty,*
+UPDATE t1 SET t1.未领数量=未领数量+t2.fbaseOutqty
+FROM #tmpPPBOM t1
+INNER JOIN (
+SELECT tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
+TSE.FMATERIALID,SUM(TSED.FBASESTOCKACTUALQTY) fbaseOutqty
+FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+WHERE (TS.FDATE> @FEDate)
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
+GROUP BY tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
+) t2 ON t1.生产单号=t2.FMOBILLNO AND t1.生产单分录=t2.FMOENTRYID
+AND t1.用料单号=t2.FPPBOMBILLNO AND t1.用料单分录=t2.FPPBOMENTRYID AND t1.物料内码=t2.FMATERIALID
+
+
+
+--更新和新增未发量数据
+--SELECT * FROM #tmpPPBOM
+
+SELECT 物料内码,应发数量,未领数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
+INTO #tmpPPBOM1 FROM #tmpPPBOM B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+
+SELECT 物料内码,应发数量,未领数量,FAUXPROPID,仓库内码
+INTO #tmpPPBOM3 FROM #tmpPPBOM1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+
+SELECT 物料内码,SUM(应发数量)应发数量,SUM(未领数量)未领数量,FAUXPROPID,仓库内码
+INTO #tmpPPBOM2 FROM #tmpPPBOM3
+GROUP BY 仓库内码,物料内码,FAUXPROPID
+ORDER BY 仓库内码,物料内码,FAUXPROPID
+
+--未发量(生产)
+UPDATE t1 SET t1.未发量=t2.未领数量
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpPPBOM2
+t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
+
+--不存在数据就重新增
+
+INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,未发量)
+
+SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
+ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未领数量)
+FROM #tmpPPBOM2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.仓库内码 AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE 未领数量>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
+
+--*************************未发量(生产)*****************************************
+
+
+
+--未发量(委外)
+--*************************未发量(委外)***************************
+--查询截止结束日期之前所有委外单用料数
+SELECT (MO.FBILLNO) 委外单号,(MO.FID) 委外内码,(ME.FENTRYID) 委外单分录,
+PE.FMATERIALID 物料内码,(PP.FID) 用料内码,PP.FBILLNO 用料单号,(PE.FENTRYID) 用料单分录,
+ISNULL(PC.FSTOCKID,0) 仓库内码,PE.FAUXPROPID,(PE.FMUSTQTY) AS 应发数量,
+PQ.FSELPICKEDQTY AS 领料选单数量,PQ.FBASENOPICKEDQTY AS 未领数量
+INTO #tmpSubBOM
+FROM T_SUB_REQORDER MO
+INNER JOIN T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
+--INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
+INNER JOIN T_SUB_PPBOM PP ON PP.FSUBREQID =MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID
+INNER JOIN T_SUB_PPBOMENTRY PE ON PP.FID =PE.FID
+LEFT JOIN T_SUB_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
+LEFT JOIN T_SUB_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
+WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
+AND (MO.FDATE <=@FEDate AND ISNULL(ME.FCONVEYDATE,'')<>'')
+AND (ME.FCLOSEDATE>@FEDate OR ISNULL(ME.FCLOSEDATE,'')='')
+
+
+
+
+ --查询截止结束日期之后所有单生产领料单
+ --SELECT 未领数量,t2.fbaseOutqty,*
+UPDATE t1 SET t1.未领数量=未领数量+t2.fbaseOutqty
+FROM #tmpSubBOM t1
+INNER JOIN (
+SELECT tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
+TSE.FMATERIALID,SUM(TSE.FBASESTOCKACTUALQTY) fbaseOutqty
+FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
+INNER JOIN T_SUB_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
+LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
+INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+
+WHERE (TS.FDATE> @FEDate)
+AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
+GROUP BY tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
+) t2 ON t1.委外单号=t2.FSUBREQBILLNO AND t1.委外单分录=t2.FSUBREQENTRYID
+AND t1.用料单号=t2.FPPBOMBILLNO AND t1.用料单分录=t2.FPPBOMENTRYID AND t1.物料内码=t2.FMATERIALID
+
+
+
+--更新和新增未发量数据
+--SELECT * FROM #tmpPPBOM
+
+SELECT 物料内码,应发数量,未领数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
+ INTO #tmpSubBOM1 FROM #tmpSubBOM B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+
+SELECT 物料内码,应发数量,未领数量,FAUXPROPID,仓库内码
+INTO #tmpSubBOM3 FROM #tmpSubBOM1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+ (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+
+SELECT 物料内码,SUM(应发数量)应发数量,SUM(未领数量)未领数量,FAUXPROPID,仓库内码
+INTO #tmpSubBOM2 FROM #tmpSubBOM3
+GROUP BY 仓库内码,物料内码,FAUXPROPID
+ORDER BY 仓库内码,物料内码,FAUXPROPID
+
+
+--未发量(委外)
+UPDATE t1 SET t1.未发量=ISNULL(t1.未发量,0)+ISNULL(t2.未领数量,0)
+FROM #Stock_Status_temp t1
+INNER JOIN #tmpSubBOM2
+t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
+
+
+--不存在数据就重新增
+
+INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,未发量)
+
+SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码
+ ,ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未领数量)
+FROM #tmpSubBOM2 TSE
+ INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 )
+ INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+ INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
+ LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.仓库内码 AND TSL.FLOCALEID = 2052)
+ LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+ LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID
+ LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+--SELECT * FROM #tmpSal2 TSE
+WHERE 未领数量 > 0
+ AND NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
+
+--*********************未发量(委外)*END*******************************
+
+-- --截止查询结束日期销售未发数
+-- UPDATE t1 SET t1.未发量=ISNULL(t1.未发量,0)+ISNULL(t1.受订量,0)
+--FROM #Stock_Status_temp t1
+--WHERE ISNULL(t1.受订量,0)<>0
+
+--**********************END*******************************
+
+--申购未转数
+--*******************strat*****************************
+
+--查询截止结束日期之前所有采购申请
+
+SELECT TS.FAPPLICATIONORGID fstockorgid,TS.FBILLNO 申请单号,TS.FID AS 申请内码,TSE.FENTRYID 申请分录,TSE.FMATERIALID 物料内码,
+ ISNULL(TSE.FAUXPROPID,0) FAUXPROPID,TS.FAPPLICATIONDATE fdate,TMS.FSTOCKID 仓库内码,
+ FBASEUNITQTY 申请数量,TSEF.FREMAINQTY AS 未转数
+INTO #TMPREQ
+FROM T_PUR_REQUISITION TS
+ INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID
+ INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
+ INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
+ LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID
+ LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+WHERE 1=1
+--AND ts.FBILLNO ='SQ1910100001'AND FORDERBASEQTY<>FBASEUNITQTY AND TS.FCLOSESTATUS<>'B'
+ AND (TS.FAPPLICATIONDATE <=@FEDate)
+ AND (TS.FCLOSEDATE>@FEDate or ISNULL(TS.FCLOSEDATE,'')='')
+ AND (TS.FAPPLICATIONORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
+
+ --查询截止结束日期之后所有采购订单
+ --SELECT *
+UPDATE t1 SET t1.未转数=未转数+t2.fbaseOrdqty
+FROM #TMPREQ t1
+INNER JOIN (
+ SELECT t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID,SUM(t1.FBASEUNITQTY) fbaseOrdqty
+ FROM T_PUR_POORDER t0
+ INNER JOIN T_PUR_POORDERENTRY t1 ON (t0.FID = t1.FID)
+ INNER JOIN T_PUR_POORDERENTRY_R t1R ON(t1R.FID = t1.FID AND t1.FENTRYID = t1R.FENTRYID)
+ INNER JOIN T_PUR_POORDERENTRY_LK t1k ON(t1.FENTRYID = t1k.FENTRYID)
+ INNER JOIN T_BD_MATERIAL TM ON t1.FMATERIALID = TM.FMATERIALID
+ WHERE t0.FDATE>@FEDate
+ AND ( t0.FCANCELSTATUS = 'A' AND TM.FFORBIDSTATUS = 'A')
+ GROUP BY t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID
+
+) t2 ON t1.申请内码=t2.FSBILLID AND t1.申请分录=t2.FSID AND t1.物料内码=t2.FMATERIALID
+
+
+--更新和新增进检量数据
+
+
+SELECT 物料内码,申请数量,未转数,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
+INTO #TMPREQ1 FROM #TMPREQ B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
+--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+SELECT 物料内码,申请数量,未转数,FAUXPROPID,仓库内码
+INTO #TMPREQ3 FROM #TMPREQ1 B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+ORDER BY 物料内码
+
+
+SELECT 物料内码,SUM(申请数量)申请数量,SUM(未转数)未转数,FAUXPROPID,仓库内码
+INTO #TMPREQ2 FROM #TMPREQ3
+GROUP BY 仓库内码,物料内码,FAUXPROPID
+ORDER BY 仓库内码,物料内码,FAUXPROPID
+
+--申购未转数
+UPDATE t1 SET t1.申购未转数=t2.未转数
+FROM #Stock_Status_temp t1
+INNER JOIN #TMPREQ2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
+
+--不存在数据就重新增
+
+INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,申购未转数)
+
+SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
+ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未转数)
+FROM #TMPREQ2 TSE
+INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 )
+INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
+INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
+LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID
+LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+
+--SELECT * FROM #tmpSal2 TSE
+WHERE 未转数<>0 AND
+ NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
+
+
+--*****************************************************
+
+--占用量
+
+--********************************************************
+ SELECT TSE.FMATERIALID 物料内码,(TSE.FBASEQTY)FBASEQTY,
+ CASE WHEN TSE.FSTOCKID<>0 THEN TSE.FSTOCKID ELSE ISNULL(tms.FSTOCKID,0)END FSTOCKID,TSE.FAUXPROPID
+ INTO #TMPLINK FROM T_PLN_RESERVELINK TS
+ INNER JOIN T_PLN_RESERVELINKENTRY TSE ON TS.FID=TSE.FID
+ INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
+ LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = TSE.FSTOCKID )
+LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
+ WHERE TSE.FBASEQTY<>0
+ --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+--GROUP BY TSE.FSTOCKID,TSE.FMATERIALID,FAUXPROPID
+ORDER BY FSTOCKID,TSE.FMATERIALID,FAUXPROPID
+
+
+SELECT 物料内码,SUM(FBASEQTY)FBASEQTY,FAUXPROPID,B.FSTOCKID 仓库内码
+INTO #TMPLINK1 FROM #TMPLINK B
+LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
+--LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.FSTOCKID )
+--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.FSTOCKID AND TSL.FLOCALEID = 2052)
+WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
+(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
+AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
+GROUP BY b.FSTOCKID,物料内码,FAUXPROPID
+ORDER BY b.FSTOCKID,物料内码,FAUXPROPID
+
+--占用量
+UPDATE t1 SET t1.占用量=t2.FBASEQTY
+FROM #Stock_Status_temp t1
+ INNER JOIN #TMPLINK1 t2 ON t1.物料内码=t2.物料内码
+ AND t1.仓库内码=t2.仓库内码
+ AND t1.包装内码=T2.FAUXPROPID
+
+--不存在数据就重新增占用量
+
+INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,占用量)
+SELECT
+ TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称
+ ,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码
+ ,ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称
+ ,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(FBASEQTY)
+FROM #TMPLINK1 TSE
+ INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 )
+ INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID=TML.FMATERIALID AND TML.FLOCALEID =2052
+ INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
+ LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
+ LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
+ LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID
+ LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
+WHERE FBASEQTY <> 0
+ AND NOT EXISTS(
+ SELECT 1
+ FROM #Stock_Status_temp t2
+ WHERE TSE.物料内码=t2.物料内码
+ AND TSE.仓库内码=t2.仓库内码
+ AND t2.包装内码=TSE.FAUXPROPID)
+
+
+--*********************占用量END***********************************
+
+
+--可用库存
+--*******************************************************
+
+UPDATE t1 SET t1.可用库存=ISNULL(期末结存,0)+ISNULL(t1.在制数,0)+ISNULL(在途量,0)-ISNULL(未发量,0)-ISNULL(受订量,0)
+FROM #Stock_Status_temp t1
+
+--*********************可用库存END**********************************
+
+--新增BOM新增物料
+SELECT 序号=IDENTITY(INT,1,1),物料内码,物料代码,物料名称,规格型号,旧编码,上期结存
+ ,本期采购入库,本期耗用,期末结存,在途量,在制数,进检量,未发量,领料数量,销售出库数量
+ ,仓库拨出数量,仓库拨入数量,申购未转数,受订量,占用量,可用库存
+ ,仓库内码,仓库代码,仓库名称,包装方式,FProMaterialId,产品代码
+ INTO #Stock_Bom
+FROM (
+ SELECT t1.FMATERIALID 物料内码,物料代码,t2.物料名称,规格型号,旧编码,上期结存,本期采购入库,本期耗用,期末结存
+ ,在途量,在制数,进检量,未发量,领料数量,销售出库数量,仓库拨出数量,仓库拨入数量,申购未转数
+ ,受订量,占用量,可用库存,t2.仓库内码,仓库代码,仓库名称,包装方式,t1.FProMaterialId,t1.FOrderNum 产品代码,FOrderNum
+ ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+ FROM #YC_T_MRP t1
+ INNER JOIN #Stock_Status_temp t2 ON t1.物料编码=t2.物料代码
+ UNION ALL
+ SELECT t1.FMATERIALID 物料内码,t1.物料编码 物料代码,t2.FNAME 物料名称,t2.FSPECIFICATION 规格型号
+ ,ISNULL(TM.FOLDNUMBER,'') 旧编码,0 上期结存,0 本期采购入库,0 本期耗用,0 期末结存
+ ,0 在途量,0 在制数,0 进检量, 0 未发量,0 领料数量,0 销售出库数量,0 仓库拨出数量
+ ,0 仓库拨入数量,0 申购未转数,0 受订量,0 占用量,0 可用库存,ts.FSTOCKID,ts.FNUMBER AS 仓库代码
+ ,tsl.FNAME AS 仓库名称,''包装方式,t1.FProMaterialId,t1.FOrderNum 产品代码,FOrderNum
+ ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+ FROM #YC_T_MRP t1
+ INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = t1.FMATERIALID )
+ INNER JOIN T_BD_MATERIAL_L t2 ON (t2.FMATERIALID = t1.FMATERIALID )
+ INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
+ INNER JOIN T_BD_STOCK ts ON tms.FSTOCKID=ts.FSTOCKID
+ LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TS.FSTOCKID AND TSL.FLOCALEID = 2052)
+ WHERE 1=1
+ AND 物料编码 NOT IN (SELECT DISTINCT 物料代码 FROM #Stock_Status_temp t2)
+ AND TMS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID))t
+ORDER BY FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
+
+SELECT
+ t0.FMATERIALID AS 'ProMaterialId'
+ ,t1e.FMATERIALID
+ ,t1e_c.FSTOCKID
+ --,t1.FBILLNO
+ ,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--基本单位已领数量
+ ,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--基本单位已领数量
+ ,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--基本单位未领数量
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS'
+ ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS'
+ INTO #TEMPMOQTY
+FROM #TEMPMO t0
+ --INNER JOIN T_PRD_PPBOM t1 ON t0.FENTRYID = t1.FMOENTRYID AND t0.FMATERIALID = t1.FMATERIALID
+ INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --生产用料清单表体
+ INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID
+ INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID
+GROUP BY
+ t0.FMATERIALID,t1e.FMATERIALID,t1e_c.FSTOCKID
+
+SELECT t0.ProMaterialId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
+ INTO #TEMPMONO2Pro
+FROM #TEMPMOQTY t0
+GROUP BY t0.ProMaterialId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
+
+SELECT 序号 AS 'FIDENTITYID'
+ ,物料内码
+ ,物料代码,物料名称,规格型号,旧编码
+ ,上期结存,本期采购入库,本期耗用,期末结存
+ ,销售出库数量,仓库拨出数量,仓库拨入数量,申购未转数
+ ,在途量,在制数,进检量,未发量,领料数量,受订量,占用量,可用库存
+ ,仓库代码,仓库名称,包装方式,产品代码
+ ,t1.FBASENEEDQTY
+ ,t1.FBASENOPICKEDQTY
+ ,t1.FBASEPICKEDQTY
+ --,CASE CHARINDEX(',',t2.MONOS) WHEN 0 THEN t2.MONOS ELSE '' END AS 'MONO'
+ --,CASE CHARINDEX(',',t2.SALENOS) WHEN 0 THEN t2.SALENOS ELSE '' END AS 'SALENO'
+ ,t2.SALENOS AS SALENO
+ ,t2.MONOS AS MONO
+ ,t2.SALENOS,t2.MOENTRYIDS,t2.MOIDS,t2.ProMaterialId
+ INTO {0}
+FROM #Stock_Bom t0
+ LEFT JOIN #TEMPMONO2Pro t2 on t2.ProMaterialId = t0.FProMaterialId
+ LEFT JOIN #TEMPMOQTY t1 ON t0.物料内码 = t1.FMATERIALID AND t0.仓库内码 = t1.FSTOCKID AND t0.FProMaterialId = t1.ProMaterialId
+
+DROP TABLE #TEMPMO
+DROP TABLE #TEMPMOQTY
+DROP TABLE #TEMPMONO2Pro
+DROP TABLE #Stock_Bom
+DROP TABLE #TMP
+DROP TABLE #TMP1
+DROP TABLE #TMPLINK
+DROP TABLE #TMPLINK1
+DROP TABLE #TMP4
+DROP TABLE #TMP5
+DROP TABLE #TMP6
+DROP TABLE #TMP7
+DROP TABLE #TMP8
+DROP TABLE #tmpSal
+DROP TABLE #tmpSal1
+DROP TABLE #tmpSal2
+DROP TABLE #tmpSal3
+DROP TABLE #tmpMO
+DROP TABLE #tmpMO1
+DROP TABLE #tmpMO2
+DROP TABLE #tmpMO3
+
+DROP TABLE #TMPREQ
+DROP TABLE #TMPREQ1
+DROP TABLE #TMPREQ2
+DROP TABLE #TMPREQ3
+DROP TABLE #TMPRECEIVE
+DROP TABLE #TMPRECEIVE1
+DROP TABLE #TMPRECEIVE2
+DROP TABLE #TMPRECEIVE3
+DROP TABLE #tmppoorder
+DROP TABLE #tmppoorder1
+DROP TABLE #tmppoorder2
+DROP TABLE #tmppoorder3
+DROP TABLE #tmpPPBOM
+DROP TABLE #tmpPPBOM1
+DROP TABLE #tmpPPBOM2
+DROP TABLE #tmpPPBOM3
+DROP TABLE #tmpSUBBOM
+DROP TABLE #tmpSUBBOM1
+DROP TABLE #tmpSUBBOM2
+DROP TABLE #tmpSUBBOM3
+DROP TABLE #Stock_Status_temp
+SET nocount off
+ """).format(tableName,_lcId,whereSql,_F_ora_SDate,_F_ora_EDate,_FSStock);
+ # raise Exception(sql);#可以通过此方法弹出Sql语句进行调试验证
+ cu = DBUtils.Execute(this.Context,sql);#执行SQL,将报表数据写入临时表
+
+#构建账表列头
+def GetReportHeaders(rptfilter):
+
+ header = ReportHeader();
+ localEid = this.Context.UserLocale.LCID;#获取当前语言环境代码,中文为2052
+ # 索引
+ global _colIndex
+ _colIndex = 0;
+ def Incr1(val = 1):
+ global _colIndex
+ _resNum = _colIndex
+ _colIndex += val
+ return _resNum
+ datas = [
+ {"fieldName" :"FIDENTITYID", "showName" :"序号" }
+ ,{"fieldName" :"MONO", "showName" :"生产订单号" }
+ ,{"fieldName" :"SALENO", "showName" :"销售订单号" }
+ ,{"fieldName" :"产品代码", "showName" :"产品代码" }
+ ,{"fieldName" :"物料代码", "showName" :"物料代码" }
+ ,{"fieldName" :"物料名称", "showName" :"物料名称" }
+ ,{"fieldName" :"规格型号", "showName" :"规格型号" }
+ ,{"fieldName" :"FBASENEEDQTY", "showName" :"订单.需求数量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"FBASENOPICKEDQTY", "showName" :"订单.未领数量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"FBASEPICKEDQTY", "showName" :"订单.已领数量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"上期结存", "showName" :"上期结存" }
+ ,{"fieldName" :"本期采购入库", "showName" :"本期采购入库","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"本期耗用", "showName" :"本期耗用","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"期末结存", "showName" :"期末结存","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"在途量", "showName" :"在途量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"在制数", "showName" :"在制数","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"进检量", "showName" :"进检量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"未发量", "showName" :"未发量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"领料数量", "showName" :"领料数量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"销售出库数量", "showName" :"销售出库数量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"仓库拨出数量", "showName" :"仓库拨出数量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"仓库拨入数量", "showName" :"仓库拨入数量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"申购未转数", "showName" :"申购未转数","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"受订量", "showName" :"受订量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"占用量", "showName" :"占用量","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"可用库存", "showName" :"可用库存","dataType":SqlStorageType.SqlDecimal }
+ ,{"fieldName" :"仓库代码", "showName" :"仓库代码" }
+ ,{"fieldName" :"仓库名称", "showName" :"仓库名称" }
+ ,{"fieldName" :"包装方式", "showName" :"包装方式" }
+ ,{"fieldName" :"旧编码", "showName" :"旧编码" }
+ ];
+
+ for item in datas:
+ head = header.AddChild(item["fieldName"], LocaleValue(item["showName"], localEid), Incr1())
+ if "dataType" in item:
+ head.ColType = item["dataType"]
+ if "Mergeable" in item:
+ head.Mergeable = item["Mergeable"]
+ if "IsLeaf" in item:
+ head.IsHyperlink = item["IsHyperlink"]
+
+ return header;
+
+#设置报表表头字段值
+#这里主要是把过滤框设置的字段值,显示到报表表头
+def GetReportTitles(rptfilter):
+ reportTitles = ReportTitles();
+
+ custFilter = rptfilter.FilterParameter.CustomFilter;
+ if(custFilter == None):
+ return;
+ _proMaterialId = custFilter["ProMaterialId"];
+ # _materialId = custFilter["MaterialId"];
+
+ _billNo = objEx.ToSafeString(custFilter["BILLNO"]);
+ # _PPBomBillNo = objEx.ToSafeString(custFilter["PPBOMBILLNO"]);
+ _saleOrderNo = objEx.ToSafeString(custFilter["SALEORDERNO"]);
+ _F_ora_SDate = objEx.ToSafeString(custFilter["F_ora_SDate"])
+ _F_ora_EDate = objEx.ToSafeString(custFilter["F_ora_EDate"])
+ # 仓库
+ _stockSelectCollection = custFilter["FStockSelect"]
+ if(_proMaterialId != None):
+ reportTitles.AddTitle("FTitleProMaterialId", _proMaterialId["Name"]);
+ # if(_materialId != None):
+ # reportTitles.AddTitle("FTitleMaterialId", _materialId["Name"]);
+ if(_billNo != ""):
+ reportTitles.AddTitle("FTitleBILLNO", _billNo);
+ # if(_PPBomBillNo != ""):
+ # reportTitles.AddTitle("FTitlePPBOMBILLNO", _PPBomBillNo);
+ if(_saleOrderNo != ""):
+ reportTitles.AddTitle("FTitleSALEORDERNO", _saleOrderNo);
+ if(_F_ora_SDate != ""):
+ reportTitles.AddTitle("F_ora_SDate", _F_ora_SDate);
+ if(_F_ora_EDate != ""):
+ reportTitles.AddTitle("F_ora_EDate", _F_ora_EDate);
+
+ if _stockSelectCollection != None and _stockSelectCollection.Count > 0:
+ nameList = list(map(lambda x : str(x["FStockSelect"]["Name"]), _stockSelectCollection))
+ _stockNames = ",".join(nameList)
+ reportTitles.AddTitle("FStockSelect" ,_stockNames)
+
+ return reportTitles;
+
+#报表关闭触发,通常在此处清理报表过程产生的临时表
+def CloseReport():
+ this.DropTempTable();
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/生产订单保存插件.py b/03.珠海市汇威精密制造有限公司/HW.Python/生产订单保存插件.py
new file mode 100644
index 0000000..970c319
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/生产订单保存插件.py
@@ -0,0 +1,52 @@
+#clrп
+import clr
+#Ӷcloudij
+clr.AddReference('System')
+clr.AddReference('System.Data')
+clr.AddReference('Kingdee.BOS')
+clr.AddReference('Kingdee.BOS.Core')
+clr.AddReference('Kingdee.BOS.App')
+clr.AddReference('Kingdee.BOS.Contracts')
+clr.AddReference('Kingdee.BOS.DataEntity')
+clr.AddReference('Kingdee.BOS.ServiceHelper')
+#dairycloudеijʵռ䵼룬ݹ鵼룩
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Util import *
+from Kingdee.BOS.Core.Bill import *
+from Kingdee.BOS.Core.Bill.PlugIn import *
+from Kingdee.BOS.Orm.DataEntity import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
+from System import *
+from System.Data import *
+from Kingdee.BOS.App.Data import *
+from System.Collections.Generic import List
+from Kingdee.BOS.ServiceHelper import *
+
+# def OnPreparePropertys(e):
+# e.FieldKeys.Add("F_CYG_Worktype")
+
+def EndOperationTransaction(e):
+ # 8ύ9126
+ if this.FormOperation.OperationId == 8:
+ if e.DataEntitys != None and e.DataEntitys.Count > 0:
+ idList = set(map(lambda x : str(x["Id"]),e.DataEntitys))
+
+ sql ="""/*dialect*/
+--
+UPDATE t1e SET t1e.FMJDZDZID = t0.FMJDZDZID
+FROM T_ENG_BOM t0
+ INNER JOIN T_PRD_MOENTRY t1e on t0.FID = t1e.FBOMID
+WHERE t0.FMJDZDZID != 0 AND t1e.FMJDZDZID != t0.FMJDZDZID
+ AND t1e.FID IN ({0})
+
+--嵥
+UPDATE t0 SET t0.FMJDZDZID = t1.FMJDZDZID
+FROM T_PRD_PPBOM t0
+ INNER JOIN T_ENG_BOM t1 on t0.FBOMID = t1.FID
+WHERE t1.FMJDZDZID != 0 AND t1.FMJDZDZID != t0.FMJDZDZID
+ AND t0.FMOID IN ({0})
+ """.format(",".join(idList))
+
+ DBUtils.Execute(this.Context,sql)
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/穿透表.py b/03.珠海市汇威精密制造有限公司/HW.Python/穿透表.py
new file mode 100644
index 0000000..81991d8
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/穿透表.py
@@ -0,0 +1,102 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("System.Data")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+from Kingdee.BOS import *
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Bill import *
+from Kingdee.BOS.Core.List import *
+from Kingdee.BOS.Core.Report import *
+from System import *
+from System.Data import *
+from System.Net import *
+from System.Text import *
+from Kingdee.BOS.App.Data import *
+from Kingdee.BOS.Core.List.PlugIn import *
+from Kingdee.BOS.Core.List.PlugIn.Args import *
+
+# def FormatCellValue(args):
+# # ڸʽ
+# if args.Header.ColType == SqlStorageType.SqlDatetime:
+# args.FormateValue = ("{0}").format(DateTime.Parse(str(args.FormateValue)).ToString("yyyy-MM-dd"))
+
+def CellDbClick(e):
+ e.Cancel = True
+ fldKey = e.Header.FieldName;
+ #
+ if fldKey == "MONO":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex - 1
+ data = tab.Rows[row]
+ moIds = "0";
+ if data["MOIDS"] !=None and data["MOIDS"] != "":
+ moIds = data["MOIDS"];
+ filterStr = "FID IN ({0}) AND FMATERIALID = {1} ".format(moIds,data["ProMaterialId"])
+ ShowListForm("PRD_MO", filterStr)
+
+ # .
+ if fldKey == "FBASENEEDQTY":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex - 1
+ data = tab.Rows[row]
+ moIds = "0";
+ if data["MOIDS"] !=None and data["MOIDS"] != "":
+ moIds = data["MOIDS"];
+ filterStr = "t1.FMOID IN ({0}) AND t1.FMATERIALID = {1} ".format(moIds,data[""])
+ ShowListForm("PRD_PPBOM", filterStr)
+ # .δ
+ if fldKey == "FBASENOPICKEDQTY":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex - 1
+ data = tab.Rows[row]
+ moIds = "0";
+ if data["MOIDS"] !=None and data["MOIDS"] != "":
+ moIds = data["MOIDS"];
+ filterStr = "t1.FMOID IN ({0}) AND t1.FMATERIALID = {1} ".format(moIds,data[""])
+ ShowListForm("PRD_PPBOM", filterStr)
+ # δ
+ if fldKey == "δ":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex - 1
+ data = tab.Rows[row]
+ filterStr = "EXISTS (SELECT 1 FROM T_PRD_MOENTRY_A tt WHERE tt.FID = t1.FMOID AND tt.FSTATUS = 4 ) AND t1.FMATERIALID = {0} ".format(data[""])
+ ShowListForm("PRD_PPBOM", filterStr)
+ #
+ if fldKey == "":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex - 1
+ data = tab.Rows[row]
+ filterStr = "EXISTS (SELECT 1 FROM T_PRD_MOENTRY_A tt WHERE tt.FENTRYID = t1.FENTRYID AND tt.FSTATUS = 4 ) AND t1.FMATERIALID = {0} ".format(data[""])
+ ShowListForm("PRD_PPBOM", filterStr)
+ # ;
+ if fldKey == ";":
+ reportModel = this.Model
+ tab = reportModel.DataSource
+ row = e.CellRowIndex - 1
+ data = tab.Rows[row]
+ filterStr = "FMRPCLOSESTATUS = 'A' AND FCloseStatus = 'A' AND FMATERIALID = {0} AND FBASEUNITQTY >= FBASESTOCKINQTY".format(data[""])
+ # ShowListForm("PUR_PurchaseOrder", filterStr)
+ showParam = ListShowParameter();
+ showParam.FormId = "PUR_PurchaseOrder";
+ showParam.ParentPageId = this.View.PageId;
+ showParam.OpenStyle.ShowType = ShowType.Floating;
+ showParam.ListFilterParameter.Filter = filterStr
+ showParam.IsShowQuickFilter = True;
+ this.View.ShowForm(showParam)
+
+def ShowListForm(_fromId, _filter, _operationStatus = OperationStatus.VIEW ,_openStyleShowType = ShowType.Floating):
+ showParam = ListShowParameter();
+ showParam.FormId = _fromId;
+ showParam.ParentPageId = this.View.PageId;
+ showParam.OpenStyle.ShowType = _openStyleShowType;
+ showParam.ListFilterParameter.Filter = _filter
+ showParam.IsShowQuickFilter = True;
+ this.View.ShowForm(showParam)
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/类1.py b/03.珠海市汇威精密制造有限公司/HW.Python/类1.py
new file mode 100644
index 0000000..ba97fdb
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/类1.py
@@ -0,0 +1,181 @@
+import clr
+clr.AddReference("System")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.DataEntity")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.Contracts")
+clr.AddReference("Kingdee.BOS.ServiceHelper")
+from Kingdee.BOS import*
+from Kingdee.BOS.Contracts import*
+from Kingdee.BOS.Contracts.Report import*
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Metadata import *
+from Kingdee.BOS.Core.Report import*
+from Kingdee.BOS.Core.SqlBuilder import*
+from Kingdee.BOS.Core.Enums import *
+from Kingdee.BOS.App.Data import*
+from Kingdee.BOS.Orm.DataEntity import*
+from System import*
+from System.ComponentModel import*
+from System.Collections.Generic import*
+from System.Text import*
+from System.Threading.Tasks import*
+from Kingdee.BOS.ServiceHelper import *
+#ʼڴ¼ñȫֲ
+def Initialize():
+ this.ReportProperty.ReportType=ReportType.REPORTTYPE_NORMAL;
+ this.IsCreateTempTableByPlugin=True;
+ #Ƿַ֧,ںGetSummaryColumnInfoӻֶ,
+ #ҪBOSй˿ĻҳǩûϢ,ɲο:˱
+ this.ReportProperty.IsGroupSummary=True;
+ #IsUIDesignerColumns=False,ʾͨ,GetReportHeadersйͷ
+ #ҪBOS˿ʾά,ֶαʶʱֶαһ
+ #˱ͷϸ˵ο:˱й
+ this.ReportProperty.IsUIDesignerColumns=False;
+
+#ʱ,ʽ˱ȡsqlƴӲȡ˱ȡŵʱ
+#(this.IsCreateTempTableByPlugin=True)BuilderReportSqlAndTempTableʱ
+#3ӿڣ˱ȡsqlָBuilderSelectFieldSQLBuilderTempTableOrderBySQLBuilderFormWhereSQL
+#rptfilter:˱Դȡ
+#tableName:ϵͳԶ˱ʱ߱ΨһԣձҳչʾݰʱյıҪдʱ
+def BuilderReportSqlAndTempTable(rptfilter,tableName):
+ #baseDataTemp=filter.BaseDataTempTable;#ʱ;ݷΧȨޣñѸݷΧ˳ʱ
+ #ѭȡлݷΧݣƴӵSQLʵȨ
+ #for b in baseDataTemp:
+ # baseType=b.BaseDataFormId;#FormId
+ # PKFldName=b.PKFieldName;#ʱлֶ,,FORGID
+ # baseTempTab=b.TempTable;#ݷΧʱ
+ #filterStr=filter.FilterParameter.FilterString;#˿ҳǩ˱ʽ
+ #˿ݹҳǩʵݰȡԶĹֵֶ
+ #DynamicObject,ǰ潲ʵݰʽȡֵðʵԱʶ
+ custFilter = rptfilter.FilterParameter.CustomFilter;
+ if(custFilter==None):
+ return;
+ orgObj=custFilter["F_BPW_OrgId"];#ȡ֯
+ whereOrgs="";
+ if(orgObj != None):
+ orgId=("{0}").format(orgObj["Id"]);#֯ID
+ whereOrgs=(" and a.FPURCHASEORGID in ({0}) ").format(orgId);#ѡ֯ƴ֯
+ materials=custFilter["F_BPW_Materials"];#϶ѡ
+ matList=List[str]();
+ if(materials != None):
+ for m in materials:
+ materialNum="'"+str(m["F_BPW_Materials"]["Number"])+"'";#ȡ˿ѡĶϱ
+ matList.Add(materialNum);
+ whereMat=(" and m.FNumber in ({0})").format(str.Join(",",matList)) if(matList.Count>0) else "";#ƴ϶ѡ
+ beginDate=str(custFilter["F_BPW_BeginDate"]);#ȡʼ
+ EndDate=str(custFilter["F_BPW_EndDate"]);#ȡ
+ beginDate=str(DateTime.Parse(("{0}").format(beginDate)).AddDays(-1));#ʼڵǰһ
+ itemDate=beginDate;
+ fldsSql=List[str]();#̬ͷSQL,൱SelectIJֶǶ̬ƴӵģԴʵֶ̬
+ #ӿʼѭ1죬һֱڣ˽Ҫ¼Ŀʼڱ<,ڹ˽עʵ
+ while(itemDate != EndDate):
+ myDate=DateTime.Parse(("{0}").format(itemDate));
+ fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);#ÿڹΨһ
+ ss=("{0}=SUM(Case when a.FDATE='{1}' then b.FQty else 0 end)").format(fldKey,myDate);#ÿ충ϼSQL
+ fldsSql.Add(ss);#SQLӵ̬SQLб
+ nextDate=myDate.AddDays(1);
+ itemDate=str(nextDate);#+1
+ myDate=DateTime.Parse(("{0}").format(itemDate));#ѡĽֹڣѭһˣﲹһ
+ fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);
+ ss=("{0}=SUM(Case when a.FDATE='{1}' then b.FQty else 0 end)").format(fldKey,myDate);
+ fldsSql.Add(ss);#SQLӵ̬SQLб
+ #raise Exception(str.Join(',',fldsSql));#ʱôд룬Ķ̬SQLԲ
+ #װд뱨ʱSQL
+ #ע!!!: ʱһҪFIDENTITYID Ҫ1ʼҲظ ϺţȻǰ̨ʾհ!!!!
+ sql=("""/*dialect*/?select row_Number() Over(order by a.orgName,a.MaterialNum) FIDENTITYID, a.*
+into {0}
+from
+(select orgL.FNAME orgName,m.FNUMBER MaterialNum,mL.FNAME materialName,mL.FSPECIFICATION SpecNum,unitL.FNAME unit,
+{1}
+from t_PUR_POOrder a
+inner join T_ORG_ORGANIZATIONS org on org.FORGID=a.FPURCHASEORGID
+inner join T_ORG_ORGANIZATIONS_L orgL on orgL.FORGID=org.FORGID and orgL.FLOCALEID=2052
+inner join t_PUR_POOrderEntry b on a.FID=b.FID
+inner join T_BD_MATERIAL m on m.FMATERIALID=b.FMATERIALID
+inner join T_BD_MATERIAL_L mL on mL.FMATERIALID=m.FMATERIALID and mL.FLOCALEID=2052
+inner Join T_BD_UNIT_L unitL on unitL.FUNITID=b.FUNITID and unitL.FLOCALEID=2052
+where a.FDATE>='{3}' and a.FDATE<='{4}' {2} {5}
+group by orgL.FNAME,m.FNUMBER,mL.FNAME,mL.FSPECIFICATION,unitL.FNAME
+) a
+ """).format(tableName,str.Join(',',fldsSql),whereOrgs,beginDate,EndDate,whereMat);
+ #raise Exception(sql);#ͨ˷Sqlе֤
+ DBUtils.Execute(this.Context,sql);#ִSQLдʱ
+
+#˱ͷ
+def GetReportHeaders(Filter):
+ header=ReportHeader();
+ localEid=this.Context.UserLocale.LCID;#ȡǰԻ,Ϊ2052
+ header.AddChild("orgName",LocaleValue("ɹ֯",localEid));#ֶ,ͷ,ֶʱеֶֶӦ൱ÿһͷӦʱĸֶ
+ header.AddChild("MaterialNum",LocaleValue("ϱ",localEid));
+ header.AddChild("materialName",LocaleValue("",localEid));
+ header.AddChild("SpecNum",LocaleValue("ͺ",localEid));
+ header.AddChild("unit",LocaleValue("ɹλ",localEid));
+
+ #ݹѡ䣬̬ͷ,湹SQLֶε
+ custFilter = Filter.FilterParameter.CustomFilter;
+ beginDate=str(custFilter["F_BPW_BeginDate"]);#ȡʼ
+ EndDate=str(custFilter["F_BPW_EndDate"]);#ȡ
+ itemDate=beginDate;
+ fldsSql=List[str]();
+ while(itemDate != EndDate):
+ myDate=DateTime.Parse(("{0}").format(itemDate));
+ fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);#ֶҪǰ湹SQLֶζӦ
+ header.AddChild(fldKey,LocaleValue(str(("{0}-{1}-{2}").format(myDate.Year,myDate.Month,myDate.Day)),localEid),SqlStorageType.SqlDecimal);
+ nextDate=myDate.AddDays(1);
+ itemDate=str(nextDate);
+ myDate=DateTime.Parse(("{0}").format(itemDate));
+ fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);#ֶҪǰ湹SQLֶζӦ
+ header.AddChild(fldKey,LocaleValue(str(("{0}-{1}-{2}").format(myDate.Year,myDate.Month,myDate.Day)),localEid),SqlStorageType.SqlDecimal);
+#еʹͷ˳ʾ
+ colIndex=0;
+ for child in header.GetChilds():
+ if(child.GetChildCount()==0):
+ child.ColIndex=colIndex;
+ colIndex=colIndex+1;
+ else:
+ child.ColIndex = colIndex;
+ colIndex=colIndex+1;
+ for childHeader in child.GetChilds():
+ childHeader.ColIndex=colIndex;
+ colIndex=colIndex+1;
+ return header;
+
+#ñͷֵֶ
+#Ҫǰѹ˿õֵֶʾͷ
+def GetReportTitles(Filter):
+ reportTitles=ReportTitles();
+ custFilter=Filter.FilterParameter.CustomFilter;#ȡ˿ݰ
+ orgObj=custFilter["F_BPW_OrgId"];#ȡ֯
+ beginDate=str(custFilter["F_BPW_BeginDate"]);#ȡʼ
+ EndDate=str(custFilter["F_BPW_EndDate"]);#ȡ
+ if(orgObj != None):
+ reportTitles.AddTitle("F_BPW_OrgId", orgObj["Name"]);
+ reportTitles.AddTitle("F_BPW_BeginDate", beginDate);
+ reportTitles.AddTitle("F_BPW_EndDate", EndDate);
+ return reportTitles;
+
+#ñײϼ
+def GetSummaryColumnInfo(rptfilter):
+ result=List[SummaryField]();
+ #ֶǶ̬ģҲҪ̬Ӻϼ,ֶǰ汣һ
+ custFilter = rptfilter.FilterParameter.CustomFilter;
+ beginDate=str(custFilter["F_BPW_BeginDate"]);#ȡʼ
+ EndDate=str(custFilter["F_BPW_EndDate"]);#ȡ
+ itemDate=beginDate;
+ fldsSql=List[str]();
+ while(itemDate != EndDate):
+ myDate=DateTime.Parse(("{0}").format(itemDate));
+ fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);#ֶҪǰ湹SQLֶζӦ
+ result.Add(SummaryField(fldKey,BOSEnums.Enu_SummaryType.SUM));
+ nextDate=myDate.AddDays(1);
+ itemDate=str(nextDate);
+ myDate=DateTime.Parse(("{0}").format(itemDate));
+ fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);
+ result.Add(SummaryField(fldKey,BOSEnums.Enu_SummaryType.SUM));
+ return result;
+
+#رմͨڴ˴̲ʱ
+def CloseReport():
+ this.DropTempTable();
diff --git a/03.珠海市汇威精密制造有限公司/HW.Python/计划订单投放插件.py b/03.珠海市汇威精密制造有限公司/HW.Python/计划订单投放插件.py
new file mode 100644
index 0000000..b8705f3
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW.Python/计划订单投放插件.py
@@ -0,0 +1,56 @@
+#clrп
+import clr
+#Ӷcloudij
+clr.AddReference('System')
+clr.AddReference('System.Data')
+clr.AddReference('Kingdee.BOS')
+clr.AddReference('Kingdee.BOS.Core')
+clr.AddReference('Kingdee.BOS.App')
+clr.AddReference('Kingdee.BOS.Contracts')
+clr.AddReference('Kingdee.BOS.DataEntity')
+clr.AddReference('Kingdee.BOS.ServiceHelper')
+#dairycloudеijʵռ䵼룬ݹ鵼룩
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Util import *
+from Kingdee.BOS.Core.Bill import *
+from Kingdee.BOS.Core.Bill.PlugIn import *
+from Kingdee.BOS.Orm.DataEntity import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
+from System import *
+from System.Data import *
+from Kingdee.BOS.App.Data import *
+from System.Collections.Generic import List
+from Kingdee.BOS.ServiceHelper import *
+
+# def OnPreparePropertys(e):
+# e.FieldKeys.Add("F_CYG_Worktype")
+
+def EndOperationTransaction(e):
+ # 8ύ9126
+ if this.FormOperation.Operation == "Release": #Ͷ
+ if e.DataEntitys != None and e.DataEntitys.Count > 0:
+ idList = set(map(lambda x : str(x["Id"]),e.DataEntitys))
+
+ sql ="""/*dialect*/
+UPDATE t0e SET t0e.FMJDZDZID = t1.FMJDZDZID
+FROM T_PRD_MOENTRY t0e
+ --INNER JOIN T_PRD_MOENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID
+ INNER JOIN T_ENG_BOM t1 on t0e.FBOMID = t1.FID
+ INNER JOIN T_PLN_PLANORDER t2 on t2.FBILLNO = t0e.FSRCBILLNO
+WHERE 1 = 1
+ AND t0e.FSRCBILLTYPE = 'PLN_PLANORDER'
+ --AND t2.FID IN ({0})
+
+UPDATE t0 SET t0.FMJDZDZID = t1.FMJDZDZID
+FROM T_PRD_PPBOM t0
+ INNER JOIN T_ENG_BOM t1 on t0.FBOMID = t1.FID
+ INNER JOIN T_PRD_MOENTRY t2e on t2e.FENTRYID = t0.FMOENTRYID
+ INNER JOIN T_PLN_PLANORDER t3 on t3.FBILLNO = t2e.FSRCBILLNO
+WHERE 1 = 1
+ AND t2e.FSRCBILLTYPE = 'PLN_PLANORDER'
+ AND t3.FID IN ({0})
+ """.format(",".join(idList))
+
+ DBUtils.Execute(this.Context,sql)
diff --git a/03.珠海市汇威精密制造有限公司/HW/HW.csproj b/03.珠海市汇威精密制造有限公司/HW/HW.csproj
new file mode 100644
index 0000000..9d5e46b
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/HW.csproj
@@ -0,0 +1,87 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {EFAEA205-7808-498D-9D82-91ACF2F663DB}
+ Library
+ Properties
+ HW
+ HW
+ v4.0
+ 512
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Contracts.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Core.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.DataEntity.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Model.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.BD.Contracts.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.Core.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.SCM.App.Sal.Report.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.SCM.Sal.Report.PlugIn.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/06.泰诺麦博/TNMB.PUR_RPT_POOrderTrace/Properties/AssemblyInfo.cs b/03.珠海市汇威精密制造有限公司/HW/Properties/AssemblyInfo.cs
similarity index 83%
rename from 06.泰诺麦博/TNMB.PUR_RPT_POOrderTrace/Properties/AssemblyInfo.cs
rename to 03.珠海市汇威精密制造有限公司/HW/Properties/AssemblyInfo.cs
index 951b346..83edcb3 100644
--- a/06.泰诺麦博/TNMB.PUR_RPT_POOrderTrace/Properties/AssemblyInfo.cs
+++ b/03.珠海市汇威精密制造有限公司/HW/Properties/AssemblyInfo.cs
@@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
-[assembly: AssemblyTitle("TNMB.PUR_RPT_POOrderTrace")]
+[assembly: AssemblyTitle("HW")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("TNMB.PUR_RPT_POOrderTrace")]
-[assembly: AssemblyCopyright("Copyright © 2023")]
+[assembly: AssemblyProduct("HW")]
+[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -20,7 +20,7 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
-[assembly: Guid("bcc79c5a-0154-4484-981e-13b7a4ffb4d3")]
+[assembly: Guid("efaea205-7808-498d-9d82-91acf2f663db")]
// 程序集的版本信息由下列四个值组成:
//
diff --git a/03.珠海市汇威精密制造有限公司/HW/SaleOutStockDetailRptPlugInEx/SaleOutStockDetailRptEx.cs b/03.珠海市汇威精密制造有限公司/HW/SaleOutStockDetailRptPlugInEx/SaleOutStockDetailRptEx.cs
new file mode 100644
index 0000000..a3b9e55
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SaleOutStockDetailRptPlugInEx/SaleOutStockDetailRptEx.cs
@@ -0,0 +1,55 @@
+using Kingdee.BOS.App.Data;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.Core.Report;
+using Kingdee.K3.SCM.App.Sal.Report;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HW.SaleOutStockDetailRptPlugInEx
+{
+ internal class SaleOutStockDetailRptEx: SaleOutStockDetailRpt
+ {
+ private string[] TempTableName;
+
+ public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
+ {
+ //创建临时表用于保存自己的数据
+ IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService();
+ TempTableName = dbservice.CreateTemporaryTableName(this.Context, 1);
+ string strTable = TempTableName[0];
+
+ //调用基类方式获取初步查询数据
+ base.BuilderReportSqlAndTempTable(filter, strTable);
+
+ string strSql = $@"/*dialect*/
+SELECT
+ A.*
+ ,BE.F_ORA_TEXT2 AS FSALESCATEGORY
+ INTO {tableName}
+FROM
+ {strTable} A
+ LEFT JOIN T_SAL_OUTSTOCK B ON A.FID = B.FID AND A.FBILLNUMBER = B.FBILLNO
+ LEFT JOIN T_SAL_OUTSTOCKENTRY BE ON A.FID = B.FID AND BE.FENTRYID = A.FENTRYID ";
+
+ DBUtils.Execute(this.Context, strSql);
+ }
+
+ public override void CloseReport()
+ {
+ //删除临时表
+ if (TempTableName == null || TempTableName.Length == 0)
+ {
+ return;
+ }
+
+ IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService();
+
+ dbservice.DeleteTemporaryTableName(this.Context, TempTableName);
+
+
+ base.CloseReport();
+ }
+ }
+}
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/SQLQuery4.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/SQLQuery4.sql
new file mode 100644
index 0000000..4b5d47d
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/SQLQuery4.sql
@@ -0,0 +1,55 @@
+SELECT * INTO #TMP123 FROM #TPRDMOINFO
+DROP TABLE #TPRDMOINFO
+
+SELECT
+ '' AS 'к',
+ '' AS '',
+ A.FBILLNO AS 'Ͷϵ',
+ '' AS '۶',
+ '' AS 'λ',
+ A.FMNEMONICCODE AS '',
+ A.FBILLNO AS '',
+ A.FNUMBER AS 'Ʒ',
+ A.FNAME AS 'Ʒ',
+ A.FSPECIFICATION AS 'Ʒͺ',
+ A.FNAME AS 'Ʒλ',
+ A.FQTY AS 'Ʒ',
+ A.FNUMBER AS 'ϴ',
+ A.FNAME AS '',
+ ( CASE A.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END ) AS 'Դ',
+ A.FSPECIFICATION AS 'Ϲͺ',
+ '' AS 'ϼ',
+ A.FSTDQTY AS 'ϵλ',
+ A.FUNITID AS 'ϵλ',
+ A.FINVENTORYQTY AS 'Ͽ',
+ '' AS 'ϴ',
+ A.FNEEDQTY AS '',
+ '' AS 'ǰƷ',
+ '' AS 'Ƿ',
+ '' AS ';',
+ '' AS 'ƻͶ',
+ A.FPICKEDQTY AS '',
+ A.FNOPICKEDQTY AS 'δ',
+ '' AS '',
+ A.FMUSTQTY AS 'Ӧ',
+ '' AS 'ע',
+ '' AS '',
+ A.FSCRAPQTY AS '',
+ '' AS 'ƻ',
+ '' AS 'ֿ',
+ '' AS 'λ',
+ A.FREPICKEDQTY AS '',
+ A.FPLANSTARTDATE AS 'ƻ',
+ A.FPLANFINISHDATE AS 'ƻ깤',
+ '' AS 'λ',
+ '' AS 'ע',
+ '' AS 'BOMע',
+ A.FBILLTYPE AS '',
+ A.FWORKSHOPID AS '',
+ ( CASE AE_A.FSTATUS WHEN 6 THEN 'ѽ' ELSE '' END ) AS '',
+ A.FDOCUMENTSTATUS AS 'Ͷϵ״̬',
+ '' AS 'PRδתPO'
+FROM
+ #TMP123 A
+
+ DROP TABLE #TMP123
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/SQLQuery5.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/SQLQuery5.sql
new file mode 100644
index 0000000..029a63c
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/SQLQuery5.sql
@@ -0,0 +1,21 @@
+
+SELECT
+ TOP 1000
+ T0E.FMATERIALID
+ ,T0E.FMATERIALIDSUB
+FROM
+ T_PRD_PMPPBOMENTRY T0E
+ INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID
+WHERE T0E.FID = 101118
+GROUP BY T0E.FMATERIALID,T0E.FMATERIALIDSUB
+
+
+SELECT
+ TOP 1000
+ t0E.*
+ ,T0E_A.*
+FROM
+ T_PRD_LACKANALYSEBILL t0
+ INNER JOIN T_PRD_PMPPBOMENTRY T0E on t0.FID = T0E.FID
+ INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID
+WHERE t0.FBILLNO = 'SCQL000671'
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/仓位值1.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/仓位值1.sql
new file mode 100644
index 0000000..2befea2
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/仓位值1.sql
@@ -0,0 +1,37 @@
+SELECT * FROM T_BD_STOCK
+SELECT * FROM T_BD_STOCKFLEXITEM
+SELECT * FROM T_BD_STOCKFLEXDETAIL
+SELECT * FROM T_BAS_FLEXVALUES
+SELECT * FROM T_BAS_FLEXVALUESENTRY
+SELECT * FROM T_BAS_FLEXVALUESENTRY_L
+SELECT * FROM T_BD_FLEXVALUESCOM
+SELECT * FROM T_BAS_FLEXVALUESDETAIL
+
+SELECT
+ t1.FNUMBER
+ ,t1_l.FNAME
+ ,t0.FMATERIALID
+ ,t0.FSTOCKID
+ ,t0.FSTOCKLOCID
+ ,stuff((select CAST(t2.FF100001 AS varchar) +'.'+ CAST(t2.FF100002 AS varchar) FROM T_BAS_FLEXVALUESDETAIL t2 WHERE t2.FID = t0.FSTOCKLOCID for xml path('')),1,1,'')
+FROM T_STK_INVENTORY t0
+ LEFT JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = 2052
+ --LEFT JOIN T_BAS_FLEXVALUESDETAIL t2 on t2.FID = t0.FSTOCKLOCID
+WHERE
+ t0.FSTOCKLOCID > 0
+
+DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX);
+SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('t0.',t0.FFLEXNUMBER)
+FROM T_BAS_FLEXVALUES t0
+WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A'
+
+SET @sql = N'
+SELECT
+ t0.FID
+ ,CONCAT(' + @columns + ' +''.'', '''')
+FROM T_BAS_FLEXVALUESDETAIL t0
+
+';
+
+EXEC sp_executesql @sql;
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/仓位值2.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/仓位值2.sql
new file mode 100644
index 0000000..9cadc9b
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/仓位值2.sql
@@ -0,0 +1,26 @@
+DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX),@LOCALEID char(10);
+SET @LOCALEID = '2052'
+SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('',t0.FFLEXNUMBER)
+FROM T_BAS_FLEXVALUES t0
+WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A'
+
+SET @SQL = N'
+SELECT
+ t0.FID
+ ,t0.aColumn
+ ,t0.aValue
+ ,t1e_l.FNAME
+ ,ROW_NUMBER() OVER (PARTITION BY t0.FID ORDER BY t1.FNUMBER) AS RowId
+FROM
+ (SELECT FID,'+@columns+'
+ FROM T_BAS_FLEXVALUESDETAIL) AS P
+UNPIVOT
+ (aValue FOR aColumn IN
+ ('+@columns+')
+ )AS t0
+ INNER JOIN T_BAS_FLEXVALUES t1 on t1.FFLEXNUMBER = t0.aColumn
+ INNER JOIN T_BAS_FLEXVALUESENTRY_L t1e_l on t0.aValue = t1e_l.FENTRYID AND t1e_l.FLOCALEID = '+@LOCALEID+'
+;';
+EXEC(@SQL);
+
+--SELECT * FROM T_BAS_FLEXVALUES
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/仓库值.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/仓库值.sql
new file mode 100644
index 0000000..69752f9
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/仓库值.sql
@@ -0,0 +1,12 @@
+SELECT T2.FSTOCKID, T2.FNUMBER, T3.FNAME, T4.FFLEXENTRYID AS λֵ, T41.FNUMBER λֵ, T41L.FNAME λֵ, T1.FFLEXID λֵά,T31.FNUMBER λֵ,T31L.FNAME λֵ
+FROM
+ T_BD_STOCKFLEXITEM T1
+ JOIN T_BD_STOCKFLEXDETAIL T4 ON T1.FENTRYID = T4.FENTRYID
+ JOIN T_BAS_FLEXVALUES T31 ON T1.FFLEXID = T31.FID
+ JOIN T_BAS_FLEXVALUES_L T31L ON T31L.FID = T31.FID AND T31L.FLOCALEID = 2052
+ JOIN T_BAS_FLEXVALUESENTRY T41 ON T4.FFLEXENTRYID = T41.FENTRYID
+ JOIN T_BAS_FLEXVALUESENTRY_L T41L ON T41L.FENTRYID = T41.FENTRYID AND T41L.FLOCALEID = 2052
+ JOIN T_BD_STOCK T2 ON T1.FSTOCKID = T2.FSTOCKID
+ JOIN T_BD_STOCK_L T3 ON T2.FSTOCKID = T3.FSTOCKID AND T3.FLOCALEID = 2052
+ORDER BY
+ T2.FSTOCKID, T31.FNUMBER, T41.FNUMBER
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/存储过程-生产用料清单.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/存储过程-生产用料清单.sql
new file mode 100644
index 0000000..8ac22b6
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/存储过程-生产用料清单.sql
@@ -0,0 +1,154 @@
+IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_PPBOM_RPT')
+ DROP PROCEDURE DBO.PROC_PPBOM_RPT;
+GO
+
+CREATE PROCEDURE PROC_PPBOM_RPT
+ @tableName varchar(80)
+ ,@seqFid varchar(80)
+ ,@proMaterialId int
+ ,@materialId int
+ ,@FBILLNO varchar(80)
+ ,@FPPBOMBILLNO varchar(80)
+ ,@FSALEORDERNO varchar(80)
+ ,@LCID int
+AS
+BEGIN
+SELECT
+ --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.к
+ t0.FID
+ ,t0e.FSEQ
+ ,t0e.FENTRYID
+ ,t0.FDATE --2.
+ ,t0e.FPLANSTARTDATE--38.ƻ
+ ,t0e.FPLANFINISHDATE--39.ƻ깤
+ ,t0e.FSALEORDERNO --4.۶
+ ,t0.FBILLNO--7.
+ ,t0e.FQTY--12.Ʒ
+ --,t0e.FSTOCKID--35.ֿ
+ --,t0e.FSTOCKLOCID--36.λ
+ ,t0e.FYIELDRATE
+ ,t0e.FROUTINGID
+ ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ'ELSE '' END) AS 'StatusIs6'--45.
+ ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43.
+ ,t0e.FMATERIALID AS 'ProMaterialId'
+ ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6.
+ ,t1.FNUMBER AS 'ProNumber'--8.Ʒ
+ ,t1_l.FNAME AS 'ProName'--9.Ʒ
+ ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ
+ ,t2_l.FUNITID AS 'PrdUnitId'
+ ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ
+ --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.Դ
+ INTO #TmpTable0
+ FROM
+ T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0e.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0e.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0e.FUNITID AND t2_l.FLOCALEID = @LCID
+ WHERE
+ t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END)
+ AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END)
+ --AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END)
+ --AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END)
+
+ SELECT
+ t1.*
+ ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ
+ ,t0e.FMATERIALID
+ ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ
+ ,t0e.FNEEDQTY --22.
+ ,t0e.FUNITID
+ ,t0e.FBOMENTRYID
+ ,t0e_q.FBASEWIPQTY --23.ǰƷ
+ ,t0e_q.FPICKEDQTY --27.
+ ,t0e_q.FNOPICKEDQTY --28.δ
+ ,t0e.FSTDQTY -- --29.
+ ,t0e.FMUSTQTY --Ӧ --30.Ӧ
+ ,t0e_l.FMEMO --31.ע
+ ,t0e_q.FPICKEDQTY * (100 - t1.FYIELDRATE) AS 'FLossQty'--32.
+ ,t0e_q.FSCRAPQTY --33.
+ ,t0e_q.FREPICKEDQTY --37.
+ ,t0.FWORKSHOPID
+ ,t0e_c.FSTOCKID
+ ,t0e_c.FSTOCKLOCID
+ ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬
+ INTO #TmpTable1
+ FROM
+ #TmpTable0 t1
+ LEFT JOIN T_PRD_PPBOM t0 on t1.FID = t0.FMOID AND t0.FMOENTRYSEQ = t1.FSEQ AND t0.FMOENTRYSEQ = t1.FSEQ --嵥
+ INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID
+ LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = t0e.FENTRYID --嵥ֱ
+ LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = t0e.FENTRYID AND t0e_l.FLOCALEID = @LCID
+ WHERE
+ T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END)
+
+ SELECT
+ t0.*
+ ,t1.FNUMBER AS 'MaterialNumber'--8.ϱ
+ ,t1_l.FNAME AS 'MaterialName'--9.
+ ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ
+ ,t2_l.FNAME AS 'MaterialUnitName'--11.ϵλ
+ ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ
+ ,t4_l.FNAME AS 'WORKSHOPNAME' --44.
+ ,t1.FMASTERID
+ ,t1.FUSEORGID
+ ,t5_l.FMEMO AS 'BOMMEMO' --42.BOMע
+ ,t3_l.FNAME AS 'FSTOCKNAME'
+ into #TmpTable2
+ FROM
+ #TmpTable1 t0
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0.FUNITID AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = t0.FSTOCKID AND t3_l.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = t0.FWORKSHOPID AND t4_l.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = t0.FBOMENTRYID AND t5_L.FLOCALEID = @LCID
+ --WHERE
+ --t1.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE t1.FNUMBER END)
+ --AND t1_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE t1_L.FNAME END)
+
+ SELECT
+ t0.*
+ ,t1.FBASEQTY
+ ,t2_l.FNAME AS 'ROUTENAME'
+ ,t3e_A.FBASEINVQTY
+ ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ
+ ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.;
+ ,6 AS 'LOWEST6'
+ INTO #TmpTable3
+ FROM
+ #TmpTable2 t0
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
+
+
+ exec(N'
+ SELECT
+ t0.*
+ ,' + @seqFid+ '
+ INTO ' + @tableName + '
+ FROM
+ #TmpTable3 t0
+ ')
+
+ drop table #TmpTable0
+ drop table #TmpTable1
+ drop table #TmpTable2
+ drop table #TmpTable3
+END
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/生产用料清单.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/生产用料清单.sql
new file mode 100644
index 0000000..1b14f18
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/生产用料清单.sql
@@ -0,0 +1,130 @@
+ DECLARE @FBILLNO varchar(80)
+ ,@MainNumber varchar(80)
+ ,@MainName varchar(80)
+ ,@FMOBILLNO varchar(80)
+ ,@FNumber varchar(80)
+ ,@FName varchar(80)
+ ,@FSALEORDERNO varchar(80)
+ ,@LCID int
+ set @FBILLNO = ''
+ set @MainNumber = ''
+ set @MainName = ''
+ set @FMOBILLNO = ''
+ set @FNumber = ''
+ set @FName = ''
+ set @FSALEORDERNO = ''
+ set @LCID = 2052
+
+ --set @FBILLNO =''
+ --set @MainNumber=''
+ --set @MainName=''
+ --set @FMOBILLNO=''
+ --set @FNumber=''
+ --set @FName=''
+ --set @FSALEORDERNO=''
+ --set @LCID=2052
+
+ SELECT
+ top 1000
+ ROW_NUMBER() OVER(ORDER BY T0.FMATERIALID) AS 'к' --1.к
+ ,T0.FID
+ --,T0.FFORMID
+ ,t7.FDATE AS '' --2.
+ ,T0.FBILLNO AS 'Ͷϵ'--3.Ͷϵ
+ --,T0.FMOID --
+ ----,T0.FMOENTRYID --ӱ
+ --,t0.FSALEORDERID
+ --,t0.FSALEORDERENTRYID
+ ,T0.FSALEORDERNO AS '۶' --4.۶
+ --,T0.FMATERIALID --ƷID
+ --5.λ
+ ,T1.FMNEMONICCODE AS ''--6.
+ ,T0.FMOBILLNO AS ''--7.
+ ,T1.FNUMBER AS 'Ʒ'--8.Ʒ
+ ,T1_L.FNAME AS 'Ʒ'--9.Ʒ
+ ,T1_L.FSPECIFICATION AS 'Ʒͺ'--10.Ʒͺ
+ ,T3_L.FNAME AS 'Ʒλ'--11.Ʒλ
+ ,T0.FQTY AS 'Ʒ'--12.Ʒ
+ ,T2.FNUMBER AS 'ϴ'--13.ϴ
+ ,T2_L.FNAME AS ''--14.
+ ,(CASE T2.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Դ' --15.Դ
+ ,T2_L.FSPECIFICATION AS 'Ϲͺ'--16.Ϲͺ
+ ,t10_L.FNAME AS 'ϼ'--17.ϼ
+ ,(T0E.FNUMERATOR / T0E.FDENOMINATOR) AS 'ϵλ' --18.ϵλ
+ --,T0E.FUNITID AS ENTRYUNITID
+ ,T4_L.FNAME AS 'ϵλ' --19.ϵλ
+ ,t9.FBASEQTY AS 'Ͽ'--20.Ͽ
+ ,T11E_A.FBASEINVQTY
+ --21.ϴ
+ ,T0E.FNEEDQTY AS ''--22.
+ ,T0E_Q.FBASEWIPQTY AS 'ǰƷ'--23.ǰƷ
+ --,(case when t9.FBASEQTY > T0E.FNEEDQTY then 0 else T0E.FNEEDQTY - t9.FBASEQTY end) AS 'Ƿ'--24.Ƿ
+ ,T11E.FBASELACKQTY AS 'Ƿ'--24.Ƿ
+ ,T11E_A.FBASEONORDERQTY AS ';' --25.;
+ ,T11E_A.FENTRYID
+ --26.ƻͶ
+ ,T0E_Q.FPICKEDQTY AS ''--27.
+ ,T0E_Q.FNOPICKEDQTY AS 'δ'--28.δ
+ ,T0E.FSTDQTY AS ''-- --29.
+ ,T0E.FMUSTQTY AS 'Ӧ'--Ӧ --30.Ӧ
+ ,t0E_L.FMEMO AS 'ע'--31.ע
+ ,T0E_Q.FPICKEDQTY * (100 - t7E.FYIELDRATE) AS ''--32.
+ ,T0E_Q.FSCRAPQTY AS '' --33.
+ --34.ƻ
+ ,T0E_C.FSTOCKID
+ ,T5_L.FNAME AS 'ֿ'--35.ֿ
+ ,T0E_C.FSTOCKLOCID --36.λ
+ ,T0E_Q.FREPICKEDQTY AS ''--37.
+ ,t7E.FPLANSTARTDATE AS 'ƻ'--38.ƻ
+ ,t7E.FPLANFINISHDATE AS 'ƻ깤'--39.ƻ깤
+ --40.λ
+ --,7E.FMEMO AS 'ע' --41.ע
+ ,t8_L.FMEMO AS 'BOMע'--42.BOMע
+ --,t8.FNUMERATOR
+ ,(CASE T7e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS ''--43.
+ --,T0.FWORKSHOPID
+ ,T6_L.FNAME AS ''--44.
+ ,(CASE T7E_A.FSTATUS WHEN 6 THEN 'ѽ'ELSE '' END) AS ''--45.
+ ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'Ͷϵ״̬'--46.Ͷϵ״̬
+ --47.PRδתPO
+ ,6 AS FDECIMALS
+ FROM
+ T_PRD_MO t7 --
+ LEFT JOIN T_PRD_MOENTRY t7E on t7E.FID = t7.FID
+ LEFT JOIN T_PRD_MOENTRY_A t7E_A on t7E_A.FENTRYID = t7E.FENTRYID
+ LEFT JOIN T_PRD_PPBOM T0 on T0.FMOID = t7.FID --嵥
+ LEFT JOIN T_PRD_PPBOMENTRY T0E ON T0.FID = T0E.FID AND t0.FMOENTRYSEQ = t7e.FSEQ--嵥ӱ
+ LEFT JOIN T_PRD_PPBOMENTRY_Q T0E_Q ON T0E_Q.FENTRYID = T0E.FENTRYID --嵥ֱ
+ LEFT JOIN T_PRD_PPBOMENTRY_C T0E_C ON T0E_C.FENTRYID = T0E.FENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0E_L on t0E_L.FENTRYID = T0E.FENTRYID AND t0E_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_MATERIAL T1 ON T1.FMATERIALID = T0.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L T1_L ON T1_L.FMATERIALID = T0.FMATERIALID AND T1_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_MATERIAL T2 ON T2.FMATERIALID = T0E.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L T2_L ON T2_L.FMATERIALID = T0E.FMATERIALID AND T2_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L T3_L ON T3_L.FUNITID = T0.FUNITID AND T3_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L T4_L ON T4_L.FUNITID = T0E.FUNITID AND T4_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L T5_L ON T5_L.FSTOCKID = T0E_C.FSTOCKID AND T5_L.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L T6_L ON T6_L.FDEPTID = T0.FWORKSHOPID AND T6_L.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t8_L ON t8_L.FENTRYID = T0E.FBOMENTRYID AND t8_L.FLOCALEID = @LCID
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t9 on t9.FMATERIALID = T2.FMASTERID AND t9.FSTOCKORGID = t2.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t10_L on t10_L.FID = t7E.FROUTINGID AND t10_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY T11E on T11E.FMOID = t7e.FID AND T11E.FMOENTRYID = t7e.FENTRYID AND T11E.FMOENTRYSEQ = t7E.FSEQ AND T11E.FMATERIALIDSUB = T0E.FMATERIALID AND T11E.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A T11E_A ON T11E_A.FENTRYID = T11E.FENTRYID
+ WHERE
+ T0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE T0.FBILLNO END)
+ AND T0.FMOBILLNO = (CASE WHEN @FMOBILLNO != '' THEN @FMOBILLNO ELSE T0.FMOBILLNO END)
+ AND T0.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE T0.FSALEORDERNO END)
+ AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END)
+ AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END)
+ AND T2.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE T2.FNUMBER END)
+ AND T2_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE T2_L.FNAME END)
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/生产用料清单查询.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/生产用料清单查询.sql
new file mode 100644
index 0000000..1e71622
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/生产用料清单查询.sql
@@ -0,0 +1,192 @@
+ IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].TMP123123123123123') AND type IN ('U'))
+ DROP TABLE [dbo].TMP123123123123123
+ GO
+
+ declare @tableName varchar(80)
+ ,@seqFid varchar(80)
+ ,@proMaterialId int
+ ,@materialId int
+ ,@FBILLNO varchar(80)
+ ,@FPPBOMBILLNO varchar(80)
+ ,@FSALEORDERNO varchar(80)
+ ,@LCID int
+
+ SET @tableName = 'TMP123123123123123'
+ SET @seqFid = 'ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID'
+ SET @proMaterialId = ''
+ SET @materialId = ''
+ SET @FBILLNO = ''
+ SET @FPPBOMBILLNO = ''
+ SET @FSALEORDERNO = ''
+ SET @LCID = 2052
+ SELECT
+ --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.к
+ t0.FID
+ ,t0e.FSEQ
+ ,t0e.FENTRYID
+ ,t0.FDATE --2.
+ ,t0e.FPLANSTARTDATE--38.ƻ
+ ,t0e.FPLANFINISHDATE--39.ƻ깤
+ ,t0e.FSALEORDERNO --4.۶
+ ,t0.FBILLNO--7.
+ ,t0e.FQTY--12.Ʒ
+ --,t0e.FSTOCKID--35.ֿ
+ --,t0e.FSTOCKLOCID--36.λ
+ ,t0e.FYIELDRATE
+ ,t0e.FROUTINGID
+ ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ'ELSE '' END) AS 'StatusIs6'--45.
+ ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43.
+ ,t0e.FMATERIALID AS 'ProMaterialId'
+ ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6.
+ ,t1.FNUMBER AS 'ProNumber'--8.Ʒ
+ ,t1_l.FNAME AS 'ProName'--9.Ʒ
+ ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ
+ ,t2_l.FUNITID AS 'PrdUnitId'
+ ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ
+ --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.Դ
+ INTO #TmpTable0
+ FROM
+ T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0e.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0e.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0e.FUNITID AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN (
+ SELECT
+ t0e.FMOENTRYID
+ ,t0e.FMOENTRYSEQ
+ ,t0e.FMATERIALID
+ ,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--ѡ
+ ,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' --
+ ,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'--
+ FROM T_PRD_MORPT t0
+ INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID
+ GROUP BY
+ t0e.FMOENTRYID
+ ,t0e.FMOENTRYSEQ
+ ,t0e.FMATERIALID
+ ) t3 on t3.FMATERIALID = t0e.FMATERIALID AND t3.FMOENTRYID = t0e.FENTRYID AND t3.FMOENTRYSEQ = t0e.FSEQ
+ WHERE
+ t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END)
+ AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END)
+ --AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END)
+ --AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END)
+
+ SELECT
+ t0e.FMOENTRYID
+ ,t0e.FMOENTRYSEQ
+ ,t0e.FMATERIALID
+ ,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--ѡ
+ ,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' --
+ ,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'--
+ FROM T_PRD_MORPT t0
+ INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID
+ GROUP BY
+ t0e.FMOENTRYID
+ ,t0e.FMOENTRYSEQ
+ ,t0e.FMATERIALID
+
+ SELECT
+ t1.*
+ ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ
+ ,t0e.FMATERIALID
+ ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ
+ ,t0e.FNEEDQTY --22.
+ ,t0e.FUNITID
+ ,t0e.FBOMENTRYID
+ ,t0e_q.FBASEWIPQTY --23.ǰƷ
+ ,t0e_q.FPICKEDQTY --27.
+ ,t0e_q.FNOPICKEDQTY --28.δ
+ ,t0e.FSTDQTY -- --29.
+ ,t0e.FMUSTQTY --Ӧ --30.Ӧ
+ ,t0e_l.FMEMO --31.ע
+ ,t0e_q.FPICKEDQTY * (100 - t1.FYIELDRATE) AS 'FLossQty'--32.
+ ,t0e_q.FSCRAPQTY --33.
+ ,t0e_q.FREPICKEDQTY --37.
+ ,t0.FWORKSHOPID
+ ,t0e_c.FSTOCKID
+ ,t0e_c.FSTOCKLOCID
+ ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬
+ INTO #TmpTable1
+ FROM
+ #TmpTable0 t1
+ LEFT JOIN T_PRD_PPBOM t0 on t1.FID = t0.FMOID AND t0.FMOENTRYSEQ = t1.FSEQ AND t0.FMOENTRYSEQ = t1.FSEQ --嵥
+ INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID
+ LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = t0e.FENTRYID --嵥ֱ
+ LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = t0e.FENTRYID AND t0e_l.FLOCALEID = @LCID
+ WHERE
+ T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END)
+
+ SELECT
+ t0.*
+ ,t1.FNUMBER AS 'MaterialNumber'--8.ϱ
+ ,t1_l.FNAME AS 'MaterialName'--9.
+ ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ
+ ,t2_l.FNAME AS 'MaterialUnitName'--11.ϵλ
+ ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ
+ ,t4_l.FNAME AS 'WORKSHOPNAME' --44.
+ ,t1.FMASTERID
+ ,t1.FUSEORGID
+ ,t5_l.FMEMO AS 'BOMMEMO' --42.BOMע
+ ,t3_l.FNAME AS 'FSTOCKNAME'
+ into #TmpTable2
+ FROM
+ #TmpTable1 t0
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0.FUNITID AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = t0.FSTOCKID AND t3_l.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = t0.FWORKSHOPID AND t4_l.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = t0.FBOMENTRYID AND t5_L.FLOCALEID = @LCID
+ --WHERE
+ --t1.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE t1.FNUMBER END)
+ --AND t1_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE t1_L.FNAME END)
+
+ SELECT
+ t0.*
+ ,t1.FBASEQTY
+ ,t2_l.FNAME AS 'ROUTENAME'
+ ,t3e_A.FBASEINVQTY
+ ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ
+ ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.;
+ ,6 AS 'LOWEST6'
+ INTO #TmpTable3
+ FROM
+ #TmpTable2 t0
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
+
+
+ exec(N'
+ SELECT
+ t0.*
+ ,' + @seqFid+ '
+ INTO ' + @tableName + '
+ FROM
+ #TmpTable3 t0
+ ')
+
+ drop table #TmpTable0
+ drop table #TmpTable1
+ drop table #TmpTable2
+ drop table #TmpTable3
+
+ exec(N'SELECT * FROM '+ @tableName)
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/生产订单.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/生产订单.sql
new file mode 100644
index 0000000..cda13e1
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/生产订单.sql
@@ -0,0 +1,10 @@
+SELECT
+ A.FID
+ ,A.FBILLNO
+ ,AE.FPLANSTARTDATE --ƻʱ
+ ,AE.FPLANFINISHDATE --ƻ깤ʱ
+ ,AE.FPRODUCTTYPE --
+ ,AE.FWORKSHOPID --
+FROM
+ T_PRD_MO A
+ LEFT JOIN T_PRD_MOENTRY AE ON A.FID = AE.FID
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/获取产品类型.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/获取产品类型.sql
new file mode 100644
index 0000000..379c122
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/获取产品类型.sql
@@ -0,0 +1,13 @@
+CREATE FUNCTION GetProductTypeText(@docStatu int)
+RETURNS varchar(10) --طֵ
+as
+BEGIN
+declare @result varchar(10)
+select @result = (CASE @docStatu
+ WHEN 1 THEN 'Ʒ'
+ WHEN 2 THEN 'Ʒ'
+ WHEN 3 THEN 'Ʒ'
+ ELSE ''
+ END)
+RETURN @result
+END
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW/SqlServer/获取单据状态.sql b/03.珠海市汇威精密制造有限公司/HW/SqlServer/获取单据状态.sql
new file mode 100644
index 0000000..3a17eba
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/SqlServer/获取单据状态.sql
@@ -0,0 +1,15 @@
+create FUNCTION ReturnStatuText(@docStatu varchar(10))
+RETURNS varchar(10) --طֵ
+as
+BEGIN
+declare @result varchar(10)
+select @result = (CASE @docStatu
+ WHEN 'A' THEN ''
+ WHEN 'B' THEN ''
+ WHEN 'C' THEN ''
+ WHEN 'D' THEN ''
+ WHEN 'Z' THEN 'ݴ'
+ ELSE ''
+ END)
+RETURN @result
+END
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/HW/TablePlugIn.cs b/03.珠海市汇威精密制造有限公司/HW/TablePlugIn.cs
new file mode 100644
index 0000000..3836344
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/HW/TablePlugIn.cs
@@ -0,0 +1,340 @@
+using Kingdee.BOS;
+using Kingdee.BOS.Core.List;
+using Kingdee.BOS.Core.DynamicForm;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.List.PlugIn.Args;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Metadata.ConvertElement;
+using Kingdee.BOS.Core.Metadata.EntityElement;
+//using Kingdee.BOS.Core.Report.PlugIn;
+//using Kingdee.BOS.Core.Report.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.K3.Core.MFG.EntityHelper;
+using Kingdee.BOS.Resource;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Kingdee.BOS.Core.BusinessFlow.ServiceArgs;
+
+namespace HW.ProductionMaterialsReport
+{
+ public class TablePlugIn : AbstractDynamicFormPlugIn
+ {
+ private readonly string _fromId;
+
+ //public override void FormatCellValue(FormatCellValueArgs args)
+ //{
+ // var billParam = new BillShowParameter();
+
+ //}
+
+ //public override void CellDbClick(CellEventArgs args)
+ //{
+ // base.CellDbClick(args);
+
+ //}
+ private void ListShowFrom()
+ {
+ //ListShowParameter showParam = new ListShowParameter();
+ //showParam.IsLookUp = false;
+ //showParam.OpenStyle.ShowType = ShowType.Modal;
+ //showParam.FormId = "YourFormId";
+ //showParam.Width = 1000;
+ //showParam.Height = 600;
+ //showParam.IsShowQuickFilter = false;
+
+ //ListRegularFilterParameter regularFilterPara = new ListRegularFilterParameter();
+ //string filter = "YourFilterCondition";
+ //regularFilterPara.Filter = filter;
+ //showParam.ListFilterParameter = regularFilterPara;
+
+ //this.View.ShowForm(showParam);
+ }
+
+ protected void TrckDown()
+ {
+ List selectedRows = this.GetSelectedRows();
+ if (selectedRows.Count == 0)
+ {
+ this.View.ShowMessage(ResManager.LoadKDString("请选择需要下查的的分录!", "015649000004851", SubSystemType.MFG, new object[0]), MessageBoxType.Notice);
+ return;
+ }
+ ViewLinkDataParameter viewLinkDataParameter = this.BuildViewLinkDataParameter();
+ ShowConvertOpFormEventArgs thirdConvertEventArgs = null;
+ List list = this.LoadConvertBills(viewLinkDataParameter, out thirdConvertEventArgs);
+ if (list == null || list.Count == 0)
+ {
+ this.View.ShowMessage(ResManager.LoadKDString("没有关联业务数据!", "015649000004852", SubSystemType.MFG, new object[0]), MessageBoxType.Notice);
+ return;
+ }
+ if (!this.ExistsTrackerData(viewLinkDataParameter, thirdConvertEventArgs))
+ {
+ this.View.ShowMessage(ResManager.LoadKDString("没有关联业务数据!", "015649000004852", SubSystemType.MFG, new object[0]), MessageBoxType.Notice);
+ return;
+ }
+ this.ShowLookUpTrackerForm(viewLinkDataParameter, list, thirdConvertEventArgs);
+ }
+
+ private bool ExistsTrackerData(ViewLinkDataParameter viewParameter, ShowConvertOpFormEventArgs thirdConvertEventArgs)
+ {
+ if (thirdConvertEventArgs.ReplaceRelations != null && thirdConvertEventArgs.ReplaceRelations.Count > 0)
+ {
+ return true;
+ }
+ if (viewParameter.Instances.Count == 0)
+ {
+ return false;
+ }
+ string formId = viewParameter.BillInfo.FormId;
+ foreach (KeyValuePair> keyValuePair in viewParameter.Instances)
+ {
+ string key = keyValuePair.Key;
+ List value = keyValuePair.Value;
+ TableDefine tableDefine = BusinessFlowServiceHelper.LoadTableDefine(this.View.Context, formId, key);
+ List list = new List();
+ foreach (BusinessFlowInstance businessFlowInstance in value)
+ {
+ if (!this.ValidateInstance(businessFlowInstance, viewParameter.LookUpType, tableDefine.TableNumber))
+ {
+ list.Add(businessFlowInstance);
+ }
+ }
+ foreach (BusinessFlowInstance item in list)
+ {
+ value.Remove(item);
+ }
+ }
+ foreach (KeyValuePair> keyValuePair2 in viewParameter.Instances)
+ {
+ List value2 = keyValuePair2.Value;
+ if (value2.Count > 0)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private bool ValidateInstance(BusinessFlowInstance instance, ViewLinkDataParameter.Enum_LookUpType lookUpType, string tableNumber)
+ {
+ if (instance.FirstNode == null)
+ {
+ return false;
+ }
+ List list = instance.SerarchTargetFormNodes(tableNumber);
+ if (lookUpType == ViewLinkDataParameter.Enum_LookUpType.Down)
+ {
+ using (List.Enumerator enumerator = list.GetEnumerator())
+ {
+ while (enumerator.MoveNext())
+ {
+ RouteTreeNode routeTreeNode = enumerator.Current;
+ if (routeTreeNode.ChildNodes.Count > 0)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+ foreach (RouteTreeNode routeTreeNode2 in list)
+ {
+ if (routeTreeNode2.ParentNode != null)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private FormMetadata _oplanMeta;
+
+ protected FormMetadata OPlanMetaData
+ {
+ get
+ {
+ if (this._oplanMeta == null)
+ {
+ this._oplanMeta = (MetaDataServiceHelper.Load(this.View.Context, "SFC_OperationPlanning", true) as FormMetadata);
+ }
+ return this._oplanMeta;
+ }
+ }
+
+ protected List LoadConvertBills(ViewLinkDataParameter viewParameter, out ShowConvertOpFormEventArgs thirdConvertEventArgs)
+ {
+ List list = ConvertServiceHelper.GetConvertBills(this.View.Context, FormOperationEnum.Push, viewParameter.BillInfo.FormId, false);
+ DynamicFormViewPlugInProxy service = this.View.GetService();
+ thirdConvertEventArgs = new ShowConvertOpFormEventArgs(FormOperationEnum.TrackDown, list);
+ if (service != null)
+ {
+ new List();
+ thirdConvertEventArgs.SelectedRows = this.GetSelectedEntityRows();
+ list = (thirdConvertEventArgs.Bills as List);
+ }
+ if (list == null || list.Count == 0)
+ {
+ this.View.ShowMessage(ResManager.LoadKDString("从启用的单据转换流程中找不到可下查的单据", "015649000004854", SubSystemType.MFG, new object[0]), MessageBoxType.Notice);
+ return new List();
+ }
+ return list;
+ }
+
+ public ListSelectedRow[] GetSelectedEntityRows()
+ {
+ List list = new List();
+ List selectedRows = this.GetSelectedRows();
+ foreach (DynamicObject dynamicObject in selectedRows)
+ {
+ long dynamicObjectItemValue = dynamicObject.GetDynamicObjectItemValue("OperId", 0L);
+ list.Add(new ListSelectedRow(this.currNodeID, dynamicObjectItemValue.ToString(), 0, this._oplanMeta.Id)
+ {
+ EntryEntityKey = "FENTITY"
+ });
+ }
+ if (list.Count == 0)
+ {
+ ListSelectedRow item = new ListSelectedRow(this.currNodeID, "0", 0, this._oplanMeta.Id);
+ list.Add(item);
+ }
+ return list.ToArray();
+ }
+
+ private ViewLinkDataParameter BuildViewLinkDataParameter()
+ {
+ if (!this.CheckSelectDataId() && this.GetSelectedRows().Count == 0)
+ {
+ this.View.ShowMessage(ResManager.LoadKDString("没有选择要下查的数据!", "015649000004853", SubSystemType.MFG, new object[0]), MessageBoxType.Notice);
+ return null;
+ }
+ Dictionary>> linkIds = this.GetLinkIds();
+ ViewLinkDataParameter viewLinkDataParameter = new ViewLinkDataParameter(this.OPlanMetaData.Id, ViewLinkDataParameter.Enum_LookUpType.Down);
+ foreach (KeyValuePair>> keyValuePair in linkIds)
+ {
+ string key = keyValuePair.Key;
+ List> value = keyValuePair.Value;
+ foreach (Tuple tuple in value)
+ {
+ ViewLinkDataRowInfo item = new ViewLinkDataRowInfo(key, tuple.Item1, tuple.Item2);
+ viewLinkDataParameter.BillInfo.Rows.Add(item);
+ }
+ }
+ this.BuildInstanceParameter(viewLinkDataParameter, linkIds);
+ return viewLinkDataParameter;
+ }
+
+ private string currNodeID = string.Empty;
+
+ protected Dictionary>> GetLinkIds()
+ {
+ Dictionary>> dictionary = new Dictionary>>();
+ List list = new List();
+ List> list2 = new List>();
+ long num = Convert.ToInt64(this.currNodeID);
+ list.Add(num);
+ list2.Add(new Tuple(num, num));
+ dictionary.Add("FBILLHEAD", list2);
+ List list3 = new List();
+ List> list4 = new List>();
+ List selectedRows = this.GetSelectedRows();
+ foreach (DynamicObject dynamicObject in selectedRows)
+ {
+ long dynamicObjectItemValue = dynamicObject.GetDynamicObjectItemValue("SeqId", 0L);
+ if (!list3.Contains(dynamicObjectItemValue))
+ {
+ list3.Add(dynamicObjectItemValue);
+ list4.Add(new Tuple(num, dynamicObjectItemValue));
+ }
+ }
+ if (list3.Count > 0)
+ {
+ dictionary.Add("FENTITY", list4);
+ }
+ return dictionary;
+ }
+
+
+ private bool CheckSelectDataId()
+ {
+ bool result = true;
+ object value = this.Model.GetValue("FOPlanID");
+ if (value == null)
+ {
+ result = false;
+ this.View.ShowMessage(ResManager.LoadKDString("没有选择工序计划!", "015376000004785", SubSystemType.MFG, new object[0]), MessageBoxType.Notice);
+ }
+ long num = Convert.ToInt64(value);
+ if (num == 0L)
+ {
+ result = false;
+ this.View.ShowMessage(ResManager.LoadKDString("没有选择工序计划!", "015376000004785", SubSystemType.MFG, new object[0]), MessageBoxType.Notice);
+ }
+ if (!ShopWorkBenchServiceHelper.IsExistOPlan(base.Context, num))
+ {
+ result = false;
+ this.View.ShowMessage(ResManager.LoadKDString("工序计划已经删除,请刷新界面或重新选择其他工序计划!", "015376000004804", SubSystemType.MFG, new object[0]), MessageBoxType.Notice);
+ }
+ return result;
+ }
+
+ private void BuildInstanceParameter(ViewLinkDataParameter viewParameter, Dictionary>> allEntityIds)
+ {
+ string formId = viewParameter.BillInfo.FormId;
+ foreach (KeyValuePair>> keyValuePair in allEntityIds)
+ {
+ string key = keyValuePair.Key;
+ List> value = keyValuePair.Value;
+ List list = (from p in value
+ select p.Item2).ToList();
+ BusinessFlowInstanceCollection businessFlowInstanceCollection = this.LoadInstances(this.View.Context, formId, key, list.ToArray());
+ List list2 = new List();
+ foreach (BusinessFlowInstance businessFlowInstance in businessFlowInstanceCollection)
+ {
+ if (businessFlowInstance.FirstNode != null)
+ {
+ list2.Add(businessFlowInstance);
+ }
+ }
+ if (list2.Count > 0)
+ {
+ viewParameter.Instances[key] = list2;
+ }
+ }
+ }
+
+ public BusinessFlowInstanceCollection LoadInstances(Context ctx, string formId, string entityKey, long[] entityIds)
+ {
+ LoadInstancesByEntityIdArgs args = new LoadInstancesByEntityIdArgs(formId, entityKey, entityIds);
+ return BusinessFlowDataServiceHelper.LoadInstancesByEntityId(ctx, args);
+ }
+
+ private bool ShowLookUpTrackerForm(ViewLinkDataParameter viewParamter, List convertBills, ShowConvertOpFormEventArgs thirdConvertEventArgs)
+ {
+ if (convertBills != null && convertBills.Count > 0)
+ {
+ string key = "LookUpTrackerParam";
+ Dictionary dictionary = new Dictionary();
+ dictionary["ViewParameter"] = viewParamter;
+ dictionary["ConvertBills"] = convertBills;
+ dictionary["PlugParam"] = thirdConvertEventArgs;
+ this.View.Session[key] = dictionary;
+ DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
+ dynamicFormShowParameter.FormId = "BF_LookUpTracker";
+ dynamicFormShowParameter.ParentPageId = this.View.PageId;
+ dynamicFormShowParameter.OpenStyle.ShowType = ShowType.Default;
+ this.View.ShowForm(dynamicFormShowParameter);
+ return true;
+ }
+ return false;
+ }
+
+ private List GetSelectedRows()
+ {
+ EntryEntity entryEntity = this.View.BusinessInfo.GetEntryEntity("FDetailEntity");
+ List list = new List();
+ return (from w in this.Model.GetEntityDataObject(entryEntity)
+ where w.GetDynamicObjectItemValue("IsSelect", false)
+ select w).ToList();
+ }
+ }
+}
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/HW.App.Sal.Report.PlugInEx.csproj b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/HW.App.Sal.Report.PlugInEx.csproj
index 95b37f2..50414c5 100644
--- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/HW.App.Sal.Report.PlugInEx.csproj
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/HW.App.Sal.Report.PlugInEx.csproj
@@ -73,8 +73,16 @@
+
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery4.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery4.sql
new file mode 100644
index 0000000..4b5d47d
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery4.sql
@@ -0,0 +1,55 @@
+SELECT * INTO #TMP123 FROM #TPRDMOINFO
+DROP TABLE #TPRDMOINFO
+
+SELECT
+ '' AS 'к',
+ '' AS '',
+ A.FBILLNO AS 'Ͷϵ',
+ '' AS '۶',
+ '' AS 'λ',
+ A.FMNEMONICCODE AS '',
+ A.FBILLNO AS '',
+ A.FNUMBER AS 'Ʒ',
+ A.FNAME AS 'Ʒ',
+ A.FSPECIFICATION AS 'Ʒͺ',
+ A.FNAME AS 'Ʒλ',
+ A.FQTY AS 'Ʒ',
+ A.FNUMBER AS 'ϴ',
+ A.FNAME AS '',
+ ( CASE A.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END ) AS 'Դ',
+ A.FSPECIFICATION AS 'Ϲͺ',
+ '' AS 'ϼ',
+ A.FSTDQTY AS 'ϵλ',
+ A.FUNITID AS 'ϵλ',
+ A.FINVENTORYQTY AS 'Ͽ',
+ '' AS 'ϴ',
+ A.FNEEDQTY AS '',
+ '' AS 'ǰƷ',
+ '' AS 'Ƿ',
+ '' AS ';',
+ '' AS 'ƻͶ',
+ A.FPICKEDQTY AS '',
+ A.FNOPICKEDQTY AS 'δ',
+ '' AS '',
+ A.FMUSTQTY AS 'Ӧ',
+ '' AS 'ע',
+ '' AS '',
+ A.FSCRAPQTY AS '',
+ '' AS 'ƻ',
+ '' AS 'ֿ',
+ '' AS 'λ',
+ A.FREPICKEDQTY AS '',
+ A.FPLANSTARTDATE AS 'ƻ',
+ A.FPLANFINISHDATE AS 'ƻ깤',
+ '' AS 'λ',
+ '' AS 'ע',
+ '' AS 'BOMע',
+ A.FBILLTYPE AS '',
+ A.FWORKSHOPID AS '',
+ ( CASE AE_A.FSTATUS WHEN 6 THEN 'ѽ' ELSE '' END ) AS '',
+ A.FDOCUMENTSTATUS AS 'Ͷϵ״̬',
+ '' AS 'PRδתPO'
+FROM
+ #TMP123 A
+
+ DROP TABLE #TMP123
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery5.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery5.sql
new file mode 100644
index 0000000..029a63c
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery5.sql
@@ -0,0 +1,21 @@
+
+SELECT
+ TOP 1000
+ T0E.FMATERIALID
+ ,T0E.FMATERIALIDSUB
+FROM
+ T_PRD_PMPPBOMENTRY T0E
+ INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID
+WHERE T0E.FID = 101118
+GROUP BY T0E.FMATERIALID,T0E.FMATERIALIDSUB
+
+
+SELECT
+ TOP 1000
+ t0E.*
+ ,T0E_A.*
+FROM
+ T_PRD_LACKANALYSEBILL t0
+ INNER JOIN T_PRD_PMPPBOMENTRY T0E on t0.FID = T0E.FID
+ INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID
+WHERE t0.FBILLNO = 'SCQL000671'
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值1.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值1.sql
new file mode 100644
index 0000000..2befea2
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值1.sql
@@ -0,0 +1,37 @@
+SELECT * FROM T_BD_STOCK
+SELECT * FROM T_BD_STOCKFLEXITEM
+SELECT * FROM T_BD_STOCKFLEXDETAIL
+SELECT * FROM T_BAS_FLEXVALUES
+SELECT * FROM T_BAS_FLEXVALUESENTRY
+SELECT * FROM T_BAS_FLEXVALUESENTRY_L
+SELECT * FROM T_BD_FLEXVALUESCOM
+SELECT * FROM T_BAS_FLEXVALUESDETAIL
+
+SELECT
+ t1.FNUMBER
+ ,t1_l.FNAME
+ ,t0.FMATERIALID
+ ,t0.FSTOCKID
+ ,t0.FSTOCKLOCID
+ ,stuff((select CAST(t2.FF100001 AS varchar) +'.'+ CAST(t2.FF100002 AS varchar) FROM T_BAS_FLEXVALUESDETAIL t2 WHERE t2.FID = t0.FSTOCKLOCID for xml path('')),1,1,'')
+FROM T_STK_INVENTORY t0
+ LEFT JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = 2052
+ --LEFT JOIN T_BAS_FLEXVALUESDETAIL t2 on t2.FID = t0.FSTOCKLOCID
+WHERE
+ t0.FSTOCKLOCID > 0
+
+DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX);
+SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('t0.',t0.FFLEXNUMBER)
+FROM T_BAS_FLEXVALUES t0
+WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A'
+
+SET @sql = N'
+SELECT
+ t0.FID
+ ,CONCAT(' + @columns + ' +''.'', '''')
+FROM T_BAS_FLEXVALUESDETAIL t0
+
+';
+
+EXEC sp_executesql @sql;
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值2.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值2.sql
new file mode 100644
index 0000000..9cadc9b
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值2.sql
@@ -0,0 +1,26 @@
+DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX),@LOCALEID char(10);
+SET @LOCALEID = '2052'
+SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('',t0.FFLEXNUMBER)
+FROM T_BAS_FLEXVALUES t0
+WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A'
+
+SET @SQL = N'
+SELECT
+ t0.FID
+ ,t0.aColumn
+ ,t0.aValue
+ ,t1e_l.FNAME
+ ,ROW_NUMBER() OVER (PARTITION BY t0.FID ORDER BY t1.FNUMBER) AS RowId
+FROM
+ (SELECT FID,'+@columns+'
+ FROM T_BAS_FLEXVALUESDETAIL) AS P
+UNPIVOT
+ (aValue FOR aColumn IN
+ ('+@columns+')
+ )AS t0
+ INNER JOIN T_BAS_FLEXVALUES t1 on t1.FFLEXNUMBER = t0.aColumn
+ INNER JOIN T_BAS_FLEXVALUESENTRY_L t1e_l on t0.aValue = t1e_l.FENTRYID AND t1e_l.FLOCALEID = '+@LOCALEID+'
+;';
+EXEC(@SQL);
+
+--SELECT * FROM T_BAS_FLEXVALUES
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓库值.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓库值.sql
new file mode 100644
index 0000000..69752f9
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓库值.sql
@@ -0,0 +1,12 @@
+SELECT T2.FSTOCKID, T2.FNUMBER, T3.FNAME, T4.FFLEXENTRYID AS λֵ, T41.FNUMBER λֵ, T41L.FNAME λֵ, T1.FFLEXID λֵά,T31.FNUMBER λֵ,T31L.FNAME λֵ
+FROM
+ T_BD_STOCKFLEXITEM T1
+ JOIN T_BD_STOCKFLEXDETAIL T4 ON T1.FENTRYID = T4.FENTRYID
+ JOIN T_BAS_FLEXVALUES T31 ON T1.FFLEXID = T31.FID
+ JOIN T_BAS_FLEXVALUES_L T31L ON T31L.FID = T31.FID AND T31L.FLOCALEID = 2052
+ JOIN T_BAS_FLEXVALUESENTRY T41 ON T4.FFLEXENTRYID = T41.FENTRYID
+ JOIN T_BAS_FLEXVALUESENTRY_L T41L ON T41L.FENTRYID = T41.FENTRYID AND T41L.FLOCALEID = 2052
+ JOIN T_BD_STOCK T2 ON T1.FSTOCKID = T2.FSTOCKID
+ JOIN T_BD_STOCK_L T3 ON T2.FSTOCKID = T3.FSTOCKID AND T3.FLOCALEID = 2052
+ORDER BY
+ T2.FSTOCKID, T31.FNUMBER, T41.FNUMBER
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/存储过程-生产用料清单.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/存储过程-生产用料清单.sql
new file mode 100644
index 0000000..8ac22b6
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/存储过程-生产用料清单.sql
@@ -0,0 +1,154 @@
+IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_PPBOM_RPT')
+ DROP PROCEDURE DBO.PROC_PPBOM_RPT;
+GO
+
+CREATE PROCEDURE PROC_PPBOM_RPT
+ @tableName varchar(80)
+ ,@seqFid varchar(80)
+ ,@proMaterialId int
+ ,@materialId int
+ ,@FBILLNO varchar(80)
+ ,@FPPBOMBILLNO varchar(80)
+ ,@FSALEORDERNO varchar(80)
+ ,@LCID int
+AS
+BEGIN
+SELECT
+ --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.к
+ t0.FID
+ ,t0e.FSEQ
+ ,t0e.FENTRYID
+ ,t0.FDATE --2.
+ ,t0e.FPLANSTARTDATE--38.ƻ
+ ,t0e.FPLANFINISHDATE--39.ƻ깤
+ ,t0e.FSALEORDERNO --4.۶
+ ,t0.FBILLNO--7.
+ ,t0e.FQTY--12.Ʒ
+ --,t0e.FSTOCKID--35.ֿ
+ --,t0e.FSTOCKLOCID--36.λ
+ ,t0e.FYIELDRATE
+ ,t0e.FROUTINGID
+ ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ'ELSE '' END) AS 'StatusIs6'--45.
+ ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43.
+ ,t0e.FMATERIALID AS 'ProMaterialId'
+ ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6.
+ ,t1.FNUMBER AS 'ProNumber'--8.Ʒ
+ ,t1_l.FNAME AS 'ProName'--9.Ʒ
+ ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ
+ ,t2_l.FUNITID AS 'PrdUnitId'
+ ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ
+ --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.Դ
+ INTO #TmpTable0
+ FROM
+ T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0e.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0e.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0e.FUNITID AND t2_l.FLOCALEID = @LCID
+ WHERE
+ t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END)
+ AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END)
+ --AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END)
+ --AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END)
+
+ SELECT
+ t1.*
+ ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ
+ ,t0e.FMATERIALID
+ ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ
+ ,t0e.FNEEDQTY --22.
+ ,t0e.FUNITID
+ ,t0e.FBOMENTRYID
+ ,t0e_q.FBASEWIPQTY --23.ǰƷ
+ ,t0e_q.FPICKEDQTY --27.
+ ,t0e_q.FNOPICKEDQTY --28.δ
+ ,t0e.FSTDQTY -- --29.
+ ,t0e.FMUSTQTY --Ӧ --30.Ӧ
+ ,t0e_l.FMEMO --31.ע
+ ,t0e_q.FPICKEDQTY * (100 - t1.FYIELDRATE) AS 'FLossQty'--32.
+ ,t0e_q.FSCRAPQTY --33.
+ ,t0e_q.FREPICKEDQTY --37.
+ ,t0.FWORKSHOPID
+ ,t0e_c.FSTOCKID
+ ,t0e_c.FSTOCKLOCID
+ ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬
+ INTO #TmpTable1
+ FROM
+ #TmpTable0 t1
+ LEFT JOIN T_PRD_PPBOM t0 on t1.FID = t0.FMOID AND t0.FMOENTRYSEQ = t1.FSEQ AND t0.FMOENTRYSEQ = t1.FSEQ --嵥
+ INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID
+ LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = t0e.FENTRYID --嵥ֱ
+ LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = t0e.FENTRYID AND t0e_l.FLOCALEID = @LCID
+ WHERE
+ T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END)
+
+ SELECT
+ t0.*
+ ,t1.FNUMBER AS 'MaterialNumber'--8.ϱ
+ ,t1_l.FNAME AS 'MaterialName'--9.
+ ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ
+ ,t2_l.FNAME AS 'MaterialUnitName'--11.ϵλ
+ ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ
+ ,t4_l.FNAME AS 'WORKSHOPNAME' --44.
+ ,t1.FMASTERID
+ ,t1.FUSEORGID
+ ,t5_l.FMEMO AS 'BOMMEMO' --42.BOMע
+ ,t3_l.FNAME AS 'FSTOCKNAME'
+ into #TmpTable2
+ FROM
+ #TmpTable1 t0
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0.FUNITID AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = t0.FSTOCKID AND t3_l.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = t0.FWORKSHOPID AND t4_l.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = t0.FBOMENTRYID AND t5_L.FLOCALEID = @LCID
+ --WHERE
+ --t1.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE t1.FNUMBER END)
+ --AND t1_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE t1_L.FNAME END)
+
+ SELECT
+ t0.*
+ ,t1.FBASEQTY
+ ,t2_l.FNAME AS 'ROUTENAME'
+ ,t3e_A.FBASEINVQTY
+ ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ
+ ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.;
+ ,6 AS 'LOWEST6'
+ INTO #TmpTable3
+ FROM
+ #TmpTable2 t0
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
+
+
+ exec(N'
+ SELECT
+ t0.*
+ ,' + @seqFid+ '
+ INTO ' + @tableName + '
+ FROM
+ #TmpTable3 t0
+ ')
+
+ drop table #TmpTable0
+ drop table #TmpTable1
+ drop table #TmpTable2
+ drop table #TmpTable3
+END
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单.sql
new file mode 100644
index 0000000..1b14f18
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单.sql
@@ -0,0 +1,130 @@
+ DECLARE @FBILLNO varchar(80)
+ ,@MainNumber varchar(80)
+ ,@MainName varchar(80)
+ ,@FMOBILLNO varchar(80)
+ ,@FNumber varchar(80)
+ ,@FName varchar(80)
+ ,@FSALEORDERNO varchar(80)
+ ,@LCID int
+ set @FBILLNO = ''
+ set @MainNumber = ''
+ set @MainName = ''
+ set @FMOBILLNO = ''
+ set @FNumber = ''
+ set @FName = ''
+ set @FSALEORDERNO = ''
+ set @LCID = 2052
+
+ --set @FBILLNO =''
+ --set @MainNumber=''
+ --set @MainName=''
+ --set @FMOBILLNO=''
+ --set @FNumber=''
+ --set @FName=''
+ --set @FSALEORDERNO=''
+ --set @LCID=2052
+
+ SELECT
+ top 1000
+ ROW_NUMBER() OVER(ORDER BY T0.FMATERIALID) AS 'к' --1.к
+ ,T0.FID
+ --,T0.FFORMID
+ ,t7.FDATE AS '' --2.
+ ,T0.FBILLNO AS 'Ͷϵ'--3.Ͷϵ
+ --,T0.FMOID --
+ ----,T0.FMOENTRYID --ӱ
+ --,t0.FSALEORDERID
+ --,t0.FSALEORDERENTRYID
+ ,T0.FSALEORDERNO AS '۶' --4.۶
+ --,T0.FMATERIALID --ƷID
+ --5.λ
+ ,T1.FMNEMONICCODE AS ''--6.
+ ,T0.FMOBILLNO AS ''--7.
+ ,T1.FNUMBER AS 'Ʒ'--8.Ʒ
+ ,T1_L.FNAME AS 'Ʒ'--9.Ʒ
+ ,T1_L.FSPECIFICATION AS 'Ʒͺ'--10.Ʒͺ
+ ,T3_L.FNAME AS 'Ʒλ'--11.Ʒλ
+ ,T0.FQTY AS 'Ʒ'--12.Ʒ
+ ,T2.FNUMBER AS 'ϴ'--13.ϴ
+ ,T2_L.FNAME AS ''--14.
+ ,(CASE T2.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Դ' --15.Դ
+ ,T2_L.FSPECIFICATION AS 'Ϲͺ'--16.Ϲͺ
+ ,t10_L.FNAME AS 'ϼ'--17.ϼ
+ ,(T0E.FNUMERATOR / T0E.FDENOMINATOR) AS 'ϵλ' --18.ϵλ
+ --,T0E.FUNITID AS ENTRYUNITID
+ ,T4_L.FNAME AS 'ϵλ' --19.ϵλ
+ ,t9.FBASEQTY AS 'Ͽ'--20.Ͽ
+ ,T11E_A.FBASEINVQTY
+ --21.ϴ
+ ,T0E.FNEEDQTY AS ''--22.
+ ,T0E_Q.FBASEWIPQTY AS 'ǰƷ'--23.ǰƷ
+ --,(case when t9.FBASEQTY > T0E.FNEEDQTY then 0 else T0E.FNEEDQTY - t9.FBASEQTY end) AS 'Ƿ'--24.Ƿ
+ ,T11E.FBASELACKQTY AS 'Ƿ'--24.Ƿ
+ ,T11E_A.FBASEONORDERQTY AS ';' --25.;
+ ,T11E_A.FENTRYID
+ --26.ƻͶ
+ ,T0E_Q.FPICKEDQTY AS ''--27.
+ ,T0E_Q.FNOPICKEDQTY AS 'δ'--28.δ
+ ,T0E.FSTDQTY AS ''-- --29.
+ ,T0E.FMUSTQTY AS 'Ӧ'--Ӧ --30.Ӧ
+ ,t0E_L.FMEMO AS 'ע'--31.ע
+ ,T0E_Q.FPICKEDQTY * (100 - t7E.FYIELDRATE) AS ''--32.
+ ,T0E_Q.FSCRAPQTY AS '' --33.
+ --34.ƻ
+ ,T0E_C.FSTOCKID
+ ,T5_L.FNAME AS 'ֿ'--35.ֿ
+ ,T0E_C.FSTOCKLOCID --36.λ
+ ,T0E_Q.FREPICKEDQTY AS ''--37.
+ ,t7E.FPLANSTARTDATE AS 'ƻ'--38.ƻ
+ ,t7E.FPLANFINISHDATE AS 'ƻ깤'--39.ƻ깤
+ --40.λ
+ --,7E.FMEMO AS 'ע' --41.ע
+ ,t8_L.FMEMO AS 'BOMע'--42.BOMע
+ --,t8.FNUMERATOR
+ ,(CASE T7e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS ''--43.
+ --,T0.FWORKSHOPID
+ ,T6_L.FNAME AS ''--44.
+ ,(CASE T7E_A.FSTATUS WHEN 6 THEN 'ѽ'ELSE '' END) AS ''--45.
+ ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'Ͷϵ״̬'--46.Ͷϵ״̬
+ --47.PRδתPO
+ ,6 AS FDECIMALS
+ FROM
+ T_PRD_MO t7 --
+ LEFT JOIN T_PRD_MOENTRY t7E on t7E.FID = t7.FID
+ LEFT JOIN T_PRD_MOENTRY_A t7E_A on t7E_A.FENTRYID = t7E.FENTRYID
+ LEFT JOIN T_PRD_PPBOM T0 on T0.FMOID = t7.FID --嵥
+ LEFT JOIN T_PRD_PPBOMENTRY T0E ON T0.FID = T0E.FID AND t0.FMOENTRYSEQ = t7e.FSEQ--嵥ӱ
+ LEFT JOIN T_PRD_PPBOMENTRY_Q T0E_Q ON T0E_Q.FENTRYID = T0E.FENTRYID --嵥ֱ
+ LEFT JOIN T_PRD_PPBOMENTRY_C T0E_C ON T0E_C.FENTRYID = T0E.FENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0E_L on t0E_L.FENTRYID = T0E.FENTRYID AND t0E_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_MATERIAL T1 ON T1.FMATERIALID = T0.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L T1_L ON T1_L.FMATERIALID = T0.FMATERIALID AND T1_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_MATERIAL T2 ON T2.FMATERIALID = T0E.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L T2_L ON T2_L.FMATERIALID = T0E.FMATERIALID AND T2_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L T3_L ON T3_L.FUNITID = T0.FUNITID AND T3_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L T4_L ON T4_L.FUNITID = T0E.FUNITID AND T4_L.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L T5_L ON T5_L.FSTOCKID = T0E_C.FSTOCKID AND T5_L.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L T6_L ON T6_L.FDEPTID = T0.FWORKSHOPID AND T6_L.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t8_L ON t8_L.FENTRYID = T0E.FBOMENTRYID AND t8_L.FLOCALEID = @LCID
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t9 on t9.FMATERIALID = T2.FMASTERID AND t9.FSTOCKORGID = t2.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t10_L on t10_L.FID = t7E.FROUTINGID AND t10_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY T11E on T11E.FMOID = t7e.FID AND T11E.FMOENTRYID = t7e.FENTRYID AND T11E.FMOENTRYSEQ = t7E.FSEQ AND T11E.FMATERIALIDSUB = T0E.FMATERIALID AND T11E.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A T11E_A ON T11E_A.FENTRYID = T11E.FENTRYID
+ WHERE
+ T0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE T0.FBILLNO END)
+ AND T0.FMOBILLNO = (CASE WHEN @FMOBILLNO != '' THEN @FMOBILLNO ELSE T0.FMOBILLNO END)
+ AND T0.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE T0.FSALEORDERNO END)
+ AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END)
+ AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END)
+ AND T2.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE T2.FNUMBER END)
+ AND T2_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE T2_L.FNAME END)
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单查询.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单查询.sql
new file mode 100644
index 0000000..1e71622
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单查询.sql
@@ -0,0 +1,192 @@
+ IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].TMP123123123123123') AND type IN ('U'))
+ DROP TABLE [dbo].TMP123123123123123
+ GO
+
+ declare @tableName varchar(80)
+ ,@seqFid varchar(80)
+ ,@proMaterialId int
+ ,@materialId int
+ ,@FBILLNO varchar(80)
+ ,@FPPBOMBILLNO varchar(80)
+ ,@FSALEORDERNO varchar(80)
+ ,@LCID int
+
+ SET @tableName = 'TMP123123123123123'
+ SET @seqFid = 'ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID'
+ SET @proMaterialId = ''
+ SET @materialId = ''
+ SET @FBILLNO = ''
+ SET @FPPBOMBILLNO = ''
+ SET @FSALEORDERNO = ''
+ SET @LCID = 2052
+ SELECT
+ --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.к
+ t0.FID
+ ,t0e.FSEQ
+ ,t0e.FENTRYID
+ ,t0.FDATE --2.
+ ,t0e.FPLANSTARTDATE--38.ƻ
+ ,t0e.FPLANFINISHDATE--39.ƻ깤
+ ,t0e.FSALEORDERNO --4.۶
+ ,t0.FBILLNO--7.
+ ,t0e.FQTY--12.Ʒ
+ --,t0e.FSTOCKID--35.ֿ
+ --,t0e.FSTOCKLOCID--36.λ
+ ,t0e.FYIELDRATE
+ ,t0e.FROUTINGID
+ ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ'ELSE '' END) AS 'StatusIs6'--45.
+ ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43.
+ ,t0e.FMATERIALID AS 'ProMaterialId'
+ ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6.
+ ,t1.FNUMBER AS 'ProNumber'--8.Ʒ
+ ,t1_l.FNAME AS 'ProName'--9.Ʒ
+ ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ
+ ,t2_l.FUNITID AS 'PrdUnitId'
+ ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ
+ --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.Դ
+ INTO #TmpTable0
+ FROM
+ T_PRD_MO t0
+ INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID
+ INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0e.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0e.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0e.FUNITID AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN (
+ SELECT
+ t0e.FMOENTRYID
+ ,t0e.FMOENTRYSEQ
+ ,t0e.FMATERIALID
+ ,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--ѡ
+ ,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' --
+ ,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'--
+ FROM T_PRD_MORPT t0
+ INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID
+ GROUP BY
+ t0e.FMOENTRYID
+ ,t0e.FMOENTRYSEQ
+ ,t0e.FMATERIALID
+ ) t3 on t3.FMATERIALID = t0e.FMATERIALID AND t3.FMOENTRYID = t0e.FENTRYID AND t3.FMOENTRYSEQ = t0e.FSEQ
+ WHERE
+ t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END)
+ AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END)
+ --AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END)
+ --AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END)
+
+ SELECT
+ t0e.FMOENTRYID
+ ,t0e.FMOENTRYSEQ
+ ,t0e.FMATERIALID
+ ,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--ѡ
+ ,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' --
+ ,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'--
+ FROM T_PRD_MORPT t0
+ INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID
+ GROUP BY
+ t0e.FMOENTRYID
+ ,t0e.FMOENTRYSEQ
+ ,t0e.FMATERIALID
+
+ SELECT
+ t1.*
+ ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ
+ ,t0e.FMATERIALID
+ ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ
+ ,t0e.FNEEDQTY --22.
+ ,t0e.FUNITID
+ ,t0e.FBOMENTRYID
+ ,t0e_q.FBASEWIPQTY --23.ǰƷ
+ ,t0e_q.FPICKEDQTY --27.
+ ,t0e_q.FNOPICKEDQTY --28.δ
+ ,t0e.FSTDQTY -- --29.
+ ,t0e.FMUSTQTY --Ӧ --30.Ӧ
+ ,t0e_l.FMEMO --31.ע
+ ,t0e_q.FPICKEDQTY * (100 - t1.FYIELDRATE) AS 'FLossQty'--32.
+ ,t0e_q.FSCRAPQTY --33.
+ ,t0e_q.FREPICKEDQTY --37.
+ ,t0.FWORKSHOPID
+ ,t0e_c.FSTOCKID
+ ,t0e_c.FSTOCKLOCID
+ ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬
+ INTO #TmpTable1
+ FROM
+ #TmpTable0 t1
+ LEFT JOIN T_PRD_PPBOM t0 on t1.FID = t0.FMOID AND t0.FMOENTRYSEQ = t1.FSEQ AND t0.FMOENTRYSEQ = t1.FSEQ --嵥
+ INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID
+ LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = t0e.FENTRYID --嵥ֱ
+ LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = t0e.FENTRYID
+ LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = t0e.FENTRYID AND t0e_l.FLOCALEID = @LCID
+ WHERE
+ T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END)
+ AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END)
+
+ SELECT
+ t0.*
+ ,t1.FNUMBER AS 'MaterialNumber'--8.ϱ
+ ,t1_l.FNAME AS 'MaterialName'--9.
+ ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ
+ ,t2_l.FNAME AS 'MaterialUnitName'--11.ϵλ
+ ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ
+ ,t4_l.FNAME AS 'WORKSHOPNAME' --44.
+ ,t1.FMASTERID
+ ,t1.FUSEORGID
+ ,t5_l.FMEMO AS 'BOMMEMO' --42.BOMע
+ ,t3_l.FNAME AS 'FSTOCKNAME'
+ into #TmpTable2
+ FROM
+ #TmpTable1 t0
+ LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0.FUNITID AND t2_l.FLOCALEID = @LCID
+ LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = t0.FSTOCKID AND t3_l.FLOCALEID =@LCID
+ LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = t0.FWORKSHOPID AND t4_l.FLOCALEID = @LCID
+ LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = t0.FBOMENTRYID AND t5_L.FLOCALEID = @LCID
+ --WHERE
+ --t1.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE t1.FNUMBER END)
+ --AND t1_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE t1_L.FNAME END)
+
+ SELECT
+ t0.*
+ ,t1.FBASEQTY
+ ,t2_l.FNAME AS 'ROUTENAME'
+ ,t3e_A.FBASEINVQTY
+ ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ
+ ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.;
+ ,6 AS 'LOWEST6'
+ INTO #TmpTable3
+ FROM
+ #TmpTable2 t0
+ LEFT JOIN (
+ SELECT
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ,sum(t0.FBASEQTY) AS FBASEQTY
+ FROM
+ T_STK_INVENTORY t0
+ GROUP BY
+ t0.FMATERIALID
+ ,t0.FSTOCKORGID
+ ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID
+ LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID
+ LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
+ LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
+
+
+ exec(N'
+ SELECT
+ t0.*
+ ,' + @seqFid+ '
+ INTO ' + @tableName + '
+ FROM
+ #TmpTable3 t0
+ ')
+
+ drop table #TmpTable0
+ drop table #TmpTable1
+ drop table #TmpTable2
+ drop table #TmpTable3
+
+ exec(N'SELECT * FROM '+ @tableName)
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产订单.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产订单.sql
new file mode 100644
index 0000000..cda13e1
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产订单.sql
@@ -0,0 +1,10 @@
+SELECT
+ A.FID
+ ,A.FBILLNO
+ ,AE.FPLANSTARTDATE --ƻʱ
+ ,AE.FPLANFINISHDATE --ƻ깤ʱ
+ ,AE.FPRODUCTTYPE --
+ ,AE.FWORKSHOPID --
+FROM
+ T_PRD_MO A
+ LEFT JOIN T_PRD_MOENTRY AE ON A.FID = AE.FID
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取产品类型.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取产品类型.sql
new file mode 100644
index 0000000..379c122
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取产品类型.sql
@@ -0,0 +1,13 @@
+CREATE FUNCTION GetProductTypeText(@docStatu int)
+RETURNS varchar(10) --طֵ
+as
+BEGIN
+declare @result varchar(10)
+select @result = (CASE @docStatu
+ WHEN 1 THEN 'Ʒ'
+ WHEN 2 THEN 'Ʒ'
+ WHEN 3 THEN 'Ʒ'
+ ELSE ''
+ END)
+RETURN @result
+END
\ No newline at end of file
diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取单据状态.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取单据状态.sql
new file mode 100644
index 0000000..3a17eba
--- /dev/null
+++ b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取单据状态.sql
@@ -0,0 +1,15 @@
+create FUNCTION ReturnStatuText(@docStatu varchar(10))
+RETURNS varchar(10) --طֵ
+as
+BEGIN
+declare @result varchar(10)
+select @result = (CASE @docStatu
+ WHEN 'A' THEN ''
+ WHEN 'B' THEN ''
+ WHEN 'C' THEN ''
+ WHEN 'D' THEN ''
+ WHEN 'Z' THEN 'ݴ'
+ ELSE ''
+ END)
+RETURN @result
+END
\ No newline at end of file
diff --git a/04.天大药业(珠海)有限公司/2.天大中医/提取一般药品养护.sql b/04.天大药业(珠海)有限公司/2.天大中医/提取一般药品养护.sql
new file mode 100644
index 0000000..afeb374
--- /dev/null
+++ b/04.天大药业(珠海)有限公司/2.天大中医/提取一般药品养护.sql
@@ -0,0 +1,32 @@
+declare @FORG int
+set @FORG = 1
+SELECT i.fid F_BGP_INVENTORYID, i.FSTOCKID, m.FMaterialId, FLot
+,FStockUnitId, FBaseUnitId, FQty,FBaseQty, FStockStatusId
+,FStockLocId ,DATEDIFF(day,Maintdate ,getdate())-89 overday
+,dateadd(day,90.7,Maintdate) as F_BGP_ShouldMainteDate
+,isnull(l.FPRODUCEDATE,i.FPRODUCEDATE)FPRODUCEDATE
+,isnull(l.FEXPIRYDATE,i.FEXPIRYDATE)FEXPIRYDATE
+,getdate() F_BGP_MAINTEPLANDATE,FOwnerTypeId
+,FOwnerId,FKeeperTypeId,FKeeperId,FStockStatusId
+,FAuxPropId,FSecQty,FSecUnitId,Maintdate
+FROM T_STK_INVENTORY i
+ ,T_BD_MATERIAL m
+ ,T_BGP_MaintainType mt
+ ,(SELECT isnull(F_BGP_MaintDate,FInStockDate) Maintdate
+ ,FLOTID,FPRODUCEDATE,FEXPIRYDATE
+ FROM T_BD_LOTMASTER)
+l WHERE i.FMaterialId = m.FMasterId
+ AND F_BGP_MaintainClass=mt.FID
+ AND F_BGP_DAY = 90
+ AND l.FLOTID=i.FLot
+ AND DATEDIFF(day,Maintdate ,getdate()) > 90 - 90
+ AND i.FSTOCKORGID = @FORG
+ AND FBaseQty > 0
+ AND m.FDOCUMENTSTATUS='C'
+ AND FStockStatusId = 10000
+ AND m.FuseORGID=@FORG
+ AND NOT EXISTS(
+ SELECT F_BGP_INVENTORYID
+ FROM T_BGP_MaintePlanB mb
+ WHERE F_BGP_BaseQty > F_BGP_BaseMaintQty AND F_BGP_INVENTORYID= i.fid )
+ORDER BY F_BGP_DosageForm,FSTOCKID,FMaterialId
\ No newline at end of file
diff --git a/05.长园/CY.PRD_MORPT/CY.PRD_MORPT.csproj b/05.长园/CY.PRD_MORPT/CY.PRD_MORPT.csproj
index bf11ed9..11a7aa4 100644
--- a/05.长园/CY.PRD_MORPT/CY.PRD_MORPT.csproj
+++ b/05.长园/CY.PRD_MORPT/CY.PRD_MORPT.csproj
@@ -63,7 +63,6 @@
-
diff --git a/05.长园/CY.PRD_MORPT/SetWorkTimeAfterAuditOperationServicePlugIn.cs b/05.长园/CY.PRD_MORPT/SetWorkTimeAfterAuditOperationServicePlugIn.cs
index 13cb273..1ca184d 100644
--- a/05.长园/CY.PRD_MORPT/SetWorkTimeAfterAuditOperationServicePlugIn.cs
+++ b/05.长园/CY.PRD_MORPT/SetWorkTimeAfterAuditOperationServicePlugIn.cs
@@ -19,117 +19,6 @@ namespace CY.PRD_MORPT
[Description("【服务插件_ex】任务汇报审核时,计算人员实作工时"), HotUpdate]
public class SetWorkTimeAfterAuditOperationServicePlugIn : AbstractOperationServicePlugIn
{
- public override void OnPreparePropertys(PreparePropertysEventArgs e)
- {
- base.OnPreparePropertys(e);
- //本地测试-工时类型
- e.FieldKeys.Add("FWorkTimeType");
- //长园-工时类型
- //e.FieldKeys.Add("F_CYG_Worktype");
- e.FieldKeys.Add("FFinishQty");
- e.FieldKeys.Add("FStdManHour");
- e.FieldKeys.Add("FMaterialId");
- }
-
- ///
- /// 操作事物后事件(事务内触发)
- ///
- ///
- ///
- /// 1. 此事件在操作执行代码之后,操作的内部逻辑已经执行完毕
- /// 2. 此事件在操作事务提交之前
- /// 3. 此事件中的数据库处理,受操作的事务保护
- /// 4. 通常此事件,可以用来做同步数据,如同步生成其他单据,而且需要受事务保护
- ///
- public override void EndOperationTransaction(EndOperationTransactionArgs e)
- {
- base.EndOperationTransaction(e);
- // 保存8提交9审核1反审核26
- if (this.FormOperation.OperationId == 1)
- //if (this.FormOperation.Operation.EqualsIgnoreCase("Audit"))
- {
- var dataEntitys = e.DataEntitys;
- if (dataEntitys.Any())
- {
- var updateSQLList = new StringBuilder();
- foreach (var data in dataEntitys)
- {
- var id = data["Id"].ToString();
- var formId = data["FFormId"].ToString();
- foreach (var item in data["PRD_MORPTENTRY"] as DynamicObjectCollection)
- {
- var entryId = item["Id"].ToString();
- var entrySeq = item["Seq"].ToString();
- //人员实作工时
- var hrWorkTime = item["FHRWORKTIME"].ToDouble();
-
- // 安装 F_CYG_FitTime
- var fitTimeTotal = 0D;
- // 指导安装 F_CYG_GuideTime
- var guideTimeTotal = 0D;
-
- //工时类型 0.无 1.含安装工时 2.指导安装工时 3.不含安装工时
- var workTimeType = item["FWorkTimeType"].Long2Int();
-
- if (workTimeType > 0)
- {
- //完成数量
- var finishQty = item["FinishQty"].ToDouble();
- //单位标准工时
- var stdManHour = item["StdManHour"].ToDouble();
-
- if (stdManHour != 0)
- hrWorkTime = finishQty * stdManHour;
-
- if (workTimeType != 3)
- {
- var materialId = item["MaterialId"] as DynamicObject;
-
- if (workTimeType == 1)
- {
- var fitTime = materialId["F_CYG_FitTime"].ToDouble();
- fitTimeTotal = fitTime * finishQty;
- if (stdManHour == 0)
- hrWorkTime -= fitTimeTotal;
- }
-
- if (workTimeType == 2)
- {
- var guideTime = materialId["F_CYG_GuideTime"].ToDouble();
- guideTimeTotal = guideTime * finishQty;
- if (stdManHour == 0)
- hrWorkTime -= guideTimeTotal;
- }
- }
- }
-
- updateSQLList.AppendLine($@"
-UPDATE T_CB_WORKHOURSENTRY
-SET FWorkTimeType = '{workTimeType}' ,FFitTimeTotal = {fitTimeTotal},FguideTimeTotal = {guideTimeTotal},FHrWorkTimePart = {hrWorkTime}
-WHERE FSRCBILLID = {id}
- AND FSRCENTRYID = {entryId}
- AND FSRCSEQ = {entrySeq}
- AND FSRCBILLFORMID = '{formId}';");
- }
- }
- //Logger.Info("审核测试", JsonConvert.SerializeObject(e));
- //Logger.Info("审核测试2", updateSQLList.ToString());
- var sql = updateSQLList.ToString();
-
- if (!updateSQLList.IsNullOrEmpty())
- DBUtils.Execute(this.Context, "/*dialect*/" + sql);
-
-
- }
-
-
- // 保存变更后的数据
-
- //new BusinessDataWriter(Context).Save(e.DataEntitys);
-
- }
- }
-
}
}
diff --git a/05.长园/CYG.Python/CYG.Python.pyproj b/05.长园/CYG.Python/CYG.Python.pyproj
index fc6c38d..e66aa91 100644
--- a/05.长园/CYG.Python/CYG.Python.pyproj
+++ b/05.长园/CYG.Python/CYG.Python.pyproj
@@ -22,13 +22,18 @@
false
+
+
+
+
+
diff --git a/05.长园/CYG.Python/PRD_MORPT/OperationEventPlugInEx.py b/05.长园/CYG.Python/PRD_MORPT/OperationEventPlugInEx.py
new file mode 100644
index 0000000..508a148
--- /dev/null
+++ b/05.长园/CYG.Python/PRD_MORPT/OperationEventPlugInEx.py
@@ -0,0 +1,83 @@
+#clrп
+import clr
+#Ӷcloudij
+clr.AddReference('System')
+clr.AddReference('System.Data')
+clr.AddReference('Kingdee.BOS')
+clr.AddReference('Kingdee.BOS.Core')
+clr.AddReference('Kingdee.BOS.App')
+clr.AddReference('Kingdee.BOS.Contracts')
+clr.AddReference('Kingdee.BOS.DataEntity')
+clr.AddReference('Kingdee.BOS.ServiceHelper')
+#dairycloudеijʵռ䵼룬ݹ鵼룩
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Util import *
+from Kingdee.BOS.Core.Bill import *
+from Kingdee.BOS.Core.Bill.PlugIn import *
+from Kingdee.BOS.Orm.DataEntity import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
+from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
+from System import *
+from System.Data import *
+from Kingdee.BOS.App.Data import *
+from System.Collections.Generic import List
+from Kingdee.BOS.ServiceHelper import *
+
+def OnPreparePropertys(e):
+ e.FieldKeys.Add("F_CYG_Worktype")
+ e.FieldKeys.Add("FFinishQty")
+ e.FieldKeys.Add("FStdManHour")
+ e.FieldKeys.Add("FMaterialId")
+ e.FieldKeys.Add("FHRWORKTIME")
+
+def EndOperationTransaction(e):
+ # 8ύ9126ɾ3
+ if this.FormOperation.OperationId == 1:
+ Audit2DoUpdMoRptInfo(e)
+
+def Audit2DoUpdMoRptInfo(e):
+ # sqlList = """"""
+ sqlLList=List[str]();
+ for data in e.DataEntitys:
+ billId = data["Id"]
+ formId = data["FFormId"]
+ for item in data["PRD_MORPTENTRY"]:
+ entryId =item["Id"]
+ entrySeq = item["Seq"]
+ # ĬȡεԱʵʱ
+ hrWorkTime = item["HrWorkTime"]
+ fitTimeTotal = 0
+ guideTimeTotal = 0
+ workTimeTypeVal = item["F_CYG_Worktype"]
+ workTimeType = (0 if workTimeTypeVal.strip() == '' else int(workTimeTypeVal))
+ # ʱ 0. 1.װʱ 2.ָװʱ 3.װʱ
+ if (workTimeType) > 0:
+ #
+ finishQty = item["FinishQty"]
+ # λʱ
+ stdManHour = item["StdManHour"]
+ # 1.λʱ䲻ΪʱԱʵʱ = * λʱ䣩
+ if stdManHour != 0:
+ hrWorkTime = finishQty * stdManHour
+ if workTimeType != 3:
+ materialId = item["MaterialId"]
+ if workTimeType == 1:
+ fitTime = materialId["F_CYG_FitTime"]
+ fitTimeTotal = fitTime * finishQty
+ # 2.װʱ λʱΪ0ʱ Աʵʱ = εݹʱ
+ if stdManHour == 0:
+ hrWorkTime = hrWorkTime - fitTimeTotal
+ if workTimeType == 2:
+ guideTime = materialId["F_CYG_GuideTime"]
+ guideTimeTotal = guideTime * finishQty
+ # 3.ָװʱ λʱΪ0ʱ Աʵʱ = εݹʱ
+ if stdManHour == 0:
+ hrWorkTime = hrWorkTime - guideTimeTotal
+ sql = ("""/*dialect*/UPDATE T_CB_WORKHOURSENTRY SET F_CYG_Worktype = '{0}' ,FFitTimeTotal = {1},FguideTimeTotal = {2},FHrWorkTimePart = {3}
+ WHERE FSRCBILLID = {4} AND FSRCENTRYID = {5} AND FSRCSEQ = {6} AND FSRCBILLFORMID = '{7}' ;""").format(workTimeType,fitTimeTotal,guideTimeTotal,hrWorkTime,billId,entryId,entrySeq,formId)
+ # sqlList = sqlList + sql;
+ sqlLList.Add(sql);
+ # DBUtils.Execute(this.Context,sqlList)
+ if(sqlLList.Count > 0):
+ DBUtils.ExecuteBatch(this.Context,sqlLList,sqlLList.Count);
\ No newline at end of file
diff --git a/05.长园/CYG.Python/PRD_MORPT/SQLServer/实际工时归集关联查询.sql b/05.长园/CYG.Python/PRD_MORPT/SQLServer/实际工时归集关联查询.sql
new file mode 100644
index 0000000..3e4a0dc
--- /dev/null
+++ b/05.长园/CYG.Python/PRD_MORPT/SQLServer/实际工时归集关联查询.sql
@@ -0,0 +1,72 @@
+ SELECT
+ t0.FBILLNO
+ ,t0e.FSRCBILLNO
+ ,t0e.FENTRYID
+ ,t1e.F_CYG_WORKTYPE
+ ,t1e.FFINISHQTY
+ ,t1e.FSTDMANHOUR
+ ,t1e.FHRWORKTIME
+ ,t2p.FPERUNITSTANDHOUR
+ ,(CASE t1e.F_CYG_WORKTYPE --ʱ
+ WHEN '' THEN t1e.FHRWORKTIME --Աʵʱ
+ ELSE (CASE t1e.FSTDMANHOUR
+ WHEN 0 THEN t1e.FHRWORKTIME
+ ELSE t1e.FSTDMANHOUR * t1e.FFINISHQTY
+ END)
+ END) 'NEW_FHRWORKTIME'
+ ,t2.F_CYG_FITTIME
+ ,CASE t1e.F_CYG_WORKTYPE WHEN '1' THEN t2.F_CYG_FITTIME * t1e.FFINISHQTY ELSE 0 END 'NEW_FITTIME'
+ ,t2.F_CYG_GUIDETIME
+ ,CASE t1e.F_CYG_WORKTYPE WHEN '2' THEN t2.F_CYG_GUIDETIME * t1e.FFINISHQTY ELSE 0 END 'NEW_GUIDETIME'
+ INTO #temp
+ FROM T_CB_WORKHOURS t0 --ʵʹʱ鼯ͷ
+ INNER JOIN T_CB_WORKHOURSENTRY t0e on t0.FID = t0e.FID --ʵʹʱ鼯
+ INNER JOIN T_PRD_MORPTENTRY t1e on t1e.FENTRYID = t0e.FSRCENTRYID --㱨
+ AND t1e.FID = t0e.FSRCBILLID AND t1e.FSEQ = t0e.FSRCSEQ AND t0e.FSRCBILLFORMID = 'PRD_MORPT'
+ INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t1e.FMATERIALID
+ INNER JOIN T_BD_MATERIALPRODUCE t2p on t2p.FMATERIALID = t1e.FMATERIALID
+
+--ʱ ''. 1.װʱ 2.ָװʱ 3.װʱ
+--㱨.ʱ == '' ʵʹʱ鼯.Աʵʱ# = 㱨.Աʵʱ
+
+--㱨.ʱ == 1 㱨.λʱ 0 :ʵʹʱ鼯.Աʵʱ# = 㱨.Աʵʱ - 㱨. * .װʱ#
+-- 㱨.λʱ 0 :ʵʹʱ鼯.Աʵʱ# = 㱨. * 㱨.λʱ
+
+--㱨.ʱ == 2 㱨.λʱ 0 :ʵʹʱ鼯.Աʵʱ# = 㱨.Աʵʱ - 㱨. * .ָװʱ
+-- 㱨.λʱ 0 :ʵʹʱ鼯.Աʵʱ# = 㱨. * 㱨.λʱ
+
+--㱨.ʱ == 3 㱨.λʱ 0 :ʵʹʱ鼯.Աʵʱ# = 㱨.Աʵʱ
+-- 㱨.λʱ 0 :ʵʹʱ鼯.Աʵʱ# = 㱨. * 㱨.λʱ
+
+
+--SELECT
+-- t0.FBILLNO
+-- ,t0.FSRCBILLNO
+-- ,t0.FENTRYID
+-- ,t0.F_CYG_WORKTYPE
+-- ,t0.FFINISHQTY
+-- ,t0.FSTDMANHOUR
+-- ,t0.FHRWORKTIME
+-- ,t0.FPERUNITSTANDHOUR
+-- ,t0.NEW_FHRWORKTIME
+-- ,t0.F_CYG_FITTIME
+-- ,t0.NEW_FITTIME
+-- ,t0.F_CYG_GUIDETIME
+-- ,t0.NEW_GUIDETIME
+-- INTO #temp1
+--FROM #temp t0
+--WHERE t0.FSTDMANHOUR = 0
+
+--
+--UPDATE t0e
+--SET t0e.F_CYG_WORKTYPE = t1.F_CYG_WORKTYPE
+-- ,t0e.FFitTimeTotal =t1.NEW_FITTIME
+-- ,t0e.FguideTimeTotal = t1.NEW_GUIDETIME
+-- ,t0e.FHrWorkTimePart = t1.NEW_FHRWORKTIME
+--FROM T_CB_WORKHOURSENTRY t0e
+-- INNER JOIN #temp t1 on t0e.FENTRYID = t1.FENTRYID
+
+SELECT * FROM #temp
+DROP TABLE #temp
+--SELECT * FROM #temp1
+--DROP TABLE #temp1
\ No newline at end of file
diff --git a/05.长园/CYG.Python/PRD_MORPT/SQLServer/长园客户与开票单位数据置换.sql b/05.长园/CYG.Python/PRD_MORPT/SQLServer/长园客户与开票单位数据置换.sql
new file mode 100644
index 0000000..820c46c
--- /dev/null
+++ b/05.长园/CYG.Python/PRD_MORPT/SQLServer/长园客户与开票单位数据置换.sql
@@ -0,0 +1,22 @@
+SELECT
+ t0.FBILLNO
+ ,t0.FID
+ ,t0.F_CYG_BASE AS 'NewCYG_BASE1'
+ ,t0.F_CYG_BASE1 AS 'NewCYG_BASE'
+ INTO #TEMP1
+FROM T_AR_REFUNDBILL t0
+
+----SELECT * FROM #TEMP1
+SELECT
+ t0.FID
+ ,t0.F_CYG_BASE
+ ,tt.NewCYG_BASE
+ ,t0.F_CYG_BASE1
+ ,tt.NewCYG_BASE1
+FROM T_AR_REFUNDBILL t0
+ INNER JOIN #TEMP1 tt on t0.FID = tt.FID
+
+--UPDATE t0 SET t0.F_CYG_BASE =tt.NewCYG_BASE,t0.F_CYG_BASE1 =tt.NewCYG_BASE1
+--FROM T_AR_REFUNDBILL t0
+-- INNER JOIN #TEMP1 tt on t0.FID = tt.FID
+DROP TABLE #TEMP1
\ No newline at end of file
diff --git a/05.长园/CYG.Python/SAL_SaleOrder/OperationEventPlugInEx.py b/05.长园/CYG.Python/SAL_SaleOrder/OperationEventPlugInEx.py
index 5c8bcdb..254ae71 100644
--- a/05.长园/CYG.Python/SAL_SaleOrder/OperationEventPlugInEx.py
+++ b/05.长园/CYG.Python/SAL_SaleOrder/OperationEventPlugInEx.py
@@ -27,6 +27,9 @@ from Kingdee.BOS.ServiceHelper import *
def EndOperationTransaction(e):
# 8ύ9126ɾ3
if this.FormOperation.OperationId == 8:
+ Audit2DoUpdDownstreamDocument(e)
+
+def Save2DoUpdDownstreamDocument(e):
for data in e.DataEntitys:
documentStatus = data["DocumentStatus"]
if documentStatus == "C":
diff --git a/05.长园/CYG/CB_PROACNTGROUP/BillEventPlugInEx.cs b/05.长园/CYG/CB_PROACNTGROUP/BillEventPlugInEx.cs
new file mode 100644
index 0000000..55fe4c0
--- /dev/null
+++ b/05.长园/CYG/CB_PROACNTGROUP/BillEventPlugInEx.cs
@@ -0,0 +1,42 @@
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Util;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+
+namespace CYG.CB_PROACNTGROUP
+{
+ ///
+ /// 【表单插件】1.单据上查询辅助资料时设置过滤条件
+ ///
+ [Description("【表单插件】单据上查询基础资料时设置过滤条件"), HotUpdate]
+ public class BillEventPlugInEx : AbstractDynamicFormPlugIn
+ {
+ public override void BeforeF7Select(BeforeF7SelectEventArgs e)
+ {
+ base.BeforeF7Select(e);
+
+ // 给某个辅助资料字段的查询附加过滤条件
+
+ if (e.FieldKey.EqualsIgnoreCase("FPRODUCTID"))
+ {
+ var id = this.Model.DataObject["Id"].Long2Int();
+
+ var details = this.View.BusinessInfo.GetEntity("FEntity");
+ var entry = this.View.Model.GetEntityDataObject(details);
+ var idList = entry.Select(x => x["PRODUCTID_Id"].Long2Int()).Where(w => w != 0);
+ // 只显示编码0开头的辅助资料
+
+ if (idList.Any())
+ e.ListFilterParameter.Filter = e.ListFilterParameter.Filter.JoinFilterString($" FMATERIALID NOT IN ({string.Join(",", idList)})");
+
+ e.ListFilterParameter.Filter = e.ListFilterParameter.Filter.JoinFilterString($" FMATERIALID NOT IN (SELECT FPRODUCTID FROM T_CB_PROACNTENTRY WHERE FPRODUCTGROUPID != {id})");
+
+ return;
+ }
+ }
+ }
+}
diff --git a/05.长园/CYG/CYG.csproj b/05.长园/CYG/CYG.csproj
index 90ecb34..fd1845b 100644
--- a/05.长园/CYG/CYG.csproj
+++ b/05.长园/CYG/CYG.csproj
@@ -31,6 +31,21 @@
4
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Contracts.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Core.dll
+
+
+ ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.DataEntity.dll
+
@@ -40,7 +55,23 @@
+
+
+
+
+
+
+
+ {beae0bf6-7ab9-4af5-83ce-d08e3c6880ef}
+ ExtensionMethods
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/05.长园/CYG/PRD_MORPT/OperationEventPlugInEx.cs b/05.长园/CYG/PRD_MORPT/OperationEventPlugInEx.cs
new file mode 100644
index 0000000..73836e1
--- /dev/null
+++ b/05.长园/CYG/PRD_MORPT/OperationEventPlugInEx.cs
@@ -0,0 +1,139 @@
+using ExtensionMethods;
+using Kingdee.BOS.App.Data;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Util;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.AccessControl;
+using System.Text;
+
+namespace CYG.PRD_MORPT
+{
+ ///
+ /// 【服务插件】1.审核时更新实际工时归集
+ ///
+ public class OperationEventPlugInEx : AbstractOperationServicePlugIn
+ {
+ public override void OnPreparePropertys(PreparePropertysEventArgs e)
+ {
+ base.OnPreparePropertys(e);
+ //本地测试-工时类型
+ e.FieldKeys.Add("FWorkTimeType");
+ //长园-工时类型
+ //e.FieldKeys.Add("F_CYG_Worktype");
+ e.FieldKeys.Add("FFinishQty");
+ e.FieldKeys.Add("FStdManHour");
+ e.FieldKeys.Add("FMaterialId");
+ }
+
+ ///
+ /// 操作事物后事件(事务内触发)
+ ///
+ ///
+ ///
+ /// 1. 此事件在操作执行代码之后,操作的内部逻辑已经执行完毕
+ /// 2. 此事件在操作事务提交之前
+ /// 3. 此事件中的数据库处理,受操作的事务保护
+ /// 4. 通常此事件,可以用来做同步数据,如同步生成其他单据,而且需要受事务保护
+ ///
+ public override void EndOperationTransaction(EndOperationTransactionArgs e)
+ {
+ base.EndOperationTransaction(e);
+ // 保存8提交9审核1反审核26
+ if (this.FormOperation.OperationId == 1)
+ //if (this.FormOperation.Operation.EqualsIgnoreCase("Audit"))
+ {
+ Audit2DoUpdMoRptInfo(e);
+ }
+ }
+
+ ///
+ /// 审核时更新实际工时归集
+ ///
+ ///
+ public void Audit2DoUpdMoRptInfo(EndOperationTransactionArgs e)
+ {
+ var dataEntitys = e.DataEntitys;
+ if (dataEntitys.Any())
+ {
+ var updateSQLList = new StringBuilder();
+ foreach (var data in dataEntitys)
+ {
+ var id = data["Id"].ToString();
+ var formId = data["FFormId"].ToString();
+ foreach (var item in data["PRD_MORPTENTRY"] as DynamicObjectCollection)
+ {
+ var entryId = item["Id"].ToString();
+ var entrySeq = item["Seq"].ToString();
+ //人员实作工时
+ var hrWorkTime = item["FHRWORKTIME"].ToDouble();
+
+ // 安装 F_CYG_FitTime
+ var fitTimeTotal = 0D;
+ // 指导安装 F_CYG_GuideTime
+ var guideTimeTotal = 0D;
+
+ //工时类型 0.无 1.含安装工时 2.指导安装工时 3.不含安装工时
+ var workTimeType = item["FWorkTimeType"].Long2Int();
+
+ if (workTimeType > 0)
+ {
+ //完成数量
+ var finishQty = item["FinishQty"].ToDouble();
+ //单位标准工时
+ var stdManHour = item["StdManHour"].ToDouble();
+
+ if (stdManHour != 0)
+ hrWorkTime = finishQty * stdManHour;
+
+ if (workTimeType != 3)
+ {
+ var materialId = item["MaterialId"] as DynamicObject;
+
+ if (workTimeType == 1)
+ {
+ var fitTime = materialId["F_CYG_FitTime"].ToDouble();
+ fitTimeTotal = fitTime * finishQty;
+ if (stdManHour == 0)
+ hrWorkTime -= fitTimeTotal;
+ }
+
+ if (workTimeType == 2)
+ {
+ var guideTime = materialId["F_CYG_GuideTime"].ToDouble();
+ guideTimeTotal = guideTime * finishQty;
+ if (stdManHour == 0)
+ hrWorkTime -= guideTimeTotal;
+ }
+ }
+ }
+
+ updateSQLList.AppendLine($@"
+UPDATE T_CB_WORKHOURSENTRY
+SET FWorkTimeType = '{workTimeType}' ,FFitTimeTotal = {fitTimeTotal},FguideTimeTotal = {guideTimeTotal},FHrWorkTimePart = {hrWorkTime}
+WHERE FSRCBILLID = {id}
+ AND FSRCENTRYID = {entryId}
+ AND FSRCSEQ = {entrySeq}
+ AND FSRCBILLFORMID = '{formId}';");
+ }
+ }
+ //Logger.Info("审核测试", JsonConvert.SerializeObject(e));
+ //Logger.Info("审核测试2", updateSQLList.ToString());
+ var sql = updateSQLList.ToString();
+
+ if (!updateSQLList.IsNullOrEmpty())
+ DBUtils.Execute(this.Context, "/*dialect*/" + sql);
+
+
+ }
+
+
+ // 保存变更后的数据
+
+ //new BusinessDataWriter(Context).Save(e.DataEntitys);
+ }
+ }
+}
diff --git a/05.长园/CYG/PRD_MORPT/sql/实际工时归集关联查询.sql b/05.长园/CYG/PRD_MORPT/sql/实际工时归集关联查询.sql
new file mode 100644
index 0000000..1623a10
--- /dev/null
+++ b/05.长园/CYG/PRD_MORPT/sql/实际工时归集关联查询.sql
@@ -0,0 +1,51 @@
+ SELECT
+ t0.FBILLNO
+ ,t0e.FSRCBILLNO
+ ,t0e.FENTRYID
+ ,t1e.F_CYG_WORKTYPE
+ ,t1e.FFINISHQTY
+ ,t1e.FSTDMANHOUR
+ ,t1e.FHRWORKTIME
+ ,t2p.FPERUNITSTANDHOUR
+ ,CASE t1e.F_CYG_WORKTYPE WHEN '' THEN t1e.FHRWORKTIME ELSE (CASE t1e.FSTDMANHOUR WHEN 0 THEN t1e.FHRWORKTIME ELSE t1e.FSTDMANHOUR * t1e.FFINISHQTY END) END 'NEW_FHRWORKTIME'
+ ,t2.F_CYG_FITTIME
+ ,CASE t1e.F_CYG_WORKTYPE WHEN '1' THEN t2.F_CYG_FITTIME * t1e.FFINISHQTY ELSE 0 END 'NEW_FITTIME'
+ ,t2.F_CYG_GUIDETIME
+ ,CASE t1e.F_CYG_WORKTYPE WHEN '2' THEN t2.F_CYG_GUIDETIME * t1e.FFINISHQTY ELSE 0 END 'NEW_GUIDETIME'
+ INTO #temp
+ FROM T_CB_WORKHOURS t0
+ INNER JOIN T_CB_WORKHOURSENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_PRD_MORPTENTRY t1e on t1e.FENTRYID = t0e.FSRCENTRYID
+ AND t1e.FID = t0e.FSRCBILLID AND t1e.FSEQ = t0e.FSRCSEQ AND t0e.FSRCBILLFORMID = 'PRD_MORPT'
+ INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t1e.FMATERIALID
+ INNER JOIN T_BD_MATERIALPRODUCE t2p on t2p.FMATERIALID = t1e.FMATERIALID
+
+--SELECT
+-- t0.FBILLNO
+-- ,t0.FSRCBILLNO
+-- ,t0.FENTRYID
+-- ,t0.F_CYG_WORKTYPE
+-- ,t0.FFINISHQTY
+-- ,t0.FSTDMANHOUR
+-- ,t0.FHRWORKTIME
+-- ,t0.FPERUNITSTANDHOUR
+-- ,t0.NEW_FHRWORKTIME
+-- ,t0.F_CYG_FITTIME
+-- ,t0.NEW_FITTIME
+-- ,t0.F_CYG_GUIDETIME
+-- ,t0.NEW_GUIDETIME
+-- INTO #temp1
+--FROM #temp t0
+--WHERE t0.FSTDMANHOUR = 0
+UPDATE t0e
+SET t0e.F_CYG_WORKTYPE = t1.F_CYG_WORKTYPE
+ ,t0e.FFitTimeTotal =t1.NEW_FITTIME
+ ,t0e.FguideTimeTotal = t1.NEW_GUIDETIME
+ ,t0e.FHrWorkTimePart = t1.NEW_FHRWORKTIME
+FROM T_CB_WORKHOURSENTRY t0e
+ INNER JOIN #temp t1 on t0e.FENTRYID = t1.FENTRYID
+
+SELECT * FROM #temp
+DROP TABLE #temp
+--SELECT * FROM #temp1
+--DROP TABLE #temp1
\ No newline at end of file
diff --git a/05.长园/CYG/SAL_OutStock/AutoPushLostOutStock2Pay.cs b/05.长园/CYG/SAL_OutStock/AutoPushLostOutStock2Pay.cs
new file mode 100644
index 0000000..7502608
--- /dev/null
+++ b/05.长园/CYG/SAL_OutStock/AutoPushLostOutStock2Pay.cs
@@ -0,0 +1,154 @@
+using Kingdee.BOS.App.Data;
+using Kingdee.BOS.App;
+using Kingdee.BOS;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.Core.DynamicForm.Operation;
+using Kingdee.BOS.Core.DynamicForm;
+using Kingdee.BOS.Core.List;
+using Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core;
+using Kingdee.BOS.Log;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Orm.Exceptions;
+using Kingdee.BOS.Orm;
+using Kingdee.BOS.Util;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+
+namespace CYG.SAL_OutStock
+{
+ [Description("自动下推"), HotUpdate]
+ public class AutoPushLostOutStock2Pay : IScheduleService
+ {
+ public void Run(Context ctx, Schedule schedule)
+ {
+ Logger.Info(schedule.Name, $"销售出库单自动下推应付单start...");
+ var succeedNum = 0;
+ var failNum = 0;
+ try
+ {
+ IConvertService service = ServiceHelper.GetService();
+
+ //源单据标识
+ string sourceFormId = "SAL_OUTSTOCK";
+ //目标单据标识
+ string targetFormId = "AR_RECEIVABLE";
+ //目标单据类型id-标准应收单
+ string targetBillTypeId = "180ecd4afd5d44b5be78a6efe4a7e041";
+ //转换规则
+ string convertRuleId = "AR_OutStockToReceivableMap"; //销售出库单下推应付单
+ var ruleMeta = service.GetConvertRule(ctx, convertRuleId);
+
+ var rule = ruleMeta.Rule;
+ var dbList = GetDBData(ctx);
+ if (dbList != null && dbList.Any())
+ {
+ var groupbyList = dbList.GroupBy(x => x["FBILLNO"].ToString());
+ Logger.Info(schedule.Name, $"找到{groupbyList.Count()}条数据");
+
+ foreach (var list in groupbyList)
+ {
+ List selectedRows = list.Select(x => new ListSelectedRow(x["FID"].ToString(), x["FENTRYID"].ToString(), 0, sourceFormId)).ToList();
+
+ PushArgs pushArgs = new PushArgs(rule, selectedRows.ToArray());//下推入口参数
+ pushArgs.TargetBillTypeId = targetBillTypeId;
+
+ OperateOption option = OperateOption.Create();//选项参数
+
+ try
+ {
+ ConvertOperationResult convertResult = service.Push(ctx, pushArgs, option);
+
+ DynamicObject[] destObjs = convertResult.TargetDataEntities.Select(r => r.DataEntity).ToArray();
+
+ FormMetadata destFormMetadata = ServiceHelper.GetService().Load(ctx, targetFormId) as FormMetadata;
+
+ IOperationResult saveResult = ServiceHelper.GetService().Save(ctx, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
+
+ string msg = string.Empty;
+
+ if (saveResult.ValidationErrors != null && saveResult.ValidationErrors.Count > 0)
+ {
+ var errorInfo = string.Join(";", saveResult.ValidationErrors.Select(x => x.Message));
+
+ throw new KDBusinessException("", "未知原因导致自动保存失败原因:" + errorInfo);
+ }
+
+ object[] pkArray = (from p in destObjs select p[0]).ToArray();
+ //设置提交参数
+ IOperationResult submitResult = ServiceHelper.GetService().Submit(ctx, destFormMetadata.BusinessInfo, pkArray, "Submit", OperateOption.Create());
+
+ // 判断提交结果,如果失败,则内部会抛出错误,回滚代码
+ if (submitResult.IsSuccess == false)
+ {
+ throw new KDBusinessException("", "未知原因导致自动提交失败!");
+ }
+
+ //设置审核参数
+ IOperationResult auditResult = ServiceHelper.GetService().Audit(ctx, destFormMetadata.BusinessInfo, pkArray, OperateOption.Create());
+ // 判断提交结果,如果失败,则内部会抛出错误,回滚代码
+ if (auditResult.IsSuccess == false)
+ {
+ throw new KDBusinessException("", "未知原因导致自动审核失败!");
+ }
+
+ succeedNum++;
+ Logger.Info(schedule.Name, $"销售出库单:{list.Key},下推应付单:{saveResult.OperateResult[0].Number}成功!");
+ }
+ catch (OrmException ex)
+ {
+ failNum++;
+ Logger.Error($"服务器插件:{schedule.Name}错误(Orm)", $"销售出库单:{list.Key}", ex);
+ }
+ catch (KDBusinessException ex)
+ {
+ failNum++;
+ Logger.Error($"服务器插件:{schedule.Name}错误(KDB)", $"销售出库单:{list.Key}", ex);
+ }
+ catch (SqlException ex)
+ {
+ failNum++;
+ Logger.Error($"服务器插件:{schedule.Name}错误(Sql)", $"销售出库单:{list.Key}", ex);
+ }
+ catch (Exception ex)
+ {
+ failNum++;
+ Logger.Error($"服务器插件:{schedule.Name}", $"销售出库单:{list.Key}", ex);
+ }
+ finally
+ {
+
+ }
+ }
+
+ }
+ }
+ catch (Exception ex)
+ {
+ Logger.Error($"服务器插件:{schedule.Name}", ex.Message, ex);
+ }
+ finally
+ {
+ Logger.Info(schedule.Name, $"成功{succeedNum}条,失败{failNum}条");
+ Logger.Info(schedule.Name, $"销售出库单自动下推应付单end...");
+ }
+ }
+
+
+
+ private DynamicObjectCollection GetDBData(Context ctx)
+ {
+ var unSql = $@"
+SELECT * from V_NOT_RECEIVABLE_OUTSTOCK
+";
+ var dbList = DBUtils.ExecuteDynamicObject(ctx, $"/*dialect*/{unSql}");
+
+ return dbList;
+ }
+ }
+}
diff --git a/05.长园/CYG/SAL_OutStock/SQLServer/SQLQuery4.sql b/05.长园/CYG/SAL_OutStock/SQLServer/SQLQuery4.sql
new file mode 100644
index 0000000..cd48bfa
--- /dev/null
+++ b/05.长园/CYG/SAL_OutStock/SQLServer/SQLQuery4.sql
@@ -0,0 +1,5 @@
+
+UPDATE T_BD_MATERIAL SET F_CYG_CHECKBOX = 0
+
+UPDATE A SET F_CYG_CHECKBOX = 1 FROM T_BD_MATERIAL A
+INNER JOIN T_CB_PROACNTENTRY B ON A.FMATERIALID = B.FPRODUCTID
\ No newline at end of file
diff --git a/05.长园/CYG/SAL_OutStock/SQLServer/无关联应收单.sql b/05.长园/CYG/SAL_OutStock/SQLServer/无关联应收单.sql
new file mode 100644
index 0000000..52591e8
--- /dev/null
+++ b/05.长园/CYG/SAL_OutStock/SQLServer/无关联应收单.sql
@@ -0,0 +1,27 @@
+IF EXISTS (SELECT * FROM sysobjects WHERE name='V_NOT_RECEIVABLE_OUTSTOCK') --Ϊͼ
+ DROP VIEW V_NOT_RECEIVABLE_OUTSTOCK --ͼ
+GO
+CREATE VIEW V_NOT_RECEIVABLE_OUTSTOCK
+AS
+SELECT
+ A.FID
+ ,A.FBILLNO
+ ,A.FSTOCKORGID
+ ,AE.FENTRYID
+FROM
+ T_SAL_OUTSTOCK A
+ LEFT JOIN T_SAL_OUTSTOCKENTRY AE ON A.FID = AE.FID
+ LEFT JOIN (SELECT
+ A.FID
+ ,A.FBILLNO
+ ,AE.FENTRYID
+ ,BE.FORDERENTRYID
+ ,BE_LK.FSID
+ FROM
+ T_SAL_OUTSTOCK A
+ LEFT JOIN T_SAL_OUTSTOCKENTRY AE ON A.FID = AE.FID
+ LEFT JOIN T_AR_RECEIVABLEENTRY_LK BE_LK ON BE_LK.FSBILLID = AE.FID AND BE_LK.FSID = AE.FENTRYID
+ LEFT JOIN T_AR_RECEIVABLEENTRY BE ON BE.FENTRYID = BE_LK.FENTRYID
+ WHERE
+ BE_LK.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY' and FARNOTJOINQTY > 0) B ON A.FID = B.FID
+WHERE B.FID IS NULL and a.FDOCUMENTSTATUS ='C'
\ No newline at end of file
diff --git a/05.长园/CYG/SAL_OutStock/SQLServer/无关联应收单2-未关联应收数量.sql b/05.长园/CYG/SAL_OutStock/SQLServer/无关联应收单2-未关联应收数量.sql
new file mode 100644
index 0000000..c319ff9
--- /dev/null
+++ b/05.长园/CYG/SAL_OutStock/SQLServer/无关联应收单2-未关联应收数量.sql
@@ -0,0 +1,18 @@
+IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME='V_NOT_RECEIVABLE_OUTSTOCK') --Ϊͼ
+ DROP VIEW V_NOT_RECEIVABLE_OUTSTOCK --ͼ
+GO
+CREATE VIEW V_NOT_RECEIVABLE_OUTSTOCK
+AS
+SELECT
+ A.FID
+ ,A.FBILLNO
+ ,AE.FENTRYID
+ ,AE_R.FARNOTJOINQTY
+ ,A.FDOCUMENTSTATUS
+FROM
+ T_SAL_OUTSTOCK A
+ LEFT JOIN T_SAL_OUTSTOCKENTRY AE ON A.FID = AE.FID
+ LEFT JOIN T_SAL_OUTSTOCKENTRY_R AE_R ON AE.FENTRYID = AE_R.FENTRYID
+WHERE
+AE_R.FARNOTJOINQTY > 0 AND
+A.FDOCUMENTSTATUS ='C'
\ No newline at end of file
diff --git a/05.长园/CYG/SAL_OutStock/TestAutoPushPlugIn.cs b/05.长园/CYG/SAL_OutStock/TestAutoPushPlugIn.cs
new file mode 100644
index 0000000..766620f
--- /dev/null
+++ b/05.长园/CYG/SAL_OutStock/TestAutoPushPlugIn.cs
@@ -0,0 +1,168 @@
+using Kingdee.BOS.App.Data;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.Core.DynamicForm.Operation;
+using Kingdee.BOS.Core.List;
+using Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs;
+using Kingdee.BOS.Core;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Orm;
+using Kingdee.BOS.Util;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Kingdee.BOS;
+using System.ComponentModel;
+using Kingdee.BOS.Core.List.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.App;
+using Kingdee.BOS.Core.DynamicForm;
+using Kingdee.BOS.Log;
+using Kingdee.BOS.Orm.Exceptions;
+using System.Data.SqlClient;
+
+namespace CYG.SAL_OutStock
+{
+ [Description("测试自动下推功能"), HotUpdate]
+ public class TestAutoPushPlugIn : AbstractListPlugIn
+ {
+
+
+ public override void BarItemClick(BarItemClickEventArgs e)
+ {
+ base.BarItemClick(e);
+
+ if (e.BarItemKey.Equals("tbTestAutoP"))
+ {
+ Run(this.Context, new Schedule
+ {
+ Name =new LocaleValue("tbTestAutoP销售出库单自定下推Test")
+ });
+ }
+ }
+
+ public void Run(Context ctx, Schedule schedule)
+ {
+ Logger.Info(schedule.Name, $"销售出库单自动下推应付单start...");
+ var succeedNum = 0;
+ var failNum = 0;
+ try
+ {
+ IConvertService service = ServiceHelper.GetService();
+
+ //源单据标识
+ string sourceFormId = "SAL_OUTSTOCK";
+ //目标单据标识
+ string targetFormId = "AR_RECEIVABLE";
+ //目标单据类型id-标准应收单
+ string targetBillTypeId = "180ecd4afd5d44b5be78a6efe4a7e041";
+ //转换规则
+ string convertRuleId = "AR_OutStockToReceivableMap"; //销售出库单下推应付单
+ var ruleMeta = service.GetConvertRule(ctx, convertRuleId);
+
+ var rule = ruleMeta.Rule;
+ var dbList = GetDBData(ctx);
+ if (dbList != null && dbList.Any())
+ {
+ var groupbyList = dbList.GroupBy(x => x["FBILLNO"].ToString());
+ Logger.Info(schedule.Name, $"找到{groupbyList.Count()}条数据");
+
+ foreach (var list in groupbyList)
+ {
+ List selectedRows = list.Select(x => new ListSelectedRow(x["FID"].ToString(), x["FENTRYID"].ToString(), 0, sourceFormId)).ToList();
+
+ PushArgs pushArgs = new PushArgs(rule, selectedRows.ToArray());//下推入口参数
+ pushArgs.TargetBillTypeId = targetBillTypeId;
+
+ OperateOption option = OperateOption.Create();//选项参数
+
+ try
+ {
+ //下推
+ ConvertOperationResult convertResult = service.Push(ctx, pushArgs, option);
+
+ //下推数据
+ DynamicObject[] destObjs = convertResult.TargetDataEntities.Select(r => r.DataEntity).ToArray();
+
+ FormMetadata destFormMetadata = ServiceHelper.GetService().Load(ctx, targetFormId) as FormMetadata;
+
+ //保存
+ IOperationResult saveResult = ServiceHelper.GetService().Save(ctx, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
+
+ string msg = string.Empty;
+
+ if (saveResult.ValidationErrors != null && saveResult.ValidationErrors.Count > 0)
+ {
+ var errorInfo = string.Join(";", saveResult.ValidationErrors.Select(x => x.Message));
+
+ throw new KDBusinessException("", "未知原因导致自动保存失败原因:" + errorInfo);
+ }
+
+ object[] pkArray = (from p in destObjs select p[0]).ToArray();
+ //设置提交参数
+ IOperationResult submitResult = ServiceHelper.GetService().Submit(ctx, destFormMetadata.BusinessInfo, pkArray, "Submit", OperateOption.Create());
+
+ // 判断提交结果,如果失败,则内部会抛出错误,回滚代码
+ if (submitResult.IsSuccess == false)
+ {
+ throw new KDBusinessException("", "未知原因导致自动提交失败!");
+ }
+
+ //设置审核参数
+ IOperationResult auditResult = ServiceHelper.GetService().Audit(ctx, destFormMetadata.BusinessInfo, pkArray, OperateOption.Create());
+ // 判断提交结果,如果失败,则内部会抛出错误,回滚代码
+ if (auditResult.IsSuccess == false)
+ {
+ throw new KDBusinessException("", "未知原因导致自动审核失败!");
+ }
+
+ succeedNum++;
+ Logger.Info(schedule.Name, $"销售出库单:{list.Key},下推应付单:{saveResult.OperateResult[0].Number}成功!");
+ }
+ catch (OrmException ex)
+ {
+ failNum++;
+ Logger.Error($"服务器插件:{schedule.Name}错误(Orm)", $"销售出库单:{list.Key}", ex);
+ }
+ catch (KDBusinessException ex)
+ {
+ failNum++;
+ Logger.Error($"服务器插件:{schedule.Name}错误(KDB)", $"销售出库单:{list.Key}", ex);
+ }
+ catch (SqlException ex)
+ {
+ failNum++;
+ Logger.Error($"服务器插件:{schedule.Name}错误(Sql)", $"销售出库单:{list.Key}", ex);
+ }
+ catch (Exception ex)
+ {
+ failNum++;
+ Logger.Error($"服务器插件:{schedule.Name}", $"销售出库单:{list.Key}", ex);
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ Logger.Error($"服务器插件:{schedule.Name}", ex.Message, ex);
+ }
+ finally
+ {
+ Logger.Info(schedule.Name, $"成功{succeedNum}条,失败{failNum}条");
+ Logger.Info(schedule.Name, $"销售出库单自动下推应付单end...");
+ }
+ }
+
+
+
+ private DynamicObjectCollection GetDBData(Context ctx)
+ {
+ var unSql = $@"
+select * from V_NOT_RECEIVABLE_OUTSTOCK
+";
+ var dbList = DBUtils.ExecuteDynamicObject(ctx, $"/*dialect*/{unSql}");
+
+ return dbList;
+ }
+ }
+}
diff --git a/06.泰诺麦博/TNMB.PUR_RPT_POOrderTrace/POOrderTraceServiceRptEx.cs b/06.泰诺麦博/TNMB.PUR_RPT_POOrderTrace/POOrderTraceServiceRptEx.cs
deleted file mode 100644
index da7c0ae..0000000
--- a/06.泰诺麦博/TNMB.PUR_RPT_POOrderTrace/POOrderTraceServiceRptEx.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace TNMB.PUR_RPT_POOrderTrace
-{
- public class POOrderTraceServiceRptEx
- {
-
- }
-}
diff --git a/06.泰诺麦博/TNMB.PUR_RPT_POOrderTrace/TNMB.PUR_RPT_POOrderTrace.csproj b/06.泰诺麦博/TNMB.PUR_RPT_POOrderTrace/TNMB.PUR_RPT_POOrderTrace.csproj
deleted file mode 100644
index 8276b66..0000000
--- a/06.泰诺麦博/TNMB.PUR_RPT_POOrderTrace/TNMB.PUR_RPT_POOrderTrace.csproj
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {BCC79C5A-0154-4484-981E-13B7A4FFB4D3}
- Library
- Properties
- TNMB.PUR_RPT_POOrderTrace
- TNMB.PUR_RPT_POOrderTrace
- v4.0
- 512
- true
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/06.泰诺麦博/Trinomab/Trinomab.csproj b/06.泰诺麦博/Trinomab/Trinomab.csproj
index 65a86fa..35cbe0f 100644
--- a/06.泰诺麦博/Trinomab/Trinomab.csproj
+++ b/06.泰诺麦博/Trinomab/Trinomab.csproj
@@ -42,5 +42,8 @@
+
+
+
\ No newline at end of file
diff --git a/07.珠海英搏尔/Enpower/PRD_MO/SQLserver/英博尔测试20240220.sql b/07.珠海英搏尔/Enpower/PRD_MO/SQLserver/英博尔测试20240220.sql
index d9813e8..ef8fce3 100644
--- a/07.珠海英搏尔/Enpower/PRD_MO/SQLserver/英博尔测试20240220.sql
+++ b/07.珠海英搏尔/Enpower/PRD_MO/SQLserver/英博尔测试20240220.sql
@@ -133,14 +133,14 @@ inner join #temp2 f on f.Fname=a.FBILLNO
-- AND A.FBILLNO =@FBILLNO
--嵥
- UPDATE D SET FFORECASTGROUP= c.FFORECASTGROUP
+ UPDATE D SET FFORECASTGROUP= c.FFORECASTGROUP
FROM T_PRD_PPBOM A
INNER JOIN T_PRD_PPBOMENTRY D ON A.FID=D.FID
- INNER JOIN T_PRD_MO B ON B.FBILLNO=A.FMOBillNO
- INNER JOIN T_PRD_MOENTRY C ON C.FID=B.FID
- inner join #temp2 f on f.Fname=a.FMOBILLNO
- where d.FFORECASTGROUP = ''
- --AND A.FMOBILLNO =@FBILLNO
+ --INNER JOIN T_PRD_MO B ON B.FBILLNO=A.FMOBillNO
+ INNER JOIN T_PRD_MOENTRY C ON C.FID=D.FMOID AND C.FENTRYID = D.FMOENTRYID
+ INNER JOIN #temp2 f on f.Fname=a.FMOBILLNO
+ where d.FFORECASTGROUP = ''
+ --AND A.FMOBILLNO =@FBILLNO
@@ -154,9 +154,8 @@ inner join #temp2 f on f.Fname=a.FBILLNO
GROUP BY B.FMATERIALID
) B ON A.FMATERIALID=B.FMATERIALID
inner join t_prd_mo c on c.fid=a.fid
- inner join #temp2 f on f.Fname=c.FBILLNO WHERE FINVSTOCKQTY = 0
-
- --AND c.FBILLNO =@FBILLNO
+ inner join #temp2 f on f.Fname=c.FBILLNO WHERE FINVSTOCKQTY = 0
+--AND c.FBILLNO =@FBILLNO
diff --git a/08.昶东/EastChanger/EastChanger.csproj b/08.昶东/EastChanger/EastChanger.csproj
index cbb891e..f63addf 100644
--- a/08.昶东/EastChanger/EastChanger.csproj
+++ b/08.昶东/EastChanger/EastChanger.csproj
@@ -65,6 +65,7 @@
+
@@ -85,6 +86,7 @@
+
diff --git a/08.昶东/EastChanger/Entites/Entities2GroupBy.cs b/08.昶东/EastChanger/Entites/Entities2GroupBy.cs
new file mode 100644
index 0000000..8e474a4
--- /dev/null
+++ b/08.昶东/EastChanger/Entites/Entities2GroupBy.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace EastChanger.Entites
+{
+ public class Entities2GroupBy
+ {
+ //public int Id { get; set; }
+ public string BillNo { get; set; }
+
+ public bool SyncStatus { get; set; }
+ }
+}
diff --git a/08.昶东/EastChanger/ISynchonService.cs b/08.昶东/EastChanger/ISynchonService.cs
index 10c2bd5..dea0f38 100644
--- a/08.昶东/EastChanger/ISynchonService.cs
+++ b/08.昶东/EastChanger/ISynchonService.cs
@@ -15,7 +15,7 @@ namespace EastChanger
///
///
///
- /// 1.删除
+ /// 1.删除 2.变更
void HandleSyncData(List idList, IOperationResult opResult, int action);
}
}
diff --git a/08.昶东/EastChanger/SQLServer/3.其他入库单.sql b/08.昶东/EastChanger/SQLServer/3.其他入库单.sql
new file mode 100644
index 0000000..f16782f
--- /dev/null
+++ b/08.昶东/EastChanger/SQLServer/3.其他入库单.sql
@@ -0,0 +1,45 @@
+IF EXISTS(SELECT * FROM sysobjects WHERE name = 'V_SYNC_STKMiscellaneous')--单引号里面为视图名称
+ DROP VIEW V_SYNC_STKMiscellaneous--视图名称
+GO
+CREATE VIEW V_SYNC_STKMiscellaneous AS
+SELECT
+ t0.FID
+ ,t0.FBILLNO
+ --,t1.FDECLAENTCREDITCODE
+ --,t1.FDECLAENTCUSCODE
+ --,t1.FDECLAENTNAME
+ --,t1.FENTCREDITCODE
+ --,t1.FENTCUSCODE
+ --,t1.FENTNAME
+ ,t1e.FID AS LEDGERID
+ ,t1e.FENTRYID AS BookNumId
+ ,t1e.FBOOKNUM
+ ,t1e.FCUSTOMSCODE
+ ,t0.FDATE
+ ,t0.FSTATUS AS SyncStatus
+ ,t0e.FSEQ
+ ,'QTRK' AS storageType
+ ,t0e.FINSTOCKDATE
+ ,t2.FNUMBER AS materialCd
+ ,t2_l.FNAME AS materialDesc
+ ,t0e.FQTY AS storageCnt
+ ,t3.FNUMBER AS calcUnit
+ ,t0e.FHSCODE AS hscode
+ ,t0e.FINVENTORY as inventory
+ ,t0e.FINVENTORYORDERNO as inventoryOrderNo
+ ,t4.FNUMBER as warehouseCd
+ ,t5.FNUMBER as warehousePosiCd
+ ,'' AS bookSn
+ ,ROW_NUMBER() OVER(PARTITION BY t0e.FID,t1e.FENTRYID ORDER BY t0e.FSEQ ASC) AS itemNo
+FROM T_STK_MISCELLANEOUS t0
+ INNER JOIN T_STK_MISCELLANEOUSENTRY t0e on t0.FID = t0e.FID
+ INNER JOIN T_BD_LEDGERSTOCK t1es on t1es.FLEDGERSTOCKID = t0e.FSTOCKID
+ INNER JOIN T_BD_LEDGERENTRY t1e on t1e.FENTRYID = t1es.FENTRYID
+ --INNER JOIN T_BD_LEDGER t1 on t1.FID = t1e.FID
+ INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t0e.FMATERIALID
+ INNER JOIN T_BD_MATERIAL_L t2_l on t2_l.FMATERIALID = t2.FMATERIALID AND t2_l.FLOCALEID = 2052
+ INNER JOIN T_BD_UNIT t3 on t3.FUNITID = t0e.FUNITID
+ INNER JOIN T_BD_STOCK t4 on t4.FSTOCKID = t0e.FSTOCKID
+ LEFT JOIN T_BAS_FLEXVALUESDETAIL t6 on t6.FID = t0e.FSTOCKID
+ LEFT JOIN T_BAS_FLEXVALUESENTRY t5 ON t5.FENTRYID = t6.FF100001 OR t5.FENTRYID = t6.FF100002
+WHERE t0.FDOCUMENTSTATUS = 'C' AND t1.FDOCUMENTSTATUS = 'C'
\ No newline at end of file
diff --git a/08.昶东/EastChanger/STK_Miscellaneous/STKMiscellaneousService.cs b/08.昶东/EastChanger/STK_Miscellaneous/STKMiscellaneousService.cs
index 2a481e5..a391293 100644
--- a/08.昶东/EastChanger/STK_Miscellaneous/STKMiscellaneousService.cs
+++ b/08.昶东/EastChanger/STK_Miscellaneous/STKMiscellaneousService.cs
@@ -1,5 +1,10 @@
-using Kingdee.BOS;
+using EastChanger.Entites;
+using ExtensionMethods;
+using Kingdee.BOS;
+using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm;
+using Kingdee.BOS.Util;
+using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -20,7 +25,122 @@ namespace EastChanger.STK_Miscellaneous
public void HandleSyncData(List idList, IOperationResult opResult, int action)
{
- throw new NotImplementedException();
+ var declInfos = GetDeclInfos();
+ var headSql = $@"
+SELECT
+ rowSet.resVal AS ID
+ INTO #TMPMATERIALNUM
+FROM (
+ SELECT CAST(''+ REPLACE('{string.Join(",", idList)}',',','') + '' AS XML) AS xmlVal
+) AS valSet
+OUTER APPLY (
+ SELECT T.C.value('.','varchar(100)') resVal
+ FROM valSet.xmlVal.nodes('/v') AS T(C)
+) rowSet
+
+SELECT t1.ID EntityId,t2.FBILLNO AS EntityBillNo,t0.*
+FROM (SELECT t0.* FROM V_SYNC_STKMiscellaneous t0 WHERE 1 = 1 {{0}}) t0
+ RIGHT JOIN #TMPMATERIALNUM t1 on t0.FID = t1.FID
+ INNER JOIN T_STK_MISCELLANEOUS t2 on t2.FID = t1.FID
+";
+
+ var whereSql = "";
+ if (action == 0)
+ whereSql = " AND t0.SyncStatus != '-1' AND t0.SyncStatus != 1 ";
+ else
+ whereSql = " AND (t0.SyncStatus IN('-1','1')) ";
+
+ var toSql = string.Format(headSql, whereSql);
+ //var toSql = headSql + whereSql;
+ var dbList = DBUtils.ExecuteDynamicObject(_context, $"/*dialect*/{toSql}");
+ if (dbList != null && dbList.Any())
+ {
+ var gbList = dbList.GroupBy(x => new Entities2GroupBy { BillNo = x["EntityBillNo"].ToString(), SyncStatus = x["FID"].Long2Int() > 0 });
+ foreach (var bill in gbList)
+ {
+
+ if (bill.Key.SyncStatus)
+ ExecuteOperateResult(opResult, bill.Key.BillNo, "单据不符合同步条件,请检查单据状态", false);
+
+ var billNo = bill.Key.BillNo;
+ var sort = 0;
+ Dictionary main = null;
+ List> itemList = new List>();
+ foreach (var entity in bill)
+ {
+ if (sort == 0)
+ {
+ var bookNum = entity["FBOOKNUM"].ToSafeTurnString();
+ var syncStatus = entity["SyncStatus"].Long2Int();
+
+ //申报类型
+ var declaType = "";
+ if (action == 1)
+ declaType = "99";
+ else if (action == 2)
+ declaType = "01";
+ else
+ declaType = "00";
+
+ main = new Dictionary(declInfos[bookNum]);
+ main.Add("declaCode", entity["FBILLNO"].ToSafeTurnString());
+ main.Add("storageTm", entity["FINSTOCKDATE"].ToSafeTurnString());
+ main.Add("storageType", entity["storageType"].ToSafeTurnString());
+ main.Add("inputMan", entity["inputMan"].ToSafeTurnString());
+ main.Add("busiType", "03");
+ main.Add("declaType", declaType);
+ main.Add("inputDate", entity["FDATE"].ToString());
+ main.Add("declaDate", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+ main.Add("itemList", itemList);
+ sort++;
+ }
+
+ var item = new Dictionary();
+ item.Add("itemNo", entity["itemNo"].ToString());
+ item.Add("storageOrderNo", entity["itemNo"].ToString());
+ item.Add("materialCd", entity["materialCd"].ToSafeTurnString());
+ item.Add("materialDesc", entity["materialDesc"].ToSafeTurnString());
+ item.Add("storageCnt", entity["storageCnt"].ToSafeTurnString());
+ item.Add("calcUnit", entity["calcUnit"].ToSafeTurnString());
+ item.Add("hscode", entity["hscode"].ToSafeTurnString());
+ item.Add("inventory", entity["inventory"].ToSafeTurnString());
+ item.Add("inventoryOrderNo", entity["inventoryOrderNo"].ToSafeTurnString());
+ item.Add("warehouseCd", entity["warehouseCd"].ToSafeTurnString());
+ item.Add("warehousePosiCd", entity["warehousePosiCd"].ToSafeTurnString());
+ item.Add("bookSn", entity["bookSn"].ToSafeTurnString());
+ itemList.Add(item);
+
+ }
+
+ var dataJson = JsonUtil.Serialize(main);
+ var result = this.DoSubmit(dataJson);
+
+ if (!result.IsNullOrEmpty())
+ {
+ JToken resData = JsonUtil.DeserializeObject(result);
+ var code = resData["code"].Long2Int();
+ if (code == 0)
+ {
+ var data = resData["data"];
+ var rtnFlag = data["rtnFlag"].Long2Int() == 0;
+ var rtnMessage = data["rtnMessage"].ToString();
+ UpdateStatus(this._context, billNo, rtnFlag ? "1" : (action == 0 ? "-2" : "-1"));
+ ExecuteOperateResult(opResult, billNo, rtnMessage, rtnFlag);
+ }
+ else
+ {
+ UpdateStatus(this._context, billNo, action == 0 ? "-2" : "-1");
+ ExecuteOperateResult(opResult, billNo, resData["msg"].ToString(), false);
+ }
+ }
+ }
+ }
+ }
+
+ public void UpdateStatus(Context context, string id, string status)
+ {
+ var headSql = @"UPDATE T_STK_MISCELLANEOUS set FSTATUS=" + status + " where FID = " + id;
+ DBUtils.ExecuteDynamicObject(context, $"/*dialect*/{headSql}");
}
}
}
diff --git a/08.昶东/EastChanger/STK_StockCountGain/STKStockCountGainService.cs b/08.昶东/EastChanger/STK_StockCountGain/STKStockCountGainService.cs
index 4017490..7e861ae 100644
--- a/08.昶东/EastChanger/STK_StockCountGain/STKStockCountGainService.cs
+++ b/08.昶东/EastChanger/STK_StockCountGain/STKStockCountGainService.cs
@@ -66,12 +66,13 @@ WHERE 1 = 1
if (headList != null && headList.Any())
{
- var groupList = entryList.GroupBy(x => x["ID"].ToString());
+ var groupList = entryList.GroupBy(x => x["ID"].Long2Int());
foreach (var head in headList)
{
var itemList = new List>();
- var id = head["ID"].ToSafeTurnString();
+ var billNo = head["FBILLNO"].ToSafeTurnString();
+ var id = head["ID"].Long2Int();
var bookNum = head["FBOOKNUM"].ToSafeTurnString();
var syncStatus = head["SyncStatus"].Long2Int();
@@ -85,7 +86,7 @@ WHERE 1 = 1
//申报通用表头信息
#region 表头信息
var main = new Dictionary(declInfos[bookNum]);
- main.Add("declaCode", id);
+ main.Add("declaCode", billNo);
main.Add("inventoryDt", head["inventoryDt"].ToSafeTurnString());
main.Add("inputMan", head["inputMan"].ToSafeTurnString());
main.Add("declaType", declaType);
@@ -133,12 +134,12 @@ WHERE 1 = 1
var rtnFlag = data["rtnFlag"].Long2Int() == 0;
var rtnMessage = data["rtnMessage"].ToString();
UpdateStatus(this._context, id, (rtnFlag ? "1" : "-1"));
- ExecuteOperateResult(opResult, id, rtnMessage, rtnFlag);
+ ExecuteOperateResult(opResult, billNo, rtnMessage, rtnFlag);
}
else
{
UpdateStatus(this._context, id, "-1");
- ExecuteOperateResult(opResult, id, resData["msg"].ToString(), false);
+ ExecuteOperateResult(opResult, billNo, resData["msg"].ToString(), false);
}
}
}
@@ -151,7 +152,7 @@ WHERE 1 = 1
///
///
///
- public void UpdateStatus(Context context, string id, string status)
+ public void UpdateStatus(Context context, long id, string status)
{
var headSql = $@"UPDATE T_STK_STKCOUNTGAIN set FSTATUS='{status}' where FID = " + id;
DBUtils.ExecuteDynamicObject(context, $"/*dialect*/{headSql}");
diff --git a/08.昶东/EastChanger/STK_StockCountLoss/STKStockCountLossService.cs b/08.昶东/EastChanger/STK_StockCountLoss/STKStockCountLossService.cs
index cc4a640..c2e1d77 100644
--- a/08.昶东/EastChanger/STK_StockCountLoss/STKStockCountLossService.cs
+++ b/08.昶东/EastChanger/STK_StockCountLoss/STKStockCountLossService.cs
@@ -52,12 +52,13 @@ WHERE 1 = 1
if (headList != null && headList.Any())
{
- var groupList = entryList.GroupBy(x => x["ID"].ToString());
+ var groupList = entryList.GroupBy(x => x["ID"].Long2Int());
foreach (var head in headList)
{
var itemList = new List>();
- var id = head["ID"].ToSafeTurnString();
+ var id = head["ID"].Long2Int();
+ var billNo = head["FBILLNO"].ToSafeTurnString();
var bookNum = head["FBOOKNUM"].ToSafeTurnString();
var syncStatus = head["SyncStatus"].Long2Int();
@@ -119,12 +120,12 @@ WHERE 1 = 1
var rtnFlag = data["rtnFlag"].Long2Int() == 0;
var rtnMessage = data["rtnMessage"].ToString();
UpdateStatus(this._context, id, (rtnFlag ? "1" : "-1"));
- ExecuteOperateResult(opResult, id, rtnMessage, rtnFlag);
+ ExecuteOperateResult(opResult, billNo, rtnMessage, rtnFlag);
}
else
{
UpdateStatus(this._context, id, "-1");
- ExecuteOperateResult(opResult, id, resData["msg"].ToString(), false);
+ ExecuteOperateResult(opResult, billNo, resData["msg"].ToString(), false);
}
}
}
@@ -137,7 +138,7 @@ WHERE 1 = 1
///
///
///
- public void UpdateStatus(Context context, string id, string status)
+ public void UpdateStatus(Context context, long id, string status)
{
var headSql = $@"UPDATE T_STK_STKCOUNTGAIN set FSTATUS='{status}' where FID = " + id;
DBUtils.ExecuteDynamicObject(context, $"/*dialect*/{headSql}");
diff --git a/GateDge2023.sln b/GateDge2023.sln
index b3ed83a..6df22c2 100644
--- a/GateDge2023.sln
+++ b/GateDge2023.sln
@@ -32,16 +32,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EastChanger", "08.昶东\Ea
EndProject
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "EastChanger.Python", "08.昶东\EastChanger.Python\EastChanger.Python.pyproj", "{FD2C3C66-8C36-4D3B-B80F-26AAFF839CCB}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CY.AR_RecMatchFilter", "05.长园\CY.AR_RecMatchFilter\CY.AR_RecMatchFilter.csproj", "{7822C382-D01D-41A5-A94A-4A953DD178A7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CY.CB_PROACNTGROUP", "05.长园\CY.CB_PROACNTGROUP\CY.CB_PROACNTGROUP.csproj", "{5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CY.PRD_MORPT", "05.长园\CY.PRD_MORPT\CY.PRD_MORPT.csproj", "{472326F6-01F0-41CA-B124-06D987BA6668}"
-EndProject
-Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "CY.PRD_MORPT.Python", "05.长园\CY.PRD_MORPT.Python\CY.PRD_MORPT.Python.pyproj", "{72A852A8-55C5-4C72-95ED-13B3A6E670EF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CY.SAL_OUTSTOCK", "05.长园\CY.SAL_OUTSTOCK\CY.SAL_OUTSTOCK.csproj", "{6A52A594-F6A9-4754-BF53-22A126B54081}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VerifyTest", "00.未分类\VerifyTest\VerifyTest.csproj", "{89C1A54B-6FB2-4DBE-A36E-F21650623538}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProductionMaterialRequisition", "00.未分类\ProductionMaterialRequisition\ProductionMaterialRequisition.csproj", "{956A86C4-3938-4373-980B-D96B880ED333}"
@@ -54,32 +44,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandleUtils", "01.扩展\Ha
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "K3CExttensionMethods", "01.扩展\K3CExttensionMethods\K3CExttensionMethods.csproj", "{6D24872E-8FAA-4CE6-9542-1EB0DB405A7A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SAL_OUTSTOCK", "02.珠海市供水有限公司\SAL_OUTSTOCK\SAL_OUTSTOCK.csproj", "{C07EB866-7BC7-43C4-B1C1-271E985C55CC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnPayableInStock", "02.珠海市供水有限公司\UnPayableInStock\UnPayableInStock.csproj", "{C7AACA24-410B-4497-8400-EAF0A81C2133}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UseGetFmaterialData", "02.珠海市供水有限公司\UseGetFmaterialData\UseGetFmaterialData.csproj", "{7014B4E2-94AC-430F-BD20-72BA2BA6EBA3}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonthlyProductionSchedule", "04.天大药业(珠海)有限公司\MonthlyProductionSchedule\MonthlyProductionSchedule.csproj", "{548EE4F5-AFFE-425F-B1A7-4552902F12A6}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HW.PRD_MO", "03.珠海市汇威精密制造有限公司\HW.PRD_MO\HW.PRD_MO.csproj", "{3134279E-5C1B-421C-9E2D-5013D599FA53}"
-EndProject
-Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "HW.PRD_MO.Python", "03.珠海市汇威精密制造有限公司\HW.PRD_MO.Python\HW.PRD_MO.Python.pyproj", "{63FA856A-E38D-4464-A164-11EED1DFE0F8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HW.ProductionMateralsPlugIn", "03.珠海市汇威精密制造有限公司\HW.ProductionMateralsPlugIn\HW.ProductionMateralsPlugIn.csproj", "{89236B39-F2B6-4757-AB69-DF89FDBCE3A5}"
-EndProject
-Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "HW.PythonPlugIn", "03.珠海市汇威精密制造有限公司\HW.PythonPlugIn\HW.PythonPlugIn.pyproj", "{615361A4-2F0E-4521-A8C5-46BDB8AA6F28}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HW.App.Sal.Report.PlugInEx", "03.珠海市汇威精密制造有限公司\Kingdee.K3.SCM.Sal.Report.PlugInEx\HW.App.Sal.Report.PlugInEx.csproj", "{6AA65F8D-BA02-4CA7-85FB-551A1D7C1143}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HW.ProductionMaterialsReport", "03.珠海市汇威精密制造有限公司\ProductionMaterialsReport\HW.ProductionMaterialsReport.csproj", "{17EF8474-392A-4595-A4D4-D224F16AF8C4}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestProject2", "00.未分类\UnitTestProject2\UnitTestProject2.csproj", "{3F9DAEFD-D6AF-4FA8-B6B2-485832AB9B26}"
EndProject
-Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "HW.PRD_LackAnalyeBill.Python", "03.珠海市汇威精密制造有限公司\HW.PRD_LackAnalyeBill.Python\HW.PRD_LackAnalyeBill.Python.pyproj", "{0BC2F871-B50D-41C3-9267-ABDE125D9B17}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HW.PRD_LACKANAYLEBILL", "03.珠海市汇威精密制造有限公司\HW.PRD_LACKANAYLEBILL\HW.PRD_LACKANAYLEBILL.csproj", "{B6FD6277-A4DA-4FAC-BDA9-841D51E3D57F}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CYG", "05.长园\CYG\CYG.csproj", "{2F638D52-C946-4F1B-89A1-ADB47D5FDBD9}"
EndProject
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "CYG.Python", "05.长园\CYG.Python\CYG.Python.pyproj", "{62BC7EFA-7E95-4593-A146-8A6AC44278FB}"
@@ -96,6 +64,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Enpower", "07.珠海英搏
EndProject
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "Enpower.Python", "07.珠海英搏尔\Enpower.Python\Enpower.Python.pyproj", "{E16A75BC-5FB5-47FC-962D-4AD20E686D59}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HW", "03.珠海市汇威精密制造有限公司\HW\HW.csproj", "{EFAEA205-7808-498D-9D82-91ACF2F663DB}"
+EndProject
+Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "HW.Python", "03.珠海市汇威精密制造有限公司\HW.Python\HW.Python.pyproj", "{5C329922-5F37-4FA3-A9D5-9C5784F98360}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -108,24 +80,6 @@ Global
{735CF076-6103-45CE-8B2F-58A9296FE424}.Release|Any CPU.Build.0 = Release|Any CPU
{FD2C3C66-8C36-4D3B-B80F-26AAFF839CCB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FD2C3C66-8C36-4D3B-B80F-26AAFF839CCB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7822C382-D01D-41A5-A94A-4A953DD178A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7822C382-D01D-41A5-A94A-4A953DD178A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7822C382-D01D-41A5-A94A-4A953DD178A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7822C382-D01D-41A5-A94A-4A953DD178A7}.Release|Any CPU.Build.0 = Release|Any CPU
- {5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}.Release|Any CPU.Build.0 = Release|Any CPU
- {472326F6-01F0-41CA-B124-06D987BA6668}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {472326F6-01F0-41CA-B124-06D987BA6668}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {472326F6-01F0-41CA-B124-06D987BA6668}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {472326F6-01F0-41CA-B124-06D987BA6668}.Release|Any CPU.Build.0 = Release|Any CPU
- {72A852A8-55C5-4C72-95ED-13B3A6E670EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {72A852A8-55C5-4C72-95ED-13B3A6E670EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6A52A594-F6A9-4754-BF53-22A126B54081}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6A52A594-F6A9-4754-BF53-22A126B54081}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6A52A594-F6A9-4754-BF53-22A126B54081}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6A52A594-F6A9-4754-BF53-22A126B54081}.Release|Any CPU.Build.0 = Release|Any CPU
{89C1A54B-6FB2-4DBE-A36E-F21650623538}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{89C1A54B-6FB2-4DBE-A36E-F21650623538}.Debug|Any CPU.Build.0 = Debug|Any CPU
{89C1A54B-6FB2-4DBE-A36E-F21650623538}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -150,52 +104,14 @@ Global
{6D24872E-8FAA-4CE6-9542-1EB0DB405A7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D24872E-8FAA-4CE6-9542-1EB0DB405A7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6D24872E-8FAA-4CE6-9542-1EB0DB405A7A}.Release|Any CPU.Build.0 = Release|Any CPU
- {C07EB866-7BC7-43C4-B1C1-271E985C55CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C07EB866-7BC7-43C4-B1C1-271E985C55CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C07EB866-7BC7-43C4-B1C1-271E985C55CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C07EB866-7BC7-43C4-B1C1-271E985C55CC}.Release|Any CPU.Build.0 = Release|Any CPU
- {C7AACA24-410B-4497-8400-EAF0A81C2133}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C7AACA24-410B-4497-8400-EAF0A81C2133}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C7AACA24-410B-4497-8400-EAF0A81C2133}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C7AACA24-410B-4497-8400-EAF0A81C2133}.Release|Any CPU.Build.0 = Release|Any CPU
- {7014B4E2-94AC-430F-BD20-72BA2BA6EBA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7014B4E2-94AC-430F-BD20-72BA2BA6EBA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7014B4E2-94AC-430F-BD20-72BA2BA6EBA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7014B4E2-94AC-430F-BD20-72BA2BA6EBA3}.Release|Any CPU.Build.0 = Release|Any CPU
{548EE4F5-AFFE-425F-B1A7-4552902F12A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{548EE4F5-AFFE-425F-B1A7-4552902F12A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{548EE4F5-AFFE-425F-B1A7-4552902F12A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{548EE4F5-AFFE-425F-B1A7-4552902F12A6}.Release|Any CPU.Build.0 = Release|Any CPU
- {3134279E-5C1B-421C-9E2D-5013D599FA53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3134279E-5C1B-421C-9E2D-5013D599FA53}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3134279E-5C1B-421C-9E2D-5013D599FA53}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3134279E-5C1B-421C-9E2D-5013D599FA53}.Release|Any CPU.Build.0 = Release|Any CPU
- {63FA856A-E38D-4464-A164-11EED1DFE0F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {63FA856A-E38D-4464-A164-11EED1DFE0F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {89236B39-F2B6-4757-AB69-DF89FDBCE3A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {89236B39-F2B6-4757-AB69-DF89FDBCE3A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {89236B39-F2B6-4757-AB69-DF89FDBCE3A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {89236B39-F2B6-4757-AB69-DF89FDBCE3A5}.Release|Any CPU.Build.0 = Release|Any CPU
- {615361A4-2F0E-4521-A8C5-46BDB8AA6F28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {615361A4-2F0E-4521-A8C5-46BDB8AA6F28}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6AA65F8D-BA02-4CA7-85FB-551A1D7C1143}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6AA65F8D-BA02-4CA7-85FB-551A1D7C1143}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6AA65F8D-BA02-4CA7-85FB-551A1D7C1143}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6AA65F8D-BA02-4CA7-85FB-551A1D7C1143}.Release|Any CPU.Build.0 = Release|Any CPU
- {17EF8474-392A-4595-A4D4-D224F16AF8C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {17EF8474-392A-4595-A4D4-D224F16AF8C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {17EF8474-392A-4595-A4D4-D224F16AF8C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {17EF8474-392A-4595-A4D4-D224F16AF8C4}.Release|Any CPU.Build.0 = Release|Any CPU
{3F9DAEFD-D6AF-4FA8-B6B2-485832AB9B26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3F9DAEFD-D6AF-4FA8-B6B2-485832AB9B26}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3F9DAEFD-D6AF-4FA8-B6B2-485832AB9B26}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3F9DAEFD-D6AF-4FA8-B6B2-485832AB9B26}.Release|Any CPU.Build.0 = Release|Any CPU
- {0BC2F871-B50D-41C3-9267-ABDE125D9B17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0BC2F871-B50D-41C3-9267-ABDE125D9B17}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B6FD6277-A4DA-4FAC-BDA9-841D51E3D57F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B6FD6277-A4DA-4FAC-BDA9-841D51E3D57F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B6FD6277-A4DA-4FAC-BDA9-841D51E3D57F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B6FD6277-A4DA-4FAC-BDA9-841D51E3D57F}.Release|Any CPU.Build.0 = Release|Any CPU
{2F638D52-C946-4F1B-89A1-ADB47D5FDBD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F638D52-C946-4F1B-89A1-ADB47D5FDBD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F638D52-C946-4F1B-89A1-ADB47D5FDBD9}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -220,6 +136,12 @@ Global
{AFEF4E4D-92E3-4F04-9F19-ED01C0B2F24A}.Release|Any CPU.Build.0 = Release|Any CPU
{E16A75BC-5FB5-47FC-962D-4AD20E686D59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E16A75BC-5FB5-47FC-962D-4AD20E686D59}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EFAEA205-7808-498D-9D82-91ACF2F663DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EFAEA205-7808-498D-9D82-91ACF2F663DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EFAEA205-7808-498D-9D82-91ACF2F663DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EFAEA205-7808-498D-9D82-91ACF2F663DB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5C329922-5F37-4FA3-A9D5-9C5784F98360}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5C329922-5F37-4FA3-A9D5-9C5784F98360}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -229,30 +151,14 @@ Global
{88CCFE9E-3837-4EA9-80EB-A064110523F8} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
{735CF076-6103-45CE-8B2F-58A9296FE424} = {2949452D-321C-4EB5-975D-62B8C8DB94C8}
{FD2C3C66-8C36-4D3B-B80F-26AAFF839CCB} = {2949452D-321C-4EB5-975D-62B8C8DB94C8}
- {7822C382-D01D-41A5-A94A-4A953DD178A7} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
- {5A26AFF4-AE8C-43A3-8C60-BBA153DAE608} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
- {472326F6-01F0-41CA-B124-06D987BA6668} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
- {72A852A8-55C5-4C72-95ED-13B3A6E670EF} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
- {6A52A594-F6A9-4754-BF53-22A126B54081} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
{89C1A54B-6FB2-4DBE-A36E-F21650623538} = {2217EA0E-E53F-4ECC-A49D-F38BC743F47A}
{956A86C4-3938-4373-980B-D96B880ED333} = {2217EA0E-E53F-4ECC-A49D-F38BC743F47A}
{F76F54B5-3DF1-486C-A632-2CF188A0F9AD} = {2217EA0E-E53F-4ECC-A49D-F38BC743F47A}
{BEAE0BF6-7AB9-4AF5-83CE-D08E3C6880EF} = {4ACB1DA8-8A4D-451A-A5FB-3CBD7A261263}
{D6A5E5A0-7529-4FFA-9F9D-B2C610919BF6} = {4ACB1DA8-8A4D-451A-A5FB-3CBD7A261263}
{6D24872E-8FAA-4CE6-9542-1EB0DB405A7A} = {4ACB1DA8-8A4D-451A-A5FB-3CBD7A261263}
- {C07EB866-7BC7-43C4-B1C1-271E985C55CC} = {F03B5F75-6DCD-4FF8-989F-403C5EA0AA5B}
- {C7AACA24-410B-4497-8400-EAF0A81C2133} = {F03B5F75-6DCD-4FF8-989F-403C5EA0AA5B}
- {7014B4E2-94AC-430F-BD20-72BA2BA6EBA3} = {F03B5F75-6DCD-4FF8-989F-403C5EA0AA5B}
{548EE4F5-AFFE-425F-B1A7-4552902F12A6} = {A362AFBC-FC73-46A6-9185-15C17E694538}
- {3134279E-5C1B-421C-9E2D-5013D599FA53} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
- {63FA856A-E38D-4464-A164-11EED1DFE0F8} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
- {89236B39-F2B6-4757-AB69-DF89FDBCE3A5} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
- {615361A4-2F0E-4521-A8C5-46BDB8AA6F28} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
- {6AA65F8D-BA02-4CA7-85FB-551A1D7C1143} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
- {17EF8474-392A-4595-A4D4-D224F16AF8C4} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
{3F9DAEFD-D6AF-4FA8-B6B2-485832AB9B26} = {2217EA0E-E53F-4ECC-A49D-F38BC743F47A}
- {0BC2F871-B50D-41C3-9267-ABDE125D9B17} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
- {B6FD6277-A4DA-4FAC-BDA9-841D51E3D57F} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
{2F638D52-C946-4F1B-89A1-ADB47D5FDBD9} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
{62BC7EFA-7E95-4593-A146-8A6AC44278FB} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
{45C22F98-7AAC-465E-B8BB-81A1A320D00A} = {0C4E3DC3-F1FA-4BD7-8D81-BF5EFD452A51}
@@ -261,6 +167,8 @@ Global
{0EFB3769-37F2-4D7A-9EFF-4C1CB749475C} = {F03B5F75-6DCD-4FF8-989F-403C5EA0AA5B}
{AFEF4E4D-92E3-4F04-9F19-ED01C0B2F24A} = {CAE5A042-7B8F-49E7-8510-4B93DA85D6D8}
{E16A75BC-5FB5-47FC-962D-4AD20E686D59} = {CAE5A042-7B8F-49E7-8510-4B93DA85D6D8}
+ {EFAEA205-7808-498D-9D82-91ACF2F663DB} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
+ {5C329922-5F37-4FA3-A9D5-9C5784F98360} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {16F7DBDD-F487-41D6-A856-9E9B7B3F61C5}