using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Web; using SuperMap.RealEstate.ServiceModel; using SuperMap.RealEstate.Utility; using HWSDB = SuperMap.RealEstate.HighWay.SellData.Business; using Newtonsoft.Json.Linq; using Newtonsoft.Json; using HZQR.Common; namespace SuperMap.RealEstate.HighWay.Handler.CommonInterface { public class BusinessHelper { #region 扣除库存 public static string DeductStock(Transaction _Transaction) { string EndAccountId = Pub.Request("EndAccountId"); //日结内码 string ServerpartShopID = Pub.Request("ServerpartShopID"); //门店内码 string ServerpartCode = Pub.Request("ServerpartCode"); //服务区编码 string ShopCode = Pub.Request("ShopCode"); //门店编码 string ServerpartName = Pub.Request("ServerpartName"); //服务区名称 string ShopName = Pub.Request("ShopName"); //门店名称 string MachineCode = Pub.Request("MachineCode"); //机器编码 string EndaccountDate = Pub.Request("EndaccountDate"); //结账时间 string ProvinceCode = Pub.Request("ProvinceCode"); //省份内码(匹配商品内码) string DataProvinceCode = Pub.Request("DataProvinceCode"); //省份编码 JObject info = new JObject(); try { //统计单品销售数据 DataTable dtSales = new HWSDB.ENDACCOUNT(_Transaction).ExecuteDataTable(string.Format(@" SELECT {5} AS SERVERPARTSHOP_ID,B.COMMODITY_ID,B.COMMODITY_NAME,B.COMMODITY_BARCODE, -NVL(SUM(A.TOTALCOUNT),0) AS OPERATE_COUNT,-NVL(SUM(A.TOTALSELLAMOUNT),0) AS OPERATE_TAXAMOUNT, -ROUND(NVL(SUM(A.TOTALSELLAMOUNT),0) / (1 + NVL(B.RETAIL_DUTY,13) / 100),2) AS OPERATE_AMOUNT, A.ENDDATE AS OPERATE_DATE,'{6}' AS SERVERPART_NAME,'{7}' AS SHOPNAME,A.MACHINECODE FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE A, HIGHWAY_STORAGE.V_WHOLE_COMMODITY B WHERE A.COMMODITY_CODE = B.COMMODITY_CODE AND B.PROVINCE_CODE = {4} AND A.SERVERPARTCODE = '{0}' AND A.SHOPCODE = '{1}' AND A.MACHINECODE = '{2}' AND A.ENDDATE = TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') GROUP BY A.ENDDATE,B.COMMODITY_ID,B.COMMODITY_NAME,B.COMMODITY_BARCODE,B.RETAIL_DUTY,A.MACHINECODE", ServerpartCode, ShopCode, MachineCode, EndaccountDate, ProvinceCode, ServerpartShopID, ServerpartName, ShopName)); //记录库存销售日志 Dictionary dic = new Dictionary(); dic.Add("action_type", "DeductStock"); dic.Add("EndAccountId", EndAccountId); dic.Add("ProvinceCode", DataProvinceCode); dic.Add("ServerpartShopID", ServerpartShopID); dic.Add("EndaccountDate", EndaccountDate); dic.Add("JsonString", HttpUtility.UrlEncode(JsonConvert.SerializeObject(dtSales))); string CoopMerchantUrl = ConfigurationManager.AppSettings["CoopMerchantUrl"].ToString(); string _BaseUrl = CoopMerchantUrl + "/SendRec/Handler/handler_ajax.ashx"; string reString = HttpUtil.HttpUrlPost(_BaseUrl, dic); _Transaction.Commit(); info["Result_Code"] = "100"; info["Result_Desc"] = "扣减成功"; } catch (Exception ex) { ex = ex ?? ex.InnerException; ErrorLogHelper.Write(ex); _Transaction.Rollback(); info["Result_Code"] = "999"; info["Result_Desc"] = "扣减失败" + ex.Message; } return info.ToString(); } #endregion } }