Piolot_RepotForm_PeiHao/非C#代码文件/刷K3发票金额SQL.sql

73 lines
3.2 KiB
MySQL
Raw Normal View History

2025-07-11 15:28:56 +08:00
2025-08-04 09:45:55 +08:00
--UPDATE [oldk3seorder0701] SET רƱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=0,[<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]=0;
2025-07-11 15:28:56 +08:00
TRUNCATE TABLE [ZZZ_ZZ_FaPiaoLosed];
DECLARE @FDATE DATETIME,@FSourceBillNo NVARCHAR(200),@FSourceTranType INT,@FSourceInterId INT ,@F_contractnumber NVARCHAR(2000)
,@F_contractnumber2 NVARCHAR(2000),@F_contractnumber3 NVARCHAR(2000),@F_contractnumber4 NVARCHAR(2000),@FOrderInterID INT,@FOrderEntryID INT,@frob INT,@FNumber NVARCHAR(200),@FAuxQty DECIMAL(18,2)
,@amount DECIMAL(18,2),@hexiao DECIMAL(18,2),@FTranType INT,@saleBill NVARCHAR(200),@ifok INT=0,@id INT,@fid1 INT ,@fid2 INT,@row INT=0;
-- 1. <20><><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD>
DECLARE cursor_name2 CURSOR FOR
SELECT a.FInterID,a.FEntryID,a.FSourceTranType,a.FSourceInterId,a.FOrderInterID,a.FOrderEntryID,c.FBillNo AS [<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD><EFBFBD>], b.FNumber,FAuxQty [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
-- ,a.FTaxPrice [<5B><>˰<EFBFBD><CBB0>]
--,a.FStdAmount [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ң<EFBFBD>]
,a.FStdAmountIncludeTax [<EFBFBD><EFBFBD>˰<EFBFBD>ϼƣ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ң<EFBFBD>]
--,a.FStdTaxAmount [˰<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ң<EFBFBD>]
,aa.FHeadSelfI0553
,aa.FHeadSelfI0456
,c.FHeadSelfS01108,c.FHeadSelfS0171
,aa.FDate
,frob,aa.FTranType --,aa.FBillNo,a.FInterID,a.FEntryID,a.FSourceBillNo,FHeadSelfS0172
FROM k3.AIS20130323140156.dbo.icsaleentry a
LEFT JOIN k3.AIS20130323140156.dbo.icsale aa ON a.FInterID=aa.FInterID
LEFT JOIN k3.AIS20130323140156.dbo.t_icitem b ON a.FItemID=b.FItemID
LEFT JOIN k3.AIS20130323140156.dbo.SEOrder c ON a.FOrderInterID=c.FInterID
--WHERE FTranType NOT IN (80,86)
--WHERE c.FBillNo='S110301-ZWH01'
ORDER BY a.FInterID,a.FEntryID
OPEN cursor_name2;
FETCH NEXT FROM cursor_name2
INTO @fid1,@fid2,@FSourceTranType, @FSourceInterId,@FOrderInterID,@FOrderEntryID,@saleBill,@FNumber,@FAuxQty,@amount,@F_contractnumber,@F_contractnumber2,@F_contractnumber3,@F_contractnumber4
,@FDATE,@frob,@FTranType
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @row=@row+1;
SELECT @ifok=0,@id=0;
IF(@saleBill IS NOT NULL AND @saleBill !='')
BEGIN
SELECT @ifok=1;
SELECT @id=id FROM [oldk3seorder0701] WHERE @saleBill=[<EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD>] AND [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]=@FOrderInterID AND [<EFBFBD>к<EFBFBD>]=@FOrderEntryID;
END
ELSE IF(@F_contractnumber2 IS NOT NULL AND @F_contractnumber2 !='')
BEGIN
SELECT @ifok=2;
SELECT @id=id FROM [oldk3seorder0701] WHERE @F_contractnumber2=[<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>] AND @FNumber=[<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>] AND @FAuxQty=[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>];
END
PRINT CONCAT('id=',@id,' <20>ڼ<EFBFBD><DABC><EFBFBD>: ',@row,' FInterID: ',@fid1,' FEntryID: ',@fid2,' [<5B><>˰<EFBFBD>ϼƣ<CFBC><C6A3><EFBFBD>λ<EFBFBD>ң<EFBFBD>] ',@amount);
IF(@id=0)
BEGIN
INSERT INTO [dbo].[ZZZ_ZZ_FaPiaoLosed] ([FInterID] ,[FEntryID])
VALUES (@fid1 ,@fid2)
END
-- @FTranType 80 רƱ 86 <20><>Ʊ 602 רƱ 601 <20><>Ʊ
IF(@FTranType IN (80,602) AND @id>0)
BEGIN
UPDATE [oldk3seorder0701] SET [רƱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]=ISNULL([רƱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>],0)+@amount
WHERE id=@id
end
IF(@FTranType IN (86,601) AND @id>0)
BEGIN
UPDATE [oldk3seorder0701] SET [<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]=ISNULL([<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>],0)+@amount
WHERE id=@id
end
-- <20><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>¼
FETCH NEXT FROM cursor_name2
INTO @fid1,@fid2,@FSourceTranType, @FSourceInterId,@FOrderInterID,@FOrderEntryID,@saleBill,@FNumber,@FAuxQty,@amount,@F_contractnumber,@F_contractnumber2,@F_contractnumber3,@F_contractnumber4
,@FDATE,@frob,@FTranType;
END
-- 4. <20>ر<EFBFBD><D8B1>α<EFBFBD>
CLOSE cursor_name2;
-- 5. <20>ͷ<EFBFBD><CDB7>α<EFBFBD><CEB1><EFBFBD>Դ
DEALLOCATE cursor_name2;