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

121 lines
5.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Web;
using SuperMap.RealEstate.Utility;
using SuperMap.RealEstate.ServiceModel;
using SuperMap.RealEstate.ExchangeData.Business;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using HZQR.Common;
namespace SuperMap.RealEstate.ExchangeData.Handler.CommonInterface
{
public class DataTransfer
{
#region ->
public static string ImportGoods(Transaction _Transaction)
{
string resString = "";
try
{
string action_data = Pub.Request("action_data");
if (string.IsNullOrEmpty(action_data))
{
byte[] input = HttpContext.Current.Request.BinaryRead(HttpContext.Current.Request.TotalBytes);
action_data = System.Text.Encoding.UTF8.GetString(input).Replace("action_data=", "");
}
List<Common.COMMODITYEX> _list = QRWL.Common.JsonHelper.JSONStringToList<Common.COMMODITYEX>(action_data);
Business.COMMODITYEX CommodityEx = new Business.COMMODITYEX(_Transaction);
if (_list.Count > 0)
{
for (int i = 0; i < _list.Count; i++)
{
Common.COMMODITYEX _mode = (Common.COMMODITYEX)_list[i];
DataTable dt = CommodityEx.ExecuteDataTable("SELECT HIGHWAY_STORAGE.SEQ_COMMODITYEX.NEXTVAL AS QID FROM DUAL", null);
_mode.COMMODITYEX_ID = Decimal.Parse(dt.Rows[0]["QID"].ToString());
string sql = string.Format(@"INSERT INTO HIGHWAY_STORAGE.T_COMMODITYEX(
COMMODITYEX_ID,SERVERPARTCODE,SHOPCODE,COMMODITY_TYPE,COMMODITY_CODE,COMMODITY_NAME,
COMMODITY_BARCODE,COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_RETAILPRICE,COMMODITY_PURCHASEPRICE,
COMMODITY_MEMBERPRICE,BUSINESSTYPE,ISBULK,METERINGMETHOD,GUARANTEE_DAY,REMINDER_DAY,
COMMODITY_STATE,OPERATE_DATE,COMMODITY_HOTKEY,USERDEFINEDTYPE_ID,USERDEFINEDTYPE_NAME,
COMMODITY_EN,COMMODITY_ORI,COMMODITY_GRADE)
VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}',
'{13}','{14}','{15}','{16}','{17}',SYSDATE,'{18}','{19}','{20}','{21}','{22}','{23}')",
_mode.COMMODITYEX_ID, _mode.SERVERPARTCODE, _mode.SHOPCODE, _mode.COMMODITY_TYPE, _mode.COMMODITY_CODE,
_mode.COMMODITY_NAME, _mode.COMMODITY_BARCODE, _mode.COMMODITY_UNIT, _mode.COMMODITY_RULE,
_mode.COMMODITY_RETAILPRICE, _mode.COMMODITY_PURCHASEPRICE, _mode.COMMODITY_MEMBERPRICE,
_mode.BUSINESSTYPE, _mode.ISBULK, _mode.METERINGMETHOD, _mode.GUARANTEE_DAY, _mode.REMINDER_DAY,
_mode.COMMODITY_STATE, _mode.COMMODITY_HOTKEY, _mode.USERDEFINEDTYPE_ID, _mode.USERDEFINEDTYPE_NAME,
_mode.COMMODITY_EN, _mode.COMMODITY_ORI, _mode.COMMODITY_GRADE);
CommodityEx.ExecuteNonQuery(sql, null);
}
}
_Transaction.Commit();
resString = "{\"code\":1,\"msg\":\"成功\",\"data\":\"\"}";
}
catch (Exception ex)
{
_Transaction.Rollback();
resString = "{\"code\":-1,\"msg\":\"可能出现的错误:" + ex.Message + "\",\"data\":[]}";
}
return resString;
}
#endregion
#region ->
/// <summary>
/// 更新数据变更日志表
/// </summary>
/// <param name="_Transaction">事务管理器</param>
public static string UpdateDataVersion(Transaction _Transaction)
{
string reString = "";
JObject info = new JObject();
try
{
string ServerepartCodes = Pub.Request("ServerepartCode"); //服务区编码集合
string TableName = Pub.Request("TableName"); //更新表名
string UpdateDateTime = Pub.Request("UpdateDateTime"); //更新时间
bool UpdateSate = true;
//LogUtil.WriteLog(HttpContext.Current.Request.Params.ToString().Split("ALL_HTTP")[0]);
foreach (string _ServerepartCode in ServerepartCodes.Split(','))
{
UpdateSate = DOWNLOADUPDATE.UpdateDataVersion(_Transaction, _ServerepartCode,
TableName, UpdateDateTime.TryParseToDateTime().Value);
}
if (UpdateSate)
{
_Transaction.Commit();
info["ResultCode"] = "100";
info["ResultDesc"] = "更新成功";
}
else
{
info["ResultCode"] = "200";
info["ResultDesc"] = "更新失败";
}
}
catch (Exception ex)
{
ex = ex ?? ex.InnerException;
ErrorLogHelper.Write(ex);
info["ResultCode"] = "999";
info["ResultDesc"] = "更新失败:" + ex.Message;
}
reString = info.ToString();
return reString;
}
#endregion
}
}