添加项目文件。
This commit is contained in:
206
aoyuPlugIn/汇威/MJ_qtyf.cs
Normal file
206
aoyuPlugIn/汇威/MJ_qtyf.cs
Normal file
@@ -0,0 +1,206 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Kingdee.BOS.WebApi.Client;
|
||||
using Kingdee.BOS;
|
||||
using Kingdee.BOS.Core.Bill.PlugIn;
|
||||
using Kingdee.BOS.Core.Bill.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.Metadata;
|
||||
using Kingdee.BOS.Core.Metadata.EntityElement;
|
||||
using Kingdee.BOS.Core.SqlBuilder;
|
||||
using Kingdee.BOS.Orm.DataEntity;
|
||||
using Kingdee.BOS.ServiceHelper;
|
||||
using Kingdee.BOS.Util;
|
||||
using Kingdee.BOS.Core.DynamicForm;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
|
||||
namespace aoyuPlugIn
|
||||
{
|
||||
[Description("其他应付生成费用归集")]
|
||||
public class MJ_qtyf : AbstractBillPlugIn
|
||||
{
|
||||
//调用API生成费用归集单
|
||||
public Boolean SaveBill()
|
||||
{
|
||||
string fbillno = this.View.Model.GetValue("FBillNo").ToString();
|
||||
|
||||
try
|
||||
{
|
||||
var sSql = String.Format("EXEC hw_get_qtyf '" + fbillno + "'");
|
||||
var dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sSql);
|
||||
int i = 0;
|
||||
if (dr.Count > 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
string url = "https://hui-wei.ik3cloud.com/K3cloud/";
|
||||
string dbid = "5c85f54f52a132";
|
||||
string user = "wwj01";
|
||||
string pwd = "wwj@123456";
|
||||
|
||||
|
||||
url = "http://61.145.228.58:9656/k3cloud";
|
||||
|
||||
dbid = "5e0f100d492605";
|
||||
|
||||
user = "Hezhiq";
|
||||
|
||||
pwd = "abc123++";
|
||||
|
||||
ApiClient client = new ApiClient(url);
|
||||
var loginResult = client.Login(
|
||||
dbid,
|
||||
user,
|
||||
pwd,
|
||||
2052);
|
||||
string result = "登录失败,请检查与站点地址、数据中心Id,用户名及密码!";
|
||||
|
||||
// 登陆成功,开始保存数据
|
||||
if (loginResult == true)
|
||||
{
|
||||
// 开始构建Web API参数对象
|
||||
// 参数根对象:包含Creator、NeedUpDateFields、Model这三个子参数
|
||||
// using Newtonsoft.Json.Linq; // (需引用Newtonsoft.Json.dll)
|
||||
JObject jsonRoot = new JObject();
|
||||
|
||||
// Creator: 创建用户
|
||||
//jsonRoot.Add("Creator", "Demo");
|
||||
|
||||
// NeedUpDateFields: 哪些字段需要更新?为空则表示参数中全部字段,均需要更新
|
||||
jsonRoot.Add("NeedUpDateFields", new JArray(""));
|
||||
|
||||
// Model: 单据详细数据参数
|
||||
JObject model = new JObject();
|
||||
jsonRoot.Add("Model", model);
|
||||
|
||||
// 开始设置单据字段值
|
||||
// 必须设置的字段:主键、单据类型、主业务组织,各必录且没有设置默认值的字段
|
||||
// 特别注意:字段Key大小写是敏感的,建议从BOS设计器中,直接复制字段的标识属性过来
|
||||
|
||||
|
||||
// 单据主键:必须填写,系统据此判断是新增还是修改单据;新增单据,填0
|
||||
model.Add("FID", 0);
|
||||
|
||||
//核算体系编码
|
||||
JObject FACCTGSYSTEMID = new JObject();
|
||||
FACCTGSYSTEMID.Add("FNumber", "KJHSTX01_SYS");
|
||||
model.Add("FACCTGSYSTEMID", FACCTGSYSTEMID);
|
||||
|
||||
//核算体组织码
|
||||
JObject FACCTGORGID = new JObject();
|
||||
FACCTGORGID.Add("FNumber", "107");
|
||||
model.Add("FACCTGORGID", FACCTGORGID);
|
||||
|
||||
//会计政策编码
|
||||
JObject FACCTPOLICYID = new JObject();
|
||||
FACCTPOLICYID.Add("FNumber", "KJZC02_SYS");
|
||||
model.Add("FACCTPOLICYID", FACCTPOLICYID);
|
||||
|
||||
|
||||
////业务类型
|
||||
//model.Add("FBusinessType", "CG");//标准采购
|
||||
|
||||
|
||||
// 开始构建单据体参数:集合参数JArray
|
||||
|
||||
JArray entryRows = new JArray();
|
||||
// 把单据体行集合,添加到model中,以单据体Key为标识
|
||||
string entityKey = "FEntity";
|
||||
model.Add(entityKey, entryRows);
|
||||
// 通过循环创建单据体行:示例代码仅创建一行
|
||||
foreach (var item in dr)
|
||||
{
|
||||
//string k = item[0].ToString();
|
||||
//this.Model.SetValue("F_YGNM", item[0], i);
|
||||
//this.Model.SetValue("F_ISXYG", item[1], i);
|
||||
//this.Model.SetValue("F_ISSYQ", item[2], i);
|
||||
|
||||
|
||||
|
||||
|
||||
// 添加新行,把新行加入到单据体行集合
|
||||
JObject entryRow = new JObject();
|
||||
entryRows.Add(entryRow);
|
||||
|
||||
|
||||
// 给新行,设置关键字段值
|
||||
// 单据体主键:必须填写,系统据此判断是新增还是修改行
|
||||
entryRow.Add("FEntryID", 0);
|
||||
|
||||
//业务组织
|
||||
JObject FBIZORGID = new JObject();
|
||||
FBIZORGID.Add("FNumber", "107");
|
||||
entryRow.Add("FBIZORGID", FBIZORGID);
|
||||
|
||||
//费用项目编码
|
||||
JObject FEXPENSEITEMID = new JObject();
|
||||
FEXPENSEITEMID.Add("FNumber", "FYXM04_SYS");
|
||||
entryRow.Add("FEXPENSEITEMID", FEXPENSEITEMID);
|
||||
|
||||
//this.Model.SetValue("F_ISSYQ", item[2], i);
|
||||
//日期
|
||||
entryRow.Add("FDATE", item[1].ToString());
|
||||
|
||||
//成本中心编码
|
||||
JObject FCOSTCENTERID = new JObject();
|
||||
FCOSTCENTERID.Add("FNumber", "CBZX000016");
|
||||
entryRow.Add("FCOSTCENTERID", FCOSTCENTERID);
|
||||
|
||||
|
||||
//金额
|
||||
entryRow.Add("FAMOUNT", item[1].ToString());
|
||||
|
||||
|
||||
//产品编号
|
||||
JObject FPRODUCTID = new JObject();
|
||||
FPRODUCTID.Add("FNumber", item[2].ToString());
|
||||
entryRow.Add("FPRODUCTID", FPRODUCTID);
|
||||
i++;
|
||||
}
|
||||
|
||||
// 调用Web API接口服务,保存
|
||||
result = client.Execute<string>(
|
||||
"Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
|
||||
new object[] { "CB_EXPENSECOLLECTION", jsonRoot.ToString() });
|
||||
}
|
||||
this.View.ShowMessage("操作成功!");
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("程序运行遇到了未知的错误:");
|
||||
sb.Append("错误提示:").AppendLine(ex.Message);
|
||||
sb.Append("错误堆栈:").AppendLine(ex.StackTrace);
|
||||
this.View.ShowMessage(sb.ToString());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.View.ShowMessage("无数据,请确认后再操作!");
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex) { this.View.ShowMessage("生成费用归集单时发生错误为:" + ex.Message); return false; }
|
||||
|
||||
|
||||
}
|
||||
//单据头菜单点击
|
||||
public override void BarItemClick(BarItemClickEventArgs e)
|
||||
{
|
||||
base.BarItemClick(e);
|
||||
if (e.BarItemKey == "tbfygj")
|
||||
{
|
||||
SaveBill();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user