2025-04-01 11:44:11 +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 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*/
|
2025-04-15 11:35:12 +08:00
|
|
|
|
exec GetTempModelData_XSBJD_GZTH '{0}','{1}' ", FID, FType);
|
2025-04-01 11:44:11 +08:00
|
|
|
|
//执行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;
|
|
|
|
|
}
|
2025-04-07 15:40:27 +08:00
|
|
|
|
|
2025-04-10 09:40:48 +08:00
|
|
|
|
//根据销售出库单的FID,获取销售订单的FENTRYID
|
2025-04-07 15:40:27 +08:00
|
|
|
|
public static DynamicObjectCollection GetSal_ORderFEntryIdAndFid(Context ctx,string FID)
|
|
|
|
|
{
|
|
|
|
|
string sql = string.Format(@"/*dialect*/
|
|
|
|
|
EXEC GETSAL_ORDERFidAndFENTRYID_GZTH '{0}'
|
|
|
|
|
",FID);
|
|
|
|
|
//执行SQL
|
|
|
|
|
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//根据销售出库单的FID,反写销售订单新旧系统未出库数量
|
2025-04-10 09:40:48 +08:00
|
|
|
|
public static void UpdateSal_OrderF_notoutQty(Context ctx,string FENTRYID)
|
2025-04-07 15:40:27 +08:00
|
|
|
|
{
|
|
|
|
|
string sql = string.Format(@"/*dialect*/
|
2025-04-10 09:40:48 +08:00
|
|
|
|
EXEC UpdateSAL_ORDERF_notoutQty '{0}'
|
|
|
|
|
",FENTRYID);
|
2025-04-07 15:40:27 +08:00
|
|
|
|
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
|
|
|
|
|
}
|
|
|
|
|
|
2025-04-10 09:40:48 +08:00
|
|
|
|
//根据销售退货单的FID,获取销售订单的FENTRYID
|
2025-04-07 15:40:27 +08:00
|
|
|
|
public static DynamicObjectCollection GETRETURNSTOCKSal_ORDERFidAndFentryid(Context ctx,string FID)
|
|
|
|
|
{
|
2025-04-10 09:40:48 +08:00
|
|
|
|
string sql = string.Format(@"/*dialect*/
|
2025-04-07 15:40:27 +08:00
|
|
|
|
EXEC GETRETURNSTOCKSal_ORDERFidAndFentryid_GZTH '{0}'
|
2025-04-10 09:40:48 +08:00
|
|
|
|
",FID);
|
2025-04-07 15:40:27 +08:00
|
|
|
|
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
|
|
|
|
|
}
|
2025-04-10 09:40:48 +08:00
|
|
|
|
/*当物料为M开头,发料方式设置为调拨倒冲,倒冲时机设置为入库倒冲,拨出组织设置为珠海派诺,拨出组织为空,
|
|
|
|
|
仓库设置为 : 68*/
|
|
|
|
|
public static void UpdatePRD_PPBOMLIkeM(Context ctx,string FID)
|
|
|
|
|
{
|
|
|
|
|
string sql = string.Format(@"/*dialect*/
|
|
|
|
|
EXEC UpdatePRD_PPBOMLIkeM_GZTH '{0}'
|
|
|
|
|
",FID);
|
|
|
|
|
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
|
|
|
|
|
}
|
2025-04-01 11:44:11 +08:00
|
|
|
|
}
|
|
|
|
|
}
|