生产订单审核自动下推生产汇报单并自动提交审核

1、在生产订单审核操作上配置自动下推服务,如下图:

2、二开服务端插件,挂在生产订单的审核操作上,代码如下
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Kingdee.BOS.Util;
using Kingdee.K3.Core.MFG.EntityHelper;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS;
using Kingdee.K3.MFG.App;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm;
namespace EK.Kingdee.K3.MFG.PRD.App.ServicePlugIn
{
[Description("生产订单审核自动下推汇报单之后,汇报单自动提交,审核")]
public class MoAudit : AbstractOperationServicePlugIn
{
/// <summary>
/// 【生产订单.明细】实体名
/// </summary>
public static string KEY_Entity = "TreeEntity";
public override void AfterExecuteOperationTransaction(global::Kingdee.BOS.Core.DynamicForm.PlugIn.Args.AfterExecuteOperationTransaction e)
{
base.AfterExecuteOperationTransaction(e);
if (e.DataEntitys.IsEmpty()) return;
var entryDatas = from data in e.DataEntitys
from row in data.GetDynamicValue<DynamicObjectCollection>(KEY_Entity)
select row;
if (entryDatas.IsEmpty()) return;
List<long> moEntryIds = entryDatas.Select(s => s.GetDynamicValue<long>("ID")).Distinct().ToList();
string sql = string.Format(@"SELECT T.FID FROM T_PRD_MORPT TR
INNER JOIN T_PRD_MORPTENTRY T ON TR.FID=T.FID AND TR.FDOCUMENTSTATUS='A'
INNER JOIN {0} TT ON T.FMOENTRYID=TT.FID", StringUtils.GetSqlWithCardinality(moEntryIds.Distinct().Count(), "@MOENTRYIDS", 1));
List<SqlParam> sqlParams = new List<SqlParam>();
sqlParams.Add(new SqlParam("@MOENTRYIDS", KDDbType.udt_inttable, moEntryIds.Distinct().ToArray()));
DynamicObjectCollection objs = AppServiceContext.DbUtils.ExecuteDynamicObject(this.Context, sql,
生产订单审核自动下推生产汇报单并自动提交审核
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



