This commit is contained in:
余宇波 2025-09-02 09:52:23 +08:00
parent 3804977163
commit a9f042eca1
2 changed files with 102 additions and 67 deletions

View File

@ -10,6 +10,7 @@ using Kingdee.BOS.Core.Interaction;
using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.FormElement; using Kingdee.BOS.Core.Metadata.FormElement;
using Kingdee.BOS.JSON; using Kingdee.BOS.JSON;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm; using Kingdee.BOS.Orm;
using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.ServiceHelper;
@ -279,83 +280,97 @@ namespace GZ_KD_Parino.Common
/// </summary> /// </summary>
public static string CreateDocument2(DynamicObjectCollection data, Context ctx) public static string CreateDocument2(DynamicObjectCollection data, Context ctx)
{ {
StringBuilder xml = new StringBuilder("FormData=<FormData>"); Guid? idkey = null;
xml.Append("<productshipinit>"); string sn = "失败";
xml.Append("<SN></SN>"); try
xml.Append("<ReqDate>" + Convert.ToString(data[0]["创建时间"]) + "</ReqDate>");//创建时间
xml.Append("<Applicant>" + Convert.ToString(data[0]["填单人"]) + "</Applicant>");//填单人
xml.Append("<DeptName>" + Convert.ToString(data[0]["填单人部门"]) + "</DeptName>"); //填单人部门
xml.Append("<Model>" + Convert.ToString(data[0]["规格型号"]) + "</Model>"); //规格型号
xml.Append("<Customer>" + Convert.ToString(data[0]["购货单位"]) + "</Customer>");//购货单位
xml.Append("<Project>" + Convert.ToString(data[0]["项目名称"]) + "</Project>");//项目名称
xml.Append("<Seller>" + Convert.ToString(data[0]["销售人员"]) + "</Seller>"); //销售人员
xml.Append("<SellerDept>" + Convert.ToString(data[0]["销售人员部门"]) + "</SellerDept>"); //销售人员部门
xml.Append("<Position>" + Convert.ToString(data[0]["填单人职位"]) + "</Position>"); //填单人职位
xml.Append("<ContractNo>" + Convert.ToString(data[0]["合同号"]) + "</ContractNo>");//合同号
xml.Append("<deliverydate>" + Convert.ToString(data[0]["发货日期"]) + "</deliverydate>");//发货日期
xml.Append("</productshipinit>");
foreach (var item in data)
{ {
xml.Append("<productshipinit_item>"); //写入日志 idkey=()
xml.Append("<itemnumber>" + Convert.ToString(item["物料代码"]) + "</itemnumber>"); //物料代码 StringBuilder xml = new StringBuilder("FormData=<FormData>");
xml.Append("<itemmodel>" + Convert.ToString(item["物料名称"]) + "</itemmodel>"); //物料名称 xml.Append("<productshipinit>");
xml.Append("<qty>" + Convert.ToString(item["数量"]) + "</qty>"); //数量 xml.Append("<SN></SN>");
xml.Append("<Brand>" + Convert.ToString(item["品牌"]) + "</Brand>"); //品牌 xml.Append("<ReqDate>" + Convert.ToString(data[0]["创建时间"]) + "</ReqDate>");//创建时间
xml.Append("<demand>" + Convert.ToString(item["备注"]) + "</demand>"); //定制单出货次数 xml.Append("<Applicant>" + Convert.ToString(data[0]["填单人"]) + "</Applicant>");//填单人
xml.Append("</productshipinit_item>"); xml.Append("<DeptName>" + Convert.ToString(data[0]["填单人部门"]) + "</DeptName>"); //填单人部门
} xml.Append("<Model>" + Convert.ToString(data[0]["规格型号"]) + "</Model>"); //规格型号
xml.Append("</FormData>"); xml.Append("<Customer>" + Convert.ToString(data[0]["购货单位"]) + "</Customer>");//购货单位
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://10.0.120.98/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount=" + data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml); xml.Append("<Project>" + Convert.ToString(data[0]["项目名称"]) + "</Project>");//项目名称
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://10.0.120.98/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount=" + data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml); xml.Append("<Seller>" + Convert.ToString(data[0]["销售人员"]) + "</Seller>"); //销售人员
xml.Append("<SellerDept>" + Convert.ToString(data[0]["销售人员部门"]) + "</SellerDept>"); //销售人员部门
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://bpm.pmac.com.cn/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount=" + data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml); xml.Append("<Position>" + Convert.ToString(data[0]["填单人职位"]) + "</Position>"); //填单人职位
request.Method = "POST"; xml.Append("<ContractNo>" + Convert.ToString(data[0]["合同号"]) + "</ContractNo>");//合同号
request.ContentType = "text/xml"; xml.Append("<deliverydate>" + Convert.ToString(data[0]["发货日期"]) + "</deliverydate>");//发货日期
Encoding encoding = Encoding.GetEncoding("UTF-8"); xml.Append("</productshipinit>");
// 要发送的数据 foreach (var item in data)
byte[] buffer = encoding.GetBytes(xml.ToString());
// 获取请求流
using (Stream writer = request.GetRequestStream())
{
// 写入数据
writer.Write(buffer, 0, buffer.Length);
}
string retString = "";
string sn = "失败";
//获取响应
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
// 处理响应
Stream myResponseStream = response.GetResponseStream();//获取返回值
using (StreamReader reader = new StreamReader(myResponseStream, Encoding.UTF8))
{ {
try xml.Append("<productshipinit_item>");
xml.Append("<itemnumber>" + Convert.ToString(item["物料代码"]) + "</itemnumber>"); //物料代码
xml.Append("<itemmodel>" + Convert.ToString(item["物料名称"]) + "</itemmodel>"); //物料名称
xml.Append("<qty>" + Convert.ToString(item["数量"]) + "</qty>"); //数量
xml.Append("<Brand>" + Convert.ToString(item["品牌"]) + "</Brand>"); //品牌
xml.Append("<demand>" + Convert.ToString(item["备注"]) + "</demand>"); //定制单出货次数
xml.Append("</productshipinit_item>");
}
xml.Append("</FormData>");
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://10.0.120.98/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount=" + data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml);
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://10.0.120.98/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount=" + data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://bpm.pmac.com.cn/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount=" + data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml);
request.Method = "POST";
request.ContentType = "text/xml";
Encoding encoding = Encoding.GetEncoding("UTF-8");
// 要发送的数据
byte[] buffer = encoding.GetBytes(xml.ToString());
// 获取请求流
using (Stream writer = request.GetRequestStream())
{
// 写入数据
writer.Write(buffer, 0, buffer.Length);
}
string retString = "";
//获取响应
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
// 处理响应
Stream myResponseStream = response.GetResponseStream();//获取返回值
using (StreamReader reader = new StreamReader(myResponseStream, Encoding.UTF8))
{ {
retString = reader.ReadToEnd(); try
//获取SN数据
var snOBJ = JsonConvert.DeserializeObject<JObject>(retString);
if (Convert.ToString(snOBJ["success"]).ToUpper() == "TRUE")
{ {
sn = Convert.ToString(snOBJ["SN"]); retString = reader.ReadToEnd();
//获取SN数据
var snOBJ = JsonConvert.DeserializeObject<JObject>(retString);
if (Convert.ToString(snOBJ["success"]).ToUpper() == "TRUE")
{
sn = Convert.ToString(snOBJ["SN"]);
}
} }
catch
{
} }
catch
{
} }
} }
//写入Txt到服务器地址
//SaveTxt("http://10.0.120.98/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount="+data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml,
// string.Format(@"D:\Api日志\{2}\创建流程\{0}\创建流程\{1}.txt",
// Convert.ToString(data[0]["单据编号"]), DateTime.Now.ToString("yyyyMMddHHmmssfff"), ctx.DataCenterName), retString);
SaveTxt("http://bpm.pmac.com.cn/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount=" + data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml,
string.Format(@"D:\Api日志\{2}\创建流程\{0}\创建流程\{1}.txt",
Convert.ToString(data[0]["单据编号"]), DateTime.Now.ToString("yyyyMMddHHmmssfff"), ctx.DataCenterName), retString);
//修改日志为成功
}
catch (Exception ex)
{
//修改日志为异常,记录异常日志,不能抛异常
Logger.Error("创建流程异常", ex.Message,new Exception());
} }
//写入Txt到服务器地址
//SaveTxt("http://10.0.120.98/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount="+data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml,
// string.Format(@"D:\Api日志\{2}\创建流程\{0}\创建流程\{1}.txt",
// Convert.ToString(data[0]["单据编号"]), DateTime.Now.ToString("yyyyMMddHHmmssfff"), ctx.DataCenterName), retString);
SaveTxt("http://bpm.pmac.com.cn/bpm/YZSoft/WebService/YZService.ashx?Method=PostTask&UserAccount=" + data[0]["bpm账号"] + "&ProcessName=产品生产出货预置单&Action=提交&Comment=''&" + xml,
string.Format(@"D:\Api日志\{2}\创建流程\{0}\创建流程\{1}.txt",
Convert.ToString(data[0]["单据编号"]), DateTime.Now.ToString("yyyyMMddHHmmssfff"), ctx.DataCenterName), retString);
return sn;
return sn;
} }
/// <summary> /// <summary>

View File

@ -495,5 +495,25 @@ namespace GZ_KD_Parino.SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection; return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
} }
public static Guid SetDockingPLMLog(Context ctx, string FType,int id)
{
Guid newid = Guid.NewGuid();
string sql = $@" INSERT INTO [ZZZ_DockingPLMLog] ([Id]
,[Fdate]
,[CreateTime]
,[EditTime]
,[FuncMethod]
,[ExecuteTime]
,[ExceptionInfo]
,[FuncStatus]
,[Result]
,[Remark]
,[FId],[ParamInfo])
(SELECT '{newid}',FDATE,GETDATE(),GETDATE(),'{FType}',GETDATE(),'',0,'','{FType}',{id},FBILLNO FROM dbo.T_SAL_ORDER
WHERE fid={id})";
var n= DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
return newid;
}
} }
} }