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

220 lines
9.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using SuperMap.RealEstate.ServiceModel;
using SuperMap.RealEstate.Utility;
using SRSB = SuperMap.RealEstate.SendRec.Storage.Business;
using HWSB = SuperMap.RealEstate.HighWay.Storage.Business;
using HWSDB = SuperMap.RealEstate.HighWay.SellData.Business;
using Business = SuperMap.RealEstate.SendRec.Storage.Business;
using HCC = HZQR.Common.Common;
using Newtonsoft.Json.Linq;
using HZQR.Common;
namespace SuperMap.RealEstate.SendRec.Handler
{
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"); //省份内码(匹配商品内码)
JObject info = new JObject();
try
{
int deliverType = 1000;
HWSB.SERVERPARTSHOP _SERVERPARTSHOP = new HWSB.SERVERPARTSHOP(_Transaction);
_SERVERPARTSHOP.SERVERPARTSHOP_ID_Encrypt = ServerpartShopID.ToEncrypt();
if (_SERVERPARTSHOP.Select() && _SERVERPARTSHOP.BUSINESS_NATURE != null)
{
deliverType = _SERVERPARTSHOP.BUSINESS_NATURE.Value;
}
//统计单品销售数据
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));
//记录库存销售日志
new SRSB.STOCKLOG(_Transaction).AddStockLog(5000, EndAccountId.TryParseToInt(),
ServerpartShopID.TryParseToInt(), deliverType, EndaccountDate.TryParseToDateTime().Value, dtSales);
_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
#region
public static string UploadFile(HttpContext context, Transaction _Transaction)
{
JObject info = new JObject();
HttpPostedFile file = context.Request.Files["Filedata"];
string TableID = context.Request.Form["TableID"].ToString();
string TableName = context.Request.Form["TableName"].ToString();
string uploadtype = context.Request.Form["uploadtype"].ToString();
if (file == null)
{
file = context.Request.Files["UploadFile"];
}
if (file.ContentLength / 1024 / 1024 > 10)
{
info["Result_Code"] = 200;
info["Result_Desc"] = "传输失败文件大小超过10MB";
return info.ToString();
}
else
{
if (TableID == "")
{
info["Result_Code"] = 200;
info["Result_Desc"] = "传输失败!请传入业务内码和表名称";
return info.ToString();
}
if (file != null)
{
if (Path.GetExtension(file.FileName).ToLower() == ".exe")
{
info["Result_Code"] = 200;
info["Result_Desc"] = "传输失败不允许上传exe文件";
return info.ToString();
}
string postUrl = ConfigurationManager.AppSettings["postUrl"];
string fileDir = "UploadImageDir/" + (TableName.StartsWith("T_") ? TableName.Substring(2) : TableName) + "/" +
DateTime.Now.ToString("yyyyMMddHHmmssff") + "_" + Path.GetFileNameWithoutExtension(file.FileName);
string fileType = file.ContentType;
Stream stream = file.InputStream;
byte[] data = new byte[stream.Length];
stream.Read(data, 0, data.Length);
string result = HCC.CommonHelper.PostFileToServer(fileDir,
file.FileName, fileType, data, postUrl + "FileUpload.ashx");
JObject Jresult = JObject.Parse(result);
if (Jresult["Result_Code"].TryParseToInt() == 100)
{
info["Result_Code"] = Jresult["Result_Code"];
info["Result_Desc"] = Jresult["Result_Desc"];
Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(_Transaction);
switch (uploadtype)
{
case "file_upload_Common":
_ATTACHMENT.ATTACHMENT_NAME = file.FileName;
_ATTACHMENT.ATTACHMENT_PATH = fileDir;
_ATTACHMENT.ATTACHMENT_URL = postUrl + _ATTACHMENT.ATTACHMENT_PATH + "/" + _ATTACHMENT.ATTACHMENT_NAME;
_ATTACHMENT.OPERATE_DATE = long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss"));
_ATTACHMENT.TABLE_ID = int.Parse(TableID);
_ATTACHMENT.TABLE_NAME = TableName;
_ATTACHMENT.Insert();
JObject keyValuePairs = new JObject();
keyValuePairs["attachmentID"] = _ATTACHMENT.ATTACHMENT_ID_Encrypt;
keyValuePairs["attachmentName"] = _ATTACHMENT.ATTACHMENT_NAME;
info["Result_Data"] = keyValuePairs;
break;
}
}
else
{
return result;
}
return info.ToString();
}
info["Result_Code"] = 200;
info["Result_Desc"] = "传输失败!文件不存在";
return info.ToString();
}
}
#endregion
#region
public static string DeleteFile(Transaction _Transaction, bool DeleteFile = false)
{
string postUrl = ConfigurationManager.AppSettings["postUrl"];
JObject info = new JObject();
try
{
string attachmentID = Pub.Request("attachmentID");
Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(_Transaction);
_ATTACHMENT.ATTACHMENT_ID_Encrypt = attachmentID;
if (_ATTACHMENT.Select())
{
if (DeleteFile)
{
//删除指定服务器上的文件
HCC.CommonHelper.DelFileFromServer(_ATTACHMENT.ATTACHMENT_PATH,
_ATTACHMENT.ATTACHMENT_NAME, postUrl + "FileUpload.ashx");
}
//从数据库删除记录
_ATTACHMENT.Delete();
}
info["Result_Code"] = 100;
info["Result_Desc"] = "删除成功!";
}
catch (Exception ex)
{
_Transaction.Rollback();
ex = ex ?? ex.InnerException;
info["Result_Code"] = 999;
info["Result_Desc"] = "删除失败" + ex.Message;
ErrorLogHelper.Write(ex, "DeleteFile", "DeleteFile");
}
return info.ToString();
}
#endregion
}
}