2026821
This commit is contained in:
@@ -0,0 +1,576 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user