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.
ERP/TradeManage/CangKuServerNew.asmx.cs

1870 lines
74 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 TradeManageNew;
using NetLibrary.Data;
using NetLibrary;
using System.Data;
using NetLibrary.ReportPrint;
namespace TradeManage
{
/// <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> 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 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;
}
[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> 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;
}
#region 查询费用报表
[WebMethod(EnableSession = true)]
public List<CK_FeeReport2> GetListFeeReportNew2(int CompanyId, int FeeType, DateTime? SDate, DateTime? EDate)
{
PagesNew.Login(this.Session);
EDate = EDate.Value.AddDays(1);
string html = "";
List<CK_FeeReport2> list = new List<CK_FeeReport2>();
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;
foreach (var cmd in clist)
{
CK_FeeReport2 rmd = new CK_FeeReport2();
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.Fee6 = 0;
rmd.Fee9 = 0;
rmd.HJFee = 0;
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 ==6)
{
rmd.Fee6 = remmd.TotalFee.Value;
hj += remmd.TotalFee.Value;
}
if (remmd.FeeType == 9)
{
rmd.Fee9 = 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 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.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;
}
#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 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)
{
Pages.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)
{
Pages.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)
{
Pages.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
[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 "结算成功";
}
#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 bool Delete_OtherFee(int Id)
{
Pages.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)
{
Pages.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 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()
{
Pages.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
[WebMethod(EnableSession = true)]
public List<HW_GoodsCGDetailNew> GetPurchaseInGoodsForTM3(int ChaseId)
{
Pages.Login(this.Session);
var obj = new CG_ChaseData();
var list = DataNew.GetPurchaseGoodsForTM3(ChaseId);
return list;
}
#region 保存海外仓入库
[WebMethod(EnableSession = true)]
public int SaveChaseInStoreForTM3(int ChaseId, string PostionCode, int PostState, int IsGC, int IsBH, List<CG_ChaseInStoreNew> list, int IsZJ, int IsDH)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
string Name = Convert.ToString(Session["Name"]);
var obj = new CG_ChaseData();
string Log = "";
if (list != null)
{
int Num = 0;
var obj1 = new HuoWuData();
HW_GoodsInRecord model = new HW_GoodsInRecord();
model.CompanyId = CompanyId;
model.InDate = DateTime.Now;
model.InUserId = UserId;
model.InName = Name;
model.InReason = "采购入库";
model.InCode = GetOutCode();
model.InNum = Num;
model.IsDelete = 0;
model.ChaseId = ChaseId;
var InId = obj1.SaveGoodsInRecordForTM(model);
Log = "入库单号:" + model.InCode + "采购入库";
foreach (var md in list)
{
HW_GoodsInRK rkmd = new HW_GoodsInRK();
rkmd.DetailId = md.GoodsDetailId;
rkmd.InId = InId;
rkmd.InNum = md.AddNum;
rkmd.StoreId = 0;
rkmd.PostionCode = md.PostionCode;
int RKId = obj1.SaveInRecordDetailForTM(rkmd);
if (md.AddNum > 0)
{
DataNew.SaveInchaseGoodsForTM2(ChaseId, UserId, md.Price, md.PostPrice, md.GoodsDetailId.Value, md.AddNum.Value, RKId, md.ErrorDesc, md.PostionCode, PostState,md.GoodsRate);
}
}
}
obj.UpdateChaseStateForTM2(ChaseId, PostState, IsDH, 1);
obj.UpdateChaseGoodsNum(ChaseId);
Pages.SaveLog(UserId, "采购入库", ChaseId.ToString() + Log, ChaseId);
return 0;
}
#endregion
#region 查询海外仓货物
[WebMethod(EnableSession = true)]
public JsonModel<List<HW_GoodsHWCOutDetailNew>> GetGoodsForHWCOut(int Type, string ids, string GoodsName, int PageIndex, int PageSize)
{
Pages.Login(this.Session);
var obj = new CG_ChaseData();
RefParameterCollection Param = new RefParameterCollection();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
string Sort = "d.ChaseId,c.GoodsCode,b.TypeCode";
Param.Add("d.CompanyId", "=", CompanyId, DbType.Int32);
if (ids != "")
Param.Add("a.Id", "not in", ids.TrimEnd(','), DbType.String);
if (Type == 1 && GoodsName != "")
{
Param.Add("(c.GoodsName", "like", GoodsName, DbType.String);
Param.Add("c.GoodsCode", "like", GoodsName, "or", ")", DbType.String);
}
else if (Type == 2 && GoodsName != "")
{
Param.Add("d.ChaseCode", "like", GoodsName, DbType.String);
}
else if (Type == 3 && GoodsName != "")
{
Param.Add("d.BuyCode", "like", GoodsName, DbType.String);
}
Param.Add("a.OutNum-isnull(a.TJOutNum,0)", ">", 0, DbType.Int32);
// Param.Add("isnull(SJOutNum,0)", "=", 0, DbType.Int32);
JsonModel<List<HW_GoodsHWCOutDetailNew>> resultModel = new JsonModel<List<HW_GoodsHWCOutDetailNew>>();
int RowCount = 0;
resultModel.DataSource = DataNew.GetListOutGoodsInfo(Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
return resultModel;
}
#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 string GetCGGCodeForTM()
{
PagesNew.Login(this.Session);
var obj = new CG_ChaseData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int num = obj.Get_CGOrderCode(CompanyId) + 1;
Random ran = new Random();
int RandKey = ran.Next(0, 9);
string Code = DateTime.Today.ToString("yyyyMMdd") + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + num.ToString() + RandKey.ToString(); ;
return Code;
}
#endregion
#region 导入畅想合同
[WebMethod(EnableSession = true)]
public string ImportCXCotact(string FileName, int State)
{
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("1") == false) { error = error + "导入模板的 1 列不存在"; }
if (tb.Columns.Contains("13") == false) { error = error + "导入模板的 13 列不存在"; }
if (string.IsNullOrEmpty(error) == false) return error + ";请导入格式不正确请在第一行加1,2,3,4...13,列名";
DD_OrderData obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
string Name = Convert.ToString(Session["Name"]);
var cmd = new CG_Purchase();
var glist = new List<CG_PurchaseGoods>();
cmd.ChaseCode = GetCGGCodeForTM();
cmd.PostFee = 0;
cmd.PostState = 0;
cmd.State = 1;
cmd.GoodsState = 0;
cmd.IsDelete = 0;
cmd.IsBH = 0;
cmd.IsFactory = 0;
cmd.InDate = DateTime.Now;
cmd.InUserId = UserId;
cmd.InName = Name;
cmd.InGoodsNum = 0;
int Num = 0;
int hw = 0;
int GNum = 0;
decimal zje = 0;
for (int i = 0; i < tb.Rows.Count; i++)
{
string row1 = tb.Rows[i]["1"].ToString().Trim();
string row4 = tb.Rows[i]["4"].ToString().Trim();
string row6 = tb.Rows[i]["6"].ToString().Trim();
string row7 = tb.Rows[i]["7"].ToString().Trim();
string row8 = tb.Rows[i]["8"].ToString().Trim();
string row9 = tb.Rows[i]["9"].ToString().Trim();
string row10 = tb.Rows[i]["10"].ToString().Trim();
string row11 = tb.Rows[i]["11"].ToString().Trim();
string row12 = tb.Rows[i]["12"].ToString().Trim();
string row13 = tb.Rows[i]["13"].ToString().Trim();
// string row14 = tb.Rows[i]["14"].ToString().Trim();
if (row11 != "" && row11.Contains("合同编号") == true)
{
cmd.BuyCode = row13;
}
//if (row1 == "")
//{
// hw = 1;
// continue;
//}
if (row1 != "" && row8 != "" && row9 != "" && row10 != "")
{
var gmd = new CG_PurchaseGoods();
gmd.GoodsCode = row1;
if (row1 != "")
{
var hmd = DataNew.GetGoodsDetailModel(row1);
if (hmd != null)
gmd.GoodsDetailId = hmd.DetailId;
}
try
{
gmd.GoodsNum = Convert.ToInt32(row8);
GNum += gmd.GoodsNum.Value;
}
catch (Exception ex)
{
continue;
}
try
{
gmd.GoodsPrice = Convert.ToDecimal(row9);
}
catch (Exception ex)
{
// error += row1 + "单价" + row12 + "不是金额格式";
continue;
}
if (gmd.GoodsDetailId > 0)
glist.Add(gmd);
else
error += row1 + "系统中没找到对应的编号";
if (row10 != "" && gmd.GoodsDetailId > 0)
{
try
{
zje += Convert.ToDecimal(row10);
}
catch (Exception ex)
{
// error += "总价" + row12 + "不是金额格式";
continue;
}
}
}
}
cmd.GoodsMoney = zje;
cmd.GoodsNum = GNum;
if (error != "")
return error;
else
{
CG_ChaseData obj2 = new CG_ChaseData();
cmd.BuyDate = DateTime.Now;
cmd.CompanyId = CompanyId;
int ChaseId = obj2.SavePurchaseForTM2(cmd);
if (glist != null)
{
foreach (var md in glist)
{
md.ChaseId = ChaseId;
md.InGoodsNum = 0;
md.BuyNum = md.GoodsNum;
obj2.SavePurchaseGoods2(md);
}
}
return "导入成功";
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 保存
[WebMethod(EnableSession = true)]
public string Save_GoodsMoveCheck(List<HW_GoodsLeft> list)
{
Pages.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
}
}