From a8d0d89b750309f31c447b74fe46b0e1f70921e8 Mon Sep 17 00:00:00 2001
From: yuyubo <1870149533@qq.com>
Date: Mon, 26 May 2025 10:16:09 +0800
Subject: [PATCH] 2
---
Pilot_KD_Parino/Pilot_KD_Parino.csproj | 1 +
.../QPHY_AutoWrireRecord/HeXiaoJiLu.cs | 87 +++++++++++++++++++
.../Sal_Order/PushSaleBillPlugIn.cs | 23 ++++-
发货通知单的核销记录反审核.sql | 2 +-
发货通知单的核销记录审核.sql | 2 +-
5 files changed, 109 insertions(+), 6 deletions(-)
create mode 100644 Pilot_KD_Parino/QPHY_AutoWrireRecord/HeXiaoJiLu.cs
diff --git a/Pilot_KD_Parino/Pilot_KD_Parino.csproj b/Pilot_KD_Parino/Pilot_KD_Parino.csproj
index 23e16e7..1dc8f2f 100644
--- a/Pilot_KD_Parino/Pilot_KD_Parino.csproj
+++ b/Pilot_KD_Parino/Pilot_KD_Parino.csproj
@@ -336,6 +336,7 @@
+
diff --git a/Pilot_KD_Parino/QPHY_AutoWrireRecord/HeXiaoJiLu.cs b/Pilot_KD_Parino/QPHY_AutoWrireRecord/HeXiaoJiLu.cs
new file mode 100644
index 0000000..5aa1e4d
--- /dev/null
+++ b/Pilot_KD_Parino/QPHY_AutoWrireRecord/HeXiaoJiLu.cs
@@ -0,0 +1,87 @@
+using DevExpress.Data.PLinq.Helpers;
+using Kingdee.BOS.App;
+using Kingdee.BOS.App.Data;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.Core.DynamicForm;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Metadata.FieldElement;
+using Kingdee.BOS.Log;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.ServiceHelper;
+using Kingdee.BOS.Util;
+using Org.BouncyCastle.Asn1.X509;
+using System;
+using System.ComponentModel;
+using System.Data;
+using System.Linq;
+
+namespace Pilot_KD_Parino.QPHY_AutoWrireRecord
+{
+ [HotUpdate]
+ [Description("收款核销5_2025-04-07")]
+ public class HeXiaoJiLu : AbstractDynamicFormPlugIn
+ {
+
+ #region DataChanged(单据体值更新事件)
+ ///
+ /// 单据体值更新事件
+ ///
+ ///
+ public override void DataChanged(DataChangedEventArgs e)
+ {
+ return;
+ base.DataChanged(e);
+
+ //this.View.ShowMessage(e.Field.Key.ToString());
+ if (e.Field.Key.Equals("FCONTRACTNUMBER") )
+ {
+ //this.View.ShowMessage("22");
+ var entity = this.View.BusinessInfo.GetEntity("FEntity");
+ if (entity == null)
+ return;
+ var tempRow = this.Model.GetEntityDataObject(entity, e.Row);//行数据包
+ if (tempRow["F_VRYF_Base_qtr"] != null && tempRow["F_VRYF_Base_qtr"].ToString() != "")
+ {
+ return;
+ }
+ else
+ {
+ //var json = JsonUtil.Serialize(tempRow);
+ //Logger.Error("采购订单信息", json, new Exception());
+ if (tempRow["F_MBBA_Text_qtr"] != null && tempRow["F_MBBA_Text_qtr"].ToString() != "")
+ {
+ string heTong = tempRow["F_MBBA_Text_qtr"].ToString();
+ long orgId = this.Context.CurrentOrganizationInfo.ID;
+ string sql1 = string.Format($@"/*dialect*/SELECT TOP 1 a.*,b.Fname FROM dbo.T_SAL_ORDER a WITH(NOLOCK)
+ LEFT JOIN dbo.V_BD_SALESMAN_L b WITH(NOLOCK) ON a.FSalerId=b.fid WHERE a.F_contractnumber='{heTong}' and a.FSALEORGID='{orgId}'");
+ this.View.ShowMessage(sql1);
+ Logger.Error("采购订单信息", sql1, new Exception());
+ var sql1List = DBUtils.ExecuteDynamicObject(Context, sql1);
+ if (sql1List != null && sql1List.Count > 0)
+ {
+ var one = sql1List.FirstOrDefault();
+ //FormMetadata destFormMetadata = ServiceHelper.GetService().Load(this.Context, "SAL_SaleOrder", one["FID"].ToString(), true) as FormMetadata;
+ //var sale = BusinessDataServiceHelper.LoadSingle(this.Context, one["FID"], (destFormMetadata.BusinessInfo.GetField("F_VRYF_Base_qtr") as BaseDataField).RefFormDynamicObjectType);
+ //DynamicObjectCollection FEntity = this.View.Model.DataObject["FEntity"] as DynamicObjectCollection;
+ //var dsds = this.View.GetControl("F_VRYF_Base_qtr");
+ //dsds.SetValue(one["FBILLNO"]);
+
+ //var tempRow2 = FEntity[e.Row];
+ //tempRow2["F_VRYF_Base_qtr"] = sale;
+
+ //this.View.Model.SetValue("F_VRYF_Base_qtr", sale, e.Row);
+ this.View.Model.SetValue("F_VRYF_Base_qtr", one["FID"], e.Row);
+ //this.View.Model.SetValue("F_VRYF_Base_qtr", one["FBILLNO"], e.Row);
+ //this.View.Model.SetValue("F_VRYF_Base_qtr", one["FBILLNO"], e.Row);
+ //this.View.Model.SetValue("F_VRYF_Base_qtr", one["FBILLNO"], e.Row);
+ this.View.UpdateView("FEntity");
+ }
+ }
+ }
+ }
+ }
+ #endregion
+ }
+}
diff --git a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs
index 97b8e24..712cfa6 100644
--- a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs
+++ b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs
@@ -60,11 +60,11 @@ namespace Pilot_KD_Parino.Sal_Order
int stockId = 0;
- IOperationResult result = Invoke("SAL_SaleOrder", "PUR_PurchaseOrder", id.ToString(), "83d822ca3e374b4ab01e5dd46a0062bd", ref stockId, FEntity, null);
+ IOperationResult result = Invoke("SAL_SaleOrder", "PUR_PurchaseOrder", id.ToString(), "83d822ca3e374b4ab01e5dd46a0062bd", ref stockId, FEntity, null,2);
//var sheet = result.SuccessDataEnity.FirstOrDefault();
- result = Invoke("SAL_SaleOrder", "SAL_SaleOrder", id.ToString(), "eacb50844fc84a10b03d7b841f3a6278", ref stockId, null, FEntity);
+ result = Invoke("SAL_SaleOrder", "SAL_SaleOrder", id.ToString(), "eacb50844fc84a10b03d7b841f3a6278", ref stockId, null, FEntity,2);
//sheet = result.SuccessDataEnity.FirstOrDefault();
//result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", sheet["id"].ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId);
@@ -133,8 +133,9 @@ namespace Pilot_KD_Parino.Sal_Order
///
/// 本次操作页面的对象
/// 最开始的销售单对象
+ /// 1 只到暂存 2 暂存+保存 3 暂存+保存+提交 4 暂存+保存+提交+审核
///
- private IOperationResult Invoke(string source, string target, string tempFid, string sargetBillTypeId, ref int stockId, DynamicObject FEntity, DynamicObject FEntity2)
+ private IOperationResult Invoke(string source, string target, string tempFid, string sargetBillTypeId, ref int stockId, DynamicObject FEntity, DynamicObject FEntity2,int config=4)
{
try
{
@@ -528,12 +529,19 @@ namespace Pilot_KD_Parino.Sal_Order
}
sdsas = JsonHelper.ToJson(destObjs);
//Logger.Error("目标单据数据集合4", sdsas, new Exception());
-
+ //暂存
+ if (config < 1)
+ return result;
IOperationResult saveResult2 = BusinessDataServiceHelper.Draft(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
//var ddd = (from p in destObjs select p[0]).ToArray();
//var ddd = saveResult2.SuccessDataEnity.Select(t => t).ToArray();
//sdsas = JsonHelper.ToJson(ddd);
//Logger.Error("目标单据数据集合4", sdsas, new Exception());
+
+ //保存
+ if (config < 2)
+ return result;
+
////保存目标单据
IOperationResult saveResult = ServiceHelper.GetService().Save(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
////合并保存操作结果
@@ -553,6 +561,10 @@ namespace Pilot_KD_Parino.Sal_Order
//this.View.ShowMessage("1");
// 取到需要自动提交、审核的单据内码
object[] pkArray = (from p in destObjs select p[0]).ToArray();
+
+ //提交
+ if (config < 3)
+ return result;
//设置提交参数
IOperationResult submitResult = ServiceHelper.GetService().Submit(this.Context, destFormMetadata.BusinessInfo, pkArray, "Submit", OperateOption.Create());
@@ -561,6 +573,9 @@ namespace Pilot_KD_Parino.Sal_Order
{
throw new KDBusinessException("", "未知原因导致自动提交失败!");
}
+ //审核
+ if (config < 4)
+ return result;
//设置审核参数
IOperationResult auditResult = ServiceHelper.GetService().Audit(this.Context, destFormMetadata.BusinessInfo, pkArray, OperateOption.Create());
// 判断提交结果,如果失败,则内部会抛出错误,回滚代码
diff --git a/发货通知单的核销记录反审核.sql b/发货通知单的核销记录反审核.sql
index 4517f4d..af14fca 100644
--- a/发货通知单的核销记录反审核.sql
+++ b/发货通知单的核销记录反审核.sql
@@ -31,7 +31,7 @@ BEGIN
WHERE a.FID =@FID
GROUP BY FBILLNO3
- UPDATE T_AR_RECEIVEBILL SET F_Amount=ISNULL(F_Amount,0)-@F_Amount
+ UPDATE T_AR_RECEIVEBILL SET F_Amount=ISNULL(F_Amount,0)-@F_Amount,F_contractnumber=''
WHERE FBILLNO =@FBILLNO ;
end
diff --git a/发货通知单的核销记录审核.sql b/发货通知单的核销记录审核.sql
index f7af3ad..5f8c057 100644
--- a/发货通知单的核销记录审核.sql
+++ b/发货通知单的核销记录审核.sql
@@ -31,7 +31,7 @@ begin
WHERE a.FID =@FID
GROUP BY FBILLNO3
- UPDATE T_AR_RECEIVEBILL SET F_Amount=ISNULL(F_Amount,0)+@F_Amount
+ UPDATE T_AR_RECEIVEBILL SET F_Amount=ISNULL(F_Amount,0)+@F_Amount ,F_contractnumber=@F_Papercontract
WHERE FBILLNO =@FBILLNO ;
end