Piolot_Order_TH/SQL/SqlManage.cs
李狗蛋 397ee99bd8 1
2025-04-01 11:44:11 +08:00

258 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 GZ_LTHPilot_ORDER.SqlManage
{
class SqlManage
{
//查询生产订单的FID和FENTRYID
public static DynamicObjectCollection GetPRD_MOFIDAndFENTRYID(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
SELECT A.FID AS FID,B.FENTRYID AS FENTRYID
FROM T_PRD_MO A
INNER JOIN T_PRD_MOENTRY B ON A.FID = B.FID
WHERE A.FID = '{0}'", FID);
//返回对象
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//根据生产用料清单的FID查询生产用料清单生产车间字段信息
public static DynamicObjectCollection GetPRD_PPBOMFWorkshopID(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
SELECT C.FNAME AS FNAME,
A.FID AS FID,
A.FPrdOrgId AS FPrdOrgId,
D.FNAME AS OEGFNAME
FROM T_PRD_PPBOM A
INNER JOIN T_BD_DEPARTMENT_L C ON C.FDEPTID = A.FWORKSHOPID
INNER JOIN T_ORG_ORGANIZATIONS_L D ON A.FPRDORGID = D.FORGID
WHERE A.FID = {0}
", FID);
//返回对象
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//根据生产用料清单的FId查询生产用料清单的明细仓库名称组织ID
public static DynamicObjectCollection GetPRD_PPBOMFStockID(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
SELECT
B.FENTRYID AS FENTRYID,
CL.FNAME AS FNAME
FROM T_PRD_PPBOM A
INNER JOIN T_PRD_PPBOMENTRY_C B ON A.FID = B.FID --关联生产用料清单明细表
INNER JOIN T_BD_STOCK C ON B.FSTOCKID = C.FSTOCKID
INNER JOIN T_BD_STOCK_L CL ON C.FSTOCKID = CL.FSTOCKID --关联仓库信息表,获取仓库名称
WHERE A.FID = '{0}'
", FID);
//返回对象
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//生产用料清单明细为半成品仓,更改是否关键件字段
public static void UpdatePRD_PPBOMFIsKeyComponent(Context ctx,string FENTRYID)
{
string sql = string.Format(@"/*dialect*/
update T_PRD_PPBOMENTRY_C
SET FIsKeyComponent = '1'
WHERE FENTRYID = '{0}'
",FENTRYID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//生产用料清单明细为包材仓,更改发料方式
public static void UpdatePRD_PPBOMFIssueType(Context ctx, string FENTRYID)
{
string sql = string.Format(@"/*dialect*/
update T_PRD_PPBOMENTRY_C
SET FIssueType = '7'
WHERE FENTRYID = '{0}'
", FENTRYID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//生产用料清单明细为包装结构件仓和装配结构件仓,更改发料方式和倒冲时机,拨出组织
public static void UpdatePRD_PPBOMFIssueTypeAndFBackFlushType(Context ctx, string FENTRYID, string ZZID)
{
string sql = string.Format(@"/*dialect*/
update T_PRD_PPBOMENTRY_C
SET FIssueType = '4',FBackFlushType = '3',FSrcTransOrgId = '{1}'
WHERE FENTRYID = '{0}'
", FENTRYID,ZZID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//生产用料清单明细为包装结构件仓和装配结构件仓,更改拔出仓库为仓库
public static void UpdateFSRCTRANSSTOCKID(Context ctx, string FENTRYID)
{
string sql = string.Format(@"/*dialect*/
update T_PRD_PPBOMENTRY_C
SET FSRCTRANSSTOCKID = FSTOCKID
WHERE FENTRYID = '{0}'
", FENTRYID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//生产用料清单明细为包装结构件仓和装配结构件仓更改完拔出仓库为仓库修改仓库为仓库编码为68的
public static void UpdateFSTOCKID(Context ctx, string FENTRYID)
{
string sql = string.Format(@"/*dialect*/
update T_PRD_PPBOMENTRY_C
SET FSTOCKID = '1442951'
WHERE FENTRYID = '{0}'
", FENTRYID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//生产用料清单生产组织为珠海派诺,生产车间为:焊接车间、贴片车间、储能车间;生产车间,更改是否关键件字段,过滤条件为FID
public static void UpdatePRD_PPBOMFIDFIsKeyComponent(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
update T_PRD_PPBOMENTRY_C
SET FIsKeyComponent = '1'
WHERE FID = '{0}'
", FID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//获取委外订单的FID和FENTRYID
public static DynamicObjectCollection GetSUB_REQORDERFIDAndFENTRYIDS(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
SELECT A.FID AS FID,
B.FENTRYID AS FENTRYID
FROM T_SUB_REQORDER A
INNER JOIN T_SUB_REQORDERENTRY B ON A.FID = B.FID
WHERE A.FID = '{0}'
", FID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//获取委外用料清单的委外组织
public static DynamicObjectCollection GetSUB_PPBOMFSubOrgId(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
SELECT
A.FID AS FID,
B.FNAME AS FNAME
FROM T_SUB_PPBOM A
INNER JOIN T_ORG_ORGANIZATIONS_L B ON A.FSubOrgId = B.FORGID
WHERE A.FID = {0}
", FID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//根据委外用料清单的生产组织为珠海派诺,更改明细行是否关机键
//生产用料清单生产组织为珠海派诺,生产车间为:焊接车间、贴片车间、储能车间;生产车间,更改是否关键件字段,过滤条件为FID
public static void UpdateSUB_PPBOMFIsKeyComponent(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
update T_SUB_PPBOMENTRY_C
SET FIsKeyComponent = '1'
WHERE FID = '{0}'
", FID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//查询收款单源单明细的源单类型为应收单查询销售订单编号的SQL语句
public static DynamicObjectCollection GetRECEIVEBILLFSRCBILLNOAndFREALRECAMOUNTFOR(Context ctx,string FID)
{
string sql = string.Format(@"/*dialect*/
SELECT
G.FSoorDerno AS FSoorDerno --销售订单单据编号
,B.FREALRECAMOUNTFOR AS FALLAMOUNTFOR_D --核销的价格
FROM T_AR_RECEIVEBILL A
INNER JOIN T_AR_RECEIVEBILLSRCENTRY B ON A.FID = B.FID
INNER JOIN T_AR_RECEIVEBILLSRCENTRY_LK C ON B.FENTRYID = C.FENTRYID -- 关联收款单的LK表
INNER JOIN T_AR_RECEIVABLE D ON C.FSBILLID = D.FID
INNER JOIN T_AR_RECEIVABLEENTRY E ON E.FID = D.FID
INNER JOIN T_AR_RECEIVABLEENTRY_LK F ON E.FENTRYID = F.FENTRYID AND F.FALLAMOUNTFOR_D <> 0
INNER JOIN T_SAL_OUTSTOCKENTRY_R G ON G.FID = F.FSBILLID AND F.FSID = G.FENTRYID
WHERE A.FID = '{0}' AND B.FSRCBILLTYPEID = 'AR_receivable' AND A.FSALEORGID <> '100302'
", FID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//更新销售订单表头的累计核销金额
public static void UpdateOrderF_AMOUNTNew(Context ctx,string Fbillno,string FREALRECAMOUNTFOR)
{
string sql = string.Format(@"/*dialect*/
update T_SAL_ORDER
SET F_AMOUNT = F_AMOUNT+{1}
WHERE FBILLNO = '{0}'
", Fbillno,FREALRECAMOUNTFOR);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//更新销售订单表头的累计核销金额
public static void UpdateOrderF_AMOUNTOld(Context ctx, string Fbillno, string FREALRECAMOUNTFOR)
{
string sql = string.Format(@"/*dialect*/
update T_SAL_ORDER
SET F_AMOUNT = F_AMOUNT-{1}
WHERE FBILLNO = '{0}'
", Fbillno, FREALRECAMOUNTFOR);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//获取预收款单的销售订单源单编号
public static DynamicObjectCollection GetRECEIVEBILLFSRCBILLNOS(Context ctx,string FID)
{
string sql = string.Format(@"
SELECT
B.FSRCBILLNO AS FSRCBILLNO, --源单单据编号
B.FREALRECAMOUNTFOR AS FREALRECAMOUNTFOR_S --源单本次实收金额(本位币)
FROM T_AR_RECEIVEBILL A
INNER JOIN T_AR_RECEIVEBILLSRCENTRY B ON A.FID = B.FID
WHERE A.FID = '{0}' AND A.FSETTLEORGID != '100302' AND B.FREALRECAMOUNTFOR > 0
AND B.FSRCBILLTYPEID = 'SAL_SaleOrder'
", FID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//获取应收单下推收款退款单的销售订单编号
public static DynamicObjectCollection GetREFUNDBILLFSRCBILLNOS(Context ctx, string FID)
{
string sql = string.Format(@"
SELECT
G.FOrderNo AS FOrderNo --销售订单编号
,F.FALLAMOUNTFOR_D AS FALLAMOUNTFOR_D --核销金额
FROM T_AR_REFUNDBILL A
INNER JOIN T_AR_REFUNDBILLSRCENTRY B ON A.FID = B.FID
INNER JOIN T_AR_REFUNDBILLSRCENTRY_LK C ON B.FENTRYID = C.FENTRYID -- 关联收款单的LK表
INNER JOIN T_AR_RECEIVABLE D ON C.FSBILLID = D.FID
INNER JOIN T_AR_RECEIVABLEENTRY E ON D.FID = E.FID
INNER JOIN T_AR_RECEIVABLEENTRY_LK F On E.FENTRYID = F.FENTRYID AND F.FALLAMOUNTFOR_D <> 0
INNER JOIN T_SAL_RETURNSTOCKENTRY G ON G.FID = F.FSBILLID AND F.FSID = G.FENTRYID
WHERE A.FID = '{0}' AND B.FSOURCETYPE = 'AR_receivable' AND A.FSALEORGID <> '100302'
",FID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//获取销售报价单下载WORD内容
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;
}
}
}