Compare commits

...

5 Commits

4 changed files with 281 additions and 149 deletions

View File

@ -511,7 +511,18 @@ namespace GZ_KD_Parino.Common
WebClient client = new WebClient();
client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
client.Encoding = Encoding.UTF8;
string result = client.UploadString(getUserBinding_url, "");
string result = "";
try
{
result = client.UploadString(getUserBinding_url, "");
}
catch (Exception ex)
{
SaveTxt(getUserBinding_url,
string.Format(@"D:\Api日志\{2}\创建待分配项目\{0}\{3}\登录错误日志\{1}.txt",
Convert.ToString(data[0]["单据编号"]), DateTime.Now.ToString("yyyyMMddHHmmssfff"), ctx.DataCenterName, FType), ex.Message);
throw new Exception(ex.Message);
}
SaveTxt(getUserBinding_url,
string.Format(@"D:\Api日志\{2}\创建待分配项目\{0}\{3}\登录\{1}.txt",
Convert.ToString(data[0]["单据编号"]), DateTime.Now.ToString("yyyyMMddHHmmssfff"), ctx.DataCenterName, FType), result);
@ -545,8 +556,20 @@ namespace GZ_KD_Parino.Common
client2.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
client2.Encoding = Encoding.UTF8;
String result2 = client2.UploadString(up_url, "");
string result2 = "";
try
{
result2 = client2.UploadString(up_url, "");
}
catch (Exception ex)
{
//写入Txt到服务器地址
SaveTxt(up_url,
string.Format(@"D:\Api日志\{2}\创建待分配项目\{0}\{3}\创建待分配项目错误日志\{1}.txt",
Convert.ToString(data[0]["单据编号"]), DateTime.Now.ToString("yyyyMMddHHmmssfff"), ctx.DataCenterName, FType), ex.Message);
throw new Exception(ex.Message);
}
SaveTxt(up_url,
string.Format(@"D:\Api日志\{2}\创建待分配项目\{0}\{3}\创建待分配项目\{1}.txt",
Convert.ToString(data[0]["单据编号"]), DateTime.Now.ToString("yyyyMMddHHmmssfff"), ctx.DataCenterName, FType), result2);

View File

@ -1,144 +1,253 @@
ALTER PROC UPDATESpecialContracts
/****** Object: StoredProcedure [dbo].[UPDATESpecialContracts] Script Date: 2025/8/20 11:24:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[UPDATESpecialContracts]
(
@FID NVARCHAR(1000)
)
AS
DECLARE @YiBiaoTeJia INT=0,@HeTongTeJia INT =0;
update a set A.F_SPECIALCONTRACTS = ''
FROM T_SAL_ORDER A where A.fid =@FID AND A.FDOCUMENTSTATUS IN ('Z','A','D')
--update AE set AE.F_specialoffer = '0'
--FROM T_SAL_ORDER A LEFT JOIN T_SAL_ORDERENTRY AE ON A.FID = AE.FID WHERE A.FID = @FID AND A.FDOCUMENTSTATUS IN ('Z','A','D')
update a set F_SPECIALCONTRACTS = ''
FROM T_SAL_ORDER A where fid =@FID
--PCES
--1<2
--2
--1
--2
--
update a set F_SPECIALCONTRACTS = ''
FROM T_SAL_ORDER A
INNER JOIN T_BD_CUSTOMER E ON E.FCUSTID = A.FCUSTID
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
where U.FNUMBER IN ('P','C','E','S')
AND D.FTAXPRICE<F_JSJ
AND ABS(D.FAllAmount_LC)<ABS(B.F_SETTLEMENTP*B.FQTY)
AND A.FID = @FID
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
AND (F_DirectSigningCus = '')
AND (E.F_DirectSigningCus = ''OR E.F_DirectSigningCus = '')
--
update a set F_SPECIALCONTRACTS = ''
--SELECT 1
FROM T_SAL_ORDER A
INNER JOIN T_BD_CUSTOMER E ON E.FCUSTID = A.FCUSTID
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
LEFT JOIN
INNER JOIN T_BAS_PREBDONE_L I ON A.F_PROJECTNAME = I.FID
CROSS APPLY
(
SELECT A.FID,A.FCUSTID,C.FTAXPRICE,B.FMATERIALID,A.F_PROJECTNAME FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERentry B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERentry_F C ON C.FENTRYID = B.FENTRYID
WHERE A.FDOCUMENTSTATUS = 'C'
) E ON E.FID <> A.FID AND A.FCUSTID =E.FCUSTID AND A.F_PROJECTNAME = E.F_PROJECTNAME AND B.FMATERIALID = E.FMATERIALID AND D.FTAXPRICE = E.FTAXPRICE
SELECT COUNT(E.FBILLNO) AS C
FROM T_SAL_ORDER E
INNER JOIN T_SAL_ORDERentry F ON E.FID = F.FID
INNER JOIN T_SAL_ORDERentry_F G ON F.FENTRYID = G.FENTRYID
INNER JOIN T_BAS_PREBDONE_L H ON E.F_PROJECTNAME = H.FID
WHERE E.FDOCUMENTSTATUS = 'C'
AND A.FCUSTID =E.FCUSTID AND H.FNAME = I.FNAME AND F.FMATERIALID = B.FMATERIALID AND (D.FAllAmount_LC/B.FQTY) = (G.FAllAmount_LC/F.FQTY)
) G
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
where U.FNUMBER IN ('P','C','E','S')
AND D.FTAXPRICE<F_JSJ
AND ABS(D.FAllAmount_LC)<ABS(B.F_SettlementP*B.FQTY)
AND A.FID = @FID
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
AND (F_DirectSigningCus = '')
AND e.FCUSTID is null
-- 二、系统合同ES、W、SX、CW、D、CY
AND E.F_DirectSigningCus = ''
AND G.C = 0
-- 二、系统合同ES、W、SX、D、CY
--1<*+PMS系统+PMS系统*1.2+PMS系统*800 + PMS系统*800
--
DECLARE @EmployeeID DECIMAL(23,10)
SELECT @EmployeeID = (CASE WHEN ISNULL(SUM(CAST(C.F_JSJ AS decimal(23,10)) * B.FQTY),0) = 0
THEN 0 ELSE SUM(CAST(C.F_JSJ AS decimal(23,10))*B.FQTY) END)
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_BD_MATERIAL C ON B.FMATERIALID = C.FMATERIALID
WHERE A.FID = @FID
update a set F_SPECIALCONTRACTS = ''
--SELECT d.FBILLALLAMOUNT_LC,
--B.F_CBJ * b.FQTY+IIF( F_KFYS= '' ,0,F_KFYS) +IIF( F_SGCB= '' ,0,F_SGCB)+IIF( F_SSRT= '' ,0,F_SSRT)*800 + IIF( F_SJRT= '' ,0,F_SJRT)*800 as '结算总金额'
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERFIN D ON D.FID = A.FID
INNER JOIN T_SAL_ORDERENTRY_F E ON E.FENTRYID =B.FENTRYID
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
where U.FNUMBER in ('S','ES','W','SX','CW','D','CY')
where U.FNUMBER in ('ES','W','SX','D','CY')
AND A.FID = @FID
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
AND d.FBILLALLAMOUNT_LC < B.F_CBJ * b.FQTY+IIF( F_KFYS= '' ,0,F_KFYS) +IIF( F_SGCB= '' ,0,F_SGCB)+IIF( F_SSRT= '' ,0,F_SSRT)*800 + IIF( F_SJRT= '' ,0,F_SJRT)*800
AND d.FBILLALLAMOUNT_LC < @EmployeeID+CAST(ISNULL( F_KFYS,'0.00')AS float) +CAST(ISNULL( F_SGCB,'0.00')AS float)+CAST(ISNULL( F_SSRT,'0.00')AS float)+ CAST(ISNULL( F_SJRT,'0.00')AS float)
--CS
--CS,CW
-- 2<
update a set F_SPECIALCONTRACTS = ''
FROM T_SAL_ORDER A
INNER JOIN T_BD_CUSTOMER E ON E.FCUSTID = A.FCUSTID
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
where U.FNUMBER IN ('CS')
AND D.FTAXPRICE<F_JSJ
where U.FNUMBER IN ('CS','CW')
AND ABS(D.FAllAmount_LC)< ABS(B.F_SettlementP*B.FQTY)
AND A.FID = @FID
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
AND (F_DirectSigningCus = '')
AND ( C.FNUMBER LIKE 'V%' OR C.FNUMBER LIKE 'K%')
AND (E.F_DirectSigningCus = '' OR E.F_DirectSigningCus = '')
AND C.FNUMBER LIKE 'V%'
update a set F_SPECIALCONTRACTS = ''
--SELECT 1
FROM T_SAL_ORDER A
INNER JOIN T_BD_CUSTOMER E ON E.FCUSTID = A.FCUSTID
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
INNER JOIN
INNER JOIN T_BAS_PREBDONE_L I ON A.F_PROJECTNAME = I.FID
CROSS APPLY
(
SELECT A.FID,A.FCUSTID,C.FTAXPRICE,B.FMATERIALID,A.F_PROJECTNAME FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERentry B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERentry_F C ON C.FENTRYID = B.FENTRYID
WHERE A.FDOCUMENTSTATUS = 'C'
) E ON E.FID <> A.FID AND A.FCUSTID =E.FCUSTID AND A.F_PROJECTNAME = E.F_PROJECTNAME AND B.FMATERIALID = E.FMATERIALID AND D.FTAXPRICE = E.FTAXPRICE
SELECT COUNT(E.FBILLNO) AS C
FROM T_SAL_ORDER E
INNER JOIN T_SAL_ORDERentry F ON E.FID = F.FID
INNER JOIN T_SAL_ORDERentry_F G ON F.FENTRYID = G.FENTRYID
INNER JOIN T_BAS_PREBDONE_L H ON E.F_PROJECTNAME = H.FID
WHERE E.FDOCUMENTSTATUS = 'C'
AND A.FCUSTID =E.FCUSTID AND H.FNAME = I.FNAME AND F.FMATERIALID = B.FMATERIALID AND D.FAllAmount_LC = G.FAllAmount_LC
) G
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
where U.FNUMBER IN ('CS')
AND D.FTAXPRICE<F_JSJ
where U.FNUMBER IN ('CS','CW')
AND ABS(D.FAllAmount_LC)< ABS(B.F_SettlementP*B.FQTY)
AND A.FID = @FID
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
AND (F_DirectSigningCus = '')
AND ( C.FNUMBER LIKE 'V%' OR C.FNUMBER LIKE 'K%')
AND E.F_DirectSigningCus = ''
AND C.FNUMBER LIKE 'V%'
AND G.C = 0
--SELECT * FROM
--(
-- SELECT distinct a.F_DirectSigningCus,a.fid,
-- sum(case when g.fentryid is null then 0 else 1 end ) over(partition by a.fid ) as '是否下过单',
-- U.FNUMBER
--
IF((SELECT COUNT(1)
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID = B.FENTRYID
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_ORDERCATEGORY
AND (D.FAllAmount_LC)< (B.F_SettlementP*B.FQTY) AND B.FQTY>0 AND (B.F_YKQC_CHECKBOX_QTR != '1' OR F_YKQC_CHECKBOX_QTR IS NULL )
AND A.FID = @FID
AND U.FNUMBER NOT IN ('ES','W','SX','D','CY'))>0)
BEGIN
SELECT @YiBiaoTeJia=1
end
PRINT '@YiBiaoTeJia='+CONVERT(NVARCHAR(20), @YiBiaoTeJia);
-- --判断明细非特价
-- update B set B.F_specialoffer = '0'
-- FROM T_SAL_ORDER A
-- INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
-- INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID = B.FENTRYID
-- INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
-- LEFT JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
-- LEFT JOIN T_SAL_ORDER E ON E.FCUSTID = A.FCUSTID AND E.F_projectname= A.F_projectname and e.fid <> a.fid AND E.FDOCUMENTSTATUS = 'C'
-- LEFT JOIN T_SAL_ORDERentry F ON F.FID =e.fid and F.fmaterialid = b.fmaterialid
-- LEFT JOIN T_SAL_ORDERentry_F G ON G.FENTRYID = F.FENTRYID AND g.FTAXPRICE = D.FTAXPRICE
-- where U.FNUMBER IN ('P','C','E')
-- AND D.FTAXPRICE<F_JSJ
-- INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_ORDERCATEGORY
-- AND ABS(D.FAllAmount_LC) >= ABS(B.F_SettlementP*B.FQTY)
-- AND A.FID = @FID
-- AND A.FDOCUMENTSTATUS IN ('Z','A')
--) a
--WHERE 1=1 AND (F_DirectSigningCus = '') or (F_DirectSigningCus= '' AND =0 )
-- AND A.FDOCUMENTSTATUS IN ('Z','A','D')
-- AND U.FNUMBER NOT IN ('ES','W','SX','D','CY')
----SESWSXCWDCY
--SELECT * FROM
--(
-- SELECT DISTINCT
-- b.FBILLALLAMOUNT_LC,
-- F_CBJ * c.FQTY+IIF( F_KFYS= '' ,0,F_KFYS) +IIF( F_SGCB= '' ,0,F_SGCB)+IIF( F_SSRT= '' ,0,F_SSRT)*800
-- + IIF( F_SJRT= '' ,0,F_SJRT)*800 as '结算总金额',A.FID FROM T_SAL_ORDER A
-- INNER JOIN T_SAL_ORDERFIN B ON A.FID = B.FID
-- INNER JOIN T_SAL_ORDERENTRY C ON C.FENTRYID = B.FENTRYID
-- INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =C.FENTRYID
-- LEFT JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
-- where U.FNUMBER IN ('S','ES','W','SX','CW','D','CY')
-- AND A.FID = @FID
-- AND A.FDOCUMENTSTATUS IN ('Z','A')
--) a WHERE A.FBILLALLAMOUNT_LC<A.
--
DECLARE @SUMJSJ DECIMAL(23,10);
SELECT @SUMJSJ = @EmployeeID + CAST(ISNULL(F_KFYS, '0.00') AS float) + CAST(ISNULL(F_SGCB, '0.00') AS float) + CAST(ISNULL(F_SSRT, '0.00') AS float) * 800 + CAST(ISNULL(F_SJRT, '0.00') AS float) * 800
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERENTRY_F E ON E.FENTRYID =B.FENTRYID
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
where
A.FID = @FID
AND U.FNUMBER in ('ES','W','SX','D','CY','CS','CW')
SELECT @SUMJSJ = @EmployeeID
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_ORDERENTRY_F E ON E.FENTRYID =B.FENTRYID
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
where
A.FID = @FID
AND U.FNUMBER in ('P','C','E','S')
update A SET A.F_VRYF_Amount_yrr =CAST(ISNULL(@SUMJSJ,0) AS decimal(23,10))
FROM T_SAL_ORDER A
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
WHERE A.FID = @FID
--
--V物料是否特价
DECLARE @COUNTXN0 DECIMAL(23,10)
SELECT @COUNTXN0 = COUNT(*)
FROM T_SAL_ORDER A
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
where A.FID = @FID AND B.F_specialoffer = '1' AND B.F_YKQC_CheckBox_qtr = '0'
update A SET A.F_YKQC_Combo_qtr = ''
FROM T_SAL_ORDER A
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
WHERE A.FID = @FID AND W.FNUMBER like 'V%' AND @COUNTXN0 <> 0
update A SET A.F_YKQC_Combo_qtr = ''
FROM T_SAL_ORDER A
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
WHERE A.FID = @FID AND W.FNUMBER like 'V%' AND @COUNTXN0 = 0
--
update T_SAL_ORDER SET F_YKQC_CheckBox_qtr1 = 1
WHERE FID = @FID AND @YiBiaoTeJia=1
update T_SAL_ORDER SET F_YKQC_CheckBox_qtr1 = 0
WHERE FID = @FID AND @YiBiaoTeJia=0
--
DECLARE @DDLRL DECIMAL(23,2)
SELECT @DDLRL =
CASE WHEN B.FBILLALLAMOUNT_LC = 0
THEN 0
ELSE ROUND((B.FBILLALLAMOUNT_LC - A.F_VRYF_Amount_yrr) / B.FBILLALLAMOUNT_LC, 2) END
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERFIN B ON A.FID = B.FID
WHERE A.FID = @FID
AND A.F_VRYF_Amount_yrr <> 0
UPDATE A
SET F_DDLRL = CONVERT(VARCHAR(25), @DDLRL) + '%'
FROM T_SAL_ORDER A
WHERE A.FID = @FID
AND @DDLRL <> 0
--
update A
SET A.F_differenceAmount = B.FBillAllAmount_LC - A.F_VRYF_Amount_yrr
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERFIN B ON A.FID = B.FID
where A.fid = @FID
AND A.F_VRYF_Amount_yrr <> 0

View File

@ -56,7 +56,7 @@ namespace GZ_KD_Parino.Sal_Order
var Json = new
{
name = data[0]["纸质合同号"],// 销售订单纸质合同号
khmc = data[0]["部门名称"],// 销售订单客户名称
khmc = data[0]["客户名称"],// 销售订单客户名称
ddbh = data[0]["单据编号"],//销售订单单据编号
xmmc = data[0]["工程项目名称"],// 销售订单工程项目名称
ywy = data[0]["业务员"], //销售订单销售业务员名称