You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2622 lines
106 KiB
C#

2 months ago
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using TradeModel;
using TradeData;
using NetLibrary.Data;
using NetLibrary;
using System.Data;
using NetLibrary.ReportPrint;
using System.Dynamic;
using NPOI.HSSF.Record.Formula.Functions;
using Org.BouncyCastle.Asn1.Tsp;
using System.Web.Services.Description;
using Aspose.Pdf.Forms;
using System.Data.Common;
namespace TradeManageNew
{
/// <summary>
/// CangKuServerNew 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class CangKuServerNew : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod(EnableSession = true)]
public string Save_BackGoods2(DT_BackGoodsNew Model, List<BackGoodsInListNew> glist)
{
PagesNew.Login(base.Session);
int Num = 0;
if (glist != null)
{
foreach (var md in glist)
{
Num += md.Num;
}
}
Model.Num = Num;
if ((Model.imglist != null) && (Model.imglist.Count > 0))
{
int i = 0;
foreach (JC_Resource resource in Model.imglist)
{
switch (i)
{
case 0:
Model.ImgUrl = resource.FileUrl;
break;
case 1:
Model.ImgUrl2 = resource.FileUrl;
break;
case 2:
Model.ImgUrl3 = resource.FileUrl;
break;
case 3:
Model.ImgUrl4 = resource.FileUrl;
break;
case 4:
Model.ImgUrl5 = resource.FileUrl;
break;
}
i++;
}
}
Model.InUserId = new int?(Convert.ToInt32(base.Session["UserId"]));
Model.InDate = new DateTime?(DateTime.Now);
DD_OrderData data = new DD_OrderData();
int CompanyId = Convert.ToInt32(base.Session["CompanyId"]);
string Name = Convert.ToString(base.Session["Name"]);
int UserId = Convert.ToInt32(base.Session["UserId"]);
CK_HouseData data2 = new CK_HouseData();
HuoWuData data3 = new HuoWuData();
int? goodsState = Model.GoodsState;
string kw = "";
if (goodsState == 1 || goodsState == 2)
{
if (glist != null)
{
foreach (var md in glist)
{
int postionid = 0;
int postionid2 = 0;
if (md.PostionCode != "")
{
if (Model.Type == 2 && md.OldPostionCode != "")
{
postionid2 = DataNew.IsStorePostionCode2(md.OldPostionCode, md.DetailId.Value, md.Num);
if (postionid2 == 0)
{
return (md.OldPostionCode + "FBA原库位编码不存在;");
}
if (postionid2 == -1)
{
return (md.OldPostionCode + "FBA原库存少于你入库的数量;");
}
}
postionid = data2.IsStorePostionCode(0, md.PostionCode);
if (postionid == 0)
{
return (md.PostionCode + "库位编码不存在;");
}
md.PostionId = postionid;
md.PostionId2 = postionid2;
if (Model.Type == 2)
{
kw += "FBA原库位" + md.OldPostionCode + "";
}
kw += "入库库位:" + md.PostionCode + "";
}
}
}
Model.PostionCode = kw;
HW_GoodsInRecord model = new HW_GoodsInRecord
{
CompanyId = CompanyId,
InDate = DateTime.Now,
InUserId = UserId,
InNum = Model.Num,
IsDelete = 0,
ChaseId = 0
};
int InId = data3.SaveGoodsInRecordForTM(model);
foreach (var md in glist)
{
if (Model.Type == 2)
{
DataNew.UpdateFBAPostionCode(md.PostionId2.Value, md.DetailId.Value, md.Num);
}
HW_GoodsInRK nrk = new HW_GoodsInRK
{
InId = InId,
DetailId = md.DetailId,
GoodsNum = md.Num,
InNum = md.Num,
PostionId = md.PostionId
};
int RKId = data3.SaveInRecordDetail(nrk);
if (nrk.InNum.HasValue && (nrk.InNum.Value > 0))
{
nrk.InUserId = UserId;
nrk.RKDetailId = RKId;
nrk.Companyid = CompanyId;
data3.SaveGoodsInInnerIn2(nrk);
}
}
}
if (Model.Type == 2)
Model.OrderCode = "FBA仓库退回";
DataNew.Save_BackGoods2(Model);
return "";
}
[WebMethod(EnableSession = true)]
public List<CK_OtherFeeNew> GetListFeeDetailOther2(int CompanyId,string FeeDate)
{
PagesNew.Login(base.Session);
DateTime SDate = Convert.ToDateTime(FeeDate);
return DataNew.GetListFeeDetailOther2(CompanyId, SDate);
}
[WebMethod(EnableSession = true)]
public List<CK_OtherFeeNew> GetListFeeDetailOther(int CompanyId)
{
PagesNew.Login(base.Session);
return DataNew.GetListFeeDetailOther(CompanyId);
}
[WebMethod(EnableSession = true)]
public JsonModel<List<CK_OtherFeeNew>> GetListOtherFee(string cs, int PageIndex, int PageSize)
{
PagesNew.Login(base.Session);
string where = CustomIO.Base64StringToString(cs);
if (where != "")
{
where = "where " + where.Substring(4);
}
JsonModel<List<CK_OtherFeeNew>> model = new JsonModel<List<CK_OtherFeeNew>>();
int rowCount = 0;
model.DataSource = DataNew.GetListOtherFee(where, PageIndex, PageSize, "", out rowCount);
model.RowCount = rowCount;
return model;
}
[WebMethod(EnableSession = true)]
public List<CK_OtherFeeNew> GetListFeeDetailOtherList(int CompanyId, DateTime? SDate, DateTime? EDate)
{
PagesNew.Login(base.Session);
EDate = EDate.Value.AddDays(1);
var list = DataNew.GetListOtherFeeList(SDate, EDate, CompanyId);
var list2 = DataNew.GetListOtherFeeList2(SDate, EDate, CompanyId);
if (list != null)
{
foreach (var md in list)
{
var mlist = list2.FindAll(n => n.FeeDate.Value.ToString("yyyy-MM-dd") == md.FeeDate2);
string fees = "";
if (mlist != null)
{
foreach (var md2 in mlist)
{
fees += md2.FeeName + "" + md2.TotalFee + " ";
}
}
md.FeeDetail = fees;
}
}
return list;
}
[WebMethod(EnableSession = true)]
public int Save_OtherFee2(List<CK_OtherFeeNew> list, DateTime? Feedate, int CompanyId)
{
PagesNew.Login(base.Session);
if (list == null)
{
return 0;
}
int UserId = Convert.ToInt32(base.Session["UserId"]);
foreach (var fee in list)
{
if (fee.Num != null && fee.Num > 0)
{
decimal FeeRate = 0M;
if (fee.FeeRate != null)
{
FeeRate = fee.FeeRate.Value;
}
decimal OffRate = 1M;
if (fee.OffRate != null && fee.OffRate > 0)
{
OffRate = fee.OffRate.Value / 10M;
}
fee.TotalFee = FeeRate * fee.Num * OffRate;
fee.InUserId = UserId;
fee.InDate = DateTime.Now;
fee.CompanyId = CompanyId;
fee.FeeDate = Feedate;
if (fee.FeeDate == null)
{
fee.FeeDate = DateTime.Now;
}
DataNew.Save_OtherFee(fee);
}
}
DataNew.UpdateOtherFeeNew(Feedate.Value, CompanyId);
return 1;
}
#region 查询费用报表
[WebMethod(EnableSession = true)]
public List<CK_FeeReportNew2> GetListFeeReportNew2(int CompanyId, int FeeType, DateTime? SDate, DateTime? EDate)
{
PagesNew.Login(this.Session);
EDate = EDate.Value.AddDays(1);
string html = "";
List<CK_FeeReportNew2> list = new List<CK_FeeReportNew2>();
int CompanyID2 = Convert.ToInt32(Session["CompanyId"]);
if (CompanyId > 0)
CompanyID2 = CompanyId;
var clist = BaseService.GetListCompany3(CompanyID2);
var rlist = BaseService.GetListFeeReport2(CompanyId, FeeType, SDate, EDate);
if (clist == null)
return null;
var hjmd = DataNew.GetHWCCZFee(CompanyID2);
foreach (var cmd in clist)
{
CK_FeeReportNew2 rmd = new CK_FeeReportNew2();
rmd.CompanyName = cmd.Name;
rmd.CompanyId = cmd.ID;
decimal hj = 0;
rmd.Fee1 = 0;
rmd.Fee2 = 0;
rmd.Fee3 = 0;
rmd.Fee4 = 0;
rmd.Fee5 = 0;
rmd.Fee9 = 0;
rmd.Fee10 = 0;
rmd.HJFee = 0;
if (hjmd != null)
{
rmd.HJCZFee = hjmd.HJCZFee;
rmd.HJYGFee = hjmd.HJYGFee;
}
if (rlist != null)
{
var relist = rlist.FindAll(n => n.CompanyId == cmd.ID);
if (relist != null)
{
foreach (var remmd in relist)
{
if (remmd.TotalFee != null)
{
if (remmd.FeeType == 1)
{
rmd.Fee1 = remmd.TotalFee.Value;
hj += remmd.TotalFee.Value;
}
if (remmd.FeeType == 2)
{
rmd.Fee2 = remmd.TotalFee.Value;
hj += remmd.TotalFee.Value;
}
if (remmd.FeeType == 3)
{
rmd.Fee3 = remmd.TotalFee.Value;
hj += remmd.TotalFee.Value;
}
if (remmd.FeeType == 4)
{
rmd.Fee4 = remmd.TotalFee.Value;
hj += remmd.TotalFee.Value;
}
if (remmd.FeeType == 5)
{
rmd.Fee5 = remmd.TotalFee.Value;
hj += remmd.TotalFee.Value;
}
if (remmd.FeeType == 9)
{
rmd.Fee9 = remmd.TotalFee.Value;
hj += remmd.TotalFee.Value;
}
if (remmd.FeeType == 10)
{
rmd.Fee10 = remmd.TotalFee.Value;
hj += remmd.TotalFee.Value;
}
}
}
}
}
rmd.HJFee = hj;
list.Add(rmd);
}
return list;
}
#endregion
#region 查询费用报表
[WebMethod(EnableSession = true)]
public string GetListFeeReport2(int CompanyId, int FeeType, DateTime? SDate, DateTime? EDate)
{
PagesNew.Login(this.Session);
EDate = EDate.Value.AddDays(1);
string html = "";
var list = BaseService.GetListFeeReport(CompanyId, FeeType, SDate, EDate);
if (list == null)
list = new List<CK_FeeReport>();
int days = DateDiff(SDate.Value, EDate.Value);
decimal totalfee = 0;
for (int i = days - 1; i >= 0; i--)
{
html += "<table class='tableAll' width='95%' border='1'>";
if (FeeType > 0)
{
var dlist = list.Find(n => n.InDate == SDate.Value.AddDays(i) && n.FeeType == FeeType);
if (dlist != null)
{
html += "<tr>";
html += "<td colspan='4' class='bghd'><div>" + SDate.Value.AddDays(i).ToString("yyyy年MM月dd日") + " 费用 合计:<span class='af2'>" + dlist.TotalFee + "$</span></div>";
html += "</td>";
html += "</tr>";
totalfee += dlist.TotalFee.Value;
html += "<tr><td class='bg1' width='15%'>" + dlist.FeeName + "</td>";
html += "<td width='35%'><div class='af' fdesc='" + dlist.FeeDesc + "'>" + dlist.FeeDesc + "$</div>";
html += "</td><td class='bg1' width='15%'></td>";
html += "<td width='35%'>";
html += "</td>";
html += "</tr>";
html += "</table>";
}
else
{
html += "<tr>";
html += "<td colspan='4' class='bghd'><div>" + SDate.Value.AddDays(i).ToString("yyyy年MM月dd日") + " 费用 合计:<span class='af2'>0$</span></div>";
html += "</td>";
html += "</tr>";
html += "<tr><td class='bg1' width='15%'><div class='af' fdesc=''>0$</div></td>";
html += "<td width='35%'>";
html += "</td><td class='bg1' width='15%'></td>";
html += "<td width='35%'>";
html += "</td>";
html += "</tr>";
html += "</table>";
}
}
else
{
var dlist = list.FindAll(n => n.InDate == SDate.Value.AddDays(i));
if (dlist != null && dlist.Count > 0)
{
decimal hj = 0;
foreach (var md in dlist)
{
if (md.Dec != null)
hj += md.TotalFee.Value;
}
html += "<tr>";
totalfee += hj;
html += "<td colspan='4' class='bghd'><div>" + SDate.Value.AddDays(i).ToString("yyyy年MM月dd日") + " 费用 合计:<span class='af2'>" + hj + "$</span></div>";
html += "</td>";
html += "</tr>";
int r = 1;
foreach (var md in dlist)
{
if (r == 1)
{
html += "<tr><td class='bg1' width='15%'>" + md.FeeName + "</td>";
html += "<td width='35%'><div class='af' fdesc='" + md.FeeDesc + "'>" + md.FeeDesc + "$</div></td>";
r = 2;
}
else if (r == 2)
{
html += "<td class='bg1' width='15%'>" + md.FeeName + "</td>";
html += "<td width='35%'><div class='af' fdesc='" + md.FeeDesc + "'>" + md.FeeDesc + "$</div></td>";
html += "</tr>";
r = 1;
}
}
if (r == 2)
{
html += "<td width='35%'></td>";
html += "</tr>";
}
html += "</table>";
}
else
{
html += "<tr>";
html += "<td colspan='4' class='bghd'><div>" + SDate.Value.AddDays(i).ToString("yyyy年MM月dd日") + " 费用 合计:<span class='af2'>0$</span></div>";
html += "</td>";
html += "</tr>";
html += "<tr><td class='bg1' width='15%'><div class='af' fdesc=''>0$</div></td>";
html += "<td width='35%'>";
html += "</td><td class='bg1' width='15%'></td>";
html += "<td width='35%'>";
html += "</td>";
html += "</tr>";
html += "</table>";
}
}
}
html += "<table class='tableAll' width='95%' border='1'><tr><td colspan='4'> 合计费用:<span class='af3' >" + totalfee + "$</span></td></tr></table>";
return html;
}
private static int DateDiff(DateTime dateStart, DateTime dateEnd)
{
DateTime start = Convert.ToDateTime(dateStart.ToShortDateString());
DateTime end = Convert.ToDateTime(dateEnd.ToShortDateString());
TimeSpan sp = end.Subtract(start);
return sp.Days;
}
#endregion
#region 导入货物入库修改
[WebMethod(EnableSession = true)]
public string ExcelSaveGoodsRKHWC2(string FileName, int CompanyId)
{
PagesNew.Login(this.Session);
if (string.IsNullOrEmpty(FileName) == true) return "要导入的文件路径不能为空";
string ServerFileName = AppDomain.CurrentDomain.BaseDirectory + FileName;
if (System.IO.File.Exists(ServerFileName) == false) return "要导入的文件路径不存在";
// int CompanyId = Convert.ToInt32(Session["CompanyId"]);
try
{
MicrosoftExcel excel = new MicrosoftExcel();
DataTable tb = excel.ImportExcel(ServerFileName);
string error = "";
if (tb.Columns.Contains("SKU") == false) { error = error + "导入模板的 SKU 列不存在"; }
//if (tb.Columns.Contains("导入库存") == false) { error = error + "导入模板的 导入库存 列不存在"; }
if (tb.Columns.Contains("库位") == false) { error = error + "导入模板的 库位 列不存在"; }
if (tb.Columns.Contains("出库数量") == false) { error = error + "导入模板的 出库数量 列不存在"; }
//if (tb.Columns.Contains("单价") == false) { error = error + "导入模板的 单价 列不存在"; }
//if (tb.Columns.Contains("重量(克)") == false) { error = error + "导入模板的 重量(克) 列不存在"; }
//if (tb.Columns.Contains("入库数量") == false) { error = error + "导入模板的 入库数量 列不存在"; }
if (string.IsNullOrEmpty(error) == false) return error + ";请重新下载模板导入";
HuoWuData obj = new HuoWuData();
int UserId = Convert.ToInt32(Session["UserId"]);
int Num = 0;
DateTime UpDateTime = DateTime.Now;
//HuoWuData.ClearKC(CompanyId, DateTime.Now);//清除库存
for (int i = 0; i < tb.Rows.Count; i++)
{
var md = new HW_GoodsInDetailHWC();
md.SKU = tb.Rows[i]["SKU"].ToString().Trim();
if (md.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的SKU没填<br/>";
continue;
}
md.PostionCode = tb.Rows[i]["库位"].ToString().Trim();
int KCNum2 = 0;
try
{
if (tb.Rows[i]["库存"].ToString().Trim() != "")
KCNum2 = Convert.ToInt32(tb.Rows[i]["库存"].ToString().Trim());
}
catch (Exception ex)
{
KCNum2 = 0;
}
try
{
if (tb.Rows[i]["出库数量"].ToString().Trim() != "")
md.KCNum = Convert.ToInt32(tb.Rows[i]["出库数量"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的出库数量必须是数字<br/>";
md.KCNum = 0;
}
if (error != "")
return error;
md.Price = 0;
//HW_GoodsInRK rmd = new HW_GoodsInRK();
// rmd.InId = InId;
// int a = 0;
if (KCNum2 >= md.KCNum.Value)//有变动
{
HW_GoodsOutRecord model = new HW_GoodsOutRecord();
model.CompanyId = CompanyId;
model.InDate = DateTime.Now;
model.InUserId = UserId;
model.OutNum = md.KCNum.Value;
model.IsDelete = 0;
var OutId = obj.SaveGoodsOutForTM(model);
HW_GoodsOutDetail rmd = new HW_GoodsOutDetail();
rmd.OutId = OutId;
rmd.OutNum = md.KCNum.Value;
obj.SaveGoodsOutDetail(rmd);
var kclist = DataNew.GetListGoodsInDetailHWC(CompanyId, md.SKU, md.PostionCode);
if (kclist == null)
{
return "第" + (i + 2).ToString() + " 行的对应的库存不存在";
}
if (kclist.Count == 1 && kclist[0].InId == -1)
{
return "第" + (i + 2).ToString() + " 行的对应的sku找不到";
}
if (kclist.Count == 1 && kclist[0].InId == -2)
{
return "第" + (i + 2).ToString() + " 行的对应的库位找不到";
}
int TSL = 0;
foreach (var kcmd in kclist)
{
TSL += kcmd.KCNum.Value;
}
if (TSL < md.KCNum.Value)
{
return "第" + (i + 2).ToString() + " 行的出库数量多于实际库存了";
}
int CKNum = md.KCNum.Value;
foreach (var kcmd in kclist)
{
if (CKNum <= 0)
break;
if (kcmd.KCNum >= CKNum)
{
kcmd.OldNum = kcmd.KCNum;
kcmd.KCNum = kcmd.KCNum - CKNum;
DataNew.Save_GoodsInDetailHWC2(kcmd);
CKNum = 0;
}
else
{
CKNum = CKNum - kcmd.KCNum.Value;
kcmd.OldNum = kcmd.KCNum;
kcmd.KCNum = 0;
kcmd.OrderGoodsId = -1;
kcmd.CKDetailId = -1;
DataNew.Save_GoodsInDetailHWC2(kcmd);
}
}
Num++;
}
else
{
return "第" + (i + 2).ToString() + " 行的出入数量大于入库数量了";
}
}
if (error == "")
{
error = "数据导入成功;" + Num.ToString() + "条";
}
else
{
error += "其它数据导入成功;";
}
HuoWuData.SumKC(CompanyId);//库存合计
return error;
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导出库存
[WebMethod(EnableSession = true)]
public string GetList_GoodsLeftExcelHWC2(int CompanyId)
{
var obj = new HuoWuData();
DataTable tb = DataNew.GetListGoodsInDetailHWC2(CompanyId);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("SKU1", "SKU", DbType.String, "");
listColumns.Add("PostionCode", "库位", DbType.String, "");
listColumns.Add("KCNum", "库存", DbType.String, "");
listColumns.Add("KCNum2", "出库数量", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
#endregion
[WebMethod(EnableSession = true)]
public string GetStoreFee(int CompanyId, DateTime? SDate, DateTime? EDate)
{
PagesNew.Login(base.Session);
if (EDate < SDate)
return "结束日期不能比开始日期小";
TimeSpan ts = EDate.Value - SDate.Value;
int days = ts.Days + 1;
for (int i = 0; i < days; i++)
{
DataNew.SumStoreFee(SDate.Value.AddDays(i), CompanyId);
}
return "结算成功";
}
[WebMethod(EnableSession = true)]
public bool Delete_OtherFee(int Id)
{
PagesNew.Login(base.Session);
var md = DataNew.Delete_OtherFee(Id);
DataNew.UpdateOtherFeeNew(md.FeeDate.Value, md.CompanyId.Value);
return true;
}
[WebMethod(EnableSession = true)]
public bool Delete_OtherFeeList(List<CK_OtherFeeNew> list)
{
PagesNew.Login(base.Session);
foreach (var md2 in list)
{
var md = DataNew.Delete_OtherFee(md2.Id.Value);
DataNew.UpdateOtherFeeNew(md.FeeDate.Value, md.CompanyId.Value);
}
return true;
}
#region 查询费用报表
[WebMethod(EnableSession = true)]
public string GetListFeeReport4(int CompanyId, int FeeType, DateTime? SDate, DateTime? EDate)
{
PagesNew.Login(this.Session);
EDate = EDate.Value.AddDays(1);
string html = "";
var list = DataNew.GetListFeeReport(CompanyId, FeeType, SDate, EDate);
var otherlist = DataNew.GetListOtherFeeList2(SDate, EDate, CompanyId);
if (list == null)
list = new List<CK_FeeReport>();
int days = DateDiff(SDate.Value, EDate.Value);
decimal totalfee = 0;
decimal totalyzf = 0;
for (int i = days - 1; i >= 0; i--)
{
html += "<table class='tb' width='85%'>";
var dlist = list.FindAll(n => n.InDate == SDate.Value.AddDays(i));
if (dlist != null && dlist.Count > 0)
{
decimal hj = 0;
decimal yzf = 0;
foreach (var md in dlist)
{
if (md.TotalFee != null)
{
hj += md.TotalFee.Value;
yzf += md.Dec.Value;
}
}
totalyzf += yzf;
html += "<tr>";
totalfee += hj;
html += "<td colspan='4' class='bghd'><div>" + SDate.Value.AddDays(i).ToString("yyyy年MM月dd日") + " 费用 合计:<span class='af2'>" + hj.ToString("0.00") + "$</span> 已支付:<span class='af3'>" + yzf + "</span></div>";
html += "</td>";
html += "</tr>";
int r = 1;
foreach (var md in dlist)
{
string fees = "";
if (md.FeeType == 9 && otherlist != null)//其他费用
{
var olist = otherlist.FindAll(n => n.FeeDate.Value.ToString("yyyy-MM-dd") == SDate.Value.AddDays(i).ToString("yyyy-MM-dd"));
if (olist != null)
{
foreach (var md2 in olist)
{
fees += md2.FeeName + "" + md2.TotalFee.Value.ToString("0.00") + "(数量:" + md2.Num.Value.ToString("0.00") + ") ";
}
}
}
if (md.FeeType == 9)
md.FeeDesc = fees;
if (r == 1)
{
html += "<tr><td width='15%' class='bg1'>" + md.FeeName + "</td>";
html += "<td width='35%'><div fdesc='" + md.FeeDesc + "'>费用:" + md.TotalFee.Value.ToString("0.00") + "$ 已支付:" + md.Dec2.Value.ToString("0.00") + "$ 费用说明:[" + md.FeeDesc + "]</div></td>";
r = 2;
}
else if (r == 2)
{
html += "<td class='bg1' width='15%'>" + md.FeeName + "</td>";
html += "<td width='35%'><div fdesc='" + md.FeeDesc + "'>费用:" + md.TotalFee.Value.ToString("0.00") + "$ 已支付:" + md.Dec2.Value.ToString("0.00") + "$ 费用说明:[" + md.FeeDesc + "]</div></td>";
html += "</tr>";
r = 1;
}
}
if (r == 2)
{
html += "<td width='35%'></td>";
html += "</tr>";
}
html += "</table>";
}
else
{
html += "<tr>";
html += "<td colspan='4' class='bghd'><div>" + SDate.Value.AddDays(i).ToString("yyyy年MM月dd日") + " 费用 合计:<span class='af2'>0$</span></div>";
html += "</td>";
html += "</tr>";
html += "</table>";
}
html += "<br/>";
}
html += "<table class='tableAll' width='95%' border='1'><tr><td colspan='4'> 总计:<span class='af3' >" + totalfee.ToString("0.00") + "$</span> 已支付:<span class='af3' >" + totalyzf.ToString("0.00") + "$</span></td></tr></table>";
return html;
}
#endregion
#region 总充值金额
[WebMethod(EnableSession = true)]
public string GetInFee(int CompanyId)
{
PagesNew.Login(base.Session);
decimal fee = DataNew.GetInFee(CompanyId);
return fee.ToString("0.00");
}
#endregion
#region 总充值金额
[WebMethod(EnableSession = true)]
public string GetOutFee(int CompanyId)
{
PagesNew.Login(base.Session);
decimal fee = DataNew.GetOutFee(CompanyId);
return fee.ToString("0.00");
}
#endregion
#region 总充值金额
[WebMethod(EnableSession = true)]
public string GetOutFeeType(int CompanyId, int FeeType)
{
PagesNew.Login(base.Session);
decimal fee = DataNew.GetOutFeeType(CompanyId, FeeType);
return fee.ToString("0.00");
}
#endregion
#region 总充值金额
[WebMethod(EnableSession = true)]
public CK_FeeReport GetOutFeeCount(int CompanyId)
{
PagesNew.Login(base.Session);
var md= DataNew.GetOutFeeCount(CompanyId);
return md;
}
#endregion
#region 余额结算
[WebMethod(EnableSession = true)]
public string GetLeftFee(int CompanyId)
{
PagesNew.Login(base.Session);
decimal fee = DataNew.GetInFee(CompanyId);
decimal fee2 = DataNew.GetOutFee(CompanyId);
if (fee >= fee2)
{
DataNew.UpdateNoFee(CompanyId);
}
else
{
DataNew.UpdateNoFee(CompanyId);
int Id = 0;
decimal cfee = fee2 - fee;
while (cfee > 0)
{
var olist = DataNew.GetListNoFeeReport(20, CompanyId, Id);
if (olist != null)
{
foreach (var md in olist)
{
Id = md.Id.Value;
if (md.TotalFee.Value < cfee)//剩余未支付大于这次费用
{
md.Dec2 = 0;
}
else
{
md.Dec2 = md.TotalFee.Value - cfee;
DataNew.UpdateNoFee2(CompanyId, md.Dec2.Value, Id);
cfee = 0;
break;
}
DataNew.UpdateNoFee2(CompanyId, md.Dec2.Value, Id);
cfee = cfee - md.TotalFee.Value;
}
}
else
{
break;
}
}
}
return "";
}
#endregion
#region 删除
[WebMethod(EnableSession = true)]
public bool Delete_CompanyFee(int Id)
{
PagesNew.Login(this.Session);
DataNew.Delete_CompanyFee(Id);
return true;
}
#endregion
#region 分页查询
[WebMethod(EnableSession = true)]
public JsonModel<List<JC_CompanyFeeNew>> GetListCompanyFee(string cs, int PageIndex, int PageSize)
{
PagesNew.Login(this.Session);
string where = CustomIO.Base64StringToString(cs);
if (where != "") where = "where " + where.Substring(4);
var resultModel = new JsonModel<List<JC_CompanyFeeNew>>();
int RowCount = 0;
resultModel.DataSource = DataNew.GetListCompanyFee(where, PageIndex, PageSize, "", out RowCount);
resultModel.RowCount = RowCount;
return resultModel;
}
#endregion
#region 充值金额
[WebMethod(EnableSession = true)]
public void SaveCZMoney(JC_CompanyFee model)
{
PagesNew.Login(this.Session);
int UserId = Convert.ToInt32(Session["UserId"]);
string Name = Convert.ToString(Session["Name"]);
if (model.InDate == null)
model.InDate = DateTime.Now;
model.InName = Name;
var obj2 = new BaseService();
var mlist = obj2.GetMoneyList2();
decimal USDRate = Convert.ToDecimal(6.31);
var mmd = mlist.Find(n => n.PlatId == 2 && n.MCode == "USD");
if (mmd != null)
USDRate = mmd.MRate.Value;
model.InFee = model.InUSDFee * USDRate;
JC_CompanyService.Save_CompanyFee(model);
}
#endregion
#region 导出费用报表
[WebMethod(EnableSession = true)]
public string GetListFeeReportExcel(int CompanyId, string CompanyName, int FeeType, DateTime? SDate, DateTime? EDate)
{
PagesNew.Login(this.Session);
EDate = EDate.Value.AddDays(1);
// string html = "";
//var list = DataNew.GetListFeeReport(CompanyId, FeeType, SDate, EDate);
//var otherlist = DataNew.GetListOtherFeeList2(SDate, EDate, CompanyId);
//if (list == null)
// list = new List<CK_FeeReport>();
//int days = DateDiff(SDate.Value, EDate.Value);
//decimal totalfee = 0;
//decimal totalyzf = 0;
//for (int i = days - 1; i >= 0; i--)
//{
// html += "<table class='tb' width='85%'>";
// var dlist = list.FindAll(n => n.InDate == SDate.Value.AddDays(i));
// if (dlist != null && dlist.Count > 0)
// {
// decimal hj = 0;
// decimal yzf = 0;
// foreach (var md in dlist)
// {
// if (md.TotalFee != null)
// {
// hj += md.TotalFee.Value;
// yzf += md.Dec2.Value;
// }
// }
// totalyzf += yzf;
// html += "<tr>";
// totalfee += hj;
// html += "<td colspan='4' class='bghd'><div>" + SDate.Value.AddDays(i).ToString("yyyy年MM月dd日") + " 费用 合计:<span class='af2'>" + hj.ToString("0.00") + "$</span> 已支付:<span class='af3'>" + yzf + "</span></div>";
// html += "</td>";
// html += "</tr>";
// int r = 1;
// foreach (var md in dlist)
// {
// string fees = "";
// if (md.FeeType == 9 && otherlist != null)//其他费用
// {
// var olist = otherlist.FindAll(n => n.FeeDate.Value.ToString("yyyy-MM-dd") == SDate.Value.AddDays(i).ToString("yyyy-MM-dd"));
// if (olist != null)
// {
// foreach (var md2 in olist)
// {
// fees += md2.FeeName + "" + md2.TotalFee.Value.ToString("0.00") + "(数量:" + md2.Num.Value.ToString("0.00") + ") ";
// }
// }
// }
// if (md.FeeType == 9)
// md.FeeDesc = fees;
// if (r == 1)
// {
// html += "<tr><td width='15%' class='bg1'>" + md.FeeName + "</td>";
// html += "<td width='35%'><div fdesc='" + md.FeeDesc + "'>费用:" + md.TotalFee.Value.ToString("0.00") + "$ 已支付:" + md.Dec2.Value.ToString("0.00") + "$ 费用说明:[" + md.FeeDesc + "]</div></td>";
// r = 2;
// }
// else if (r == 2)
// {
// html += "<td class='bg1' width='15%'>" + md.FeeName + "</td>";
// html += "<td width='35%'><div fdesc='" + md.FeeDesc + "'>费用:" + md.TotalFee.Value.ToString("0.00") + "$ 已支付:" + md.Dec2.Value.ToString("0.00") + "$ 费用说明:[" + md.FeeDesc + "]</div></td>";
// html += "</tr>";
// r = 1;
// }
// }
// if (r == 2)
// {
// html += "<td width='35%'></td>";
// html += "</tr>";
// }
// html += "</table>";
// }
// else
// {
// html += "<tr>";
// html += "<td colspan='4' class='bghd'><div>" + SDate.Value.AddDays(i).ToString("yyyy年MM月dd日") + " 费用 合计:<span class='af2'>0$</span></div>";
// html += "</td>";
// html += "</tr>";
// html += "</table>";
// }
// html += "<br/>";
//}
//html += "<table class='tableAll' width='95%' border='1'><tr><td colspan='4'> 总计:<span class='af3' >" + totalfee.ToString("0.00") + "$</span> 已支付:<span class='af3' >" + totalyzf.ToString("0.00") + "$</span></td></tr></table>";
//return html;
var list = DataNew.GetListFeeReport(CompanyId, FeeType, SDate, EDate);
var otherlist = DataNew.GetListOtherFeeList2(SDate, EDate, CompanyId);
if (list == null)
list = new List<CK_FeeReport>();
int days = DateDiff(SDate.Value, EDate.Value);
DataTable tb = new DataTable();
tb.Columns.Add("CompanyName", typeof(String));
tb.Columns.Add("InDate", typeof(String));
tb.Columns.Add("YGPostFee", typeof(String));
tb.Columns.Add("CCFee", typeof(String));
tb.Columns.Add("CCFeeDesc", typeof(String));
tb.Columns.Add("CCFee1", typeof(String));
tb.Columns.Add("CCFee2", typeof(String));
tb.Columns.Add("FHFee", typeof(String));
tb.Columns.Add("FHFeeDesc", typeof(String));
tb.Columns.Add("FHFee1", typeof(String));
tb.Columns.Add("FHFee2", typeof(String));
tb.Columns.Add("FBAFee", typeof(String));
tb.Columns.Add("FBAFeeDesc", typeof(String));
tb.Columns.Add("FBAFee1", typeof(String));
tb.Columns.Add("FBAFee2", typeof(String));
tb.Columns.Add("OtherFee", typeof(String));
tb.Columns.Add("OtherFeeDesc", typeof(String));
tb.Columns.Add("OtherFee1", typeof(String));
tb.Columns.Add("OtherFee2", typeof(String));
tb.Columns.Add("TotalFee", typeof(String));
tb.Columns.Add("TotalFee1", typeof(String));
tb.Columns.Add("TotalFee2", typeof(String));
decimal totalfee = 0;
decimal totalyzf = 0;
decimal hjccfee = 0;
decimal ygfee = 0;
decimal hjccfee1 = 0;
decimal hjccfee2 = 0;
decimal hjfffee = 0;
decimal hjfffee1 = 0;
decimal hjfffee2 = 0;
decimal hjfbafee = 0;
decimal hjfbafee1 = 0;
decimal hjfbafee2 = 0;
decimal hjotherfee = 0;
decimal hjotherfee1 = 0;
decimal hjotherfee2 = 0;
for (int i = 0; i < days; i++)
{
var dlist = list.FindAll(n => n.InDate == SDate.Value.AddDays(i));
if (dlist != null && dlist.Count > 0)
{
decimal hj = 0;
decimal yzf = 0;
foreach (var md in dlist)
{
if (md.TotalFee != null)
{
hj += md.TotalFee.Value;
yzf += md.Dec.Value;
}
}
if (hj > 0)
{
totalyzf += yzf;
totalfee += hj;
DataRow row = tb.NewRow();
row["CompanyName"] = CompanyName;
row["InDate"] = SDate.Value.AddDays(i).ToString("yyyy-MM-dd");
foreach (var md in dlist)
{
if (md.FeeType == 7)
{
row["YGPostFee"] = md.TotalFee.Value.ToString("0.00");
ygfee += md.TotalFee.Value;
}
if (md.FeeType == 1)
{
row["CCFee"] = md.TotalFee.Value.ToString("0.00");
row["CCFeeDesc"] = md.FeeDesc;
row["CCFee1"] = md.Dec2.Value.ToString("0.00");
row["CCFee2"] = (md.TotalFee.Value - md.Dec2.Value).ToString("0.00");
hjccfee += md.TotalFee.Value;
hjccfee1 += md.Dec2.Value;
hjccfee2 += md.TotalFee.Value - md.Dec2.Value;
}
if (md.FeeType == 2)
{
row["FHFee"] = md.TotalFee.Value.ToString("0.00");
row["FHFeeDesc"] = md.FeeDesc;
row["FHFee1"] = md.Dec2.Value.ToString("0.00");
row["FHFee2"] = (md.TotalFee.Value - md.Dec2.Value).ToString("0.00");
hjfffee += md.TotalFee.Value;
hjfffee1 += md.Dec2.Value;
hjfffee2 += md.TotalFee.Value - md.Dec2.Value;
}
if (md.FeeType == 3)
{
row["FBAFee"] = md.TotalFee.Value.ToString("0.00");
row["FBAFeeDesc"] = md.FeeDesc;
row["FBAFee1"] = md.Dec2.Value.ToString("0.00");
row["FBAFee2"] = (md.TotalFee.Value - md.Dec2.Value).ToString("0.00");
hjfbafee += md.TotalFee.Value;
hjfbafee1 += md.Dec2.Value;
hjfbafee2 += md.TotalFee.Value - md.Dec2.Value;
}
if (md.FeeType == 9)
{
string fees = "";
if (otherlist != null)//其他费用
{
var olist = otherlist.FindAll(n => n.FeeDate.Value.ToString("yyyy-MM-dd") == SDate.Value.AddDays(i).ToString("yyyy-MM-dd"));
if (olist != null)
{
foreach (var md2 in olist)
{
fees += md2.FeeName + "" + md2.TotalFee.Value.ToString("0.00") + "(数量:" + md2.Num.Value.ToString("0.00") + ") ";
}
}
}
row["OtherFee"] = md.TotalFee.Value.ToString("0.00");
row["OtherFeeDesc"] = fees;
row["OtherFee1"] = md.Dec2.Value.ToString("0.00");
row["OtherFee2"] = (md.TotalFee.Value - md.Dec2.Value).ToString("0.00");
hjotherfee += md.TotalFee.Value;
hjotherfee1 += md.Dec2.Value;
hjotherfee2 += md.TotalFee.Value - md.Dec2.Value;
}
}
row["TotalFee"] = hj.ToString("0.00");
row["TotalFee1"] = yzf.ToString("0.00");
row["TotalFee2"] = (hj - yzf).ToString("0.00");
tb.Rows.Add(row);
}
}
}
DataRow row2 = tb.NewRow();
row2["CompanyName"] = "";
row2["InDate"] = "合计:";
row2["YGPostFee"] = ygfee.ToString("0.00");
row2["CCFee"] = hjccfee.ToString("0.00");
row2["CCFee1"] = hjccfee1.ToString("0.00");
row2["CCFee2"] = hjccfee2.ToString("0.00");
row2["FHFee"] = hjfffee.ToString("0.00");
row2["FHFee1"] = hjfffee1.ToString("0.00");
row2["FHFee2"] = hjfffee2.ToString("0.00");
row2["FBAFee"] = hjfbafee.ToString("0.00");
row2["FBAFee1"] = hjfbafee1.ToString("0.00");
row2["FBAFee2"] = hjfbafee2.ToString("0.00");
row2["OtherFee"] = hjotherfee.ToString("0.00");
row2["OtherFee1"] = hjotherfee1.ToString("0.00");
row2["OtherFee2"] = hjotherfee2.ToString("0.00");
row2["TotalFee"] = totalfee.ToString("0.00");
row2["TotalFee1"] = totalyzf.ToString("0.00");
row2["TotalFee2"] = (totalfee - totalyzf).ToString("0.00");
tb.Rows.Add(row2);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("CompanyName", "客户单位", DbType.String, "");
listColumns.Add("InDate", "费用日期", DbType.String, "");
listColumns.Add("YGPostFee", "预估运费", DbType.String, "");
listColumns.Add("CCFee", "仓储费", DbType.String, "");
listColumns.Add("CCFeeDesc", "仓储费内容", DbType.String, "");
listColumns.Add("CCFee1", "仓储费(已收)", DbType.String, "");
listColumns.Add("CCFee2", "仓储费(未收)", DbType.String, "");
listColumns.Add("FHFee", "发货费", DbType.String, "");
listColumns.Add("FHFeeDesc", "发货内容", DbType.String, "");
listColumns.Add("FHFee1", "发货费(已收)", DbType.String, "");
listColumns.Add("FHFee2", "发货费(未收)", DbType.String, "");
listColumns.Add("FBAFee", "FBA操作费", DbType.String, "");
listColumns.Add("FBAFeeDesc", "FBA操作费内容", DbType.String, "");
listColumns.Add("FBAFee1", "FBA操作费已收", DbType.String, "");
listColumns.Add("FBAFee2", "FBA操作费未收", DbType.String, "");
listColumns.Add("OtherFee", "其他费", DbType.String, "");
listColumns.Add("OtherFeeDesc", "其他费内容", DbType.String, "");
listColumns.Add("OtherFee1", "其他费(已收)", DbType.String, "");
listColumns.Add("OtherFee2", "其他费(未收)", DbType.String, "");
listColumns.Add("TotalFee", "合计费", DbType.String, "");
listColumns.Add("TotalFee1", "合计费(已收)", DbType.String, "");
listColumns.Add("TotalFee2", "合计费(未收)", DbType.String, "");
MicrosoftExcel obj3 = new MicrosoftExcel();
return obj3.Export(tb, listColumns);
}
#endregion
#region 查询库存
[WebMethod(EnableSession = true)]
public List<HW_GoodsLeft> GetList_GoodsLeftListHWC(string PostionCode, string GoodsName, int StoreId, int CompanyId)
{
PagesNew.Login(this.Session);
var obj = new HuoWuData();
//int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
Param.Add("f.CompanyId", "=", CompanyId, DbType.Int32);
if (PostionCode != "")
Param.Add("d.PostionCode", "like right", PostionCode, DbType.String);
if (StoreId > 0)
Param.Add("c.StoreId", "=", StoreId, DbType.String);
if (GoodsName != "")
{
Param.Add("(f.GoodsCode", "=", GoodsName, DbType.String);
Param.Add("f.GoodsOldCode", "=", GoodsName, "or", ")", DbType.String);
}
string Sort = "a.DetailId,a.StoreId,a.PostionId";
DataTable tb = DataNew.GetList_GoodsLeftListHWC(Param, Sort);
return tb.ToList<HW_GoodsLeft>();
}
#endregion
#region 验证库位编码
public string IsPostionGoods(List<HW_GoodsLeft> list)
{
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string error = "";
var obj = new CK_HouseData();
if (list != null)
{
int i = 1;
string OldKW = "";
foreach (var md in list)
{
if (OldKW != md.PostionCode && md.NewPostionCode != null && md.NewPostionCode != "" && obj.IsPostionCode(0, md.NewPostionCode) == 0)
{
error += "第" + i.ToString() + "行库位编号" + md.NewPostionCode + "不存在;";
}
OldKW = md.PostionCode;
i++;
}
}
return error;
}
#endregion
public string GetOutCode()
{
PagesNew.Login(this.Session);
var obj = new CG_ChaseData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
Random r = new Random();
string a = r.Next(10000, 99999).ToString();
string Code = DateTime.Now.ToString("yyyyMMddhhmmss") + a;
return Code;
}
#region 调整库位货物
[WebMethod(EnableSession = true)]
public string UpdatePostionGoodsHWC(int CompanyId, List<HW_GoodsLeft> list)
{
PagesNew.Login(this.Session);
//int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
string error = IsPostionGoods(list);
if (error != "")
return error;
var obj = new CK_HouseData();
if (list != null)
{
int OutHjNum = 0;
foreach (var md in list)
{
if (md.IsOut.ToLower() == "true") //剩余的出库
OutHjNum = md.UseGoodsNum.Value - md.OutNum.Value;
}
int OutId = 0;
var obj1 = new HuoWuData();
if (OutHjNum > 0)
{
HW_GoodsOutRecord model = new HW_GoodsOutRecord();
model.OutCode = GetOutCode();
model.OutReason = "库存调整";
model.CompanyId = CompanyId;
model.InDate = DateTime.Now;
model.InUserId = UserId;
model.IsDelete = 0;
model.OrderId = 0;
model.OutNum = OutHjNum;
OutId = obj1.SaveGoodsOutForTM(model); //生成出库记录
}
string name = Convert.ToString(Session["Name"]);
foreach (var md in list)
{
if (md.OutNum > 0 && md.NewPostionCode != "")
{
DataNew.UpdateGoodsPostionCodeHWC(md.StoreId.Value, md.DetailId.Value, md.PostionId.Value, md.NewPostionCode, md.OutNum.Value);
var mmd = new HW_GoodsMove();
mmd.PostionCode = md.NewPostionCode;
mmd.OldPostionId = md.PostionId;
mmd.InDate = DateTime.Now;
mmd.InName = name;
mmd.Num = md.OutNum;
mmd.DetailId = md.DetailId;
obj1.Save_GoodsMove(mmd);
}
if (md.IsOut.ToLower() == "true") //剩余的出库
{
int OutNum = md.UseGoodsNum.Value - md.OutNum.Value;
HW_GoodsOutCK ckmd = new HW_GoodsOutCK();
ckmd.OutId = OutId;
ckmd.OutNum = OutNum;
ckmd.DetailId = md.DetailId;
int CKId = obj1.SaveGoodsOutDetailNew(ckmd);
if (OutNum > 0)
DataNew.SaveGoodsOutInnerForHWC(md.DetailId.Value, md.PostionId.Value, md.StoreId.Value, OutNum, CKId);
}
}
//obj1.SaveGoodsOutGoodsNum(OutId);
}
return "提交成功";
}
#endregion
#region 普通查询列表
[WebMethod(EnableSession = true)]
public List<CK_FeeDetailNew> GetListFeeDetail3(int FeeId)
{
PagesNew.Login(this.Session);
var ListModel = DataNew.GetListFeeDetail(FeeId);
return ListModel;
}
#endregion
#region 分页查询
[WebMethod(EnableSession = true)]
public string GetListBackGoodsExcel(string OrderCode, int ShopId, DateTime? SDate, DateTime? EDate, int State, int PageIndex, int PageSize)
{
PagesNew.Login(this.Session);
RefParameterCollection where = new RefParameterCollection();
if (OrderCode != "")
{
where.Add(new RefParameter("(OrderCode", "like", OrderCode, System.Data.DbType.String));
where.Add(new RefParameter("TrackCode", "like", OrderCode, "or", ")", System.Data.DbType.String));
}
if (ShopId > 0)
{
where.Add(new RefParameter("b.ShopId", "=", ShopId, DbType.Int32));
}
if (SDate.HasValue)
{
where.Add(new RefParameter("a.InDate", ">=", SDate, DbType.DateTime));
}
if (EDate.HasValue)
{
where.Add(new RefParameter("a.InDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime));
}
if (State > -1)
{
where.Add(new RefParameter("a.State", "=", State, DbType.Int32));
}
if (State > -1) where.Add(new RefParameter("a.State", "=", State, DbType.Int32));
JsonModel<List<DT_BackGoods>> resultModel = new JsonModel<List<DT_BackGoods>>();
int RowCount = 0;
resultModel.DataSource = CK_HouseData.GetListBackGoods(ShopId, where, PageIndex, PageSize, "", out RowCount);
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
if (md.State == 0)
md.StateName = "未关联";
else if (md.State == 1)
md.StateName = "已关联";
if (md.GoodsState == 0)
md.GoodsStateName = "未到货";
else if (md.GoodsState == 1)
md.GoodsStateName = "正常入库";
else if (md.GoodsState == 2)
md.GoodsStateName = "外箱破损重新包装入库";
else if (md.GoodsState == 3)
md.GoodsStateName = "破损报废";
else if (md.GoodsState == 4)
md.GoodsStateName = "丢失";
else if (md.GoodsState == 5)
md.GoodsStateName = "无";
}
}
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("OrderCode", "对应订单号", DbType.String, "");
listColumns.Add("GoodsCode", "货物编号", DbType.String, "");
listColumns.Add("Num", "数量", DbType.String, "");
listColumns.Add("TrackCode", "跟踪码", DbType.String, "");
listColumns.Add("GoodsStateName", "验货入库状态", DbType.String, "");
listColumns.Add("PostionCode", "入库库位", DbType.String, "");
listColumns.Add("StateName", "处理状态", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(resultModel.DataSource, listColumns);
}
#endregion
#region 分页查询
[WebMethod(EnableSession = true)]
public JsonModel<List<CK_StoreSoild>> GetListStoreSoild(int StoreId, string PostionCode, string StoreName, string Sort,int IsKC,int TJ,decimal? Soild, int PageIndex, int PageSize)
{
PagesNew.Login(this.Session);
int UserId = Convert.ToInt32(Session["UserId"]);
RefParameterCollection where = new RefParameterCollection();
//if (ShopId > 0)
where.Add(new RefParameter("a.StoreId", "=", StoreId, System.Data.DbType.Int32));
if (PostionCode != "")
{
where.Add(new RefParameter("a.PostionCode", "=", PostionCode, System.Data.DbType.String));
}
if(IsKC>0)
where.Add(new RefParameter("b.PostionId", ">", 0, System.Data.DbType.Int32));
if (TJ == 1 && Soild>0)
where.Add(new RefParameter("b.Solid", ">=", Soild, System.Data.DbType.Decimal));
if (TJ == 2 && Soild > 0)
where.Add(new RefParameter("b.Solid", "<", Soild, System.Data.DbType.Decimal));
JsonModel<List<CK_StoreSoild>> resultModel = new JsonModel<List<CK_StoreSoild>>();
int RowCount = 0;
if(Sort=="")
Sort = " isnull(b.Solid,0) desc";
resultModel.DataSource = DataNew.GetListStoreSoild(StoreName, StoreId, where, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
return resultModel;
}
#endregion
#region 保存
[WebMethod(EnableSession = true)]
public int Save_FeeDetailNew(CK_FeeDetailNew Model)
{
PagesNew.Login(this.Session);
return DataNew.Save_FeeDetailNew(Model);
}
#endregion
#region 保存
[WebMethod(EnableSession = true)]
public int Save_GoodsMoveCheck(CK_GoodsMoveCheck Model)
{
PagesNew.Login(this.Session);
return DataNew.Save_GoodsMoveCheck(Model);
}
#endregion
#region 分页查询
[WebMethod(EnableSession = true)]
public JsonModel<List<CK_GoodsMoveCheck>> GetListGoodsMoveCheck(DateTime? StartDate, DateTime? StopDate, string sku, int checkstate, int PageIndex, int PageSize)
{
PagesNew.Login(this.Session);
RefParameterCollection where = new RefParameterCollection();
if (StartDate != null) where.Add(new RefParameter("InDate", ">=", StartDate, System.Data.DbType.DateTime));
if (StopDate != null) where.Add(new RefParameter("convert(varchar(10), InDate, 120)", "<=", StopDate, System.Data.DbType.DateTime));
if (string.IsNullOrEmpty(sku) == false) where.Add(new RefParameter("b.sku1", "like", sku, DbType.String));
if (checkstate > -1) where.Add(new RefParameter("a.checkstate", "=", checkstate, DbType.Int32));
JsonModel<List<CK_GoodsMoveCheck>> resultModel = new JsonModel<List<CK_GoodsMoveCheck>>();
int RowCount = 0;
resultModel.DataSource = DataNew.GetListGoodsMoveCheck(where, PageIndex, PageSize, "", out RowCount);
resultModel.RowCount = RowCount;
return resultModel;
}
#endregion
#region 保存
[WebMethod(EnableSession = true)]
public string Save_GoodsMoveCheck(List<HW_GoodsLeft> list)
{
PagesNew.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string InName = Convert.ToString(Session["Name"]);
string error = IsPostionGoods(list);
if (error != "")
return error;
var obj = new CK_HouseData();
foreach (var md in list)
{
CK_GoodsMoveCheck model = new CK_GoodsMoveCheck();
model.detailid = md.DetailId;
model.checkstate = 0;
model.inname = InName;
model.indate = DateTime.Now;
model.kcnum = md.GoodsNum;
if (md.OutNum > 0 && md.NewPostionCode != "")
model.movenum = md.OutNum.Value;
else
model.movenum = 0;
model.outnum = 0;
if (md.IsOut.ToLower() == "true") //剩余的出库
{
int OutNum = md.UseGoodsNum.Value - md.OutNum.Value;
model.outnum = OutNum;
}
model.StoreId = md.StoreId;
model.oldpostionid = md.PostionId;
model.oldpostiondesc = md.PostionCode;
model.newpostiondesc = md.NewPostionCode;
model.newpostionid = 0;
if (md.OutNum > 0 && md.NewPostionCode != "")
{
int PostionId = obj.IsStorePostionCode(md.StoreId.Value, md.NewPostionCode);
model.newpostionid = PostionId;
}
if (model.movenum > 0 || model.outnum > 0)
DataNew.Save_GoodsMoveCheck(model);
}
return "";
}
#endregion
#region 审批调整库位货物
[WebMethod(EnableSession = true)]
public string CheckPostionGoods(List<CK_GoodsMoveCheck> list,int checkstate)
{
PagesNew.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (checkstate == 2)//驳回
{
foreach (var md in list)
{
md.checkstate = 2;
md.checkdate = DateTime.Now;
DataNew.Update_GoodsMoveCheck(md);
}
return "已驳回";
}
else if (checkstate == 3)//取消
{
foreach(var md in list)
{
md.checkstate = 3;
md.checkdate = DateTime.Now;
DataNew.Update_GoodsMoveCheck(md);
}
return "已取消";
}
else
{
foreach (var md in list)
{
md.checkstate = 1;
md.checkdate = DateTime.Now;
DataNew.Update_GoodsMoveCheck(md);
}
var obj = new CK_HouseData();
if (list != null)
{
int OutHjNum = 0;
foreach (var md in list)
{
OutHjNum += md.outnum.Value;
}
int OutId = 0;
var obj1 = new HuoWuData();
if (OutHjNum > 0)
{
HW_GoodsOutRecord model = new HW_GoodsOutRecord();
model.OutCode = GetOutCode();
model.OutReason = "库存调整";
model.CompanyId = CompanyId;
model.InDate = DateTime.Now;
model.InUserId = UserId;
model.IsDelete = 0;
model.OrderId = 0;
model.OutNum = OutHjNum;
OutId = obj1.SaveGoodsOutForTM(model); //生成出库记录
}
string name = Convert.ToString(Session["Name"]);
foreach (var md in list)
{
if (md.movenum > 0 && md.newpostiondesc != "")
{
obj.UpdateGoodsPostionCode(md.StoreId.Value, md.detailid.Value, md.oldpostionid.Value, md.newpostiondesc, md.movenum.Value);
var mmd = new HW_GoodsMove();
mmd.PostionCode = md.newpostiondesc;
mmd.OldPostionId = md.oldpostionid;
mmd.InDate = DateTime.Now;
mmd.InName = name;
mmd.Num = md.movenum;
mmd.DetailId = md.detailid;
obj1.Save_GoodsMove(mmd);
}
if (md.outnum > 0) //剩余的出库
{
HW_GoodsOutCK ckmd = new HW_GoodsOutCK();
ckmd.OutId = OutId;
ckmd.OutNum = md.outnum;
ckmd.DetailId = md.detailid;
int CKId = obj1.SaveGoodsOutDetailNew(ckmd);
if (md.outnum > 0)
obj1.SaveGoodsOutInnerForTM2(md.detailid.Value, md.oldpostionid.Value, md.StoreId.Value, md.outnum.Value, CKId);
}
}
obj1.SaveGoodsOutGoodsNum(OutId);
}
}
return "审批成功";
}
#endregion
#region 运营申请sku数量
#region 分页查询
[WebMethod(EnableSession = true)]
public JsonModel<List<CK_GoodsApply>> GetList_CK_GoodsApply(DateTime? StartDate, DateTime? StopDate, string sku, int UserId, int PageIndex, int PageSize)
{
PagesNew.Login(this.Session);
RefParameterCollection where = new RefParameterCollection();
if (StartDate != null) where.Add(new RefParameter("a.InDate", ">=", StartDate, System.Data.DbType.DateTime));
if (StartDate != null) where.Add(new RefParameter("a.InDate", "<=", StopDate, System.Data.DbType.DateTime));
if (string.IsNullOrEmpty(sku) == false) where.Add(new RefParameter("c.UserName", "like", sku, DbType.String));
if (UserId != 1) where.Add(new RefParameter("a.UserId", "=", UserId, DbType.Int32));
JsonModel<List<CK_GoodsApply>> resultModel = new JsonModel<List<CK_GoodsApply>>();
int RowCount = 0;
resultModel.DataSource = DataNew.GetList_CK_GoodsApply(where, PageIndex, PageSize, "", out RowCount);
resultModel.RowCount = RowCount;
return resultModel;
}
#endregion
#region 保存
[WebMethod(EnableSession = true)]
public string Save_CK_GoodsApply(int Id,int UserId,int GoodsId, int Quantity)
{
try
{
if (UserId == 0)
{
return "fail";
}
else
{
// var goodsId = DataNew.GetGoodsIdByCode(SkuCode);
//// var goodsModel = DataNew.GetGoodsInfoDetailBySku(SkuCode);
// if (goodsId == 0)
// {
// return "输入的SKU不存在";
// }
// else
// {
CK_GoodsApply model = new CK_GoodsApply();
model.Id = Id;
model.UserId = UserId;
model.GoodsId = GoodsId;
model.Quantity = Quantity;
model.InDate = DateTime.Now;
DataNew.Save_CK_GoodsApply(model);
//}
}
return "";
}
catch
{
return "";
}
}
[WebMethod(EnableSession = true)]
public string Save_CK_GoodsApplyNew(int UserId,int GoodsId, int Quantity)
{
try
{
if (UserId == 0)
{
return "fail";
}
else
{
var oldModel = DataNew.GetModel_CK_GoodsApply(UserId, GoodsId);
CK_GoodsApply model = new CK_GoodsApply();
model.UserId = UserId;
model.GoodsId = GoodsId;
model.Quantity = Quantity;
model.InDate = DateTime.Now;
if (oldModel == null)
{
model.Id = 0;
}
else
{
model.Id = oldModel.Id;
}
if (Quantity != 0)
{
DataNew.Save_CK_GoodsApply(model);
}
else
{
if (oldModel!= null)
{
DataNew.Delete_CK_GoodsApply((int)oldModel.Id);
}
}
//}
}
return "";
}
catch
{
return "";
}
}
#endregion
#region 删除
[WebMethod(EnableSession = true)]
public bool Delete_CK_GoodsApply(int Id)
{
PagesNew.Login(base.Session);
var md = DataNew.Delete_CK_GoodsApply(Id);
return true;
}
#endregion
#region 查找
[WebMethod(EnableSession = true)]
public CK_GoodsApply GetModel_CK_GoodsApply(int Id)
{
PagesNew.Login(base.Session);
var model = DataNew.GetModel_CK_GoodsApply(Id);
return model;
}
#endregion
#region 汇总数据
[WebMethod(EnableSession = true)]
public List<dynamic> GetAllList_CK_GoodsApply()
{
PagesNew.Login(base.Session);
var model = DataNew.GetAllList_CK_GoodsApply();
var resultModel =DataTableToDynamicList(model);
return resultModel;
}
public static List<dynamic> DataTableToDynamicList(DataTable dt)
{
var result = new List<dynamic>();
foreach (DataRow dr in dt.Rows)
{
dynamic item = new ExpandoObject();
var expando = (IDictionary<string, object>)item;
foreach (DataColumn column in dt.Columns)
{
// 如果列的值不是null并且对于数值类型检查是否等于其默认值
if (column.DataType.Name == "Int32")
{
if (string.IsNullOrEmpty(dr[column].ToString()))
{
dr[column] = 0;
}
}
expando.Add(column.ColumnName, dr[column]);
}
result.Add(item);
}
return result;
}
#endregion
#region 查询货物数据
[WebMethod(EnableSession = true)]
public GoodsApplyListShow GetGoodsInfoListForSKUApply(string Name,List<string> YYUserIdList, int isShowAll, int PageIndex, int PageSize, string Sort)
{
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
RefParameterCollection Param = new RefParameterCollection();
//Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
//Param.Add("a.State", "=", 1, DbType.Int32);
//Param.Add("b.SafeNum", ">", 0, DbType.Int32);
GoodsApplyListShow resultModel = new GoodsApplyListShow();
int RowCount = 0;
if (isShowAll != 0)
{
var goodsIdList = DataNew.GetGoodsIdList_CKGoodsApply(YYUserIdList);
if (goodsIdList.Count > 0)
{
if (isShowAll == 1)
{
Param.Add("a.GoodsId", "in", string.Join(",", goodsIdList), DbType.Int32);
}
else
{
Param.Add("a.GoodsId", "not in", string.Join(",", goodsIdList), DbType.Int32);
}
}
}
if (!string.IsNullOrEmpty(Name))
{
Param.Add("a.GoodsCode", "like", Name, DbType.String);
}
Param.Add("CompanyId", "=", CompanyId, DbType.Int32);
Param.Add("State", "=", 1, DbType.Int32);
Name = Name.Trim();
if (Name != "" )
{
Param.Add("(GoodsCode", "like", Name, DbType.String);
Param.Add("GoodsOldCode", "like", Name, "or", ")", DbType.String);
}
string sku = "";
//货物分配限制
//当前登录者不属于admin时
if (UserId != 1)
{
//if (YYUserId==1)
//{
// string newYYStr = $" where a.UserId = {UserId} or b.GroupLeaderId = {UserId}";
// var newYYStrList = DataNew.GetList_YYUser(newYYStr);
// var yyUserIdList = newYYStrList.Select(t => t.ID.ToString()).ToList();
Param.Add("(guserid_shopify", "in", string.Join(",", YYUserIdList), DbType.Int32);
Param.Add("guserid_wayfair", "in", string.Join(",", YYUserIdList), "or", DbType.Int32);
Param.Add("guserid_sheIn", "in", string.Join(",", YYUserIdList), "or", DbType.Int32);
Param.Add("guserid_ebay", "in", string.Join(",", YYUserIdList), "or", DbType.Int32);
Param.Add("guserid_wlmart", "in", string.Join(",", YYUserIdList), "or", DbType.Int32);
Param.Add("muserid", "in", string.Join(",", YYUserIdList), "or", DbType.Int32);
Param.Add("guserid_temu", "in", string.Join(",", YYUserIdList), "or", DbType.Int32);
Param.Add("guserid_tiktok", "in", string.Join(",", YYUserIdList), "or", ")", DbType.Int32);
//}
//else
//{
// Param.Add("(guserid_shopify", "=", YYUserId, DbType.Int32);
// Param.Add("guserid_wayfair", "=", YYUserId, "or", DbType.Int32);
// Param.Add("guserid_sheIn", "=", YYUserId, "or", DbType.Int32);
// Param.Add("guserid_ebay", "=", YYUserId, "or", DbType.Int32);
// Param.Add("guserid_wlmart", "=", YYUserId, "or", DbType.Int32);
// Param.Add("muserid", "=", YYUserId, "or", DbType.Int32);
// Param.Add("guserid", "=", YYUserId, "or", ")", DbType.Int32);
//}
}
resultModel.DataSource = DataNew.GetListHW_GoodsInfoNewForTM(CompanyId, sku, 0, 0, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
string Ids = "";
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
Ids += md.GoodsId.ToString() + ",";
if (md.Solid != null)
md.TotalSolid = md.Solid * md.GoodsNum;
md.goodsApplyList = new List<CK_GoodsApply>();
//申请数据
foreach (var YYUserId in YYUserIdList)
{
var applyList = DataNew.GetList_CK_GoodsApplyByGoodsId((int)md.GoodsId, int.Parse(YYUserId));
var ApplyPrice = DataNew.GetOnePrice((int)md.GoodsId );
md.ApplyPrice = ApplyPrice;
if (applyList != null)
{
md.goodsApplyList.AddRange(applyList);
//md.goodsApplyList = applyList;
}
//平台
//查询平台
var allPlat = DataNew.GetModel_GoodsPlat((int)md.GoodsId);
if (applyList != null)
{
foreach (var a in applyList)
{
if (allPlat.guserid_shopify != null && allPlat.guserid_shopify == a.UserId)//guserid_shopify,guserid_wayfair,guserid_sheIn,guserid_ebay,guserid_wlmart,muserid,guserid
{
a.ApplyPlatName = "Shopify";
}
if (allPlat.guserid_wayfair != null && allPlat.guserid_wayfair == a.UserId)
{
a.ApplyPlatName = "wayfair";
}
if (allPlat.guserid_sheIn != null && allPlat.guserid_sheIn == a.UserId)
{
a.ApplyPlatName = "SheIn";
}
if (allPlat.guserid_ebay != null && allPlat.guserid_ebay == a.UserId)
{
a.ApplyPlatName = "ebay";
}
if (allPlat.muserid != null && allPlat.muserid == a.UserId)
{
a.ApplyPlatName = "亚马逊";
}
if (allPlat.guserid_wlmart != null && allPlat.guserid_wlmart == a.UserId)
{
a.ApplyPlatName = "沃尔玛";
}
if (allPlat.guserid_temu != null && allPlat.guserid_temu == a.UserId)
{
a.ApplyPlatName = "Temu";
}
if (allPlat.guserid_tiktok != null && allPlat.guserid_tiktok == a.UserId)
{
a.ApplyPlatName = "TikTok";
}
}
}
}
//if (allPlat.guserid_shopify != null && YYUserIdList.Contains(allPlat.guserid_shopify.ToString()))//guserid_shopify,guserid_wayfair,guserid_sheIn,guserid_ebay,guserid_wlmart,muserid,guserid
//{
// md.ApplyPlatName = "Shopify";
//}
//if (allPlat.guserid_wayfair != null && YYUserIdList.Contains(allPlat.guserid_wayfair.ToString()))
//{
// md.ApplyPlatName = "wayfair";
//}
//if (allPlat.guserid_sheIn != null && YYUserIdList.Contains(allPlat.guserid_sheIn.ToString()))
//{
// md.ApplyPlatName = "SheIn";
//}
//if (allPlat.guserid_ebay != null && YYUserIdList.Contains(allPlat.guserid_ebay.ToString()))
//{
// md.ApplyPlatName = "ebay";
//}
//if (allPlat.muserid != null && YYUserIdList.Contains(allPlat.muserid.ToString()))
//{
// md.ApplyPlatName = "亚马逊";
//}
//if (allPlat.guserid_wlmart != null && YYUserIdList.Contains(allPlat.guserid_wlmart.ToString()))
//{
// md.ApplyPlatName = "沃尔玛";
//}
//if (allPlat.guserid != null && YYUserIdList.Contains(allPlat.guserid.ToString()))
//{
// md.ApplyPlatName = "guser";
//}
}
//开始检查汇总数据
var quantitlList = DataNew.GetQuantity_GoodsApplyByUserId(YYUserIdList);
resultModel.GoodsApplyList = quantitlList;
}
var quantityPrice = DataNew.GetQuantityPrice(YYUserIdList);
resultModel.QuantityPrice = quantityPrice;
return resultModel;
}
#endregion
#region 编辑页面的查询货物数据
[WebMethod(EnableSession = true)]
public GoodsApplyListShow GetGoodsInfoListForEditSKUApply(string Name,int YYUserId,int isShowAll, int PageIndex, int PageSize, string Sort)
{
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
//Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
//Param.Add("a.State", "=", 1, DbType.Int32);
//Param.Add("b.SafeNum", ">", 0, DbType.Int32);
GoodsApplyListShow resultModel = new GoodsApplyListShow();
int RowCount = 0;
if (isShowAll != 0)
{
var goodsIdList = DataNew.GetGoodsIdList_CKGoodsApply(YYUserId);
if (goodsIdList.Count > 0)
{
if (isShowAll == 1)
{
Param.Add("a.GoodsId", "in", string.Join(",", goodsIdList), DbType.Int32);
}
else
{
Param.Add("a.GoodsId", "not in", string.Join(",", goodsIdList), DbType.Int32);
}
}
}
if (!string.IsNullOrEmpty(Name))
{
Param.Add("a.GoodsCode", "like", Name, DbType.String);
}
Param.Add("CompanyId", "=", CompanyId, DbType.Int32);
Param.Add("State", "=", 1, DbType.Int32);
Name = Name.Trim();
if (Name != "" )
{
Param.Add("(GoodsCode", "like", Name, DbType.String);
Param.Add("GoodsOldCode", "like", Name, "or", ")", DbType.String);
}
//需要添加平台字段的话
//var YYUserIdList = new List<string>();
//string yySqlStr = $"(b.guserid_shopify = {YYUserId} or b.guserid_wayfair = {YYUserId} or b.guserid_sheIn = {YYUserId} or b.guserid_ebay = {YYUserId} or b.guserid_wlmart = {YYUserId})";
Param.Add("(guserid_shopify", "=", YYUserId, DbType.Int32);
Param.Add("guserid_wayfair", "=", YYUserId, "or", DbType.Int32);
Param.Add("guserid_sheIn", "=", YYUserId, "or", DbType.Int32);
Param.Add("guserid_ebay", "=", YYUserId, "or", DbType.Int32);
Param.Add("guserid_wlmart", "=", YYUserId, "or", DbType.Int32);
Param.Add("muserid", "=", YYUserId, "or", DbType.Int32);
Param.Add("guserid_temu", "=", YYUserId, "or", DbType.Int32);
Param.Add("guserid_tiktok", "=", YYUserId, "or", ")", DbType.Int32);
//Param.Add("guserid", "=", YYUserId, "or", ")", DbType.Int32);
string sku = "";
resultModel.DataSource = DataNew.GetListHW_GoodsInfoNewForTM(CompanyId, sku, 0, 0, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
string Ids = "";
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
Ids += md.GoodsId.ToString() + ",";
if (md.Solid != null)
md.TotalSolid = md.Solid * md.GoodsNum;
//申请数据
var applyList = DataNew.GetList_CK_GoodsApplyByGoodsId((int)md.GoodsId, YYUserId);
var ApplyPrice = DataNew.GetOnePrice((int)md.GoodsId);
md.ApplyPrice = ApplyPrice;
if (applyList != null)
{
md.goodsApplyList = applyList;
}
//查询平台
var allPlat = DataNew.GetModel_GoodsPlat((int)md.GoodsId);
if (allPlat.guserid_shopify != null && allPlat.guserid_shopify == YYUserId)//guserid_shopify,guserid_wayfair,guserid_sheIn,guserid_ebay,guserid_wlmart,muserid,guserid
{
md.ApplyPlatName = "Shopify";
}
if (allPlat.guserid_wayfair != null && allPlat.guserid_wayfair == YYUserId)
{
md.ApplyPlatName = "wayfair";
}
if (allPlat.guserid_sheIn != null && allPlat.guserid_sheIn == YYUserId)
{
md.ApplyPlatName = "SheIn";
}
if (allPlat.guserid_ebay != null && allPlat.guserid_ebay == YYUserId)
{
md.ApplyPlatName = "ebay";
}
if (allPlat.muserid != null && allPlat.muserid == YYUserId)
{
md.ApplyPlatName = "亚马逊";
}
if (allPlat.guserid_wlmart != null && allPlat.guserid_wlmart == YYUserId)
{
md.ApplyPlatName = "沃尔玛";
}
if (allPlat.guserid_temu != null && allPlat.guserid_temu == YYUserId)
{
md.ApplyPlatName = "Temu";
}
if (allPlat.guserid_tiktok != null && allPlat.guserid_tiktok == YYUserId)
{
md.ApplyPlatName = "TikTok";
}
}
//开始检查汇总数据
var quantitlList = DataNew.GetQuantity_GoodsApplyByUserId(YYUserId);
resultModel.GoodsApplyList = quantitlList;
}
var quantityPrice = DataNew.GetQuantityPrice(YYUserId);
resultModel.QuantityPrice = quantityPrice;
return resultModel;
}
#endregion
#region 读取全部或单个客户经理
[WebMethod(EnableSession = true)]
public List<BaseModel> GetList_YYUser(int isShowAllGroup)
{
PagesNew.Login(this.Session);
int UserId = Convert.ToInt32(Session["UserId"]);
string where = "";
//展示页面
if(isShowAllGroup == 1)
{
if (UserId != 1)
{
where = $" where a.UserId = {UserId} or b.GroupLeaderId = {UserId}";
}
}
//编辑页面
else
{
if (UserId != 1)
{
where = $" where a.UserId = {UserId}";
}
}
return DataNew.GetList_YYUser(where);
}
#endregion
#region 循环计算每个商品的全部销价
[WebMethod(EnableSession = true)]
public void StartCalculateAllGoosd()
{
//获取全部商品
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var olsGoodsIdList = DataNew.GetGoodsIdList_CKGoodsApply(1);
if (olsGoodsIdList.Count()>0)
{
var goodsList = DataNew.GetAllListCK_GoodsInfoNew(CompanyId, olsGoodsIdList);
//循环开始
int num = 0;
if (goodsList != null)
{
foreach (var goods in goodsList)
{
num++;
try
{
if (goods != null)
{
decimal newInPrice = 0;//1 进价
decimal newTaxesPrice = 0;//2 税费
decimal firstFreight = 0;//3 头程
decimal allFreight = 0;//4 运费预估
//double platPrice = 0;//5 平台佣金
decimal allPrice = 0;//5 总费用
var hwPostFeeModel = GetModelPostFee((int)goods.GoodsId);
//运费获取税率
decimal feeRate = hwPostFeeModel == null ? (decimal)6.5 : hwPostFeeModel.FeeRate == null ? (decimal)6.5 : (decimal)hwPostFeeModel.FeeRate;
//1 进价(人民币转美元)
if (goods.InPrice != null)
{
newInPrice = Math.Round((decimal)goods.InPrice / feeRate, 2);
}
//2 税费
if (goods.FeeRate != null && goods.InPrice != null)
{
newTaxesPrice = Math.Round(((decimal)goods.FeeRate * (decimal)goods.InPrice * (decimal)0.01 / feeRate), 2);
}
//3 头程 GoodsModel.Solid*130
if (goods.Solid != null)
{
firstFreight = Math.Round((decimal)goods.Solid * 130, 2);
}
if (hwPostFeeModel != null)
{
//4 运费预估
if (hwPostFeeModel.Fee1 != null)
{
allFreight = (decimal)hwPostFeeModel.Fee1;
}
if (hwPostFeeModel.Fee3 != null)
{
if ((decimal)hwPostFeeModel.Fee3 > 0 && (decimal)hwPostFeeModel.Fee3 < allFreight)
allFreight = (decimal)hwPostFeeModel.Fee3;
}
if (hwPostFeeModel.Fee5 != null)
{
if ((decimal)hwPostFeeModel.Fee5 > 0 && (decimal)hwPostFeeModel.Fee5 < allFreight)
allFreight = (decimal)hwPostFeeModel.Fee5;
}
if (hwPostFeeModel.Fee7 != null)
{
if ((decimal)hwPostFeeModel.Fee7 > 0 && (decimal)hwPostFeeModel.Fee7 < allFreight)
allFreight = (decimal)hwPostFeeModel.Fee7;
}
}
//5 平台佣金
//platPrice = Math.Round((newInPrice + newTaxesPrice + firstFreight + allFreight) * 0.15, 2);
//5 全部费用
allPrice = Math.Round((newInPrice + newTaxesPrice + firstFreight + allFreight) / (decimal)0.72, 2);
//开始检测
var goodsApplyPriceModel = DataNew.GetModel_CK_GoodsApplyPriceByGoodsId((int)goods.GoodsId);
if (goodsApplyPriceModel == null)
{
goodsApplyPriceModel = new CK_GoodsApplyPrice();
goodsApplyPriceModel.ApplyPrice = allPrice;
goodsApplyPriceModel.GoodsId = (int)goods.GoodsId;
goodsApplyPriceModel.InPrice = newInPrice;
goodsApplyPriceModel.TaxesPrice = newTaxesPrice;
goodsApplyPriceModel.InPrice = newInPrice;
goodsApplyPriceModel.FirstFreight = firstFreight;
goodsApplyPriceModel.AllFreight = allFreight;
goodsApplyPriceModel.FeeRate = feeRate;
DataNew.Save_CK_GoodsApplyPrice(goodsApplyPriceModel);
}
else
{
goodsApplyPriceModel.ApplyPrice = allPrice;
goodsApplyPriceModel.GoodsId = (int)goods.GoodsId;
goodsApplyPriceModel.InPrice = newInPrice;
goodsApplyPriceModel.TaxesPrice = newTaxesPrice;
goodsApplyPriceModel.InPrice = newInPrice;
goodsApplyPriceModel.FirstFreight = firstFreight;
goodsApplyPriceModel.AllFreight = allFreight;
goodsApplyPriceModel.FeeRate = feeRate;
DataNew.Save_CK_GoodsApplyPrice(goodsApplyPriceModel);
}
}
}
catch (Exception ex)
{
}
}
}
}
}
[WebMethod(EnableSession = true)]
public int isYYGroupLeader()
{
//获取全部商品
int UserId = Convert.ToInt32(Session["UserId"]);
var newIsYYGroupLeader = DataNew.isYYGroupLeader(UserId);
return newIsYYGroupLeader;
}
[WebMethod(EnableSession = true)]
public void StartCalculateAllGoosd2()
{
//获取全部商品
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var f = new List<string>();
var goodsList = DataNew.GetAllListCK_GoodsInfoNew(CompanyId, f);
//循环开始
int num = 0;
if (goodsList != null)
{
foreach (var goods in goodsList)
{
num++;
try
{
if (goods != null)
{
decimal newInPrice = 0;//1 进价
decimal newTaxesPrice = 0;//2 税费
decimal firstFreight = 0;//3 头程
decimal allFreight = 0;//4 运费预估
//double platPrice = 0;//5 平台佣金
decimal allPrice = 0;//5 总费用
var hwPostFeeModel = GetModelPostFee((int)goods.GoodsId);
//运费获取税率
decimal feeRate = hwPostFeeModel == null ? (decimal)6.5 : hwPostFeeModel.FeeRate == null ? (decimal)6.5 : (decimal)hwPostFeeModel.FeeRate;
//1 进价(人民币转美元)
if (goods.InPrice != null)
{
newInPrice = Math.Round((decimal)goods.InPrice / feeRate, 2);
}
//2 税费
if (goods.FeeRate != null && goods.InPrice != null)
{
newTaxesPrice = Math.Round(((decimal)goods.FeeRate * (decimal)goods.InPrice * (decimal)0.01 / feeRate), 2);
}
//3 头程 GoodsModel.Solid*130
if (goods.Solid != null)
{
firstFreight = Math.Round((decimal)goods.Solid * 130, 2);
}
if (hwPostFeeModel != null)
{
//4 运费预估
if (hwPostFeeModel.Fee1 != null)
{
allFreight = (decimal)hwPostFeeModel.Fee1;
}
if (hwPostFeeModel.Fee3 != null)
{
if ((decimal)hwPostFeeModel.Fee3 > 0 && (decimal)hwPostFeeModel.Fee3 < allFreight)
allFreight = (decimal)hwPostFeeModel.Fee3;
}
if (hwPostFeeModel.Fee5 != null)
{
if ((decimal)hwPostFeeModel.Fee5 > 0 && (decimal)hwPostFeeModel.Fee5 < allFreight)
allFreight = (decimal)hwPostFeeModel.Fee5;
}
if (hwPostFeeModel.Fee7 != null)
{
if ((decimal)hwPostFeeModel.Fee7 > 0 && (decimal)hwPostFeeModel.Fee7 < allFreight)
allFreight = (decimal)hwPostFeeModel.Fee7;
}
}
//5 平台佣金
//platPrice = Math.Round((newInPrice + newTaxesPrice + firstFreight + allFreight) * 0.15, 2);
//5 全部费用
allPrice = Math.Round((newInPrice + newTaxesPrice + firstFreight + allFreight) / (decimal)0.8, 2);
//开始检测
var goodsApplyPriceModel = DataNew.GetModel_CK_GoodsApplyPriceByGoodsId((int)goods.GoodsId);
if (goodsApplyPriceModel == null)
{
goodsApplyPriceModel = new CK_GoodsApplyPrice();
goodsApplyPriceModel.ApplyPrice = allPrice;
goodsApplyPriceModel.GoodsId = (int)goods.GoodsId;
goodsApplyPriceModel.InPrice = newInPrice;
goodsApplyPriceModel.TaxesPrice = newTaxesPrice;
goodsApplyPriceModel.InPrice = newInPrice;
goodsApplyPriceModel.FirstFreight = firstFreight;
goodsApplyPriceModel.AllFreight = allFreight;
goodsApplyPriceModel.FeeRate = feeRate;
DataNew.Save_CK_GoodsApplyPrice(goodsApplyPriceModel);
}
else
{
goodsApplyPriceModel.ApplyPrice = allPrice;
goodsApplyPriceModel.GoodsId = (int)goods.GoodsId;
goodsApplyPriceModel.InPrice = newInPrice;
goodsApplyPriceModel.TaxesPrice = newTaxesPrice;
goodsApplyPriceModel.InPrice = newInPrice;
goodsApplyPriceModel.FirstFreight = firstFreight;
goodsApplyPriceModel.AllFreight = allFreight;
goodsApplyPriceModel.FeeRate = feeRate;
DataNew.Save_CK_GoodsApplyPrice(goodsApplyPriceModel);
}
}
}
catch (Exception ex)
{
}
}
}
}
#region 清楚错误数据
[WebMethod(EnableSession = true)]
public void ClaerApply(int UserId,bool isDeleteAll)
{
string where = $"UserId = {UserId}";
//删除全部
if (isDeleteAll)
{
}
//删除不属于分配的数量
else
{
//获取全部商品
var oldGoodsIdList = DataNew.GetGoodsListByUserId(UserId);
if (oldGoodsIdList.Count() > 0)
{
var GoodsIdList = new List<string>();
foreach (var m in oldGoodsIdList)
{
var newGoodsIdList = m.goodsMsgModel.Select(t => t.GoodsID.ToString()).ToList();
if (newGoodsIdList.Count() >0)
{
GoodsIdList.AddRange(newGoodsIdList);
}
}
if (GoodsIdList.Count() > 0)
{
where += $" and GoodsId not in ({string.Join(",", GoodsIdList)})";
}
}
}
var list = DataNew.GetGoodsApplyListByMsg(where);
foreach (var l in list)
{
Delete_CK_GoodsApply((int)l.Id);
}
}
#endregion
#endregion
#region 货物运费model
public HW_PostFee GetModelPostFee(int GoodsId)
{
var md = DataNew.GetModelPostFee(GoodsId);
List<JC_Money> list2 = new BaseService().GetMoneyList2();
if (md != null && list2 != null)
{
var fmd = list2.Find(n => n.PlatId == 2 && n.MCode == "USD");
if (fmd != null)
md.FeeRate = fmd.MRate;
}
return md;
}
#endregion
#endregion
}
}