李狗蛋 a8271eafdf 1
2025-04-10 09:40:48 +08:00

77 lines
4.3 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 GZ_LTHPilot_ORDER.SqlManage;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GZ_LTHPilot_ORDER.PRD_PPBOM
{
[Description("服务插件1生产用料清单审核触发,根据生产车间||生产组织,修改生产用料清单明细行"), HotUpdate]
public class AuditPOM : AbstractOperationServicePlugIn
{
public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
{
base.BeforeExecuteOperationTransaction(e);
foreach (var Row in e.SelectedRows)
{
string FWorkshopFname = "组装测试包装车间";
//获取单据信息
var Billobj = Row.DataEntity;
//获取生产用料清单的组织
var PPBOMFPrdOrgFname = SqlManage.SqlManage.GetPRD_PPBOMFWorkshopID(this.Context, Convert.ToString(Billobj["ID"]));
if (PPBOMFPrdOrgFname[0]["OEGFNAME"].ToString() == "珠海派诺")
{
//获取生产用料清单的生产车间
var PPBOMFWorkshopFname = SqlManage.SqlManage.GetPRD_PPBOMFWorkshopID(this.Context, Convert.ToString(Billobj["ID"]));
//根据仓库改编生产用料清单的明细信息
if (PPBOMFWorkshopFname[0]["FNAME"].ToString() == FWorkshopFname)
{
//查询明细行的FENTRYID,仓库的名称
var PPBOMFStockFNameS = SqlManage.SqlManage.GetPRD_PPBOMFStockID(this.Context, Convert.ToString(PPBOMFWorkshopFname[0]["FID"]));
foreach (var PPBOMFStockFName in PPBOMFStockFNameS)
{
if (PPBOMFStockFName["FNAME"].ToString() == "半成品仓")
{
SqlManage.SqlManage.UpdatePRD_PPBOMFIsKeyComponent(this.Context, Convert.ToString(PPBOMFStockFName["FENTRYID"]));
}
if (PPBOMFStockFName["FNAME"].ToString() == "包材仓")
{
SqlManage.SqlManage.UpdatePRD_PPBOMFIssueType(this.Context, Convert.ToString(PPBOMFStockFName["FENTRYID"]));
}
if (PPBOMFStockFName["FNAME"].ToString() == "包装结构件仓" || PPBOMFStockFName["FNAME"].ToString() == "装配结构件仓")
{
SqlManage.SqlManage.UpdatePRD_PPBOMFIssueTypeAndFBackFlushType(this.Context, Convert.ToString(PPBOMFStockFName["FENTRYID"]), Convert.ToString(PPBOMFWorkshopFname[0]["FPrdOrgId"]));
SqlManage.SqlManage.UpdateFSRCTRANSSTOCKID(this.Context, Convert.ToString(PPBOMFStockFName["FENTRYID"]));
SqlManage.SqlManage.UpdateFSTOCKID(this.Context, Convert.ToString(PPBOMFStockFName["FENTRYID"]));
}
}
//当物料为M开头发料方式设置为调拨倒冲倒冲时机设置为入库倒冲拨出组织设置为珠海派诺拨出组织为空
//仓库设置为 : 68
SqlManage.SqlManage.UpdatePRD_PPBOMLIkeM(this.Context, Convert.ToString(Billobj["Id"]));
}
}
//获取生产用料清单的组织
var PPBOMFPrdOrgFname1 = SqlManage.SqlManage.GetPRD_PPBOMFWorkshopID(this.Context, Convert.ToString(Billobj["ID"]));
if (PPBOMFPrdOrgFname1[0]["OEGFNAME"].ToString() == "珠海派诺")
{
if (PPBOMFPrdOrgFname[0]["FNAME"].ToString() == "焊接车间" || PPBOMFPrdOrgFname[0]["FNAME"].ToString() == "贴片车间"
|| PPBOMFPrdOrgFname[0]["FNAME"].ToString() == "储能车间")
{
SqlManage.SqlManage.UpdatePRD_PPBOMFIDFIsKeyComponent(this.Context, PPBOMFPrdOrgFname[0]["FID"].ToString());
}
}
}
}
}
}