This commit is contained in:
余宇波 2025-05-26 10:16:09 +08:00
parent d01fffc813
commit a8d0d89b75
5 changed files with 109 additions and 6 deletions

View File

@ -336,6 +336,7 @@
<Compile Include="Planorder\List.cs" /> <Compile Include="Planorder\List.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="QPHY_AutoWrireRecord\FUpdateAmount.cs" /> <Compile Include="QPHY_AutoWrireRecord\FUpdateAmount.cs" />
<Compile Include="QPHY_AutoWrireRecord\HeXiaoJiLu.cs" />
<Compile Include="QPHY_AutoWrireRecord\UpdateAmount.cs" /> <Compile Include="QPHY_AutoWrireRecord\UpdateAmount.cs" />
<Compile Include="QPHY_AutoWrire\Bill.cs" /> <Compile Include="QPHY_AutoWrire\Bill.cs" />
<Compile Include="QPHY_AutoWrire\Bill2.cs" /> <Compile Include="QPHY_AutoWrire\Bill2.cs" />

View File

@ -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()
/// <summary>
/// 单据体值更新事件
/// </summary>
/// <param name="e"></param>
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<IMetaDataService>().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
}
}

View File

@ -60,11 +60,11 @@ namespace Pilot_KD_Parino.Sal_Order
int stockId = 0; 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(); //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(); //sheet = result.SuccessDataEnity.FirstOrDefault();
//result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", sheet["id"].ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId); //result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", sheet["id"].ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId);
@ -133,8 +133,9 @@ namespace Pilot_KD_Parino.Sal_Order
/// <param name="stockId"></param> /// <param name="stockId"></param>
/// <param name="FEntity">本次操作页面的对象</param> /// <param name="FEntity">本次操作页面的对象</param>
/// <param name="FEntity2">最开始的销售单对象</param> /// <param name="FEntity2">最开始的销售单对象</param>
/// <param name="config">1 只到暂存 2 暂存+保存 3 暂存+保存+提交 4 暂存+保存+提交+审核</param>
/// <returns></returns> /// <returns></returns>
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 try
{ {
@ -528,12 +529,19 @@ namespace Pilot_KD_Parino.Sal_Order
} }
sdsas = JsonHelper.ToJson(destObjs); sdsas = JsonHelper.ToJson(destObjs);
//Logger.Error("目标单据数据集合4", sdsas, new Exception()); //Logger.Error("目标单据数据集合4", sdsas, new Exception());
//暂存
if (config < 1)
return result;
IOperationResult saveResult2 = BusinessDataServiceHelper.Draft(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create()); IOperationResult saveResult2 = BusinessDataServiceHelper.Draft(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
//var ddd = (from p in destObjs select p[0]).ToArray(); //var ddd = (from p in destObjs select p[0]).ToArray();
//var ddd = saveResult2.SuccessDataEnity.Select(t => t).ToArray(); //var ddd = saveResult2.SuccessDataEnity.Select(t => t).ToArray();
//sdsas = JsonHelper.ToJson(ddd); //sdsas = JsonHelper.ToJson(ddd);
//Logger.Error("目标单据数据集合4", sdsas, new Exception()); //Logger.Error("目标单据数据集合4", sdsas, new Exception());
//保存
if (config < 2)
return result;
////保存目标单据 ////保存目标单据
IOperationResult saveResult = ServiceHelper.GetService<ISaveService>().Save(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create()); IOperationResult saveResult = ServiceHelper.GetService<ISaveService>().Save(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
////合并保存操作结果 ////合并保存操作结果
@ -553,6 +561,10 @@ namespace Pilot_KD_Parino.Sal_Order
//this.View.ShowMessage("1"); //this.View.ShowMessage("1");
// 取到需要自动提交、审核的单据内码 // 取到需要自动提交、审核的单据内码
object[] pkArray = (from p in destObjs select p[0]).ToArray(); object[] pkArray = (from p in destObjs select p[0]).ToArray();
//提交
if (config < 3)
return result;
//设置提交参数 //设置提交参数
IOperationResult submitResult = ServiceHelper.GetService<ISubmitService>().Submit(this.Context, destFormMetadata.BusinessInfo, pkArray, "Submit", OperateOption.Create()); IOperationResult submitResult = ServiceHelper.GetService<ISubmitService>().Submit(this.Context, destFormMetadata.BusinessInfo, pkArray, "Submit", OperateOption.Create());
@ -561,6 +573,9 @@ namespace Pilot_KD_Parino.Sal_Order
{ {
throw new KDBusinessException("", "未知原因导致自动提交失败!"); throw new KDBusinessException("", "未知原因导致自动提交失败!");
} }
//审核
if (config < 4)
return result;
//设置审核参数 //设置审核参数
IOperationResult auditResult = ServiceHelper.GetService<IAuditService>().Audit(this.Context, destFormMetadata.BusinessInfo, pkArray, OperateOption.Create()); IOperationResult auditResult = ServiceHelper.GetService<IAuditService>().Audit(this.Context, destFormMetadata.BusinessInfo, pkArray, OperateOption.Create());
// 判断提交结果,如果失败,则内部会抛出错误,回滚代码 // 判断提交结果,如果失败,则内部会抛出错误,回滚代码

View File

@ -31,7 +31,7 @@ BEGIN
WHERE a.FID =@FID WHERE a.FID =@FID
GROUP BY FBILLNO3 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 ; WHERE FBILLNO =@FBILLNO ;
end end

View File

@ -31,7 +31,7 @@ begin
WHERE a.FID =@FID WHERE a.FID =@FID
GROUP BY FBILLNO3 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 ; WHERE FBILLNO =@FBILLNO ;
end end