This commit is contained in:
2026-08-21 17:03:02 +08:00
commit f065129b20
2292 changed files with 666241 additions and 0 deletions
+697
View File
@@ -0,0 +1,697 @@
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_MODEL.Page;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using System.Collections.Generic;
using GThinking.N_CONTROL;
using GThinking.N_MISPROAS;
namespace GThinking.N_XLXSBJ
{
public partial class TZYZJJ4_DRInfo : SingleCardBase
{
TZYZJJ4_DR entity = new TZYZJJ4_DR();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860047;
this.UMName = "按型号电压芯线结构主芯截面范围调表价";
base.CurMaster = Master;
base.CurEntity = entity;
this.PageHeight = 210;
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;
fupdPost.Filter = "XLS,XLSX";
if (PageParam.GetRTrimString("DRFS").Equals("DRWJ"))
this.Page.Title = "按主芯截面范围导入";
else if (PageParam.GetRTrimString("DRFS").Equals("LMDR"))
this.Page.Title = "按主芯截面栏目导入";
else
this.Page.Title = "按主芯截面范围栏目导入";
base.InitPage();
if (!IsPostBack)
{
if (PageParam.GetRTrimString("DRFS").Equals("DRWJ"))
GtLabel1.Text = "Excel栏目依次为:型号、电压等级、芯线结构、主芯截面始、<br />主芯截面止、调价因子";
else if (PageParam.GetRTrimString("DRFS").Equals("LMDR"))
GtLabel1.Text = "Excel栏目依次为:型号、电压等级、芯线结构、主芯截面栏目1、<br />主芯截面栏目2、……";
else
GtLabel1.Text = "Excel栏目依次为:型号、电压等级、芯线结构、主芯截面范围栏目1、<br />主芯截面范围栏目2、……";
txtJGBID.Value = PageParam.GetRTrimString("JGBID");
chkIns.Value = "Y";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC, XLXSTZYZ_JJFS ");
SQL.Add(" from XLXSTZYZ");
SQL.Add(" where XLXSTZYZ_MXBH = 'JZJ' and XLXSTZYZ_TJYS='4' ");
SQL.Add(" and XLXSTZYZ_JGBID = :pJGBID");
SQL.Add("order by XLXSTZYZ_YZID,XLXSTZYZ_XSXH");
SQL.ParamByName("pJGBID").Value = txtJGBID.Value;
DataSet ds = dberp.OpenDataSet(SQL);
cbxYZID.ClearItems();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sJJFSMC = "";
if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ"))
{
sJJFSMC = "(元)";
}
else if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JD") || ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("KD"))
{
sJJFSMC = "(%)";
}
cbxYZID.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC, ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim()));
}
if (ds.Tables[0].Rows.Count == 1)
{
cbxYZID.SelectedValue = ds.Tables[0].Rows[0]["XLXSTZYZ_YZID"].ToString().Trim();
}
}
}
#region 控件事件
protected void btnQD_Click(object sender, EventArgs e)
{
if (cbxYZID.SelectedValue.Trim().Equals(""))
{
ShowMessage("请选择待设置的调价因子!");
return;
}
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)
{
if (PageParam.GetRTrimString("DRFS").Equals("DRWJ"))
aDataExcel = XLBJDUtils.ReadFromExcelFile(fupdPost.FilePath, 0, "");
else
aDataExcel = XLBJDUtils.ReadFromExcelFile(fupdPost.FilePath, false, "");
}
else // AppBitType.Bit64
ReadWJ(fupdPost.FilePath, ref aDataExcel);//只能读出前33356行记录
ExcelColumnValid(aDataExcel);
InsertYZZ4(dberp, sSQL, aDataExcel);
dberp.CommitTrans();
ShowMessage("设置完成!");
//执行完毕后关闭当前页面
DialogOperationScript dos = new DialogOperationScript(this);
dos.CloseSelf();
dos.Execute();
}
catch (Exception ex)
{
lblTitle.Text = "";
dberp.RollbackTrans();
ShowMessage(ex.Message);
}
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
#endregion
#region 自定义事件
private void InsertYZZ4(TDatabase dberp, TSQL sSQL, DataSet ds)
{
if (PageParam.GetRTrimString("DRFS").Equals("DRWJ"))
{
int rrrorNUM = 2;
foreach (DataRow Row in ds.Tables[0].Rows)
{
string sXLXHID = sGetCellTest(Row, 0).Trim();
string sXLDYDJ = sGetCellTest(Row, 1).Trim();
sXLDYDJ = sXLDYDJ.Trim().Equals("") ? " " : sXLDYDJ.Trim();
string sXXJGID = sGetCellTest(Row, 2).Trim();
sXXJGID = sXXJGID.Trim().Equals("") ? " " : sXXJGID.Trim();
double dZXJMXX = CMISproConvert.StrToFloat(sGetCellTest(Row, 3).Trim());
double dZXJMSX = CMISproConvert.StrToFloat(sGetCellTest(Row, 4).Trim());
double dYZZ = CMISproConvert.StrToFloat(sGetCellTest(Row, 5), 0);
//if (dYZZ < 0) //因子值为0的记录也导入
// continue;
if (sXLXHID.Trim().Equals(""))
{
throw new Exception("第" + rrrorNUM + "行型号为空!");
}
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXHB where XLXHB_XLXHID='{0}' and ISNULL(XLXHB_TYBZ,'N') <> 'Y' ", sXLXHID)))
{
throw new Exception("第" + rrrorNUM + "行型号[" + sXLXHID + "]不存在或已停用!");
}
if (!sXLDYDJ.Trim().Equals("") && !CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLDYDJB where XLDYDJB_DYDJID='{0}' and ISNULL(XLDYDJB_TYBZ,'N') <> 'Y' ", sXLDYDJ)))
{
throw new Exception("第" + rrrorNUM + "行电压等级[" + sXLDYDJ + "]不存在或已停用!");
}
if (dZXJMXX < 0)
{
throw new Exception("第" + rrrorNUM + "行主芯截面下限[" + dZXJMXX .ToString().Trim()+ "]--不允许为负数!");
}
if (dZXJMSX < 0)
{
throw new Exception("第" + rrrorNUM + "行主芯截面上限[" + dZXJMSX .ToString().Trim()+ "]--不允许为负数!");
}
if (dZXJMSX != 0)
{
if (dZXJMXX > dZXJMSX)
{
throw new Exception("第" + rrrorNUM + "行主芯截面下限[" + dZXJMXX.ToString().Trim() + "]不允许超过主芯截面上限[" + dZXJMSX.ToString().Trim() + "]!");
}
}
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBYZZ4 where XLXSJGBYZZ4_JGBID='{0}' and XLXSJGBYZZ4_XLXHID='{1}' and XLXSJGBYZZ4_DYDJID='{2}' and XLXSJGBYZZ4_XXJGID='{3}' and XLXSJGBYZZ4_ZXJMSX='{4}' and XLXSJGBYZZ4_ZXJMXX='{5}' and XLXSJGBYZZ4_YZID='{6}'",
txtJGBID.Value.Trim(), sXLXHID, sXLDYDJ, sXXJGID, dZXJMSX, dZXJMXX, cbxYZID.SelectedValue.Trim())))
{
if (chkIns.Checked)//不存在的记录自动插入
{
sSQL.Clear();
sSQL.Add("select XLXSJGBYZZ4_XLXHID, XLXSJGBYZZ4_DYDJID, XLXSJGBYZZ4_XXJGID, XLXSJGBYZZ4_ZXJMXX,XLXSJGBYZZ4_ZXJMSX ");
sSQL.Add("from XLXSJGBYZZ4 ");
sSQL.Add("where XLXSJGBYZZ4_JGBID=:pJGBID and XLXSJGBYZZ4_YZID=:pYZID ");
sSQL.Add(" and XLXSJGBYZZ4_XLXHID=:pXLXHID and XLXSJGBYZZ4_DYDJID=:pDYDJID ");
sSQL.Add(" and XLXSJGBYZZ4_XXJGID=:pXXJGID ");
sSQL.Add(" and ((XLXSJGBYZZ4_ZXJMXX>=:pZXJMXX ");
if (dZXJMSX != 0)
{
sSQL.Add(" and XLXSJGBYZZ4_ZXJMXX<=:pZXJMSX ");
}
sSQL.Add(" ) ");
sSQL.Add(" or (");
if (dZXJMSX != 0)
{
sSQL.Add(" XLXSJGBYZZ4_ZXJMSX>0 and XLXSJGBYZZ4_ZXJMSX>=:pZXJMXX and XLXSJGBYZZ4_ZXJMSX<=:pZXJMSX ");
}
else
{
sSQL.Add(" (XLXSJGBYZZ4_ZXJMSX>0 and XLXSJGBYZZ4_ZXJMSX>=:pZXJMXX) or (XLXSJGBYZZ4_ZXJMSX=0) ");
}
sSQL.Add(" ) ");
sSQL.Add(" or (XLXSJGBYZZ4_ZXJMXX<=:pZXJMXX and (XLXSJGBYZZ4_ZXJMSX=0 or XLXSJGBYZZ4_ZXJMSX>=:pZXJMSX))");
sSQL.Add(" ) ");
sSQL.ParamByName("pJGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("pYZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("pXLXHID").Value = sXLXHID;
sSQL.ParamByName("pDYDJID").Value = sXLDYDJ;
sSQL.ParamByName("pXXJGID").Value = sXXJGID;
sSQL.ParamByName("pZXJMXX").Value = dZXJMXX;
if (dZXJMSX != 0)
{
sSQL.ParamByName("pZXJMSX").Value = dZXJMSX;
}
DataSet ds1 = dberp.OpenDataSet(sSQL);
if (ds1.Tables[0].Rows.Count > 0)
{
string sZXJMQJ = "";
string sResult = "(型号:" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_XLXHID"].ToString().Trim() + ",电压等级:" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_DYDJID"].ToString().Trim()
+ ",芯线结构:" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_XXJGID"].ToString().Trim() + ")";
if (CMISproConvert.StrToFloat(ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMSX"].ToString()) != 0)
sZXJMQJ = ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMXX"].ToString().Trim() + "~" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMSX"].ToString().Trim();
else
sZXJMQJ = ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMXX"].ToString().Trim() + "~" + "--";
throw new Exception(string.Format("第" + rrrorNUM + "行因子{1}的记录与已有或上一行主芯截面区间【{0}】{2}的记录有交集!", sZXJMQJ, cbxYZID.SelectedItem.Text.Trim(), sResult));
}
sSQL.Clear();
sSQL.Add("insert into XLXSJGBYZZ4(XLXSJGBYZZ4_JGBID,XLXSJGBYZZ4_XLXHID,XLXSJGBYZZ4_DYDJID,XLXSJGBYZZ4_XXJGID,XLXSJGBYZZ4_ZXJMSX,XLXSJGBYZZ4_ZXJMXX,XLXSJGBYZZ4_YZID,XLXSJGBYZZ4_YZZ,XLXSJGBYZZ4_WHR,XLXSJGBYZZ4_WHRID,XLXSJGBYZZ4_WHSJ)");
sSQL.Add(" values(:XLXSJGBYZZ4_JGBID,:XLXSJGBYZZ4_XLXHID,:XLXSJGBYZZ4_DYDJID,:XLXSJGBYZZ4_XXJGID,:XLXSJGBYZZ4_ZXJMSX,:XLXSJGBYZZ4_ZXJMXX,:XLXSJGBYZZ4_YZID,:XLXSJGBYZZ4_YZZ,:XLXSJGBYZZ4_WHR,:XLXSJGBYZZ4_WHRID,:XLXSJGBYZZ4_WHSJ)");
sSQL.ParamByName("XLXSJGBYZZ4_JGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("XLXSJGBYZZ4_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSJGBYZZ4_DYDJID").Value = sXLDYDJ;
sSQL.ParamByName("XLXSJGBYZZ4_XXJGID").Value = sXXJGID;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMSX").Value = dZXJMSX;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMXX").Value = dZXJMXX;
sSQL.ParamByName("XLXSJGBYZZ4_YZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("XLXSJGBYZZ4_YZZ").Value = dYZZ;
sSQL.ParamByName("XLXSJGBYZZ4_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSJGBYZZ4_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSJGBYZZ4_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
}
}
else
{
sSQL.Clear();
sSQL.Add("update XLXSJGBYZZ4 set XLXSJGBYZZ4_YZZ = :pYZZ,XLXSJGBYZZ4_WHR = :pWHR,XLXSJGBYZZ4_WHRID =:pWHRID,XLXSJGBYZZ4_WHSJ =:pWHSJ ");
sSQL.Add(" where XLXSJGBYZZ4_JGBID=:XLXSJGBYZZ4_JGBID");
sSQL.Add(" and XLXSJGBYZZ4_XLXHID=:XLXSJGBYZZ4_XLXHID");
sSQL.Add(" and XLXSJGBYZZ4_DYDJID=:XLXSJGBYZZ4_DYDJID");
sSQL.Add(" and XLXSJGBYZZ4_XXJGID=:XLXSJGBYZZ4_XXJGID");
sSQL.Add(" and XLXSJGBYZZ4_ZXJMSX=:XLXSJGBYZZ4_ZXJMSX");
sSQL.Add(" and XLXSJGBYZZ4_ZXJMXX=:XLXSJGBYZZ4_ZXJMXX");
sSQL.Add(" and XLXSJGBYZZ4_YZID=:XLXSJGBYZZ4_YZID");
sSQL.ParamByName("XLXSJGBYZZ4_JGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("XLXSJGBYZZ4_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSJGBYZZ4_DYDJID").Value = sXLDYDJ;
sSQL.ParamByName("XLXSJGBYZZ4_XXJGID").Value = sXXJGID;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMSX").Value = dZXJMSX;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMXX").Value = dZXJMXX;
sSQL.ParamByName("XLXSJGBYZZ4_YZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("pYZZ").Value = dYZZ;
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
}
rrrorNUM++;
}
}
else if (PageParam.GetRTrimString("DRFS").Equals("LMDR"))
{
string sColums = "";
int index = 1;
foreach (DataColumn Colunm in ds.Tables[0].Rows[0].Table.Columns)
{
if (index > 3 && !string.IsNullOrEmpty(ds.Tables[0].Rows[0][Colunm].ToString().Trim()))
{
double dZXJM = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][Colunm].ToString().Trim());
if(dZXJM<=0)
throw new Exception("第" + index.ToString().Trim() + "列主芯截面不合法!");
if (!sColums.Equals(""))
sColums += ",";
sColums += ds.Tables[0].Rows[0][Colunm].ToString().Trim();
}
index++;
}
int rowindex = 1;
foreach (DataRow Row in ds.Tables[0].Rows)
{
if (rowindex == 1)
{
rowindex++;
continue;
}
string sXLXHID = sGetCellTest(Row, 0).Trim();
string sXLDYDJ = sGetCellTest(Row, 1).Trim();
sXLDYDJ = sXLDYDJ.Trim().Equals("") ? " " : sXLDYDJ.Trim();
string sXXJGID = sGetCellTest(Row, 2).Trim();
sXXJGID = sXXJGID.Trim().Equals("") ? " " : sXXJGID.Trim();
if (sXLXHID.Trim().Equals(""))
{
throw new Exception("第" + rowindex + "行型号为空!");
}
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXHB where XLXHB_XLXHID='{0}' and ISNULL(XLXHB_TYBZ,'N') <> 'Y' ", sXLXHID)))
{
throw new Exception("第" + rowindex + "行型号[" + sXLXHID + "]不存在或已停用!");
}
if (!sXLDYDJ.Trim().Equals("") && !CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLDYDJB where XLDYDJB_DYDJID='{0}' and ISNULL(XLDYDJB_TYBZ,'N') <> 'Y' ", sXLDYDJ)))
{
throw new Exception("第" + rowindex + "行电压等级[" + sXLDYDJ + "]不存在或已停用!");
}
index = 4;
foreach (string sZXJM in sColums.Split(','))
{
double dZXJMXX = CMISproConvert.StrToFloat(sZXJM);
double dZXJMSX = CMISproConvert.StrToFloat(sZXJM);
double dYZZ = CMISproConvert.StrToFloat(Row[index - 1].ToString().Trim(), 0);
//if (dYZZ < 0) //因子值为0的记录也导入
//{
// index++;
// continue;
//}
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBYZZ4 where XLXSJGBYZZ4_JGBID='{0}' and XLXSJGBYZZ4_XLXHID='{1}' and XLXSJGBYZZ4_DYDJID='{2}' and XLXSJGBYZZ4_XXJGID='{3}' and XLXSJGBYZZ4_ZXJMSX='{4}' and XLXSJGBYZZ4_ZXJMXX='{5}' and XLXSJGBYZZ4_YZID='{6}'",
txtJGBID.Value.Trim(), sXLXHID, sXLDYDJ, sXXJGID, dZXJMSX, dZXJMXX, cbxYZID.SelectedValue.Trim())))
{
if (chkIns.Checked)//不存在的记录自动插入
{
sSQL.Clear();
sSQL.Add("select XLXSJGBYZZ4_XLXHID, XLXSJGBYZZ4_DYDJID, XLXSJGBYZZ4_XXJGID, XLXSJGBYZZ4_ZXJMXX,XLXSJGBYZZ4_ZXJMSX ");
sSQL.Add("from XLXSJGBYZZ4 ");
sSQL.Add("where XLXSJGBYZZ4_JGBID=:pJGBID and XLXSJGBYZZ4_YZID=:pYZID ");
sSQL.Add(" and XLXSJGBYZZ4_XLXHID=:pXLXHID and XLXSJGBYZZ4_DYDJID=:pDYDJID ");
sSQL.Add(" and XLXSJGBYZZ4_XXJGID=:pXXJGID ");
sSQL.Add(" and ((XLXSJGBYZZ4_ZXJMXX>=:pZXJMXX ");
if (dZXJMSX != 0)
{
sSQL.Add(" and XLXSJGBYZZ4_ZXJMXX<=:pZXJMSX ");
}
sSQL.Add(" ) ");
sSQL.Add(" or (");
if (dZXJMSX != 0)
{
sSQL.Add(" XLXSJGBYZZ4_ZXJMSX>0 and XLXSJGBYZZ4_ZXJMSX>=:pZXJMXX and XLXSJGBYZZ4_ZXJMSX<=:pZXJMSX ");
}
else
{
sSQL.Add(" (XLXSJGBYZZ4_ZXJMSX>0 and XLXSJGBYZZ4_ZXJMSX>=:pZXJMXX) or (XLXSJGBYZZ4_ZXJMSX=0) ");
}
sSQL.Add(" ) ");
sSQL.Add(" or (XLXSJGBYZZ4_ZXJMXX<=:pZXJMXX and (XLXSJGBYZZ4_ZXJMSX=0 or XLXSJGBYZZ4_ZXJMSX>=:pZXJMSX))");
sSQL.Add(" ) ");
sSQL.ParamByName("pJGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("pYZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("pXLXHID").Value = sXLXHID;
sSQL.ParamByName("pDYDJID").Value = sXLDYDJ;
sSQL.ParamByName("pXXJGID").Value = sXXJGID;
sSQL.ParamByName("pZXJMXX").Value = dZXJMXX;
if (dZXJMSX != 0)
{
sSQL.ParamByName("pZXJMSX").Value = dZXJMSX;
}
DataSet ds1 = dberp.OpenDataSet(sSQL);
if (ds1.Tables[0].Rows.Count > 0)
{
string sZXJMQJ = "";
string sResult = "(型号:" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_XLXHID"].ToString().Trim() + ",电压等级:" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_DYDJID"].ToString().Trim()
+ ",芯线结构:" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_XXJGID"].ToString().Trim() + ")";
if (CMISproConvert.StrToFloat(ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMSX"].ToString()) != 0)
sZXJMQJ = ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMXX"].ToString().Trim() + "~" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMSX"].ToString().Trim();
else
sZXJMQJ = ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMXX"].ToString().Trim() + "~" + "--";
throw new Exception(string.Format("第" + rowindex.ToString().Trim() + "行第"+index.ToString().Trim()+"列因子{1}的记录与已有主芯截面区间【{0}】{2}的记录有交集!", sZXJMQJ, cbxYZID.SelectedItem.Text.Trim(), sResult));
}
sSQL.Clear();
sSQL.Add("insert into XLXSJGBYZZ4(XLXSJGBYZZ4_JGBID,XLXSJGBYZZ4_XLXHID,XLXSJGBYZZ4_DYDJID,XLXSJGBYZZ4_XXJGID,XLXSJGBYZZ4_ZXJMSX,XLXSJGBYZZ4_ZXJMXX,XLXSJGBYZZ4_YZID,XLXSJGBYZZ4_YZZ,XLXSJGBYZZ4_WHR,XLXSJGBYZZ4_WHRID,XLXSJGBYZZ4_WHSJ)");
sSQL.Add(" values(:XLXSJGBYZZ4_JGBID,:XLXSJGBYZZ4_XLXHID,:XLXSJGBYZZ4_DYDJID,:XLXSJGBYZZ4_XXJGID,:XLXSJGBYZZ4_ZXJMSX,:XLXSJGBYZZ4_ZXJMXX,:XLXSJGBYZZ4_YZID,:XLXSJGBYZZ4_YZZ,:XLXSJGBYZZ4_WHR,:XLXSJGBYZZ4_WHRID,:XLXSJGBYZZ4_WHSJ)");
sSQL.ParamByName("XLXSJGBYZZ4_JGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("XLXSJGBYZZ4_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSJGBYZZ4_DYDJID").Value = sXLDYDJ;
sSQL.ParamByName("XLXSJGBYZZ4_XXJGID").Value = sXXJGID;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMSX").Value = dZXJMSX;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMXX").Value = dZXJMXX;
sSQL.ParamByName("XLXSJGBYZZ4_YZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("XLXSJGBYZZ4_YZZ").Value = dYZZ;
sSQL.ParamByName("XLXSJGBYZZ4_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSJGBYZZ4_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSJGBYZZ4_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
}
}
else
{
sSQL.Clear();
sSQL.Add("update XLXSJGBYZZ4 set XLXSJGBYZZ4_YZZ = :pYZZ,XLXSJGBYZZ4_WHR = :pWHR,XLXSJGBYZZ4_WHRID =:pWHRID,XLXSJGBYZZ4_WHSJ =:pWHSJ ");
sSQL.Add(" where XLXSJGBYZZ4_JGBID=:XLXSJGBYZZ4_JGBID");
sSQL.Add(" and XLXSJGBYZZ4_XLXHID=:XLXSJGBYZZ4_XLXHID");
sSQL.Add(" and XLXSJGBYZZ4_DYDJID=:XLXSJGBYZZ4_DYDJID");
sSQL.Add(" and XLXSJGBYZZ4_XXJGID=:XLXSJGBYZZ4_XXJGID");
sSQL.Add(" and XLXSJGBYZZ4_ZXJMSX=:XLXSJGBYZZ4_ZXJMSX");
sSQL.Add(" and XLXSJGBYZZ4_ZXJMXX=:XLXSJGBYZZ4_ZXJMXX");
sSQL.Add(" and XLXSJGBYZZ4_YZID=:XLXSJGBYZZ4_YZID");
sSQL.ParamByName("XLXSJGBYZZ4_JGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("XLXSJGBYZZ4_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSJGBYZZ4_DYDJID").Value = sXLDYDJ;
sSQL.ParamByName("XLXSJGBYZZ4_XXJGID").Value = sXXJGID;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMSX").Value = dZXJMSX;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMXX").Value = dZXJMXX;
sSQL.ParamByName("XLXSJGBYZZ4_YZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("pYZZ").Value = dYZZ;
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
}
index++;
}
rowindex++;
}
}
else
{
string sColums = "";
int index = 1;
foreach (DataColumn Colunm in ds.Tables[0].Rows[0].Table.Columns)
{
if (index > 3 && !string.IsNullOrEmpty(ds.Tables[0].Rows[0][Colunm].ToString().Trim()))
{
string sZXJMFW = ds.Tables[0].Rows[0][Colunm].ToString().Trim();
sZXJMFW = sZXJMFW.Replace('-', '~');
sZXJMFW = sZXJMFW.Replace(',', '~');
if (sZXJMFW.Split('~').Length != 2)
throw new Exception("第" + index.ToString().Trim() + "列主芯截面范围不合法!");
double MinNum = CMISproConvert.StrToFloat(sZXJMFW.Split('~')[0].ToString().Trim());
double MaxNum = CMISproConvert.StrToFloat(sZXJMFW.Split('~')[1].ToString().Trim());
if (MinNum < 0)
{
throw new Exception("第" + index + "列主芯截面下限[" + MinNum.ToString().Trim() + "]--不允许为负数!");
}
if (MaxNum < 0)
{
throw new Exception("第" + index + "列主芯截面上限[" + MaxNum.ToString().Trim() + "]--不允许为负数!");
}
if (MaxNum != 0)
{
if (MinNum > MaxNum)
{
throw new Exception("第" + index + "列主芯截面下限[" + MinNum.ToString().Trim() + "]不允许超过主芯截面上限[" + MaxNum.ToString().Trim() + "]!");
}
}
if (!sColums.Equals(""))
sColums += ",";
sColums += sZXJMFW;
}
index++;
}
int rowindex = 1;
foreach (DataRow Row in ds.Tables[0].Rows)
{
if (rowindex == 1)
{
rowindex++;
continue;
}
string sXLXHID = sGetCellTest(Row, 0).Trim();
string sXLDYDJ = sGetCellTest(Row, 1).Trim();
sXLDYDJ = sXLDYDJ.Trim().Equals("") ? " " : sXLDYDJ.Trim();
string sXXJGID = sGetCellTest(Row, 2).Trim();
sXXJGID = sXXJGID.Trim().Equals("") ? " " : sXXJGID.Trim();
if (sXLXHID.Trim().Equals(""))
{
throw new Exception("第" + rowindex + "行型号为空!");
}
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXHB where XLXHB_XLXHID='{0}' and ISNULL(XLXHB_TYBZ,'N') <> 'Y' ", sXLXHID)))
{
throw new Exception("第" + rowindex + "行型号[" + sXLXHID + "]不存在或已停用!");
}
if (!sXLDYDJ.Trim().Equals("") && !CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLDYDJB where XLDYDJB_DYDJID='{0}' and ISNULL(XLDYDJB_TYBZ,'N') <> 'Y' ", sXLDYDJ)))
{
throw new Exception("第" + rowindex + "行电压等级[" + sXLDYDJ + "]不存在或已停用!");
}
index = 4;
foreach (string sZXJM in sColums.Split(','))
{
double dZXJMXX = CMISproConvert.StrToFloat(sZXJM.Split('~')[0].ToString().Trim());
double dZXJMSX = CMISproConvert.StrToFloat(sZXJM.Split('~')[1].ToString().Trim());
double dYZZ = CMISproConvert.StrToFloat(Row[index - 1].ToString().Trim(), 0);
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBYZZ4 where XLXSJGBYZZ4_JGBID='{0}' and XLXSJGBYZZ4_XLXHID='{1}' and XLXSJGBYZZ4_DYDJID='{2}' and XLXSJGBYZZ4_XXJGID='{3}' and XLXSJGBYZZ4_ZXJMSX='{4}' and XLXSJGBYZZ4_ZXJMXX='{5}' and XLXSJGBYZZ4_YZID='{6}'",
txtJGBID.Value.Trim(), sXLXHID, sXLDYDJ, sXXJGID, dZXJMSX, dZXJMXX, cbxYZID.SelectedValue.Trim())))
{
if (chkIns.Checked)//不存在的记录自动插入
{
sSQL.Clear();
sSQL.Add("select XLXSJGBYZZ4_XLXHID, XLXSJGBYZZ4_DYDJID, XLXSJGBYZZ4_XXJGID, XLXSJGBYZZ4_ZXJMXX,XLXSJGBYZZ4_ZXJMSX ");
sSQL.Add("from XLXSJGBYZZ4 ");
sSQL.Add("where XLXSJGBYZZ4_JGBID=:pJGBID and XLXSJGBYZZ4_YZID=:pYZID ");
sSQL.Add(" and XLXSJGBYZZ4_XLXHID=:pXLXHID and XLXSJGBYZZ4_DYDJID=:pDYDJID ");
sSQL.Add(" and XLXSJGBYZZ4_XXJGID=:pXXJGID ");
sSQL.Add(" and ((XLXSJGBYZZ4_ZXJMXX>=:pZXJMXX ");
if (dZXJMSX != 0)
{
sSQL.Add(" and XLXSJGBYZZ4_ZXJMXX<=:pZXJMSX ");
}
sSQL.Add(" ) ");
sSQL.Add(" or (");
if (dZXJMSX != 0)
{
sSQL.Add(" XLXSJGBYZZ4_ZXJMSX>0 and XLXSJGBYZZ4_ZXJMSX>=:pZXJMXX and XLXSJGBYZZ4_ZXJMSX<=:pZXJMSX ");
}
else
{
sSQL.Add(" (XLXSJGBYZZ4_ZXJMSX>0 and XLXSJGBYZZ4_ZXJMSX>=:pZXJMXX) or (XLXSJGBYZZ4_ZXJMSX=0) ");
}
sSQL.Add(" ) ");
sSQL.Add(" or (XLXSJGBYZZ4_ZXJMXX<=:pZXJMXX and (XLXSJGBYZZ4_ZXJMSX=0 or XLXSJGBYZZ4_ZXJMSX>=:pZXJMSX))");
sSQL.Add(" ) ");
sSQL.ParamByName("pJGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("pYZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("pXLXHID").Value = sXLXHID;
sSQL.ParamByName("pDYDJID").Value = sXLDYDJ;
sSQL.ParamByName("pXXJGID").Value = sXXJGID;
sSQL.ParamByName("pZXJMXX").Value = dZXJMXX;
if (dZXJMSX != 0)
{
sSQL.ParamByName("pZXJMSX").Value = dZXJMSX;
}
DataSet ds1 = dberp.OpenDataSet(sSQL);
if (ds1.Tables[0].Rows.Count > 0)
{
string sZXJMQJ = "";
string sResult = "(型号:" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_XLXHID"].ToString().Trim() + ",电压等级:" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_DYDJID"].ToString().Trim()
+ ",芯线结构:" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_XXJGID"].ToString().Trim() + ")";
if (CMISproConvert.StrToFloat(ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMSX"].ToString()) != 0)
sZXJMQJ = ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMXX"].ToString().Trim() + "~" + ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMSX"].ToString().Trim();
else
sZXJMQJ = ds1.Tables[0].Rows[0]["XLXSJGBYZZ4_ZXJMXX"].ToString().Trim() + "~" + "--";
throw new Exception(string.Format("第" + rowindex.ToString().Trim() + "行第" + index.ToString().Trim() + "列因子{1}的记录与已有主芯截面区间【{0}】{2}的记录有交集!", sZXJMQJ, cbxYZID.SelectedItem.Text.Trim(), sResult));
}
sSQL.Clear();
sSQL.Add("insert into XLXSJGBYZZ4(XLXSJGBYZZ4_JGBID,XLXSJGBYZZ4_XLXHID,XLXSJGBYZZ4_DYDJID,XLXSJGBYZZ4_XXJGID,XLXSJGBYZZ4_ZXJMSX,XLXSJGBYZZ4_ZXJMXX,XLXSJGBYZZ4_YZID,XLXSJGBYZZ4_YZZ,XLXSJGBYZZ4_WHR,XLXSJGBYZZ4_WHRID,XLXSJGBYZZ4_WHSJ)");
sSQL.Add(" values(:XLXSJGBYZZ4_JGBID,:XLXSJGBYZZ4_XLXHID,:XLXSJGBYZZ4_DYDJID,:XLXSJGBYZZ4_XXJGID,:XLXSJGBYZZ4_ZXJMSX,:XLXSJGBYZZ4_ZXJMXX,:XLXSJGBYZZ4_YZID,:XLXSJGBYZZ4_YZZ,:XLXSJGBYZZ4_WHR,:XLXSJGBYZZ4_WHRID,:XLXSJGBYZZ4_WHSJ)");
sSQL.ParamByName("XLXSJGBYZZ4_JGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("XLXSJGBYZZ4_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSJGBYZZ4_DYDJID").Value = sXLDYDJ;
sSQL.ParamByName("XLXSJGBYZZ4_XXJGID").Value = sXXJGID;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMSX").Value = dZXJMSX;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMXX").Value = dZXJMXX;
sSQL.ParamByName("XLXSJGBYZZ4_YZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("XLXSJGBYZZ4_YZZ").Value = dYZZ;
sSQL.ParamByName("XLXSJGBYZZ4_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSJGBYZZ4_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSJGBYZZ4_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
}
}
else
{
sSQL.Clear();
sSQL.Add("update XLXSJGBYZZ4 set XLXSJGBYZZ4_YZZ = :pYZZ,XLXSJGBYZZ4_WHR = :pWHR,XLXSJGBYZZ4_WHRID =:pWHRID,XLXSJGBYZZ4_WHSJ =:pWHSJ ");
sSQL.Add(" where XLXSJGBYZZ4_JGBID=:XLXSJGBYZZ4_JGBID");
sSQL.Add(" and XLXSJGBYZZ4_XLXHID=:XLXSJGBYZZ4_XLXHID");
sSQL.Add(" and XLXSJGBYZZ4_DYDJID=:XLXSJGBYZZ4_DYDJID");
sSQL.Add(" and XLXSJGBYZZ4_XXJGID=:XLXSJGBYZZ4_XXJGID");
sSQL.Add(" and XLXSJGBYZZ4_ZXJMSX=:XLXSJGBYZZ4_ZXJMSX");
sSQL.Add(" and XLXSJGBYZZ4_ZXJMXX=:XLXSJGBYZZ4_ZXJMXX");
sSQL.Add(" and XLXSJGBYZZ4_YZID=:XLXSJGBYZZ4_YZID");
sSQL.ParamByName("XLXSJGBYZZ4_JGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("XLXSJGBYZZ4_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSJGBYZZ4_DYDJID").Value = sXLDYDJ;
sSQL.ParamByName("XLXSJGBYZZ4_XXJGID").Value = sXXJGID;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMSX").Value = dZXJMSX;
sSQL.ParamByName("XLXSJGBYZZ4_ZXJMXX").Value = dZXJMXX;
sSQL.ParamByName("XLXSJGBYZZ4_YZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("pYZZ").Value = dYZZ;
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
}
index++;
}
rowindex++;
}
}
}
private void ExcelColumnValid(DataSet ds)
{
Dictionary<string, string> ColumnNames = new Dictionary<string, string>();
ColumnNames.Add("0", "型号");
ColumnNames.Add("1", "电压等级");
ColumnNames.Add("2", "芯线结构");
ColumnNames.Add("3", "主芯截面始");
ColumnNames.Add("4", "主芯截面止");
ColumnNames.Add("5", cbxYZID.SelectedItem.Text.Trim());
if (PageParam.GetRTrimString("DRFS").Equals("DRWJ"))
{
for (int i = 0; i < 6; i++)
{
if (!ds.Tables[0].Columns[i].ColumnName.Trim().Equals(ColumnNames[i.ToString()].Trim()))
{
throw new Exception("导入文件的内容格式不正确,Excel栏目依次为:型号、电压等级、芯线结构、主芯截面始、主芯截面止、" + cbxYZID.SelectedItem.Text.Trim() + "!");
}
}
}
else if (PageParam.GetRTrimString("DRFS").Equals("LMDR"))
{
for (int i = 0; i < 3; i++)
{
if (!ds.Tables[0].Rows[0][i].ToString().Trim().Equals(ColumnNames[i.ToString()].Trim()))
{
throw new Exception("导入文件的内容格式不正确,Excel栏目依次为:型号、电压等级、芯线结构、主芯截面栏目1、主芯截面栏目2、……!");
}
}
}
else
{
for (int i = 0; i < 3; i++)
{
if (!ds.Tables[0].Rows[0][i].ToString().Trim().Equals(ColumnNames[i.ToString()].Trim()))
{
throw new Exception("导入文件的内容格式不正确,Excel栏目依次为:型号、电压等级、芯线结构、主芯截面范围栏目1、主芯截面范围栏目2、……!");
}
}
}
}
private void ReadWJ(string sPath, ref DataSet aDataExcel)
{
string sMessage = "";
if (PageParam.GetRTrimString("DRFS").Equals("DRWJ"))
aDataExcel = TExcelData.ReadExcel(sPath.Trim(), "", "", false, ref sMessage);
else
aDataExcel = TExcelData.ReadExcel(sPath.Trim(), "", "",false, 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 SortNum(ref double MinNum, ref double MaxNum)//数值排序
{
if (MinNum > MaxNum)
{
double tempNum = MinNum;
MinNum = MaxNum;
MaxNum = tempNum;
}
}
#endregion
}
}