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 { /// /// 更新销售订单核销金额 /// /// public static void UpdateSalOrderAmount(Context ctx, string FID) { //定义SQL,调用物料视图 string sql = string.Format(@"/*dialect*/ EXEC UpdateSalOrderAmount {0} ", FID); //执行SQL DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null); } /// /// 反审核,更新销售订单核销金额 /// /// public static void FUpdateSalOrderAmount(Context ctx, string FID) { //定义SQL,调用物料视图 string sql = string.Format(@"/*dialect*/ EXEC FUpdateSalOrderAmount {0} ", FID); //执行SQL DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null); } /// /// 获取销售订单数据(创建 otherItem 对象) /// /// 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); } /// /// 获取核销收款单信息 /// /// 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); } /// /// 获取核销收款单信息 /// /// 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); } /// /// 获取核销收款单信息 /// /// 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); } /// /// 获取核销收款单信息 /// /// public static DynamicObjectCollection GetWriteReceiveDate3(Context ctx, string FORGID,string where ) { //定义SQL,调用物料视图 string sql = string.Format($@"/*dialect*/ SELECT A.FID, 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.FRECAMOUNT != A.F_AMOUNT AND A.FRECAMOUNT >= A.F_AMOUNT {where} order by FCONTACTUNIT,A.FID desc ", FORGID); return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null); } /// /// 获取核销销售订单信息 /// /// 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); } /// /// 获取核销销售订单信息 /// /// 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); } /// /// 获取核销销售订单信息 /// /// public static DynamicObjectCollection GetWriteOrderDate3(Context ctx, string FORGID,string where ) { //定义SQL,调用物料视图 string sql = string.Format($@"/*dialect*/ SELECT * FROM ( SELECT A.FID, 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', 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', 0.00 AS BenCi, CASE WHEN A.F_Ordercategory ='670cca03263357' THEN 'P类合同' else '非P类合同' end as F_Ordercategory2, A.F_Ordercategory 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_contractnumber AND ad.FSALEORGID=a.FSALEORGID GROUP BY F_PaperNumber, FSALEORGID ) as FInvoiceAmount FROM T_SAL_ORDER A INNER JOIN T_SAL_ORDERFIN C ON C.FID =A.FID WHERE C.FBILLALLAMOUNT_LC <>0 AND A.FDOCUMENTSTATUS = 'C' AND ISNULL(A.F_CONTRACTNUMBER,'')!='' AND (A.F_AMOUNT < C.FBILLALLAMOUNT_LC or A.F_AMOUNT IS NULL) AND A.FBusinessType='NORMAL' {where} ) A ORDER BY A.FCUSTID,a.FID desc "); return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null); } /// /// 获取BMP流程信息 /// /// 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); } /// /// 获取BMP流程信息 /// /// 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; } /// /// 更新特价 /// /// 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; } /// /// 更新销售订单SN信息 /// /// 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); } /// /// 获取销售订单数据(创建BPM流程发起) /// /// 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); } /// /// 获取销售订单数据(创建BPM流程发起) /// /// 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); } /// /// 获取销售订单数据(创建BPM流程发起) /// /// 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); } /// /// 判断该组织是否存在工程项目 /// /// 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); } /// /// 判断该组织是否存在工程项目 /// /// 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; } /// /// 获取纸质合同号 /// /// 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 ""; } } /// /// 获取文件名 /// /// 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 ""; } } /// /// 更新销售订单创建文件夹状态 /// /// 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); } /// /// 获取内容 /// /// 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); } /// /// 获取模板地址 /// /// 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; } /// /// 更新销售订单的是否分摊 /// /// 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; } /// /// 更新销售订单的是否分摊 /// /// 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; } /// /// 更新销售订单的物流单号 /// /// 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; } /// /// 获取采购订单最大的入库日期 /// /// 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; } } }