移动表单,获取员工属性赋值
金蝶云社区-exoplanet_
exoplanet_
1人赞赏了该文章 750次浏览 未经作者许可,禁止转载编辑于2017年08月23日 22:40:34

移动表单,通过当前云之家绑定的ID登陆cloud,然后获取该用户的员工基础资料属性信息,但是不成功,代码如下,帮忙看一下。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.ComponentModel;
// 引用 Kingdee.BOS.dll
using Kingdee.BOS;
using Kingdee.BOS.Util;
using Kingdee.BOS.Mobile;
using Kingdee.BOS.Mobile.PlugIn;
using Kingdee.BOS.Mobile.PlugIn.ControlModel;
using Kingdee.BOS.Mobile.Bill;
using Kingdee.BOS.Mobile.Contract;
using Kingdee.BOS.Mobile.Model;
using Kingdee.BOS.ServiceHelper;
// 引用 Kingdee.BOS.Core.dll
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.FieldElement;
// 引用 Kingdee.BOS.DataEntity.dll
using Kingdee.BOS.Orm.DataEntity;

namespace Kingdee.Sobey.Mobile.Bill.Plugin
{
public class AbstractMobileBillPlugin : AbstractMobilePlugin
{
///


/// 登录用户对应的员工职级内码
///

private long _FRankId = 0;

public override void OnInitialize(InitializeEventArgs e)
{
SqlParam userIdParam = new SqlParam("@FUserId", KDDbType.Int64, this.Context.UserId);
List paramList = new List() { userIdParam };
// 根据用户,找员工职级
// 用户 -> 人员 -> 员工职级ID
string _FRankId = @"
select a.FRANK,S.FSTAFFID, S_L.FNAME, P.FPERSONID, U.FUSERID, U.FNAME
from T_SEC_USER U
inner join t_BD_Person P ON (u.FLINKOBJECT = P.FPERSONID)
inner join T_BD_STAFF S ON (P.FPERSONID = S.FPERSONID)
left join T_BD_STAFF_L S_L ON (S.FSTAFFID = S_L.FSTAFFID AND S_L.FLOCALEID = 2052)
left join T_HR_EMPINFO A on (a.FPERSONID = S.FPERSONID)
where U.FUserId = @FUserId";
using (IDataReader reader = DBServiceHelper.ExecuteReader(this.Context, _FRankId, paramList))
{
while (reader.Read())
{
this._FRankId = Convert.ToInt64(reader[0]);
break;
}
}
}
///


/// 新增单据时触发此事件:在此事件中,设置各字段默认值
///

///
public override void AfterCreateNewData(EventArgs e)
{
this.Model.SetItemValueByID("FRank", this._FRankId, 0);
}
}
}