This commit is contained in:
2025-08-04 20:38:33 +08:00
parent 9d14431ca4
commit 7315404327
2 changed files with 39 additions and 4 deletions

View File

@@ -4,6 +4,7 @@ using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using Pilot_KD_Parino.Common;
using System;
@@ -29,10 +30,44 @@ namespace Pilot_KD_Parino.QPHY_AutoWrireRecord
var amount1 = list1.Sum(t => decimal.Parse(t["FALLAMOUNT22"]?.ToString()));
var amount2 = list2.Sum(t => decimal.Parse(t["FALLAMOUNT33"]?.ToString()));
//throw new KDBusinessException("", $@"销售单明细本次核销合计金额{amount1},收款单明细本次核销合计金额{amount2},{amount1}不等于{amount2},不允许保存");
if (amount1 != amount2)
{
throw new KDBusinessException("", $@"销售单明细本次核销合计金额{amount1.ToString("F2")},收款单明细本次核销合计金额{amount2.ToString("F2")},{amount1.ToString("F2")}不等于{amount2.ToString("F2")},不允许保存");
}
var billList = list1.Select(t => t["FBILLNO2"]).ToList();
string bill = string.Join("','",billList);
string sql = $@"/*dialect*/ SELECT a.FBILLNO,(b.FBillAllAmount- isnull(a.F_AMOUNT,0)) as F_AMOUNT FROM dbo.T_SAL_ORDER a
LEFT JOIN dbo.T_SAL_ORDERFIN b ON a.FID=b.FID
WHERE a.FBILLNO in ('{bill}') ";
var data = DBServiceHelper.ExecuteDynamicObject(this.Context, sql);
var one1 = (from q in data
join b in list1 on q["FBILLNO"].ToString() equals b["FBILLNO2"].ToString()
where decimal.Parse(b["FALLAMOUNT22"]?.ToString()) != decimal.Parse(q["F_AMOUNT"]?.ToString())
select q["FBILLNO"]).ToList();
if (one1.Count > 0)
{
throw new KDBusinessException("",$@"销售订单编号{string.Join(",", one1)} 核销金额+已核销金额 大于 订单总金额 ");
}
billList = list2.Select(t => t["FBILLNO3"]).ToList();
bill = string.Join("','", billList);
sql = $@"/*dialect*/SELECT a.FBILLNO,(a.FRECAMOUNTFOR-a.F_AMOUNT) as F_AMOUNT FROM dbo.T_AR_RECEIVEBILL a
WHERE a.FBILLNO in ('{bill}') ";
data = DBServiceHelper.ExecuteDynamicObject(this.Context, sql);
one1 = (from q in data
join b in list2 on q["FBILLNO"].ToString() equals b["FBILLNO3"].ToString()
where decimal.Parse(b["FALLAMOUNT33"]?.ToString()) != decimal.Parse(q["F_AMOUNT"]?.ToString())
select q["FBILLNO"]).ToList();
if (one1.Count > 0)
{
throw new KDBusinessException("", $@"收款单编号{string.Join(",", one1)} 核销金额+已核销金额 大于 订单总金额 ");
}
//// 保存前,提前填充主键数据
//var seqReader = new SequenceReader(this.Context);
//seqReader.AutoSetPrimaryKey(e.DataEntities, e.DataEntities[0].DynamicObjectType);

View File

@@ -205,8 +205,8 @@ namespace Pilot_KD_Parino.Sal_Order
{
if (nextOrderId > 0)
{
nextOrderId = IfNeedPush("STK_InStock", fid);
if (nextOrderId == 0)
var tempNextOrderId = IfNeedPush("STK_InStock", fid);
if (tempNextOrderId == 0)
{
tuiName += "采购入库单 ";
result = Invoke("PUR_ReceiveBill", "STK_InStock", nextOrderId.ToString(), "a1ff32276cd9469dad3bf2494366fa4f", ref stockId, "采购入库单");
@@ -1050,7 +1050,7 @@ namespace Pilot_KD_Parino.Sal_Order
if (target == "PUR_ReceiveBill")
{
Sql = $@"/*dialect*/SELECT fid,[FDOCUMENTSTATUS],[FBILLNO] FROM dbo.T_PUR_RECEIVE
WHERE fid in ({fid}) ";
WHERE fid in ({fid}) order by fid desc ";
data = DBServiceHelper.ExecuteDynamicObject(this.Context, Sql, null, null, CommandType.Text, null);
if (data != null && data.Count > 0)
{
@@ -1070,7 +1070,7 @@ namespace Pilot_KD_Parino.Sal_Order
else if (target == "STK_InStock")
{
Sql = $@"/*dialect*/SELECT fid,[FDOCUMENTSTATUS],[FBILLNO] FROM dbo.T_STK_INSTOCK
WHERE fid in ({fid}) ";
WHERE fid in ({fid}) order by fid desc ";
data = DBServiceHelper.ExecuteDynamicObject(this.Context, Sql, null, null, CommandType.Text, null);
if (data != null && data.Count > 0)
{