This commit is contained in:
余宇波 2025-07-15 18:29:22 +08:00
parent 203db65e66
commit e66ef0d765
2 changed files with 142 additions and 114 deletions

View File

@ -1,114 +0,0 @@
ALTER PROCEDURE GXFPJEYSDZDMX_GZTH
AS
BEGIN
--
EXEC GetIV_SALESICYSMX_GZTH
UPDATE A
SET PPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd'),
PPBillingAmount = B.KPJE
FROM YingShouZhanKuanMX A
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '普票'
UPDATE A
SET ZPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd'),ZPBillingAmount = B.KPJE
FROM YingShouZhanKuanMX A
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '专票'
--
update A
SET A.QCZPBillingAmount = ISNULL(A.QCZPBillingAmount,0) + B.FAFTERTOTALTAXFOR
FROM YingShouZhanKuanMX A
CROSS APPLY
(SELECT SUM(FAFTERTOTALTAXFOR) AS FAFTERTOTALTAXFOR
FROM T_IV_SALESIC
WHERE F_PAPERNUMBER = A.CONTRACTNUMBER
AND FBILLTYPEID = '50ea4e69b6144f69961d2e9b44820929'
AND FID NOT IN (SELECT FPFID FROM FPYSDZDMX)
) B
--
update A
SET A.QCPPBillingAmount = ISNULL(A.QCPPBillingAmount,0)+ B.FAFTERTOTALTAXFOR
FROM YingShouZhanKuanMX A
CROSS APPLY
(SELECT SUM(FAFTERTOTALTAXFOR) AS FAFTERTOTALTAXFOR
FROM T_IV_SALESIC
WHERE F_PAPERNUMBER = A.CONTRACTNUMBER
AND FBILLTYPEID = '1cab58bc33d24e27826be02249f4edac'
AND FID NOT IN (SELECT FPFID FROM FPYSDZDMX)
) B
--
UPDATE A
SET A.KPJE = B.HZKPJE, A.ISTrue = 1
FROM FPYSDZDMX A
INNER JOIN FPYSDZDHPMXHP B ON A.FPFID = B.LZFPFID AND A.FPFENTRYID = B.LZFPFENTRYID
UPDATE A
SET PPBillingAmount = PPBillingAmount + B.KPJE
FROM YingShouZhanKuanMX A
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '普票' AND B.ISTrue = 1
UPDATE A
SET ZPBillingAmount = ZPBillingAmount+ B.KPJE
FROM YingShouZhanKuanMX A
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '专票' AND B.ISTrue = 1
--
SELECT
A.FID,
SUM(ISNULL(A.ZPBillingAmount,0)) + SUM(ISNULL(A.PPBillingAmount,0)) + AVG(ISNULL(A.QCZPBillingAmount,0)) + AVG(ISNULL(A.QCPPBillingAmount,0)) AS '专票金额'
INTO #TEMP3
FROM YingShouZhanKuanMX A
GROUP BY A.FID
UPDATE A
SET A.BillingAmount = B.[]
FROM YingShouZhanKuanMX A
INNER JOIN #TEMP3 B ON A.FID = B.FID
--
SELECT
FID, SUM(ShipmentsAmount) - AVG(PaymentAmount) AS '已出货欠款',AVG(BillingAmount) - AVG(PaymentAmount) AS '已开票欠款',AVG(OrderAmount) - AVG(BillingAmount) AS '欠票',
CASE WHEN (AVG(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = SUM(ISNULL(ShipmentsAmount,0))
AND (AVG(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = AVG(ISNULL(BillingAmount,0))
AND (AVG(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = AVG(ISNULL(PaymentAmount,0))
THEN '已完结'
ELSE '未完结'
END AS '是否已完结'
INTO #TEMP4
FROM YingShouZhanKuanMX
GROUP BY FID
UPDATE A
SET A.ShippedDebt = B.[], A.InvoicedDebt = B.[],A.OwedTickets = B.[],
A.IsEnded = B.[]
FROM YingShouZhanKuanMX A
INNER JOIN #TEMP4 B ON A.FID = B.FID
--
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY FID ORDER BY FID) as row_num
INTO #TEMP5
FROM YingShouZhanKuanMX
TRUNCATE TABLE YingShouZhanKuanMX_GZTH
INSERT INTO YingShouZhanKuanMX_GZTH
SELECT * FROM #TEMP5
UPDATE A
SET A.BillingAmount = 0,A.OrderAmount = 0,A.PaymentAmount = 0,A.ShippedDebt = 0,A.InvoicedDebt = 0,A.OwedTickets = 0,A.IsEnded = ''
FROM YingShouZhanKuanMX_GZTH A
WHERE row_num <> 1
END

View File

@ -0,0 +1,142 @@
/****** Object: StoredProcedure [dbo].[GXFPJEYSDZDMX_GZTH] Script Date: 2025/7/15 16:06:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GXFPJEYSDZDMX_GZTH]
AS
BEGIN
--
EXEC GetIV_SALESICYSMX_GZTH
UPDATE A
SET PPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd'),
PPBillingAmount = ISNULL(PPBillingAmount,0) + B.KPJE
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '普票' AND A.[K3数据] = 0
UPDATE A
SET ZPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd'),ZPBillingAmount = ISNULL(ZPBillingAmount,0) + B.KPJE
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '专票' AND A.[K3数据] = 0
--
update A
SET A.QCZPBillingAmount = ISNULL(A.QCZPBillingAmount,0) + B.FAFTERTOTALTAXFOR
FROM YingShouZhanKuanMX_GZTH A
CROSS APPLY
(SELECT SUM(FAFTERTOTALTAXFOR) AS FAFTERTOTALTAXFOR
FROM T_IV_SALESIC
WHERE F_PAPERNUMBER = A.CONTRACTNUMBER
AND FBILLTYPEID = '50ea4e69b6144f69961d2e9b44820929'
AND FID NOT IN (SELECT FPFID FROM FPYSDZDMX)
AND A.[K3数据] = 0
) B
--
update A
SET A.QCPPBillingAmount = ISNULL(A.QCPPBillingAmount,0)+ B.FAFTERTOTALTAXFOR
FROM YingShouZhanKuanMX_GZTH A
CROSS APPLY
(SELECT SUM(FAFTERTOTALTAXFOR) AS FAFTERTOTALTAXFOR
FROM T_IV_SALESIC
WHERE F_PAPERNUMBER = A.CONTRACTNUMBER
AND FBILLTYPEID = '1cab58bc33d24e27826be02249f4edac'
AND FID NOT IN (SELECT FPFID FROM FPYSDZDMX)
AND A.[K3数据] = 0
) B
--
UPDATE A
SET A.KPJE = B.HZKPJE, A.ISTrue = 1
FROM FPYSDZDMX A
INNER JOIN FPYSDZDHPMXHP B ON A.FPFID = B.LZFPFID AND A.FPFENTRYID = B.LZFPFENTRYID
UPDATE A
SET PPBillingAmount = PPBillingAmount + B.KPJE
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '普票' AND B.ISTrue = 1 AND A.[K3数据] = 0
UPDATE A
SET ZPBillingAmount = ZPBillingAmount+ B.KPJE
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '专票' AND B.ISTrue = 1 AND A.[K3数据] = 0
--
SELECT
A.FID,
A.FENTRYID,
SUM(ISNULL(A.ZPBillingAmount,0)) + SUM(ISNULL(A.PPBillingAmount,0)) + SUM(ISNULL(A.QCZPBillingAmount,0)) + SUM(ISNULL(A.QCPPBillingAmount,0)) AS '专票金额'
INTO #TEMP3
FROM YingShouZhanKuanMX_GZTH A
WHERE A.[K3数据] = 0
GROUP BY A.FID, A.FENTRYID
UPDATE A
SET A.BillingAmount = B.[]
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN #TEMP3 B ON A.FID = B.FID AND A.FENTRYID = B.FENTRYID
WHERE A.[K3数据] = 0
--
SELECT
FID, SUM(ShipmentsAmount) - SUM(PaymentAmount) AS '已出货欠款',SUM(BillingAmount) - SUM(PaymentAmount) AS '已开票欠款',SUM(OrderAmount) - SUM(BillingAmount) AS '欠票',
CASE WHEN (SUM(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = SUM(ISNULL(ShipmentsAmount,0))
AND (SUM(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = SUM(ISNULL(BillingAmount,0))
AND (SUM(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = SUM(ISNULL(PaymentAmount,0))
THEN '已完结'
ELSE '未完结'
END AS '是否已完结'
INTO #TEMP4
FROM YingShouZhanKuanMX_GZTH A
WHERE A.[K3数据] = 0
GROUP BY FID
UPDATE A
SET A.ShippedDebt = B.[], A.InvoicedDebt = B.[],A.OwedTickets = B.[],
A.IsEnded = B.[]
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN #TEMP4 B ON A.FID = B.FID
WHERE A.[K3数据] = 0
--
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY FID ORDER BY FID) as row_num1
INTO #TEMP5
FROM YingShouZhanKuanMX_GZTH
UPDATE A
SET row_num = row_num1
FROM YingShouZhanKuanMX_GZTH A
INNEr JOIN #TEMP5 B ON A.FID = B.FID AND A.FENTRYID = B.FENTRYID
--UPDATE A
--SET A.BillingAmount = 0,A.OrderAmount = 0,A.PaymentAmount = 0,A.ShippedDebt = 0,A.InvoicedDebt = 0,A.OwedTickets = 0,A.IsEnded = '',QCPPBillingAmount = 0,QCZPBillingAmount = 0
--FROM YingShouZhanKuanMX_GZTH A
--WHERE row_num <> 1
UPDATE A
SET A.PPBillingDate = ''
FROM YingShouZhanKuanMX_GZTH A
WHERE PPBillingAmount = 0
UPDATE YingShouZhanKuanMX_GZTH
SET OrderAmount=0,PaymentAmount=0,ShippedDebt=0,InvoicedDebt=0,IsEnded = NULL ,OwedTickets= 0,BillingAmount=0
from (
SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY FBILLNO ORDER BY fid) = 1 THEN FBILLNO
END AS ,* FROM YingShouZhanKuanMX_GZTH
) B
WHERE YingShouZhanKuanMX_GZTH.FID=B.FID AND YingShouZhanKuanMX_GZTH.FENTRYID=b.FENTRYID AND b. IS null
END