From 50b5c72ca7fe4db72a4a10fe378ca95bffb1e736 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期三, 28 七月 2021 16:36:40 +0800
Subject: [PATCH] nothing
---
src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs | 82 ++++++++++++++++++++++++++++-------------
1 files changed, 56 insertions(+), 26 deletions(-)
diff --git a/src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs b/src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs
index fcccd16..b0b1e2e 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs
@@ -16,13 +16,13 @@
namespace Demo.DynamicForm.PRD
{
/// <summary>
- /// 鎻掍欢绀轰緥锛氬紩鍏ラ攢鍞嚭搴撳崟锛屽缓绔嬩笌閿�鍞鍗曠殑鍏宠仈
+ /// 鏃ヨ鍒掔敤鏂欐竻鍗曚笅鎺ㄥ悗锛屽缓绔嬬洿鎺ヨ皟鎷ㄥ崟涓庢棩璁″垝鐢ㄦ枡娓呭崟鍏宠仈鍏崇郴
/// </summary>
/// <remarks>
/// 瑕佹眰锛�
/// 1. 闇�瑕佸紩鍏ュ崟鎹綋鐨勬簮鍗曠被鍨嬨�佹簮鍗曠紪鍙峰瓧娈�
- /// 2. 鏈彃浠舵寕鍦ㄩ攢鍞嚭搴撳崟鐨勪繚瀛樻搷浣滀笂
- /// 鍑哄簱鍏宠仈閿�鍞鍗�
+ /// 2. 鏈彃浠舵寕鍦ㄧ洿鎺ヨ皟鎷ㄥ崟鐨勪繚瀛樻搷浣滀笂
+ /// 鐩存帴璋冩嫧鍗曞叧鑱旀棩璁″垝鐢ㄦ枡娓呭崟
/// </remarks>
[Description("鏃ヨ鍒掔敤鏂欐竻鍗曚笅鎺ㄥ悗锛屽缓绔嬬洿鎺ヨ皟鎷ㄥ崟涓庣敓浜х敤鏂欐竻鍗曞叧鑱斿叧绯�")]
[HotUpdate]
@@ -42,6 +42,7 @@
e.FieldKeys.Add("FBaseJoinQty");
}
private const string POFormId = "PRD_PPBOM";
+ public List<string> FentryIdList = new List<string>();
public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
{
base.BeforeExecuteOperationTransaction(e);
@@ -57,15 +58,18 @@
as DynamicObjectCollection;
foreach (var entryRow in entryRows)
{
+ //鐢熶骇鐢ㄦ枡娓呭崟涓虹┖鏃�
+ if (Convert.ToString(entryRow["FDayPlanBillNo"]) == "")
+ continue;
string srcFormId = "";
string srcSrcBillNo = "";
string FPPBOMFENTRYID = "";
try
{
srcFormId = "PRD_PPBOM";
- srcSrcBillNo = entryRow["FPPBOMBILLNO"].ToString();
- string FPPBOMFID = entryRow["FPPOMFID"].ToString();
- FPPBOMFENTRYID = entryRow["FPPBOMFENTRYID"].ToString();
+ srcSrcBillNo = entryRow["FPPBOMBILLNO"]?.ToString();
+ string FPPBOMFID = entryRow["FPPOMFID"]?.ToString();
+ FPPBOMFENTRYID = entryRow["FPPBOMFENTRYID"]?.ToString();
}
catch (Exception)
{
@@ -102,9 +106,9 @@
foreach (var entryRow in entryRows)
{
string srcFormId = "PRD_PPBOM";
- string srcSrcBillNo = entryRow["FPPBOMBILLNO"].ToString();
- string FPPBOMFID = entryRow["FPPOMFID"].ToString();
- string FPPBOMFENTRYID = entryRow["FPPBOMFENTRYID"].ToString();
+ string srcSrcBillNo = entryRow["FPPBOMBILLNO"]?.ToString();
+ string FPPBOMFID = entryRow["FPPOMFID"]?.ToString();
+ string FPPBOMFENTRYID = entryRow["FPPBOMFENTRYID"]?.ToString();
if (string.IsNullOrWhiteSpace(srcFormId)
|| string.IsNullOrWhiteSpace(srcSrcBillNo)
@@ -123,6 +127,10 @@
bool Ret = SourceVerification(Convert.ToString(entryRow["Id"]));
if (!Ret) continue;
+ //璁板綍婧愬崟ID 鐢ㄤ簬鏇存柊
+ if (!FentryIdList.Contains(entryRow["Id"]?.ToString()))
+ FentryIdList.Add(entryRow["Id"]?.ToString());
+
DynamicObjectCollection linkRows = linkEntry.DynamicProperty.GetValue(entryRow)
as DynamicObjectCollection;
DynamicObject linkRow = new DynamicObject(linkEntry.DynamicObjectType);
@@ -133,33 +141,55 @@
}
}
// 涓烘柊寤虹殑婧愬崟鍏宠仈淇℃伅锛岃缃唴鐮�
- IDBService dbService = ServiceHelper.GetService<IDBService>();
+ IDBService dbService = Kingdee.K3.SCM.App.ServiceHelper.GetService<IDBService>();
dbService.AutoSetPrimaryKey(this.Context, allNewLinkRows.ToArray(), linkEntry.DynamicObjectType);
}
-
- public override void EndOperationTransaction(EndOperationTransactionArgs e)
+ /// <summary>
+ /// 淇濆瓨鎿嶄綔鍏宠仈鍏崇郴鍐欏叆瀹屾垚鍚� 鏇存敼婧愬崟淇℃伅
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{
- base.EndOperationTransaction(e);
- string sql = @"/*dialect*/
- update a set FBASEQTY = FQTY
- from T_STK_STKTRANSFERINENTRY_LK a
- join T_STK_STKTRANSFERINENTRY b on a.FENTRYID = b.FENTRYID
- where a.FSTABLENAME = 'T_PRD_PPBOMENTRY' and a.FBASEQTY = 0";
- DBServiceHelper.Execute(Context, sql);
+ base.AfterExecuteOperationTransaction(e);
+ //鏇存敼LK琛ㄤ俊鎭� 浠ュ強 婧愬崟鍏宠仈淇℃伅
+ List<string> sqlList = new List<string>();
+ string sql = "";
+ if (FentryIdList.Count > 0)
+ {
+ string FentryId = string.Join(",", FentryIdList.ToArray());
+ // sql = string.Format(@"/*dialect*/
+ //update a set FBASEQTY = FQTY
+ //from T_STK_STKTRANSFERINENTRY_LK a
+ //join T_STK_STKTRANSFERINENTRY b on a.FENTRYID = b.FENTRYID
+ //where
+ //--a.FSTABLENAME = 'T_PRD_PPBOMENTRY' and
+ //a.FENTRYID in ({0})", FentryId);
+ // sqlList.Add(sql);
+ sql = string.Format(@"/*dialect*/update T_STK_STKTRANSFERINENTRY_R
+ set FSrcBillTypeId = 'PRD_PPBOM',FSRCBILLNO=b.FPPBOMBILLNO
+ ,FTRANSRESERVELINK=1
+ from T_STK_STKTRANSFERINENTRY_R a
+ join T_STK_STKTRANSFERINENTRY b on a.FENTRYID=b.FENTRYID
+ where a.FENTRYID in({0})", FentryId);
+ sqlList.Add(sql);
+ DBServiceHelper.ExecuteBatch(Context, sqlList);
+ }
+
}
+
/// <summary>
- /// 鍔犺浇鐩稿叧鐨勯攢鍞鍗曟暟鎹�
+ /// 鍔犺浇鐩稿叧鐨勭敓浜х敤鏂欐竻鍗曚俊鎭�
/// </summary>
/// <param name="poBillNos"></param>
/// <returns></returns>
private DynamicObject[] LoadPurchaseOrder(HashSet<string> poBillNos)
{
- IViewService viewService = ServiceHelper.GetService<IViewService>();
+ IViewService viewService = Kingdee.K3.SCM.App.ServiceHelper.GetService<IViewService>();
string formId = "PRD_PPBOM";
- // 鎸囧畾闇�瑕佸姞杞界殑閿�鍞鍗曞瓧娈�
+ // 鎸囧畾闇�瑕佸姞杞界殑鐢ㄦ枡娓呭崟瀛楁
List<SelectorItemInfo> fields = new List<SelectorItemInfo>();
fields.Add(new SelectorItemInfo("FID")); // 鍗曟嵁涓婚敭
fields.Add(new SelectorItemInfo("FTreeEntity_FEntryID")); // 鍗曟嵁浣撲富閿�
@@ -179,7 +209,7 @@
return objs;
}
/// <summary>
- /// 鎶婇攢鍞鍗曞崟鎹綋琛屾瀯寤轰负瀛楀吀锛欴ictionary(鍗曟嵁缂栧彿, Dictionary(鐗╂枡缂栫爜, 婧愬崟琛�));
+ /// 鎶婄敤鏂欐竻鍗曞崟鎹綋琛屾瀯寤轰负瀛楀吀锛欴ictionary(鍗曟嵁缂栧彿, Dictionary(鐗╂枡缂栫爜, 婧愬崟琛�));
/// </summary>
/// <param name="poObjs"></param>
/// <returns></returns>
@@ -204,12 +234,12 @@
return dctAllBills;
}
/// <summary>
- /// 鑾峰彇閿�鍞鍗曞叧鑱斾富瀹炰綋琛ㄦ牸缂栫爜
+ /// 鑾峰彇鐢ㄦ枡娓呭崟鍏宠仈涓诲疄浣撹〃鏍肩紪鐮�
/// </summary>
/// <returns></returns>
private string GetPOEntryTableNumber()
{
- IBusinessFlowService bfMetaService = ServiceHelper.GetService<IBusinessFlowService>();
+ IBusinessFlowService bfMetaService = Kingdee.K3.SCM.App.ServiceHelper.GetService<IBusinessFlowService>();
var tableDefine = bfMetaService.LoadTableDefine(this.Context, POFormId, "FEntity");
return tableDefine.TableNumber;
}
@@ -242,7 +272,7 @@
/// <returns></returns>
public bool SourceVerification(string FTID)
{
- string sql = $" select count(*) from T_BF_INSTANCEENTRY where FSTABLENAME= 'T_PRD_PPBOMENTRY' and FTID = '{FTID}'";
+ string sql = $" select count(*) from T_BF_INSTANCEENTRY where FSTABLENAME= 'T_PRD_PPBOMENTRY' and FTTABLENAME = 'T_STK_STKTRANSFERINENTRY' and FTID = '{FTID}'";
int count = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
if (count == 0)
return true;
--
Gitblit v1.9.1