PiolotTH_ReportFrom/派诺报表SQL文件/应收对账单明细更新发票金额存储过程.sql

252 lines
12 KiB
MySQL
Raw Normal View History

2025-08-02 15:04:44 +08:00
USE [AIS20250723115352]
GO
/****** Object: StoredProcedure [dbo].[GXFPJEYSDZDMX_GZTH] Script Date: 2025/8/2 10:22:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
2025-07-15 18:29:22 +08:00
ALTER PROCEDURE [dbo].[GXFPJEYSDZDMX_GZTH]
2025-08-02 15:04:44 +08:00
@FSDATE varchar(1000),
@FEDATE varchar(1000)
2025-07-15 18:29:22 +08:00
AS
2025-08-02 15:04:44 +08:00
BEGIN
-- ֻȡ2025<32><35>1<EFBFBD>¿<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ǿշ<C7BF>Ʊ
SET @FSDATE = CASE WHEN CONVERT(DATE,@FSDATE) < '2025-01-01' THEN '2025-01-01'ELSE @FSDATE END
2025-07-15 18:29:22 +08:00
--<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-08-02 15:04:44 +08:00
EXEC GetIV_SALESICYSMX_GZTH @FSDATE,@FEDATE
2025-07-15 18:29:22 +08:00
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 = '<EFBFBD><EFBFBD>Ʊ' AND A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
UPDATE A
2025-08-02 15:04:44 +08:00
SET ZPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd'),
ZPBillingAmount = ISNULL(ZPBillingAmount,0) + B.KPJE
2025-07-15 18:29:22 +08:00
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.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
2025-07-18 14:11:14 +08:00
----<EFBFBD>ڳ<EFBFBD>רƱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--UPDATE A
--SET A.QCZPBillingAmount =0 -- 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.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
--) B
2025-07-15 18:29:22 +08:00
2025-07-18 14:11:14 +08:00
----<EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--UPDATE A
--SET A.QCPPBillingAmount =0-- 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.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
--) B
2025-07-15 18:29:22 +08:00
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD>Ʊ<EFBFBD>Ŀ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UPDATE A
SET --A.KPJE = B.HZKPJE,
A.ISTrue = 1
2025-07-15 18:29:22 +08:00
FROM FPYSDZDMX A
INNER JOIN FPYSDZDHPMXHP B ON A.FPFID = B.LZFPFID AND A.FPFENTRYID = B.LZFPFENTRYID
2025-08-02 15:04:44 +08:00
--UPDATE A
--SET PPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd')
--FROM YingShouZhanKuanMX_GZTH A
--INNER JOIN (SELECT MAX(FPRQ) FPRQ,XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX FROM FPYSDZDMX GROUP BY XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX) B
--ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
--WHERE B.FPLX = '<EFBFBD><EFBFBD>Ʊ' AND A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
UPDATE A
SET PPBillingDate = B.FPRQ
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN (
SELECT (
stuff((select ','+format(convert(date,FPRQ),'yyyy-MM-dd') from (select distinct FPRQ,XSDDFID from FPYSDZDMX)b WHERE XSDDFID = A.XSDDFID AND FPLX = '<EFBFBD><EFBFBD>Ʊ' FOR xml path('')),1,1,'')) FPRQ,
XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX
FROM FPYSDZDMX A
GROUP BY XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX) B
ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '<EFBFBD><EFBFBD>Ʊ' AND A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
-- UPDATE A
--SET ZPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd')
--FROM YingShouZhanKuanMX_GZTH A
--INNER JOIN (SELECT MAX(FPRQ) FPRQ,XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX FROM FPYSDZDMX GROUP BY XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX) B
--ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
-- WHERE B.FPLX = 'רƱ' AND A.[<5B>Ƿ<EFBFBD>K3<4B><33><EFBFBD><EFBFBD>] = 0
UPDATE A
SET ZPBillingDate = B.FPRQ
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN (
SELECT (
stuff((select ','+format(convert(date,FPRQ),'yyyy-MM-dd') from (select distinct FPRQ,XSDDFID from FPYSDZDMX)b WHERE XSDDFID = A.XSDDFID AND FPLX = 'רƱ' FOR xml path('')),1,1,'')) FPRQ,
XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX
FROM FPYSDZDMX A
GROUP BY XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX) B
ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = 'רƱ' AND A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
2025-07-18 14:11:14 +08:00
--UPDATE A
--SET PPBillingAmount = B.KPJE
--FROM YingShouZhanKuanMX_GZTH A
--INNER JOIN (SELECT bb.XSDDFID,bb.XSDDFENTRYID,bb.FPJSZZ,SUM(KPJE) KPJE FROM FPYSDZDMX bb
--WHERE bB.FPLX = '<EFBFBD><EFBFBD>Ʊ'
--GROUP BY bb.XSDDFID,bb.XSDDFENTRYID,bb.FPJSZZ ) B
--ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
--WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
2025-07-15 18:29:22 +08:00
2025-08-02 15:04:44 +08:00
--UPDATE A
2025-07-18 14:11:14 +08:00
--SET ZPBillingAmount = B.KPJE
--FROM YingShouZhanKuanMX_GZTH A
--INNER JOIN (SELECT bb.XSDDFID,bb.XSDDFENTRYID,bb.FPJSZZ,SUM(KPJE) KPJE FROM FPYSDZDMX bb
--WHERE bB.FPLX = 'רƱ'
--GROUP BY bb.XSDDFID,bb.XSDDFENTRYID,bb.FPJSZZ ) B
--ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
--WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
2025-07-15 18:29:22 +08:00
UPDATE A
2025-07-18 14:11:14 +08:00
SET PPBillingAmount = B.KPJE
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN ( SELECT SUM(cc.KPJE) KPJE,XSDDFID,cc.FPJSZZ FROM (
SELECT DISTINCT bb.XSDDFID,bb.FPFENTRYID,bb.KPJE ,bb.FPJSZZ FROM FPYSDZDMX bb
WHERE bb.FPLX = '<EFBFBD><EFBFBD>Ʊ' ) cc
GROUP BY cc.XSDDFID,cc.FPJSZZ ) B
ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ
WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
--UPDATE A
--SET PPBillingAmount = B.KPJE
-- FROM YingShouZhanKuanMX_GZTH A
--INNER JOIN ( SELECT SUM(cc.KPJE) KPJE,XSDDFID,cc.FPJSZZ,cc.XSDDFENTRYID FROM (
-- SELECT DISTINCT bb.XSDDFID,bb.FPFENTRYID,bb.KPJE ,bb.FPJSZZ,bb.XSDDFENTRYID FROM FPYSDZDMX bb
-- WHERE bb.FPLX = '<27><>Ʊ' ) cc
-- GROUP BY cc.XSDDFID,cc.FPJSZZ,cc.XSDDFENTRYID ) B
--ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ AND A.FENTRYID = b.XSDDFENTRYID
--WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
2025-07-18 14:11:14 +08:00
UPDATE A
2025-07-18 14:11:14 +08:00
SET ZPBillingAmount = B.KPJE
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN ( SELECT SUM(cc.KPJE) KPJE,XSDDFID,cc.FPJSZZ FROM (
SELECT DISTINCT bb.XSDDFID,bb.FPFENTRYID,bb.KPJE ,bb.FPJSZZ FROM FPYSDZDMX bb
WHERE bb.FPLX = 'רƱ' ) cc
GROUP BY cc.XSDDFID,cc.FPJSZZ ) B
ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ
WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
2025-07-15 18:29:22 +08:00
--UPDATE A
--SET PPBillingAmount = B.KPJE
-- FROM YingShouZhanKuanMX_GZTH A
--INNER JOIN ( SELECT SUM(cc.KPJE) KPJE,XSDDFID,cc.FPJSZZ,cc.XSDDFENTRYID FROM (
-- SELECT DISTINCT bb.XSDDFID,bb.FPFENTRYID,bb.KPJE ,bb.FPJSZZ,bb.XSDDFENTRYID FROM FPYSDZDMX bb
-- WHERE bb.FPLX = 'רƱ' ) cc
-- GROUP BY cc.XSDDFID,cc.FPJSZZ,cc.XSDDFENTRYID ) B
--ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ AND A.FENTRYID = b.XSDDFENTRYID
--WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
2025-07-18 14:11:14 +08:00
2025-07-15 18:29:22 +08:00
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĿ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT
A.FID,
A.FENTRYID,
2025-07-18 14:11:14 +08:00
SUM(ISNULL(A.ZPBillingAmount,0)) + SUM(ISNULL(A.PPBillingAmount,0)) + SUM(ISNULL(A.K3רƱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)) + SUM(ISNULL(A.K3<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)) AS 'רƱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
2025-07-15 18:29:22 +08:00
INTO #TEMP3
FROM YingShouZhanKuanMX_GZTH A
WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
GROUP BY A.FID, A.FENTRYID
2025-08-02 15:04:44 +08:00
UPDATE A
2025-07-15 18:29:22 +08:00
SET A.BillingAmount = B.[רƱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN #TEMP3 B ON A.FID = B.FID AND A.FENTRYID = B.FENTRYID
WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
2025-07-16 14:58:01 +08:00
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ѿ<EFBFBD>ƱǷ<EFBFBD>ǷƱ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>
-- OrderAmount=0,PaymentAmount=0,ShippedDebt=0,InvoicedDebt=0,IsEnded = NULL ,OwedTickets= 0,BillingAmount=0
2025-07-15 18:29:22 +08:00
SELECT
2025-07-18 14:11:14 +08:00
FID, SUM(ShipmentsAmount) - AVG(PaymentAmount) AS '<EFBFBD>ѳ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>',AVG(BillingAmount) - AVG(PaymentAmount) AS '<EFBFBD>ѿ<EFBFBD>ƱǷ<EFBFBD><EFBFBD>',SUM(OrderAmount) - SUM(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))
2025-07-15 18:29:22 +08:00
THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
ELSE 'δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
END AS '<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
INTO #TEMP4
FROM YingShouZhanKuanMX_GZTH A
WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
GROUP BY FID
UPDATE A
2025-08-02 15:04:44 +08:00
SET A.ShippedDebt = B.[<EFBFBD>ѳ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>],-- A.InvoicedDebt = B.[<5B>ѿ<EFBFBD>ƱǷ<C6B1><C7B7>],--A.OwedTickets = B.[ǷƱ],
2025-07-15 18:29:22 +08:00
A.IsEnded = B.[<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN #TEMP4 B ON A.FID = B.FID
WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0
2025-08-02 15:04:44 +08:00
UPDATE A
SET A.InvoicedDebt = BillingAmount - PaymentAmount
FROM YingShouZhanKuanMX_GZTH A
2025-07-15 18:29:22 +08:00
--<EFBFBD>Ա<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>
SELECT
*,
2025-07-18 14:11:14 +08:00
ROW_NUMBER() OVER (PARTITION BY FID ORDER BY FID) AS row_num1
2025-07-15 18:29:22 +08:00
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
2025-07-15 18:29:22 +08:00
--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,PPBillingAmount=0,ZPBillingAmount=0,ZPBillingDate='',PPBillingDate='',PaymentDate = ''
2025-07-15 18:29:22 +08:00
from (
SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY FBILLNO ORDER BY fid) = 1 THEN FBILLNO
END AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* FROM YingShouZhanKuanMX_GZTH
2025-07-18 14:11:14 +08:00
2025-07-15 18:29:22 +08:00
) B
WHERE YingShouZhanKuanMX_GZTH.FID=B.FID AND YingShouZhanKuanMX_GZTH.FENTRYID=b.FENTRYID AND b.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> IS null
UPDATE A
SET OwedTickets = B.QP
FROM YingShouZhanKuanMX_GZTH A
2025-08-02 15:04:44 +08:00
JOIN (SELECT FID,SUM(ShipmentsAmount) - SUM(BillingAmount) AS 'QP'--SUM(OrderAmount) - SUM(BillingAmount) AS 'QP'
FROM YingShouZhanKuanMX_GZTH GROUP BY FID) B ON A.FID = B.FID
WHERE A.[<EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = 0 AND A.row_num = 1
DROP TABLE #TEMP3
DROP TABLE #TEMP4
DROP TABLE #TEMP5
2025-07-15 18:29:22 +08:00
END