From dfbc0389d6b9b2bd8e92e976248b9992a03979f4 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期三, 08 九月 2021 13:23:26 +0800
Subject: [PATCH] 提料生成送货单 下推数量 =提料计划数量 - 已生成送货单数量
---
src/BLL/Demo.BillView/PRD/Pro_ZJDBSH.cs | 82 +++++++++++++++++++++++++++++++++++++---
1 files changed, 75 insertions(+), 7 deletions(-)
diff --git a/src/BLL/Demo.BillView/PRD/Pro_ZJDBSH.cs b/src/BLL/Demo.BillView/PRD/Pro_ZJDBSH.cs
index a5cbd51..1743116 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_ZJDBSH.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_ZJDBSH.cs
@@ -12,10 +12,15 @@
using System.ComponentModel;
using Kingdee.BOS.ServiceHelper;
using Kingdee.K3.SCM.App;
+using System.Diagnostics;
+using ZD.Cloud.Logger;
+using System.Data;
+using Kingdee.BOS;
+using Kingdee.BOS.App.Data;
namespace Demo.DynamicForm.PRD
{
-
+
[Description("[鐩存帴璋冩嫧鍗�-瀹℃牳]鎸夐挳鍔熻兘]")]
[HotUpdate]
public class Pro_ZJDBSH : AbstractOperationServicePlugIn
@@ -34,9 +39,41 @@
e.FieldKeys.Add("FBaseJoinQty");
e.FieldKeys.Add("FDayPlanBillNo");
e.FieldKeys.Add("FDayPlanFentryId");
+ e.FieldKeys.Add("FBaseQty");
}
+ ///// <summary>
+ /////鍙嶅鏍� 鍙嶆洿鏂版棩璁″垝鐢ㄦ枡娓呭崟璋冩嫧鏁伴噺
+ ///// </summary>
+ ///// <param name="e"></param>
+ //public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
+ //{
+ // base.AfterExecuteOperationTransaction(e);
+ // Stopwatch sw = new Stopwatch();
+ // sw.Start();//寮�濮嬭鏃�
+ // List<string> sqlList = new List<string>();
+ // string sql = "";
+ // //瀹℃牳鏃舵洿鏂扮敓浜х敤鏂欐竻鍗曡〃鏄庣粏璋冩嫧鏁伴噺
+ // Entity entity = this.BusinessInfo.GetEntity("FBillEntry");//鑾峰彇鏄庣粏淇℃伅
+ // foreach (var billObj in e.SelectedRows)
+ // {
+ // DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity)
+ // as DynamicObjectCollection;
+ // foreach (var entryRow in entryRows)
+ // {
+ // //鐢熶骇鐢ㄦ枡娓呭崟涓虹┖鏃�
+ // if (Convert.ToString(entryRow["FDayPlanBillNo"]) == "")
+ // continue;
+ // string fentryId = entryRow["FDayPlanFentryId"].ToString();
+ // sql = string.Format($"/*dialect*/update Sc_DayPlanPPBomBillSub set FTranslateQty + = {Convert.ToDecimal(entryRow["FBaseQty"])} where FEntryID = { fentryId} ");
+ // sqlList.Add(sql);
+ // }
+ // }
+ // DBServiceHelper.ExecuteBatch(Context, sqlList);
+ // sw.Stop();//缁撴潫璁℃椂
+ // LogHelper.Info("鐢熸垚鏃ヨ鍒掔敤鏂欐竻鍗曡繍琛屾�绘椂闀匡細" + sw.Elapsed);
+ //}
/// <summary>
- ///鍙嶅鏍� 鍙嶆洿鏂版棩璁″垝鐢ㄦ枡娓呭崟璋冩嫧鏁伴噺
+ ///鍙嶅鏍� 鍙嶆洿鏂版棩璁″垝鐢ㄦ枡娓呭崟璋冩嫧鏁伴噺
/// </summary>
/// <param name="e"></param>
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
@@ -44,23 +81,54 @@
base.AfterExecuteOperationTransaction(e);
List<string> sqlList = new List<string>();
string sql = "";
- //瀹℃牳鏃舵洿鏂扮敓浜х敤鏂欐竻鍗曡〃鏄庣粏璋冩嫧鏁伴噺
Entity entity = this.BusinessInfo.GetEntity("FBillEntry");//鑾峰彇鏄庣粏淇℃伅
+ //瀹℃牳鏃舵洿鏂版棩璁″垝鐢ㄦ枡娓呭崟琛ㄦ槑缁嗚皟鎷ㄦ暟閲�
foreach (var billObj in e.SelectedRows)
{
DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity)
as DynamicObjectCollection;
foreach (var entryRow in entryRows)
{
- //鐢熶骇鐢ㄦ枡娓呭崟涓虹┖鏃�
- if (Convert.ToString(entryRow["FDayPlanBillNo"]) == "")
- continue;
string fentryId = entryRow["FDayPlanFentryId"].ToString();
- sql = string.Format($"/*dialect*/update Sc_DayPlanPPBomBillSub set FTranslateQty = (select sum(FBaseQty) from T_STK_STKTRANSFERINENTRY where FDayPlanFentryId = { fentryId})where FEntryID = { fentryId} ");
+ //if (fentryId == "0")
+ // continue;
+ sql = string.Format($"/*dialect*/update Sc_DayPlanPPBomBillSub set FTranslateQty = FTranslateQty+{Convert.ToDecimal(entryRow["BaseQty"])} where FEntryID = { fentryId} ");
sqlList.Add(sql);
}
}
DBServiceHelper.ExecuteBatch(Context, sqlList);
}
+ private void BatchUpdate()
+ {
+ // 瀹氫箟涓�涓狣ataTable锛氬瓨鍌ㄥ緟鏇存柊鐨勬暟鎹�
+ DataTable dt = new DataTable();
+ dt.TableName = "JD_t_Cust_Entry100001";
+ var idCol = dt.Columns.Add("FID");
+ idCol.DataType = typeof(long);
+ var billNoCol = dt.Columns.Add("FBillNo");
+ billNoCol.DataType = typeof(string);
+ // 鐏屽叆娴嬭瘯鏁版嵁
+ dt.BeginLoadData(); // 鎵ц姝ゆ柟娉曪紝鍙互鎻愬崌鐏屽叆鏁版嵁鎬ц兘
+ for (int i = 1; i <= 10; i++)
+ {
+ dt.LoadDataRow(new object[] { i, i.ToString() }, true);
+ }
+ dt.EndLoadData(); // 鐏屽叆鏁版嵁缁撴潫
+ // 鍑嗗鎵归噺鏇存柊鏈嶅姟鍙傛暟
+ // tableName : 寰呮洿鏂扮殑鐗╃悊琛ㄦ牸鍚�
+ // dt : 寰呮洿鏂扮殑鏁版嵁
+ BatchSqlParam batchUpdateParam = new BatchSqlParam("JD_t_Cust_Entry100001", dt);
+ // 璁剧疆鍖归厤瀛楁锛氬嵆DataTable涓殑鏁版嵁锛屼笌鐗╃悊琛ㄦ牸浠ラ偅涓瓧娈佃繘琛屽尮閰�
+ // 鍖归厤瀛楁鍙互娣诲姞澶氫釜
+ // columnName: DataTable涓殑鍒楀悕
+ // fieldName : 鐗╂枡琛ㄦ牸涓尮閰嶇殑瀛楁鍚�
+ batchUpdateParam.AddWhereExpression("FID", KDDbType.Int64, "FID");
+ // 璁剧疆寰呮洿鏂扮殑瀛楁
+ // columnName: DataTable涓殑鍒楀悕
+ // fieldName : 瀵瑰簲鐨勭墿鏂欒〃鏍煎瓧娈靛悕
+ batchUpdateParam.AddSetExpression("FBillNo", KDDbType.String, "FBillNo");
+ // 鎵ц鎵归噺鏇存柊
+ DBUtils.BatchUpdate(this.Context, batchUpdateParam);
+ }
}
}
--
Gitblit v1.9.1