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#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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
}
}