![封面](/download/01001bf686a113d647ee9030198cc09f110f.png)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Web.Script.Serialization;
using System.Web.Script.Services;
using System.Web.Services;
using kingdee.k3cloud.WebService.Entity;
using kingdee.k3cloud.WebService.KingdeeHelper;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace kingdee.k3cloud.WebService
{
// Token: 0x02000002 RID: 2
[ScriptService]
[WebService(Namespace = "http://k3cloud.com/webservices/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class k3CloudWebService : System.Web.Services.WebService
{
// Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250
private void writeLog(string _msg, string folder)
{
this.fileStream = new FileStream(string.Concat(new string[]
{
this.LOG_PATH,
"\\",
folder,
"\\",
DateTime.Now.Date.ToString("yyyy_MM_dd"),
"_Log.txt"
}), FileMode.Append, FileAccess.Write, FileShare.Write);
this.sw = new StreamWriter(this.fileStream);
this.sw.WriteLine(_msg);
this.sw.Close();
this.fileStream.Close();
}
// Token: 0x06000003 RID: 3 RVA: 0x0000211C File Offset: 0x0000031C
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public void Save(string formId, string data)
{
login();
this.Context.Response.Write(InvokeHelper.Save(formId, data));
}
[WebMethod]
public void Submit(string formId, string data)
{
login();
this.Context.Response.Write(InvokeHelper.Submit(formId, data));
}
[WebMethod]
public void BatchSave(string formId, string data)
{
login();
this.Context.Response.Write(InvokeHelper.BatchSave(formId,data));
}
[WebMethod]
public void UnAudit(string formId, string data)
{
login();
this.Context.Response.Write(InvokeHelper.UnAudit(formId, data));
}
[WebMethod]
public void Audit(string formId, string data)
{
login();
this.Context.Response.Write(InvokeHelper.Audit(formId, data));
}
[WebMethod]
public string ExecuteDatatableToJson(DataTable dt)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
System.Collections.ArrayList dic = new System.Collections.ArrayList();
foreach (DataRow dr in dt.Rows)
{
System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
drow.Add(dc.ColumnName, dr[dc.ColumnName]);
}
dic.Add(drow);
}
return jss.Serialize(dic);
}
[WebMethod]
public void ExecuteBillQuery(string formId, string FieldKeys, string FilterString, string OrderString)
{
login();
this.Context.Response.Write(InvokeHelper.ExecuteBillQuery(formId, FieldKeys, FilterString, OrderString));
}
[WebMethod]
public void ExecuteSQLQuery(string sql,string token)
{
if (token=="4324k2uasfdjdsf334lsdfFGR")
{
k3CloudWebService ks = new k3CloudWebService();
login();
DataSet dataSet2 = this.ExecuteDataSetBySql(sql);
DataTable dataTable2 = dataSet2.Tables[0];
this.Context.Response.Write(ks.ExecuteDatatableToJson(dataTable2));
}
}
private void login()
{
string fh= InvokeHelper.Login();
writeLog(fh, "登录");
}
[WebMethod]
private DataSet ExecuteDataSetBySql(string sql)
{
string text = "【" + DateTime.Now.ToString(this.LOG_TIME_FORMAT) + "】\r\n";
DataSet dataSet = null;
try
{
string text2 = InvokeHelper.Login();
int num = Extensions.Value<int>(JObject.Parse(text2)["LoginResultType"]);
bool flag = num == 1 || num == -5;
if (flag)
{
string json = InvokeHelper.HttpClientQureySql(sql);
dataSet = k3CloudWebService.JsonToDataSet(json);
object obj = text;
text = string.Concat(new object[]
{
obj,
"源SQL:{",
sql,
"}共[",
dataSet.Tables[0].Rows.Count,
"].ToString()条数据!"
});
}
else
{
string str = "Kingdee ERP Login Failed,ErrOR CODE【" + num.ToString() + "】";
text += str;
}
this.writeLog(text, "SQL查询");
}
catch (Exception ex)
{
text = text + "异常:" + ex.ToString();
this.writeLog(text, "SQL查询");
return k3CloudWebService.JsonToDataSet("{Table:[{ERROR:'" + ex.ToString() + "'}]}");
}
return dataSet;
}
// Token: 0x06000008 RID: 8 RVA: 0x00002A8C File Offset: 0x00000C8C
[WebMethod]
private string ExecuteQuery(string sql)
{
string text = "";
string text2 = "【" + DateTime.Now.ToString(this.LOG_TIME_FORMAT) + "】\r\n";
try
{
string text3 = InvokeHelper.Login();
int num = Extensions.Value<int>(JObject.Parse(text3)["LoginResultType"]);
bool flag = num == 1 || num == -5;
if (flag)
{
text = InvokeHelper.HttpClientUpdateSql(sql);
string text4 = text2;
text2 = string.Concat(new string[]
{
text4,
"源SQL:{",
sql,
"}更新结果:[",
text,
"].ToString()"
});
}
else
{
text = "Kingdee ERP Login Failed,ErrOR CODE【" + num.ToString() + "】";
text2 += text;
}
this.writeLog(text2, "SQL查询");
}
catch (Exception ex)
{
text2 = text2 + "异常:" + ex.ToString();
return text2;
}
return text;
}
// Token: 0x06000009 RID: 9 RVA: 0x00002B98 File Offset: 0x00000D98
[WebMethod]
private string ExecuteUpdateBySql(string sql)
{
string text = "";
string text2 = "【" + DateTime.Now.ToString(this.LOG_TIME_FORMAT) + "】\r\n";
try
{
string text3 = InvokeHelper.Login();
int num = Extensions.Value<int>(JObject.Parse(text3)["LoginResultType"]);
bool flag = num == 1 || num == -5;
if (flag)
{
text = InvokeHelper.HttpClientUpdateSql(sql);
string text4 = text2;
text2 = string.Concat(new string[]
{
text4,
"源SQL:{",
sql,
"}更新结果:[",
text,
"].ToString()"
});
}
else
{
text = "Kingdee ERP Login Failed,ErrOR CODE【" + num.ToString() + "】";
text2 += text;
}
this.writeLog(text2, "SQL查询");
}
catch (Exception ex)
{
text2 = text2 + "异常:" + ex.ToString();
return text2;
}
return text;
}
// Token: 0x0600000A RID: 10 RVA: 0x00002CA4 File Offset: 0x00000EA4
[WebMethod]
public string QueryPInatockInfo(string srmNum)
{
bool flag = srmNum == "";
string result;
if (flag)
{
JObject jobject = new JObject();
jobject.Add("Status", "0");
jobject.Add("Billno", "");
jobject.Add("SrmNum", srmNum);
jobject.Add("Msg", "未指定SRM单号!");
result = jobject.ToString();
}
else
{
string arg = " where a.FSRMNUM='" + srmNum + "'";
string sql = string.Format("select a.FBILLNO,a.FSRMNUM from t_STK_InStock a {0}", arg);
DataSet dataSet = this.ExecuteDataSetBySql(sql);
DataTable dataTable = dataSet.Tables[0];
JObject jobject2 = new JObject();
bool flag2 = dataTable.Rows.Count > 0;
if (flag2)
{
string text = string.Concat(new string[]
{
dataTable.Rows[0]["FBILLNO"].ToString()
});
jobject2.Add("Status", "1");
jobject2.Add("Billno", text);
jobject2.Add("SrmNum", srmNum);
jobject2.Add("Msg", "入库单已存在!");
result = jobject2.ToString();
}
else
{
jobject2.Add("Status", "0");
jobject2.Add("Billno", "");
jobject2.Add("SrmNum", srmNum);
jobject2.Add("Msg", "不存在符合条件的入库单!");
result = jobject2.ToString();
}
}
return result;
}
// Token: 0x06000014 RID: 20 RVA: 0x00008E78 File Offset: 0x00007078
private string CreateMoInstock(JObject jsonRoot, string formID, JArray returnLotList)
{
string text = string.Empty;
string result;
try
{
string text2 = InvokeHelper.BatchSave(formID, jsonRoot.ToString());
this.writeLog(DateTime.Now.ToString() + "\r\n" + text2, "生产入库");
JObject jobject = JObject.Parse(text2);
bool flag = bool.Parse(jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToString());
if (flag)
{
JArray jarray = JArray.Parse(jobject["Result"]["ResponseStatus"]["SuccessEntitys"].ToString().ToString());
JArray jarray2 = new JArray();
foreach (JToken jtoken in jarray)
{
JObject jobject2 = (JObject)jtoken;
jarray2.Add(string.Concat(new string[]
{
jobject2["Number"].ToString()
}));
}
string text3 = jarray2.ToString();
string text4 = text;
text = string.Concat(new string[]
{
text4,
"\r\n生产入库成功!【",
text3,
"】WebAPI数据:{",
jsonRoot.ToString(),
"}"
});
this.writeLog(text, "生产入库");
JObject jobject3 = new JObject();
jobject3.Add("Status", "1");
jobject3.Add("LotList", returnLotList);
jobject3.Add("Msg", "ERP生产入库成功![" + text3 + "].ToString()");
result = JsonConvert.SerializeObject(jobject3);
}
else
{
string text5 = Regex.Replace(jobject["Result"]["ResponseStatus"]["Errors"].ToString().ToString(), "\r\n", "");
string text6 = string.Empty;
JArray jarray3 = JArray.Parse(text5);
string empty = string.Empty;
for (int i = 0; i < jarray3.Count; i++)
{
bool flag2 = jarray3[i]["FieldName"].ToString() != null;
if (flag2)
{
text6 += jarray3[i]["FieldName"].ToString().ToString();
}
text6 += jarray3[i]["Message"].ToString().ToString();
}
string text7 = text;
text = string.Concat(new string[]
{
text7,
"\r\n生产入库失败!\r\n错误信息:{",
text6,
"}\r\nWebAPI数据:{",
jsonRoot.ToString(),
"}\r\n"
});
this.writeLog(text, "生产入库");
JObject jobject4 = new JObject();
jobject4.Add("Status", "0");
jobject4.Add("LotList", returnLotList);
jobject4.Add("Msg", "ERP生产入库失败!错误信息:【" + text6 + "】");
result = JsonConvert.SerializeObject(jobject4);
}
}
catch (Exception ex)
{
text = text + "生产入库失败!错误异常:" + ex.ToString();
this.writeLog(text, "生产入库");
JObject jobject5 = new JObject();
jobject5.Add("Status", "0");
jobject5.Add("LotList", returnLotList.ToString());
jobject5.Add("Msg", "生产入库失败!错误异常:" + ex.ToString());
result = JsonConvert.SerializeObject(jobject5);
}
return result;
}
// Token: 0x06000015 RID: 21 RVA: 0x00009290 File Offset: 0x00007490
[WebMethod]
public void ExecuteProductInstock(string dataJson)
{
string text = "【" + DateTime.Now.ToString(this.LOG_TIME_FORMAT) + "】\r\n";
string msg = text + "MES原始数据:{" + dataJson + "}\r\n";
this.writeLog(msg, "生产入库");
JObject jobject = JObject.Parse(dataJson);
JArray jarray = new JArray();
try
{
string text2 = InvokeHelper.Login();
int num = Extensions.Value<int>(JObject.Parse(text2)["LoginResultType"]);
bool flag = num != 1 && num != -5;
if (flag)
{
text += "ERP自动登录失败!入库失败!\r\n";
this.writeLog(text, "生产入库");
JObject jobject2 = new JObject();
jobject2.Add("Status", "0");
jobject2.Add("LotList", jarray);
jobject2.Add("Msg", "金蝶第三方自动登录授权失败!入库失败!\r\n");
base.Context.Response.Write(JsonConvert.SerializeObject(jobject2));
}
else
{
string text3 = string.Concat(new string[]
{
jobject["FMesBillNo"].ToString()
});
string.Concat(new string[]
{
jobject["FMesSNo"].ToString()
});
string text4 = string.Concat(new string[]
{
jobject["FStockOrgId"].ToString()
});
string formID = "PRD_INSTOCK";
JObject jobject3 = new JObject();
jobject3.Add("Creator", "Administrator");
jobject3.Add("NeedUpDateFields", new JArray(""));
jobject3.Add("NumberSearch", true);
jobject3.Add("IsAutoSubmitAndAudit", true);
JArray jarray2 = new JArray();
jobject3.Add("Model", jarray2);
string a = "0";
int num2 = 0;
JObject jobject4 = new JObject();
JArray jarray3 = new JArray();
string text5 = "FEntity";
JArray jarray4 = JArray.Parse(jobject["entity"].ToString().ToString());
string text6 = DateTime.Now.ToString("yyyy-MM-dd");
foreach (JToken jtoken in jarray4)
{
string text7 = string.Concat(new string[]
{
jtoken["FMaterialId"].ToString().ToString()
});
string text8 = string.Concat(new string[]
{
jtoken["FStock"].ToString().ToString()
});
string text9 = string.Concat(new string[]
{
jtoken["FStockLoc"].ToString().ToString()
});
string text10 = string.Concat(new string[]
{
jtoken["FMOBillNo"].ToString().ToString()
});
string text11 = string.Concat(new string[]
{
jtoken["FMOBillSeq"].ToString().ToString()
});
string text12 = string.Concat(new string[]
{
jtoken["FMesPkId"].ToString().ToString()
});
string text13 = text6;
string text14 = string.Concat(new string[]
{
text10,
"/",
text11,
"/",
text13
});
string text15 = text10 + "_" + text11;
string sql = string.Format("/*dialect*/select mo.FID,moEn.FENTRYID,moEnQ.FNOSTOCKINQTY,moEn.FWORKSHOPID,\r\nmStock.FISBATCHMANAGE,stock.FISOPENLOCATION IsStockLoc-- ISNULL(stockLocInfo.FSTOCKLOCID,0) FSTOCKLOCID , \r\n,moEnA.FREQSRC,moEn.FSALEORDERNO,moEn.FSALEORDERENTRYSEQ,moEn.FSALEORDERID,moEn.FSALEORDERENTRYID ,moEnA.FISBACKFLUSH 是否倒冲 \r\n,moEn.F_DJD_SCX \r\nfrom T_PRD_MO mo \r\ninner join T_PRD_MOENTRY moEn on moEn.FID=mo.FID and moEn.FSEQ={1}\r\ninner join T_PRD_MOENTRY_Q moEnQ on moEnQ.FENTRYID=moEn.FENTRYID \r\ninner join T_PRD_MOENTRY_A moEnA on moEnA.FENTRYID=moEn.FENTRYID and moEnA.FSTATUS='4'\r\nleft join T_BD_MATERIAL m on m.FMATERIALID=moEn.FMATERIALID\r\nleft join t_BD_MaterialStock mStock on mStock.FMATERIALID=m.FMATERIALID \r\nleft join T_BD_STOCK stock on stock.FNUMBER='{2}'\r\n/*left join (\r\n\tselect stock.FNUMBER,stockLoc.FNUMBER LocNUM,stockLinkLoc.FSTOCKLOCID\r\n\tfrom T_BD_STOCK stock \r\n\tinner join T_BD_FlexValuesCom stockLinkLoc on stock.FSTOCKID=stockLinkLoc.FSTOCKID and stock.FNUMBER='{2}'\r\n\tinner join T_BAS_FLEXVALUESENTRY stockLoc on stockLoc.FENTRYID=stockLinkLoc.FSTOCKLOCID and stockLoc.FNUMBER='{3}'\r\n) stockLocInfo on stockLocInfo.FNUMBER='{2}'*/\r\nwhere mo.FBILLNO='{0}' ", new object[]
{
text10,
text11,
text8,
text9
});
DataSet dataSet = this.ExecuteDataSetBySql(sql);
DataTable dataTable = dataSet.Tables[0];
bool flag2 = dataTable.Rows.Count <= 0;
if (flag2)
{
string text16 = "具体为";
string sql2 = string.Format("/*dialect*/ select mo.FID,moEn.FENTRYID,moEnQ.FNOSTOCKINQTY,moEn.FWORKSHOPID,\r\nmStock.FISBATCHMANAGE--,stock.FISOPENLOCATION IsStockLoc \r\n,moEnA.FREQSRC,moEn.FSALEORDERNO,moEn.FSALEORDERENTRYSEQ,moEn.FSALEORDERID,moEn.FSALEORDERENTRYID ,moEnA.FISBACKFLUSH 是否倒冲\r\n, moEn.F_DJD_SCX ,\r\ncase \r\nmoEnA.FSTATUS when 1 then '计划' when 2 then '计划确认' when 3 then '下达' when 4 then '开工' when 5 then '完工' when 6 then '结案' when 7 then '结算' end FSTATUS\r\nfrom T_PRD_MO mo\r\ninner join T_PRD_MOENTRY moEn on moEn.FID = mo.FID and moEn.FSEQ = {1}\r\ninner join T_PRD_MOENTRY_Q moEnQ on moEnQ.FENTRYID = moEn.FENTRYID\r\ninner join T_PRD_MOENTRY_A moEnA on moEnA.FENTRYID = moEn.FENTRYID--and moEnA.FSTATUS = '4'\r\nleft join T_BD_MATERIAL m on m.FMATERIALID = moEn.FMATERIALID\r\nleft join t_BD_MaterialStock mStock on mStock.FMATERIALID = m.FMATERIALID\r\n--left join T_BD_STOCK stock on stock.FNUMBER = '{2}'\r\n/*left join (\\r\\n\\tselect stock.FNUMBER,stockLoc.FNUMBER LocNUM,stockLinkLoc.FSTOCKLOCID\\r\\n\\tfrom T_BD_STOCK stock \\r\\n\\tinner join T_BD_FlexValuesCom stockLinkLoc on stock.FSTOCKID=stockLinkLoc.FSTOCKID and stock.FNUMBER='{2}'\\r\\n\\tinner join T_BAS_FLEXVALUESENTRY stockLoc on stockLoc.FENTRYID=stockLinkLoc.FSTOCKLOCID and stockLoc.FNUMBER='{3}'\\r\\n) stockLocInfo on stockLocInfo.FNUMBER='{2}'*/\r\nwhere mo.FBILLNO = '{0}'", new object[]
{
text10,
text11,
text8,
text9
});
DataSet dataSet2 = this.ExecuteDataSetBySql(sql2);
DataTable dataTable2 = dataSet2.Tables[0];
bool flag3 = dataTable2.Rows.Count > 0;
if (flag3)
{
text16 = text16 + "状态目前是:" + dataTable2.Rows[0]["FSTATUS"].ToString();
}
else
{
text16 += "不存在此单";
}
JObject jobject5 = new JObject();
jobject5.Add("Status", "0");
jobject5.Add("LotList", new JArray());
jobject5.Add("Msg", string.Concat(new string[]
{
"ERP生产入库同步 失败:生产订单号[",
text10,
"].ToString()行号[",
text11,
"].ToString()不存在!或者状态不为开工!" + text16
}));
base.Context.Response.Write(JsonConvert.SerializeObject(jobject5));
return;
}
DataRow dataRow = dataTable.Rows[0];
string text17 = "";
string text18 = dataRow["FSaleOrderNo"].ToString().Trim();
string text19 = dataRow["FSaleOrderEntrySeq"].ToString().Trim();
sql = string.Format("select top 1 c.FNAME\r\n from T_PRD_MO a\r\nleft join T_BAS_BILLTYPE_L c on c.FBILLTYPEID = a.FBILLTYPE\r\nwhere c.FLOCALEID = 2052 and a.FBILLNO = '{0}'", text10);
DataSet dataSet3 = this.ExecuteDataSetBySql(sql);
DataTable dataTable3 = dataSet3.Tables[0];
string text20 = "";
bool flag4 = dataTable3.Rows.Count > 0;
if (flag4)
{
text20 = dataTable3.Rows[0]["FNAME"].ToString();
}
string text21 = text20;
string a2 = text21;
string text22;
if (!(a2 == "直接入库-普通生产"))
{
if (!(a2 == "直接入库-返工生产"))
{
if (!(a2 == "直接入库-改制生产"))
{
if (!(a2 == "直接入库-拆机生产"))
{
text22 = "A";
}
else
{
text22 = "D";
}
}
else
{
text22 = "B";
}
}
else
{
text22 = "C";
}
}
else
{
text22 = "A";
}
bool flag5 = text18 == "";
if (flag5)
{
text17 = text10.Substring(0, 2) + text10.Substring(text10.Length - 6, 6) + "/" + text11;
}
else
{
string text23 = text18.Substring(0, 2);
string a3 = text23;
if (!(a3 == "XS"))
{
if (a3 == "FO")
{
text17 = "FO" + text18.Substring(text18.Length - 6, 6) + "/" + text19;
}
}
else
{
text17 = "SO" + text18.Substring(text18.Length - 6, 6) + "/" + text19;
}
}
string text24 = DateTime.Now.ToString("yyMMdd");
text17 = string.Concat(new string[]
{
text17,
"/",
text22,
"/",
text24
});
sql = string.Format("select stream from flotstream where Date='{0}' and Flot='{1}' and FSO='{2}' and fsoseq='{3}'", new object[]
{
text24,
text17,
text18,
text19
});
DataSet dataSet4 = this.ExecuteDataSetBySql(sql);
DataTable dataTable4 = dataSet4.Tables[0];
bool flag6 = dataTable4.Rows.Count <= 0;
if (flag6)
{
sql = string.Format("/*dialect*/ insert into flotstream(id,Date,FSO,FSOSeq,Flot,stream)values(\r\n '{0}','{1}','{2}','{3}','{4}','{5}')", new object[]
{
Guid.NewGuid(),
text24,
text18,
text19,
text17,
2
});
this.ExecuteQuery(sql);
text17 += "01";
}
else
{
sql = string.Format("/*dialect*/ update flotstream set stream=stream+1 where Date='{0}' and Flot='{1}' and FSO='{2}' and fsoseq='{3}'", new object[]
{
text24,
text17,
text18,
text19
});
text17 += dataTable4.Rows[0]["stream"].ToString().PadLeft(2, '0');
this.ExecuteQuery(sql);
}
text14 = text17;
JObject jobject6 = new JObject();
jobject6.Add("FMesPkId", text12);
jobject6.Add("LotNum", text14);
jarray.Add(jobject6);
string text25 = string.Concat(new string[]
{
dataRow["FID"].ToString()
});
string text26 = string.Concat(new string[]
{
dataRow["FENTRYID"].ToString()
});
string text27 = string.Concat(new string[]
{
dataRow["FWORKSHOPID"].ToString()
});
string text28 = string.Concat(new string[]
{
dataRow["F_DJD_SCX"].ToString()
});
bool flag7 = string.Concat(new string[]
{
dataRow["是否倒冲"].ToString()
}) == "1";
bool flag8 = a != text15;
if (flag8)
{
a = text15;
jobject4 = new JObject();
jarray2.Add(jobject4);
jobject4.Add("FID", 0);
JObject jobject7 = new JObject();
jobject7.Add("FNumber", "SCRKD02_SYS");
jobject4.Add("FBillType", jobject7);
JObject jobject8 = new JObject();
jobject8.Add("FNumber", text4);
jobject4.Add("FStockOrgId", jobject8);
jobject4.Add("FPrdOrgId", jobject8);
jobject4.Add("FOwnerId0", jobject8);
jobject4.Add("F_MesBillNo", text3);
jarray3 = new JArray();
jobject4.Add(text5, jarray3);
num2++;
}
decimal num3 = Convert.ToDecimal(string.Concat(new string[]
{
jtoken["FRealQty"].ToString()
}));
decimal num4 = Convert.ToDecimal(string.Concat(new string[]
{
dataRow["FNOSTOCKINQTY"].ToString()
}));
JObject jobject9 = new JObject();
jarray3.Add(jobject9);
jobject9.Add("FEntryID", 0);
jobject9.Add("FSrcInterId", text25);
jobject9.Add("FSrcEntryId", text26);
jobject9.Add("FSrcEntrySeq", text11);
jobject9.Add("FSrcBillType", "PRD_MO");
jobject9.Add("FSrcBillNo", text10);
jobject9.Add("FMoBillNo", text10);
jobject9.Add("FMoEntrySeq", text11);
jobject9.Add("FMoId", text25);
jobject9.Add("FMoEntryId", text26);
jobject9.Add("FMOMAINENTRYID", text26);
jobject9.Add("FIsNew", false);
jobject9.Add("FProductType", "1");
jobject9.Add("FInStockType", "1");
jobject9.Add("FISBACKFLUSH", flag7);
jobject9.Add("FCostRate", 100);
JObject jobject10 = new JObject();
jobject10.Add("FId", "f11b462a-8733-40bd-8f29-0906afc6a201");
jobject9.Add("FBFLowId", jobject10);
JObject jobject11 = new JObject();
jobject11.Add("FNumber", text7);
jobject9.Add("FMaterialId", jobject11);
jobject9.Add("FMustQty", num4);
jobject9.Add("FRealQty", num3);
JObject jobject12 = new JObject();
jobject12.Add("FDEPTID", text27);
jobject9.Add("FWorkShopId1", jobject12);
JObject jobject13 = new JObject();
jobject13.Add("FDEPTID", text28);
jobject9.Add("F_DJD_SCX", jobject13);
JObject jobject14 = new JObject();
jobject14.Add("FNumber", text8);
jobject9.Add("FStockId", jobject14);
bool flag9 = string.Concat(new string[]
{
dataRow["IsStockLoc"].ToString()
}) == "1";
if (flag9)
{
JObject jobject15 = new JObject();
JObject jobject16 = new JObject();
jobject16.Add("FNumber", text9);
string text29 = string.Format("select c.FFLEXNUMBER from t_BD_Stock a\r\nleft join T_BD_STOCKFLEXITEM b on a.FSTOCKID=b.FSTOCKID\r\nleft join T_BAS_FLEXVALUES c on b.FFLEXID=c.FID\r\nleft join T_ORG_Organizations d on a.FUSEORGID=d.FORGID\r\n where a.FNUMBER='{0}' and d.FNUMBER='{1}' and c.FFLEXNUMBER is not null", text8, text4);
this.writeLog(text29, "生产入库");
DataSet dataSet5 = this.ExecuteDataSetBySql(text29);
DataTable dataTable5 = dataSet5.Tables[0];
bool flag10 = dataTable5.Rows.Count > 0;
if (flag10)
{
jobject15.Add("FSTOCKLOCID__" + dataTable5.Rows[0]["FFLEXNUMBER"].ToString(), jobject16);
jobject9.Add("FStockLocId", jobject15);
}
}
JObject jobject17 = new JObject();
jobject17.Add("FNumber", text14);
bool flag11 = string.Concat(new string[]
{
dataRow["FISBATCHMANAGE"].ToString()
}) == "1";
if (flag11)
{
jobject9.Add("FLot", jobject17);
}
jobject9.Add("FReqSrc", string.Concat(new string[]
{
dataRow["FREQSRC"].ToString()
}));
jobject9.Add("FReqBillNo", string.Concat(new string[]
{
dataRow["FSALEORDERNO"].ToString()
}));
jobject9.Add("FReqEntrySeq", string.Concat(new string[]
{
dataRow["FSALEORDERENTRYSEQ"].ToString()
}));
jobject9.Add("FReqBillId", string.Concat(new string[]
{
dataRow["FSALEORDERID"].ToString()
}));
jobject9.Add("FReqEntryId", string.Concat(new string[]
{
dataRow["FSALEORDERENTRYID"].ToString()
}));
sql = string.Format("select c.FNAME\r\n from T_PRD_MO a\r\nleft join T_BAS_BILLTYPE_L c on c.FBILLTYPEID = a.FBILLTYPE\r\nwhere c.FLOCALEID = 2052 and a.FBILLNO = '{0}'", text10);
dataSet3 = this.ExecuteDataSetBySql(sql);
dataTable3 = dataSet3.Tables[0];
bool flag12 = dataTable3.Rows.Count >= 0;
if (flag12)
{
jobject9.Add("F_DJD_MOBILLTYPE", dataTable3.Rows[0]["FNAME"].ToString().ToString());
}
JArray jarray5 = new JArray();
string text30 = string.Format("{0}_Link", text5);
jobject9.Add(text30, jarray5);
JObject jobject18 = new JObject();
jarray5.Add(jobject18);
string text31 = string.Format("{0}_FFlowId", text30);
jobject18.Add(text31, "f11b462a-8733-40bd-8f29-0906afc6a201");
string text32 = string.Format("{0}_FRuleId", text30);
jobject18.Add(text32, "PRD_MO2INSTOCK");
string text33 = string.Format("{0}_FSTableName", text30);
jobject18.Add(text33, "T_PRD_MOENTRY");
int num5 = Convert.ToInt32(string.Concat(new string[]
{
dataRow["FID"].ToString()
}));
int num6 = Convert.ToInt32(string.Concat(new string[]
{
dataRow["FENTRYID"].ToString()
}));
string text34 = string.Format("{0}_FSBillId", text30);
jobject18.Add(text34, num5);
string text35 = string.Format("{0}_FSId", text30);
jobject18.Add(text35, num6);
string text36 = string.Format("{0}_FBasePrdRealQtyOld", text30);
jobject18.Add(text36, num4);
string text37 = string.Format("{0}_FBasePrdRealQty", text30);
jobject18.Add(text37, num3);
}
bool flag13 = num2 > 20;
if (flag13)
{
num2 = 20;
}
jobject3.Add("BatchCount", string.Concat(num2));
string s = this.CreateMoInstock(jobject3, formID, jarray);
base.Context.Response.Write(s);
}
}
catch (Exception ex)
{
text = text + "\r\nSYS_ERROR:{" + ex.ToString() + "}]\r\n";
this.writeLog(text, "生产入库");
JObject jobject19 = new JObject();
jobject19.Add("Status", "0");
jobject19.Add("LotList", new JArray());
jobject19.Add("Msg", "ERP生产入库异常:" + ex.ToString());
base.Context.Response.Write(JsonConvert.SerializeObject(jobject19));
}
}
// Token: 0x06000017 RID: 23 RVA: 0x0000A47C File Offset: 0x0000867C
private static DataSet JsonToDataSet(string Json)
{
DataSet result;
try
{
DataSet dataSet = new DataSet();
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
object obj = javaScriptSerializer.DeserializeObject(Json);
Dictionary<string, object> dictionary = (Dictionary<string, object>)obj;
foreach (KeyValuePair<string, object> keyValuePair in dictionary)
{
DataTable dataTable = new DataTable(keyValuePair.Key);
object[] array = (object[])keyValuePair.Value;
foreach (object obj2 in array)
{
Dictionary<string, object> dictionary2 = (Dictionary<string, object>)obj2;
DataRow dataRow = dataTable.NewRow();
foreach (KeyValuePair<string, object> keyValuePair2 in dictionary2)
{
bool flag = !dataTable.Columns.Contains(keyValuePair2.Key);
if (flag)
{
dataTable.Columns.Add(keyValuePair2.Key.ToString());
dataRow[keyValuePair2.Key] = keyValuePair2.Value;
}
else
{
dataRow[keyValuePair2.Key] = keyValuePair2.Value;
}
}
dataTable.Rows.Add(dataRow);
}
dataSet.Tables.Add(dataTable);
}
result = dataSet;
}
catch
{
result = null;
}
return result;
}
// Token: 0x04000001 RID: 1
private FileStream fileStream;
// Token: 0x04000002 RID: 2
private StreamWriter sw;
// Token: 0x04000003 RID: 3
private string LOG_PATH = "e:\\Kingdee_Log\\";
// Token: 0x04000004 RID: 4
private string LOG_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss.FFF";
}
}
kingdee.k3cloud.WebService.zip(706.37KB)
本文转载自:网上找的。
作者:网上找的。
原文链接:网上找的。
推荐阅读
kingdee.k3cloud.WebSer …
- 文章
540