【WEBAPI】供应商冻结/反冻结自定义接口案例
【应用场景】
目前供应商的冻结和反冻结操作,是表单插件实现,没有标准对外的接口。这时候想要通过API的方式调用冻结、反冻结操作,需要自行二开自定义接口
【代码案例】
/// <summary> /// 供应商冻结/反冻结 /// </summary> /// <param name="ctx">上下文</param> /// <param name="freezeLimit">冻结范围</param> /// <param name="freezeStatus">冻结/反冻结状态</param> /// <param name="fIds">供应商的FID</param> public void UpdateFreeze(Context ctx, string freezeLimit, string freezeStatus, string fIds) { List<SqlParam> paras = new List<SqlParam>(); List<SqlObject> lstSqlObj = new List<SqlObject>(); string SQL = string.Format(" Update t_BD_SupplierBusiness SET FFreezeLimit = @FreezeLimit, FBusinessStatus = @FreezeStatus WHERE FSupplierId in ({0})", fIds); SqlParam param = new SqlParam("@FreezeLimit", DbType.String, freezeLimit); paras.Add(param); param = new SqlParam("@FreezeStatus", DbType.String, freezeStatus); paras.Add(param); lstSqlObj.Add(new SqlObject(SQL, paras)); if (freezeStatus.EqualsIgnoreCase("A"))//反冻结时清空冻结人和冻结日期 { SQL = string.Format(" Update t_BD_SupplierBusiness SET FFreezeOperator = @FreezeOperator, FFREEZEDATE = @FreezeDate WHERE FSupplierId in ({0})", fIds); paras = new List<SqlParam>(); param = new SqlParam("@FreezeOperator", DbType.Int64, 0); paras.Add(param); param = new SqlParam("@FreezeDate", DbType.DateTime, null); paras.Add(param); lstSqlObj.Add(new SqlObject(SQL, paras)); } else//冻结时写入冻结人和冻结日期 { SQL = string.Format(" Update t_BD_SupplierBusiness SET FFreezeOperator = @FreezeOperator, FFREEZEDATE = @FreezeDate WHERE FSupplierId in ({0})", fIds); paras = new List<SqlParam>(); param = new SqlParam("@FreezeOperator", DbType.Int64, ctx.UserId); paras.Add(param); param = new SqlParam("@FreezeDate", DbType.DateTime, BOS.App.ServiceHelper.GetService<ITimeService>().GetSystemDateTime(ctx)); paras.Add(param); lstSqlObj.Add(new SqlObject(SQL, paras)); } DBUtils.ExecuteBatch(ctx, lstSqlObj); }
【注意事项】
<1>冻结、反冻结操作,更新供应商的冻结人(FFreezeOperator)、冻结日期(FreezeDate)、冻结范围(FFreezeLimit)、业务状态(FBusinessStatus)的数据
<2>自定义接口的封装参考:
二开案例.WebApi.从零开发自定义WebApi接口 (kingdee.com)
<3>相关的枚举信息可在BOS中获取:
【WEBAPI】供应商冻结/反冻结自定义接口案例
【应用场景】目前供应商的冻结和反冻结操作,是表单插件实现,没有标准对外的接口。这时候想要通过API的方式调用冻结、反冻结操作,需要自...
点击下载文档
本文2024-09-16 18:29:07发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22446.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章