kingdee.k3cloud.WebService
金蝶云社区-icp
icp
0人赞赏了该文章 541次浏览 未经作者许可,禁止转载编辑于2021年09月26日 08:53:09
封面

using System;

2.png


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";

}

}


本文转载自:网上找的。

作者:网上找的。

原文链接:网上找的。

赞 0