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; } } }
/// <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); }
/// <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); } }
/// <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); }
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); } }
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); }