Files
N_XLXSBJ----MX/XLBJD_DR.aspx.cs
T
2026-08-21 17:03:02 +08:00

577 lines
27 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
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;
namespace GThinking.N_XLXSBJ
{
public partial class XLBJD_DR : SingleCardBase
{
XLBJD_DREntity entity = new XLBJD_DREntity();
Dictionary<string, string> ColumnNames = new Dictionary<string, string>();
Dictionary<string, string> dicXLBZ = new Dictionary<string, string>();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860000;
this.UMName = "线缆销售报价单";
base.CurMaster = Master;
base.CurEntity = entity;
this.PageHeight = 180;
this.PageWidth = 420;
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;
fupdPost.FileSaveType = gtAsyncFileUpload.DFileSaveType.SaveToPath;
if (AppRuntime.BitType == AppBitType.Bit32)
fupdPost.Filter = "XLS";
else // AppBitType.Bit64
fupdPost.Filter = "XLS,XLSX";
if (!IsPostBack)
{
SetlblText(PageParam.GetRTrimString("PZXH"));
}
base.InitPage();
}
#region 控件事件
protected void btnQD_Click(object sender, EventArgs e)
{
if (fupdPost.FilePath.Equals(""))
{
ShowMessage("请选择需要导入的文件!");
return;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
try
{
lblTitle.Text = "正在导入数据,请稍后...";
dberp.BeginTrans();
DataSet aDataExcel = new DataSet();
if (AppRuntime.BitType == AppBitType.Bit32)
aDataExcel = XLBJDUtils.ReadFromExcelFile(fupdPost.FilePath, 0, "");
else // AppBitType.Bit64
ReadWJ(fupdPost.FilePath, ref aDataExcel);
ExcelColumnValid(PageParam.GetRTrimString("PZXH"), aDataExcel);
InsertMX(dberp, sSQL, aDataExcel);
dberp.CommitTrans();
ShowMessage("导入成功!");
CloseWindow();
}
catch (Exception ex)
{
lblTitle.Text = "";
dberp.RollbackTrans();
ShowMessage(ex.Message);
}
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
#endregion
#region 自定义事件
private void InsertMX(TDatabase dberp, TSQL sSQL, DataSet ds)
{
int iXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002"));
if (iXSWS < 0)
iXSWS = 0;
else if (iXSWS > 8)
iXSWS = 8;
//获取所有标准信息
GetALLXLBZ(dberp, sSQL);
string sErrorNum = "";
int iStartXH = 0;
//参数默认的标准
string sDefaultXLBZID = XLBJDUtils.GetDefaultXLBZID();
sDefaultXLBZID = string.IsNullOrEmpty(sDefaultXLBZID) ? "G" : sDefaultXLBZID;
string sBJU003 = GetOption("BJU003");
string sBJLY = PageParam.GetRTrimString("BJLY");
string sBJFLID = PageParam.GetRTrimString("BJFLID");
string sJGBID = PageParam.GetRTrimString("JGBID");
string sBJDHQLY = PageParam.GetRTrimString("BJDHQLY");
string sBJRQ = PageParam.GetRTrimString("BJRQ");
string sCPBJMRXSWS = PageParam.GetRTrimString("CPBJMRXSWS");
//A|× B|*
string sXLJGU007 = GetOption(102579000, "XLJGU007");
bool bNeedUp = false;
double sCPBJ = 0.0;
bool NeedupdCPBJ = ColumnNames.ContainsKey("8");//是否需要用导入文件中的报价更新计算出来的报价
bool NeedupdBJJE = ColumnNames.ContainsKey("9");//是否需要用导入文件中的报价金额更新计算出来的报价金额
Dictionary<int, double> dicUpdBJJE = new Dictionary<int, double>();
foreach (DataRow Row in ds.Tables[0].Rows)
{
string sXLXHID = "";
string sXLGGID = "";
string sXLBZID = "";
string sDYDJID = "";
string sBZ = "";
if (ColumnNames.ContainsKey("1"))
sXLXHID = sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["1"]));
if (ColumnNames.ContainsKey("2"))
sXLGGID = sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["2"]));
if (ColumnNames.ContainsKey("3"))
sDYDJID = sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["3"])).Replace('K', 'k').Replace('v', 'V');
if (ColumnNames.ContainsKey("4"))
{
string sTMP = sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["4"]));
sXLBZID = XLBJDUtils.GetBZXLZBZID(sTMP, sDefaultXLBZID, dicXLBZ);
}
if (ColumnNames.ContainsKey("10"))//10|型号-规格
{
//根据 型号-规格 解析出型号、规格
ReadCPXX_10(sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["10"])), ref sXLXHID, ref sXLGGID);
}
//根据 【11|型号-电压等级 规格】 解析出型号、规格、电压等级
//取最新的值
if (ColumnNames.ContainsKey("11"))//11|型号-电压等级 规格
{
ReadCPXX_11(sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["11"])), ref sXLXHID, ref sXLGGID, ref sDYDJID);
}
if (ColumnNames.ContainsKey("12"))
{
sBZ = sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["12"]));
sBZ = XLBJDUtils.SubStringFunc(sBZ, 250);
}
//规格处理
if (sXLJGU007.Equals("A"))
{
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
}
else if (sXLJGU007.Equals("B"))
{
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
}
if (sXLXHID.Equals("") || sXLGGID.Equals(""))
continue;
XLBJDUtils.ExistCLQD(ref sXLXHID, ref sXLGGID, ref sXLBZID, ref sDYDJID);
int iXH = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XH", "XLXSBJDMX_BJDID='" + PageParam.GetRTrimString("BJDID") + "'") + 1;
int iXSSX = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XSSX", "XLXSBJDMX_BJDID = '" + PageParam.GetRTrimString("BJDID") + "'") + 1;
if (iStartXH == 0)
{
iStartXH = iXH;
}
string sJLDW = ColumnNames.ContainsKey("6") ? sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["6"])) : "";
if (sJLDW.Equals(""))
{
sJLDW = sBJU003;
}
else if (sJLDW.ToUpper().Equals("KM"))
{
sJLDW = "Km";
}
else if (sJLDW.ToUpper().Equals("M"))
{
sJLDW = "M";
}
//如果报价数量不合法或小于0,则按0导入
double fBJSL = 1;//报价数量没有,默认为1
if (ColumnNames.ContainsKey("7"))
fBJSL = CMISproConvert.StrToFloat(sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["7"])), 0);
if (NeedupdCPBJ)
{
sCPBJ = CMISproConvert.StrToFloat(sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["8"])), 0);
}
if (NeedupdBJJE)
{
dicUpdBJJE.Add(iXH, NumberUtils.RoundX(CMISproConvert.StrToFloat(sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["9"])), 0), 2));
}
sSQL.Clear();
sSQL.Add(" insert into XLXSBJDMX( ");
sSQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XH, XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID, ");
sSQL.Add(" XLXSBJDMX_XLBZID, XLXSBJDMX_DYDJID, XLXSBJDMX_XLYSID, XLXSBJDMX_BJCP,XLXSBJDMX_WGCPBZ, ");
sSQL.Add(" XLXSBJDMX_JLDW, XLXSBJDMX_BJSL, XLXSBJDMX_JGBBJ, XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ, XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,XLXSBJDMX_BJJE, XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_CLZL, ");
sSQL.Add(" XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_BZ, XLXSBJDMX_DZSC,XLXSBJDMX_WHRID, XLXSBJDMX_WHR, XLXSBJDMX_WHSJ,XLXSBJDMX_BJSDBZ,XLXSBJDMX_BJCPSD)");
sSQL.Add(" values(");
sSQL.Add(" :XLXSBJDMX_BJDID, :XLXSBJDMX_XH, :XLXSBJDMX_XSSX, :XLXSBJDMX_XLXHID, :XLXSBJDMX_XLGGID,:XLXSBJDMX_XDXLXHID,:XLXSBJDMX_XDXLBZID, ");
sSQL.Add(" :XLXSBJDMX_XLBZID, isnull(:XLXSBJDMX_DYDJID,' '), :XLXSBJDMX_XLYSID, :XLXSBJDMX_BJCP,:XLXSBJDMX_WGCPBZ, ");
sSQL.Add(" :XLXSBJDMX_JLDW, :XLXSBJDMX_BJSL, :XLXSBJDMX_JGBBJ, :XLXSBJDMX_TZQCPBJ,:XLXSBJDMX_TZCPBJ,:XLXSBJDMX_CPBJ, :XLXSBJDMX_TZQBJJE,:XLXSBJDMX_TZBJJE,:XLXSBJDMX_BJJE, :XLXSBJDMX_JGBJJ,:XLXSBJDMX_CLCB,:XLXSBJDMX_JGBBJJCL,:XLXSBJDMX_JGBBJJCE,:XLXSBJDMX_CLZL, ");
sSQL.Add(" :XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_CLCBJCL,:XLXSBJDMX_JGBBJLJJCL,:XLXSBJDMX_BZ, :XLXSBJDMX_DZSC,:XLXSBJDMX_WHRID, :XLXSBJDMX_WHR, :XLXSBJDMX_WHSJ,:XLXSBJDMX_BJSDBZ,:XLXSBJDMX_BJCPSD)");
sSQL.ParamByName("XLXSBJDMX_BJDID").Value = PageParam.GetRTrimString("BJDID");
sSQL.ParamByName("XLXSBJDMX_XH").Value = iXH;
sSQL.ParamByName("XLXSBJDMX_XSSX").Value = iXSSX;
sSQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID;
sSQL.ParamByName("XLXSBJDMX_XLBZID").Value = sXLBZID;
sSQL.ParamByName("XLXSBJDMX_DYDJID").Value = sDYDJID;
sSQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = sXLBZID;
sSQL.ParamByName("XLXSBJDMX_XLYSID").Value = ColumnNames.ContainsKey("5") ? XLBJDInfo.GetYSID(sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["5"]))) : XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID);
string sBJCP = "";
if (ColumnNames.ContainsKey("10"))//10|型号-规格
{
sBJCP = sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["10"]));
}
else if (ColumnNames.ContainsKey("11"))//11|型号-电压等级 规格
{
sBJCP = sGetCellTest(Row, CMISproConvert.StrToInt(ColumnNames["11"]));
}
if (!sBJCP.Equals(""))
{
sSQL.ParamByName("XLXSBJDMX_BJCPSD").Value = "Y";
}
else
{
sSQL.ParamByName("XLXSBJDMX_BJCPSD").Value = "N";
}
if (sBJCP.Equals(""))
{
sBJCP = XLBJDUtils.GroupBJCPXX(sXLXHID, sXLGGID, sDYDJID);
}
sSQL.ParamByName("XLXSBJDMX_BJCP").Value = sBJCP;
sSQL.ParamByName("XLXSBJDMX_JLDW").Value = sJLDW;
sSQL.ParamByName("XLXSBJDMX_BJSL").Value = fBJSL;
sSQL.ParamByName("XLXSBJDMX_JGBBJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_TZQCPBJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_TZCPBJ").Value = 0;
if (sCPBJ != 0)
{
sSQL.ParamByName("XLXSBJDMX_CPBJ").Value = sCPBJ;
sSQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "Y";
}
else
{
sSQL.ParamByName("XLXSBJDMX_CPBJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "N";
}
sSQL.ParamByName("XLXSBJDMX_JGBJJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_CLCB").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_CLZL").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_BJJE").Value = NumberUtils.RoundX(fBJSL * CMISproConvert.StrToFloat(sSQL.ParamByName("XLXSBJDMX_CPBJ").Value.ToString(), 0), 2);
sSQL.ParamByName("XLXSBJDMX_TZQBJJE").Value = sSQL.ParamByName("XLXSBJDMX_BJJE").Value;
sSQL.ParamByName("XLXSBJDMX_TZBJJE").Value = 0;
sSQL.ParamByName("XLXSBJDMX_JGBBJJCE").Value = 0;
sSQL.ParamByName("XLXSBJDMX_JGBBJJCL").Value = 0;
sSQL.ParamByName("XLXSBJDMX_CLCBJCL").Value = 0;
sSQL.ParamByName("XLXSBJDMX_JGBBJLJJCL").Value = 0;
sSQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = "N";
sSQL.ParamByName("XLXSBJDMX_BZ").Value = sBZ;
if (XLBJDUtils.ISDZBZ(sXLBZID))
{
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "Y";
}
else
{
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "N";
}
sSQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSBJDMX_WHSJ").Value = CMISproConvert.ConvertTime(DateTime.Now);
dberp.ExecSQL(sSQL);
bNeedUp = true;
}
XLBJDUtils.UpdateXDXLBZID(dberp, sSQL, PageParam.GetRTrimString("BJDID"), "", iStartXH - 1, ref sErrorNum);
XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLXSBJDMX_Batch(dberp, tSession, PageParam.GetRTrimString("BJDID"), "", iStartXH - 1);
if (bNeedUp)
{
XLBJDCalcUtils.CalcBJDMXAfterIns(dberp, sSQL, PageParam.GetRTrimString("BJDID"), iStartXH, GetOption("BJU002"), sBJU003,GetOption("BJU018"), tSession.UserId, tSession.UserName, ref sErrorNum);
//用导入文件中的调整后报价金额更新计算出来的调整后报价金额
foreach (int iKey in dicUpdBJJE.Keys)
{
string sJCLLX = PageParam.GetRTrimString("JCLLX");
string sLJJCLLX = PageParam.GetRTrimString("LJJCLLX");
string sqlBJJE = "RoundFix(:pUpdBJJE,2)";
sSQL.Clear();
sSQL.Add("update XLXSBJDMX set ");
sSQL.Add("XLXSBJDMX_BJJE=" + sqlBJJE + ",");
sSQL.Add("XLXSBJDMX_TZBJJE=" + sqlBJJE + "-XLXSBJDMX_TZQBJJE,");
if (sJCLLX.Equals("1"))//表价价差率公式
{
sSQL.Add("XLXSBJDMX_JGBBJJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end,");
sSQL.Add("XLXSBJDMX_JGBBJJCE =RoundFix(" + sqlBJJE + "-RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)," + iXSWS + "), ");
}
else if (sJCLLX.Equals("2"))
{
sSQL.Add("XLXSBJDMX_JGBBJJCL =case when XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL=0.0 then 0.0 else RoundFix(100*(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL-" + sqlBJJE + ")/(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL),2) end,");
sSQL.Add("XLXSBJDMX_JGBBJJCE =RoundFix(RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)-" + sqlBJJE + "," + iXSWS + "), ");
}
else if (sJCLLX.Equals("3"))
{
sSQL.Add("XLXSBJDMX_JGBBJJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end,");
sSQL.Add("XLXSBJDMX_JGBBJJCE =0, ");
}
else if (sJCLLX.Equals("4"))
{
sSQL.Add("XLXSBJDMX_JGBBJJCL =case when XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + " - XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL)/(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL),2) end,");
sSQL.Add("XLXSBJDMX_JGBBJJCE =RoundFix(" + sqlBJJE + " - RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)," + iXSWS + "), ");
}
else
{
sSQL.Add("XLXSBJDMX_JGBBJJCL=0,");
sSQL.Add("XLXSBJDMX_JGBBJJCE=0,");
}
if (sLJJCLLX.Equals("1"))//料价价差率公式
{
sSQL.Add("XLXSBJDMX_CLCBJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-XLXSBJDMX_CLCB*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end");
}
else if (sLJJCLLX.Equals("2"))
{
sSQL.Add("XLXSBJDMX_CLCBJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end");
}
else if (sLJJCLLX.Equals("3"))
{
sSQL.Add("XLXSBJDMX_CLCBJCL =case when XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL)/(XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL),2) end");
}
else if (sLJJCLLX.Equals("4"))
{
sSQL.Add("XLXSBJDMX_CLCBJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end");
}
else
{
sSQL.Add("XLXSBJDMX_CLCBJCL=0");
}
sSQL.Add(" where XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XH=:pXH");
sSQL.ParamByName("pUpdBJJE").Value = NumberUtils.RoundX(dicUpdBJJE[iKey], 2);
sSQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID");
sSQL.ParamByName("pXH").Value = iKey;
dberp.ExecSQL(sSQL);
}
}
}
private void ExcelColumnValid(string sPZXH, DataSet ds)
{
ColumnNames.Clear();
TDatabase dberpPZ = TContextDatabases.GetDatabase("DBERP");
TSQL sqlPZ = new TSQL(dberpPZ);
DataSet dsPZ = null;
Dictionary<string, string> aryBJLM = new Dictionary<string, string>();
aryBJLM.Add("1", "型号");
aryBJLM.Add("2", "规格");
aryBJLM.Add("3", "电压等级");
aryBJLM.Add("4", "标准");
aryBJLM.Add("5", "颜色");
aryBJLM.Add("6", "计量单位");
aryBJLM.Add("7", "报价数量");
aryBJLM.Add("8", "报价");
aryBJLM.Add("9", "调整后报价金额");
aryBJLM.Add("10", "型号-规格");
aryBJLM.Add("11", "型号-电压等级 规格");
aryBJLM.Add("12", "备注");
foreach (string sBJLM in aryBJLM.Keys)
{
string sBJLMMC = aryBJLM[sBJLM].Trim();
dsPZ = null;
sqlPZ.Clear();
sqlPZ.Add("select XLXSBJDDR_EXCELLM from XLXSBJDDR where XLXSBJDDR_PZXH=:pPZXH and XLXSBJDDR_BJLM=:pBJLM order by XLXSBJDDR_EXCELLM ");
sqlPZ.ParamByName("pPZXH").Value = sPZXH;
sqlPZ.ParamByName("pBJLM").Value = sBJLM;
dsPZ = dberpPZ.OpenDataSet(sqlPZ);
if (dsPZ.Tables[0].Rows.Count > 0)
{
//cs/只会查出一条记录?
for (int i = 0; i < dsPZ.Tables[0].Rows.Count; i++)
{
if (!ColumnNames.ContainsKey(sBJLM))
{
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
if (ds.Tables[0].Columns[j].ColumnName.Trim().Equals(dsPZ.Tables[0].Rows[i]["XLXSBJDDR_EXCELLM"].ToString().Trim()))
{
ColumnNames.Add(sBJLM, j.ToString().Trim());
break;
}
}
}
}
}
else
{
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
if (ds.Tables[0].Columns[j].ColumnName.Trim().Equals(sBJLMMC))
{
ColumnNames.Add(sBJLM, j.ToString().Trim());
break;
}
}
}
}
//10|型号-规格----11|型号-电压等级 规格
if (!ColumnNames.ContainsKey("1") && !ColumnNames.ContainsKey("10") && !ColumnNames.ContainsKey("11"))
{
throw new Exception("导入文件中没有指定‘型号’列,可通过‘配置格式’按钮设置!");
}
if (!ColumnNames.ContainsKey("2") && !ColumnNames.ContainsKey("10") && !ColumnNames.ContainsKey("11"))
{
throw new Exception("导入文件中没有指定‘规格’列,可通过‘配置格式’按钮设置!");
}
//if (!ColumnNames.ContainsKey("3"))
//{
// throw new Exception("导入文件中没有指定‘电压等级’列,可通过‘配置格式’按钮设置!");
//}
//if (!ColumnNames.ContainsKey("4"))
//{
// throw new Exception("导入文件中没有指定‘标准’列,可通过‘配置格式’按钮设置!");
//}
//if (!ColumnNames.ContainsKey("7"))
//{
// throw new Exception("导入文件中没有指定‘报价数量’列,可通过‘配置格式’按钮设置!");
//}
}
private void ReadWJ(string sPath, ref DataSet aDataExcel)
{
string sMessage = "";
aDataExcel = TExcelData.ReadExcel(sPath.Trim(), "", "", false, ref sMessage);
if(!sMessage.Trim().Equals(""))
{
throw new Exception(sMessage);
}
}
private string sGetCellTest(DataRow Row, int ColumnIndex)
{
return Row[ColumnIndex].ToString().Trim().Replace("\r\n", "").Replace("\n", "");
}
private void SetlblText(string sPZXH)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add("select XLXSBJDDR_EXCELLM,XLXSBJDDR_BJLM from XLXSBJDDR where XLXSBJDDR_PZXH=:pPZXH order by XLXSBJDDR_BJLM");
sql.ParamByName("pPZXH").Value = sPZXH;
DataSet ds = dberp.OpenDataSet(sql);
string sLMSM = "无";
if (ds.Tables[0].Rows.Count > 0)
{
sLMSM = "";
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sBJLMMC = GetBJLMMC(ds.Tables[0].Rows[i]["XLXSBJDDR_BJLM"].ToString().Trim());
if (sLMSM.Trim().Equals(""))
{
sLMSM = ds.Tables[0].Rows[i]["XLXSBJDDR_EXCELLM"].ToString().Trim() + "|" + sBJLMMC;
}
else
{
sLMSM = sLMSM + "、" + ds.Tables[0].Rows[i]["XLXSBJDDR_EXCELLM"].ToString().Trim() + "|" + sBJLMMC;
}
}
}
lblLMSM.Text = sLMSM;
}
private string GetBJLMMC(string sBJLM)
{
switch (sBJLM)
{
case "1": return "型号";
case "2": return "规格";
case "3": return "电压等级";
case "4": return "标准";
case "5": return "颜色";
case "6": return "计量单位";
case "7": return "报价数量";
case "8": return "报价";
case "9": return "调整后报价金额";
case "10": return "型号-规格";
case "11": return "型号-电压等级 规格";
case "12": return "备注";
default: return "";
}
}
//根据 型号-规格 解析出型号、规格
private void ReadCPXX_10(string sCPXX, ref string sXLXHID, ref string sXLGGID)
{
if (sCPXX.Contains("-"))
{
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf('-'));
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf('-') + 1, sCPXX.Length - sCPXX.LastIndexOf('-') - 1);
}
}
//根据 【11|型号-电压等级 规格】 解析出型号、规格、电压等级
private void ReadCPXX_11(string sCPXX, ref string sXLXHID, ref string sXLGGID, ref string sDYDJID)
{
if (sCPXX.Contains("-") && sCPXX.Contains(" "))
{
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf('-'));
sDYDJID = sCPXX.Substring(sCPXX.LastIndexOf('-') + 1, sCPXX.LastIndexOf(' ') -sCPXX.LastIndexOf('-') - 1).Replace('K', 'k').Replace('v', 'V');
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf(' ') + 1, sCPXX.Length - sCPXX.LastIndexOf(' ') - 1);
}
}
//先获取所有的标准
private void GetALLXLBZ(TDatabase dberp, TSQL sSQL)
{
dicXLBZ.Clear();
sSQL.Clear();
sSQL.Add("select XLBZ_XLBZID,XLBZ_XLBZLXMC from XLBZ where 1 = 1 ");
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dicXLBZ.Add(ds.Tables[0].Rows[i]["XLBZ_XLBZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLBZ_XLBZLXMC"].ToString().Trim());
}
}
}
#endregion
}
}