public static CE_SubsidiaryOperationType OutPutBusinessTypeConvertToSubsidiaryOperationType(CE_OutPutBusinessType outPutType)
        {
            CE_SubsidiaryOperationType subsdiaryType = CE_SubsidiaryOperationType.未知;

            switch (outPutType)
            {
            case CE_OutPutBusinessType.领料:
                subsdiaryType = CE_SubsidiaryOperationType.领料;
                break;

            case CE_OutPutBusinessType.营销出库:
                subsdiaryType = CE_SubsidiaryOperationType.营销出库;
                break;

            case CE_OutPutBusinessType.营销退货:
                subsdiaryType = CE_SubsidiaryOperationType.营销退货;
                break;

            case CE_OutPutBusinessType.采购退货:
                subsdiaryType = CE_SubsidiaryOperationType.采购退货;
                break;

            case CE_OutPutBusinessType.自制件退货:
                subsdiaryType = CE_SubsidiaryOperationType.自制件退货;
                break;

            default:
                break;
            }

            return(subsdiaryType);
        }
        private void customDataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == -1 && e.RowIndex >= 0 &&
                customDataGridView1.CurrentRow.Cells["物品ID"].Value != null &&
                customDataGridView1.CurrentRow.Cells["物品ID"].Value.ToString().Length > 0)
            {
                BarCodeInfo barCode = new BarCodeInfo();

                barCode.BatchNo = customDataGridView1.CurrentRow.Cells["批次号"].Value == null ? "" :
                                  customDataGridView1.CurrentRow.Cells["批次号"].Value.ToString();
                barCode.Count = customDataGridView1.CurrentRow.Cells["数量"].Value == null ? 0 :
                                Convert.ToDecimal(customDataGridView1.CurrentRow.Cells["数量"].Value);
                barCode.GoodsID = Convert.ToInt32(customDataGridView1.CurrentRow.Cells["物品ID"].Value);

                View_F_GoodsPlanCost goodsInfo = UniversalFunction.GetGoodsInfo(barCode.GoodsID);

                barCode.GoodsName = goodsInfo.物品名称;
                barCode.GoodsCode = goodsInfo.图号型号;
                barCode.Spec      = goodsInfo.规格;

                CE_BusinessType tempType = CE_BusinessType.库房业务;

                Service_Manufacture_WorkShop.IWorkShopBasic serverWSBasic =
                    Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>();

                WS_WorkShopCode tempWSCode = serverWSBasic.GetWorkShopCodeInfo(txtApplyingDepartment.Tag.ToString());

                Dictionary <string, string> tempDic = new Dictionary <string, string>();

                CE_InPutBusinessType inPutType =
                    GlobalObject.GeneralFunction.StringConvertToEnum <CE_InPutBusinessType>(cmbBillType.Text);
                CE_MarketingType marketType =
                    GlobalObject.EnumOperation.InPutBusinessTypeConvertToMarketingType(inPutType);
                CE_SubsidiaryOperationType subsdiaryType =
                    GlobalObject.EnumOperation.InPutBusinessTypeConvertToSubsidiaryOperationType(inPutType);

                tempDic.Add("", marketType.ToString());

                if (tempWSCode != null)
                {
                    tempType = CE_BusinessType.综合业务;
                    tempDic.Add(tempWSCode.WSCode, subsdiaryType.ToString());
                }

                产品编号 frm = new 产品编号(barCode, tempType, txtBillNo.Text, (lbBillStatus.Text != CE_CommonBillStatus.单据完成.ToString()), tempDic);

                if (frm.ShowDialog() == DialogResult.OK)
                {
                    customDataGridView1.Rows[e.RowIndex].Cells["数量"].Value = frm.IntCount;
                }
            }
        }
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            m_enumOperationType = radioButton1.Checked ? CE_SubsidiaryOperationType.物料转换前 : CE_SubsidiaryOperationType.物料转换后;

            if (numAfter.Value == 0 || numBefore.Value == 0)
            {
                MessageDialog.ShowPromptMessage("修改前数量或者修改后数量不能为0");
                return;
            }

            m_decRatio        = numAfter.Value / numBefore.Value;
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
        public static CE_SubsidiaryOperationType InPutBusinessTypeConvertToSubsidiaryOperationType(CE_InPutBusinessType inPutType)
        {
            CE_SubsidiaryOperationType subsdiaryType = CE_SubsidiaryOperationType.未知;

            switch (inPutType)
            {
            case CE_InPutBusinessType.生产采购:
            case CE_InPutBusinessType.样品采购:
                subsdiaryType = CE_SubsidiaryOperationType.报检入库;
                break;

            case CE_InPutBusinessType.委外采购:
                subsdiaryType = CE_SubsidiaryOperationType.委外报检入库;
                break;

            case CE_InPutBusinessType.普通采购:
                subsdiaryType = CE_SubsidiaryOperationType.普通入库;
                break;

            case CE_InPutBusinessType.自制件入库:
                subsdiaryType = CE_SubsidiaryOperationType.自制件入库;
                break;

            case CE_InPutBusinessType.营销入库:
                subsdiaryType = CE_SubsidiaryOperationType.营销入库;
                break;

            case CE_InPutBusinessType.领料退库:
                subsdiaryType = CE_SubsidiaryOperationType.领料退库;
                break;

            case CE_InPutBusinessType.营销退库:
                subsdiaryType = CE_SubsidiaryOperationType.营销退库;
                break;

            default:
                break;
            }

            return(subsdiaryType);
        }
Example #5
0
        /// <summary>
        /// 赋值账务信息
        /// </summary>
        /// <param name="dataContext">数据上下文</param>
        /// <param name="billInfo">单据信息</param>
        /// <param name="listSingle">明细信息</param>
        /// <param name="operationType">操作类型</param>
        /// <returns>返回账务信息</returns>
        S_FetchGoodsDetailBill AssignDetailInfo(DepotManagementDataContext dataContext, S_CannibalizeBill billInfo, S_CannibalizeList listSingle,
                                                CE_SubsidiaryOperationType operationType)
        {
            S_FetchGoodsDetailBill lnqOutDepot = new S_FetchGoodsDetailBill();

            bool flag = false;

            if (operationType == CE_SubsidiaryOperationType.库房调出)
            {
                flag = true;
            }
            else if (operationType == CE_SubsidiaryOperationType.库房调入)
            {
                flag = false;
            }
            else
            {
                throw new Exception("业务类型错误");
            }

            lnqOutDepot.ID              = Guid.NewGuid();
            lnqOutDepot.FetchBIllID     = billInfo.DJH;
            lnqOutDepot.BillTime        = ServerTime.Time;
            lnqOutDepot.GoodsID         = (int)listSingle.GoodsID;
            lnqOutDepot.Provider        = listSingle.Provider;
            lnqOutDepot.BatchNo         = listSingle.BatchNo;
            lnqOutDepot.FetchCount      = flag ? listSingle.Count : -listSingle.Count;
            lnqOutDepot.UnitPrice       = (decimal)listSingle.UnitPrice;
            lnqOutDepot.Price           = flag ? (decimal)listSingle.Price : -(decimal)listSingle.Price;
            lnqOutDepot.Using           = flag ? "仓库调拨单:调出" : "仓库调拨:调入";
            lnqOutDepot.Department      = UniversalFunction.GetStorageName(dataContext, flag ? billInfo.InStoreRoom : billInfo.OutStoreRoom);
            lnqOutDepot.FillInPersonnel = UniversalFunction.GetPersonnelInfo(dataContext, billInfo.LRRY).姓名;
            lnqOutDepot.DepartDirector  = UniversalFunction.GetPersonnelInfo(dataContext, billInfo.SHRY).姓名;
            lnqOutDepot.DepotManager    = BasicInfo.LoginName;
            lnqOutDepot.OperationType   = flag ? (int)CE_SubsidiaryOperationType.库房调出 : (int)CE_SubsidiaryOperationType.库房调入;
            lnqOutDepot.Remark          = billInfo.Remark;
            lnqOutDepot.StorageID       = flag ? billInfo.OutStoreRoom : billInfo.InStoreRoom;
            lnqOutDepot.FillInDate      = billInfo.LRRQ;

            return(lnqOutDepot);
        }
Example #6
0
        /// <summary>
        /// 赋值库存信息
        /// </summary>
        /// <param name="dataContext">数据上下文</param>
        /// <param name="billInfo">单据信息</param>
        /// <param name="listSingle">明细信息</param>
        /// <param name="operationType">操作类型</param>
        /// <returns>返回库存信息对象</returns>
        S_Stock AssignStockInfo(DepotManagementDataContext dataContext, S_CannibalizeBill billInfo, S_CannibalizeList listSingle,
                                CE_SubsidiaryOperationType operationType)
        {
            S_Stock tempLnqStock = new S_Stock();

            tempLnqStock.GoodsID    = Convert.ToInt32(listSingle.GoodsID);
            tempLnqStock.BatchNo    = listSingle.BatchNo;
            tempLnqStock.ExistCount = (decimal)listSingle.Count;
            tempLnqStock.Date       = ServerTime.Time;
            tempLnqStock.Provider   = listSingle.Provider;
            tempLnqStock.UnitPrice  = (decimal)listSingle.UnitPrice;
            tempLnqStock.Price      = tempLnqStock.UnitPrice * tempLnqStock.ExistCount;

            if (operationType == CE_SubsidiaryOperationType.库房调出)
            {
                tempLnqStock.StorageID = billInfo.OutStoreRoom;
            }
            else if (operationType == CE_SubsidiaryOperationType.库房调入)
            {
                tempLnqStock.StorageID = billInfo.InStoreRoom;
            }
            else
            {
                throw new Exception("业务类型错误");
            }

            QueryCondition_Store store = new QueryCondition_Store();

            store.BatchNo   = tempLnqStock.BatchNo;
            store.GoodsID   = tempLnqStock.GoodsID;
            store.StorageID = billInfo.OutStoreRoom;
            store.Provider  = tempLnqStock.Provider;

            S_Stock stockInfo = UniversalFunction.GetStockInfo(dataContext, store);

            tempLnqStock.GoodsStatus = stockInfo.GoodsStatus;

            tempLnqStock.InputPerson = BasicInfo.LoginID;

            return(tempLnqStock);
        }
Example #7
0
        /// <summary>
        /// 工具出库业务的处理
        /// </summary>
        /// <param name="ctx">数据上下文</param>
        /// <param name="fetchGoodsDetailInfo">出库业务对象</param>
        void FetchToolsInfo(DepotManagementDataContext ctx, S_FetchGoodsDetailBill fetchGoodsDetailInfo)
        {
            if (fetchGoodsDetailInfo == null)
            {
                return;
            }

            IToolsManage serverTools = ServerModule.ServerModuleFactory.GetServerModule <IToolsManage>();

            if (serverTools.IsTools(ctx, fetchGoodsDetailInfo.GoodsID))
            {
                if (fetchGoodsDetailInfo.StorageID != null && fetchGoodsDetailInfo.StorageID.Trim().Length > 0)
                {
                    S_MachineAccount_Tools toolsInfo_Storage = new S_MachineAccount_Tools();

                    toolsInfo_Storage.GoodsID     = fetchGoodsDetailInfo.GoodsID;
                    toolsInfo_Storage.Provider    = fetchGoodsDetailInfo.Provider;
                    toolsInfo_Storage.StockCount  = -(decimal)fetchGoodsDetailInfo.FetchCount;
                    toolsInfo_Storage.StorageCode = fetchGoodsDetailInfo.StorageID;

                    serverTools.OpertionInfo(ctx, toolsInfo_Storage);
                    serverTools.DayToDayAccount(ctx, toolsInfo_Storage, fetchGoodsDetailInfo.FetchBIllID);
                }

                CE_SubsidiaryOperationType operationType =
                    (CE_SubsidiaryOperationType)Enum.ToObject(typeof(CE_SubsidiaryOperationType), fetchGoodsDetailInfo.OperationType);

                if (operationType != CE_SubsidiaryOperationType.营销出库 && operationType != CE_SubsidiaryOperationType.营销退库)
                {
                    S_MachineAccount_Tools toolsInfo_Department = new S_MachineAccount_Tools();

                    toolsInfo_Department.GoodsID     = fetchGoodsDetailInfo.GoodsID;
                    toolsInfo_Department.Provider    = fetchGoodsDetailInfo.Provider;
                    toolsInfo_Department.StockCount  = (decimal)fetchGoodsDetailInfo.FetchCount;
                    toolsInfo_Department.StorageCode = UniversalFunction.GetPersonnelInfo(ctx, fetchGoodsDetailInfo.FillInPersonnel).部门编码;

                    serverTools.OpertionInfo(ctx, toolsInfo_Department);
                    serverTools.DayToDayAccount(ctx, toolsInfo_Department, fetchGoodsDetailInfo.FetchBIllID);
                }
            }
        }
Example #8
0
        /// <summary>
        /// 根据单据信息操作账务信息与库存信息
        /// </summary>
        /// <param name="dataContext">数据上下文</param>
        /// <param name="bill">单据信息</param>
        /// <param name="operationType">操作类型</param>
        void OpertaionDetailAndStock(DepotManagementDataContext dataContext, S_CannibalizeBill bill,
                                     CE_SubsidiaryOperationType operationType)
        {
            IFinancialDetailManagement serverDetail =
                ServerModule.ServerModuleFactory.GetServerModule <IFinancialDetailManagement>();

            var result = from r in dataContext.S_CannibalizeList
                         where r.DJ_ID == bill.ID
                         select r;

            foreach (var item in result)
            {
                S_FetchGoodsDetailBill detailInfo = AssignDetailInfo(dataContext, bill, item, operationType);
                S_Stock stockInfo = AssignStockInfo(dataContext, bill, item, operationType);

                if (detailInfo == null || stockInfo == null)
                {
                    throw new Exception("获取账务信息或者库存信息失败");
                }

                serverDetail.ProcessFetchGoodsDetail(dataContext, detailInfo, stockInfo);
            }
        }
Example #9
0
        public void OperationGaugeStandingBook(DepotManagementDataContext ctx, string billNo, CE_MarketingType type, int operationType)
        {
            try
            {
                CE_SubsidiaryOperationType subType =
                    (CE_SubsidiaryOperationType)Enum.ToObject(typeof(CE_SubsidiaryOperationType), operationType);

                var varData = from a in ctx.S_GaugeOperation
                              where a.BillID == billNo
                              select a;

                foreach (S_GaugeOperation operationInfo in varData)
                {
                    S_GaugeStandingBook lnqBook = new S_GaugeStandingBook();

                    var varbook = from a in ctx.S_GaugeStandingBook
                                  where a.GaugeCoding == operationInfo.GaugeCoding
                                  select a;

                    if (varbook.Count() > 1)
                    {
                        throw new Exception("【物品ID】:" + operationInfo.GoodsID.ToString() + " 【量检具编号】:" + operationInfo.GaugeCoding
                                            + ",在【量检具台账】中存在多个,无法进行业务操作");
                    }

                    if (type == CE_MarketingType.入库)
                    {
                        if (varbook.Count() == 0)
                        {
                            lnqBook             = new S_GaugeStandingBook();
                            lnqBook.GaugeCoding = operationInfo.GaugeCoding;
                            lnqBook.GoodsID     = operationInfo.GoodsID;
                            lnqBook.InputDate   = ServerTime.Time;
                            lnqBook.ScrapFlag   = false;
                            lnqBook.Validity    = 0;
                        }
                        else
                        {
                            lnqBook = varbook.Single();
                            lnqBook.MaterialDate = null;
                            lnqBook.DutyUser     = null;
                            lnqBook.ScrapFlag    = false;
                        }
                    }
                    else if (type == CE_MarketingType.出库)
                    {
                        if (varbook.Count() == 0)
                        {
                            throw new Exception("【物品ID】:" + operationInfo.GoodsID.ToString() + " 【量检具编号】:" + operationInfo.GaugeCoding
                                                + ",不存在【量检具台账】中,无法进行【出库】业务操作");
                        }

                        lnqBook              = varbook.Single();
                        lnqBook.DutyUser     = null;
                        lnqBook.ScrapFlag    = false;
                        lnqBook.MaterialDate = ServerTime.Time;

                        if (subType == CE_SubsidiaryOperationType.领料)
                        {
                            lnqBook.MaterialDate = ServerTime.Time;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Example #10
0
        /// <summary>
        /// 处理出库明细业务信息
        /// </summary>
        /// <param name="ctx">数据上下文</param>
        /// <param name="fetchGoodsDetailInfo">出库明细信息</param>
        /// <param name="stockInfo">库存信息</param>
        public void ProcessFetchGoodsDetail(DepotManagementDataContext ctx, S_FetchGoodsDetailBill fetchGoodsDetailInfo, S_Stock stockInfo)
        {
            try
            {
                CE_SubsidiaryOperationType operationType =
                    (CE_SubsidiaryOperationType)Enum.ToObject(typeof(CE_SubsidiaryOperationType), fetchGoodsDetailInfo.OperationType);
                IStoreServer storeService = ServerModule.ServerModuleFactory.GetServerModule <IStoreServer>();

                switch (operationType)
                {
                case CE_SubsidiaryOperationType.领料:
                    decimal dcSumCount = fetchGoodsDetailInfo.Price;

                    fetchGoodsDetailInfo.Price =
                        fetchGoodsDetailInfo.FetchCount == null ? 0 : fetchGoodsDetailInfo.UnitPrice * (decimal)fetchGoodsDetailInfo.FetchCount;
                    InsertOnSubmitFetchGoodsDetailBill(ctx, fetchGoodsDetailInfo);

                    S_FetchGoodsDetailBill newFetchDetailInfo = AssignmentInfo(fetchGoodsDetailInfo);
                    newFetchDetailInfo.FetchCount = newFetchDetailInfo.FetchCount < dcSumCount ? 0 : newFetchDetailInfo.FetchCount - dcSumCount;

                    FetchToolsInfo(ctx, newFetchDetailInfo);
                    FetchGaugeInfo(ctx, newFetchDetailInfo);
                    FetchLendReturn_MaterialRequisition(ctx, newFetchDetailInfo);

                    if (!fetchGoodsDetailInfo.AssociatedBillNo.Contains("SBW"))
                    {
                        FetchWorkShop(ctx, newFetchDetailInfo);
                    }

                    ctx.SubmitChanges();    // xsy, 2017.11.14 解决更新异常增加
                    storeService.OutStore(ctx, stockInfo, operationType);
                    ctx.SubmitChanges();    // xsy, 2017.11.14 解决更新异常增加
                    break;

                case CE_SubsidiaryOperationType.领料退库:
                    InsertOnSubmitFetchGoodsDetailBill(ctx, fetchGoodsDetailInfo);
                    FetchToolsInfo(ctx, fetchGoodsDetailInfo);
                    InDepotGuagesInfo(ctx, fetchGoodsDetailInfo);

                    if (UniversalFunction.GetStorageInfo(fetchGoodsDetailInfo.StorageID).WorkShopCurrentAccount)
                    {
                        FetchWorkShop(ctx, fetchGoodsDetailInfo);
                    }

                    storeService.InStore(ctx, stockInfo, operationType);
                    break;

                case CE_SubsidiaryOperationType.报废:
                    FetchToolsInfo(ctx, fetchGoodsDetailInfo);
                    FetchWorkShop(ctx, fetchGoodsDetailInfo);
                    break;

                case CE_SubsidiaryOperationType.样品耗用:
                case CE_SubsidiaryOperationType.借货:
                case CE_SubsidiaryOperationType.还货:
                    FetchLendReturn(ctx, fetchGoodsDetailInfo);
                    FetchToolsInfo(ctx, fetchGoodsDetailInfo);
                    FetchWorkShop(ctx, fetchGoodsDetailInfo);
                    break;

                case CE_SubsidiaryOperationType.库房调入:
                case CE_SubsidiaryOperationType.营销退库:
                    InsertOnSubmitFetchGoodsDetailBill(ctx, fetchGoodsDetailInfo);
                    FetchToolsInfo(ctx, fetchGoodsDetailInfo);
                    InDepotGuagesInfo(ctx, fetchGoodsDetailInfo);
                    storeService.InStore(ctx, stockInfo, operationType);
                    break;

                case CE_SubsidiaryOperationType.库房调出:
                case CE_SubsidiaryOperationType.营销出库:
                    InsertOnSubmitFetchGoodsDetailBill(ctx, fetchGoodsDetailInfo);
                    FetchToolsInfo(ctx, fetchGoodsDetailInfo);
                    FetchGaugeInfo(ctx, fetchGoodsDetailInfo);
                    storeService.OutStore(ctx, stockInfo, operationType);
                    break;

                default:
                    break;
                }
            }
            catch (System.Data.Linq.ChangeConflictException)
            {
                foreach (System.Data.Linq.ObjectChangeConflict occ in ctx.ChangeConflicts)
                {
                    //以下是解决冲突的三种方法,选一种即可
                    // 使用当前数据库中的值,覆盖Linq缓存中实体对象的值
                    //occ.Resolve(System.Data.Linq.RefreshMode.OverwriteCurrentValues);

                    // 使用Linq缓存中实体对象的值,覆盖当前数据库中的值
                    occ.Resolve(System.Data.Linq.RefreshMode.KeepCurrentValues);

                    // 只更新实体对象中改变的字段的值,其他的保留不变
                    //occ.Resolve(System.Data.Linq.RefreshMode.KeepChanges);
                }

                // 这个地方要注意,Catch方法中,我们前面只是指明了怎样来解决冲突,这个地方还需要再次提交更新,这样的话,值    //才会提交到数据库。
                ctx.SubmitChanges();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Example #11
0
        /// <summary>
        /// 处理入库明细业务信息
        /// </summary>
        /// <param name="ctx">数据上下文</param>
        /// <param name="indepotDetailInfo">入库明细信息</param>
        /// <param name="stockInfo">库存信息</param>
        public void ProcessInDepotDetail(DepotManagementDataContext ctx, S_InDepotDetailBill indepotDetailInfo, S_Stock stockInfo)
        {
            try
            {
                CE_SubsidiaryOperationType operationType =
                    (CE_SubsidiaryOperationType)Enum.ToObject(typeof(CE_SubsidiaryOperationType), indepotDetailInfo.OperationType);
                IStoreServer storeService = ServerModule.ServerModuleFactory.GetServerModule <IStoreServer>();

                switch (operationType)
                {
                case CE_SubsidiaryOperationType.报检入库:
                case CE_SubsidiaryOperationType.委外报检入库:
                    InsertOnSubmitInDepotDetailBill(ctx, indepotDetailInfo);
                    InDepotToolsInfo(ctx, indepotDetailInfo);
                    InDepotGuagesInfo(ctx, indepotDetailInfo);
                    storeService.InStore(ctx, stockInfo, operationType);
                    break;

                case CE_SubsidiaryOperationType.采购退货:
                    InsertOnSubmitInDepotDetailBill(ctx, indepotDetailInfo);
                    InDepotToolsInfo(ctx, indepotDetailInfo);
                    FetchGaugeInfo(ctx, indepotDetailInfo);
                    storeService.OutStore(ctx, stockInfo, operationType);
                    break;

                case CE_SubsidiaryOperationType.普通入库:
                    InsertOnSubmitInDepotDetailBill(ctx, indepotDetailInfo);
                    InDepotToolsInfo(ctx, indepotDetailInfo);
                    InDepotGuagesInfo(ctx, indepotDetailInfo);
                    storeService.InStore(ctx, stockInfo, operationType);
                    storeService.UpdateAging(ctx, stockInfo, false);
                    break;

                case CE_SubsidiaryOperationType.营销入库:
                case CE_SubsidiaryOperationType.自制件入库:
                case CE_SubsidiaryOperationType.自制件工装入库:
                    InsertOnSubmitInDepotDetailBill(ctx, indepotDetailInfo);
                    InDepotToolsInfo(ctx, indepotDetailInfo);
                    InDepotGuagesInfo(ctx, indepotDetailInfo);
                    InDepotWorkShop(ctx, indepotDetailInfo);
                    storeService.InStore(ctx, stockInfo, operationType);
                    break;

                case CE_SubsidiaryOperationType.营销退货:
                case CE_SubsidiaryOperationType.自制件退货:
                    InsertOnSubmitInDepotDetailBill(ctx, indepotDetailInfo);
                    InDepotToolsInfo(ctx, indepotDetailInfo);
                    FetchGaugeInfo(ctx, indepotDetailInfo);
                    InDepotWorkShop(ctx, indepotDetailInfo);
                    storeService.OutStore(ctx, stockInfo, operationType);
                    break;

                case CE_SubsidiaryOperationType.财务对冲:
                case CE_SubsidiaryOperationType.财务红冲:
                    InsertOnSubmitInDepotDetailBill(ctx, indepotDetailInfo);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }