HMI平板派工工序报工后自动关闭当前派工任务

【应用场景】
HMI平板派工工序报工后自动关闭当前派工任务
【实现步骤】
<1>扩展元数据 SFC_MobileComplexDispReportBillEdit,新增二开插件,继承于ComplexDispatchReportEdit,同时重写方法AfterInvokeBillOperation;代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.K3.Core.MFG;
using Kingdee.K3.Core.MFG.EnumConst;
using Kingdee.K3.MFG.App;
namespace Kingdee.K3.MFG.Mobile.Business.PlugIn.SFC.Complex
{
public class Class1 : ComplexDispatchReportEdit
{
/// <summary>
/// 调用操作后
/// </summary>
/// <param name="e"></param>
public override void AfterInvokeBillOperation(BOS.Mobile.PlugIn.AfterInvokeBillOperationEventArgs e)
{
switch (e.OperationNumber)
{
case "Save":
DynamicObject tempObject = e.OperationResult.SuccessDataEnity.FirstOrDefault();
DateTime currTime = AppServiceContext.GetSysDate(this.Context);
long dispatchDetailEntryId =
Convert.ToInt64(
((DynamicObjectCollection) tempObject["OptRptEntry"]).FirstOrDefault()[
"DispatchDetailEntryId"]);
OQLFilter filter = OQLFilter.CreateHeadEntityFilter(string.Format("FOperId={0}", Convert.ToInt64(
((DynamicObjectCollection) tempObject["OptRptEntry"]).FirstOrDefault()["OptPlanOptId"])));
DynamicObject dispatchObj =
BusinessDataServiceHelper.Load(this.Context, "SFC_DispatchDetail", null, filter)
.FirstOrDefault();
DynamicObjectCollection entryColls = dispatchObj["DispatchDetailEntry"] as DynamicObjectCollection;
DynamicObject entry = entryColls.Where(o => dispatchDetailEntryId.Equals(o["Id"])).FirstOrDefault();
if (entry != null)
{
if (Convert.ToDecimal(entry["FinishSelQty"]) == 0)
{
entryColls.Remove(entry);
}
else
{
HMI平板派工工序报工后自动关闭当前派工任务
【应用场景】HMI平板派工工序报工后自动关闭当前派工任务【实现步骤】<1>扩展元数据 SFC_MobileComplexDispReportBillEdit,新增二开插件,...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



