11
This commit is contained in:
@@ -127,22 +127,22 @@ namespace Pilot_KD_Parino.Common
|
||||
public string FISHX { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 金额
|
||||
/// 订单含税金额(本位币)
|
||||
/// </summary>
|
||||
public double FALLAMOUNT { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 已核销金额
|
||||
/// 已核销金额(原币)
|
||||
/// </summary>
|
||||
public double FYAMOUNT { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 待核销金额
|
||||
/// 待核销金额(原币)
|
||||
/// </summary>
|
||||
public double FDAMOUNT { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 金额(原币)
|
||||
/// 订单含税金额(原币)
|
||||
/// </summary>
|
||||
public double FALLAMOUNTY { get; set; }
|
||||
|
||||
@@ -210,5 +210,20 @@ namespace Pilot_KD_Parino.Common
|
||||
/// 最近30天开票金额
|
||||
/// </summary>
|
||||
public double FInvoiceAmount30Days { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 运杂费(原币)
|
||||
/// </summary>
|
||||
public double FYunZaFei_YuanBi { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 汇率
|
||||
/// </summary>
|
||||
public double FHuiLv { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算币别
|
||||
/// </summary>
|
||||
public string FBiBie { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,11 @@ using Kingdee.BOS.Core.List;
|
||||
using Kingdee.BOS.Core.Msg;
|
||||
using Kingdee.BOS.Core.Report.PlugIn.Args;
|
||||
using Kingdee.BOS.JSON;
|
||||
using Kingdee.BOS.Log;
|
||||
using Kingdee.BOS.Orm;
|
||||
using Kingdee.BOS.Orm.DataEntity;
|
||||
using Kingdee.BOS.Orm.Exceptions;
|
||||
using Kingdee.BOS.ServiceHelper;
|
||||
using Kingdee.BOS.Util;
|
||||
using Newtonsoft.Json;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
@@ -348,7 +350,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
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);
|
||||
@@ -356,9 +358,9 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
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);
|
||||
@@ -427,13 +429,18 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
FWeiYi = item["FWeiYi"]?.ToString(),
|
||||
FaHuoAmount30Days = Convert.ToDouble( item["FaHuoAmount30Days"].ToString()),
|
||||
FInvoiceAmount30Days= Convert.ToDouble(item["FInvoiceAmount30Days"].ToString()),
|
||||
FHuiLv = Convert.ToDouble(item["FHuiLv"]),
|
||||
FBiBie = Convert.ToString(item["FBiBie"]),
|
||||
FYunZaFei_YuanBi = Convert.ToDouble(item["FYunZaFei_YuanBi"]),
|
||||
FALLAMOUNTY = Convert.ToDouble(item["FJiaShuiHeJi_YuanBi"]),
|
||||
|
||||
}).ToList();
|
||||
var SaleBILLLISNew = SaleBILLLIS.Where(a => a.FISHX != "已核销配对").ToList();
|
||||
var ReceiveBILLLIST2 = new List<CombinaClass>();
|
||||
//获取收款单单据体数据
|
||||
DynamicObjectCollection FEntity2 = this.View.Model.DataObject["FEntity2"] as DynamicObjectCollection;
|
||||
|
||||
//string sdsad = JsonConvert.SerializeObject(FEntity2);
|
||||
//Logger.Error("", "442"+ sdsad, new Exception());
|
||||
ReceiveBILLLIST2 = FEntity2.Select(item => new CombinaClass
|
||||
{
|
||||
FBIllNO = item["FBILLNO2"]?.ToString(),
|
||||
@@ -447,8 +454,13 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
FSalesman = Convert.ToInt32(item["FSalesman2_Id"]),
|
||||
FCONTRACTNUMBER = item["FCONTRACTNUMBER2"]?.ToString(),
|
||||
FRow = Convert.ToInt32(item["Seq"]) - 1,
|
||||
F_RowNew = Convert.ToInt32(item["F_RowNew"])
|
||||
F_RowNew = Convert.ToInt32(item["F_RowNew"]),
|
||||
FHuiLv = Convert.ToDouble(item["FHuiLv2"]),
|
||||
FBiBie = Convert.ToString(item["FBiBie2"]),
|
||||
FALLAMOUNTY = Convert.ToDouble(item["FShouKuanJinE_YuanBi"]),
|
||||
}).ToList();
|
||||
|
||||
//Logger.Error("","462",new Exception());
|
||||
//重置并只取父级树形数据
|
||||
ReceiveBILLLIST = new List<CombinaClass>();
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对").OrderBy(t => t.FClient).ThenBy(t => t.FCONTRACTNUMBER).ThenBy(t => t.FDate).ToList();
|
||||
@@ -467,10 +479,10 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
Dictionary<string, double> shouKuanDetail = new Dictionary<string, double>();
|
||||
|
||||
//先挑1张收款单对应一张销售订单
|
||||
//1、收款单的待核销金额与订单的待核销金额
|
||||
//1、收款单的待核销金额与订单的待核销金额, 2025-06-09 增加结算币别也要相等
|
||||
var oneToOneTemp = (from q in SaleBILLLIS2Sal
|
||||
join u in ReceiveBILLLIST on new { q.FClient, q.FDAMOUNT } equals new { u.FClient, u.FDAMOUNT }
|
||||
select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO }).ToList();
|
||||
join u in ReceiveBILLLIST on new { q.FClient, q.FDAMOUNT,q.FBiBie } equals new { u.FClient, u.FDAMOUNT,u.FBiBie }
|
||||
select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO, u.FBiBie }).ToList();
|
||||
//var dasdsas = oneToOneTemp.Where(h => h.FBIllNO == "PL-XSDD20250400471").FirstOrDefault();
|
||||
var saleList1 = oneToOneTemp.Select(t => t.FBIllNO).Distinct().ToList();
|
||||
var ReceiveList1 = oneToOneTemp.Select(t => t.UFbillNo).Distinct().ToList();
|
||||
@@ -636,13 +648,13 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
|
||||
if (SourceType == 0) //只有销售单有这两种匹配逻辑
|
||||
{
|
||||
//3、收款单的待核销金额与订单的待最近30天开票金额(客户说只有医院客户,但是代码不做客户名称判断)
|
||||
//3、收款单的待核销金额与订单的待最近30天开票金额(客户说只有医院客户,但是代码不做客户名称判断), 2025-06-09 增加结算币别也要相等
|
||||
var SaleBILLLIS2Sa333 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
|
||||
var oneToOneTemp3 = (from q in SaleBILLLIS2Sa333
|
||||
join u in ReceiveBILLLIST on new { q.FClient, FDAMOUNT = q.FInvoiceAmount30Days } equals new { u.FClient, u.FDAMOUNT }
|
||||
select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO }).ToList();
|
||||
join u in ReceiveBILLLIST on new { q.FClient, FDAMOUNT = q.FInvoiceAmount30Days ,q.FBiBie} equals new { u.FClient, u.FDAMOUNT,u.FBiBie }
|
||||
select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO, u.FBiBie }).ToList();
|
||||
//var dasdsas = oneToOneTemp.Where(h => h.FBIllNO == "PL-XSDD20250400471").FirstOrDefault();
|
||||
var saleList33 = oneToOneTemp3.Select(t => t.FBIllNO).Distinct().ToList();
|
||||
var ReceiveList33 = oneToOneTemp3.Select(t => t.UFbillNo).Distinct().ToList();
|
||||
@@ -727,7 +739,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
|
||||
ReceiveBILLLIST.ForEach(t =>
|
||||
{
|
||||
var tempList = SaleBILLLIS2Sa2.Where(h => h.FClient == t.FClient && h.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderByDescending(h => h.FDate).ToList();
|
||||
var tempList = SaleBILLLIS2Sa2.Where(h =>h.FBiBie==t.FBiBie && h.FClient == t.FClient && h.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderByDescending(h => h.FDate).ToList();
|
||||
|
||||
var FDAMOUNT = t.FDAMOUNT;
|
||||
List<string> heTongList = new List<string>();
|
||||
@@ -927,7 +939,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
{
|
||||
this.View.Model.SetValue("FDate2", DateTime.Now.AddDays(-1 * Convert.ToInt32(tempList2[i].FDate)).ToString("yyyy-MM-dd"), Rowindex + i);
|
||||
}
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_imu", tempList2[i].FALLAMOUNT, Rowindex + i);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_imu", tempList2[i].FALLAMOUNT+ tempList2[i].FYunZaFei_YuanBi * tempList2[i].FHuiLv, 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 );
|
||||
@@ -938,6 +950,12 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
this.View.Model.SetValue("F_BenCi", benci, Rowindex + i);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_3iy", tempList2[i].FYAMOUNT, Rowindex + i );
|
||||
this.View.Model.SetValue("F_ISHX", false, Rowindex + i);
|
||||
|
||||
this.View.Model.SetValue("FBiBie2", tempList2[i].FBiBie, Rowindex + i);
|
||||
this.View.Model.SetValue("FHuiLv2", tempList2[i].FHuiLv, Rowindex + i);
|
||||
this.View.Model.SetValue("FShouKuanJinE_YuanBi", tempList2[i].FALLAMOUNTY + tempList2[i].FYunZaFei_YuanBi, Rowindex + i);
|
||||
//Logger.Error("", "956", new Exception());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1583,6 +1601,10 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
FInvoiceAmount = Convert.ToDecimal(item["FInvoiceAmount"]),
|
||||
FaHuoAmount30Days = Convert.ToDouble(item["FaHuoAmount30Days"]),
|
||||
FInvoiceAmount30Days = Convert.ToDouble(item["FInvoiceAmount30Days"]),
|
||||
FHuiLv= Convert.ToDouble(item["FHuiLv"]),
|
||||
FBiBie = Convert.ToString(item["FBiBie"]),
|
||||
FYunZaFei_YuanBi = Convert.ToDouble(item["F_EXPENSES"]),
|
||||
FALLAMOUNTY= Convert.ToDouble(item["FALLAMOUNTY"]),
|
||||
}).ToList();
|
||||
|
||||
|
||||
@@ -1600,6 +1622,9 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
FSalesman = Convert.ToInt32(item["FSALEERID"]),
|
||||
F_RowNew = 1,
|
||||
BenCi = 0,
|
||||
FHuiLv = Convert.ToDouble(item["FHuiLv"]),
|
||||
FBiBie = Convert.ToString(item["FBiBie"]),
|
||||
FALLAMOUNTY = Convert.ToDouble(item["FALLAMOUNTY"]),
|
||||
}).ToList();
|
||||
|
||||
var kehu = ReceiveBILLLIST.Select(t => t.FClient).Distinct().ToList();
|
||||
@@ -1637,6 +1662,10 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
this.View.Model.SetValue("FInvoiceAmount", SaleBILLLIS2[i].FInvoiceAmount, i);
|
||||
this.View.Model.SetValue("FInvoiceAmount30Days", SaleBILLLIS2[i].FInvoiceAmount30Days, i);
|
||||
this.View.Model.SetValue("FaHuoAmount30Days", SaleBILLLIS2[i].FaHuoAmount30Days, i);
|
||||
this.View.Model.SetValue("FBiBie", SaleBILLLIS2[i].FBiBie, i);
|
||||
this.View.Model.SetValue("FHuiLv", SaleBILLLIS2[i].FHuiLv, i);
|
||||
this.View.Model.SetValue("FYunZaFei_YuanBi", SaleBILLLIS2[i].FYunZaFei_YuanBi, i);
|
||||
this.View.Model.SetValue("FJiaShuiHeJi_YuanBi", SaleBILLLIS2[i].FALLAMOUNTY, i);
|
||||
|
||||
//FaHuoAmount30Days = Convert.ToDouble(item["FaHuoAmount30Days"]),
|
||||
//FInvoiceAmount30Days = Convert.ToDouble(item["FInvoiceAmount30Days"]),
|
||||
@@ -1666,6 +1695,11 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
this.View.Model.SetValue("F_RowNew", ReceiveBILLLIST[i].F_RowNew, RowindexNew);
|
||||
this.View.Model.SetValue("F_ISHX", false, RowindexNew);
|
||||
|
||||
this.View.Model.SetValue("FBiBie2", ReceiveBILLLIST[i].FBiBie, i);
|
||||
this.View.Model.SetValue("FHuiLv2", ReceiveBILLLIST[i].FHuiLv, i);
|
||||
this.View.Model.SetValue("FYunZaFei_YuanBi2", ReceiveBILLLIST[i].FYunZaFei_YuanBi, RowindexNew);
|
||||
this.View.Model.SetValue("FShouKuanJinE_YuanBi", ReceiveBILLLIST[i].FALLAMOUNTY, RowindexNew);
|
||||
//Logger.Error("", "1701", new Exception());
|
||||
}
|
||||
this.View.UpdateView("FEntity2");
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ using Pilot_KD_Parino.SQL;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
|
||||
namespace Pilot_KD_Parino.QPHY_AutoWrireRecord
|
||||
{
|
||||
@@ -48,7 +49,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrireRecord
|
||||
|
||||
FALLAMOUNT = Convert.ToDecimal(item["FALLAMOUNT2"]);
|
||||
|
||||
string sql2 = string.Format(@"/*dialect*/Select B.FENTRYID,B.FRECADVANCEAMOUNT,ISNULL(B.F_ORDER,'') as 'F_ORDER' From
|
||||
string sql2 = string.Format(@"/*dialect*/Select B.FENTRYID,B.FRECADVANCEAMOUNT,ISNULL(B.F_ORDER,'') as 'F_ORDER',a.FID From
|
||||
T_SAL_ORDER A
|
||||
JOIN
|
||||
T_SAL_ORDERPLAN B
|
||||
@@ -57,43 +58,52 @@ namespace Pilot_KD_Parino.QPHY_AutoWrireRecord
|
||||
Order by F_ORDER desc ,FENTRYID desc", item["FBILLNO2"]);
|
||||
|
||||
var sql2List = DBUtils.ExecuteDynamicObject(Context, sql2);
|
||||
//如果只有一个直接赋值
|
||||
if (sql2List.Count == 1)
|
||||
{
|
||||
string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky =ISNULL(F_MBBA_Decimal_uky,0)- {0} Where FENTRYID = {1};", FALLAMOUNT, sql2List[0]["FENTRYID"]);
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
}
|
||||
if (sql2List.Count > 1)
|
||||
{
|
||||
for (int i = 0; i < sql2List.Count; i++)
|
||||
{
|
||||
//判断核销顺序是否为空
|
||||
//if (!string.IsNullOrWhiteSpace(sql2List[i]["F_ORDER"]?.ToString()))
|
||||
//{
|
||||
//判断核销金额是否大于按照排序对冲金额
|
||||
decimal FRECADVANCEAMOUNT = Convert.ToDecimal(sql2List[i]["FRECADVANCEAMOUNT"]);
|
||||
decimal F_MBBA_Decimal_uky=Convert.ToDecimal(sql2List[i]["F_MBBA_Decimal_uky"]);
|
||||
if (FALLAMOUNT > 0 && F_MBBA_Decimal_uky > 0)
|
||||
{
|
||||
decimal fAmount = 0;
|
||||
|
||||
//判断是否整条对冲
|
||||
if (FALLAMOUNT - F_MBBA_Decimal_uky >= 0)
|
||||
{
|
||||
fAmount = F_MBBA_Decimal_uky;
|
||||
}
|
||||
else
|
||||
{
|
||||
fAmount = FALLAMOUNT;
|
||||
}
|
||||
string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = ISNULL(F_MBBA_Decimal_uky,0)-{0} Where FENTRYID = {1};", fAmount, sql2List[i]["FENTRYID"]);
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
FALLAMOUNT = FALLAMOUNT - fAmount;
|
||||
}
|
||||
|
||||
//}
|
||||
}
|
||||
}
|
||||
var fidList = sql2List.Select(t => t["FID"].ToString()).ToList().Distinct().ToList();
|
||||
fidList.ForEach(t =>
|
||||
{
|
||||
string sql3 = $@"exec PR_ResetSALORDERPLAN_MBBA_yuyubo {t};";
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
Thread.Sleep(300);
|
||||
});
|
||||
|
||||
////如果只有一个直接赋值
|
||||
//if (sql2List.Count == 1)
|
||||
//{
|
||||
// string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky =ISNULL(F_MBBA_Decimal_uky,0)- {0} Where FENTRYID = {1};", FALLAMOUNT, sql2List[0]["FENTRYID"]);
|
||||
// DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
//}
|
||||
//if (sql2List.Count > 1)
|
||||
//{
|
||||
// for (int i = 0; i < sql2List.Count; i++)
|
||||
// {
|
||||
// //判断核销顺序是否为空
|
||||
// //if (!string.IsNullOrWhiteSpace(sql2List[i]["F_ORDER"]?.ToString()))
|
||||
// //{
|
||||
// //判断核销金额是否大于按照排序对冲金额
|
||||
// decimal FRECADVANCEAMOUNT = Convert.ToDecimal(sql2List[i]["FRECADVANCEAMOUNT"]);
|
||||
// decimal F_MBBA_Decimal_uky=Convert.ToDecimal(sql2List[i]["F_MBBA_Decimal_uky"]);
|
||||
// if (FALLAMOUNT > 0 && F_MBBA_Decimal_uky > 0)
|
||||
// {
|
||||
// decimal fAmount = 0;
|
||||
|
||||
// //判断是否整条对冲
|
||||
// if (FALLAMOUNT - F_MBBA_Decimal_uky >= 0)
|
||||
// {
|
||||
// fAmount = F_MBBA_Decimal_uky;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// fAmount = FALLAMOUNT;
|
||||
// }
|
||||
// string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = ISNULL(F_MBBA_Decimal_uky,0)-{0} Where FENTRYID = {1};", fAmount, sql2List[i]["FENTRYID"]);
|
||||
// DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
// FALLAMOUNT = FALLAMOUNT - fAmount;
|
||||
// }
|
||||
|
||||
// //}
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ using Pilot_KD_Parino.SQL;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
|
||||
namespace Pilot_KD_Parino.QPHY_AutoWrireRecord
|
||||
{
|
||||
@@ -34,7 +35,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrireRecord
|
||||
|
||||
FALLAMOUNT = Convert.ToDecimal(item["FALLAMOUNT2"]);
|
||||
|
||||
string sql2 = string.Format(@"/*dialect*/Select B.FENTRYID,B.FRECADVANCEAMOUNT,ISNULL(B.F_ORDER,'') as 'F_ORDER' From
|
||||
string sql2 = string.Format(@"/*dialect*/Select B.FENTRYID,B.FRECADVANCEAMOUNT,ISNULL(B.F_ORDER,'') as 'F_ORDER' ,a.FID From
|
||||
T_SAL_ORDER A
|
||||
JOIN
|
||||
T_SAL_ORDERPLAN B
|
||||
@@ -43,43 +44,50 @@ namespace Pilot_KD_Parino.QPHY_AutoWrireRecord
|
||||
Order by F_ORDER,FENTRYID", item["FBILLNO2"]);
|
||||
|
||||
var sql2List = DBUtils.ExecuteDynamicObject(Context, sql2);
|
||||
//如果只有一个直接赋值
|
||||
if (sql2List.Count == 1)
|
||||
var fidList = sql2List.Select(t => t["FID"].ToString()).ToList().Distinct().ToList();
|
||||
fidList.ForEach(t =>
|
||||
{
|
||||
string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky =ISNULL(F_MBBA_Decimal_uky,0)+ {0} Where FENTRYID = '{1}';", FALLAMOUNT, sql2List[0]["FENTRYID"]);
|
||||
string sql3 = $@"exec PR_ResetSALORDERPLAN_MBBA_yuyubo {t};";
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
}
|
||||
if (sql2List.Count > 1)
|
||||
{
|
||||
for (int i = 0; i < sql2List.Count; i++)
|
||||
{
|
||||
//判断核销顺序是否为空
|
||||
//if (!string.IsNullOrWhiteSpace(sql2List[i]["F_ORDER"]?.ToString()))
|
||||
//{
|
||||
//判断核销金额是否大于按照排序对冲金额
|
||||
decimal FRECADVANCEAMOUNT = Convert.ToDecimal(sql2List[i]["FRECADVANCEAMOUNT"]);
|
||||
decimal F_MBBA_Decimal_uky = Convert.ToDecimal(sql2List[i]["F_MBBA_Decimal_uky"]);
|
||||
if (FALLAMOUNT > 0 && F_MBBA_Decimal_uky < FRECADVANCEAMOUNT)
|
||||
{
|
||||
decimal fAmount = 0;
|
||||
decimal chazhi = FRECADVANCEAMOUNT- F_MBBA_Decimal_uky;
|
||||
//判断是否整条对冲
|
||||
if (FALLAMOUNT - chazhi >= 0)
|
||||
{
|
||||
fAmount = chazhi;
|
||||
}
|
||||
else
|
||||
{
|
||||
fAmount = FALLAMOUNT;
|
||||
}
|
||||
string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = ISNULL(F_MBBA_Decimal_uky,0)+{0} Where FENTRYID = '{1}';", fAmount, sql2List[i]["FENTRYID"]);
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
FALLAMOUNT = FALLAMOUNT- fAmount;
|
||||
}
|
||||
|
||||
//}
|
||||
}
|
||||
}
|
||||
Thread.Sleep(300);
|
||||
});
|
||||
////如果只有一个直接赋值
|
||||
//if (sql2List.Count == 1)
|
||||
//{
|
||||
// string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky =ISNULL(F_MBBA_Decimal_uky,0)+ {0} Where FENTRYID = '{1}';", FALLAMOUNT, sql2List[0]["FENTRYID"]);
|
||||
// DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
//}
|
||||
//if (sql2List.Count > 1)
|
||||
//{
|
||||
// for (int i = 0; i < sql2List.Count; i++)
|
||||
// {
|
||||
// //判断核销顺序是否为空
|
||||
// //if (!string.IsNullOrWhiteSpace(sql2List[i]["F_ORDER"]?.ToString()))
|
||||
// //{
|
||||
// //判断核销金额是否大于按照排序对冲金额
|
||||
// decimal FRECADVANCEAMOUNT = Convert.ToDecimal(sql2List[i]["FRECADVANCEAMOUNT"]);
|
||||
// decimal F_MBBA_Decimal_uky = Convert.ToDecimal(sql2List[i]["F_MBBA_Decimal_uky"]);
|
||||
// if (FALLAMOUNT > 0 && F_MBBA_Decimal_uky < FRECADVANCEAMOUNT)
|
||||
// {
|
||||
// decimal fAmount = 0;
|
||||
// decimal chazhi = FRECADVANCEAMOUNT- F_MBBA_Decimal_uky;
|
||||
// //判断是否整条对冲
|
||||
// if (FALLAMOUNT - chazhi >= 0)
|
||||
// {
|
||||
// fAmount = chazhi;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// fAmount = FALLAMOUNT;
|
||||
// }
|
||||
// string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = ISNULL(F_MBBA_Decimal_uky,0)+{0} Where FENTRYID = '{1}';", fAmount, sql2List[i]["FENTRYID"]);
|
||||
// DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
// FALLAMOUNT = FALLAMOUNT- fAmount;
|
||||
// }
|
||||
|
||||
// //}
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Pilot_KD_Parino.SQL
|
||||
{
|
||||
//定义SQL,调用物料视图
|
||||
string sql = string.Format($@"/*dialect*/
|
||||
SELECT A.FID,
|
||||
SELECT A.FID,
|
||||
A.FSALEERID,
|
||||
A.FCONTACTUNIT,
|
||||
A.FREMARK,
|
||||
@@ -30,15 +30,15 @@ namespace Pilot_KD_Parino.SQL
|
||||
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
|
||||
A.FRECAMOUNT AS 'FALLAMOUNT',
|
||||
A.FRECAMOUNTFOR as 'FALLAMOUNTY',
|
||||
A.FRECAMOUNT-A.F_AMOUNT as 'FDAMOUNT',
|
||||
A.FRECAMOUNTFOR-A.F_AMOUNT as 'FDAMOUNT',
|
||||
A.FCURRENCYID as 'FCurr',
|
||||
A.FCREATORID as 'FCREATORID'
|
||||
A.FCREATORID as 'FCREATORID',
|
||||
A.FSETTLERATE AS FHuiLv,
|
||||
(SELECT ll.FNAME FROM dbo.T_BD_CURRENCY_L ll WITH(NOLOCK) where ll.FCURRENCYID=A.FSETTLECUR ) FBiBie
|
||||
FROM T_AR_RECEIVEBILL A
|
||||
WHERE A.FDOCUMENTSTATUS = 'C'
|
||||
AND A.FISINIT != '1'
|
||||
|
||||
AND A.FRECAMOUNT != A.F_AMOUNT
|
||||
AND A.FRECAMOUNT >= A.F_AMOUNT {where}
|
||||
AND A.FISINIT != '1'
|
||||
AND A.FRECAMOUNTFOR >= A.F_AMOUNT {where}
|
||||
order by FCONTACTUNIT,A.FID desc ", FORGID);
|
||||
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
|
||||
}
|
||||
@@ -56,7 +56,7 @@ namespace Pilot_KD_Parino.SQL
|
||||
*
|
||||
*/
|
||||
string sql = string.Format($@"/*dialect*/
|
||||
SELECT FDAMOUNT2 as FDAMOUNT, * FROM
|
||||
SELECT FDAMOUNT2 as FDAMOUNT, * FROM
|
||||
(
|
||||
SELECT A.FID, A.FBusinessType,
|
||||
A.FSALERID,
|
||||
@@ -69,7 +69,7 @@ namespace Pilot_KD_Parino.SQL
|
||||
C.FBILLALLAMOUNT_LC AS 'FALLAMOUNT' ,
|
||||
C.FBILLALLAMOUNT as 'FALLAMOUNTY',
|
||||
ISNULL(A.F_AMOUNT,0) as 'FYAMOUNT',
|
||||
C.FBILLALLAMOUNT_LC-A.F_AMOUNT as 'FDAMOUNT2',
|
||||
C.FBILLALLAMOUNT+a.F_EXPENSES-A.F_AMOUNT as 'FDAMOUNT2',
|
||||
C.FSETTLECURRID as 'FCurr',
|
||||
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
|
||||
'销售订单' as 'FTYPE',
|
||||
@@ -79,8 +79,8 @@ namespace Pilot_KD_Parino.SQL
|
||||
(
|
||||
SELECT SUM(F_GeneralInvoice) AS '发票总金额' FROM (
|
||||
SELECT F_PaperNumber, t0.FSALEORGID,
|
||||
CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FAFTERTOTALTAX
|
||||
WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAX END AS F_GeneralInvoice
|
||||
CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FAFTERTOTALTAXFOR
|
||||
WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAXFOR END AS F_GeneralInvoice
|
||||
--FAFTERTOTALTAX
|
||||
FROM T_IV_SALESIC t0 WITH(NOLOCK)
|
||||
INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumber AND t0.FSETTLEORGID=aa1.FSALEORGID
|
||||
@@ -89,7 +89,8 @@ INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumbe
|
||||
GROUP BY F_PaperNumber, FSALEORGID
|
||||
) as FInvoiceAmount,
|
||||
|
||||
(select SUM(bb.F_TotalAmoun) from dbo.T_SAL_DELIVERYNOTICE bb WITH(NOLOCK) WHERE bb.FSaleOrgId=a.FSALEORGID AND bb.F_Papercontract=a.F_contractnumber
|
||||
(select SUM(bbf.FAllAmount) from dbo.T_SAL_DELIVERYNOTICE bb LEFT JOIN T_SAL_DELIVERYNOTICEENTRY_F bbf WITH(NOLOCK) ON bb.FID=bbf.FID
|
||||
WHERE bb.FSaleOrgId=a.FSALEORGID AND bb.F_Papercontract=a.F_contractnumber
|
||||
AND 30 >= DATEDIFF(DAY,bb.FDATE,GETDATE()) AND bb.FDocumentStatus='C' ) as FaHuoAmount30Days,
|
||||
(
|
||||
SELECT SUM(F_GeneralInvoice) AS '发票总金额' FROM (
|
||||
@@ -104,11 +105,14 @@ INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumbe
|
||||
GROUP BY F_PaperNumber, FSALEORGID
|
||||
) as FInvoiceAmount30Days
|
||||
,[整单累计退货金额]=ISNULL((
|
||||
SELECT SUM(CC.FBillAllAmount_LC) AS '累计退货金额'
|
||||
SELECT SUM(CC.FBILLALLAMOUNT) AS '累计退货金额'
|
||||
FROM T_SAL_ORDER AA
|
||||
INNER JOIN T_SAL_ORDERFIN CC ON CC.FID =AA.FID
|
||||
WHERE AA.FDOCUMENTSTATUS= 'C' AND ISNULL(AA.F_CONTRACTNUMBER,'') !='' AND AA.F_contractnumber LIKE A.F_contractnumber+'%'
|
||||
AND AA.fid<>A.fid AND aa.FSALEORGID=a.FSALEORGID),0)
|
||||
,a.F_EXPENSES
|
||||
,(SELECT ll.FNAME FROM dbo.T_BD_CURRENCY_L ll WITH(NOLOCK) where ll.FCURRENCYID=c.FSettleCurrId ) AS [FBiBie]
|
||||
, c.FExchangeRate FHuiLv
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERFIN C ON C.FID =A.FID
|
||||
WHERE
|
||||
@@ -145,7 +149,7 @@ GROUP BY F_PaperNumber, FSALEORGID
|
||||
C.FBILLALLAMOUNT_LC AS 'FALLAMOUNT' ,
|
||||
C.FBILLALLAMOUNT as 'FALLAMOUNTY',
|
||||
ISNULL(A.F_AMOUNT,0) as 'FYAMOUNT',
|
||||
C.FBILLALLAMOUNT_LC-A.F_AMOUNT as 'FDAMOUNT2',
|
||||
C.FBILLALLAMOUNT-A.F_AMOUNT as 'FDAMOUNT2',
|
||||
C.FSETTLECURRID as 'FCurr',
|
||||
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
|
||||
'发货通知单' as 'FTYPE',
|
||||
@@ -155,12 +159,12 @@ GROUP BY F_PaperNumber, FSALEORGID
|
||||
(
|
||||
SELECT SUM(F_GeneralInvoice) AS '发票总金额' FROM (
|
||||
SELECT F_PaperNumber, t0.FSALEORGID,
|
||||
CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FAFTERTOTALTAX
|
||||
WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAX END AS F_GeneralInvoice
|
||||
CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FAFTERTOTALTAXFOR
|
||||
WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAXFOR END AS F_GeneralInvoice
|
||||
--FAFTERTOTALTAX
|
||||
FROM T_IV_SALESIC t0 WITH(NOLOCK)
|
||||
INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumber AND t0.FSETTLEORGID=aa1.FSALEORGID
|
||||
--WHERE F_PaperNumber='P202502070004'
|
||||
|
||||
) AD WHERE AD.F_PaperNumber = A.F_Papercontract AND ad.FSALEORGID=a.FSALEORGID
|
||||
GROUP BY F_PaperNumber, FSALEORGID
|
||||
) as FInvoiceAmount,
|
||||
@@ -168,12 +172,15 @@ GROUP BY F_PaperNumber, FSALEORGID
|
||||
0 as FaHuoAmount30Days,
|
||||
0 as FInvoiceAmount30Days
|
||||
,[整单累计退货金额]=0
|
||||
,c.FExchangeRate as FHuiLv
|
||||
,0 as F_EXPENSES
|
||||
,(SELECT ll.FNAME FROM dbo.T_BD_CURRENCY_L ll WITH(NOLOCK) where ll.FCURRENCYID=c.FSettleCurrID ) AS [FBiBie]
|
||||
FROM T_SAL_DELIVERYNOTICE A
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEFIN C ON C.FID =A.FID
|
||||
WHERE
|
||||
C.FBILLALLAMOUNT_LC > 0
|
||||
C.FBILLALLAMOUNT > 0
|
||||
AND A.FDOCUMENTSTATUS = 'C' AND ISNULL(A.F_Papercontract,'')!=''
|
||||
AND (A.F_AMOUNT < C.FBILLALLAMOUNT_LC
|
||||
AND (A.F_AMOUNT < C.FBILLALLAMOUNT
|
||||
or A.F_AMOUNT IS NULL) {where}
|
||||
) A ORDER BY A.FCUSTID,a.FID desc ");
|
||||
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
|
||||
|
||||
@@ -6,6 +6,7 @@ using Pilot_KD_Parino.SQL;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
|
||||
namespace Pilot_KD_Parino.VRYF_FHTZDHXJL
|
||||
{
|
||||
@@ -46,7 +47,7 @@ namespace Pilot_KD_Parino.VRYF_FHTZDHXJL
|
||||
|
||||
FALLAMOUNT = Convert.ToDecimal(item["FALLAMOUNT2"]); //要计算的核销金额
|
||||
|
||||
string sql2 = string.Format($@"/*dialect*/Select B.FENTRYID,B.FRECADVANCEAMOUNT,ISNULL(B.F_ORDER,'') as 'F_ORDER' From
|
||||
string sql2 = string.Format($@"/*dialect*/Select B.FENTRYID,B.FRECADVANCEAMOUNT,ISNULL(B.F_ORDER,'') as 'F_ORDER',a.FID From
|
||||
T_SAL_ORDER A
|
||||
JOIN
|
||||
T_SAL_ORDERPLAN B
|
||||
@@ -55,43 +56,51 @@ namespace Pilot_KD_Parino.VRYF_FHTZDHXJL
|
||||
Order by F_ORDER desc ,FENTRYID desc ");
|
||||
|
||||
var sql2List = DBUtils.ExecuteDynamicObject(Context, sql2);
|
||||
//如果只有一个直接赋值
|
||||
if (sql2List.Count == 1)
|
||||
|
||||
var fidList = sql2List.Select(t => t["FID"].ToString()).ToList().Distinct().ToList();
|
||||
fidList.ForEach(t =>
|
||||
{
|
||||
string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky =ISNULL(F_MBBA_Decimal_uky,0)- {0} Where FENTRYID = {1};", FALLAMOUNT, sql2List[0]["FENTRYID"]);
|
||||
string sql3 = $@"exec PR_ResetSALORDERPLAN_MBBA_yuyubo {t};";
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
}
|
||||
if (sql2List.Count > 1)
|
||||
{
|
||||
for (int i = 0; i < sql2List.Count; i++)
|
||||
{
|
||||
//判断核销顺序是否为空
|
||||
//if (!string.IsNullOrWhiteSpace(sql2List[i]["F_ORDER"]?.ToString()))
|
||||
//{
|
||||
//判断核销金额是否大于按照排序对冲金额
|
||||
decimal FRECADVANCEAMOUNT = Convert.ToDecimal(sql2List[i]["FRECADVANCEAMOUNT"]); //应收款金额
|
||||
decimal F_MBBA_Decimal_uky = Convert.ToDecimal(sql2List[i]["F_MBBA_Decimal_uky"]); //累计核销金额
|
||||
if (FALLAMOUNT > 0 && F_MBBA_Decimal_uky > 0)
|
||||
{
|
||||
decimal fAmount = 0;
|
||||
Thread.Sleep(300);
|
||||
});
|
||||
////如果只有一个直接赋值
|
||||
//if (sql2List.Count == 1)
|
||||
//{
|
||||
// string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky =ISNULL(F_MBBA_Decimal_uky,0)- {0} Where FENTRYID = {1};", FALLAMOUNT, sql2List[0]["FENTRYID"]);
|
||||
// DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
//}
|
||||
//if (sql2List.Count > 1)
|
||||
//{
|
||||
// for (int i = 0; i < sql2List.Count; i++)
|
||||
// {
|
||||
// //判断核销顺序是否为空
|
||||
// //if (!string.IsNullOrWhiteSpace(sql2List[i]["F_ORDER"]?.ToString()))
|
||||
// //{
|
||||
// //判断核销金额是否大于按照排序对冲金额
|
||||
// decimal FRECADVANCEAMOUNT = Convert.ToDecimal(sql2List[i]["FRECADVANCEAMOUNT"]); //应收款金额
|
||||
// decimal F_MBBA_Decimal_uky = Convert.ToDecimal(sql2List[i]["F_MBBA_Decimal_uky"]); //累计核销金额
|
||||
// if (FALLAMOUNT > 0 && F_MBBA_Decimal_uky > 0)
|
||||
// {
|
||||
// decimal fAmount = 0;
|
||||
|
||||
//判断是否整条对冲
|
||||
if (FALLAMOUNT - F_MBBA_Decimal_uky >= 0)
|
||||
{
|
||||
fAmount = F_MBBA_Decimal_uky;
|
||||
}
|
||||
else
|
||||
{
|
||||
fAmount = FALLAMOUNT;
|
||||
}
|
||||
string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = ISNULL(F_MBBA_Decimal_uky,0)-{0} Where FENTRYID = {1};", fAmount, sql2List[i]["FENTRYID"]);
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
FALLAMOUNT = FALLAMOUNT - fAmount;
|
||||
}
|
||||
// //判断是否整条对冲
|
||||
// if (FALLAMOUNT - F_MBBA_Decimal_uky >= 0)
|
||||
// {
|
||||
// fAmount = F_MBBA_Decimal_uky;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// fAmount = FALLAMOUNT;
|
||||
// }
|
||||
// string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = ISNULL(F_MBBA_Decimal_uky,0)-{0} Where FENTRYID = {1};", fAmount, sql2List[i]["FENTRYID"]);
|
||||
// DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
// FALLAMOUNT = FALLAMOUNT - fAmount;
|
||||
// }
|
||||
|
||||
//}
|
||||
}
|
||||
}
|
||||
// //}
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Kingdee.BOS.App.Data;
|
||||
using System.Threading;
|
||||
|
||||
namespace Pilot_KD_Parino.VRYF_FHTZDHXJL
|
||||
{
|
||||
@@ -39,7 +40,7 @@ namespace Pilot_KD_Parino.VRYF_FHTZDHXJL
|
||||
|
||||
FALLAMOUNT = Convert.ToDecimal(item["FALLAMOUNT2"]);
|
||||
|
||||
string sql2 = string.Format($@"/*dialect*/Select B.FENTRYID,B.FRECADVANCEAMOUNT,ISNULL(B.F_ORDER,'') as 'F_ORDER' From
|
||||
string sql2 = string.Format($@"/*dialect*/Select B.FENTRYID,B.FRECADVANCEAMOUNT,ISNULL(B.F_ORDER,'') as 'F_ORDER',a.FID From
|
||||
T_SAL_ORDER A
|
||||
JOIN
|
||||
T_SAL_ORDERPLAN B
|
||||
@@ -48,43 +49,53 @@ namespace Pilot_KD_Parino.VRYF_FHTZDHXJL
|
||||
Order by F_ORDER ,FENTRYID");
|
||||
|
||||
var sql2List = DBUtils.ExecuteDynamicObject(Context, sql2);
|
||||
//如果只有一个直接赋值
|
||||
if (sql2List.Count == 1)
|
||||
{
|
||||
string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = {0} Where FENTRYID = {1};", FALLAMOUNT, sql2List[0]["FENTRYID"]);
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
}
|
||||
if (sql2List.Count > 1)
|
||||
{
|
||||
for (int i = 0; i < sql2List.Count; i++)
|
||||
{
|
||||
//判断核销顺序是否为空
|
||||
//if (!string.IsNullOrWhiteSpace(sql2List[i]["F_ORDER"]?.ToString()))
|
||||
//{
|
||||
//判断核销金额是否大于按照排序对冲金额
|
||||
decimal FRECADVANCEAMOUNT = Convert.ToDecimal(sql2List[i]["FRECADVANCEAMOUNT"]);
|
||||
decimal F_MBBA_Decimal_uky = Convert.ToDecimal(sql2List[i]["F_MBBA_Decimal_uky"]);
|
||||
if (FALLAMOUNT > 0 && F_MBBA_Decimal_uky < FRECADVANCEAMOUNT)
|
||||
{
|
||||
decimal fAmount = 0;
|
||||
decimal chazhi = FRECADVANCEAMOUNT - F_MBBA_Decimal_uky;
|
||||
//判断是否整条对冲
|
||||
if (FALLAMOUNT - chazhi >= 0)
|
||||
{
|
||||
fAmount = chazhi;
|
||||
}
|
||||
else
|
||||
{
|
||||
fAmount = FALLAMOUNT;
|
||||
}
|
||||
string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = ISNULL(F_MBBA_Decimal_uky,0)+{0} Where FENTRYID = '{1}';", fAmount, sql2List[i]["FENTRYID"]);
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
FALLAMOUNT = FALLAMOUNT - fAmount;
|
||||
}
|
||||
|
||||
//}
|
||||
}
|
||||
}
|
||||
var fidList = sql2List.Select(t => t["FID"].ToString()).ToList().Distinct().ToList();
|
||||
fidList.ForEach(t =>
|
||||
{
|
||||
string sql3 = $@"exec PR_ResetSALORDERPLAN_MBBA_yuyubo {t};";
|
||||
DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
Thread.Sleep(300);
|
||||
});
|
||||
|
||||
|
||||
////如果只有一个直接赋值
|
||||
//if (sql2List.Count == 1)
|
||||
//{
|
||||
// string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = {0} Where FENTRYID = {1};", FALLAMOUNT, sql2List[0]["FENTRYID"]);
|
||||
// DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
//}
|
||||
//if (sql2List.Count > 1)
|
||||
//{
|
||||
// for (int i = 0; i < sql2List.Count; i++)
|
||||
// {
|
||||
// //判断核销顺序是否为空
|
||||
// //if (!string.IsNullOrWhiteSpace(sql2List[i]["F_ORDER"]?.ToString()))
|
||||
// //{
|
||||
// //判断核销金额是否大于按照排序对冲金额
|
||||
// decimal FRECADVANCEAMOUNT = Convert.ToDecimal(sql2List[i]["FRECADVANCEAMOUNT"]);
|
||||
// decimal F_MBBA_Decimal_uky = Convert.ToDecimal(sql2List[i]["F_MBBA_Decimal_uky"]);
|
||||
// if (FALLAMOUNT > 0 && F_MBBA_Decimal_uky < FRECADVANCEAMOUNT)
|
||||
// {
|
||||
// decimal fAmount = 0;
|
||||
// decimal chazhi = FRECADVANCEAMOUNT - F_MBBA_Decimal_uky;
|
||||
// //判断是否整条对冲
|
||||
// if (FALLAMOUNT - chazhi >= 0)
|
||||
// {
|
||||
// fAmount = chazhi;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// fAmount = FALLAMOUNT;
|
||||
// }
|
||||
// string sql3 = string.Format(@"Update T_SAL_ORDERPLAN Set F_MBBA_Decimal_uky = ISNULL(F_MBBA_Decimal_uky,0)+{0} Where FENTRYID = '{1}';", fAmount, sql2List[i]["FENTRYID"]);
|
||||
// DBUtils.ExecuteDynamicObject(Context, sql3);
|
||||
// FALLAMOUNT = FALLAMOUNT - fAmount;
|
||||
// }
|
||||
|
||||
// //}
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user