【WEBAPI】供应商联系人禁用/反禁用自定义接口案例原创
金蝶云社区-王尚策
王尚策
7人赞赏了该文章 274次浏览 未经作者许可,禁止转载编辑于2024年03月27日 10:41:05

【WEBAPI】供应商联系人禁用/反禁用自定义接口案例


【应用场景】

目前供应商联系人的操作,是表单插件实现,没有标准对外的接口。这时候想要通过API的方式调用禁用、反禁用操作,需要自行二开自定义接口。

主要是修改t_BD_SupplierContact和T_BD_COMMONCONTACT的FFORBIDSTATUS字段的值

FFORBIDSTATUS=B为禁用状态,FFORBIDSTATUS=A为不禁用


【代码案例】

  /// 供应商联系人禁用/反禁用
        /// </summary>
        /// <param name="ctx">上下文</param>
        /// <param name="pkValue">传入供应商联系人表中的FCOMMONCONTACTID </param>
        /// <param name="forbidStatus">A为不禁用,B为禁用</param>
public bool UpdateContactForbidStatus(Context ctx, string pkValue, string forbidStatus) {
    
    if(string.IsNullOrWhiteSpace(pkValue)) {
        return false;
    }
    
    
    List <SqlObject> lstObj = new List <SqlObject> ();
    string sql = "
    update T_BD_COMMONCONTACT 
    set FFORBIDSTATUS=@STATUS WHERE FCONTACTID =@FID";
    
    List <SqlParam> paras = new List <SqlParam> ();
    paras.Add(new SqlParam("@STATUS", KDDbType.String, forbidStatus));
    paras.Add(new SqlParam("@FID", KDDbType.String, pkValue));
    lstObj.Add(new SqlObject(sql, paras));
    
    
    sql = "
    update t_BD_SupplierContact 
    set FFORBIDSTATUS=@STATUS  WHERE FCOMMONCONTACTID =@FID";
    
    lstObj.Add(new SqlObject(sql, paras));
    
    
    int rows = 0; // 添加事务处理 
               
    using(KDTransactionScope trans = new KDTransactionScope(System.Transactions.TransactionScopeOption.Required)) {
        rows = DBUtils.ExecuteBatch(ctx, lstObj);
        trans.Complete();
    }
    
    if(rows > 0) {
        return true;
    }
    else {
        return false;
    }
}


--供应商联系人表
select FCOMMONCONTACTID,FFORBIDSTATUS 
from
t_BD_SupplierContact

 
--联系人表 
select FCONTACTID,FFORBIDSTATUS 
from
T_BD_COMMONCONTACT




【参考资料】

自定义接口的封装参考:

二开案例.WebApi.从零开发自定义WebApi接口 (kingdee.com)

WebApi自定义接口 (kingdee.com)



图标赞 7
7人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0