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

84 lines
4.1 KiB
C#

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<string, string> dic = new Dictionary<string, string>();
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
}
}