【应用场景】
目前供应商联系人的操作,是表单插件实现,没有标准对外的接口。这时候想要通过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
【参考资料】
自定义接口的封装参考: