HMI上的工序派工列表需要二开增加按照工单查询功能

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:2

HMI上的工序派工列表需要二开增加按照工单查询功能

【应用场景】

HMI上的工序派工列表需要二开增加按照工单查询功能


【实现步骤】

<1>编写表单插件和服务插件,代码如下。 

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Kingdee.BOS;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using Kingdee.K3.MFG.SFC.Common.Core.EnumConst.Mobile;

namespace Kingdee.K3.MFG.Mobile.Business.PlugIn.SFC.Complex
{
    public class Class1:ComplexDispatchList
    {


        public override void AfterBindData(EventArgs e)
        {
            base.AfterBindData(e);
            // 设置标准的工序计划扫描框的可用性为否,防止误点 影响生产订单的过滤
            this.View.GetControl("FText_ScanCode").Enabled = false;
        }


        public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
        {
            base.BeforeUpdateValue(e);
            if (e.Key.ToUpper().Equals("F_PAEZ_TEXT_QTR"))
            {
                string scanCode = Convert.ToString(e.Value);
                //根据扫描的码进行查找对应的工序计划编码
                string oplanNum = GetOptPlanOper(scanCode);
                if (oplanNum.IsNullOrEmptyOrWhiteSpace() && !scanCode.IsNullOrEmptyOrWhiteSpace())
                {
                    this.View.ShowErrMessage("请输入正确的生产订单编号");
                    return;
                }
                this.View.Model.SetValue("FText_ScanCode", oplanNum);
                this.View.UpdateView("FText_ScanCode");
                this.View.GetControl("F_PAEZ_TEXT_QTR").SetFocus();

            }

        }
        /// <summary>
        /// 目前是按照生产订单的编码进行查找,当前是没有校验这个行号的。这里可以根据实际需求进行变更,唯一的要求就是找的工序计划编码必须是唯一的
        /// </summary>
        /// <param name="moBillno"></param>
        /// <returns></returns>
        private string GetOptPlanOper(string moBillno)
        {
            // 查找工序计划Id集合
            string oplanNum = "";
            string str =
                @"select FBILLNO  from T_SFC_OPERPLANNING  where FMONumber =@Num";
            List<SqlParam> lstSqlParams = new List<SqlParam>
            {
                new SqlParam("@Num", KDDbType.String,moBillno)
            };
            using (IDataReader rd = DBServiceHelper.ExecuteReader(this.Context, str, lstSqlParams))
            {
                while (rd.Read())
                {
                    oplanNum = Convert.ToString(rd["FBILLNO"]);
                }
            }

            return oplanNum;
        }
    }
}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。

<3>BOSIDE扩展SFC_MobileComplexDispatchList 



【功能验证】

<1>登录业务站点,查看效果


【参考资料】

【二开案例.基础资料.联动查询(GetValue)】

https://vip.kingdee.com/article/127710528226504960



【金蝶云星空BOS二次开发案例演示】

https://vip.kingdee.com/article/94751030918525696



HMI上的工序派工列表需要二开增加按照工单查询功能

【应用场景】HMI上的工序派工列表需要二开增加按照工单查询功能【实现步骤】<1>编写表单插件和服务插件,代码如下。 using System;using Sy...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息