3
This commit is contained in:
parent
5330246bdd
commit
b68dfe67b8
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
@ -175,5 +176,15 @@ namespace Pilot_KD_Parino.Common
|
||||
/// </summary>
|
||||
public double BenCi { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 行的主键
|
||||
/// </summary>
|
||||
public string FROWID { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 父级主键ID
|
||||
/// </summary>
|
||||
public string FPARENTROWID { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1052,10 +1052,36 @@ namespace Pilot_KD_Parino.Common
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (saveResult.IsSuccess == false)
|
||||
{
|
||||
saveResult.IsShowMessage = true;
|
||||
|
||||
//billView.ShowErrMessage(saveResult.InteractionContext.SimpleMessage);
|
||||
|
||||
var dd=saveResult.ValidationErrors.FirstOrDefault();
|
||||
if (dd != null)
|
||||
billView.ShowErrMessage(dd.Message);
|
||||
else
|
||||
{
|
||||
billView.ShowErrMessage("不知道为什么,反正就是保存失败了!");
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (saveResult.InteractionContext != null
|
||||
&& saveResult.InteractionContext.Option.GetInteractionFlag().Count > 0)
|
||||
{// 保存失败,需要用户确认问题
|
||||
//billView.ShowErrMessage(saveResult.InteractionContext.SimpleMessage);
|
||||
//saveResult.MergeValidateErrors();
|
||||
//billView.ShowOperateResult(saveResult.OperateResult);
|
||||
|
||||
var dd = saveResult.ValidationErrors.FirstOrDefault();
|
||||
if (dd != null)
|
||||
billView.ShowErrMessage(dd.Message);
|
||||
else
|
||||
{
|
||||
billView.ShowErrMessage("不知道为什么,反正就是保存失败了!");
|
||||
}
|
||||
return;
|
||||
}
|
||||
// 保存失败,显示错误信息
|
||||
if (saveResult.IsShowMessage)
|
||||
|
@ -6,6 +6,7 @@ using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
|
||||
using Kingdee.BOS.Core.Enums;
|
||||
using Kingdee.BOS.Core.List;
|
||||
using Kingdee.BOS.Core.Msg;
|
||||
using Kingdee.BOS.Orm;
|
||||
using Kingdee.BOS.Orm.DataEntity;
|
||||
@ -146,8 +147,9 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_lsn", ReceiveBILLLIST[i].FDAMOUNT, RowindexNew);
|
||||
this.View.Model.SetValue("FCreated2", ReceiveBILLLIST[i].FCreated, RowindexNew);
|
||||
this.View.Model.SetValue("FSalesman2", ReceiveBILLLIST[i].FSalesman, RowindexNew);
|
||||
this.View.Model.SetValue("F_RowNew", ReceiveBILLLIST[i].F_RowNew, RowindexNew);
|
||||
|
||||
this.View.Model.SetValue("F_RowNew", ReceiveBILLLIST[i].F_RowNew, RowindexNew);
|
||||
this.View.Model.SetValue("F_ISHX", false, RowindexNew);
|
||||
|
||||
}
|
||||
this.View.UpdateView("FEntity2");
|
||||
}
|
||||
@ -843,7 +845,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
this.View.Model.SetValue("F_PendingAmount", item.FDAMOUNT, item.FRow);
|
||||
this.View.Model.SetValue("F_BenCi", item.BenCi, item.FRow);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_3iy", item.FYAMOUNT, item.FRow);
|
||||
|
||||
this.View.Model.SetValue("F_ISHX",false, item.FRow);
|
||||
List<string> strings = new List<string>();
|
||||
if (item.FCONTRACTNUMBER != null)
|
||||
strings = item.FCONTRACTNUMBER.Split(',').ToList();
|
||||
@ -868,6 +870,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
}
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_imu", tempList2[i].FALLAMOUNT, Rowindex + i);
|
||||
this.View.Model.SetValue("FClient2", tempList2[i].FClient, Rowindex + i);
|
||||
this.View.Model.SetValue("F_RowNew", 2, Rowindex + i);
|
||||
this.View.Model.SetValue("FCreated2", tempList2[i].FCreated, Rowindex + i);
|
||||
this.View.Model.SetValue("FCONTRACTNUMBER2", tempList2[i].FCONTRACTNUMBER, Rowindex + i);
|
||||
this.View.Model.SetValue("FSalesman2", tempList2[i].FSalesman, Rowindex + i);
|
||||
@ -969,7 +972,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
View.ShowMessage("确定要生成核销记录单吗?", MessageBoxOptions.YesNo, result =>
|
||||
{
|
||||
if (result == MessageBoxResult.Yes)
|
||||
{
|
||||
{
|
||||
#region 隐藏代码
|
||||
|
||||
//存储销售订单/应收单
|
||||
@ -986,309 +989,179 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
DynamicObjectCollection FEntity = this.View.Model.DataObject["FEntity"] as DynamicObjectCollection;
|
||||
//获取收款单单据体数据
|
||||
DynamicObjectCollection FEntity2 = this.View.Model.DataObject["FEntity2"] as DynamicObjectCollection;
|
||||
|
||||
SaleBILLLIS = new List<CombinaClass>();
|
||||
var ReceiveBILLLIST2 = new List<CombinaClass>();
|
||||
ReceiveBILLLIST = new List<CombinaClass>();
|
||||
|
||||
foreach (var item in FEntity)
|
||||
{
|
||||
SaleBILLLIS.Add(new CombinaClass()
|
||||
{
|
||||
FBIllNO = item["FBILLNO"]?.ToString(),
|
||||
FCONTRACTNUMBER = item["FCONTRACTNUMBER"]?.ToString(),
|
||||
FClient = Convert.ToInt32(item["FClient_Id"]),
|
||||
FDate = item["FDate"]?.ToString(),
|
||||
FALLAMOUNT = Convert.ToDouble(item["F_MBBA_Decimal_c1c"]),
|
||||
FYAMOUNT = Convert.ToDouble(item["F_MBBA_Decimal_vb1"]),
|
||||
FDAMOUNT = Convert.ToDouble(item["F_MBBA_Decimal_emq"]),
|
||||
FSKBIllNO = item["FSKBILLNO"]?.ToString(),
|
||||
FCreated = Convert.ToInt32(item["FCreated_Id"]),
|
||||
FSalesman = Convert.ToInt32(item["FSalesman_Id"]),
|
||||
FType = item["FType"]?.ToString(),
|
||||
FISHX = item["FISHX"]?.ToString(),
|
||||
FWeiYi = item["FWeiYi"]?.ToString(),
|
||||
});
|
||||
}
|
||||
|
||||
foreach (var item in FEntity2)
|
||||
{
|
||||
ReceiveBILLLIST2.Add(new CombinaClass()
|
||||
{
|
||||
FBIllNO = Convert.ToString(item["FBILLNO2"]),
|
||||
FDate = Convert.ToString(item["FDate2"]),
|
||||
FALLAMOUNT = Convert.ToDouble(item["F_MBBA_Decimal_imu"]),
|
||||
FYAMOUNT = Convert.ToDouble(item["F_MBBA_Decimal_3iy"]),
|
||||
FDAMOUNT = Convert.ToDouble(item["F_MBBA_Decimal_lsn"]),
|
||||
FClient = Convert.ToInt32(item["FClient2_Id"]),
|
||||
FCONTRACTNUMBER = item["FCONTRACTNUMBER2"]?.ToString(),
|
||||
FRemark = Convert.ToString(item["FRemark"]),
|
||||
FCreated = Convert.ToInt32(item["FCreated2_Id"]),
|
||||
FSalesman = Convert.ToInt32(item["FSalesman2_Id"]),
|
||||
FISHX = item["FISHX2"]?.ToString(),
|
||||
FWeiYi = item["FWeiYi2"]?.ToString(),
|
||||
FRow = Convert.ToInt32(item["Seq"]) - 1,
|
||||
F_RowNew = Convert.ToInt32(item["F_RowNew"])
|
||||
});
|
||||
}
|
||||
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX == "已核销配对").ToList();
|
||||
|
||||
//循环收款单
|
||||
foreach (var item in FEntity2)
|
||||
{
|
||||
var s1 = Convert.ToInt32(item["F_RowNew"]);
|
||||
var s2 = item["F_ISHX"]?.ToString();
|
||||
var s3 = string.IsNullOrWhiteSpace(item["FISHX2"]?.ToString());
|
||||
var s4 = string.IsNullOrWhiteSpace(item["FWeiYi2"]?.ToString());
|
||||
//创建对象存储
|
||||
var SKList = new CombinaAddSK();
|
||||
//过滤未匹对上的数据/过滤除了收款单1对1、1对多的数据
|
||||
if (Convert.ToInt32(item["F_RowNew"]) == 1 && item["F_ISHX"]?.ToString() == "True" && !string.IsNullOrWhiteSpace(item["FISHX2"]?.ToString()) && string.IsNullOrWhiteSpace(item["FWeiYi2"]?.ToString()))
|
||||
{
|
||||
//获取纸质合同号
|
||||
var stringSplit = (item["FCONTRACTNUMBER2"])?.ToString()?.Split(',');
|
||||
|
||||
//找到对应销售订单
|
||||
foreach (var item2 in FEntity.Where(a => stringSplit.Contains(a["FCONTRACTNUMBER"])))
|
||||
{
|
||||
var nTestList = new CombinaAddClass1();
|
||||
nTestList.FBIllNO = item2["FBILLNO"]?.ToString();
|
||||
nTestList.FClient = Convert.ToInt32(item2["FClient_Id"]);
|
||||
nTestList.FDate = item2["FDate"]?.ToString();
|
||||
nTestList.FALLAMOUNT = Convert.ToDecimal(item2["F_MBBA_Decimal_emq"]);
|
||||
nTestList.FCONTRACTNUMBER = item2["FCONTRACTNUMBER"]?.ToString();
|
||||
nTestList.FType = item2["FTYPE"]?.ToString();
|
||||
nTestList.FCreated = Convert.ToInt32(item2["FCreated_Id"]);
|
||||
nTestList.FSalesman = Convert.ToInt32(item2["FSalesman_Id"]);
|
||||
SKList.XSAPList.Add(nTestList);
|
||||
}
|
||||
SKList.FBIllNO = item["FBILLNO2"]?.ToString();
|
||||
SKList.FCONTRACTNUMBER = item["FCONTRACTNUMBER2"]?.ToString();
|
||||
SKList.FClient = Convert.ToInt32(item["FClient2_Id"]);
|
||||
SKList.FDate = item["FDate2"]?.ToString();
|
||||
SKList.FALLAMOUNT = Convert.ToDecimal(item["F_MBBA_Decimal_lsn"]);
|
||||
SKList.FRemark = item["FRemark"]?.ToString();
|
||||
SKList.FCreated = Convert.ToInt32(item["FCreated2_Id"]);
|
||||
SKList.FSalesman = Convert.ToInt32(item["FSalesman2_Id"]);
|
||||
fCombinaAddSK.Add(SKList);
|
||||
}
|
||||
}
|
||||
|
||||
//循环销售订单/应收单
|
||||
foreach (var item in FEntity)
|
||||
{
|
||||
//创建对象存储
|
||||
var SKList = new CombinaAddClass1();
|
||||
|
||||
//过滤未匹对上的数据/过滤不是唯一的数据
|
||||
if (item["F_ISGX"]?.ToString() == "True" && !string.IsNullOrWhiteSpace(item["FISHX"]?.ToString()) && !string.IsNullOrWhiteSpace(item["FWeiYi"]?.ToString()))
|
||||
{
|
||||
//获取纸质合同号
|
||||
var stringSplit = (item["FSKBILLNO"])?.ToString()?.Split(',');
|
||||
|
||||
//找到对应销售订单
|
||||
foreach (var item2 in FEntity2.Where(a => stringSplit.Contains(a["FBILLNO2"])))
|
||||
{
|
||||
var nTestList = new CombinaAddSK();
|
||||
nTestList.FBIllNO = item2["FBILLNO2"]?.ToString();
|
||||
nTestList.FCONTRACTNUMBER = item2["FCONTRACTNUMBER2"]?.ToString();
|
||||
nTestList.FClient = Convert.ToInt32(item2["FClient2_Id"]);
|
||||
nTestList.FDate = item2["FDate2"]?.ToString();
|
||||
nTestList.FALLAMOUNT = Convert.ToDecimal(item2["F_MBBA_Decimal_lsn"]);
|
||||
nTestList.FRemark = item2["FRemark"]?.ToString();
|
||||
nTestList.FSalesman = Convert.ToInt32(item2["FSalesman2_Id"]);
|
||||
nTestList.FCreated = Convert.ToInt32(item2["FCreated2_Id"]);
|
||||
SKList.SKList.Add(nTestList);
|
||||
}
|
||||
SKList.FBIllNO = item["FBILLNO"]?.ToString();
|
||||
SKList.FClient = Convert.ToInt32(item["FClient_Id"]);
|
||||
SKList.FDate = item["FDate"]?.ToString();
|
||||
SKList.FALLAMOUNT = Convert.ToDecimal(item["F_MBBA_Decimal_emq"]);
|
||||
SKList.FCONTRACTNUMBER = item["FCONTRACTNUMBER"]?.ToString();
|
||||
SKList.FType = item["FType"]?.ToString();
|
||||
SKList.FCreated = Convert.ToInt32(item["FCreated_Id"]);
|
||||
SKList.FSalesman = Convert.ToInt32(item["FSalesman_Id"]);
|
||||
fCombinaAddClass1.Add(SKList);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
if (fCombinaAddClass1.Count == 0 && fCombinaAddSK.Count == 0)
|
||||
|
||||
var selectList = FEntity2.Where(t => t["F_ISHX"] != null && t["F_ISHX"].ToString().ToLower() == "true").ToList();
|
||||
if (selectList.Count == 0 && selectList.Count == 0)
|
||||
{
|
||||
this.View.ShowWarnningMessage("未选择核销数据!");
|
||||
return;
|
||||
}
|
||||
string hetong = "";
|
||||
|
||||
//selectList.ForEach(t =>
|
||||
//{
|
||||
// hetong += "," + t["FBILLNO2"].ToString();
|
||||
//});
|
||||
//this.View.ShowWarnningMessage(hetong);
|
||||
//return;
|
||||
//this.View.Model.SetValue("FROWID", FROWID, RowindexNew);
|
||||
//this.View.Model.SetValue("FPARENTROWID", FROWID, item.FRow);
|
||||
var ReceiveBILLLIST2= selectList.Select(item=>new CombinaClass()
|
||||
{
|
||||
FBIllNO = Convert.ToString(item["FBILLNO2"]),
|
||||
FDate = Convert.ToString(item["FDate2"]),
|
||||
FALLAMOUNT = Convert.ToDouble(item["F_MBBA_Decimal_imu"]),
|
||||
FYAMOUNT = Convert.ToDouble(item["F_MBBA_Decimal_3iy"]),
|
||||
FDAMOUNT = Convert.ToDouble(item["F_MBBA_Decimal_lsn"]),
|
||||
FClient = Convert.ToInt32(item["FClient2_Id"]),
|
||||
FCONTRACTNUMBER = item["FCONTRACTNUMBER2"]?.ToString(),
|
||||
FRemark = Convert.ToString(item["FRemark"]),
|
||||
FCreated = Convert.ToInt32(item["FCreated2_Id"]),
|
||||
FSalesman = Convert.ToInt32(item["FSalesman2_Id"]),
|
||||
FISHX = item["FISHX2"]?.ToString(),
|
||||
FWeiYi = item["FWeiYi2"]?.ToString(),
|
||||
FRow = Convert.ToInt32(item["Seq"]),
|
||||
F_RowNew = Convert.ToInt32(item["F_RowNew"]),
|
||||
BenCi= Convert.ToDouble(item["BenCi"]),
|
||||
FROWID= Convert.ToString(item["ROWID"]),
|
||||
FPARENTROWID = Convert.ToString(item["PARENTROWID"]),
|
||||
|
||||
});
|
||||
var shouKuanList = ReceiveBILLLIST2.Where(t => t.F_RowNew == 1).ToList();
|
||||
List<string> errorList = new List<string>();
|
||||
shouKuanList.ForEach(item=>
|
||||
{
|
||||
var sales = ReceiveBILLLIST2.Where(t => t.FPARENTROWID == item.FROWID && t.FROWID!= item.FROWID).ToList();
|
||||
var heji = sales.Sum(t => t.BenCi);
|
||||
if (heji != item.BenCi || heji==0 || sales.Count==0)
|
||||
errorList.Add(item.FBIllNO+ $@" 明细={heji} 收款单={item.BenCi} ");
|
||||
else
|
||||
{
|
||||
if (errorList.Count == 0)
|
||||
{
|
||||
//创建对象存储
|
||||
var SKList = new CombinaAddSK();
|
||||
|
||||
//获取纸质合同号
|
||||
var stringSplit = sales.Select(t => t.FCONTRACTNUMBER).Distinct().ToList();
|
||||
|
||||
//找到对应销售订单
|
||||
var nTestList = sales.Select(item2 => new CombinaAddClass1
|
||||
{
|
||||
FBIllNO = item2.FBIllNO,
|
||||
FClient = Convert.ToInt32(item2.FClient),
|
||||
FDate = item2.FDate,
|
||||
FALLAMOUNT = Convert.ToDecimal(item2.BenCi),
|
||||
FCONTRACTNUMBER = item2.FCONTRACTNUMBER,
|
||||
FType = "销售订单",
|
||||
FCreated = item2.FCreated,
|
||||
FSalesman = item2.FSalesman,
|
||||
});
|
||||
SKList.XSAPList.AddRange(nTestList);
|
||||
SKList.FBIllNO = item.FBIllNO;
|
||||
SKList.FCONTRACTNUMBER =string.Join(",", sales.Select(t=>t.FCONTRACTNUMBER).Distinct().ToList());
|
||||
SKList.FClient = item.FClient;
|
||||
SKList.FDate = item.FDate;
|
||||
SKList.FALLAMOUNT = Convert.ToDecimal(item.BenCi);
|
||||
SKList.FRemark = item.FRemark;
|
||||
SKList.FCreated = item.FCreated;
|
||||
SKList.FSalesman = item.FSalesman;
|
||||
fCombinaAddSK.Add(SKList);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (errorList.Count > 0)
|
||||
{
|
||||
ErrMessage = true;
|
||||
hetong = string.Join(",", errorList);
|
||||
Message =string.Format($"收款单号:'{hetong}'的本次核销金额不等于勾选的销售订单的合计本次核销金额,不允许核销\r\n");
|
||||
if (ErrMessage)
|
||||
{
|
||||
this.View.ShowErrMessage(Message);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
//用于存储生成成功的收款单
|
||||
List<string> strings1 = new List<string>();
|
||||
List<string> successFbillNo = new List<string>();
|
||||
|
||||
|
||||
//用于存储生成成功的销售订单
|
||||
List<string> strings2 = new List<string>();
|
||||
|
||||
int ISXSNUM = 0;
|
||||
|
||||
//循环收款单/新增核销记录
|
||||
foreach (var item in fCombinaAddSK)
|
||||
{
|
||||
//获取销售订单/应收单
|
||||
var list = item.XSAPList;
|
||||
|
||||
//汇总金额
|
||||
var Amount = list.Sum(a => a.FALLAMOUNT);
|
||||
|
||||
//应收单/销售订单判断字段
|
||||
int isTrue1 = list.GroupBy(t => t.FType).Count();
|
||||
|
||||
//收款单/销售订单-应收单判断客户字段
|
||||
int isTrue2 = list.GroupBy(t => t.FClient).Count();
|
||||
|
||||
//判断是否存在应收单跟销售订单汇总核销
|
||||
if (isTrue1 > 1)
|
||||
//创建核销记录单
|
||||
string FBILLNO = CommonHelper.CreateAutoWrireRecord2(this.Context, Convert.ToString(FOrgId), item.XSAPList, item);
|
||||
if (FBILLNO != "")
|
||||
{
|
||||
ErrMessage = true;
|
||||
Message = Message + string.Format("收款单号:'{0}'存在销售订单与应收单合并核销的记录,不允许核销\r\n", item.FBIllNO);
|
||||
continue;
|
||||
}
|
||||
//判断是否是同一个客户
|
||||
else if (isTrue2 > 1 || item.FClient != list[0].FClient)
|
||||
{
|
||||
ErrMessage = true;
|
||||
Message = Message + string.Format("收款单号:'{0}'配对的(销售订单/应收单)的客户不一致,不允许核销\r\n", item.FBIllNO);
|
||||
continue;
|
||||
}
|
||||
//判断是否存在两个销售订单/应收单汇总核销(不能小于汇总数)
|
||||
else if (list.Count > 1 && item.FALLAMOUNT < Amount)
|
||||
{
|
||||
ErrMessage = true;
|
||||
Message = Message + string.Format("收款单号:'{0}'的核销金额小于多个(销售订单/应收单)的核销金额,不允许核销\r\n", item.FBIllNO);
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
//创建核销记录单
|
||||
string FBILLNO = CommonHelper.CreateAutoWrireRecord2(this.Context, Convert.ToString(FOrgId), item.XSAPList, item);
|
||||
Message = Message + string.Format("生成核销记录单成功,单号为:'{0}'\r\n", FBILLNO);
|
||||
strings1.Add(item.FCONTRACTNUMBER);
|
||||
successFbillNo.Add(item.FBIllNO);
|
||||
ISXSNUM++;
|
||||
}
|
||||
}
|
||||
|
||||
//循环(销售订单/应收单)/新增核销记录
|
||||
foreach (var item in fCombinaAddClass1)
|
||||
this.View.ShowMessage(Message);
|
||||
if (successFbillNo.Count > 0)
|
||||
{
|
||||
//获取收款单
|
||||
var list = item.SKList;
|
||||
|
||||
//汇总金额
|
||||
var Amount = list.Sum(a => a.FALLAMOUNT);
|
||||
|
||||
//收款单/销售订单-应收单判断客户字段
|
||||
int isTrue2 = list.GroupBy(t => t.FClient).Count();
|
||||
|
||||
//判断是否是同一个客户
|
||||
if (isTrue2 > 1 || item.FClient != list[0].FClient)
|
||||
var tempRow = ReceiveBILLLIST2.Where(t => successFbillNo.Contains(t.FBIllNO)).ToList();
|
||||
var pId = tempRow.Select(t => t.FROWID).ToList();
|
||||
var allRows = FEntity2.Where(t => pId.Contains(t["PARENTROWID"].ToString())).ToList();
|
||||
allRows.ForEach(t =>
|
||||
{
|
||||
ErrMessage = true;
|
||||
Message = Message + string.Format("(销售订单/应收单)号:'{0}'配对的收款打那的客户不一致,不允许核销\r\n", item.FBIllNO);
|
||||
continue;
|
||||
}
|
||||
//判断是否存在两个销售订单/应收单汇总核销(不能小于汇总数)
|
||||
else if (list.Count > 1 && item.FALLAMOUNT < Amount)
|
||||
{
|
||||
ErrMessage = true;
|
||||
Message = Message + string.Format("(销售订单/应收单)号:'{0}'的核销金额小于多个收款单的核销金额,不允许核销\r\n", item.FBIllNO);
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
//创建核销记录单
|
||||
strings2.Add(item.FBIllNO);
|
||||
strings1.Add(item.FCONTRACTNUMBER);
|
||||
//创建核销记录单
|
||||
string FBILLNO = CommonHelper.CreateAutoWrireRecord3(this.Context, Convert.ToString(FOrgId), item, item.SKList);
|
||||
Message = Message + string.Format("生成核销记录单成功,单号为:'{0}'\r\n", FBILLNO);
|
||||
ISXSNUM++;
|
||||
}
|
||||
this.Model.DeleteEntryRow("FEntity2", Convert.ToInt32(t["Seq"])-1);
|
||||
});
|
||||
//tempRow.ForEach(item =>
|
||||
//{
|
||||
// this.Model.DeleteEntryRow("FEntity2", item.FRow - 1);
|
||||
//});
|
||||
}
|
||||
////如果存在生成成功的、也有生成失败的不走刷新功能直接将成功的单据体数据删除!
|
||||
//List<CombinaClass> SaleBILLLIStext = new List<CombinaClass>();
|
||||
//foreach (var item in SaleBILLLIS)
|
||||
//{
|
||||
// if (strings1.Contains(item?.FCONTRACTNUMBER))
|
||||
// {
|
||||
// SaleBILLLIStext.Add(item);
|
||||
// }
|
||||
//}
|
||||
|
||||
if (!ErrMessage)
|
||||
{
|
||||
this.View.ShowMessage(Message);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.View.ShowErrMessage(Message);
|
||||
}
|
||||
//如果存在生成成功的、也有生成失败的不走刷新功能直接将成功的单据体数据删除!
|
||||
List<CombinaClass> SaleBILLLIStext = new List<CombinaClass>();
|
||||
foreach (var item in SaleBILLLIS)
|
||||
{
|
||||
if (strings2.Contains(item?.FBIllNO) || strings1.Contains(item?.FCONTRACTNUMBER))
|
||||
{
|
||||
SaleBILLLIStext.Add(item);
|
||||
}
|
||||
}
|
||||
//foreach (var item in SaleBILLLIStext)
|
||||
//{
|
||||
// SaleBILLLIS.Remove(item);
|
||||
//}
|
||||
|
||||
foreach (var item in SaleBILLLIStext)
|
||||
{
|
||||
SaleBILLLIS.Remove(item);
|
||||
}
|
||||
|
||||
if (ISXSNUM == 1)
|
||||
{
|
||||
//删除只有一条数据的收款单
|
||||
foreach (var item in strings1)
|
||||
{
|
||||
for (int i = 0; i < ReceiveBILLLIST.Count; i++)
|
||||
{
|
||||
if (ReceiveBILLLIST[i]?.FCONTRACTNUMBER == item?.ToString())
|
||||
{
|
||||
this.Model.DeleteEntryRow("FEntity2", ReceiveBILLLIST[i].FRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
//删除数据
|
||||
this.View.Model.DeleteEntryData("FEntity");
|
||||
//绑定销售订单数据
|
||||
for (int i = 0; i < SaleBILLLIS.Count; i++)
|
||||
{
|
||||
int rowindex = this.View.Model.GetEntryRowCount("FEntity");
|
||||
this.View.Model.CreateNewEntryRow("FEntity");
|
||||
//单据编号
|
||||
this.View.Model.SetValue("FBILLNO", SaleBILLLIS[i].FBIllNO, i);
|
||||
//日期
|
||||
this.View.Model.SetValue("FDate", SaleBILLLIS[i].FDate, i);
|
||||
//金额
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_c1c", SaleBILLLIS[i].FALLAMOUNT, i);
|
||||
//类型
|
||||
this.View.Model.SetValue("FType", SaleBILLLIS[i].FType, i);
|
||||
//纸质合同号
|
||||
this.View.Model.SetValue("FCONTRACTNUMBER", SaleBILLLIS[i].FCONTRACTNUMBER, i);
|
||||
//客户名称
|
||||
this.View.Model.SetValue("FClient", SaleBILLLIS[i].FClient, i);
|
||||
//已核销金额
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_vb1", SaleBILLLIS[i].FYAMOUNT, i);
|
||||
//待核销金额
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_emq", SaleBILLLIS[i].FDAMOUNT, i);
|
||||
//单据编号(收款单)
|
||||
this.View.Model.SetValue("FSKBILLNO", SaleBILLLIS[i].FSKBIllNO, i);
|
||||
//是否核销匹对
|
||||
this.View.Model.SetValue("FISHX", SaleBILLLIS[i].FISHX, i);
|
||||
//是否唯一
|
||||
this.View.Model.SetValue("FWeiYi", SaleBILLLIS[i]?.FWeiYi, i);
|
||||
//商务人员
|
||||
this.View.Model.SetValue("FCreated", SaleBILLLIS[i]?.FCreated, i);
|
||||
//销售员
|
||||
this.View.Model.SetValue("FSalesman", SaleBILLLIS[i]?.FSalesman, i);
|
||||
}
|
||||
this.View.UpdateView("FEntity");
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Model.SetValue("FShuaXin", "需要更新");
|
||||
}
|
||||
//if (ISXSNUM == 1)
|
||||
//{
|
||||
// //删除只有一条数据的收款单
|
||||
// foreach (var item in strings1)
|
||||
// {
|
||||
// for (int i = 0; i < ReceiveBILLLIST.Count; i++)
|
||||
// {
|
||||
// if (ReceiveBILLLIST[i]?.FCONTRACTNUMBER == item?.ToString())
|
||||
// {
|
||||
// this.Model.DeleteEntryRow("FEntity2", ReceiveBILLLIST[i].FRow);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// this.Model.SetValue("FShuaXin", "需要更新");
|
||||
//}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user