84 lines
4.1 KiB
C#
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
|
|
}
|
|
} |