2025-03-27 15:05:14 +08:00

563 lines
34 KiB
C#

using System;
using System.Configuration;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Text.RegularExpressions;
using SuperMap.RealEstate.Web.UI;
using SuperMap.RealEstate.CoreFrameWork;
using HWRB = SuperMap.RealEstate.HighWay.Running.Business;
namespace SuperMap.RealEstate.HighWay.CloudCompents.CommodityChange
{
public partial class UpdateExcel : Storage.UI.BasePage
{
protected string _BusinessType = ConfigurationManager.AppSettings["BusinessType"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
btnDownExcel.Enabled = false;
//设置确认导入按钮焦点时间
SetControlClientAction(btnDownExcel, false);
}
#region Excel -> Table中
//上传按钮
protected void btnUpload_Click(object sender, EventArgs e)
{
if (fpUpload.HasFile)
{
string[] AExt = fpUpload.FileName.Split('.');
string strExt = "";
if (AExt.Length > 1)
{
strExt = AExt[AExt.Length - 1];
}
//扩展名必须为xls
if (strExt == "xls")
{
//创建上传服务器的临时Excel名称
string sUploadFile = sUploadFile = GetGuid() + '.' + strExt;
string sPathFile = Server.MapPath("/ImportExcel");
if (Directory.Exists(sPathFile) == false)
{
Directory.CreateDirectory(sPathFile);
}
//指定文件夹的路径
string strSavePath = Path.Combine(sPathFile, sUploadFile);
//上传文件
fpUpload.SaveAs(strSavePath);
//临时保存数据源
lblUploadFile.Text = strSavePath;
string sheetname = "Sheet1$";
string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + lblUploadFile.Text +
";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";
//此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
conn.Open();
DataTable dtExcelSchema = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,
new object[] { null, null, null, "TABLE" });
if (dtExcelSchema.Rows.Count > 0)
{
sheetname = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
}
System.Data.OleDb.OleDbDataAdapter oada = new System.Data.OleDb.OleDbDataAdapter("select * from [" + sheetname + "]", strConn);
//获取数据导出到DataSet
DataSet ds = new DataSet();
oada.Fill(ds);
conn.Close();
DataTable dt = ds.Tables[0];
string _Err = "";
int _Status = 1;
table1.InnerHtml = GetCommodityTalbe(dt, out _Err, out _Status);
if (_Err.Length > 0)
{
Alert(_Err);
}
if (_Status == 1)
{
btnDownExcel.Enabled = true;
}
}
else
{
Alert("请选择上传XLS文件");
}
}
else
{
Alert("请选择上传XLS文件");
}
}
//获取excel中的表格 _Status 0 为错误excel
private string GetCommodityTalbe(DataTable dt, out string _Err, out int _Status)
{
_Status = 1;
string _Result = "<table width='1480px' border='1' cellspacing='0' cellpadding='0'>";
_Result += "<tr bgcolor='#C0C0C' style='height:42px' >"
+ "<th style='width:4%;text-align:center'>序列</th>"
+ "<th style='width:8%;text-align:center'>业态</th>"
+ "<th style='width:8%;text-align:center'>商品类型</th>"
+ "<th style='width:12%;text-align:center'>商品编码</th>"
+ "<th style='width:12%;text-align:center'>商品名称</th>"
+ "<th style='width:12%;text-align:center'>商品条码</th>"
+ "<th style='width:4%;text-align:center'>商品单位</th>"
+ "<th style='width:8%;text-align:center'>商品规格</th>"
+ "<th style='width:8%;text-align:center'>商品产地</th>"
+ "<th style='width:6%;text-align:center'>质量等级</th>"
+ "<th style='width:4%;text-align:center'>是否散装</th>"
+ "<th style='width:4%;text-align:center'>称重方式</th>"
+ "<th style='width:4%;text-align:center'>商品状态</th>"
+ "<th style='width:4%;text-align:center'>进价税率</th>"
+ "<th style='width:4%;text-align:center'>销售税率</th>"
+ "</tr>";
_Err = "";
if (dt.Columns.Count >= 12)
{
#region 1
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i][0].ToString().Length > 0 && dt.Rows[i][1].ToString().Length > 0 &&
dt.Rows[i][3].ToString().Length > 0 && dt.Rows[i][5].ToString().Length > 0 &&
dt.Rows[i][6].ToString().Length > 0 && dt.Rows[i][9].ToString().Length > 0 &&
dt.Rows[i][10].ToString().Length > 0 && dt.Rows[i][11].ToString().Length > 0)
{
_Result += "<tr style='height:42px'>";
_Result += "<td style='text-align:center'>" + (i + 1) + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][0].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][1].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][2].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][3].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][4].ToString().Replace("&amp;", "&").Replace(
"&lt;", "<").Replace("&gt;", ">").Replace("&#176;", "°").Replace("&#183;", "·") + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][5].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][6].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][7].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][8].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][9].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][10].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][11].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][12].ToString() + "</td>";
_Result += "<td style='text-align:center'>" + dt.Rows[i][13].ToString() + "</td>";
_Result += "</tr>";
}
}
#endregion
}
else
{
_Status = 0;
_Result += "<tr style='height:42px'>";
_Result += "<td colspan='12' style='text-align:center'>文件格式不正确</td>";
_Result += "</tr>";
}
_Result += "</table>";
return _Result;
}
#endregion
#region ->
protected void btnUpdata_Click(object sender, EventArgs e)
{
string sheetname = "Sheet1$";
string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + lblUploadFile.Text +
";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'"; //此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
conn.Open();
DataTable dtExcelSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
if (dtExcelSchema.Rows.Count > 0)
{
sheetname = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
}
System.Data.OleDb.OleDbDataAdapter oada = new System.Data.OleDb.OleDbDataAdapter("select * from [" + sheetname + "]", strConn);
//获取数据导出到DataSet
DataSet ds = new DataSet();
oada.Fill(ds);
Alert(UpdateCommodity(Request["SERVERPART_ID"].ToDecrypt(), ds.Tables[0]));
RefreshOpenerGridPage(RefreshGridPageType.Insert);
}
private string UpdateCommodity(string SERVERPART_ID, DataTable dt)
{
string _Result = "";
int ErrorCount = 0, NotExistsCount = 0;
//1、商品类型错误
string _ErrCOMMODITYTYPE = "";
//2、业态错误
string _ErrBUSINESSTYPE = "";
//判断业态、是否散装、称重方式、商品状态是否有误
string _ErrNorType = "";
//统一定价类
string _ErrUnPri = "";
//没有商品类
string _ErrNoPro = "";
//已存在流程
string _ErrEx = "";
//商品提交审批,却不再流程中
string _ErrNotEx = "";
HWRB.HIGHWAYPROINST _HIGHWAYPROINST = new HWRB.HIGHWAYPROINST(Transaction);
_HIGHWAYPROINST.HIGHWAYPROINST_ID_Encrypt = Request["HIGHWAYPROINST_ID"];
if (_HIGHWAYPROINST.Select())
{
#region 1
Storage.Business.SERVERPART _SERVERPART = new Storage.Business.SERVERPART(this.Transaction);
_SERVERPART.SERVERPART_ID = _HIGHWAYPROINST.Dept_ID;
//1、是否存在服务区
if (_SERVERPART.Select())
{
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i][0].ToString().Length > 0 && dt.Rows[i][1].ToString().Length > 0 &&
dt.Rows[i][2].ToString().Length > 0 && dt.Rows[i][3].ToString().Length > 0 &&
dt.Rows[i][5].ToString().Length > 0 && dt.Rows[i][6].ToString().Length > 0 &&
dt.Rows[i][9].ToString().Length > 0 && dt.Rows[i][10].ToString().Length > 0 &&
dt.Rows[i][11].ToString().Length > 0)
{
#region
Storage.Business.COMMODITYTYPE _COMMODITYTYPE = new Storage.Business.COMMODITYTYPE(this.Transaction);
DataTable _DTCOMMODITYTYPE = _COMMODITYTYPE.FillDataTable("WHERE COMMODITYTYPE_NAME = '" +
dt.Rows[i][1].ToString() + "' AND LENGTH(COMMODITYTYPE_CODE) = 4 AND COMMODITYTYPE_CODE" +
(_SERVERPART.SERVERPART_ID.ToString() == WholeServerpartID ? "" : " NOT") +
" LIKE '1%' AND PROVINCE_ID = " + _SERVERPART.PROVINCE_CODE);
//2、判断是否存在商品类型
if (_DTCOMMODITYTYPE.Rows.Count > 0)
{
#region 2
string _tempBUSINESSTYPE = DictionaryHelper.GetFieldEnumValue(
"BUSINESSTYPE", dt.Rows[i][0].ToString(), Transaction);
if (HZQR.Common.Utils.IsNumeric(_tempBUSINESSTYPE))
{
if (!string.IsNullOrEmpty(Request["BUSINESSTYPE"]) &&
((Request["BUSINESSTYPE"].ToDecrypt().StartsWith("!") &&
Request["BUSINESSTYPE"].ToDecrypt().Contains(_tempBUSINESSTYPE)) ||
(!Request["BUSINESSTYPE"].ToDecrypt().StartsWith("!") &&
!Request["BUSINESSTYPE"].ToDecrypt().Contains(_tempBUSINESSTYPE))))
{
_ErrBUSINESSTYPE += _ErrBUSINESSTYPE.Length > 0 ? "," : "";
_ErrBUSINESSTYPE += dt.Rows[i][3].ToString() + "[" + dt.Rows[i][2].ToString() + "]";
ErrorCount++;
continue;
}
string _tempISBULK = DictionaryHelper.GetFieldEnumValue(
"ISBULK", dt.Rows[i][9].ToString(), Transaction);
string _tempMETERINGMETHOD = DictionaryHelper.GetFieldEnumValue(
"METERINGMETHOD", dt.Rows[i][10].ToString(), Transaction);
string _tempCOMMODITYSTATE = DictionaryHelper.GetFieldEnumValue(
"COMMODITYSTATE", dt.Rows[i][11].ToString(), Transaction);
#region
if (!string.IsNullOrEmpty(_tempCOMMODITYSTATE) && HZQR.Common.Utils.IsNumeric(_tempISBULK) &&
HZQR.Common.Utils.IsNumeric(_tempMETERINGMETHOD))
{
#region 3 -->
Storage.Business.COMMODITY _COMMODITY = new Storage.Business.COMMODITY(this.Transaction);
_COMMODITY.AddSearchParameter("COMMODITY_CODE", dt.Rows[i][2].ToString());
_COMMODITY.AddSearchParameter("SERVERPART_ID", _SERVERPART.SERVERPART_ID);
_COMMODITY.AddSearchParameter("COMMODITY_STATE", 1);
//4、是否有当前商品
if (_COMMODITY.Search(GoodsProvinceCode))
{
HWRB.COMMODITY _RunningCOMMODITY = new HWRB.COMMODITY(this.Transaction);
_RunningCOMMODITY.COMMODITY_ID = _COMMODITY.COMMODITY_ID;
string _tempCOMMODITYGRADE = "";
if (dt.Rows[i][8].ToString().Length > 0)
{
_tempCOMMODITYGRADE = DictionaryHelper.GetFieldEnumValue(
"COMMODITYGRADE", dt.Rows[i][8].ToString(), Transaction);
}
#region 4
if (_RunningCOMMODITY.Select())
{
HWRB.MODIFYFROMSTORAGE _MODIFYFROMSTORAGE = new HWRB.MODIFYFROMSTORAGE(this.Transaction);
_MODIFYFROMSTORAGE.AddSearchParameter("Table_Name", "T_COMMODITY");
_MODIFYFROMSTORAGE.AddSearchParameter("Field_Name", "COMMODITY_ID");
_MODIFYFROMSTORAGE.AddSearchParameter("Field_Value", _COMMODITY.COMMODITY_ID);
if (_MODIFYFROMSTORAGE.Search())
{
//如果存在则更新
if (_HIGHWAYPROINST.HIGHWAYPROINST_ID == _MODIFYFROMSTORAGE.HIGHWAYPROINST_ID)
{
//if (_RunningCOMMODITY.BUSINESSTYPE != int.Parse(_tempBUSINESSTYPE))
//{
// IsUpdate = true;
_RunningCOMMODITY.BUSINESSTYPE = int.Parse(_tempBUSINESSTYPE);
//}
_RunningCOMMODITY.COMMODITY_TYPE = _DTCOMMODITYTYPE.Rows[0]["COMMODITYTYPE_ID"].ToString();
_RunningCOMMODITY.COMMODITY_NAME = dt.Rows[i][3].ToString();
_RunningCOMMODITY.COMMODITY_BARCODE = dt.Rows[i][4].ToString().Trim().Length == 0 ?
CreateBarCode(dt.Rows[i][2].ToString()) : dt.Rows[i][4].ToString();
_RunningCOMMODITY.COMMODITY_UNIT = dt.Rows[i][5].ToString();
_RunningCOMMODITY.COMMODITY_RULE = dt.Rows[i][6].ToString();
_RunningCOMMODITY.COMMODITY_ORI = dt.Rows[i][7].ToString();
if (HZQR.Common.Utils.IsNumeric(_tempCOMMODITYGRADE))
{
_RunningCOMMODITY.COMMODITY_GRADE = _tempCOMMODITYGRADE;
}
_RunningCOMMODITY.ISBULK = int.Parse(_tempISBULK);
_RunningCOMMODITY.METERINGMETHOD = int.Parse(_tempMETERINGMETHOD);
_RunningCOMMODITY.COMMODITY_STATE = int.Parse(_tempCOMMODITYSTATE);
//进价税率
if (!string.IsNullOrEmpty(dt.Rows[i][dt.Columns.Count - 2].ToString()))
{
try
{
_RunningCOMMODITY.DUTY_PARAGRAPH = short.Parse(
dt.Rows[i][dt.Columns.Count - 2].ToString());
}
catch { }
}
//销售税率
if (!string.IsNullOrEmpty(dt.Rows[i][dt.Columns.Count - 1].ToString()))
{
try
{
_RunningCOMMODITY.RETAIL_DUTY = short.Parse(
dt.Rows[i][dt.Columns.Count - 1].ToString());
}
catch { }
}
_RunningCOMMODITY.Update();
}
else
{
//不存在则提示
HWRB.HIGHWAYPROINST _HIGHWAYPROINSTCOMMODITY = new HWRB.HIGHWAYPROINST(Transaction);
_HIGHWAYPROINSTCOMMODITY.AddSearchParameter("HIGHWAYPROINST_ID",
_MODIFYFROMSTORAGE.HIGHWAYPROINST_ID);
if (_HIGHWAYPROINSTCOMMODITY.Search())
{
_ErrEx += _ErrEx.Length > 0 ? "," : "";
_ErrEx += dt.Rows[i][3].ToString() + "[" + dt.Rows[i][2].ToString() +
"]创建时间" + _HIGHWAYPROINSTCOMMODITY.HIGHWAYPROINST_CREATEDATE;
ErrorCount++;
}
}
}
else
{
//一般没有这种情况
_ErrNotEx += _ErrNotEx.Length > 0 ? "," : "";
_ErrNotEx += dt.Rows[i][3].ToString() + "[" + dt.Rows[i][2].ToString() + "]";
}
}
else
{
_RunningCOMMODITY.ResetProperty();
_RunningCOMMODITY.CopyFrom(_COMMODITY);
_RunningCOMMODITY.BUSINESSTYPE = int.Parse(_tempBUSINESSTYPE);
_RunningCOMMODITY.COMMODITY_TYPE = _DTCOMMODITYTYPE.Rows[0]["COMMODITYTYPE_ID"].ToString();
_RunningCOMMODITY.COMMODITY_NAME = dt.Rows[i][3].ToString();
_RunningCOMMODITY.COMMODITY_BARCODE = dt.Rows[i][4].ToString().Trim().Length == 0 ?
CreateBarCode(dt.Rows[i][2].ToString()) : dt.Rows[i][4].ToString();
_RunningCOMMODITY.COMMODITY_UNIT = dt.Rows[i][5].ToString();
_RunningCOMMODITY.COMMODITY_RULE = dt.Rows[i][6].ToString();
_RunningCOMMODITY.COMMODITY_ORI = dt.Rows[i][7].ToString();
if (HZQR.Common.Utils.IsNumeric(_tempCOMMODITYGRADE))
{
_RunningCOMMODITY.COMMODITY_GRADE = _tempCOMMODITYGRADE;
}
_RunningCOMMODITY.ISBULK = int.Parse(_tempISBULK);
_RunningCOMMODITY.METERINGMETHOD = int.Parse(_tempMETERINGMETHOD);
_RunningCOMMODITY.COMMODITY_STATE = int.Parse(_tempCOMMODITYSTATE);
//进价税率
if (!string.IsNullOrEmpty(dt.Rows[i][dt.Columns.Count - 2].ToString()))
{
try
{
_RunningCOMMODITY.DUTY_PARAGRAPH = short.Parse(
dt.Rows[i][dt.Columns.Count - 2].ToString());
}
catch { }
}
//销售税率
if (!string.IsNullOrEmpty(dt.Rows[i][dt.Columns.Count - 1].ToString()))
{
try
{
_RunningCOMMODITY.RETAIL_DUTY = short.Parse(
dt.Rows[i][dt.Columns.Count - 1].ToString());
}
catch { }
}
_RunningCOMMODITY.Insert();
//插入关联关系
HWRB.MODIFYFROMSTORAGE _MODIFYFROMSTORAGE = new HWRB.MODIFYFROMSTORAGE(this.Transaction);
_MODIFYFROMSTORAGE.HIGHWAYPROINST_ID = _HIGHWAYPROINST.HIGHWAYPROINST_ID;
_MODIFYFROMSTORAGE.Field_Value = _COMMODITY.COMMODITY_ID.Value.ToString();
_MODIFYFROMSTORAGE.Table_Name = "T_COMMODITY";
_MODIFYFROMSTORAGE.Field_Name = "COMMODITY_ID";
_MODIFYFROMSTORAGE.Insert();
}
#endregion
}
else
{
if ((string.IsNullOrEmpty(_BusinessType) ? true : !_BusinessType.Contains(_tempBUSINESSTYPE)) &&
_SERVERPART.PROVINCE_CODE.ToString() == ProvinceID && _HIGHWAYPROINST.ExecuteDataTable(
"SELECT 1 FROM HIGHWAY_STORAGE.V_ALL_COMMODITY" + GoodsProvinceCode +
" WHERE COMMODITY_BARCODE = '" + dt.Rows[i][2].ToString() +
"' AND COMMODITY_STATE >= 1 AND SERVERPART_ID = " + WholeServerpartID +
(string.IsNullOrEmpty(_BusinessType) ? "" : " AND BUSINESSTYPE NOT IN (" +
_BusinessType + ")")).Rows.Count > 0 && _SERVERPART.SERVERPART_ID.ToString() != WholeServerpartID)
{
_ErrUnPri += (string.IsNullOrEmpty(_ErrUnPri) ? "" : ",") +
dt.Rows[i][3].ToString() + "[" + dt.Rows[i][2].ToString() + "]";
}
else
{
_ErrNoPro += _ErrNoPro.Length > 0 ? "," : "";
_ErrNoPro += dt.Rows[i][3].ToString() + "[" + dt.Rows[i][2].ToString() + "]";
}
ErrorCount++;
}
#endregion
}
else
{
_ErrNorType += _ErrNorType.Length > 0 ? "," : "";
_ErrNorType += dt.Rows[i][3].ToString() + "[" + dt.Rows[i][2].ToString() + "]";
NotExistsCount++;
}
#endregion
}
else
{
_ErrBUSINESSTYPE += _ErrBUSINESSTYPE.Length > 0 ? "," : "";
_ErrBUSINESSTYPE += dt.Rows[i][3].ToString() + "[" + dt.Rows[i][2].ToString() + "]";
ErrorCount++;
}
#endregion
}
else
{
_ErrCOMMODITYTYPE += _ErrCOMMODITYTYPE.Length > 0 ? "," : "";
_ErrCOMMODITYTYPE += dt.Rows[i][3].ToString() + "[" + dt.Rows[i][2].ToString() + "]";
ErrorCount++;
}
#endregion
}
else
{
NotExistsCount++;
}
}
}
else
{
return "请选择服务区!";
}
#endregion
}
else
{
return "流程码为空!";
}
_Result += _ErrCOMMODITYTYPE.Length > 0 ? ",商品名称为" + _ErrCOMMODITYTYPE + "的商品类型无法匹配" : "";
_Result += _ErrBUSINESSTYPE.Length > 0 ? ",商品名称为" + _ErrBUSINESSTYPE + "的业态无法匹配" : "";
_Result += _ErrNorType.Length > 0 ? ",商品名称为" + _ErrNorType + "的是否散称或称重方式或商品状态无法匹配" : "";
_Result += _ErrUnPri.Length > 0 ? ",商品名称为" + _ErrUnPri + "已存在于统一定价中" : "";
_Result += _ErrNoPro.Length > 0 ? ",商品名称为" + _ErrNoPro + "不存在,请进行商品新增" : "";
_Result += _ErrEx.Length > 0 ? ",商品名称为" + _ErrEx + "已存在于其他业务流程中" : "";
_Result += _ErrNotEx.Length > 0 ? ",商品名称为" + _ErrNotEx + "已提交审批却不在业务流程中,请通知管理员" : "";
_Result = (_Result.Length > 0 ? ",其中未对应系统商品" + ErrorCount + "件" : "") + _Result;
if (dt.Rows.Count != ErrorCount + NotExistsCount)
{
_Result = "导入完成" + _Result;
}
else
{
_Result = "导入失败" + _Result;
}
return _Result;
}
#endregion
#region ->
public string CreateBarCode(string COMMODITYCode)
{
string BarCode = string.Empty;
int LastCode = 0;
BarCode = COMMODITYCode;
//8位编号补足12位
if (BarCode.Length == 8) BarCode = "2600" + BarCode;
//偶数位的数字求和*3 + 奇数位数字和
for (int i = 1; i <= 12; i++)
{
int Num = int.Parse(BarCode.Substring(i - 1, 1));
if (i % 2 == 0)
{
LastCode += Num * 3;
}
else
{
LastCode += Num;
}
}
//和求10的模
LastCode = 10 - (LastCode % 10);
if (LastCode == 10) LastCode = 0;
//返回条码
return BarCode + LastCode.ToString();
}
#endregion
#region -> Symbol
public void UpdateSymbol(string SERVERPART_ID, string BUSINESS_TYPE, int COMMODITY_ID)
{
//获取服务区业态最大Symbol
DataTable dt = new Running.Business.COMMODITY(Transaction).ExecuteDataTable(
"SELECT MAX(to_number(REGEXP_REPLACE(NVL(COMMODITY_SYMBOL,0), '^[[:alpha:]]'))) FROM HIGHWAY_STORAGE.T_COMMODITY" +
GoodsProvinceCode + " WHERE SERVERPART_ID = " + SERVERPART_ID + " AND BUSINESSTYPE = " + BUSINESS_TYPE);
int NextSymbol = int.Parse(dt.Rows[0][0].ToString()) + 1;
if (WholeServerpartID == SERVERPART_ID)
{
new Running.Business.COMMODITY(Transaction).ExecuteNonQuery("UPDATE HIGHWAY_STORAGE.T_COMMODITY" +
GoodsProvinceCode + " SET COMMODITY_SYMBOL = 'T" + NextSymbol + "' WHERE COMMODITY_ID = " + COMMODITY_ID, null);
}
else
{
new Running.Business.COMMODITY(Transaction).ExecuteNonQuery("UPDATE HIGHWAY_STORAGE.T_COMMODITY" +
GoodsProvinceCode + " SET COMMODITY_SYMBOL = " + NextSymbol + " WHERE COMMODITY_ID = " + COMMODITY_ID, null);
}
}
#endregion
#region
/// <summary>
/// 由连字符分隔的32位数字
/// </summary>
/// <returns></returns>
private static string GetGuid()
{
System.Guid guid = new Guid();
guid = Guid.NewGuid();
return guid.ToString();
}
/// <summary>
/// 是否为Double类型
/// </summary>
/// <param name="expression"></param>
/// <returns></returns>
public static bool IsDouble(object expression)
{
if (expression != null)
return Regex.IsMatch(expression.ToString(), @"^([0-9])[0-9]*(\.\w*)?$");
return false;
}
#endregion
}
}