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