使用session修改
销售退货修改数量
private WMSResultDataDTOData ProcessReceivement(string docNo, RTNHeadData rtnHeadData) {
var resultData = new WMSResultDataDTOData();
Receivement receivement =
Receivement.Finder.Find(string.Format("DocNo = '{0}' and Org = {1}", docNo, Context.LoginOrg.ID));
if (receivement == null)
throw new Exception("找不到销售退回收货单据,DocNo=" + docNo);
foreach (RTNLineData rtnLineData in rtnHeadData.SoRcvLineList) {
int docLineNo = int.Parse(rtnLineData.DocLineNo);
decimal newQty = decimal.Parse(rtnLineData.Qty);
using (Session session = Session.Open()) {
for (var i = 0; i < receivement.RcvLines.Count; i++) {
if (receivement.RcvLines[i].DocLineNo == docLineNo) {
_logger.LogInfo(string.Format("[退货处理] - 更新到货数量:DocNo={0}, LineNo={1}, 原数量={2}, 新数量={3}",
docNo, docLineNo, receivement.RcvLines[i].ArriveQtyTU, newQty));
//数量为0则删除该行
if (newQty == decimal.Zero) {
receivement.RcvLines.RemoveAt(i);
continue;
}
#region 我自己的
receivement.RcvLines[i].ArriveQtyTU = receivement.RcvLines[i].EyeballingQtyTU =
receivement.RcvLines[i].RcvQtyTU = Math.Round(Convert.ToDecimal(newQty), 4);
receivement.RcvLines[i].ArriveQtyPU = receivement.RcvLines[i].EyeballingQtyPU =
receivement.RcvLines[i].RcvQtyPU = Math.Round(Convert.ToDecimal(newQty), 4);
receivement.RcvLines[i].ArriveQtySU = receivement.RcvLines[i].EyeballingQtySU =
receivement.RcvLines[i].RcvQtySU = Math.Round(Convert.ToDecimal(newQty), 4);
receivement.RcvLines[i].ArriveQtyCU = receivement.RcvLines[i].EyeballingQtyCU =
receivement.RcvLines[i].RcvQtyCU = Math.Round(Convert.ToDecimal(newQty), 4);
receivement.RcvLines[i].ArriveQtyTBU = receivement.RcvLines[i].EyeballingQtyTBU =
receivement.RcvLines[i].RcvQtyTBU = 0;
//拒收数量
receivement.RcvLines[i].RejectQtyTU = Decimal.Zero;
receivement.RcvLines[i].RejectQtyTBU = Decimal.Zero;
receivement.RcvLines[i].RejectQtySU = Decimal.Zero;
receivement.RcvLines[i].RejectQtyPU = Decimal.Zero;
receivement.RcvLines[i].RejectQtyCU = Decimal.Zero;
//可立账数量
receivement.RcvLines[i].CanAPConfirmQtyTU = Math.Round(Convert.ToDecimal(newQty), 4);
receivement.RcvLines[i].CanAPConfirmQtyPU = Math.Round(Convert.ToDecimal(newQty), 4);
receivement.RcvLines[i].CanAPConfirmQtyCU = Math.Round(Convert.ToDecimal(newQty), 4);
receivement.RcvLines[i].CanAPConfirmQtySU = Math.Round(Convert.ToDecimal(newQty), 4);
receivement.RcvLines[i].CanAPConfirmQtyTBU = 0;
//退补数量
receivement.RcvLines[i].RtnFillQtySU = Decimal.Zero;
receivement.RcvLines[i].RtnFillQtyTBU = Decimal.Zero;
receivement.RcvLines[i].RtnFillQtyTU = Decimal.Zero;
receivement.RcvLines[i].RtnFillQtyPU = Decimal.Zero;
receivement.RcvLines[i].RtnFillQtyCU = Decimal.Zero;
//拒收价税合计
receivement.RcvLines[i].RejectMnyAC = Decimal.Zero;
receivement.RcvLines[i].RejectMnyFC = Decimal.Zero;
receivement.RcvLines[i].RejectMnyTC = Decimal.Zero;
//拒收未税金额
receivement.RcvLines[i].RejectNetMnyAC = Decimal.Zero;
receivement.RcvLines[i].RejectNetMnyTC = Decimal.Zero;
receivement.RcvLines[i].RejectNetMnyFC = Decimal.Zero;
//拒收税额
receivement.RcvLines[i].RejectTaxMnyAC = Decimal.Zero;
receivement.RcvLines[i].RejectTaxMnyTC = Decimal.Zero;
receivement.RcvLines[i].RejectTaxMnyFC = Decimal.Zero;
if (receivement.RcvLines[i].IsPriceIncludeTax == true) {
//未税金额 = 含税单价 × 数量 ÷(1 + 税率)
receivement.RcvLines[i].ArriveTotalNetMnyTC = Math.Round(
receivement.RcvLines[i].FinallyPriceTC * Convert.ToDecimal(newQty) /
(1 + receivement.RcvLines[i].TaxRate), 2);
//Math.Round(Convert.ToDecimal(arrqty) * receivement.RcvLines[i].FinallyPriceTC / (decimal.Parse(receivement.RcvLines[i].TaxRate.ToString())), 2);//实到未税额
receivement.RcvLines[i].ArriveTotalNetMnyAC =
receivement.RcvLines[i].ArriveTotalNetMnyTC; //实到未税额
receivement.RcvLines[i].ArriveTotalNetMnyFC =
receivement.RcvLines[i].ArriveTotalNetMnyTC; //实到未税额
//
receivement.RcvLines[i].ArriveTotalTaxFC = Math.Round(
receivement.RcvLines[i].ArriveTotalNetMnyTC * receivement.RcvLines[i].TaxRate, 2);
//Math.Round(Convert.ToDecimal(arrqty) * receivement.RcvLines[i].FinallyPriceTC / (decimal.Parse(receivement.RcvLines[i].TaxRate.ToString())) * (decimal.Parse(receivement.RcvLines[i].TaxRate.ToString())), 2);//实到税额
receivement.RcvLines[i].ArriveTotalTaxTC =
receivement.RcvLines[i].ArriveTotalTaxFC; //实到税额
receivement.RcvLines[i].ArriveTotalTaxAC =
receivement.RcvLines[i].ArriveTotalTaxFC; //实到税额
receivement.RcvLines[i].ArriveTotalMnyTC = receivement.RcvLines[i].ArriveTotalNetMnyTC +
receivement.RcvLines[i]
.ArriveTotalTaxFC; //实到价税合计
receivement.RcvLines[i].ArriveTotalMnyAC =
receivement.RcvLines[i].ArriveTotalMnyTC; //实到价税合计
receivement.RcvLines[i].ArriveTotalMnyFC =
receivement.RcvLines[i].ArriveTotalMnyTC; //实到价税合计
//实收未税额
receivement.RcvLines[i].TotalNetMnyTC = Math.Round(
receivement.RcvLines[i].FinallyPriceTC * Convert.ToDecimal(newQty) /
(1 + receivement.RcvLines[i].TaxRate), 2);
receivement.RcvLines[i].TotalNetMnyAC = receivement.RcvLines[i].TotalNetMnyTC;
receivement.RcvLines[i].TotalNetMnyFC = receivement.RcvLines[i].TotalNetMnyTC;
//实收税额
receivement.RcvLines[i].TotalTaxFC = Math.Round(
(receivement.RcvLines[i].TotalNetMnyTC * receivement.RcvLines[i].TaxRate), 2);
receivement.RcvLines[i].TotalTaxAC = receivement.RcvLines[i].TotalTaxFC;
receivement.RcvLines[i].TotalTaxTC = receivement.RcvLines[i].TotalTaxFC;
//实收价税合计
receivement.RcvLines[i].TotalMnyTC = receivement.RcvLines[i].ArriveTotalNetMnyTC +
receivement.RcvLines[i].ArriveTotalTaxFC; //实到价税合计
receivement.RcvLines[i].TotalMnyAC = receivement.RcvLines[i].TotalMnyTC;
receivement.RcvLines[i].TotalMnyFC = receivement.RcvLines[i].TotalMnyTC;
}
else {
//未税金额 = 含税单价 × 数量 ÷(1 + 税率)
receivement.RcvLines[i].ArriveTotalNetMnyTC =
Math.Round(receivement.RcvLines[i].FinallyPriceTC * Convert.ToDecimal(newQty), 2);
//Math.Round(Convert.ToDecimal(arrqty) * receivement.RcvLines[i].FinallyPriceTC / (decimal.Parse(receivement.RcvLines[i].TaxRate.ToString())), 2);//实到未税额
receivement.RcvLines[i].ArriveTotalNetMnyAC =
receivement.RcvLines[i].ArriveTotalNetMnyTC; //实到未税额
receivement.RcvLines[i].ArriveTotalNetMnyFC =
receivement.RcvLines[i].ArriveTotalNetMnyTC; //实到未税额
//
receivement.RcvLines[i].ArriveTotalTaxFC = Math.Round(
receivement.RcvLines[i].ArriveTotalNetMnyTC * receivement.RcvLines[i].TaxRate, 2);
//Math.Round(Convert.ToDecimal(arrqty) * receivement.RcvLines[i].FinallyPriceTC / (decimal.Parse(receivement.RcvLines[i].TaxRate.ToString())) * (decimal.Parse(receivement.RcvLines[i].TaxRate.ToString())), 2);//实到税额
receivement.RcvLines[i].ArriveTotalTaxTC =
receivement.RcvLines[i].ArriveTotalTaxFC; //实到税额
receivement.RcvLines[i].ArriveTotalTaxAC =
receivement.RcvLines[i].ArriveTotalTaxFC; //实到税额
receivement.RcvLines[i].ArriveTotalMnyTC = receivement.RcvLines[i].ArriveTotalNetMnyTC +
receivement.RcvLines[i]
.ArriveTotalTaxFC; //实到价税合计
receivement.RcvLines[i].ArriveTotalMnyAC =
receivement.RcvLines[i].ArriveTotalMnyTC; //实到价税合计
receivement.RcvLines[i].ArriveTotalMnyFC =
receivement.RcvLines[i].ArriveTotalMnyTC; //实到价税合计
//实收未税额
receivement.RcvLines[i].TotalNetMnyTC =
Math.Round(receivement.RcvLines[i].FinallyPriceTC * Convert.ToDecimal(newQty), 2);
receivement.RcvLines[i].TotalNetMnyAC = receivement.RcvLines[i].TotalNetMnyTC;
receivement.RcvLines[i].TotalNetMnyFC = receivement.RcvLines[i].TotalNetMnyTC;
//实收税额
receivement.RcvLines[i].TotalTaxFC = Math.Round(
(receivement.RcvLines[i].TotalNetMnyTC * receivement.RcvLines[i].TaxRate), 2);
receivement.RcvLines[i].TotalTaxAC = receivement.RcvLines[i].TotalTaxFC;
receivement.RcvLines[i].TotalTaxTC = receivement.RcvLines[i].TotalTaxFC;
//实收价税合计
receivement.RcvLines[i].TotalMnyTC = receivement.RcvLines[i].ArriveTotalNetMnyTC +
receivement.RcvLines[i].ArriveTotalTaxFC; //实到价税合计
receivement.RcvLines[i].TotalMnyAC = receivement.RcvLines[i].TotalMnyTC;
receivement.RcvLines[i].TotalMnyFC = receivement.RcvLines[i].TotalMnyTC;
}
if (receivement.RcvLines[i].RcvTaxs.Count > 0) {
foreach (RcvTax item2 in receivement.RcvLines[i].RcvTaxs) {
if (item2.TaxMnyType == UFIDA.U9.CBO.FI_SCM.DTOs.TaxMnyTypeEnum.ArriveTax) {
item2.TaxMnyTC = receivement.RcvLines[i].ArriveTotalTaxFC;
item2.TaxMnyAC = receivement.RcvLines[i].ArriveTotalTaxFC;
item2.TaxMnyFC = receivement.RcvLines[i].ArriveTotalTaxFC;
}
}
foreach (RcvTax item2 in receivement.RcvLines[i].RcvTaxs) {
if (item2.TaxMnyType == UFIDA.U9.CBO.FI_SCM.DTOs.TaxMnyTypeEnum.ReceiveTax) {
item2.TaxMnyTC = receivement.RcvLines[i].ArriveTotalTaxFC;
item2.TaxMnyAC = receivement.RcvLines[i].ArriveTotalTaxFC;
item2.TaxMnyFC = receivement.RcvLines[i].ArriveTotalTaxFC;
}
}
}
#endregion 我自己的
// 修改存储地点
if (receivement.RcvLines[i].DocLineNo == docLineNo &&
receivement.RcvLines[i].Wh.Code != rtnLineData.WhCode) {
Warehouse warehouse = Warehouse.FindByCode(receivement.Org, rtnLineData.WhCode);
if (warehouse == null) {
throw new ApplicationException($"编码为:{rtnLineData.WhCode}的存储地点不存在");
}
receivement.RcvLines[i].Wh = warehouse;
}
if (receivement.RcvLines[i].Wh.IsBin) {
if (receivement.RcvLines[i].RcvLineLocations.Count > 0) {
Bin bin = Bin.Finder.Find(string.Format(
"Org.ID='{0}' and Warehouse.Code='{1}' and Code = '{2}'",
Context.LoginOrg.ID.ToString(), receivement.RcvLines[i].Wh.Code, "A1"));
if (bin != null) {
receivement.RcvLines[i].RcvLineLocations[0].Location = bin;
receivement.RcvLines[i].RcvLineLocations[0].LocationQtySU =
receivement.RcvLines[i].ArriveQtySU;
receivement.RcvLines[i].RcvLineLocations[0].LocationQtyTU =
receivement.RcvLines[i].ArriveQtySU;
}
}
else {
Bin bin = Bin.Finder.Find(string.Format(
"Org.ID='{0}' and Warehouse.Code='{1}' and Code = '{2}'",
Context.LoginOrg.ID.ToString(), receivement.RcvLines[i].Wh.Code, "A1"));
RcvLineLocation rcvbin = RcvLineLocation.Create(receivement.RcvLines[i]);
rcvbin.ItemInfo.ItemCode = receivement.RcvLines[i].ItemInfo.ItemCode;
rcvbin.CurrentOrg = Context.LoginOrg;
rcvbin.Location = new CBO.SCM.Bin.Bin();
rcvbin.Location = bin;
rcvbin.LocationQtySU = receivement.RcvLines[i].ArriveQtySU;
rcvbin.LocationQtyTU = receivement.RcvLines[i].ArriveQtySU;
receivement.RcvLines[i].Wh = bin.Warehouse;
receivement.RcvLines[i].RcvLineLocations.Add(rcvbin);
}
}
else {
if (receivement.RcvLines[i].RcvLineLocations.Count > 0) {
receivement.RcvLines[i].RcvLineLocations[0] = null;
}
}
}
}
session.Commit();
}
}
ApproveRCV(receivement);
_logger.LogInfo("修改成功");
resultData.Code = "200";
resultData.Message = "成功";
resultData.DocNo = docNo;
return resultData;
}采购退货修改数量
private WMSResultDataDTOData ProcessRtn(string docNo, RTNHeadData rtnHeadData) {
var resultData = new WMSResultDataDTOData();
Receivement rec =
Receivement.Finder.Find(string.Format("DocNo = '{0}' and Org = {1}", docNo, Context.LoginOrg.ID));
if (rec == null)
throw new Exception("找不到采购退货单据,DocNo=" + docNo);
foreach (RTNLineData rtnLineData in rtnHeadData.SoRcvLineList) {
int rtnLineNo = int.Parse(rtnLineData.DocLineNo);
decimal newQty = decimal.Parse(rtnLineData.Qty);
using (Session session = Session.Open()) {
foreach (RcvLine rcvLine in rec.RcvLines) {
if (rcvLine.DocLineNo == rtnLineNo) {
_logger.LogInfo(string.Format("[退货处理] - 更新退货数量:DocNo={0}, LineNo={1}, 原数量={2}, 新数量={3}",
docNo,
rtnLineNo, rcvLine.RejectQtyTU, newQty));
#region 我自己的
rcvLine.ArriveQtyTU = rcvLine.EyeballingQtyTU = rcvLine.RcvQtyTU = Decimal.Zero;
rcvLine.ArriveQtyPU = rcvLine.EyeballingQtyPU = rcvLine.RcvQtyPU = Decimal.Zero;
rcvLine.ArriveQtySU = rcvLine.EyeballingQtySU = rcvLine.RcvQtySU = Decimal.Zero;
rcvLine.ArriveQtyCU = rcvLine.EyeballingQtyCU = rcvLine.RcvQtyCU = Decimal.Zero;
rcvLine.ArriveQtyTBU = rcvLine.EyeballingQtyTBU = rcvLine.RcvQtyTBU = 0;
if (rcvLine.RtnDeductQtyTU > 0) {
// 拒收数量
rcvLine.RejectQtyTU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RejectQtyCU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RejectQtyPU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RejectQtySU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RejectQtyTBU = 0;
rcvLine.RtnFillQtyTU = 0;
rcvLine.RtnFillQtyCU = 0;
rcvLine.RtnFillQtyPU = 0;
rcvLine.RtnFillQtySU = 0;
rcvLine.RtnFillQtyTBU = 0;
rcvLine.RtnDeductQtyTU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RtnDeductQtyCU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RtnDeductQtyPU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RtnDeductQtySU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RtnDeductQtyTBU = decimal.Zero;
// 价税合计
rcvLine.RejectMnyAC =
Math.Round(Math.Round(Convert.ToDecimal(newQty), 4) * rcvLine.FinallyPriceTC, 2);
rcvLine.RejectMnyFC =
Math.Round(Math.Round(Convert.ToDecimal(newQty), 4) * rcvLine.FinallyPriceTC, 2);
rcvLine.RejectMnyTC =
Math.Round(Math.Round(Convert.ToDecimal(newQty), 4) * rcvLine.FinallyPriceTC, 2);
// 未税金额 = 含税金额 / (1 + 税率)
rcvLine.RejectNetMnyAC = Math.Round(rcvLine.RejectMnyAC / (1 + rcvLine.TaxRate), 2);
rcvLine.RejectNetMnyFC = Math.Round(rcvLine.RejectMnyAC / (1 + rcvLine.TaxRate), 2);
rcvLine.RejectNetMnyTC = Math.Round(rcvLine.RejectMnyAC / (1 + rcvLine.TaxRate), 2);
// 税额 = 价税合计-未税金额
rcvLine.RejectTaxMnyAC = Math.Round(rcvLine.RejectMnyAC - rcvLine.RejectNetMnyAC, 2);
rcvLine.RejectTaxMnyFC = Math.Round(rcvLine.RejectMnyAC - rcvLine.RejectNetMnyAC, 2);
rcvLine.RejectTaxMnyTC = Math.Round(rcvLine.RejectMnyAC - rcvLine.RejectNetMnyAC, 2);
rcvLine.RtnDeductMnyTC = rcvLine.RejectMnyAC;
rcvLine.RtnDeductMnyFC = rcvLine.RejectMnyAC;
rcvLine.RtnDeductMnyAC = rcvLine.RejectMnyAC;
rcvLine.RtnDeductNetMnyTC = rcvLine.RejectNetMnyAC;
rcvLine.RtnDeductNetMnyFC = rcvLine.RejectNetMnyAC;
rcvLine.RtnDeductNetMnyAC = rcvLine.RejectNetMnyAC;
rcvLine.RtnDeductTaxAC = rcvLine.RejectTaxMnyAC;
rcvLine.RtnDeductTaxFC = rcvLine.RejectTaxMnyAC;
rcvLine.RtnDeductTaxTC = rcvLine.RejectTaxMnyAC;
if (rcvLine.RcvTaxs.Count > 0) {
foreach (RcvTax item2 in rcvLine.RcvTaxs) {
if (item2.TaxMnyType == UFIDA.U9.CBO.FI_SCM.DTOs.TaxMnyTypeEnum.RejectTax) {
item2.TaxMnyTC = rcvLine.RejectTaxMnyAC;
item2.TaxMnyAC = rcvLine.RejectTaxMnyAC;
item2.TaxMnyFC = rcvLine.RejectTaxMnyAC;
}
if (item2.TaxMnyType == UFIDA.U9.CBO.FI_SCM.DTOs.TaxMnyTypeEnum.RtnDeductTax) {
item2.TaxMnyTC = rcvLine.RejectTaxMnyAC;
item2.TaxMnyAC = rcvLine.RejectTaxMnyAC;
item2.TaxMnyFC = rcvLine.RejectTaxMnyAC;
}
}
}
}
else {
// 拒收数量
rcvLine.RejectQtyTU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RejectQtyCU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RejectQtyPU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RejectQtySU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RejectQtyTBU = 0;
rcvLine.RtnFillQtyTU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RtnFillQtyCU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RtnFillQtyPU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RtnFillQtySU = Math.Round(Convert.ToDecimal(newQty), 4);
rcvLine.RtnFillQtyTBU = 0;
rcvLine.RtnDeductQtyTU = decimal.Zero;
rcvLine.RtnDeductQtyCU = decimal.Zero;
rcvLine.RtnDeductQtyPU = decimal.Zero;
rcvLine.RtnDeductQtySU = decimal.Zero;
rcvLine.RtnDeductQtyTBU = decimal.Zero;
// 价税合计
rcvLine.RejectMnyAC =
Math.Round(Math.Round(Convert.ToDecimal(newQty), 4) * rcvLine.FinallyPriceTC, 2);
rcvLine.RejectMnyFC =
Math.Round(Math.Round(Convert.ToDecimal(newQty), 4) * rcvLine.FinallyPriceTC, 2);
rcvLine.RejectMnyTC =
Math.Round(Math.Round(Convert.ToDecimal(newQty), 4) * rcvLine.FinallyPriceTC, 2);
// 未税金额 = 含税金额 / (1 + 税率)
rcvLine.RejectNetMnyAC = Math.Round(rcvLine.RejectMnyAC / (1 + rcvLine.TaxRate), 2);
rcvLine.RejectNetMnyFC = Math.Round(rcvLine.RejectMnyAC / (1 + rcvLine.TaxRate), 2);
rcvLine.RejectNetMnyTC = Math.Round(rcvLine.RejectMnyAC / (1 + rcvLine.TaxRate), 2);
// 税额 = 价税合计-未税金额
rcvLine.RejectTaxMnyAC = Math.Round(rcvLine.RejectMnyAC - rcvLine.RejectNetMnyAC, 2);
rcvLine.RejectTaxMnyFC = Math.Round(rcvLine.RejectMnyAC - rcvLine.RejectNetMnyAC, 2);
rcvLine.RejectTaxMnyTC = Math.Round(rcvLine.RejectMnyAC - rcvLine.RejectNetMnyAC, 2);
if (rcvLine.RcvTaxs.Count > 0) {
foreach (RcvTax item2 in rcvLine.RcvTaxs) {
if (item2.TaxMnyType == UFIDA.U9.CBO.FI_SCM.DTOs.TaxMnyTypeEnum.RejectTax) {
item2.TaxMnyTC = rcvLine.RejectTaxMnyAC;
item2.TaxMnyAC = rcvLine.RejectTaxMnyAC;
item2.TaxMnyFC = rcvLine.RejectTaxMnyAC;
}
}
}
}
// 修改存储地点
if (rcvLine.DocLineNo == rtnLineNo &&
rcvLine.Wh.Code != rtnLineData.WhCode) {
Warehouse warehouse = Warehouse.FindByCode(rcvLine.CurrentOrg, rtnLineData.WhCode);
if (warehouse == null) {
throw new ApplicationException($"编码为:{rtnLineData.WhCode}的存储地点不存在");
}
rcvLine.Wh = warehouse;
}
if (rcvLine.Wh.IsBin) {
if (rcvLine.RcvLineLocations.Count > 0) {
Bin bin = Bin.Finder.Find(string.Format(
"Org.ID='{0}' and Warehouse.Code='{1}' and Code = '{2}'",
Context.LoginOrg.ID.ToString(), rcvLine.Wh.Code, "A1"));
if (bin != null) {
rcvLine.RcvLineLocations[0].Location = bin;
rcvLine.RcvLineLocations[0].LocationQtySU = rcvLine.ArriveQtySU;
rcvLine.RcvLineLocations[0].LocationQtyTU = newQty;
}
}
else {
Bin bin = Bin.Finder.Find(string.Format(
"Org.ID='{0}' and Warehouse.Code='{1}' and Code = '{2}'",
Context.LoginOrg.ID.ToString(), rcvLine.Wh.Code, "A1"));
RcvLineLocation rcvbin = RcvLineLocation.Create(rcvLine);
rcvbin.ItemInfo.ItemCode = rcvLine.ItemInfo.ItemCode;
rcvbin.CurrentOrg = Context.LoginOrg;
rcvbin.Location = new CBO.SCM.Bin.Bin();
rcvbin.Location = bin;
rcvbin.LocationQtySU = rcvLine.ArriveQtySU;
rcvbin.LocationQtyTU = newQty;
rcvLine.Wh = bin.Warehouse;
rcvLine.RcvLineLocations.Add(rcvbin);
}
}
else {
if (rcvLine.RcvLineLocations.Count > 0) {
rcvLine.RcvLineLocations[0] = null;
}
}
}
#endregion 我自己的
}
session.Commit();
}
}
}
评论 (0)