2025-04-07 21:06:39 +08:00
|
|
|
|
using Kingdee.BOS;
|
|
|
|
|
using Kingdee.BOS.Orm.DataEntity;
|
|
|
|
|
using Kingdee.BOS.ServiceHelper;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Pilot_KD_Parino.SQL
|
|
|
|
|
{
|
|
|
|
|
public class SqlManage_yuyubo
|
|
|
|
|
{
|
2025-04-24 14:01:46 +08:00
|
|
|
|
|
2025-04-07 21:06:39 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取核销收款单信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
2025-04-18 10:10:08 +08:00
|
|
|
|
public static DynamicObjectCollection GetWriteReceiveDate3(Context ctx, string FORGID,string where )
|
2025-04-07 21:06:39 +08:00
|
|
|
|
{
|
|
|
|
|
//定义SQL,调用物料视图
|
2025-04-18 10:10:08 +08:00
|
|
|
|
string sql = string.Format($@"/*dialect*/
|
2025-04-08 20:13:20 +08:00
|
|
|
|
SELECT A.FID,
|
2025-04-07 21:06:39 +08:00
|
|
|
|
A.FSALEERID,
|
|
|
|
|
A.FCONTACTUNIT,
|
|
|
|
|
A.FREMARK,
|
|
|
|
|
A.F_AMOUNT as 'FYAMOUNT',
|
|
|
|
|
A.FBILLNO AS 'FBILLNO',
|
|
|
|
|
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
|
|
|
|
|
A.FRECAMOUNT AS 'FALLAMOUNT',
|
|
|
|
|
A.FRECAMOUNTFOR as 'FALLAMOUNTY',
|
|
|
|
|
A.FRECAMOUNT-A.F_AMOUNT as 'FDAMOUNT',
|
|
|
|
|
A.FCURRENCYID as 'FCurr',
|
|
|
|
|
A.FCREATORID as 'FCREATORID'
|
|
|
|
|
FROM T_AR_RECEIVEBILL A
|
|
|
|
|
WHERE A.FDOCUMENTSTATUS = 'C'
|
|
|
|
|
AND A.FISINIT != '1'
|
2025-04-22 11:34:03 +08:00
|
|
|
|
|
2025-04-07 21:06:39 +08:00
|
|
|
|
AND A.FRECAMOUNT != A.F_AMOUNT
|
2025-04-18 10:10:08 +08:00
|
|
|
|
AND A.FRECAMOUNT >= A.F_AMOUNT {where}
|
2025-04-08 20:13:20 +08:00
|
|
|
|
order by FCONTACTUNIT,A.FID desc ", FORGID);
|
2025-04-07 21:06:39 +08:00
|
|
|
|
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
|
|
|
|
|
}
|
|
|
|
|
|
2025-04-24 14:01:46 +08:00
|
|
|
|
|
2025-04-07 21:06:39 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取核销销售订单信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
2025-04-18 10:10:08 +08:00
|
|
|
|
public static DynamicObjectCollection GetWriteOrderDate3(Context ctx, string FORGID,string where )
|
2025-04-07 21:06:39 +08:00
|
|
|
|
{
|
2025-04-27 10:06:15 +08:00
|
|
|
|
//定义SQL,调用物料视图 AND A.FBusinessType='NORMAL'
|
|
|
|
|
/*
|
|
|
|
|
* SELECT case when FBusinessType='NORMAL' then (FDAMOUNT2+[整单累计退货金额]) else 0 end AS FDAMOUNT, * FROM
|
|
|
|
|
*
|
|
|
|
|
*/
|
2025-04-07 21:06:39 +08:00
|
|
|
|
string sql = string.Format($@"/*dialect*/
|
2025-04-27 10:06:15 +08:00
|
|
|
|
SELECT FDAMOUNT2 as FDAMOUNT, * FROM
|
2025-04-07 21:06:39 +08:00
|
|
|
|
(
|
2025-04-27 10:06:15 +08:00
|
|
|
|
SELECT A.FID, A.FBusinessType,
|
2025-04-07 21:06:39 +08:00
|
|
|
|
A.FSALERID,
|
|
|
|
|
A.F_CONTRACTNUMBER,
|
|
|
|
|
A.FCUSTID,
|
|
|
|
|
A.F_PROJECTNAME,
|
|
|
|
|
A.FCREATORID,
|
|
|
|
|
A.FBILLNO AS 'FBILLNO',
|
|
|
|
|
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
|
|
|
|
|
C.FBILLALLAMOUNT_LC AS 'FALLAMOUNT' ,
|
|
|
|
|
C.FBILLALLAMOUNT as 'FALLAMOUNTY',
|
|
|
|
|
ISNULL(A.F_AMOUNT,0) as 'FYAMOUNT',
|
2025-04-27 10:06:15 +08:00
|
|
|
|
C.FBILLALLAMOUNT_LC-A.F_AMOUNT as 'FDAMOUNT2',
|
2025-04-07 21:06:39 +08:00
|
|
|
|
C.FSETTLECURRID as 'FCurr',
|
|
|
|
|
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
|
2025-04-08 20:13:20 +08:00
|
|
|
|
'销售订单' as 'FTYPE',
|
2025-04-14 20:01:23 +08:00
|
|
|
|
0.00 AS BenCi,
|
|
|
|
|
CASE WHEN A.F_Ordercategory ='670cca03263357' THEN 'P类合同' else '非P类合同' end as F_Ordercategory2,
|
|
|
|
|
A.F_Ordercategory AS F_Ordercategory,
|
2025-04-18 10:10:08 +08:00
|
|
|
|
(
|
|
|
|
|
SELECT SUM(F_GeneralInvoice) AS '发票总金额' FROM (
|
|
|
|
|
SELECT F_PaperNumber, t0.FSALEORGID,
|
|
|
|
|
CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FAFTERTOTALTAX
|
|
|
|
|
WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAX END AS F_GeneralInvoice
|
|
|
|
|
--FAFTERTOTALTAX
|
|
|
|
|
FROM T_IV_SALESIC t0 WITH(NOLOCK)
|
|
|
|
|
INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumber AND t0.FSETTLEORGID=aa1.FSALEORGID
|
|
|
|
|
--WHERE F_PaperNumber='P202502070004'
|
|
|
|
|
) AD WHERE AD.F_PaperNumber = A.F_contractnumber AND ad.FSALEORGID=a.FSALEORGID
|
|
|
|
|
GROUP BY F_PaperNumber, FSALEORGID
|
2025-04-24 14:01:46 +08:00
|
|
|
|
) as FInvoiceAmount,
|
|
|
|
|
|
|
|
|
|
(select SUM(bb.F_TotalAmoun) from dbo.T_SAL_DELIVERYNOTICE bb WITH(NOLOCK) WHERE bb.FSaleOrgId=a.FSALEORGID AND bb.F_Papercontract=a.F_contractnumber
|
|
|
|
|
AND 30 >= DATEDIFF(DAY,bb.FDATE,GETDATE()) AND bb.FDocumentStatus='C' ) as FaHuoAmount30Days,
|
|
|
|
|
(
|
|
|
|
|
SELECT SUM(F_GeneralInvoice) AS '发票总金额' FROM (
|
|
|
|
|
SELECT F_PaperNumber, t0.FSALEORGID,
|
|
|
|
|
CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FAFTERTOTALTAX
|
|
|
|
|
WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAX END AS F_GeneralInvoice
|
|
|
|
|
|
|
|
|
|
FROM T_IV_SALESIC t0 WITH(NOLOCK)
|
|
|
|
|
INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumber AND t0.FSETTLEORGID=aa1.FSALEORGID
|
|
|
|
|
WHERE 30 >= DATEDIFF(DAY,t0.FDATE,GETDATE())
|
|
|
|
|
) AD WHERE AD.F_PaperNumber = A.F_contractnumber AND ad.FSALEORGID=a.FSALEORGID
|
|
|
|
|
GROUP BY F_PaperNumber, FSALEORGID
|
|
|
|
|
) as FInvoiceAmount30Days
|
2025-04-27 10:06:15 +08:00
|
|
|
|
,[整单累计退货金额]=ISNULL((
|
|
|
|
|
SELECT SUM(CC.FBillAllAmount_LC) AS '累计退货金额'
|
|
|
|
|
FROM T_SAL_ORDER AA
|
|
|
|
|
INNER JOIN T_SAL_ORDERFIN CC ON CC.FID =AA.FID
|
|
|
|
|
WHERE AA.FDOCUMENTSTATUS= 'C' AND ISNULL(AA.F_CONTRACTNUMBER,'') !='' AND AA.F_contractnumber LIKE A.F_contractnumber+'%'
|
|
|
|
|
AND AA.fid<>A.fid AND aa.FSALEORGID=a.FSALEORGID),0)
|
2025-04-07 21:06:39 +08:00
|
|
|
|
FROM T_SAL_ORDER A
|
|
|
|
|
INNER JOIN T_SAL_ORDERFIN C ON C.FID =A.FID
|
|
|
|
|
WHERE
|
2025-04-27 10:06:15 +08:00
|
|
|
|
C.FBILLALLAMOUNT_LC >0
|
2025-04-07 21:06:39 +08:00
|
|
|
|
AND A.FDOCUMENTSTATUS = 'C' AND ISNULL(A.F_CONTRACTNUMBER,'')!=''
|
|
|
|
|
AND (A.F_AMOUNT < C.FBILLALLAMOUNT_LC
|
2025-04-24 14:01:46 +08:00
|
|
|
|
or A.F_AMOUNT IS NULL) {where}
|
|
|
|
|
) A ORDER BY A.FCUSTID,a.FID desc ");
|
2025-04-07 21:06:39 +08:00
|
|
|
|
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-07 20:08:40 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取未核销的发货通知单信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static DynamicObjectCollection GetFaHuoTongZhiDan(Context ctx, string FORGID, string where)
|
|
|
|
|
{
|
|
|
|
|
//定义SQL,调用物料视图 AND A.FBusinessType='NORMAL'
|
|
|
|
|
/*
|
|
|
|
|
* SELECT case when FBusinessType='NORMAL' then (FDAMOUNT2+[整单累计退货金额]) else 0 end AS FDAMOUNT, * FROM
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
string sql = string.Format($@"/*dialect*/
|
|
|
|
|
SELECT FDAMOUNT2 as FDAMOUNT, * FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT A.FID, A.FBusinessType,
|
|
|
|
|
A.FSalesManID as FSALERID,
|
|
|
|
|
A.F_Papercontract as F_CONTRACTNUMBER,
|
|
|
|
|
A.FCustomerID as FCUSTID,
|
|
|
|
|
A.F_PROJECTNAME,
|
|
|
|
|
A.FCREATORID,
|
|
|
|
|
A.FBILLNO AS 'FBILLNO',
|
|
|
|
|
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
|
|
|
|
|
C.FBILLALLAMOUNT_LC AS 'FALLAMOUNT' ,
|
|
|
|
|
C.FBILLALLAMOUNT as 'FALLAMOUNTY',
|
|
|
|
|
ISNULL(A.F_AMOUNT,0) as 'FYAMOUNT',
|
|
|
|
|
C.FBILLALLAMOUNT_LC-A.F_AMOUNT as 'FDAMOUNT2',
|
|
|
|
|
C.FSETTLECURRID as 'FCurr',
|
|
|
|
|
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
|
|
|
|
|
'发货通知单' as 'FTYPE',
|
|
|
|
|
0.00 AS BenCi,
|
|
|
|
|
'' as F_Ordercategory2,
|
|
|
|
|
'' AS F_Ordercategory,
|
|
|
|
|
(
|
|
|
|
|
SELECT SUM(F_GeneralInvoice) AS '发票总金额' FROM (
|
|
|
|
|
SELECT F_PaperNumber, t0.FSALEORGID,
|
|
|
|
|
CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FAFTERTOTALTAX
|
|
|
|
|
WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAX END AS F_GeneralInvoice
|
|
|
|
|
--FAFTERTOTALTAX
|
|
|
|
|
FROM T_IV_SALESIC t0 WITH(NOLOCK)
|
|
|
|
|
INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumber AND t0.FSETTLEORGID=aa1.FSALEORGID
|
|
|
|
|
--WHERE F_PaperNumber='P202502070004'
|
|
|
|
|
) AD WHERE AD.F_PaperNumber = A.F_Papercontract AND ad.FSALEORGID=a.FSALEORGID
|
|
|
|
|
GROUP BY F_PaperNumber, FSALEORGID
|
|
|
|
|
) as FInvoiceAmount,
|
|
|
|
|
|
|
|
|
|
0 as FaHuoAmount30Days,
|
|
|
|
|
0 as FInvoiceAmount30Days
|
|
|
|
|
,[整单累计退货金额]=0
|
|
|
|
|
FROM T_SAL_DELIVERYNOTICE A
|
|
|
|
|
INNER JOIN T_SAL_DELIVERYNOTICEFIN C ON C.FID =A.FID
|
|
|
|
|
WHERE
|
|
|
|
|
C.FBILLALLAMOUNT_LC > 0
|
|
|
|
|
AND A.FDOCUMENTSTATUS = 'C' AND ISNULL(A.F_Papercontract,'')!=''
|
|
|
|
|
AND (A.F_AMOUNT < C.FBILLALLAMOUNT_LC
|
|
|
|
|
or A.F_AMOUNT IS NULL) {where}
|
|
|
|
|
) A ORDER BY A.FCUSTID,a.FID desc ");
|
|
|
|
|
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
|
|
|
|
|
}
|
2025-04-07 21:06:39 +08:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|