From e2b0f85331c972a77ed6e0e179d736c4c6eb1abc Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期日, 21 三月 2021 15:34:26 +0800
Subject: [PATCH] 代码上传

---
 src/BLL/Demo.BillView/Demo.BillView.csproj                       |    4 
 /dev/null                                                        |  238 -----------------------------
 src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs |   64 ++++---
 src/BLL/Demo.BillView/PRD/Pro_DayPlanCheckSelectMenu.cs          |   83 ++++++++++
 src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs                     |   64 +++----
 5 files changed, 149 insertions(+), 304 deletions(-)

diff --git a/src/BLL/Demo.BillView/Demo.BillView.csproj b/src/BLL/Demo.BillView/Demo.BillView.csproj
index 3917ad2..f9b3cb4 100644
--- a/src/BLL/Demo.BillView/Demo.BillView.csproj
+++ b/src/BLL/Demo.BillView/Demo.BillView.csproj
@@ -219,10 +219,10 @@
     <Compile Include="PRD\ProTardinessDetails.cs" />
     <Compile Include="PRD\ProCompleteAnalysisMateriel.cs" />
     <Compile Include="PRD\ProCompleteAnalysisDetails.cs" />
+    <Compile Include="PRD\Pro_DayPlanCheckSelectMenu.cs" />
     <Compile Include="PRD\Pro_DayPlanSelectMenu.cs" />
-    <Compile Include="PRD\Pro_TlPushAudit.cs" />
     <Compile Include="PRD\Pro_MaterialRequisitionAuditDayPlan.cs" />
-    <Compile Include="PRD\Pro_MaterialRequisitionAudit.cs" />
+    <Compile Include="PRD\Pro_TlPushAudit.cs" />
     <Compile Include="PRD\Pro_ScDayImport.cs" />
     <Compile Include="PRD\Pro_TlPlanConfigure.cs" />
     <Compile Include="PRD\Pro_TlPush.cs" />
diff --git a/src/BLL/Demo.BillView/PRD/Pro_DayPlanCheckSelectMenu.cs b/src/BLL/Demo.BillView/PRD/Pro_DayPlanCheckSelectMenu.cs
new file mode 100644
index 0000000..0aaec4d
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/Pro_DayPlanCheckSelectMenu.cs
@@ -0,0 +1,83 @@
+锘縰sing Kingdee.BOS;
+using Kingdee.BOS.Core.Bill.PlugIn;
+using Kingdee.BOS.Core.DynamicForm;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.List;
+using Kingdee.BOS.Util;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.BillView.PRD
+{
+    [Description("[鏃ヨ鍒掕川閲忔眹鎶ュ崟] 閫夊崟"), HotUpdate]
+    public class Pro_DayPlanCheckSelectMenu : AbstractBillPlugIn
+    {
+        public override void BarItemClick(BarItemClickEventArgs e)
+        {
+            base.BarItemClick(e);
+            try
+            {
+                if (e.BarItemKey.ToUpper() == "TBDAYPLANMENU")
+                {
+                    // 鎵撳紑鍗曟嵁鍒楄〃鐣岄潰锛氫互鎵撳紑鐗╂枡F8鏌ヨ鍒楄〃涓轰緥
+                    // using Kingdee.BOS.Core.List;
+                    string pageId = Guid.NewGuid().ToString();
+                    ListShowParameter showParameter = new ListShowParameter();
+                    showParameter.FormId = "Paez_Sc_WorkBillAutoSortBill";
+                    showParameter.PageId = pageId;
+                    showParameter.UseOrgId = this.Context.CurrentOrganizationInfo.ID;
+                    showParameter.IsLookUp = true;
+                    this.View.ShowForm(showParameter);
+
+                    this.View.ShowForm(showParameter, delegate (FormResult result)
+                    {
+                        object returnData = result.ReturnData;
+                        if (returnData is ListSelectedRowCollection)
+                        {
+                            ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection;
+                            if (listSelectedRowCollection != null)
+                            {
+                                DynamicObjectDataRow datarow = (DynamicObjectDataRow)listSelectedRowCollection[0].DataRow;
+
+                                this.View.Model.SetValue("FMATERIALID", datarow.DynamicObject["FHMaterID_Id"].ToString());
+                                this.View.Model.SetValue("FPROORDERNO", datarow.DynamicObject["FSCOrderNo"].ToString()); 
+                                this.View.Model.SetValue("FQty", datarow.DynamicObject["FHOrderNeedQty"].ToString());
+                                this.View.Model.SetValue("FDayPlanFID", datarow.DynamicObject["FID"].ToString());
+                                this.View.Model.SetValue("FDayPlanFentryID", datarow.DynamicObject["t1_FENTRYID"].ToString());
+                                this.View.Model.SetValue("FSourceBillNo", datarow.DynamicObject["FBillNo"].ToString());
+                                this.View.Model.SetValue("FSourceBillType", datarow.DynamicObject["FBillTypeID"].ToString());
+                            }
+
+                            //ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection;
+                            //if (listSelectedRowCollection != null)
+                            //{
+                            //    int Fseq = 0;
+                            //    foreach (var listSelectedRow in listSelectedRowCollection)
+                            //    {
+                            //        this.View.Model.SetValue("FMATERIALID", listSelectedRow.DataRow["FHMaterID_Id"].ToString(), Fseq);
+                            //        this.View.Model.SetValue("FQty", listSelectedRow.DataRow["FHQTY"].ToString(), Fseq);
+                            //        this.View.Model.SetValue("FSCZY", listSelectedRow.DataRow["FHSourceID_Id"].ToString(), Fseq);
+                            //        this.View.Model.SetValue("FProOrderNo", listSelectedRow.DataRow["FSCOrderNo"].ToString(), Fseq);
+                            //        this.View.Model.SetValue("FSRCBILLENTRYSEQ", listSelectedRow.DataRow["FSRCBILLENTRYSEQ"].ToString(), Fseq);
+                            //        this.View.Model.SetValue("FDayPlanFnumber", listSelectedRow.DataRow["FBillNo"].ToString(), Fseq);
+                            //        this.View.Model.SetValue("FDayPlanFID", listSelectedRow.DataRow["FID"].ToString(), Fseq);
+                            //        this.View.Model.SetValue("FDayPlanEntryID", listSelectedRow.DataRow["t1_FENTRYID"].ToString(), Fseq);
+                            //        this.View.Model.SetValue("FDayPlanEntrySeq", listSelectedRow.DataRow["t1_FSEQ"].ToString(), Fseq);
+                            //        Fseq++;
+                            //    }
+                            //}
+                        }
+                    });
+                }
+            }
+            catch (Exception ex)
+            {
+                this.View.ShowErrMessage(ex.Message.ToString());
+            }
+        }
+    }
+}
diff --git a/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAudit.cs b/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAudit.cs
deleted file mode 100644
index 98b5cc0..0000000
--- a/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAudit.cs
+++ /dev/null
@@ -1,238 +0,0 @@
-锘縰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
-{
-    /// <summary>
-    /// 鎻掍欢绀轰緥锛氬紩鍏ラ攢鍞嚭搴撳崟锛屽缓绔嬩笌閿�鍞鍗曠殑鍏宠仈
-    /// </summary>
-    /// <remarks>
-    /// 瑕佹眰锛�
-    /// 1. 闇�瑕佸紩鍏ュ崟鎹綋鐨勬簮鍗曠被鍨嬨�佹簮鍗曠紪鍙峰瓧娈�
-    /// 2. 鏈彃浠舵寕鍦ㄩ攢鍞嚭搴撳崟鐨勪繚瀛樻搷浣滀笂
-    /// 鍑哄簱鍏宠仈閿�鍞鍗�
-    /// </remarks>
-    [Description("寮曞叆鐢熶骇棰嗘枡鍗曪紝寤虹珛涓庣敓浜ц鍗曠殑鍏宠仈")]
-    [HotUpdate]
-    public class Pro_MaterialRequisitionAudit : 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");
-        }
-        private const string POFormId = "PRD_PPBOM";
-        public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
-        {
-            base.BeforeExecuteOperationTransaction(e);
-            HashSet<string> poBillNos = new HashSet<string>();
-            Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅
-            Entity linkEntry = this.BusinessInfo.GetEntity("FEntity_Link");
-            Field fldSrcFormId = this.BusinessInfo.GetField("FSrcBillType");
-            Field fldSrcBillNo = this.BusinessInfo.GetField("FSrcBillNo");
-            // 瀵瑰崟鎹綋杩涜寰幆锛屽彇鍏宠仈鐨勬簮鍗曠紪鍙�
-            foreach (var billObj in e.SelectedRows)
-            {
-                DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity)
-                            as DynamicObjectCollection;
-                foreach (var entryRow in entryRows)
-                {
-                    string srcFormId = "";
-                    string srcSrcBillNo = "";
-                    try
-                    {
-                        srcFormId = "PRD_PPBOM";
-                        srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow);
-                        srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo);
-
-                    }
-                    catch (Exception)
-                    {
-                    }
-                    if (string.IsNullOrWhiteSpace(srcFormId)
-                        || string.IsNullOrWhiteSpace(srcSrcBillNo)
-                        )
-                    {// 婧愬崟涓嶆槸閲囪喘璁㈠崟锛岀暐杩�
-                        continue;
-                    }
-                    // 婧愬崟缂栧彿宸茬粡鐧昏锛屼笉鍐嶉噸澶嶈褰曪紝鐣ヨ繃
-                    if (poBillNos.Contains(srcSrcBillNo)) continue;
-                    // Link宸茬粡璁板綍浜嗘簮鍗曚俊鎭紝鐣ヨ繃
-                    //DynamicObjectCollection linkRows = linkEntry.DynamicProperty.GetValue(entryRow)
-                    //        as DynamicObjectCollection;
-                    //if (linkRows.Count > 0) continue;
-                    bool Ret = SourceVerification(Convert.ToString(entryRow["Id"]));
-                    if (!Ret) continue;
-
-                    poBillNos.Add(srcSrcBillNo);
-                }
-            }
-            if (poBillNos.Count == 0) return;
-            DynamicObject[] poObjs = this.LoadPurchaseOrder(poBillNos);
-            if (poObjs == null || poObjs.Length == 0) return;
-            Dictionary<string, Dictionary<string, DynamicObject>> dctAllBills = this.BuildDictionary(poObjs);
-            string srcTableNumber = this.GetPOEntryTableNumber();
-            List<DynamicObject> allNewLinkRows = new List<DynamicObject>();
-            // 寰幆鍗曟嵁浣擄紝涓哄崟鎹綋锛屽缓绔嬭捣婧愬崟鍏宠仈淇℃伅锛�
-            foreach (var billObj in e.SelectedRows)
-            {
-                DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity)
-                            as DynamicObjectCollection;
-                foreach (var entryRow in entryRows)
-                {
-                    string srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow);
-                    string srcFormId = "PRD_PPBOM";
-                    srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo);
-
-
-                    if (string.IsNullOrWhiteSpace(srcFormId)
-                        || string.IsNullOrWhiteSpace(srcSrcBillNo)
-                      )
-                    {// 婧愬崟涓嶆槸閿�鍞鍗曪紝鐣ヨ繃
-                        continue;
-                    }
-                    Dictionary<string, DynamicObject> dctOneBill = null;
-                    if (dctAllBills.TryGetValue(srcSrcBillNo, out dctOneBill) == false) continue;
-                    DynamicObject materialObj = entryRow["MaterialId"] as DynamicObject;
-                    if (materialObj == null) continue;
-                    string materialNumber = Convert.ToString(materialObj["number"]);
-                    DynamicObject srcRow = null;
-                    if (dctOneBill.TryGetValue(materialNumber, out srcRow) == false) continue;
-                    // Link宸茬粡璁板綍浜嗘簮鍗曚俊鎭紝鐣ヨ繃
-                    bool Ret = SourceVerification(Convert.ToString(entryRow["Id"]));
-                    if (!Ret) continue;
-
-                    DynamicObjectCollection linkRows = linkEntry.DynamicProperty.GetValue(entryRow)
-                            as DynamicObjectCollection;
-                   
-                    DynamicObject linkRow = new DynamicObject(linkEntry.DynamicObjectType);
-                    linkRow["STableName"] = srcTableNumber;
-                    this.FillLinkRow(srcRow, entryRow, linkRow);
-                    linkRows.Add(linkRow);
-                    allNewLinkRows.Add(linkRow);
-                }
-            }
-            // 涓烘柊寤虹殑婧愬崟鍏宠仈淇℃伅锛岃缃唴鐮�
-            IDBService dbService = ServiceHelper.GetService<IDBService>();
-            dbService.AutoSetPrimaryKey(this.Context, allNewLinkRows.ToArray(), linkEntry.DynamicObjectType);
-        }
-
-        /// <summary>
-        /// 鍔犺浇鐩稿叧鐨勯攢鍞鍗曟暟鎹�
-        /// </summary>
-        /// <param name="poBillNos"></param>
-        /// <returns></returns>
-        private DynamicObject[] LoadPurchaseOrder(HashSet<string> poBillNos)
-        {
-            IViewService viewService = ServiceHelper.GetService<IViewService>();
-            string formId = "PRD_PPBOM";
-
-            // 鎸囧畾闇�瑕佸姞杞界殑閿�鍞鍗曞瓧娈�
-            List<SelectorItemInfo> fields = new List<SelectorItemInfo>();
-            fields.Add(new SelectorItemInfo("FID"));        // 鍗曟嵁涓婚敭
-            fields.Add(new SelectorItemInfo("FTreeEntity_FEntryID"));     // 鍗曟嵁浣撲富閿�
-            fields.Add(new SelectorItemInfo("FBillNo"));    // 鍗曟嵁缂栧彿
-            fields.Add(new SelectorItemInfo("FBFLowId"));    // 涓氬姟娴佺▼
-            fields.Add(new SelectorItemInfo("FMaterialId"));    // 鐗╂枡
-            fields.Add(new SelectorItemInfo("FMaterialID2"));    // 鐗╂枡
-            fields.Add(new SelectorItemInfo("FBASENEEDQTY"));           // 鍩烘湰鍗曚綅鏁伴噺
-            fields.Add(new SelectorItemInfo("FBASEPICKEDQTY"));           // 鍩烘湰鍗曚綅鍏宠仈鏁伴噺
-            fields.Add(new SelectorItemInfo("FBFLOWID"));           //  
-
-            // 鎸囧畾杩囨护鏉′欢
-            string filter = string.Format(" FBillNo IN ('{0}') ", string.Join("','", poBillNos));
-            OQLFilter ofilter = OQLFilter.CreateHeadEntityFilter(filter);
-            var objs = viewService.Load(this.Context, formId, fields, ofilter);
-            return objs;
-        }
-        /// <summary>
-        /// 鎶婇攢鍞鍗曞崟鎹綋琛屾瀯寤轰负瀛楀吀锛欴ictionary(鍗曟嵁缂栧彿, Dictionary(鐗╂枡缂栫爜, 婧愬崟琛�));
-        /// </summary>
-        /// <param name="poObjs"></param>
-        /// <returns></returns>
-        private Dictionary<string, Dictionary<string, DynamicObject>> BuildDictionary(DynamicObject[] poObjs)
-        {
-            Dictionary<string, Dictionary<string, DynamicObject>> dctAllBills =
-                new Dictionary<string, Dictionary<string, DynamicObject>>();
-            foreach (var poObj in poObjs)
-            {
-                string billNo = Convert.ToString(poObj["BillNo"]);
-                Dictionary<string, DynamicObject> dctOneBill = new Dictionary<string, DynamicObject>();
-                DynamicObjectCollection entryRows = poObj["PPBomEntry"] as DynamicObjectCollection;
-                foreach (var entryRow in entryRows)
-                {
-                    DynamicObject materialObj = entryRow["MaterialId"] as DynamicObject;
-                    if (materialObj == null) continue;
-                    string materialNumber = Convert.ToString(materialObj["number"]);
-                    dctOneBill[materialNumber] = entryRow;
-                }
-                dctAllBills.Add(billNo, dctOneBill);
-            }
-            return dctAllBills;
-        }
-        /// <summary>
-        /// 鑾峰彇閿�鍞鍗曞叧鑱斾富瀹炰綋琛ㄦ牸缂栫爜
-        /// </summary>
-        /// <returns></returns>
-        private string GetPOEntryTableNumber()
-        {
-            IBusinessFlowService bfMetaService = ServiceHelper.GetService<IBusinessFlowService>();
-            var tableDefine = bfMetaService.LoadTableDefine(this.Context, POFormId, "FEntity");
-            return tableDefine.TableNumber;
-        }
-        /// <summary>
-        /// 濉啓婧愬崟淇℃伅
-        /// </summary>
-        /// <param name="srcRow">婧愬崟琛�</param>
-        /// <param name="toRow">鐩爣鍗曡</param>
-        /// <param name="linkRow">鍏宠仈琛�</param>
-        private void FillLinkRow(DynamicObject srcRow, DynamicObject toRow, DynamicObject linkRow)
-        {
-            linkRow["FlowId"] = srcRow["BFLowId_Id"];
-            linkRow["FlowLineId"] = 0;
-            linkRow["RuleId"] = "PRD_PPBOM2PICKMTRL_NORMAL";
-            linkRow["SBillId"] = ((DynamicObject)srcRow.Parent)[0];
-            linkRow["SId"] = srcRow[0];
-            // 鍘熷鎼哄甫閲�
-            decimal baseUnitQty = Convert.ToDecimal(srcRow["BaseNeedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅鏁伴噺
-            decimal joinUnitQty = Convert.ToDecimal(srcRow["BasePickedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅棰嗘枡鏁伴噺
-            linkRow["BaseActualQtyOld"] = baseUnitQty - joinUnitQty;
-            linkRow["BaseActualQty"] = toRow["BASEACTUALQTY"]; //鍩烘湰鍗曚綅瀹炲彂鏁伴噺
-        }
-
-        /// <summary>
-        /// 楠岃瘉鏄惁鐢熸垚杩囩敓浜х敤鏂欐竻鍗曞搴旂殑婧愬崟
-        /// </summary>
-        /// <returns></returns>
-        public bool SourceVerification(string FTID)
-        {
-            string sql = $" select count(*) from T_BF_INSTANCEENTRY where FSTABLENAME= 'T_PRD_PPBOMENTRY' and FTID = '{FTID}'";
-            int count = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
-            if (count == 0)
-                return true;
-            else
-                return false;
-        }
-
-    }
-}
diff --git a/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs b/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs
index 7637183..96dcb69 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs
@@ -24,9 +24,9 @@
     /// 2. 鏈彃浠舵寕鍦ㄩ攢鍞嚭搴撳崟鐨勪繚瀛樻搷浣滀笂
     /// 鍑哄簱鍏宠仈閿�鍞鍗�
     /// </remarks>
-    [Description("閫佽揣璁″垝鍗曟彃浠跺叧鑱旀彁鏂欒鍒掑崟")]
+    [Description("鏃ヨ鍒掔敤鏂欐竻鍗曚笅鎺ㄥ悗锛屽缓绔嬬敓浜ч鏂欏崟涓庣敓浜х敤鏂欐竻鍗曞叧鑱斿叧绯�")]
     [HotUpdate]
-    public class Pro_TlPushAudit : AbstractOperationServicePlugIn
+    public class Pro_MaterialRequisitionAuditDayPlan : AbstractOperationServicePlugIn
     {
         public override void OnPreparePropertys(PreparePropertysEventArgs e)
         {
@@ -37,16 +37,17 @@
             e.FieldKeys.Add("FTreeEntity_FEntryID");
             e.FieldKeys.Add("FBillNo");
             e.FieldKeys.Add("FBFLowId");
-            e.FieldKeys.Add("FHQty");
-            e.FieldKeys.Add("FHMaterID");
+            e.FieldKeys.Add("FMaterialId");
+            e.FieldKeys.Add("FBaseUnitQty");
+            e.FieldKeys.Add("FBaseJoinQty");
         }
-        private const string POFormId = "paez_PODemandPlan";
+        private const string POFormId = "PRD_PPBOM";
         public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
         {
             base.BeforeExecuteOperationTransaction(e);
             HashSet<string> poBillNos = new HashSet<string>();
-            Entity entity = this.BusinessInfo.GetEntity("FDetailEntity");//鑾峰彇鏄庣粏淇℃伅
-            Entity linkEntry = this.BusinessInfo.GetEntity("FDetailEntity_Link");
+            Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅
+            Entity linkEntry = this.BusinessInfo.GetEntity("FEntity_Link");
             Field fldSrcFormId = this.BusinessInfo.GetField("FSrcBillType");
             Field fldSrcBillNo = this.BusinessInfo.GetField("FSrcBillNo");
             // 瀵瑰崟鎹綋杩涜寰幆锛屽彇鍏宠仈鐨勬簮鍗曠紪鍙�
@@ -60,11 +61,9 @@
                     string srcSrcBillNo = "";
                     try
                     {
-                        srcFormId = "paez_PODemandPlan";
-                        srcSrcBillNo = entryRow["FTLOrderNo"].ToString();
-                        //srcSrcBillNo = entryRow["FTLentryId"].ToString();
-                        //srcSrcBillNo = entryRow["FTLId"].ToString();
-                        //srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PUR_RECEIVEENTRY_LK where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo);
+                        srcFormId = "PRD_PPBOM";
+                        srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow);
+                        srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo);
 
                     }
                     catch (Exception)
@@ -101,9 +100,10 @@
                             as DynamicObjectCollection;
                 foreach (var entryRow in entryRows)
                 {
-                    //string srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow);
-                    string srcFormId = "paez_PODemandPlan";
-                    string srcSrcBillNo = entryRow["FTLOrderNo"].ToString();
+                    string srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow);
+                    string srcFormId = "PRD_PPBOM";
+                    srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo);
+
 
                     if (string.IsNullOrWhiteSpace(srcFormId)
                         || string.IsNullOrWhiteSpace(srcSrcBillNo)
@@ -131,7 +131,7 @@
                     linkRows.Add(linkRow);
                     allNewLinkRows.Add(linkRow);
                 }
-            }
+            }   
             // 涓烘柊寤虹殑婧愬崟鍏宠仈淇℃伅锛岃缃唴鐮�
             IDBService dbService = ServiceHelper.GetService<IDBService>();
             dbService.AutoSetPrimaryKey(this.Context, allNewLinkRows.ToArray(), linkEntry.DynamicObjectType);
@@ -145,17 +145,19 @@
         private DynamicObject[] LoadPurchaseOrder(HashSet<string> poBillNos)
         {
             IViewService viewService = ServiceHelper.GetService<IViewService>();
-            string formId = "paez_PODemandPlan";
+            string formId = "PRD_PPBOM";
 
             // 鎸囧畾闇�瑕佸姞杞界殑閿�鍞鍗曞瓧娈�
             List<SelectorItemInfo> fields = new List<SelectorItemInfo>();
             fields.Add(new SelectorItemInfo("FID"));        // 鍗曟嵁涓婚敭
-            fields.Add(new SelectorItemInfo("FEntity_FEntryID"));     // 鍗曟嵁浣撲富閿�
+            fields.Add(new SelectorItemInfo("FTreeEntity_FEntryID"));     // 鍗曟嵁浣撲富閿�
             fields.Add(new SelectorItemInfo("FBillNo"));    // 鍗曟嵁缂栧彿
-            //fields.Add(new SelectorItemInfo("FBFLowId"));    // 涓氬姟娴佺▼
-            fields.Add(new SelectorItemInfo("FHMaterID"));    // 鐗╂枡
-            fields.Add(new SelectorItemInfo("FHQty"));           // 鍩烘湰鍗曚綅鏁伴噺
-            //fields.Add(new SelectorItemInfo("FBFLOWID"));           //  
+            fields.Add(new SelectorItemInfo("FBFLowId"));    // 涓氬姟娴佺▼
+            fields.Add(new SelectorItemInfo("FMaterialId"));    // 鐗╂枡
+            fields.Add(new SelectorItemInfo("FMaterialID2"));    // 鐗╂枡
+            fields.Add(new SelectorItemInfo("FBASENEEDQTY"));           // 鍩烘湰鍗曚綅鏁伴噺
+            fields.Add(new SelectorItemInfo("FBASEPICKEDQTY"));           // 鍩烘湰鍗曚綅鍏宠仈鏁伴噺
+            fields.Add(new SelectorItemInfo("FBFLOWID"));           //  
 
             // 鎸囧畾杩囨护鏉′欢
             string filter = string.Format(" FBillNo IN ('{0}') ", string.Join("','", poBillNos));
@@ -176,10 +178,10 @@
             {
                 string billNo = Convert.ToString(poObj["BillNo"]);
                 Dictionary<string, DynamicObject> dctOneBill = new Dictionary<string, DynamicObject>();
-                DynamicObjectCollection entryRows = poObj["FEntity"] as DynamicObjectCollection;
+                DynamicObjectCollection entryRows = poObj["PPBomEntry"] as DynamicObjectCollection;
                 foreach (var entryRow in entryRows)
                 {
-                    DynamicObject materialObj = entryRow["FHMaterID"] as DynamicObject;
+                    DynamicObject materialObj = entryRow["MaterialId"] as DynamicObject;
                     if (materialObj == null) continue;
                     string materialNumber = Convert.ToString(materialObj["number"]);
                     dctOneBill[materialNumber] = entryRow;
@@ -206,16 +208,16 @@
         /// <param name="linkRow">鍏宠仈琛�</param>
         private void FillLinkRow(DynamicObject srcRow, DynamicObject toRow, DynamicObject linkRow)
         {
-            //linkRow["FlowId"] = srcRow["BFLowId_Id"];
+            linkRow["FlowId"] = srcRow["BFLowId_Id"];
             linkRow["FlowLineId"] = 0;
-            linkRow["RuleId"] = Guid.NewGuid().ToString();
+            linkRow["RuleId"] = "PRD_PPBOM2PICKMTRL_NORMAL";
             linkRow["SBillId"] = ((DynamicObject)srcRow.Parent)[0];
             linkRow["SId"] = srcRow[0];
             // 鍘熷鎼哄甫閲�
-            decimal baseUnitQty = Convert.ToDecimal(srcRow["FHQty"]);//鐢ㄦ枡娓呭崟鍗曚綅鏁伴噺
-            decimal joinUnitQty = Convert.ToDecimal(srcRow["FHQty"]);//鐢ㄦ枡娓呭崟鍗曚綅棰嗘枡鏁伴噺
-            linkRow["BASEUNITQTY"] = baseUnitQty;
-            linkRow["STOCKBASEQTY"] = baseUnitQty; //鍩烘湰鍗曚綅瀹炲彂鏁伴噺
+            decimal baseUnitQty = Convert.ToDecimal(srcRow["BaseNeedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅鏁伴噺
+            decimal joinUnitQty = Convert.ToDecimal(srcRow["BasePickedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅棰嗘枡鏁伴噺
+            linkRow["BaseActualQtyOld"] = baseUnitQty - joinUnitQty;
+            linkRow["BaseActualQty"] = toRow["BASEACTUALQTY"]; //鍩烘湰鍗曚綅瀹炲彂鏁伴噺
         }
 
         /// <summary>
@@ -224,7 +226,7 @@
         /// <returns></returns>
         public bool SourceVerification(string FTID)
         {
-            string sql = $" select count(*) from T_BF_INSTANCEENTRY where FSTABLENAME= 'Cg_PODemandPlanBillSub' and FTID = '{FTID}'";
+            string sql = $" select count(*) from T_BF_INSTANCEENTRY where FSTABLENAME= 'T_PRD_PPBOMENTRY' and FTID = '{FTID}'";
             int count = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
             if (count == 0)
                 return true;
diff --git a/src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs b/src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs
index 46e94b5..7637183 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs
@@ -24,9 +24,9 @@
     /// 2. 鏈彃浠舵寕鍦ㄩ攢鍞嚭搴撳崟鐨勪繚瀛樻搷浣滀笂
     /// 鍑哄簱鍏宠仈閿�鍞鍗�
     /// </remarks>
-    [Description("寮曞叆鐢熶骇棰嗘枡鍗曪紝寤虹珛涓庣敓浜ц鍗曠殑鍏宠仈,鏃ヨ鍒掔敤鏂欐竻鍗�")]
+    [Description("閫佽揣璁″垝鍗曟彃浠跺叧鑱旀彁鏂欒鍒掑崟")]
     [HotUpdate]
-    public class Pro_MaterialRequisitionAuditDayPlan : AbstractOperationServicePlugIn
+    public class Pro_TlPushAudit : AbstractOperationServicePlugIn
     {
         public override void OnPreparePropertys(PreparePropertysEventArgs e)
         {
@@ -37,17 +37,16 @@
             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("FHQty");
+            e.FieldKeys.Add("FHMaterID");
         }
-        private const string POFormId = "PRD_PPBOM";
+        private const string POFormId = "paez_PODemandPlan";
         public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
         {
             base.BeforeExecuteOperationTransaction(e);
             HashSet<string> poBillNos = new HashSet<string>();
-            Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅
-            Entity linkEntry = this.BusinessInfo.GetEntity("FEntity_Link");
+            Entity entity = this.BusinessInfo.GetEntity("FDetailEntity");//鑾峰彇鏄庣粏淇℃伅
+            Entity linkEntry = this.BusinessInfo.GetEntity("FDetailEntity_Link");
             Field fldSrcFormId = this.BusinessInfo.GetField("FSrcBillType");
             Field fldSrcBillNo = this.BusinessInfo.GetField("FSrcBillNo");
             // 瀵瑰崟鎹綋杩涜寰幆锛屽彇鍏宠仈鐨勬簮鍗曠紪鍙�
@@ -61,9 +60,11 @@
                     string srcSrcBillNo = "";
                     try
                     {
-                        srcFormId = "PRD_PPBOM";
-                        srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow);
-                        srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo);
+                        srcFormId = "paez_PODemandPlan";
+                        srcSrcBillNo = entryRow["FTLOrderNo"].ToString();
+                        //srcSrcBillNo = entryRow["FTLentryId"].ToString();
+                        //srcSrcBillNo = entryRow["FTLId"].ToString();
+                        //srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PUR_RECEIVEENTRY_LK where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo);
 
                     }
                     catch (Exception)
@@ -100,10 +101,9 @@
                             as DynamicObjectCollection;
                 foreach (var entryRow in entryRows)
                 {
-                    string srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow);
-                    string srcFormId = "PRD_PPBOM";
-                    srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo);
-
+                    //string srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow);
+                    string srcFormId = "paez_PODemandPlan";
+                    string srcSrcBillNo = entryRow["FTLOrderNo"].ToString();
 
                     if (string.IsNullOrWhiteSpace(srcFormId)
                         || string.IsNullOrWhiteSpace(srcSrcBillNo)
@@ -131,7 +131,7 @@
                     linkRows.Add(linkRow);
                     allNewLinkRows.Add(linkRow);
                 }
-            }   
+            }
             // 涓烘柊寤虹殑婧愬崟鍏宠仈淇℃伅锛岃缃唴鐮�
             IDBService dbService = ServiceHelper.GetService<IDBService>();
             dbService.AutoSetPrimaryKey(this.Context, allNewLinkRows.ToArray(), linkEntry.DynamicObjectType);
@@ -145,19 +145,17 @@
         private DynamicObject[] LoadPurchaseOrder(HashSet<string> poBillNos)
         {
             IViewService viewService = ServiceHelper.GetService<IViewService>();
-            string formId = "PRD_PPBOM";
+            string formId = "paez_PODemandPlan";
 
             // 鎸囧畾闇�瑕佸姞杞界殑閿�鍞鍗曞瓧娈�
             List<SelectorItemInfo> fields = new List<SelectorItemInfo>();
             fields.Add(new SelectorItemInfo("FID"));        // 鍗曟嵁涓婚敭
-            fields.Add(new SelectorItemInfo("FTreeEntity_FEntryID"));     // 鍗曟嵁浣撲富閿�
+            fields.Add(new SelectorItemInfo("FEntity_FEntryID"));     // 鍗曟嵁浣撲富閿�
             fields.Add(new SelectorItemInfo("FBillNo"));    // 鍗曟嵁缂栧彿
-            fields.Add(new SelectorItemInfo("FBFLowId"));    // 涓氬姟娴佺▼
-            fields.Add(new SelectorItemInfo("FMaterialId"));    // 鐗╂枡
-            fields.Add(new SelectorItemInfo("FMaterialID2"));    // 鐗╂枡
-            fields.Add(new SelectorItemInfo("FBASENEEDQTY"));           // 鍩烘湰鍗曚綅鏁伴噺
-            fields.Add(new SelectorItemInfo("FBASEPICKEDQTY"));           // 鍩烘湰鍗曚綅鍏宠仈鏁伴噺
-            fields.Add(new SelectorItemInfo("FBFLOWID"));           //  
+            //fields.Add(new SelectorItemInfo("FBFLowId"));    // 涓氬姟娴佺▼
+            fields.Add(new SelectorItemInfo("FHMaterID"));    // 鐗╂枡
+            fields.Add(new SelectorItemInfo("FHQty"));           // 鍩烘湰鍗曚綅鏁伴噺
+            //fields.Add(new SelectorItemInfo("FBFLOWID"));           //  
 
             // 鎸囧畾杩囨护鏉′欢
             string filter = string.Format(" FBillNo IN ('{0}') ", string.Join("','", poBillNos));
@@ -178,10 +176,10 @@
             {
                 string billNo = Convert.ToString(poObj["BillNo"]);
                 Dictionary<string, DynamicObject> dctOneBill = new Dictionary<string, DynamicObject>();
-                DynamicObjectCollection entryRows = poObj["PPBomEntry"] as DynamicObjectCollection;
+                DynamicObjectCollection entryRows = poObj["FEntity"] as DynamicObjectCollection;
                 foreach (var entryRow in entryRows)
                 {
-                    DynamicObject materialObj = entryRow["MaterialId"] as DynamicObject;
+                    DynamicObject materialObj = entryRow["FHMaterID"] as DynamicObject;
                     if (materialObj == null) continue;
                     string materialNumber = Convert.ToString(materialObj["number"]);
                     dctOneBill[materialNumber] = entryRow;
@@ -208,16 +206,16 @@
         /// <param name="linkRow">鍏宠仈琛�</param>
         private void FillLinkRow(DynamicObject srcRow, DynamicObject toRow, DynamicObject linkRow)
         {
-            linkRow["FlowId"] = srcRow["BFLowId_Id"];
+            //linkRow["FlowId"] = srcRow["BFLowId_Id"];
             linkRow["FlowLineId"] = 0;
-            linkRow["RuleId"] = "PRD_PPBOM2PICKMTRL_NORMAL";
+            linkRow["RuleId"] = Guid.NewGuid().ToString();
             linkRow["SBillId"] = ((DynamicObject)srcRow.Parent)[0];
             linkRow["SId"] = srcRow[0];
             // 鍘熷鎼哄甫閲�
-            decimal baseUnitQty = Convert.ToDecimal(srcRow["BaseNeedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅鏁伴噺
-            decimal joinUnitQty = Convert.ToDecimal(srcRow["BasePickedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅棰嗘枡鏁伴噺
-            linkRow["BaseActualQtyOld"] = baseUnitQty - joinUnitQty;
-            linkRow["BaseActualQty"] = toRow["BASEACTUALQTY"]; //鍩烘湰鍗曚綅瀹炲彂鏁伴噺
+            decimal baseUnitQty = Convert.ToDecimal(srcRow["FHQty"]);//鐢ㄦ枡娓呭崟鍗曚綅鏁伴噺
+            decimal joinUnitQty = Convert.ToDecimal(srcRow["FHQty"]);//鐢ㄦ枡娓呭崟鍗曚綅棰嗘枡鏁伴噺
+            linkRow["BASEUNITQTY"] = baseUnitQty;
+            linkRow["STOCKBASEQTY"] = baseUnitQty; //鍩烘湰鍗曚綅瀹炲彂鏁伴噺
         }
 
         /// <summary>
@@ -226,7 +224,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= 'Cg_PODemandPlanBillSub' and FTID = '{FTID}'";
             int count = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
             if (count == 0)
                 return true;

--
Gitblit v1.9.1