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 _list = QRWL.Common.JsonHelper.JSONStringToList(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 方法 -> 更新数据变更日志表 /// /// 更新数据变更日志表 /// /// 事务管理器 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 } }