Pilot_KD_Parino_yuyubo/SQLQuery1.sql
2025-04-07 21:06:39 +08:00

393 lines
19 KiB
Transact-SQL

ALTER PROC [dbo].[GetTempModelData]
(
@FID NVARCHAR(100),
@FType NVARCHAR(100)
)
AS
DECLARE @FitemName NVARCHAR(1000) --纸质合同号
DECLARE @YFitemName NVARCHAR(1000) --原纸质合同号
DECLARE @SJFP NVARCHAR(1000) --税金及发票
DECLARE @GPhone NVARCHAR(1000) --固定电话
DECLARE @THDate NVARCHAR(1000) --退货日期
DECLARE @YFDate NVARCHAR(1000) --原日期
DECLARE @YFDateYear NVARCHAR(1000) -- 原日期 年
DECLARE @YFDateMonth NVARCHAR(1000) -- 原日期 月
DECLARE @YFDateDay NVARCHAR(1000) -- 原日期 日
DECLARE @SYFitemName NVARCHAR(1000) --S原纸质合同号
DECLARE @SYFDate NVARCHAR(1000) --S原日期
DECLARE @SYFDateYear NVARCHAR(1000) -- S原日期 年
DECLARE @SYFDateMonth NVARCHAR(1000) -- S原日期 月
DECLARE @SYFDateDay NVARCHAR(1000) -- S原日期 日
DECLARE @FContractFPhone NVARCHAR(1000) --纸质合同号
DECLARE @FContract NVARCHAR(1000) --纸质合同号
DECLARE @FCustAddress NVARCHAR(1000) --纸质合同号
DECLARE @FPaymentMethod NVARCHAR(1000) --纸质合同号
DECLARE @FProductionCycle2 NVARCHAR(1000) --纸质合同号
DECLARE @FProductionCycle NVARCHAR(1000) --纸质合同号
DECLARE @FContractNo NVARCHAR(1000) --纸质合同号
DECLARE @FCustName NVARCHAR(1000) --甲方名称
DECLARE @FDate NVARCHAR(1000) -- 日期
DECLARE @FDateYear NVARCHAR(1000) -- 日期 年
DECLARE @FDateMonth NVARCHAR(1000) -- 日期 月
DECLARE @FDateDay NVARCHAR(1000) -- 日期 日
DECLARE @CreatedName NVARCHAR(1000) -- 创建人
DECLARE @FTaxAmountText NVARCHAR(1000)
DECLARE @FTaxAmount NVARCHAR(1000)
DECLARE @FItem NVARCHAR(1000)
DECLARE @FAddressAndPhone NVARCHAR(1000)
DECLARE @FDeliveryDate NVARCHAR(1000)
DECLARE @FlegalRepresentative NVARCHAR(1000)
DECLARE @FBank NVARCHAR(1000)
DECLARE @FBankAccount NVARCHAR(1000)
DECLARE @FFax NVARCHAR(1000)
DECLARE @FPhone NVARCHAR(1000)
DECLARE @FEMAIL NVARCHAR(1000)
DECLARE @FTax NVARCHAR(1000)
DECLARE @FItemData NVARCHAR(1000)
DECLARE @FJHAddressFContractPhone NVARCHAR(1000)
DECLARE @FAProjectManager NVARCHAR(1000)
DECLARE @FAProjectPhone NVARCHAR(1000)
DECLARE @FBProjectManager NVARCHAR(1000)
DECLARE @FBProjectPhone NVARCHAR(1000)
DECLARE @FDeliveryTime NVARCHAR(1000)
DECLARE @FSHADDRESS NVARCHAR(1000)
DECLARE @FProjectDeadline NVARCHAR(1000)
DECLARE @FSettleMethod NVARCHAR(1000)
DECLARE @FProductionAddress NVARCHAR(1000)
DECLARE @FPeriod NVARCHAR(1000)
DECLARE @FJHAddress NVARCHAR(1000)
DECLARE @FWarrantyPeriod NVARCHAR(1000)
DECLARE @FAddress NVARCHAR(1000)
DECLARE @FINFORMATION NVARCHAR(1000)
DECLARE @FStartDate NVARCHAR(1000)
DECLARE @FEndDate NVARCHAR(1000)
DECLARE @FSaleId NVARCHAR(1000)
DECLARE @FMONTH NVARCHAR(1000) --质保月份
DECLARE @FMONTHYear NVARCHAR(1000) --质保年份
DECLARE @Projectarea NVARCHAR(1000) --项目所属领域
DECLARE @Province NVARCHAR(1000) --项目所属省份
DECLARE @VPAYMENTMETHOD NVARCHAR(1000)--结算方式
DECLARE @CreatedPhone NVARCHAR(1000)--创建人电话
DECLARE @FDELIVERYCONDITIONS NVARCHAR(1000)--发货条件
DECLARE @HFPaymentMethod NVARCHAR(1000)--付款方式 F_PaymentMethod
DECLARE @FNOTE NVARCHAR(1000)--备注单据头
DECLARE @FSALEORGID NVARCHAR(1000)--销售订单组织
---
SELECT top 1
@VPAYMENTMETHOD = A.F_VPAYMENTMETHOD,
@FDELIVERYCONDITIONS = (CASE WHEN A.F_DELIVERYCONDITIONS = '' THEN ''
ELSE SUBSTRING(A.F_DELIVERYCONDITIONS, CHARINDEX(',',A.F_DELIVERYCONDITIONS) + 1, LEN(A.F_DELIVERYCONDITIONS)) END),
@CreatedPhone = P.FPhone,
@HFPaymentMethod = A.F_PaymentMethod,
@FStartDate=F_TGKSRQ,
@FEndDate =F_TGJSRQ,
@FNOTE = A.FNOTE,
@FAddress=F_VRYF_Text_fg2,
@FJHAddress =F_Shippingaddress,
@FContractNo= F_contractnumber,
@FTaxAmount=FORMAT(b.FBillAllAmount, 'N2') ,
@FDate=convert(nvarchar(10), A.FDATE ,23),
@FDateYear=Year(A.FDATE),--年
@FDateMonth=Month(A.FDATE),--月
@FDateDay=DAY(A.FDATE),--日
@FCustName=isnull(C.FNAME,''),
@FItem=isnull(D.FNAME,''),
@FAddressAndPhone=CONCAT( e.FADDRESS,' ',FLinkMan,' ',FLinkPhone),
@FlegalRepresentative=isnull(e.FLegalPerson,''),
@FBank=isnull(L.FINVOICEBANKNAME,''),
@FBankAccount=isnull(L.FINVOICEBANKACCOUNT,''),
@FTax=isnull(e.FTAXREGISTERCODE,''),
@FFax=isnull(e.FFAX,''),
@FTaxAmountText=dbo.ConvertAmountToChineseWords(b.FBillAllAmount),
@FEMAIL=isnull(g.FEMAIL,''),
@FProductionCycle= F_SCZQ,
@FProductionCycle2 =F_Deliverymethod,
@FPaymentMethod =ISNULL(N.FNAME+',',''),
@FCustAddress=e.FADDRESS,
@FContract=H.FNAME,
@FitemName =H.FNAME,
@FContractFPhone = g.FTEL,
@FPhone = e.FTEL,
@FitemName= I.FNAME,
@FItemData = A.F_VRYF_Text_fg2,
@FJHAddressFContractPhone = F_Shippingaddress,
@FAProjectManager = a.F_ProjectManager ,
@FAProjectPhone = a.F_Contactnumber ,
@FBProjectManager = a.F_VRYF_TEXT_UKY ,
@FBProjectPhone = a.F_VRYF__Contactnumber_dvn ,
@FDeliveryTime=F_FHSJ,
@FProjectDeadline = F_ProjectDeadli ,
@FPeriod = J.FDATAVALUE ,
@FWarrantyPeriod = J.FDATAVALUE,
@FMONTH = FLOOR(A.F_MONTH),
@FMONTHYear = FLOOR(A.F_MONTH/12),
@FSaleId = K.FNAME,
@FSALEORGID = Q.FNAME,
@Projectarea = (CASE WHEN O.F_PROJECTFIELD = 1 THEN '建筑楼宇'
WHEN O.F_PROJECTFIELD = 2 THEN '医疗卫生'
WHEN O.F_PROJECTFIELD = 3 THEN '学校'
WHEN O.F_PROJECTFIELD = 4 THEN '文娱康乐'
WHEN O.F_PROJECTFIELD = 5 THEN '市政工程'
WHEN O.F_PROJECTFIELD = 6 THEN '能源'
WHEN O.F_PROJECTFIELD = 7 THEN '工业'
WHEN O.F_PROJECTFIELD = 8 THEN '交通运输'
END ),
@Province = O.F_Province,
@FINFORMATION = A.F_INFORMATION,
@CreatedName = P.FNAME,
@GPhone = P.F_GPhone,
@THDate = A.F_THDate,
@SJFP = A.F_SJFP
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERFIN B ON A.FID = B.FID
--INNER JOIN T_SAL_ORDERENTRY BB ON A.FID = BB.FID
LEFT JOIN T_BD_CUSTOMER_L C ON C.FCUSTID =A.FCUSTID AND C.FLOCALEID =2052
LEFT JOIN T_BD_CUSTOMER E ON E.FCUSTID =A.FCUSTID
LEFT JOIN T_BAS_PREBDONE_L D ON D.FID = A.F_projectname AND D.FLocaleID =2052
LEFT JOIN T_BD_CUSTBANK F ON F.FCUSTID = E.FCUSTID
LEFT JOIN T_BD_CUSTOMER_F L ON L.FCUSTID = E.FCUSTID
LEFT JOIN T_BD_COMMONCONTACT g on g.FCOMPANY = e.FCUSTID and g.FISDEFAULTCONTACT =1
LEFT JOIN T_BD_COMMONCONTACT_L H on H.FCONTACTID =G.FCONTACTID AND H.FLOCALEID =2052
LEFT JOIN T_BAS_PREBDONE_L I ON I.FID = A.F_projectname
LEFT JOIN V_ASSISTANTDATA J ON J.FENTRYID=A.F_ZBQ
left join V_BD_SALESMAN_L K ON K.FID = A.FSALERID
LEFT JOIN T_SAL_ORDERPLAN M ON M.FID =A.FID AND M.FSEQ = 1
LEFT JOIN T_BD_RecCondition_L N on N.FID = M.F_RecConditionId
LEFT JOIN T_BAS_PREBDTHREE O on O.FID = A.F_BON
LEFT JOIN T_SEC_USER P on A.FCreatorId = P.FUSERID
LEFT JOIN T_ORG_ORGANIZATIONS_L Q on Q.FORGID = A.FSALEORGID
--LEFT JOIN (Select B.FDATE,A.FENTRYID From T_SAL_ORDERENTRY_LK A
--JOIN T_SAL_ORDER B on A.FSBILLID = B.FID) P on P.FENTRYID = BB.FENTRYID
WHERE A.FID =@FID;
--2025/01/09 改动 --↓
SELECT top 1
@YFitemName = F_CONTRACTNUMBER,
@YFDate = convert(nvarchar(10), FDATE ,23),
@YFDateYear=Year(FDATE),--年
@YFDateMonth=Month(FDATE),--月
@YFDateDay=DAY(FDATE)--日
From T_SAL_ORDER Where FID =
(SELECT FSBILLID From
T_SAL_ORDERENTRY A
JOIN T_SAL_ORDERENTRY_LK B
on A.FENTRYID = B.FENTRYID
Where A.FID = @FID AND B.FSTABLENAME = 'T_SAL_ORDERENTRY')
--2025/01/09 改动 --↑
--2025/01/12 改动 --↓
SELECT top 1
@SYFitemName = F_CONTRACTNUMBER,
@SYFDate = convert(nvarchar(10), FDATE ,23),
@SYFDateYear=Year(FDATE),--年
@SYFDateMonth=Month(FDATE),--月
@SYFDateDay=DAY(FDATE)--日
From T_SAL_ORDER Where F_CONTRACTNUMBER =
(Select top 1 F_ZHTH From T_SAL_ORDER Where FID = @FID)
--2025/01/12 改动 --↑
;with t as(
SELECT A.FID,
CONCAT(RANK()OVER(PARTITION BY A.FID ORDER BY A.FSEQ) ,'',B.FDESCRIPTION,' ',CAST( a.F_day AS REAL),'',' ',
CAST( A.FRECADVANCERATE AS REAL),'%') AS '付款条件'
FROM T_SAL_ORDERPLAN A
INNER JOIN T_SAL_ORDER C ON C.FID = A.FID
INNER JOIN T_BD_RecCondition_L b on a.F_RecConditionId = b.fid
WHERE a.fid =@fid
)
,
H AS(
SELECT FID, -- 分组的主键
STUFF(
(
SELECT ','+ CONVERT(NVARCHAR(100), 付款条件,120) -- 要拼接的列
FROM t a WHERE b.FID = a.FID FOR XML PATH('')
),1 ,1, '') 付款条件
FROM t b
GROUP BY FID
)
SELECT @FSettleMethod =付款条件 FROM H
--@VPAYMENTMETHOD
select 'FSaleId' as 'Key' ,isnull(@FSaleId,'') as 'VALUE'
union all
select 'FSALEORGID' as 'Key' ,isnull(@FSALEORGID,'') as 'VALUE'
union all
select 'SJFP' as 'Key' ,isnull(@SJFP,'') as 'VALUE'
union all
select 'THDate' as 'Key' ,isnull(@THDate,'') as 'VALUE'
union all
select 'GPhone' as 'Key' ,isnull(@GPhone,'') as 'VALUE'
union all
select 'FNOTE' as 'Key' ,@FNOTE as 'VALUE'
union all
select 'YFContractNo' as 'Key' ,@YFitemName as 'VALUE'
union all
select 'YFDate' as 'Key' ,isnull(@YFDate,'') as 'VALUE'
union all
select 'YFDateYear' as 'Key' ,isnull(@YFDateYear,'') as 'VALUE'
union all
select 'YFDateMonth' as 'Key' ,isnull(@YFDateMonth,'') as 'VALUE'
union all
select 'YFDateDay' as 'Key' ,isnull(@YFDateDay,'') as 'VALUE'
union all
select 'SYFContractNo' as 'Key' ,@SYFitemName as 'VALUE'
union all
select 'SYFDate' as 'Key' ,isnull(@SYFDate,'') as 'VALUE'
union all
select 'SYFDateYear' as 'Key' ,isnull(@SYFDateYear,'') as 'VALUE'
union all
select 'SYFDateMonth' as 'Key' ,isnull(@SYFDateMonth,'') as 'VALUE'
union all
select 'SYFDateDay' as 'Key' ,isnull(@SYFDateDay,'') as 'VALUE'
union all
select 'Province' as 'Key' ,Isnull(@Province,'') as 'VALUE'
union all
select 'VPAYMENTMETHOD' as 'Key' ,Isnull(@VPAYMENTMETHOD,'') as 'VALUE'
union all
select 'Projectarea' as 'Key' ,Isnull(@Projectarea,'') as 'VALUE'
union all
select 'FMONTH' as 'Key' ,@FMONTH as 'VALUE'
union all
select 'FStartDate' as 'Key' ,isnull(@FStartDate,'') as 'VALUE'
union all
select 'FEndDate' as 'Key' ,isnull(@FEndDate,'') as 'VALUE'
union all
select 'FAddress' as 'Key' ,isnull(@FAddress,'') as 'VALUE'
union all
select 'FWarrantyPeriod' as 'Key' ,isnull(@FWarrantyPeriod,'') as 'VALUE'
union all
select 'HFPaymentMethod' as 'Key' ,@HFPaymentMethod as 'VALUE'
union all
select 'FDELIVERYCONDITIONS' as 'Key' ,@FDELIVERYCONDITIONS as 'VALUE'
union all
select 'CreatedName' as 'Key' ,@CreatedName as 'VALUE'
union all
select 'CreatedPhone' as 'Key',@CreatedPhone as 'VALUE'
union all
select 'FINFORMATION' as 'Key' ,Isnull(@FINFORMATION,'') as 'VALUE'
union all
select 'FMONTHYear' as 'Key' ,Isnull(@FMONTHYear,'') as 'VALUE'
union all
select 'FJHAddress' as 'Key' ,isnull(@FJHAddress,'') as 'VALUE'
union all
select 'FPeriod' as 'Key' ,isnull(@FPeriod,'') as 'VALUE'
union all
select 'FItemName' as 'Key' ,isnull(@FitemName,'') as 'VALUE'
UNION ALL
select 'FSettleMethod' as 'Key' ,isnull(@FSettleMethod,'') as 'VALUE'
UNION ALL
select 'FProjectDeadline' as 'Key' ,@FProjectDeadline as 'VALUE'
UNION ALL
select 'FDeliveryTime' as 'Key' ,@FDeliveryTime as 'VALUE'
UNION ALL
select 'FAProjectManager' as 'Key' ,@FAProjectManager as 'VALUE'
UNION ALL
select 'FAProjectPhone' as 'Key' ,@FAProjectPhone as 'VALUE'
UNION ALL
select 'FBProjectManager' as 'Key' ,@FBProjectManager as 'VALUE'
UNION ALL
select 'FBProjectPhone' as 'Key' ,@FBProjectPhone as 'VALUE'
UNION ALL
select 'FJHAddressFContractPhone' as 'Key' ,@FJHAddressFContractPhone as 'VALUE'
UNION ALL
select 'FItemData' as 'Key' ,@FItemData as 'VALUE'
UNION ALL
select 'FitemName' as 'Key' ,@FitemName as 'VALUE'
UNION ALL
select 'FFax' as 'Key' ,@FFax as 'VALUE'
UNION ALL
select 'FContractPhone' as 'Key' ,@FContractFPhone as 'VALUE'
UNION ALL
select 'FContract' as 'Key' ,@FContract as 'VALUE'
UNION ALL
select 'FCustAddress' as 'Key' ,@FCustAddress as 'VALUE'
UNION ALL
select 'FPaymentMethod' as 'Key' ,@FPaymentMethod as 'VALUE'
UNION ALL
select 'FProductionCycle2' as 'Key' ,@FProductionCycle2 as 'VALUE'
UNION ALL
select 'FProductionCycle' as 'Key' ,@FProductionCycle as 'VALUE'
UNION ALL
select 'FContractNo' as 'Key' ,@FContractNo as 'VALUE'
UNION ALL
select 'FCustName' as 'Key' ,@FCustName as 'VALUE'
UNION ALL
select 'FDate' as 'Key' ,@FDate as 'VALUE'
UNION ALL
select 'FDateYear' as 'Key' ,@FDateYear as 'VALUE'
UNION ALL
select 'FDateMonth' as 'Key' ,@FDateMonth as 'VALUE'
UNION ALL
select 'FDateDay' as 'Key' ,@FDateDay as 'VALUE'
UNION ALL
select 'FTaxAmountText' as 'Key' ,@FTaxAmountText as 'VALUE'
UNION ALL
select 'FTaxAmount' as 'Key' ,@FTaxAmount as 'VALUE'
UNION ALL
select 'FItem' as 'Key' ,@FItem as 'VALUE'
UNION ALL
select 'FAddressAndPhone' as '@FAddressAndPhone' ,@FCustName as 'VALUE'
UNION ALL
select 'FDeliveryDate' as 'Key' ,@FDeliveryDate as 'VALUE'
UNION ALL
select 'FlegalRepresentative' as 'Key' ,@FlegalRepresentative as 'VALUE'
UNION ALL
select 'FBank' as 'Key' ,@FBank as 'VALUE'
UNION ALL
select 'FBankAccount' as 'Key' ,@FBankAccount as 'VALUE'
UNION ALL
select 'FTax' as 'Key' ,@FTax as 'VALUE'
UNION ALL
select 'FPhone' as 'Key' ,@FPhone as 'VALUE'
UNION ALL
select 'FEmial' as 'Key' ,@FEMAIL as 'VALUE'
UNION ALL
select 'FEMAIL' as 'Key' ,@FEMAIL as 'VALUE'
SELECT fseq,B.fname,b.FSPECIFICATION,C.FNAME,FLOOR(A.FQTY),
FORMAT(ROUND( D.FTAXPRICE,2), 'N2'), FORMAT(D.FALLAMOUNT_LC, 'N2')
,A.FNOTE
FROM T_SAL_ORDERENTRY A
INNER JOIN T_BD_MATERIAL_L B ON B.FMATERIALID = A.FMATERIALID AND B.FLOCALEID =2052
INNER JOIN T_BD_UNIT_L C ON C.FUNITID =A.FUNITID AND C.FLOCALEID =2052
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =A.FENTRYID
WHERE A.FID =@FID
SELECT rank()over(partition by a.fid ,a.F_Projecttype order by a.fseq desc) as 'fseq',B.fname,b.FSPECIFICATION,E.F_103,FLOOR(A.FQTY),C.FNAME,
FORMAT(ROUND( D.FTAXPRICE,2), 'N2'), FORMAT(D.FALLAMOUNT_LC, 'N2')
,A.FNOTE,F_Projecttype as 'FType',
FORMAT(ROUND( SUM(D.FALLAMOUNT_LC)OVER(PARTITION BY A.FID ),2),'N2') AS 'FALLAMOUNT',
FORMAT(ROUND( SUM(D.FALLAMOUNT_LC)OVER(PARTITION BY A.FID,F_Projecttype) ,2), 'N2') AS 'FALLAMOUNT2'
FROM T_SAL_ORDERENTRY A
INNER JOIN T_BD_MATERIAL_L B ON B.FMATERIALID = A.FMATERIALID AND B.FLOCALEID =2052
INNER JOIN T_BD_MATERIAL E ON E.FMATERIALID = A.FMATERIALID
INNER JOIN T_BD_UNIT_L C ON C.FUNITID =A.FUNITID AND C.FLOCALEID =2052
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =A.FENTRYID
WHERE A.FID =@FID
ORDER BY a.F_Projecttype ,a.fseq
Select ROW_NUMBER() OVER (ORDER BY B.FRETURNTYPE) AS ID,CASE WHEN B.FRETURNTYPE = 'SEND' THEN '补货' ELSE '退货' END as 'FRETURNTYPE'
,C.FSPECIFICATION,D.FNAME,FLOOR(B.FQTY),FORMAT(E.FTAXPRICE,'N2'),FORMAT(E.FALLAMOUNT_LC,'N2') From T_SAL_ORDER A JOIN T_SAL_ORDERENTRY B
on A.FID = B.FID INNER JOIN T_BD_MATERIAL_L C ON C.FMATERIALID = B.FMATERIALID AND C.FLOCALEID =2052 INNER JOIN T_BD_UNIT_L D ON D.FUNITID =B.FUNITID
AND D.FLOCALEID =2052 INNER JOIN T_SAL_ORDERENTRY_F E ON E.FENTRYID =B.FENTRYID Where A.FID = @FID
SELECT fseq,b.FSPECIFICATION,C.FNAME,FLOOR(A.FQTY),
FORMAT(ROUND( D.FTAXPRICE,2), 'N2'), FORMAT(D.FALLAMOUNT_LC, 'N2')
FROM T_SAL_ORDERENTRY A
INNER JOIN T_BD_MATERIAL_L B ON B.FMATERIALID = A.FMATERIALID AND B.FLOCALEID =2052
INNER JOIN T_BD_UNIT_L C ON C.FUNITID =A.FUNITID AND C.FLOCALEID =2052
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =A.FENTRYID
WHERE A.FID =@FID
--EXEC GetTempModelData @FID = 101521,@FType = 'HH'
--Select * From T_TempModelPath
--Update T_TempModelPath set FTempPath = 'D:\模板\SX系统模板.docx' Where FKeyId = 'SX'
--Update T_SAL_ORDER set FDocumentStatus = 'D' Where FBILLNO = 'PL-XSDD20250100011'
--Select * From V_BD_SALESMAN_L Where FNAME = '杜丽菊'
--Select * From T_ORG_ORGANIZATIONS_L