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()); } } } } } }