添加项目文件。
This commit is contained in:
102
T_IV_SALESIC/AuditS_Order.cs
Normal file
102
T_IV_SALESIC/AuditS_Order.cs
Normal file
@@ -0,0 +1,102 @@
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.Metadata.ControlElement;
|
||||
using Kingdee.BOS.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GZ_LTHPilot_ORDER.IV_SALESIC
|
||||
{
|
||||
[Description("服务插件:发票审核时,反写销售订单累计开票金额字段非本位币"), HotUpdate]
|
||||
public class AuditS_Order : AbstractOperationServicePlugIn
|
||||
{
|
||||
public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
|
||||
{
|
||||
base.BeforeExecuteOperationTransaction(e);
|
||||
foreach (var Row in e.SelectedRows)
|
||||
{
|
||||
var Billobj = Row.DataEntity;
|
||||
//先查询是否由蓝票下推生成的红票
|
||||
var GetLpFids = SqlManage.SqlManage.GetBuleFpFID(this.Context, Convert.ToString(Billobj["Id"]));
|
||||
if (GetLpFids.Count > 0)
|
||||
{
|
||||
//循环遍历蓝字发票FID,执行蓝字发票的查询存储过程
|
||||
foreach (var GetLpFid in GetLpFids) {
|
||||
var Ordersqls = SqlManage.SqlManage.GetHZFPSal_ORDERFidAndFentryid(this.Context, Convert.ToString(GetLpFid["蓝字发票FID"]));
|
||||
if (Ordersqls.Count > 0)
|
||||
{
|
||||
foreach (var Ordersql in Ordersqls)
|
||||
{
|
||||
//根据销售订单FID和销售订单FENTRYID,更新源销售订单的开票数量和开票金额(明细)
|
||||
SqlManage.SqlManage.UpSal_OrderKPJEAndKPSL(this.Context, Convert.ToString(Ordersql["销售订单FID"]),
|
||||
Convert.ToString(Ordersql["销售订单FENTRYID"]), Convert.ToString(Ordersql["开票组织"]), Convert.ToString(Ordersql["开票数量"]),
|
||||
Convert.ToString(Ordersql["开票金额"]));
|
||||
//判断更新后的累计核销金额是否大于销售订单的价税合计本位币
|
||||
var dynamics = SqlManage.SqlManage.GetSal_Order(this.Context, Convert.ToString(Ordersql["销售订单FID"]));
|
||||
if (dynamics.Count > 0)
|
||||
{
|
||||
//当累计开票金额>订单的价税合计时,溯源更新订单的开票数量和开票金额
|
||||
SqlManage.SqlManage.FalseUpSal_OrderKPJEAndKPSL(this.Context, Convert.ToString(Ordersql["销售订单FID"]),
|
||||
Convert.ToString(Ordersql["销售订单FENTRYID"]), Convert.ToString(Ordersql["开票组织"]), Convert.ToString(Ordersql["开票数量"]),
|
||||
Convert.ToString(Ordersql["开票金额"]));
|
||||
//foreach (var dynamic in dynamics)
|
||||
//{
|
||||
// e.Cancel = true;
|
||||
// var ErrorMessge = string.Format(@"源单销售订单编号:{0},的价税合计为{1},目前开票金额反写回
|
||||
// 销售订单累计开票金额为{2},超出核销范围,不允许执行审核操作", Convert.ToString(dynamic["单据编号"])
|
||||
//, Convert.ToString(dynamic["价税合计"]), Convert.ToString(dynamic["累计开票金额"]));
|
||||
// throw new Exception(
|
||||
// ErrorMessge.ToString()
|
||||
// );
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
//当发票为蓝字发票或非蓝字发票下推生成的红字发票时
|
||||
else
|
||||
{
|
||||
var LZOrders = SqlManage.SqlManage.GetLZFPSal_ORDERFidAndFentryid(this.Context, Convert.ToString(Billobj["Id"]));
|
||||
if (LZOrders.Count > 0)
|
||||
{
|
||||
foreach (var LZOrder in LZOrders)
|
||||
{
|
||||
//根据销售订单FID和销售订单的FENTRYID,更新源销售订单的开票数量和开票金额(明细)
|
||||
SqlManage.SqlManage.UpSal_OrderKPJEAndKPSL(this.Context, Convert.ToString(LZOrder["销售订单FID"]),
|
||||
Convert.ToString(LZOrder["销售订单FENTRYID"]), Convert.ToString(LZOrder["开票组织"]), Convert.ToString(LZOrder["开票数量"]),
|
||||
Convert.ToString(LZOrder["开票金额"]));
|
||||
//判断更新后的累计核销金额是否大于销售订单的价税合计本位币
|
||||
var dynamics = SqlManage.SqlManage.GetSal_Order(this.Context, Convert.ToString(LZOrder["销售订单FID"]));
|
||||
if (dynamics.Count > 0)
|
||||
{
|
||||
//当累计开票金额>订单的价税合计时,溯源更新订单的开票数量和开票金额
|
||||
SqlManage.SqlManage.FalseUpSal_OrderKPJEAndKPSL(this.Context, Convert.ToString(LZOrder["销售订单FID"]),
|
||||
Convert.ToString(LZOrder["销售订单FENTRYID"]), Convert.ToString(LZOrder["开票组织"]), Convert.ToString(LZOrder["开票数量"]),
|
||||
Convert.ToString(LZOrder["开票金额"]));
|
||||
//foreach (var dynamic in dynamics)
|
||||
//{
|
||||
// e.Cancel = true;
|
||||
|
||||
// var ErrorMessge = string.Format(@"源单销售订单编号:{0},的价税合计为{1},目前开票金额反写回
|
||||
// 销售订单累计开票金额为{2},超出核销范围,不允许执行审核操作", Convert.ToString(dynamic["单据编号"])
|
||||
// , Convert.ToString(dynamic["价税合计"]), Convert.ToString(dynamic["累计开票金额"]));
|
||||
// throw new Exception(
|
||||
// ErrorMessge.ToString()
|
||||
// );
|
||||
//}
|
||||
}
|
||||
}
|
||||
//break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
63
T_IV_SALESIC/UnAuditS_Order.cs
Normal file
63
T_IV_SALESIC/UnAuditS_Order.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GZ_LTHPilot_ORDER.T_IV_SALESIC
|
||||
{
|
||||
[Description("服务插件:发票反审核时,溯源销售订单累计开票金额字段"), HotUpdate]
|
||||
public class UnAuditS_Order : AbstractOperationServicePlugIn
|
||||
{
|
||||
public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
|
||||
{
|
||||
base.BeforeExecuteOperationTransaction(e);
|
||||
foreach (var Row in e.SelectedRows)
|
||||
{
|
||||
var Billobj = Row.DataEntity;
|
||||
//先查询是否由蓝票下推生成的红票
|
||||
var GetLpFids = SqlManage.SqlManage.GetBuleFpFID(this.Context, Convert.ToString(Billobj["Id"]));
|
||||
if (GetLpFids.Count > 0)
|
||||
{
|
||||
//循环遍历蓝字发票FID,执行蓝字发票的查询存储过程
|
||||
foreach (var GetLpFid in GetLpFids)
|
||||
{
|
||||
var Ordersqls = SqlManage.SqlManage.GetHZFPSal_ORDERFidAndFentryid(this.Context, Convert.ToString(GetLpFid["蓝字发票FID"]));
|
||||
if (Ordersqls.Count > 0)
|
||||
{
|
||||
foreach (var Ordersql in Ordersqls)
|
||||
{
|
||||
//反审核,溯源审核的操作
|
||||
SqlManage.SqlManage.FalseUpSal_OrderKPJEAndKPSL(this.Context, Convert.ToString(Ordersql["销售订单FID"]),
|
||||
Convert.ToString(Ordersql["销售订单FENTRYID"]), Convert.ToString(Ordersql["开票组织"]), Convert.ToString(Ordersql["开票数量"]),
|
||||
Convert.ToString(Ordersql["开票金额"]));
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
//当发票为蓝字发票或非蓝字发票下推生成的红字发票时
|
||||
else
|
||||
{
|
||||
var LZOrders = SqlManage.SqlManage.GetLZFPSal_ORDERFidAndFentryid(this.Context, Convert.ToString(Billobj["Id"]));
|
||||
if (LZOrders.Count > 0)
|
||||
{
|
||||
foreach (var LZOrder in LZOrders)
|
||||
{
|
||||
//反审核,溯源审核的操作
|
||||
SqlManage.SqlManage.FalseUpSal_OrderKPJEAndKPSL(this.Context, Convert.ToString(LZOrder["销售订单FID"]),
|
||||
Convert.ToString(LZOrder["销售订单FENTRYID"]), Convert.ToString(LZOrder["开票组织"]), Convert.ToString(LZOrder["开票数量"]),
|
||||
Convert.ToString(LZOrder["开票金额"]));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user