王 垚
2021-03-23 6cb6d56102ce66fc348655c112d9f178c08aaeb8
src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs
@@ -137,6 +137,18 @@
            dbService.AutoSetPrimaryKey(this.Context, allNewLinkRows.ToArray(), linkEntry.DynamicObjectType);
        }
        public override void EndOperationTransaction(EndOperationTransactionArgs 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);
        }
        /// <summary>
        /// 加载相关的销售订单数据
        /// </summary>
@@ -156,8 +168,9 @@
            fields.Add(new SelectorItemInfo("FMaterialId"));    // 物料
            fields.Add(new SelectorItemInfo("FMaterialID2"));    // 物料
            fields.Add(new SelectorItemInfo("FBASENEEDQTY"));           // 基本单位数量
            fields.Add(new SelectorItemInfo("FBASEPICKEDQTY"));           // 基本单位关联数量
            fields.Add(new SelectorItemInfo("FBASEPICKEDQTY"));           //
            fields.Add(new SelectorItemInfo("FBFLOWID"));           //  
            fields.Add(new SelectorItemInfo("FSelTranslateQty"));           //
            // 指定过滤条件
            string filter = string.Format(" FBillNo IN ('{0}') ", string.Join("','", poBillNos));
@@ -209,15 +222,18 @@
        private void FillLinkRow(DynamicObject srcRow, DynamicObject toRow, DynamicObject linkRow)
        {
            //剩余调拨数量 
            decimal remainQty = DBServiceHelper.ExecuteScalar<decimal>(Context, $"select FMustQty -isnull(FSELTRANSLATEQTY,0) from  T_PRD_PPBOMENTRY t1  left join  T_PRD_PPBOMENTRY_Q t2 on t1.FENTRYID = t2.FENTRYID where t1.FENTRYID={toRow["FPPBOMFENTRYID"]?.ToString()}",0);
            decimal remainQty = DBServiceHelper.ExecuteScalar<decimal>(Context, $"select FMustQty -isnull(FSELTRANSLATEQTY,0) from  T_PRD_PPBOMENTRY t1  left join  T_PRD_PPBOMENTRY_Q t2 on t1.FENTRYID = t2.FENTRYID where t1.FENTRYID={toRow["FPPBOMFENTRYID"]?.ToString()}", 0);
            linkRow["FlowId"] = srcRow["BFLowId_Id"];
            linkRow["FlowLineId"] = 0;
            linkRow["FlowLineId"] = 13;
            linkRow["RuleId"] = "PRD_PPBOM-STK_TransferDirect";
            linkRow["SBillId"] = ((DynamicObject)srcRow.Parent)[0];
            linkRow["SId"] = srcRow[0];
            // 原始携带量
            linkRow["BaseQtyOld"] = remainQty;//剩余调拨数量
            linkRow["BaseQty"] = remainQty-Convert.ToDecimal(toRow["QTY"]); //本次需要调拨数量
            linkRow["BaseQty"] = toRow["QTY"]; //本次需要调拨数量
            linkRow["SALBASEQTY"] = toRow["QTY"]; //本次需要调拨数量
        }
        /// <summary>