예제 #1
0
        /// <summary>
        /// 生成库存异动日志
        /// </summary>
        /// <param name="paramHead">盘库任务</param>
        /// <param name="paramDetail">盘库任务明细</param>
        /// <returns></returns>
        private MDLPIS_InventoryTransLog GenerateInventoryTransLog(MDLPIS_StocktakingTask paramHead, StocktakingTaskManagerDetailUIModel paramDetail)
        {
            MDLPIS_InventoryTransLog newInventoryTransLog = new MDLPIS_InventoryTransLog
            {
                ITL_Org_ID = string.IsNullOrEmpty(paramHead.ST_Org_ID) ? LoginInfoDAX.OrgID : paramHead.ST_Org_ID,
                ITL_WH_ID  = paramDetail.STD_WH_ID,
                ITL_WHB_ID = paramDetail.STD_WHB_ID,
                //业务单号为[盘点单]的单号
                ITL_BusinessNo    = paramHead.ST_No,
                ITL_Barcode       = paramDetail.STD_Barcode,
                ITL_BatchNo       = paramDetail.STD_BatchNo,
                ITL_Name          = paramDetail.STD_Name,
                ITL_Specification = paramDetail.STD_Specification,
                ITL_UnitCostPrice = paramDetail.INV_PurchaseUnitPrice,
                ITL_UnitSalePrice = null,
                ITL_Qty           = (paramDetail.STD_ActualQty ?? 0) - (paramDetail.STD_DueQty ?? 0),
                ITL_TransType     = InventoryTransTypeEnum.Name.PDTZ,
                ITL_Source        = "其他位置",
                ITL_Destination   = paramDetail.WH_Name,
                ITL_IsValid       = true,
                ITL_CreatedBy     = LoginInfoDAX.UserName,
                ITL_UpdatedBy     = LoginInfoDAX.UserName
            };

            newInventoryTransLog.ITL_AfterTransQty = paramDetail.INV_Qty + newInventoryTransLog.ITL_Qty;

            return(newInventoryTransLog);
        }
        /// <summary>
        /// 生成选中项的值和描述
        /// </summary>
        void GenerateSelectedValueAndText()
        {
            if (_stocktakingBill == null)
            {
                return;
            }
            SelectedGridList = new List <StocktakingTaskManagerDetailUIModel>();
            foreach (var loopSourceItem in ListGridDS)
            {
                if (loopSourceItem.IsChecked == false)
                {
                    continue;
                }

                if ((!string.IsNullOrEmpty(loopSourceItem.STD_WHB_ID) &&
                     loopSourceItem.STD_WHB_ID != _stocktakingBill.ST_WHB_ID)
                    ||
                    (string.IsNullOrEmpty(loopSourceItem.STD_WHB_ID) &&
                     !string.IsNullOrEmpty(_stocktakingBill.ST_WHB_ID))
                    )
                {
                    DialogResult confirmAddOtherBinInventory = MessageBoxs.Show(Trans.PIS, this.ToString(), MsgHelp.GetMsg(MsgCode.W_0000, new object[] { "配件名称:" + loopSourceItem.STD_Name + "\n条码批次:" + loopSourceItem.STD_Barcode + " " + loopSourceItem.STD_BatchNo + "\n不在当前仓位,确定盘点到当前仓位?" }), MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    if (confirmAddOtherBinInventory != DialogResult.OK)
                    {
                        return;
                    }
                }
                StocktakingTaskManagerDetailUIModel argsSelectAutoPartsZeroInventory = new StocktakingTaskManagerDetailUIModel
                {
                    IsChecked         = loopSourceItem.IsChecked,
                    STD_WH_ID         = loopSourceItem.STD_WH_ID,
                    STD_WHB_ID        = loopSourceItem.STD_WHB_ID,
                    STD_ThirdNo       = loopSourceItem.STD_ThirdNo,
                    STD_OEMNo         = loopSourceItem.STD_OEMNo,
                    STD_Barcode       = loopSourceItem.STD_Barcode,
                    STD_BatchNo       = loopSourceItem.STD_BatchNo,
                    STD_Name          = loopSourceItem.STD_Name,
                    STD_Specification = loopSourceItem.STD_Specification,
                    STD_DueQty        = loopSourceItem.STD_DueQty,
                    STD_DueAmount     = loopSourceItem.STD_DueAmount,

                    INV_ID  = loopSourceItem.INV_ID,
                    INV_Qty = loopSourceItem.INV_Qty,
                    INV_PurchaseUnitPrice = loopSourceItem.INV_PurchaseUnitPrice,
                    INV_VersionNo         = loopSourceItem.INV_VersionNo,

                    APA_Brand                  = loopSourceItem.APA_Brand,
                    APA_Level                  = loopSourceItem.APA_Level,
                    APA_VehicleBrand           = loopSourceItem.APA_VehicleBrand,
                    APA_VehicleInspire         = loopSourceItem.APA_VehicleInspire,
                    APA_VehicleCapacity        = loopSourceItem.APA_VehicleCapacity,
                    APA_VehicleYearModel       = loopSourceItem.APA_VehicleYearModel,
                    APA_VehicleGearboxTypeName = loopSourceItem.APA_VehicleGearboxTypeName,
                    APA_VehicleGearboxTypeCode = loopSourceItem.APA_VehicleGearboxTypeCode,

                    WH_Name  = loopSourceItem.WH_Name,
                    WHB_Name = loopSourceItem.WHB_Name,
                };

                SelectedGridList.Add(argsSelectAutoPartsZeroInventory);
            }
        }