From 085cb82a480997b718a5a9a8c825d39fb6298a11 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期五, 26 二月 2021 15:36:55 +0800
Subject: [PATCH] 日计划用料清单下推,建立生产领料单与生产用料清单关联关系 代码上传 测试成功
---
src/BLL/Demo.BillView/Demo.BillView.csproj | 2
src/BLL/Demo.BillView/PRD/Pro_SCLLSH.cs | 65 ++++++++++++++++
src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs | 17 ++--
src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs | 40 ++++++----
src/BLL/Demo.BillView/PRD/Pro_SCLLFSH.cs | 66 ++++++++++++++++
5 files changed, 165 insertions(+), 25 deletions(-)
diff --git a/src/BLL/Demo.BillView/Demo.BillView.csproj b/src/BLL/Demo.BillView/Demo.BillView.csproj
index 559b555..6b484c2 100644
--- a/src/BLL/Demo.BillView/Demo.BillView.csproj
+++ b/src/BLL/Demo.BillView/Demo.BillView.csproj
@@ -220,6 +220,8 @@
<Compile Include="PRD\ProCompleteAnalysisMateriel.cs" />
<Compile Include="PRD\ProCompleteAnalysisDetails.cs" />
<Compile Include="PRD\Pro_DayPlanCheckSelectMenu.cs" />
+ <Compile Include="PRD\Pro_SCLLFSH.cs" />
+ <Compile Include="PRD\Pro_SCLLSH.cs" />
<Compile Include="PRD\Pro_ZJDBSH.cs" />
<Compile Include="PRD\Pro_ZJDBFSH.cs" />
<Compile Include="PRD\Pro_DayPlanPushZJDB2.cs" />
diff --git a/src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs b/src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs
index 9320029..75c3257 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs
@@ -105,7 +105,6 @@
as DynamicObjectCollection;
foreach (var entryRow in entryRows)
{
-
string srcFormId = "PRD_PPBOM";
string srcSrcBillNo = entryRow["FPPBOMBILLNO"]?.ToString();
string FPPBOMFID = entryRow["FPPOMFID"]?.ToString();
@@ -159,14 +158,14 @@
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 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
diff --git a/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs b/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs
index 9688acf..e6cfec4 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs
@@ -16,13 +16,13 @@
namespace Demo.DynamicForm.PRD
{
/// <summary>
- /// 鎻掍欢绀轰緥锛氬紩鍏ラ攢鍞嚭搴撳崟锛屽缓绔嬩笌閿�鍞鍗曠殑鍏宠仈
+ /// 鎻掍欢绀轰緥锛氭棩璁″垝鐢ㄦ枡娓呭崟涓嬫帹鍚庯紝寤虹珛鐢熶骇棰嗘枡鍗曚笌鐢熶骇鐢ㄦ枡娓呭崟鍏宠仈鍏崇郴
/// </summary>
/// <remarks>
/// 瑕佹眰锛�
/// 1. 闇�瑕佸紩鍏ュ崟鎹綋鐨勬簮鍗曠被鍨嬨�佹簮鍗曠紪鍙峰瓧娈�
- /// 2. 鏈彃浠舵寕鍦ㄩ攢鍞嚭搴撳崟鐨勪繚瀛樻搷浣滀笂
- /// 鍑哄簱鍏宠仈閿�鍞鍗�
+ /// 2. 鏈彃浠舵寕鍦ㄧ敓浜ч鏂欏崟鐨勪繚瀛樻搷浣滀笂
+ /// 鐢熶骇棰嗘枡鍗曚笌鐢熶骇鐢ㄦ枡娓呭崟鍏宠仈
/// </remarks>
[Description("鏃ヨ鍒掔敤鏂欐竻鍗曚笅鎺ㄥ悗锛屽缓绔嬬敓浜ч鏂欏崟涓庣敓浜х敤鏂欐竻鍗曞叧鑱斿叧绯�")]
[HotUpdate]
@@ -59,6 +59,9 @@
as DynamicObjectCollection;
foreach (var entryRow in entryRows)
{
+ //鐢熶骇鐢ㄦ枡娓呭崟涓虹┖鏃�
+ if (Convert.ToString(entryRow["FDayPlanBillNo"]) == "")
+ continue;
string srcFormId = "";
string srcSrcBillNo = "";
string FPPBOMFENTRYID = "";
@@ -152,24 +155,29 @@
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{
base.AfterExecuteOperationTransaction(e);
+ if (FentryIdList.Count == 0)
+ return;
string FentryId = string.Join(",", FentryIdList.ToArray());
List<string> sqlList = new List<string>();
+ // string sql = string.Format(@"/*dialect*/
+ //update a set FBASEACTUALQTY = b.FBASEACTUALQTY
+ // from T_PRD_PICKMTRLDATA_LK a
+ // join T_PRD_PICKMTRLDATA b on a.FENTRYID = b.FENTRYID
+ // where a.FSTABLENAME = 'T_PRD_PPBOMENTRY' and a.FENTRYID in ({0})", FentryId);
+ // sqlList.Add(sql);
string sql = string.Format(@"/*dialect*/
- update a set FBASEACTUALQTY = b.FBASEACTUALQTY
- from T_PRD_PICKMTRLDATA_LK a
- join T_PRD_PICKMTRLDATA 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_PRD_PICKMTRLDATA set
- FSrcBillType = 'PRD_PPBOM',
- FSRCENTRYID=FPPBomEntryId,
- FSrcBillNo=FPPBOMBILLNO
- where FENTRYID in ({0})
+update a set
+FSrcBillType='PRD_PPBOM',
+FSrcBillNo = b.FPPBOMBILLNO,
+FSRCINTERID =FHPPBomInterID,
+FSRCENTRYID = FHPPBomEntryID,
+FSRCENTRYSEQ =FPPBOMFSEQINT
+from T_PRD_PICKMTRLDATA a
+join Sc_DayPlanPPBomBillSub b on a.FDAYPLANFENTRYID = b.FEntryID
+where a.FEntryID in ({0})
", FentryId);
sqlList.Add(sql);
DBServiceHelper.ExecuteBatch(Context, sqlList);
- //DBServiceHelper.Execute(Context, sql);
}
/// <summary>
/// 鍔犺浇鐩稿叧鐨勯攢鍞鍗曟暟鎹�
@@ -245,7 +253,7 @@
//鍓╀綑棰嗘枡鏁伴噺
decimal remainQty = DBServiceHelper.ExecuteScalar<decimal>(Context, $"select FMustQty -isnull(FSelPickedQty,0) from T_PRD_PPBOMENTRY t1 left join T_PRD_PPBOMENTRY_Q t2 on t1.FENTRYID = t2.FENTRYID where t1.FENTRYID={toRow["PPBomEntryId"]?.ToString()}", 0);
linkRow["FlowId"] = srcRow["BFLowId_Id"];
- linkRow["FlowLineId"] = 0;
+ linkRow["FlowLineId"] = 5;
linkRow["RuleId"] = "PRD_PPBOM2PICKMTRL_NORMAL";
linkRow["SBillId"] = ((DynamicObject)srcRow.Parent)[0];
linkRow["STableId"] = ((DynamicObject)srcRow.Parent)[0];
diff --git a/src/BLL/Demo.BillView/PRD/Pro_SCLLFSH.cs b/src/BLL/Demo.BillView/PRD/Pro_SCLLFSH.cs
new file mode 100644
index 0000000..b20422c
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/Pro_SCLLFSH.cs
@@ -0,0 +1,66 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Kingdee.BOS.Util;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Metadata.EntityElement;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.App;
+using Kingdee.BOS.Core.Metadata.FieldElement;
+using System.ComponentModel;
+using Kingdee.BOS.ServiceHelper;
+using Kingdee.K3.SCM.App;
+
+namespace Demo.DynamicForm.PRD
+{
+ [Description("[鐢熶骇棰嗘枡鍗�-鍙嶅鏍竇鎸夐挳鍔熻兘]")]
+ [HotUpdate]
+ public class Pro_SCLLFSH : AbstractOperationServicePlugIn
+ {
+ public override void OnPreparePropertys(PreparePropertysEventArgs e)
+ {
+ base.OnPreparePropertys(e);
+ e.FieldKeys.Add("FSrcBillType");
+ e.FieldKeys.Add("FSrcBillNo");
+ e.FieldKeys.Add("FID");
+ e.FieldKeys.Add("FTreeEntity_FEntryID");
+ e.FieldKeys.Add("FBillNo");
+ e.FieldKeys.Add("FBFLowId");
+ e.FieldKeys.Add("FMaterialId");
+ e.FieldKeys.Add("FBaseUnitQty");
+ e.FieldKeys.Add("FBaseJoinQty");
+ e.FieldKeys.Add("FDayPlanBillNo");
+ e.FieldKeys.Add("FDayPlanFentryId");
+ }
+ /// <summary>
+ ///鍙嶅鏍� 鍙嶆洿鏂版棩璁″垝鐢ㄦ枡娓呭崟璋冩嫧鏁伴噺
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
+ {
+ base.AfterExecuteOperationTransaction(e);
+ List<string> sqlList = new List<string>();
+ string sql = "";
+ //淇濆瓨鏃舵洿鏂扮敓浜х敤鏂欐竻鍗曡〃鏄庣粏璋冩嫧鏁伴噺
+ Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅
+ 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();
+ decimal FBaseQty = Convert.ToDecimal(entryRow["BaseActualQty"]);
+ sql = string.Format($"/*dialect*/update Sc_DayPlanPPBomBillSub set FPickedQty -= {FBaseQty} where FEntryID = { fentryId} ");
+ sqlList.Add(sql);
+ }
+ }
+ DBServiceHelper.ExecuteBatch(Context, sqlList);
+ }
+ }
+}
diff --git a/src/BLL/Demo.BillView/PRD/Pro_SCLLSH.cs b/src/BLL/Demo.BillView/PRD/Pro_SCLLSH.cs
new file mode 100644
index 0000000..f78e99b
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/Pro_SCLLSH.cs
@@ -0,0 +1,65 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Kingdee.BOS.Util;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Metadata.EntityElement;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.App;
+using Kingdee.BOS.Core.Metadata.FieldElement;
+using System.ComponentModel;
+using Kingdee.BOS.ServiceHelper;
+using Kingdee.K3.SCM.App;
+
+namespace Demo.DynamicForm.PRD
+{
+ [Description("[鐢熶骇棰嗘枡鍗�-瀹℃牳]鎸夐挳鍔熻兘]")]
+ [HotUpdate]
+ public class Pro_SCLLSH : AbstractOperationServicePlugIn
+ {
+ public override void OnPreparePropertys(PreparePropertysEventArgs e)
+ {
+ base.OnPreparePropertys(e);
+ e.FieldKeys.Add("FSrcBillType");
+ e.FieldKeys.Add("FSrcBillNo");
+ e.FieldKeys.Add("FID");
+ e.FieldKeys.Add("FTreeEntity_FEntryID");
+ e.FieldKeys.Add("FBillNo");
+ e.FieldKeys.Add("FBFLowId");
+ e.FieldKeys.Add("FMaterialId");
+ e.FieldKeys.Add("FBaseUnitQty");
+ e.FieldKeys.Add("FBaseJoinQty");
+ e.FieldKeys.Add("FDayPlanBillNo");
+ e.FieldKeys.Add("FDayPlanFentryId");
+ }
+ /// <summary>
+ ///鍙嶅鏍� 鍙嶆洿鏂版棩璁″垝鐢ㄦ枡娓呭崟璋冩嫧鏁伴噺
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
+ {
+ base.AfterExecuteOperationTransaction(e);
+ List<string> sqlList = new List<string>();
+ string sql = "";
+ //瀹℃牳鏃舵洿鏂扮敓浜х敤鏂欐竻鍗曡〃鏄庣粏璋冩嫧鏁伴噺
+ Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅
+ 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 FPickedQty = (select sum(FBaseActualQty) from T_PRD_PICKMTRLDATA where FDayPlanFentryId = { fentryId})where FEntryID = { fentryId} ");
+ sqlList.Add(sql);
+ }
+ }
+ DBServiceHelper.ExecuteBatch(Context, sqlList);
+ }
+ }
+}
--
Gitblit v1.9.1