Exemplo n.º 1
0
        public static CE_MarketingType InPutBusinessTypeConvertToMarketingType(CE_InPutBusinessType inPutType)
        {
            CE_MarketingType result = CE_MarketingType.未知;

            switch (inPutType)
            {
            case CE_InPutBusinessType.生产采购:
            case CE_InPutBusinessType.普通采购:
            case CE_InPutBusinessType.委外采购:
            case CE_InPutBusinessType.样品采购:
            case CE_InPutBusinessType.自制件入库:
            case CE_InPutBusinessType.营销入库:
                result = CE_MarketingType.入库;
                break;

            case CE_InPutBusinessType.领料退库:
                result = CE_MarketingType.领料退库;
                break;

            case CE_InPutBusinessType.营销退库:
                result = CE_MarketingType.退库;
                break;

            default:
                break;
            }

            return(result);
        }
        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;
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 赋值账务信息_出
        /// </summary>
        /// <param name="ctx">数据上下文</param>
        /// <param name="lnqOutPut">单据信息</param>
        /// <param name="detail1">明细信息</param>
        /// <returns>返回账务信息对象</returns>
        S_FetchGoodsDetailBill AssignDetailInfo_Out(DepotManagementDataContext ctx, Business_WarehouseInPut_InPut lnqInPut,
                                                    View_Business_WarehouseInPut_InPutDetail detail1)
        {
            ServerModule.IStoreServer storeService = ServerModule.ServerModuleFactory.GetServerModule <ServerModule.IStoreServer>();
            IFlowServer          serverFlow        = FlowControlService.ServerModuleFactory.GetServerModule <IFlowServer>();
            CommonProcessInfo    processInfo       = new CommonProcessInfo();
            CE_InPutBusinessType inPutType         =
                GlobalObject.GeneralFunction.StringConvertToEnum <CE_InPutBusinessType>(lnqInPut.BillType);

            S_FetchGoodsDetailBill fetchDetail = new S_FetchGoodsDetailBill();

            fetchDetail.AssociatedBillNo   = detail1.关联业务;
            fetchDetail.AssociatedBillType = CE_BillTypeEnum.入库申请单.ToString();
            fetchDetail.BatchNo            = detail1.批次号;
            fetchDetail.BillTime           = ServerTime.Time;
            fetchDetail.DepartDirector     = "";
            fetchDetail.Department         = lnqInPut.ApplyingDepartment;
            fetchDetail.Depot = UniversalFunction.GetGoodsInfo(detail1.物品ID).物品类别名称;

            fetchDetail.Price     = Math.Round(detail1.单价 * detail1.数量, 2);
            fetchDetail.UnitPrice = detail1.单价;

            processInfo = serverFlow.GetFlowData(detail1.关联业务).First();

            fetchDetail.FillInDate      = Convert.ToDateTime(processInfo.时间);
            fetchDetail.FillInPersonnel = processInfo.人员;

            fetchDetail.FetchBIllID   = lnqInPut.BillNo;
            fetchDetail.FetchCount    = -detail1.数量;
            fetchDetail.GoodsID       = detail1.物品ID;
            fetchDetail.OperationType = (int)GlobalObject.EnumOperation.InPutBusinessTypeConvertToSubsidiaryOperationType(inPutType);
            fetchDetail.Provider      = detail1.供应商;
            fetchDetail.Remark        = detail1.备注;
            fetchDetail.StorageID     = lnqInPut.StorageID;

            DataTable stockTable = storeService.GetGoodsStockInfo(fetchDetail.GoodsID, fetchDetail.BatchNo, fetchDetail.Provider, fetchDetail.StorageID);

            if (stockTable != null && stockTable.Rows.Count > 0)
            {
                fetchDetail.ProviderBatchNo = stockTable.Rows[0]["ProviderBatchNo"].ToString();
            }
            else
            {
                fetchDetail.ProviderBatchNo = "";
            }

            fetchDetail.Using = lnqInPut.BillTypeDetail;

            return(fetchDetail);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 结束业务
        /// </summary>
        /// <param name="billNo">业务编号</param>
        public void FinishBill(string billNo)
        {
            DepotManagementDataContext ctx = CommentParameter.DepotDataContext;

            ctx.Connection.Open();
            ctx.Transaction = ctx.Connection.BeginTransaction();

            try
            {
                Business_WarehouseInPut_InPut lnqInPut  = GetSingleBillInfo(billNo);
                CE_InPutBusinessType          inPutType =
                    GlobalObject.GeneralFunction.StringConvertToEnum <CE_InPutBusinessType>(lnqInPut.BillType);

                switch (inPutType)
                {
                case CE_InPutBusinessType.生产采购:
                case CE_InPutBusinessType.普通采购:
                case CE_InPutBusinessType.委外采购:
                case CE_InPutBusinessType.样品采购:
                case CE_InPutBusinessType.自制件入库:
                case CE_InPutBusinessType.营销入库:;
                    OperationDetailAndStock_In(ctx, lnqInPut);
                    break;

                case CE_InPutBusinessType.领料退库:
                case CE_InPutBusinessType.营销退库:
                    OperationDetailAndStock_Out(ctx, lnqInPut);
                    break;

                default:
                    break;
                }

                ctx.Transaction.Commit();
            }
            catch (Exception ex)
            {
                ctx.Transaction.Rollback();
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 赋值账务信息_入
        /// </summary>
        /// <param name="ctx">数据上下文</param>
        /// <param name="lnqOutPut">单据信息</param>
        /// <param name="detail1">明细信息</param>
        /// <returns>返回账务信息对象</returns>
        S_InDepotDetailBill AssignDetailInfo_In(DepotManagementDataContext ctx, Business_WarehouseInPut_InPut lnqInPut,
                                                View_Business_WarehouseInPut_InPutDetail detail1)
        {
            IFlowServer          serverFlow  = FlowControlService.ServerModuleFactory.GetServerModule <IFlowServer>();
            CommonProcessInfo    processInfo = new CommonProcessInfo();
            CE_InPutBusinessType inPutType   =
                GlobalObject.GeneralFunction.StringConvertToEnum <CE_InPutBusinessType>(lnqInPut.BillType);


            S_InDepotDetailBill inDepotDetail = new S_InDepotDetailBill();

            inDepotDetail.AffrimPersonnel = BasicInfo.LoginName;
            inDepotDetail.BatchNo         = detail1.批次号;
            inDepotDetail.BillTime        = ServerTime.Time;
            inDepotDetail.Department      = UniversalFunction.GetDeptName(lnqInPut.ApplyingDepartment);
            inDepotDetail.Depot           = UniversalFunction.GetGoodsInfo(detail1.物品ID).物品类别名称;

            inDepotDetail.FactPrice        = Math.Round(detail1.单价 * detail1.数量, 2);
            inDepotDetail.FactUnitPrice    = detail1.单价;
            inDepotDetail.Price            = inDepotDetail.FactPrice;
            inDepotDetail.UnitPrice        = inDepotDetail.FactUnitPrice;
            inDepotDetail.InvoicePrice     = null;
            inDepotDetail.InvoiceUnitPrice = null;

            processInfo = serverFlow.GetFlowData(detail1.关联业务).First();

            inDepotDetail.FillInDate      = Convert.ToDateTime(processInfo.时间);
            inDepotDetail.FillInPersonnel = processInfo.人员;

            inDepotDetail.InDepotBillID = lnqInPut.BillNo;
            inDepotDetail.InDepotCount  = detail1.数量;
            inDepotDetail.GoodsID       = detail1.物品ID;
            inDepotDetail.OperationType = (int)GlobalObject.EnumOperation.InPutBusinessTypeConvertToSubsidiaryOperationType(inPutType);
            inDepotDetail.Provider      = detail1.供应商;
            inDepotDetail.Remark        = detail1.备注;
            inDepotDetail.StorageID     = lnqInPut.StorageID;

            return(inDepotDetail);
        }
Exemplo n.º 6
0
        public decimal GetUnitPrice(CE_InPutBusinessType businessType, string relateBillNo, int goodsID, string batchNo, string storageID)
        {
            try
            {
                decimal resultUnitPrice = 0;

                switch (businessType)
                {
                case CE_InPutBusinessType.生产采购:
                case CE_InPutBusinessType.普通采购:
                case CE_InPutBusinessType.委外采购:
                case CE_InPutBusinessType.样品采购:
                    break;

                case CE_InPutBusinessType.自制件入库:
                    resultUnitPrice = 0;
                    break;

                case CE_InPutBusinessType.领料退库:
                    IStoreServer storeService = ServerModuleFactory.GetServerModule <IStoreServer>();
                    resultUnitPrice = storeService.GetGoodsUnitPrice(goodsID, batchNo, storageID);
                    break;

                case CE_InPutBusinessType.营销入库:
                case CE_InPutBusinessType.营销退库:
                    break;

                default:
                    break;
                }

                return(resultUnitPrice);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 7
0
        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);
        }