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