582 lines
23 KiB
C#
Raw Normal View History

2025-04-07 21:06:39 +08:00
using Kingdee.BOS;
2025-05-27 14:19:13 +08:00
using Kingdee.BOS.Log;
2025-04-07 21:06:39 +08:00
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
{
/// <summary>
/// 更新销售订单核销金额
/// </summary>
/// <returns></returns>
public static void UpdateSalOrderAmount(Context ctx, string FID)
{
2025-04-19 15:49:44 +08:00
2025-04-07 21:06:39 +08:00
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC UpdateSalOrderAmount {0} ", FID);
//执行SQL
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 反审核,更新销售订单核销金额
/// </summary>
/// <returns></returns>
public static void FUpdateSalOrderAmount(Context ctx, string FID)
{
2025-04-19 15:49:44 +08:00
2025-04-07 21:06:39 +08:00
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC FUpdateSalOrderAmount {0} ", FID);
2025-05-27 14:19:13 +08:00
Logger.Error("FUpdateSalOrderAmount", sql, new Exception());
2025-04-07 21:06:39 +08:00
//执行SQL
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取销售订单数据(创建 otherItem 对象)
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetSaleOrderData4(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetSaleOrderData4 {0} ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销收款单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetAutoWrireRecordId(Context ctx, string FBILLNO)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT FID FROM T_AutoWrireRecordEntry WHERE FBILLNO2 = '{0}'
UNION ALL
SELECT FID FROM T_AutoWrireRecordEntry2 WHERE FBILLNO3 = '{0}'
", FBILLNO);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销收款单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteReceiveDate(Context ctx, string FORGID, string FCUSTID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetWriteReceiveDate '{0}','{1}' ", FORGID, FCUSTID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销收款单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteReceiveDate2(Context ctx, string FORGID, string FCUSTID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT
A.FCONTACTUNIT,
A.FREMARK,
A.FBILLNO AS 'FBILLNO',
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
A.FRECAMOUNT AS 'FALLAMOUNT',
A.FRECAMOUNTFOR as 'FALLAMOUNTY',
A.FCURRENCYID as 'FCurr'
FROM T_AR_RECEIVEBILL A
LEFT JOIN T_AutoWrireRecordEntry2 B ON B.FBILLNO3 = A.FBILLNO
WHERE B.FBILLNO3 IS NULL
AND A.FCONTACTUNIT in ({1})
AND A.FDOCUMENTSTATUS = 'C'
AND A.FSALEORGID = {0}", FORGID, FCUSTID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销收款单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteReceiveDate3(Context ctx, string FORGID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT
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'
AND A.FSALEORGID = {0}
AND A.FRECAMOUNT != A.F_AMOUNT
AND A.FRECAMOUNT >= A.F_AMOUNT", FORGID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销销售订单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteOrderDate(Context ctx, string FORGID, string FCUSTID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetWriteOrderDate '{0}','{1}' ", FORGID, FCUSTID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销销售订单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteOrderDate2(Context ctx, string FORGID, string FCUSTID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT * FROM
(
SELECT
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',
C.FSETTLECURRID as 'FCurr',
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
'' as 'FTYPE'
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERFIN C ON C.FID =A.FID
LEFT JOIN T_AutoWrireRecordEntry B ON B.FBILLNO2 = A.FBILLNO
LEFT JOIN V_ASSISTANTDATA D ON D.FENTRYID = A.F_Ordercategory
WHERE B.FBILLNO2 IS NULL
AND C.FBILLALLAMOUNT_LC <>0
AND A.FCUSTID in ({1})
AND A.FSALEORGID = {0}
--AND DATEDIFF(MONTH, A.FDATE, GETDATE())<3
AND A.FDOCUMENTSTATUS = 'C'
AND d.FNUMBER = 'P'
UNION ALL
SELECT
A.F_PAPERCONTRACT,
A.FCUSTOMERID,
A.F_PROJECTNAME,
A.FCREATORID,
A.FBILLNO AS 'FBILLNO',
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
F.FALLAMOUNT AS 'FALLAMOUNT' ,
A.FALLAMOUNTFOR AS 'FALLAMOUNTY' ,
A.FCURRENCYID AS 'FCurr' ,
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
'' as 'FTYPE'
FROM t_AR_receivable A
INNER JOIN T_AR_RECEIVABLEENTRY C ON C.FID =A.FID
INNER JOIN T_AR_RECEIVABLEFIN F ON F.FID = A.FID
INNER JOIN T_SAL_ORDER E ON E.FBILLNO = C.FORDERNUMBER
LEFT JOIN T_AutoWrireRecordEntry B ON B.FBILLNO2 = A.FBILLNO
LEFT JOIN V_ASSISTANTDATA D ON D.FENTRYID = e.F_Ordercategory
WHERE B.FBILLNO2 IS NULL
AND F.FALLAMOUNT <>0
AND A.FCUSTOMERID in ({1})
AND A.FSALEORGID = {0}
--AND DATEDIFF(MONTH, A.FDATE, GETDATE())<3
AND A.FDOCUMENTSTATUS = 'C'
AND d.FNUMBER <> 'P'
) A ORDER BY A.FTYPE,a.FDATE ", FORGID, FCUSTID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销销售订单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteOrderDate3(Context ctx, string FORGID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT * FROM
(
SELECT
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',
A.F_AMOUNT as 'FYAMOUNT',
C.FBILLALLAMOUNT_LC-A.F_AMOUNT as 'FDAMOUNT',
C.FSETTLECURRID as 'FCurr',
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
'' as 'FTYPE'
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERFIN C ON C.FID =A.FID
--LEFT JOIN T_AutoWrireRecordEntry B ON B.FBILLNO2 = A.FBILLNO
LEFT JOIN V_ASSISTANTDATA D ON D.FENTRYID = A.F_Ordercategory
WHERE --B.FBILLNO2 IS NULL AND
C.FBILLALLAMOUNT_LC <>0
AND A.FSALEORGID = {0}
--AND DATEDIFF(MONTH, A.FDATE, GETDATE())<3
AND A.FDOCUMENTSTATUS = 'C' AND ISNULL(A.F_CONTRACTNUMBER,'')!=''
AND d.FNUMBER = 'P' AND A.F_AMOUNT < C.FBILLALLAMOUNT_LC
AND A.F_AMOUNT != C.FBILLALLAMOUNT_LC
UNION ALL
SELECT
A.FSALEERID,
A.F_PAPERCONTRACT,
A.FCUSTOMERID,
A.F_PROJECTNAME,
A.FCREATORID,
A.FBILLNO AS 'FBILLNO',
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
F.FALLAMOUNT AS 'FALLAMOUNT' ,
A.FALLAMOUNTFOR AS 'FALLAMOUNTY' ,
A.F_AMOUNT as 'FYAMOUNT',
F.FALLAMOUNT-A.F_AMOUNT as 'FDAMOUNT',
A.FCURRENCYID AS 'FCurr' ,
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
'' as 'FTYPE'
FROM t_AR_receivable A
INNER JOIN T_AR_RECEIVABLEENTRY C ON C.FID =A.FID
INNER JOIN T_AR_RECEIVABLEFIN F ON F.FID = A.FID
INNER JOIN T_SAL_ORDER E ON E.FBILLNO = C.FORDERNUMBER
--LEFT JOIN T_AutoWrireRecordEntry B ON B.FBILLNO2 = A.FBILLNO
LEFT JOIN V_ASSISTANTDATA D ON D.FENTRYID = e.F_Ordercategory
WHERE --B.FBILLNO2 IS NULL AND
F.FALLAMOUNT <>0
AND A.FSALEORGID = {0}
--AND DATEDIFF(MONTH, A.FDATE, GETDATE())<3
AND A.FDOCUMENTSTATUS = 'C' AND ISNULL(F_PAPERCONTRACT,'')!=''
AND d.FNUMBER <> 'P' AND A.F_AMOUNT < F.FALLAMOUNT
AND A.F_AMOUNT != F.FALLAMOUNT
) A ORDER BY A.FTYPE,a.FDATE ", FORGID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取BMP流程信息
/// </summary>
/// <returns></returns>
public static void UpdateData(Context ctx, string FID, String sfsj)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
UPDATE T_SAL_ORDER SET FNOTE = FNOTE + '{0}' WHERE FID = '{1}' ", sfsj, FID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取BMP流程信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetBmpData(Context ctx, string F_contractnumber)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
select * from erptobpm.pilotdb.dbo.v_erp_CustMadeAgain where ContactNo = '{0}' ", F_contractnumber);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新特价
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection UPDATESpecialContracts(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
exec UPDATESpecialContracts '{0}' ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新销售订单SN信息
/// </summary>
/// <returns></returns>
public static void UpdateBMPSN(Context ctx, string FID, string SN)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
Update T_SAL_ORDER SET F_FailorBPM = '{1}' WHERE FID ={0} ", FID, SN);
//执行SQL
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取销售订单数据(创建BPM流程发起)
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetSaleOrderData3(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetSaleOrderData3 {0} ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取销售订单数据(创建BPM流程发起)
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetSaleOrderData2(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetSaleOrderData2 {0} ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取销售订单数据(创建BPM流程发起)
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetSaleOrderData(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetSaleOrderData {0} ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 判断该组织是否存在工程项目
/// </summary>
/// <returns></returns>
public static void UpdateItemData(Context ctx, string FID, string FlexNumber)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC UpdateItemData {0},{1}", FlexNumber, FID);
//执行SQL
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 判断该组织是否存在工程项目
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection CheckItem(Context ctx, string FlexNumber, string FORGID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC CheckItem '{0}','{1}'", FlexNumber, FORGID);
//执行SQL
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
return result;
}
/// <summary>
/// 获取纸质合同号
/// </summary>
/// <returns></returns>
public static string GetFlexNumber(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetFlexNumber {0}", FID);
//执行SQL
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
if (result.Count > 0)
{
return Convert.ToString(result[0]["F_contractnumber"]);
}
else
{
return "";
}
}
/// <summary>
/// 获取文件名
/// </summary>
/// <returns></returns>
public static string GetFolderName(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetFolderName {0}", FID);
//执行SQL
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
if (result.Count > 0)
{
return Convert.ToString(result[0]["FolderName"]);
}
else
{
return "";
}
}
/// <summary>
/// 更新销售订单创建文件夹状态
/// </summary>
/// <returns></returns>
public static void UpdateSaleOrderisdoccreate(Context ctx, string FID, string Path)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
Update T_SAL_ORDER SET Fisdoccreate = 1,Fdocpath = '{1}' WHERE FID ={0} ", FID, Path);
//执行SQL
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取内容
/// </summary>
/// <returns></returns>
public static DataSet GetTempModelData(Context ctx, string FID, string FType)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
exec GetTempModelData '{0}','{1}' ", FID, FType);
//执行SQL
return DBServiceHelper.ExecuteDataSet(ctx, sql);
}
/// <summary>
/// 获取模板地址
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetTempModelPath(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT FTempPath FROM T_TempModelPath WHERE FKeyId = '{0}' ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新销售订单的是否分摊
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection UpdateFlexNumber(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
exec UpdateFlexNumber '{0}' ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新销售订单的是否分摊
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection UpdateSaleOrderFisShared(Context ctx)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
UPDATE A SET FIsShare = case when b.FID is null then '否' else '是' end FROM T_SAL_ORDER A
LEFT JOIN T_PerformanceSharing B ON A.FBILLNO = B.FSOURCEBILLNO");
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新销售订单的物流单号
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection UpdateSaleOrderLogisticsNumber(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(" EXEC UpdateSaleOrderLogisticsNumber {0}", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 获取采购订单最大的入库日期
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetInStockDate(Context ctx)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/ select CONCAT( FPOORDERENTRYID,'-', A.FMATERIALID) as 'FKey',MAX(CONVERT(NVARCHAR(10), B.FDATE,23)) AS 'FDate'
from T_STK_INSTOCKENTRY A
INNER JOIN T_STK_INSTOCK B ON A.FID = B.FID
WHERE FPOORDERENTRYID <> 0
GROUP BY CONCAT(FPOORDERENTRYID, '-', A.FMATERIALID)");
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
}
}