220 lines
9.6 KiB
C#
220 lines
9.6 KiB
C#
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
|
||
}
|
||
} |