178 lines
9.4 KiB
C#
178 lines
9.4 KiB
C#
using GZ_KD_Parino.Common;
|
|
using GZ_KD_Parino.SQL;
|
|
using Kingdee.BOS;
|
|
using Kingdee.BOS.App;
|
|
using Kingdee.BOS.Contracts;
|
|
using Kingdee.BOS.Core;
|
|
using Kingdee.BOS.Core.Bill;
|
|
using Kingdee.BOS.Core.DynamicForm;
|
|
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
|
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
|
using Kingdee.BOS.Core.Interaction;
|
|
using Kingdee.BOS.Core.Metadata;
|
|
using Kingdee.BOS.Core.Metadata.FieldElement;
|
|
using Kingdee.BOS.Core.Metadata.FormElement;
|
|
using Kingdee.BOS.Orm;
|
|
using Kingdee.BOS.Orm.DataEntity;
|
|
using Kingdee.BOS.ServiceHelper;
|
|
using Kingdee.BOS.Util;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace GZ_KD_Parino.Sal_Order
|
|
{
|
|
[HotUpdate]
|
|
[Description("销售订单--审核创建待分配项目")]
|
|
public class CreateItem : AbstractOperationServicePlugIn
|
|
{
|
|
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
|
|
{
|
|
base.AfterExecuteOperationTransaction(e);
|
|
foreach (var rows in e.SelectedRows)
|
|
{
|
|
var Billobj = rows.DataEntity;
|
|
//获取单据FID
|
|
var SaleOrgId = Billobj["SaleOrgId"] as DynamicObject;
|
|
|
|
var key = SqlManage.SetDockingPLMLog(this.Context, "销售订单--审核创建待分配项目", Convert.ToInt32(Billobj["Id"]));
|
|
try
|
|
{
|
|
if (Convert.ToString(SaleOrgId["Number"]) == "PL")
|
|
{
|
|
List<string> FOrdercategoryList = new List<string>() { "SX", "CS", "W", "CW", "CY" };
|
|
|
|
//获取单据FID
|
|
var Billno = Convert.ToString(Billobj["Billno"]);
|
|
//获取日期
|
|
var FDate = Convert.ToDateTime(Billobj["Date"]);
|
|
//FID
|
|
var FID = Convert.ToString(Billobj["id"]);
|
|
//获取订单类型编码
|
|
DynamicObject F_Ordercategory = Billobj["F_Ordercategory"] as DynamicObject;
|
|
//获取销售订单数据
|
|
var data = SqlManage.GetSaleOrderData3_LTH(this.Context, Convert.ToString(Billobj["Id"]));
|
|
string Token = "";
|
|
if (data.Count > 0)
|
|
{
|
|
var Json = new
|
|
{
|
|
sj = data[0]["商机ID"],// 销售订单商机对应到基础档案的crm商机ID 值
|
|
bumen = data[0]["部门名称"],// 销售订单销售部门名称
|
|
sjname = data[0]["工程项目名称"],//销售订单工程项目名称
|
|
xsrymc = data[0]["业务员"],//销售订单 业务员名称
|
|
htcjrzh = data[0]["Bpm账号"],//商务人员bpm账号
|
|
yflxr = data[0]["业务员"],//销售订单 业务员名称
|
|
htmc = data[0]["工程项目名称"],//销售订单工程项目名称
|
|
khmcname = data[0]["客户名称"],//销售订单客户名称
|
|
htbh = data[0]["纸质合同号"],//纸质合同号
|
|
htcjsj = data[0]["日期"],//销售订单业务日期
|
|
htje = data[0]["价税合计"],//销售订单价税合计
|
|
xmzlcfdz = data[0]["项目盒子路径值"],//销售订单项目盒子路径值
|
|
//xmzlcfdz = "",//销售订单项目盒子路径值
|
|
sfjc = data[0]["是否集采项目"]//是否集采项目
|
|
|
|
|
|
|
|
};
|
|
try
|
|
{
|
|
Token = Common.CommonHelper.PMSLogin(data, this.Context, JsonConvert.SerializeObject(Json), "xmfpb", Convert.ToInt32(Billobj["Id"]));
|
|
var Resultstring = Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "xmfpb", Token, Convert.ToInt32(Billobj["Id"]));
|
|
var Result = (JObject)JsonConvert.DeserializeObject(Resultstring);//获取binding
|
|
if (Convert.ToString(Result["returnCode"]) == "-2")
|
|
{
|
|
Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "xmfpb", Token, Convert.ToInt32(Billobj["Id"]));
|
|
//预防二次提交
|
|
SqlManage.UpdateSubmitF_XMYSB(this.Context, Convert.ToString(Billobj["Id"]));
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Kingdee.BOS.Log.Logger.Error("报错", ex.Message, ex);
|
|
}
|
|
}
|
|
if (FOrdercategoryList.Contains(F_Ordercategory["FNumber"]))
|
|
{
|
|
if (data.Count > 0)
|
|
{
|
|
var Json = new
|
|
{
|
|
sfdr = data[0]["是否导入"],// 是否导入
|
|
htqdrq = data[0]["日期"],// 销售订单业务日期
|
|
htbh = data[0]["纸质合同号"],//销售订单纸质合同号
|
|
xmmc = data[0]["工程项目名称"],// 销售订单工程项目名称
|
|
htje = data[0]["价税合计"],// 销售订单价税合计
|
|
htjf = data[0]["业务员"],// 销售订单客户名称
|
|
name = data[0]["客户名称"],//销售订单工程项目名称
|
|
htlxr = data[0]["利润率"],// 销售订单利润率
|
|
createbyid = data[0]["createbyid"],//"005201301273691NMUvx" 固定值
|
|
ownerid = data[0]["ownerid"],//"005201301273691NMUvx" 固定值
|
|
};
|
|
|
|
|
|
try
|
|
{
|
|
Token = Common.CommonHelper.PMSLogin(data, this.Context, JsonConvert.SerializeObject(Json), "otherItem", Convert.ToInt32(Billobj["Id"]));
|
|
var Resultstring = Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "otherItem", Token, Convert.ToInt32(Billobj["Id"]));
|
|
var Result = (JObject)JsonConvert.DeserializeObject(Resultstring);//获取binding
|
|
if (Convert.ToString(Result["returnCode"]) == "-2")
|
|
{
|
|
Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "otherItem", Token, Convert.ToInt32(Billobj["Id"]));
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Kingdee.BOS.Log.Logger.Error("报错", ex.Message, ex);
|
|
}
|
|
|
|
|
|
|
|
|
|
//if (Token != "")
|
|
//{
|
|
// var Resultstring = Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "otherItem", Token);
|
|
// var Result = (JObject)JsonConvert.DeserializeObject(Resultstring);//获取binding
|
|
// if (Convert.ToString(Result["returnCode"]) == "-2")
|
|
// {
|
|
// Token = Common.CommonHelper.PMSLogin(data, this.Context, JsonConvert.SerializeObject(Json), "otherItem");
|
|
// Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "otherItem", Token);
|
|
// }
|
|
//}
|
|
}
|
|
}
|
|
}
|
|
//修改日志为成功
|
|
SqlManage.UpdateDockingPLMLog(this.Context, key, "100", "", "", Convert.ToString(Billobj["Id"]), "PMS项目分配表,PMS系统项目资料检索表", "插件日志");
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
//修改日志为异常
|
|
SqlManage.UpdateDockingPLMLog(this.Context, key, "4", ex.Message, "", Convert.ToString(Billobj["Id"]), "PMS项目分配表,PMS系统项目资料检索表", "插件日志");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnPreparePropertys(PreparePropertysEventArgs e)
|
|
{
|
|
base.OnPreparePropertys(e);
|
|
//添加日期
|
|
e.FieldKeys.Add("FDate");
|
|
//添加日期
|
|
e.FieldKeys.Add("F_Ordercategory");
|
|
//销售组织
|
|
e.FieldKeys.Add("FSaleOrgId");
|
|
}
|
|
}
|
|
}
|