增加因子,特性加点增加主芯截面

This commit is contained in:
2026-09-03 11:44:53 +08:00
parent f85e5baa8d
commit 5ef31cf4c2
47 changed files with 2736 additions and 549 deletions
+91 -33
View File
@@ -122,7 +122,10 @@ namespace GThinking.N_XLXSBJ
private void ClearExistingData(TDatabase database, TSQL sql)
{
sql.Clear();
sql.Add(" DELETE FROM XLXSBJYFJZQJ where XLXSBJYFJZQJ_YFJSGS='运价*运重' ");
if (PageParam.ContainsKey("YFJSFS") && PageParam.GetRTrimString("YFJSFS") == "6")
sql.Add(" DELETE FROM XLXSBJYFJZQJ where XLXSBJYFJZQJ_YFJSGS='6' ");
else
sql.Add(" DELETE FROM XLXSBJYFJZQJ where XLXSBJYFJZQJ_YFJSGS='运价*运重' ");
database.ExecSQL(sql);
}
@@ -172,8 +175,29 @@ namespace GThinking.N_XLXSBJ
try
{
if (PageParam.ContainsKey("YFJSFS") && PageParam.GetRTrimString("YFJSFS") == "6")
{
string separator = columnName.Contains("-") ? "-" :
(columnName.Contains("~") ? "~" : "至");
string cleanName = columnName.Replace("铜价", "").Replace("铝价", "");
string[] parts = cleanName.Split(new string[] { separator }, StringSplitOptions.RemoveEmptyEntries);
if (parts.Length >= 2)
{
double minValue, maxValue;
if (double.TryParse(parts[0], out minValue) && double.TryParse(parts[1], out maxValue))
{
column.MinValue = minValue;
column.MaxValue = maxValue;
return column;
}
}
}
// 尝试解析各种重量区间格式
if (columnName.Contains("以下") || columnName.Contains("以内"))
else if (columnName.Contains("以下") || columnName.Contains("以内"))
{
// 处理 "X吨以下" 格式
string valueStr = columnName.Replace("吨以下", "").Replace("吨以内", "").Replace("零担报价","");
@@ -204,6 +228,7 @@ namespace GThinking.N_XLXSBJ
(columnName.Contains("~") ? "~" : "至");
string cleanName = columnName.Substring(0, columnName.IndexOf("吨")).Replace("吨", "").Replace("零担报价", "");
string[] parts = cleanName.Split(new string[] { separator }, StringSplitOptions.RemoveEmptyEntries);
if (parts.Length >= 2)
@@ -248,6 +273,8 @@ namespace GThinking.N_XLXSBJ
sql.ParamByName("XLXSBJYFJZQJ_YFJZXX").Value = column.MinValue;
sql.ParamByName("XLXSBJYFJZQJ_YFJZSX").Value = column.MaxValue;
sql.ParamByName("XLXSBJYFJZQJ_YFJSGS").Value = "运价*运重";
if (PageParam.ContainsKey("YFJSFS") && PageParam.GetRTrimString("YFJSFS")=="6")
sql.ParamByName("XLXSBJYFJZQJ_YFJSGS").Value = "6";
sql.ParamByName("XLXSBJYFJZQJ_WHR").Value = tSession.UserName;
sql.ParamByName("XLXSBJYFJZQJ_WHRID").Value = tSession.UserId;
sql.ParamByName("XLXSBJYFJZQJ_WHSJ").Value = DateTime.Now;
@@ -289,6 +316,8 @@ namespace GThinking.N_XLXSBJ
sql.ParamByName("XLXSBJDQYFZB_XZQHID").Value = sXZQHID;
sql.ParamByName("XLXSBJDQYFZB_YFJSFS").Value = "1";
if (PageParam.ContainsKey("YFJSFS") && PageParam.GetRTrimString("YFJSFS") == "6")
sql.ParamByName("XLXSBJDQYFZB_YFJSFS").Value = "6";
sql.ParamByName("XLXSBJDQYFZB_WHR").Value = tSession.UserName;
sql.ParamByName("XLXSBJDQYFZB_WHRID").Value = tSession.UserId;
sql.ParamByName("XLXSBJDQYFZB_WHSJ").Value = DateTime.Now;
@@ -304,20 +333,36 @@ namespace GThinking.N_XLXSBJ
!string.IsNullOrEmpty(row[weightColumn.ColumnIndex].ToString()))
{
double YFDJ = 0;
if (double.TryParse(row[weightColumn.ColumnIndex].ToString(), out YFDJ))
if (double.TryParse(row[weightColumn.ColumnIndex].ToString().Replace("%",""), out YFDJ))
{
int JZQH = intervalIdMap[weightColumn.ColumnName];
if (PageParam.ContainsKey("YFJSFS") && PageParam.GetRTrimString("YFJSFS") == "6")
{
sql.Clear();
sql.Add(@"INSERT INTO XLXSBJDQYFB (XLXSBJDQYFB_XZQHID, XLXSBJDQYFB_YFJZQH, XLXSBJDQYFB_YSFL, XLXSBJDQYFB_WHR, XLXSBJDQYFB_WHRID, XLXSBJDQYFB_WHSJ)
VALUES (:XLXSBJDQYFB_XZQHID, :XLXSBJDQYFB_YFJZQH, :XLXSBJDQYFB_YSFL, :XLXSBJDQYFB_WHR, :XLXSBJDQYFB_WHRID, :XLXSBJDQYFB_WHSJ) ");
sql.Clear();
sql.Add(@"INSERT INTO XLXSBJDQYFB (XLXSBJDQYFB_XZQHID, XLXSBJDQYFB_YFJZQH, XLXSBJDQYFB_YFDJ, XLXSBJDQYFB_WHR, XLXSBJDQYFB_WHRID, XLXSBJDQYFB_WHSJ)
sql.ParamByName("XLXSBJDQYFB_XZQHID").Value = sXZQHID;
sql.ParamByName("XLXSBJDQYFB_YFJZQH").Value = JZQH;
sql.ParamByName("XLXSBJDQYFB_YSFL").Value = YFDJ;
sql.ParamByName("XLXSBJDQYFB_WHR").Value = tSession.UserName;
sql.ParamByName("XLXSBJDQYFB_WHRID").Value = tSession.UserId;
sql.ParamByName("XLXSBJDQYFB_WHSJ").Value = DateTime.Now;
}
else
{
sql.Clear();
sql.Add(@"INSERT INTO XLXSBJDQYFB (XLXSBJDQYFB_XZQHID, XLXSBJDQYFB_YFJZQH, XLXSBJDQYFB_YFDJ, XLXSBJDQYFB_WHR, XLXSBJDQYFB_WHRID, XLXSBJDQYFB_WHSJ)
VALUES (:XLXSBJDQYFB_XZQHID, :XLXSBJDQYFB_YFJZQH, :XLXSBJDQYFB_YFDJ, :XLXSBJDQYFB_WHR, :XLXSBJDQYFB_WHRID, :XLXSBJDQYFB_WHSJ) ");
sql.ParamByName("XLXSBJDQYFB_XZQHID").Value = sXZQHID;
sql.ParamByName("XLXSBJDQYFB_YFJZQH").Value = JZQH;
sql.ParamByName("XLXSBJDQYFB_YFDJ").Value = YFDJ;
sql.ParamByName("XLXSBJDQYFB_WHR").Value = tSession.UserName;
sql.ParamByName("XLXSBJDQYFB_WHRID").Value = tSession.UserId;
sql.ParamByName("XLXSBJDQYFB_WHSJ").Value = DateTime.Now;
sql.ParamByName("XLXSBJDQYFB_XZQHID").Value = sXZQHID;
sql.ParamByName("XLXSBJDQYFB_YFJZQH").Value = JZQH;
sql.ParamByName("XLXSBJDQYFB_YFDJ").Value = YFDJ;
sql.ParamByName("XLXSBJDQYFB_WHR").Value = tSession.UserName;
sql.ParamByName("XLXSBJDQYFB_WHRID").Value = tSession.UserId;
sql.ParamByName("XLXSBJDQYFB_WHSJ").Value = DateTime.Now;
}
database.ExecSQL(sql);
}
@@ -330,33 +375,46 @@ namespace GThinking.N_XLXSBJ
private void ExcelColumnValid(DataSet dataSet)
{
DataTable dataTable = dataSet.Tables[0];
if (dataTable.Rows.Count < 2)
if (PageParam.ContainsKey("YFJSFS") && PageParam.GetRTrimString("YFJSFS") == "6")
{
throw new Exception("Excel文件行数不足,至少需要2行表头");
}
DataRow headerRow1 = dataTable.Rows[0];
DataRow headerRow2 = dataTable.Rows[1];
// 处理重量区间列(从索引2开始)
for (int i = 2; i < dataTable.Columns.Count; i++)
{
string header1 = headerRow1[i].ToString().Trim();
string header2 = headerRow2[i].ToString().Trim();
// 合并两行表头内容
string combinedHeader = header1.Trim();
if (!string.IsNullOrEmpty(header2))
if (dataTable.Rows.Count < 1)
{
combinedHeader +=header2.Trim();
throw new Exception("Excel文件行数不足,至少需要1行表头");
}
}
else
{
if (dataTable.Rows.Count < 2)
{
throw new Exception("Excel文件行数不足,至少需要2行表头");
}
DataRow headerRow1 = dataTable.Rows[0];
DataRow headerRow2 = dataTable.Rows[1];
// 处理重量区间列(从索引2开始)
for (int i = 2; i < dataTable.Columns.Count; i++)
{
string header1 = headerRow1[i].ToString().Trim();
string header2 = headerRow2[i].ToString().Trim();
// 合并两行表头内容
string combinedHeader = header1.Trim();
if (!string.IsNullOrEmpty(header2))
{
combinedHeader += header2.Trim();
}
// 更新列名
dataTable.Columns[i].ColumnName = combinedHeader;
}
// 更新列名
dataTable.Columns[i].ColumnName = combinedHeader;
// 移除表头行,保留数据行
dataTable.Rows.RemoveAt(0);
dataTable.Rows.RemoveAt(0);
}
// 移除表头行,保留数据行
dataTable.Rows.RemoveAt(0);
dataTable.Rows.RemoveAt(0);
}
private void ReadWJ(string sPath, ref DataSet aDataExcel)