277 lines
12 KiB
C#
277 lines
12 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Configuration;
|
|
using System.Collections;
|
|
using System.Web;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.UI.WebControls.WebParts;
|
|
using System.Web.UI.HtmlControls;
|
|
using GThinking.N_MISPRO;
|
|
using GThinking.N_MISPRO.Data;
|
|
using GThinking.N_MODEL.Page;
|
|
using GThinking.N_WORKFLOW;
|
|
using GThinking.N_MODEL.Dialog;
|
|
using GThinking.N_PUBLIC;
|
|
using GThinking.N_MISPRO.Utility;
|
|
using GThinking.N_CONTROL;
|
|
using System.IO;
|
|
using System.Data.OleDb;
|
|
using System.Data.Common;
|
|
using GThinking.N_MISPROAS;
|
|
using System.Collections.Generic;
|
|
using GThinking.N_PUBLIC2;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
public partial class XLBJD_WBBJDXDRInfo : SingleCardBase
|
|
{
|
|
XLBJD_WBBJDNR entity = new XLBJD_WBBJDNR();
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860043;
|
|
this.UMName = "外部线缆产品导入";
|
|
base.CurMaster = Master;
|
|
base.CurEntity = entity;
|
|
//this.PageHeight = 600;
|
|
//this.PageWidth = 1000;
|
|
Master.EnableAttachBtn = false;
|
|
Master.EnableCancelBtn = false;
|
|
Master.EnableCopyBtn = false;
|
|
Master.EnableDeleteBtn = false;
|
|
Master.EnableEditBtn = false;
|
|
Master.EnableInsertBtn = false;
|
|
Master.EnablePrintBtn = false;
|
|
Master.EnableRefreshBtn = false;
|
|
Master.EnableSaveBtn = false;
|
|
Server.ScriptTimeout = 3600;
|
|
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
|
string sCPML = pzxx.XLXSBJPZ_XSCPML;
|
|
string sXSPWQD = pzxx.XLXSBJPZ_XSPWQD;
|
|
string sXSYXJ = PageParam.GetRTrimString("XSYXJ");
|
|
string sXSYZ = PageParam.GetRTrimString("XSYZ");
|
|
string sXSYSCP = PageParam.GetRTrimString("XSYSCP");
|
|
string sXSBH = PageParam.GetRTrimString("XSBH");
|
|
string sXSCPBJXJ = PageParam.GetRTrimString("XSCPBJXJ");
|
|
bool bXsGWBM = XLBJDUtils.ExistXLXSBJGWWL();
|
|
int col = 0;
|
|
string stitle = "";
|
|
stitle += "序号,";
|
|
col++;
|
|
Dictionary<string, string> dicGDLM = XLBJD_WBBJDDRList.GetGDLM();
|
|
Dictionary<string, string> dicDRLM = XLBJD_WBBJDDRList.GetDRLM(sXSYXJ, sXSYSCP, sXSYZ, sXSBH, sXSCPBJXJ, sCPML, sXSPWQD, bXsGWBM, PageParam.GetRTrimString("BJDID"));
|
|
|
|
BJFLXX bjflxx = XLBJDUtils.GetBJFLXXByBJDID(PageParam.GetRTrimString("BJDID"));
|
|
if (!string.IsNullOrEmpty(bjflxx.XLXSBJFL_JMBGSBM.Trim()))
|
|
{
|
|
dicGDLM["O"] = bjflxx.XLXSBJFL_JMBGSBM.Trim();
|
|
}
|
|
Dictionary<string, string> dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(PageParam.GetRTrimString("BJDID"));
|
|
foreach (KeyValuePair<string, string> kvp in dicYZGDLM)
|
|
dicGDLM[kvp.Key] = kvp.Value;
|
|
|
|
foreach (string stDRLM in dicDRLM.Keys)
|
|
{
|
|
stitle += dicGDLM[stDRLM] + ",";
|
|
col++;
|
|
}
|
|
stitle.TrimEnd(',');
|
|
txtCols.Value = col.ToString();
|
|
txtTitle.Value = stitle;
|
|
base.InitPage();
|
|
}
|
|
|
|
#region 控件事件
|
|
|
|
protected void btnQD_Click(object sender, EventArgs e)
|
|
{
|
|
DataTable dt = ConvertJsonToDataTable(txttabledata.Value);
|
|
int Rcount = CMISproConvert.StrToInt(GetOption(100860043, "BJU069"));
|
|
//int col = dt.Columns.Count;
|
|
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
|
string sCPML = pzxx.XLXSBJPZ_XSCPML;
|
|
string sXSPWQD = pzxx.XLXSBJPZ_XSPWQD;
|
|
string sBJDID = PageParam.GetRTrimString("BJDID");
|
|
string sXSYXJ = PageParam.GetRTrimString("XSYXJ");
|
|
string sXSYZ = PageParam.GetRTrimString("XSYZ");
|
|
string sXSYSCP = PageParam.GetRTrimString("XSYSCP");
|
|
string sXSBH = PageParam.GetRTrimString("XSBH");
|
|
string sXSCPBJXJ = PageParam.GetRTrimString("XSCPBJXJ");
|
|
bool bXsGWBM = XLBJDUtils.ExistXLXSBJGWWL();
|
|
string sHTBH = PageParam.GetRTrimString("HTBH");
|
|
int cols = dt.Columns.Count;
|
|
if (sBJDID.Equals(""))
|
|
{
|
|
sBJDID = " ";
|
|
}
|
|
int LastRows = 0;
|
|
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
for (int j = 0; j < dt.Columns.Count; j++)
|
|
{
|
|
if (!dt.Rows[i][j].ToString().Trim().Equals(""))
|
|
{
|
|
LastRows = i+1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
bool Success = false;
|
|
string sWBBJDID = "";
|
|
double pCount = 0;
|
|
string sDateTime = PageParam.GetRTrimString("txtTimeSpan").Split('|')[1];
|
|
string sWBBJDIDList = "";
|
|
int iZFS = 1;
|
|
Dictionary<string, string> dicDRLM = XLBJD_WBBJDDRList.GetDRLM(sXSYXJ, sXSYSCP, sXSYZ, sXSBH, sXSCPBJXJ, sCPML, sXSPWQD, bXsGWBM, sBJDID);
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sSQL = new TSQL(dberp);
|
|
try
|
|
{
|
|
dberp.BeginTrans();
|
|
sSQL.Clear();
|
|
sSQL.Add("insert into XLWBBJDNR(");
|
|
sSQL.Add(" XLWBBJDNR_BJDID, XLWBBJDNR_WBBJDID, XLWBBJDNR_DRHH, ");
|
|
sSQL.Add(" XLWBBJDNR_LMNR01, XLWBBJDNR_LMNR02, XLWBBJDNR_LMNR03, XLWBBJDNR_LMNR04, XLWBBJDNR_LMNR05, XLWBBJDNR_LMNR06,");
|
|
sSQL.Add(" XLWBBJDNR_LMNR07, XLWBBJDNR_LMNR08, XLWBBJDNR_LMNR09,XLWBBJDNR_LMNR10,XLWBBJDNR_LMNR11,XLWBBJDNR_LMNR12,XLWBBJDNR_LMNR13,XLWBBJDNR_LMNR14,XLWBBJDNR_LMNR15,XLWBBJDNR_LMNR16,XLWBBJDNR_LMNR17,XLWBBJDNR_LMNR18,");
|
|
sSQL.Add(" XLWBBJDNR_LMNR19,XLWBBJDNR_LMNR20,XLWBBJDNR_LMNR21,XLWBBJDNR_LMNR22,XLWBBJDNR_LMNR23,XLWBBJDNR_LMNR24,XLWBBJDNR_LMNR25)");
|
|
sSQL.Add("values (:XLWBBJDNR_BJDID, :XLWBBJDNR_WBBJDID, :XLWBBJDNR_DRHH, ");
|
|
sSQL.Add(" isnull(:XLWBBJDNR_LMNR01,' '), isnull(:XLWBBJDNR_LMNR02,' '), isnull(:XLWBBJDNR_LMNR03,' '), isnull(:XLWBBJDNR_LMNR04,' '), isnull(:XLWBBJDNR_LMNR05,' '), isnull(:XLWBBJDNR_LMNR06,' '),");
|
|
sSQL.Add(" isnull(:XLWBBJDNR_LMNR07,' '), isnull(:XLWBBJDNR_LMNR08,' '), isnull(:XLWBBJDNR_LMNR09,' '), isnull(:XLWBBJDNR_LMNR10,' '), isnull(:XLWBBJDNR_LMNR11,' '), isnull(:XLWBBJDNR_LMNR12,' '),");
|
|
sSQL.Add(" isnull(:XLWBBJDNR_LMNR13,' '), isnull(:XLWBBJDNR_LMNR14,' '), isnull(:XLWBBJDNR_LMNR15,' '), isnull(:XLWBBJDNR_LMNR16,' '), isnull(:XLWBBJDNR_LMNR17,' '), isnull(:XLWBBJDNR_LMNR18,' '),");
|
|
sSQL.Add(" isnull(:XLWBBJDNR_LMNR19,' '), isnull(:XLWBBJDNR_LMNR20,' '), isnull(:XLWBBJDNR_LMNR21,' '), isnull(:XLWBBJDNR_LMNR22,' '), isnull(:XLWBBJDNR_LMNR23,' '), isnull(:XLWBBJDNR_LMNR24,' '),");
|
|
sSQL.Add(" isnull(:XLWBBJDNR_LMNR25,' '))");
|
|
for (int i = 0; i < LastRows; i++)
|
|
{
|
|
if (i == Rcount * iZFS)
|
|
{
|
|
iZFS++;
|
|
sWBBJDID = XLWBBJDUtils.GetNewWBBJDID();
|
|
sWBBJDIDList += "," + sWBBJDID;
|
|
XLBJD_WBBJDDRList.InsertWBBJDML(sBJDID, sWBBJDID, sHTBH, sDateTime, tSession);
|
|
}
|
|
if (!Success)
|
|
{
|
|
sWBBJDID = XLWBBJDUtils.GetNewWBBJDID();
|
|
sWBBJDIDList += "," + sWBBJDID;
|
|
XLBJD_WBBJDDRList.InsertWBBJDML(sBJDID, sWBBJDID, sHTBH, sDateTime, tSession);
|
|
}
|
|
sSQL.ParamByName("XLWBBJDNR_BJDID").Value = sBJDID;
|
|
sSQL.ParamByName("XLWBBJDNR_WBBJDID").Value = sWBBJDID;
|
|
sSQL.ParamByName("XLWBBJDNR_DRHH").Value = (i + 1).ToString();
|
|
int iLM = 1;
|
|
foreach (string sKey in dicDRLM.Keys)
|
|
{
|
|
if (sKey.Equals("5") || sKey.Equals("6") || sKey.Equals("B") || sKey.Equals("G") || sKey.Equals("H") || sKey.Equals("P") || XLWBBJDUtils.IsWBBJDYZZLM(sKey))
|
|
sSQL.ParamByName("XLWBBJDNR_LMNR" + iLM.ToString().PadLeft(2, '0')).Value = CMISproConvert.StrToFloat(dt.Rows[i][iLM - 1].ToString().Trim()).ToString().Trim();
|
|
else
|
|
sSQL.ParamByName("XLWBBJDNR_LMNR" + iLM.ToString().PadLeft(2, '0')).Value = dt.Rows[i][iLM - 1].ToString().Trim().Equals("") ? " " : dt.Rows[i][iLM - 1].ToString().Trim();
|
|
iLM++;
|
|
}
|
|
if (iLM < 26)
|
|
{
|
|
for (; iLM < 26; iLM++)
|
|
{
|
|
sSQL.ParamByName("XLWBBJDNR_LMNR" + iLM.ToString().PadLeft(2, '0')).Value = " ";
|
|
}
|
|
}
|
|
dberp.ExecSQL(sSQL);
|
|
pCount++;
|
|
Success = true;
|
|
}
|
|
if (Success)
|
|
{
|
|
string[] sWBBJDID_list = sWBBJDIDList.TrimStart(',').Split(',');
|
|
int iMLFZH = CMISproDataBase.GetMaxXH("DBERP", "XLWBBJDML", "XLWBBJDML_MLFZH", "") + 1;
|
|
for (int i = 0; i < sWBBJDID_list.Length; i++)
|
|
//插入默认数据
|
|
XLBJD_WBBJDDRList.ComplementXLWBBJDML(sWBBJDID_list[i], sBJDID, sDateTime, pCount.ToString().Trim(), i + 1, iZFS, iMLFZH, sXSYXJ, sXSYZ, sXSYSCP, sXSBH, sXSCPBJXJ, "Y", tSession);
|
|
//处理规格列
|
|
//XLBJD_WBBJDNRList.ConvertWBBJDMX_XLBZID(dberp, sSQL, sWBBJDID, sBJDID, sDateTime, tSession.UserId, XLBJDUtils.GetDefaultXLBZID());
|
|
}
|
|
dberp.CommitTrans();
|
|
DialogOperationScript dos = new DialogOperationScript(this);
|
|
//dos.SetOwnerControlValue(PageParam.GetRTrimString("txtOpen"), "CLOSE");
|
|
dos.CloseSelf();
|
|
dos.Execute();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Success = false;
|
|
dberp.RollbackTrans();
|
|
ShowMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
protected void btnQX_Click(object sender, EventArgs e)
|
|
{
|
|
CloseWindow();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 自定义事件
|
|
|
|
public DataTable ConvertJsonToDataTable(string jsonData)
|
|
{
|
|
DataTable dataTable = new DataTable();
|
|
|
|
// 将JSON数据转换为JArray
|
|
JArray jsonArray = JArray.Parse(jsonData);
|
|
int index2 = 0;
|
|
// 创建表的列
|
|
if (jsonArray.Count > 0)
|
|
{
|
|
foreach (JToken token in jsonArray[0])
|
|
{
|
|
//第一列是标题,所以去掉
|
|
if (index2 > 0)
|
|
{
|
|
// 获取所有子元素
|
|
foreach (JToken child in token.Children())
|
|
{
|
|
dataTable.Columns.Add(child.ToString(), typeof(string));
|
|
break;
|
|
}
|
|
}
|
|
index2++;
|
|
}
|
|
}
|
|
|
|
int index = 0;
|
|
|
|
// 将JSON数据填充到DataTable中
|
|
foreach (JObject jsonObject in jsonArray)
|
|
{
|
|
//第一行是标题,所以去掉
|
|
if (index > 0)
|
|
{
|
|
index2 = 0;
|
|
DataRow row = dataTable.NewRow();
|
|
foreach (JProperty property in jsonObject.Properties())
|
|
{
|
|
//第一列是标题,所以去掉
|
|
if (index2 > 0)
|
|
{
|
|
row[property.Name] = property.Value.ToString();
|
|
}
|
|
index2++;
|
|
}
|
|
dataTable.Rows.Add(row);
|
|
}
|
|
|
|
index++;
|
|
}
|
|
|
|
return dataTable;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|