示例#1
0
        //创建退货单
        public FormReturnOrder(PurchaseCommonEntity order, List <PurchaseOrderReturnDetailEntity> orderDetails)
            : this()
        {
            _order.Description           = "";
            _order.PurchaseOrderId       = order.PurchaseOrderId;
            _order.OperateUserId         = AppClientContext.CurrentUser.Id;
            _order.CheckerEmployeeName   = AppClientContext.CurrentUser.Employee.Name;
            _order.CheckerEmployeeNumber = AppClientContext.CurrentUser.Employee.Number;
            _order.SupplyUnitId          = order.SupplyUnitId;
            _order.SupplyUnitName        = order.SupplyUnitName;
            _order.OrderStatus           = (int)OrderReturnStatus.Waitting;

            foreach (var r in orderDetails)
            {
                r.ReturnAmount              = 0;
                r.ReturnHandledMethodValue  = (int)ReturnHandledMethod.Other;
                r.PurchaseReturnSourceValue = (int)PurchaseReturnSource.ReturnFromInInventery;
            }

            this._orderDetails = orderDetails;



            Initial(true);
            tsbtnFinanceDepartmentApproved.Visible = false;
            tsbtnGeneralManagerApproved.Visible    = false;
            tsbtnQualityrApproved.Visible          = false;
            label13.Text  = order.SupplyUnitName;
            txt备注.Enabled = true;
        }
示例#2
0
        private void queryDetails(int type)
        {
            if (this.dataGridView1.SelectedCells.Count <= 0)
            {
                return;
            }
            Business.Models.PurchaseOrderReturnModel m = this.dataGridView1.Rows[this.dataGridView1.SelectedCells[this.dataGridView1.SelectedCells.Count - 1].RowIndex].DataBoundItem as Business.Models.PurchaseOrderReturnModel;



            if (type == 0)
            {
                PurchaseCommonEntity pce = this.PharmacyDatabaseService.GetPurchaseOrderReturnsByPurchaseOrderId(out msg, m.Pid).FirstOrDefault();

                if (pce == null)
                {
                    return;
                }
                pce.Id = m.id;
                FormReturnOrder frm = new FormReturnOrder(pce, true);
                frm.ShowDialog();
            }
            if (type == 1)
            {
                PurchaseOrdeEntity poe = this.PharmacyDatabaseService.GetPurchaseOrderEntity(out msg, m.Pid);
                if (poe == null)
                {
                    return;
                }
                FormPurchaseOrderEdit frm = new FormPurchaseOrderEdit(poe, false, true);
                frm.ShowDialog();
            }
        }
示例#3
0
 //查询/创建 结算单
 public FormCashOrder(PurchaseCommonEntity order, DealerMethod dealerMethod = DealerMethod.PurchaseInInventory, decimal paymentingAmount = 0, bool isCreate = false, OrderType orderType = OrderType.PurchaseOrder)
     : this()
 {
     if (isCreate)
     {
         _order.TotalAmount                 = this.PharmacyDatabaseService.GetPurchaseOrder(out msg, order.PurchaseOrderId).TotalMoney;
         _order.DealerMethodValue           = (int)dealerMethod;
         _order.PaymentingAmount            = paymentingAmount;
         _order.PaymentAmount               = 0;
         _order.Description                 = "";
         _order.PurchaseOrderId             = order.PurchaseOrderId;
         _order.PurchaseOrderDocumentNumber = order.PurchaseOrderDocumentNumber;
         _order.OperateUserId               = AppClientContext.CurrentUser.Id;
         _order.RelatedOrderDocumentNumber  = order.DocumentNumber;
         _order.RelatedOrderId              = order.Id;
         _order.RelatedOrderTypeValue       = (int)orderType;
         //DataGridViewRow dr = new DataGridViewRow();
         //dr.Cells["PurchaseOrderDocumentNumber"].Value = model.BargainNO;
     }
     else
     {
         _order = order;
     }
     Initial(isCreate);
     label5.Text = order.SupplyUnitName;
 }
示例#4
0
        //创建退货单
        public FormReturnOrder(PurchaseCommonEntity order, List <PurchaseOrderReturnDetailEntity> orderDetails)
            : this()
        {
            _order.Description           = "";
            _order.PurchaseOrderId       = order.PurchaseOrderId;
            _order.OperateUserId         = AppClientContext.CurrentUser.Id;
            _order.CheckerEmployeeName   = AppClientContext.CurrentUser.Employee.Name;
            _order.CheckerEmployeeNumber = AppClientContext.CurrentUser.Employee.Number;
            _order.SupplyUnitId          = order.SupplyUnitId;
            _order.SupplyUnitName        = order.SupplyUnitName;
            _order.OrderStatus           = (int)OrderReturnStatus.Waitting;
            foreach (PurchaseOrderReturnDetailEntity d in orderDetails)
            {
                PurchaseOrderReturnDetailEntity c = new PurchaseOrderReturnDetailEntity();
                c.DictionaryDosageCode      = d.DictionaryDosageCode;
                c.FactoryName               = d.FactoryName;
                c.IsReissue                 = true;
                c.PurchaseReturnSourceValue = 2;
                c.ReissueAmount             = 0;
                c.RelatedOrderId            = d.RelatedOrderId;
                c.ReturnAmount              = 0;
                c.ReturnHandledMethodValue  = (int)ReturnHandledMethod.ReturnDestroy;
                c.ReturnReason              = "正常退货";
                c.Origin                        = d.Decription;
                c.Decription                    = "";
                c.ProductGeneralName            = d.ProductGeneralName;
                c.DictionarySpecificationCode   = d.DictionarySpecificationCode;
                c.DictionaryMeasurementUnitCode = d.DictionaryMeasurementUnitCode;
                c.LicensePermissionNumber       = d.LicensePermissionNumber;
                c.OutValidDate                  = d.OutValidDate;
                c.PruductDate                   = d.PruductDate;
                c.DrugInfoId                    = d.DrugInfoId;
                c.BatchNumber                   = d.BatchNumber;
                c.PurchasePrice                 = d.PurchasePrice;
                c.CanReturnNum                  = d.CanReturnNum;
                c.inInventoryNum                = d.inInventoryNum;
                _orderDetails.Add(c);
            }
            #region 合并数据
            //var o = from i in _orderDetails group i by new { i.BatchNumber, i.DrugInfoId };
            //List<PurchaseOrderReturnDetailEntity> a = new List<PurchaseOrderReturnDetailEntity>();

            //foreach (var g in o)
            //{
            //    var ll = g.First();
            //    ll.ReturnAmount = g.Sum(r => r.ReturnAmount);
            //    a.Add(ll);
            //}
            #endregion
            Initial(true);
            tsbtnFinanceDepartmentApproved.Visible = false;
            tsbtnGeneralManagerApproved.Visible    = false;
            tsbtnQualityrApproved.Visible          = false;
            label13.Text  = order.SupplyUnitName;
            txt备注.Enabled = true;
        }
示例#5
0
        private void Open()
        {
            try
            {
                if (this.dataGridView1.CurrentRow.Index < 0)
                {
                    return;
                }
                int RowIndex = this.dataGridView1.CurrentRow.Index;
                switch (_orderType)
                {
                case OrderType.PurchaseReceivingOrder:
                    PurchaseCommonEntity selectedOrder = (PurchaseCommonEntity)_listPurchaseCommonEntity[RowIndex];
                    FormReceivingOrder   form          = new FormReceivingOrder(selectedOrder, onlySearch);
                    form.ShowDialog();

                    btnSearch_Click(this, null);

                    break;

                case OrderType.PurchaseCheckingOrder:
                    FormCheckOrder formCheckingOrder = new FormCheckOrder((PurchaseCommonEntity)_listPurchaseCommonEntity[RowIndex], onlySearch);
                    formCheckingOrder.ShowDialog();
                    btnSearch_Click(this, null);
                    break;

                case OrderType.PurchaseInInventeryOrder:
                    FormInInventory formInInventory = new FormInInventory((PurchaseCommonEntity)_listPurchaseCommonEntity[RowIndex], onlySearch);
                    formInInventory.ShowDialog();

                    btnSearch_Click(this, null);

                    break;

                case OrderType.PurchaseBillingOrder:
                    FormCashOrder formCashOrder = new FormCashOrder((PurchaseCommonEntity)_listPurchaseCommonEntity[RowIndex]);
                    formCashOrder.ShowDialog();
                    btnSearch_Click(this, null);
                    break;

                case OrderType.PurchaseOrderReturn:
                    FormReturnOrder frm = new FormReturnOrder((PurchaseCommonEntity)_listPurchaseCommonEntity[RowIndex], false);
                    frm.ShowDialog();
                    if (frm.DialogResult == System.Windows.Forms.DialogResult.OK)
                    {
                        btnSearch_Click(this, null);
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
                Log.Error(ex);
            }
        }
示例#6
0
        private void tsbtnChecking_Click(object sender, EventArgs e)
        {
            try
            {
                PurchaseCommonEntity order = _order;
                List <PurchaseReceivingOrderDetailEntity> receivingOrderDetails = _orderDetails;

                List <PurchaseReceivingOrderDetailEntity> ListAddedCheckDetail = new List <PurchaseReceivingOrderDetailEntity>();

                #region 检验是否已经验货,由多次收货产生
                var pco = this.PharmacyDatabaseService.GetPurchaseCheckingOrdersByPurchaseOrderId(out msg, order.PurchaseOrderId).FirstOrDefault();
                if (pco != null)
                {
                    var pcd = from row in this.PharmacyDatabaseService.GetPurchaseCheckingOrderDetails(out msg, pco.Id)
                              group row by row.DrugInfoId into g
                              select new PurchaseCheckingOrderDetailEntity
                    {
                        DrugInfoId    = g.FirstOrDefault().DrugInfoId,
                        ReceiveAmount = g.Sum(r => r.ReceiveAmount),
                    };

                    var receiveDetailDistinct = receivingOrderDetails.GroupBy(r => r.DrugInfoId);

                    foreach (var i in receiveDetailDistinct)
                    {
                        var FirstDetail = i.First();
                        var druginfoid  = FirstDetail.DrugInfoId;

                        var pcde = pcd.Where(r => r.DrugInfoId == druginfoid).FirstOrDefault();
                        if (pcde != null)
                        {
                            FirstDetail.ActualAmount  = receivingOrderDetails.Where(r => r.DrugInfoId == FirstDetail.DrugInfoId).Sum(r => r.ActualAmount) - pcde.ReceiveAmount;
                            FirstDetail.ReceiveAmount = FirstDetail.ActualAmount;
                        }

                        ListAddedCheckDetail.Add(FirstDetail);
                    }
                }
                else
                {
                    ListAddedCheckDetail.AddRange(receivingOrderDetails);
                }
                #endregion

                FormCheckOrder FormCheckOrder = new FormCheckOrder(order, ListAddedCheckDetail.Where(r => r.ActualAmount > 0).ToList());
                tsbtnChecking.Enabled = (FormCheckOrder.ShowDialog() != DialogResult.OK);
                this.Dispose();
            }
            catch (Exception ex)
            {
                ex = new Exception("打开验收窗体失败" + ex.Message);
                MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
示例#7
0
        private void GetPurchaseReceivingOrder()
        {
            Guid Pid = ((ReturnPurchaseOrderList)this.dataGridView1.CurrentRow.DataBoundItem).id;
            PurchaseCommonEntity pcod = this.PharmacyDatabaseService.GetPurchaseReceivingOrdersByPurchaseOrderId(out msg, Pid).FirstOrDefault();

            if (pcod == null)
            {
                MessageBox.Show("该单据无验收信息,请联系管理员!"); return;
            }
            FormReceivingOrder frm = new FormReceivingOrder(pcod, true);

            frm.Show(this);
        }
示例#8
0
        //查询收货单
        public FormReceivingOrder(PurchaseCommonEntity order, bool onlySearch = false)
            : this()
        {
            string msg = String.Empty;

            _order = order;

            _orderDetails = this.PharmacyDatabaseService.GetPurchaseReceivingOrderDetails(out msg, order.Id).Where(r => r.ActualAmount > 0).ToList();
            Initial(false);
            if (_order.OrderStatus != OrderStatus.PurchaseReceiving.GetHashCode() && _order.OrderStatus != OrderStatus.purchaseMReceiving.GetHashCode())
            {
                tsbtnChecking.Visible = false;
            }
            PurchaseOrder purchaseOrder = this.PharmacyDatabaseService.GetPurchaseOrder(out msg, _order.PurchaseOrderId);

            if (purchaseOrder != null && purchaseOrder.OrderStatusValue == OrderStatus.PurchaseReceinvingAmountDiff.GetHashCode())
            {
                btnModifyPurchaseAmount.Visible = true;
            }

            this.dataGridView1.ReadOnly = true;
            label5.Text                   = order.SupplyUnitName;
            ShippingTime.Enabled          = false;
            ShippingTime.Text             = order.ShippingTime.ToString("yyyy年MM月dd日 HH时mm分");
            textBoxShippingAdress.Enabled = false;
            textBoxShippingAdress.Text    = order.ShippingAdress;
            textBoxShippingUnit.Enabled   = false;
            textBoxShippingUnit.Text      = order.ShippingUnit;
            textBoxTransportUnit.Enabled  = false;
            textBoxTransportUnit.Text     = order.TransportUnit;
            textBoxDescription.Text       = order.Description;
            if (onlySearch)
            {
                tsbtnReceiving.Visible          = false;
                btnReceiving.Visible            = false;
                btnModifyPurchaseAmount.Visible = false;
                tsbtnChecking.Visible           = false;
            }
            if (tsbtnReceiving.Visible == true)
            {
                tsbtnReceiving.Visible = this.Authorize(ModuleKeys.PurchaseReceiving);
            }
            if (btnModifyPurchaseAmount.Visible == true)
            {
                btnModifyPurchaseAmount.Visible = this.Authorize(ModuleKeys.PurchaseReceiving);
            }
            if (tsbtnChecking.Visible == true)
            {
                tsbtnChecking.Visible = this.Authorize(ModuleKeys.PurchaseChecking);
            }
        }
示例#9
0
        public FormReceivingOrder(PurchaseCommonEntity order, List <PurchaseOrderReturnDetailEntity> orderDetails)
            : this()
        {
            _order.Description                = "";
            _order.PurchaseOrderId            = order.PurchaseOrderId;
            _order.OperateUserId              = AppClientContext.CurrentUser.Id;
            _order.RelatedOrderDocumentNumber = order.DocumentNumber;
            _order.RelatedOrderId             = order.Id;
            _order.RelatedOrderTypeValue      = (int)OrderType.PurchaseOrderReturn;
            _order.SupplyUnitId               = order.SupplyUnitId;
            _order.SupplyUnitName             = order.SupplyUnitName;
            foreach (PurchaseOrderReturnDetailEntity d in orderDetails)
            {
                if (d.IsReissue)
                {
                    PurchaseReceivingOrderDetailEntity c = new PurchaseReceivingOrderDetailEntity();
                    c.Amount                        = d.ReissueAmount;
                    c.ActualAmount                  = 0;
                    c.Decription                    = "";
                    c.CheckResult                   = 0;
                    c.ReceiveAmount                 = 0;
                    c.RejectAmount                  = 0;
                    c.ProductGeneralName            = d.ProductGeneralName;
                    c.DictionarySpecificationCode   = d.DictionarySpecificationCode;
                    c.DictionaryMeasurementUnitCode = d.DictionaryMeasurementUnitCode;
                    c.DictionaryDosageCode          = d.DictionaryDosageCode;
                    c.LicensePermissionNumber       = d.LicensePermissionNumber;
                    c.DrugInfoId                    = d.DrugInfoId;
                    c.FactoryName                   = d.FactoryName;
                    c.PurchasePrice                 = d.PurchasePrice;
                    c.Origin                        = d.Origin;
                    _orderDetails.Add(c);
                }
            }
            Initial(true);
            tsbtnChecking.Visible = false;

            label5.Text = order.SupplyUnitName;
            if (tsbtnReceiving.Visible == true)
            {
                tsbtnReceiving.Visible = this.Authorize(ModuleKeys.PurchaseReceiving);
            }
            if (btnModifyPurchaseAmount.Visible == true)
            {
                btnModifyPurchaseAmount.Visible = this.Authorize(ModuleKeys.PurchaseReceiving);
            }
            if (tsbtnChecking.Visible == true)
            {
                tsbtnChecking.Visible = this.Authorize(ModuleKeys.PurchaseChecking);
            }
        }
示例#10
0
 private void RightMenuClick(int type)
 {
     if (type == 0)
     {
         Clipboard.SetData(DataFormats.Text, this.dataGridView1.CurrentCell.Value.ToString());
     }
     if (type == 1)
     {
         this.Open();
     }
     if (type == 2)
     {
         this.Search();
     }
     if (type == 3)
     {
         Guid sid = (this.dataGridView1.CurrentRow.DataBoundItem as PurchaseCommonEntity).SupplyUnitId;
         FormPurchaseHistoryBySupplyer frm = new FormPurchaseHistoryBySupplyer(string.Empty, sid, DateTime.Now.AddYears(-3).Date, DateTime.Now.AddDays(1).Date);
         frm.Show(this);
     }
     if (type == 4)
     {
         Guid pid = (this.dataGridView1.CurrentRow.DataBoundItem as PurchaseCommonEntity).PurchaseOrderId;
         var  po  = this.PharmacyDatabaseService.GetPurchaseOrderEntity(out msg, pid);
         PurchaseBusiness.FormPurchaseOrderEdit frm = new FormPurchaseOrderEdit(po, false, true);
         frm.Show(this);
     }
     if (type == 5)
     {
         Guid pid = (this.dataGridView1.CurrentRow.DataBoundItem as PurchaseCommonEntity).PurchaseOrderId;
         PurchaseCommonEntity pcod = this.PharmacyDatabaseService.GetPurchaseReceivingOrdersByPurchaseOrderId(out msg, pid).FirstOrDefault();
         if (pcod == null)
         {
             MessageBox.Show("该单据无收货单信息,请联系管理员!"); return;
         }
         FormReceivingOrder frm = new FormReceivingOrder(pcod, true);
         frm.Show(this);
     }
     if (type == 6)
     {
         Guid Pid = (this.dataGridView1.CurrentRow.DataBoundItem as PurchaseCommonEntity).PurchaseOrderId;
         PurchaseCommonEntity pcod = this.PharmacyDatabaseService.GetPurchaseInInventeryOrdersByPurchaseOrderId(out msg, Pid).FirstOrDefault();
         if (pcod == null)
         {
             MessageBox.Show("该单据暂无入库信息!"); return;
         }
         FormInInventory frm = new FormInInventory(pcod, true);
         frm.Show(this);
     }
 }
示例#11
0
        public FormReturnOrder(PurchaseCommonEntity order, Guid purchaseOrderID)
            : this()
        {
            _order.Description           = "";
            _order.PurchaseOrderId       = order.PurchaseOrderId;
            _order.OperateUserId         = AppClientContext.CurrentUser.Id;
            _order.CheckerEmployeeName   = AppClientContext.CurrentUser.Employee.Name;
            _order.CheckerEmployeeNumber = AppClientContext.CurrentUser.Employee.Number;
            _order.SupplyUnitId          = order.SupplyUnitId;
            _order.SupplyUnitName        = order.SupplyUnitName;
            _order.OrderStatus           = (int)OrderReturnStatus.Waitting;
            List <PurchaseCommonEntity> orderDetails = this.PharmacyDatabaseService.GetPurchaseInInventeryOrdersByPurchaseOrderId(out msg, purchaseOrderID).ToList();

            foreach (PurchaseCommonEntity d in orderDetails)
            {
                //PurchaseOrderReturnDetailEntity c = new PurchaseOrderReturnDetailEntity();
                //c.DictionaryDosageCode = d.DictionaryDosageCode;
                //c.FactoryName = d.FactoryName;
                //c.IsReissue = true;
                //c.PurchaseReturnSourceValue = 0;
                //c.ReissueAmount = 0;
                //c.RelatedOrderId = order.Id;
                //c.ReturnAmount = d.Amount;
                //c.ReturnHandledMethodValue = (int)ReturnHandledMethod.ReturnDestroy;
                //c.ReturnReason = string.Empty;
                //c.Decription = "";
                //c.ProductGeneralName = d.ProductGeneralName;
                //c.DictionarySpecificationCode = d.DictionarySpecificationCode;
                //c.DictionaryMeasurementUnitCode = d.DictionaryMeasurementUnitCode;
                //c.LicensePermissionNumber = d.LicensePermissionNumber;
                //c.OutValidDate = d;
                //c.PruductDate = d.PruductDate;
                //c.DrugInfoId = d.DrugInfoId;
                //c.BatchNumber = d.BatchNumber;
                //c.PurchasePrice = d.PurchasePrice;
                //_orderDetails.Add(c);
            }
            Initial(true);
            tsbtnFinanceDepartmentApproved.Visible = false;
            tsbtnGeneralManagerApproved.Visible    = false;
            tsbtnQualityrApproved.Visible          = false;
            toolStripButton1.Visible = false;
            tsbtnOut.Visible         = false;
            label13.Text             = order.SupplyUnitName;
            txt备注.Enabled            = true;
        }
示例#12
0
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }

            //销退
            if (this.dataGridView1.CurrentCell.OwningColumn.Name.Contains("Column3"))
            {
                Guid id = bList[this.dataGridView1.CurrentRow.Index].id;
                PurchaseOrderReturnDetailEntity[] perc = this.PharmacyDatabaseService.getPurchaseInventoryDetatilEntity(id, out msg);
                if (perc == null)
                {
                    MessageBox.Show("请联系管理员,配送入库记录被删除!");
                    return;
                }
                PurchaseCommonEntity pce = this.PharmacyDatabaseService.GetPurchaseInInventeryOrdersByPurchaseOrderId(out msg, id).First();
                FormReturnOrder      f   = new FormReturnOrder(pce, perc.ToList());
                f.ShowDialog();
                f.Dispose();
            }

            //采购冲差价
            if (this.dataGridView1.CurrentCell.OwningColumn.Name.Contains("Column5"))
            {
                Guid id = bList[this.dataGridView1.CurrentRow.Index].id;
                Form_PurchaseRefund frm = new Form_PurchaseRefund(id, false);
                frm.ShowDialog();
                frm.Dispose();
            }

            if (this.dataGridView1.CurrentCell.OwningColumn.Name.Contains("Column11"))
            {
                Guid PurchaseOrderId = Guid.Parse(this.dataGridView1.Rows[e.RowIndex].Cells["poid"].Value.ToString());

                List <PurchasingPlan> subP = ListPlan.Where(r => r.ReleatedPurchaseOrderId == PurchaseOrderId).ToList();
                Form_PurchaseRefund   frm  = new Form_PurchaseRefund(PurchaseOrderId, subP.ToArray(), false);
                frm.ShowDialog();
                frm.Dispose();
            }
        }
示例#13
0
        //查询入库单
        public FormInInventory(PurchaseCommonEntity order, bool onlySearch = false)
            : this()
        {
            string msg = String.Empty;

            _order        = order;
            _orderDetails = this.PharmacyDatabaseService.GetPurchaseInInventeryOrderDetails(out msg, order.Id).ToList();
            this.PositionSelector.Visible = false;
            DataGridViewTextBoxColumn dc = new DataGridViewTextBoxColumn();

            dc.Name             = "warehousezone";
            dc.HeaderText       = "库区";
            dc.DataPropertyName = "WarehouseZoneName";
            dc.ReadOnly         = true;
            this.dataGridView1.Columns.Add(dc);
            foreach (var o in _orderDetails)
            {
                paymentingAmount += o.ArrivalAmount * o.PurchasePrice;
            }

            this.Bcms.Sid = order.SupplyUnitId;//右键菜单查询供货商

            Initial(false);
            tsbtnInInventory.Visible    = false;
            this.dataGridView1.ReadOnly = true;
            label5.Text             = order.SupplyUnitName;
            textBoxDescription.Text = order.Description;
            if (onlySearch)
            {
                toolStripButtonCash.Visible = false;
                tsbtnInInventory.Visible    = false;
            }
            if (tsbtnInInventory.Visible == true)
            {
                tsbtnInInventory.Visible = this.Authorize(ModuleKeys.PurchaseInInventory);
            }
            toolStripButton2.Visible = false;
        }
示例#14
0
        void dgvDelivery_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.RowIndex < 0 || e.ColumnIndex < 0)
                {
                    return;
                }

                var currentData = this.dgvDelivery.Rows[e.RowIndex].DataBoundItem as Business.Models.DeliveryTrasactionModel;

                //打开出库单
                if (this.dgvDelivery.Columns[e.ColumnIndex].Name == this.Column1.Name)
                {
                    if (currentData.Status == 0)
                    {
                        FormOutInventory frm = new FormOutInventory(currentData.SalesOrderId, currentData.OutInvetoryId, true);
                        frm.ShowDialog();
                    }
                    if (currentData.Status == 1)
                    {
                        PurchaseCommonEntity pce = this.PharmacyDatabaseService.GetPurchaseOrderReturnsByPurchaseOrderId(out msg, currentData.SalesOrderId).FirstOrDefault();
                        if (pce == null)
                        {
                            return;
                        }
                        PurchaseBusiness.FormReturnOrder frm = new PurchaseBusiness.FormReturnOrder(pce, true);
                        frm.ShowDialog();
                    }
                }

                #region 打开销售客户或者供货商信息
                if (this.dgvDelivery.Columns[e.ColumnIndex].Name == this.Column2.Name)
                {
                    if (currentData.Status == 1)//打开采购退货商基础信息
                    {
                        SupplyUnit su = this.PharmacyDatabaseService.GetSupplyUnit(out msg, currentData.ReceivingCompasnyID);
                        UserControls.ucSupplyUnit us = new UserControls.ucSupplyUnit(su, false);
                        Form f = new Form();
                        f.Text         = su.Name;
                        f.AutoSize     = true;
                        f.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
                        Panel p = new Panel();
                        p.AutoSize = true;
                        p.Controls.Add(us);
                        f.Controls.Add(p);
                        f.ShowDialog();
                    }
                    if (currentData.Status == 0)//打开销售客户基础信息
                    {
                        PurchaseUnit pu = this.PharmacyDatabaseService.GetPurchaseUnit(out msg, currentData.ReceivingCompasnyID);
                        if (pu == null)
                        {
                            return;
                        }
                        UserControls.ucPurchaseUnit us = new UserControls.ucPurchaseUnit(pu, false);
                        Form f = new Form();
                        f.Text          = pu.Name;
                        f.AutoSize      = true;
                        f.AutoSizeMode  = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
                        f.StartPosition = FormStartPosition.CenterScreen;
                        Panel p = new Panel();
                        p.AutoSize = true;
                        p.Controls.Add(us);
                        f.Controls.Add(p);
                        f.ShowDialog();
                    }
                }
                #endregion

                //打开发货处理画面
                if (this.dgvDelivery.Columns[e.ColumnIndex].Name == this.发货处理.Name)
                {
                    Delivery         Item     = this.PharmacyDatabaseService.GetDelivery(out msg, currentData.Id);
                    FormDeliveryEdit editForm = new FormDeliveryEdit(Item, (int)this.deliveryStatus, false);
                    editForm.ShowDialog();
                    //刷新画面
                    if (editForm.DialogResult == System.Windows.Forms.DialogResult.OK)
                    {
                        pager_DataPaging();
                    }
                }
                //打开订单
                if (this.dgvDelivery.Columns[e.ColumnIndex].Name == this.订单号.Name)
                {
                    string message = string.Empty;
                    if (currentData.Status == 0)
                    {
                        var order = this.PharmacyDatabaseService.GetSalesOrder(out message, currentData.SalesOrderId);
                        FormSalesOrderEdit editForm = new FormSalesOrderEdit(order, false);
                        editForm.ShowDialog();
                    }
                    if (currentData.Status == 1)
                    {
                        PurchaseCommonEntity pce = this.PharmacyDatabaseService.GetPurchaseOrderReturnsByPurchaseOrderId(out msg, currentData.SalesOrderId).FirstOrDefault();
                        if (pce == null)
                        {
                            return;
                        }
                        Forms.PurchaseBusiness.FormReturnOrder frm = new Forms.PurchaseBusiness.FormReturnOrder(pce, false);
                        frm.ShowDialog();
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
        }
示例#15
0
        //创建入库单
        public FormInInventory(PurchaseCommonEntity order, List <PurchaseCheckingOrderDetailEntity> orderDetails)
            : this()
        {
            _order.Description                 = "";
            _order.PurchaseOrderId             = order.PurchaseOrderId;
            _order.OperateUserId               = AppClientContext.CurrentUser.Id;
            _order.RelatedOrderDocumentNumber  = order.DocumentNumber;
            _order.RelatedOrderId              = order.Id;
            _order.RelatedOrderTypeValue       = (int)OrderType.PurchaseCheckingOrder;
            _order.PurchaseOrderDocumentNumber = order.PurchaseOrderDocumentNumber;

            this.Bcms.Sid = order.SupplyUnitId;//右键菜单查询供货商

            foreach (PurchaseCheckingOrderDetailEntity d in orderDetails)
            {
                PurchaseInInventeryOrderDetailEntity c = new PurchaseInInventeryOrderDetailEntity();
                c.ArrivalAmount                 = d.QualifiedAmount;
                c.ArrivalDateTime               = d.ArrivalDateTime;
                c.Decription                    = d.Decription;
                c.BatchNumber                   = d.BatchNumber;
                c.FactoryName                   = d.FactoryName;
                c.OutValidDate                  = d.OutValidDate;
                c.PruductDate                   = d.PruductDate;
                c.ProductGeneralName            = d.ProductGeneralName;
                c.DictionarySpecificationCode   = d.DictionarySpecificationCode;
                c.DictionaryMeasurementUnitCode = d.DictionaryMeasurementUnitCode;
                c.DrugInfoId                    = d.DrugInfoId;
                c.PurchasePrice                 = d.PurchasePrice;
                c.DictionaryDosageCode          = d.DictionaryDosageCode;
                c.LicensePermissionNumber       = d.LicensePermissionNumber;
                c.DictionaryStorageType         = d.StorageType;
                c.DictionaryMeasurementUnitCode = d.DictionaryMeasurementUnitCode;
                c.sequence                = d.sequence;
                c.BussinessScopeCode      = d.BusinessScopeCode;
                c.WarehouseZoneId         = Guid.Empty;
                c.WarehouseZonePositionId = Guid.Empty;
                _orderDetails.Add(c);
            }
            toolStripButtonCash.Visible = false;
            Initial(true);
            label5.Text = order.SupplyUnitName;
            if (tsbtnInInventory.Visible == true)
            {
                tsbtnInInventory.Visible = this.Authorize(ModuleKeys.PurchaseInInventory);
            }

            //选择货位
            this.dataGridView1.CellClick += (sender, e) =>
            {
                if (e.RowIndex < 0 || e.ColumnIndex < 0)
                {
                    return;
                }
                if (this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].OwningColumn.Name != this.PositionSelector.Name)
                {
                    return;
                }
                var c = this.dataGridView1.Rows[e.RowIndex].DataBoundItem as PurchaseInInventeryOrderDetailEntity;
                Form_WareHouseZonePositionSelector frm = new Form_WareHouseZonePositionSelector(c.DrugInfoId);
                frm.Show(this);
                frm.PositionSelected += (s, ex) =>
                {
                    var PositionModel = ex.PositionModel;
                    c.WarehouseName               = ex.PositionModel.WareHouseName;
                    c.WarehouseZoneId             = ex.PositionModel.WareHouseZoneId;
                    c.WarehouseZoneName           = ex.PositionModel.WareHouseZoneName;
                    c.WarehouseZonePositionName   = ex.PositionModel.Name;
                    c.WarehouseZonePositionId     = ex.PositionModel.Id;
                    c.WarehouseZonePIndex         = ex.PositionModel.WareHouseZonePIndex;
                    c.WarehouseZonePositionPIndex = ex.PositionModel.PIndex;
                    this.dataGridView1.Refresh();
                    this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
                };
            };
        }
示例#16
0
        //查询收货单


        public FormReturnOrder(PurchaseCommonEntity order, bool onlySearch = false)
            : this()
        {
            _order        = order;
            _orderDetails = this.PharmacyDatabaseService.GetPurchaseOrderReturnDetails(out msg, order.Id).ToList();
            if (_orderDetails != null && _orderDetails.Count > 0)
            {
                if (_orderDetails[0].PurchaseReturnSourceValue == (int)PurchaseReturnSource.ReturnFromInInventery)
                {
                    //退货申请成功,在入库阶段,有退货出库过程
                    tsbtnOut.Visible = true;
                }
                foreach (var o in _orderDetails)
                {
                    //需要重新发货
                    if (o.IsReissue && _order.OrderStatus == (int)OrderReturnStatus.FinanceDepartmentApproved)
                    {
                        toolStripButton1.Visible = true;
                        break;
                    }
                }
            }
            Initial(false);
            this.Column2.Visible = false;
            switch (_order.OrderStatus)
            {
            case (int)OrderReturnStatus.Waitting:
                tsbtnFinanceDepartmentApproved.Visible = false;
                tsbtnGeneralManagerApproved.Visible    = false;
                tsbtnQualityrApproved.Visible          = true;
                tsbtnSubmit.Visible = false;
                tsbtnCancel.Visible = true;
                tsbtnOut.Visible    = false;
                break;

            case (int)OrderReturnStatus.Rejected:
                tsbtnFinanceDepartmentApproved.Visible = false;
                tsbtnGeneralManagerApproved.Visible    = false;
                tsbtnQualityrApproved.Visible          = false;
                tsbtnSubmit.Visible = false;
                tsbtnCancel.Visible = true;
                tsbtnOut.Visible    = false;
                break;

            case (int)OrderReturnStatus.QualityApproved:
                tsbtnFinanceDepartmentApproved.Visible = false;
                tsbtnQualityrApproved.Visible          = false;
                tsbtnGeneralManagerApproved.Visible    = true;
                tsbtnSubmit.Visible = false;
                tsbtnCancel.Visible = true;
                tsbtnOut.Visible    = false;
                break;

            case (int)OrderReturnStatus.GeneralManagerApproved:
                tsbtnGeneralManagerApproved.Visible    = false;
                tsbtnQualityrApproved.Visible          = false;
                tsbtnFinanceDepartmentApproved.Visible = true;
                tsbtnSubmit.Visible = false;
                tsbtnCancel.Visible = true;
                tsbtnOut.Visible    = false;
                break;

            case (int)OrderReturnStatus.FinanceDepartmentApproved:
                tsbtnGeneralManagerApproved.Visible    = false;
                tsbtnQualityrApproved.Visible          = false;
                tsbtnFinanceDepartmentApproved.Visible = false;
                tsbtnSubmit.Visible      = false;
                tsbtnCancel.Visible      = true;
                toolStripButton1.Visible = false;
                tsbtnOut.Visible         = true;
                break;

            case (int)OrderReturnStatus.Over:
                tsbtnGeneralManagerApproved.Visible    = false;
                tsbtnQualityrApproved.Visible          = false;
                tsbtnFinanceDepartmentApproved.Visible = false;
                tsbtnSubmit.Visible      = false;
                tsbtnCancel.Visible      = false;
                toolStripButton1.Visible = false;
                tsbtnOut.Visible         = false;
                break;

            case (int)OrderReturnStatus.ReturnPickup:
                tsbtnGeneralManagerApproved.Visible    = false;
                tsbtnQualityrApproved.Visible          = false;
                tsbtnFinanceDepartmentApproved.Visible = false;
                tsbtnSubmit.Visible      = false;
                tsbtnCancel.Visible      = false;
                toolStripButton1.Visible = false;
                tsbtnOut.Visible         = false;
                toolStripButton3.Visible = true;
                break;

            case (int)OrderReturnStatus.ReturnPickupChecked:
                tsbtnGeneralManagerApproved.Visible    = false;
                tsbtnQualityrApproved.Visible          = false;
                tsbtnFinanceDepartmentApproved.Visible = false;
                tsbtnSubmit.Visible      = false;
                tsbtnCancel.Visible      = false;
                toolStripButton1.Visible = false;
                tsbtnOut.Visible         = false;
                toolStripButton4.Visible = true;
                break;
            }

            this.dataGridView1.ReadOnly = true;
            label13.Text = order.SupplyUnitName;

            label10.Text         = order.QualityEmployeeName;
            dateTimePicker1.Text = order.QualityUpdateTime != null?order.QualityUpdateTime.ToString() : null;

            txtQualityMemo.Text = order.QualitySuggest;

            label18.Text = order.GeneralManagerEmployeeName;
            dateTimePickerManger.Text = order.GeneralManagerUpdateTime != null?order.GeneralManagerUpdateTime.ToString() : null;

            txtMangerMemo.Text = order.GeneralManagerSuggest;

            label21.Text             = order.FinanceDepartmentEmployeeName;
            dateTimePickerMoney.Text = order.FinanceDepartmentUpdateTime != null?order.FinanceDepartmentUpdateTime.ToString() : null;

            textBoxMoney.Text = order.FinanceDepartmentSuggest;
            txt备注.Text        = order.Description;
            if (onlySearch)
            {
                tsbtnGeneralManagerApproved.Visible    = false;
                tsbtnQualityrApproved.Visible          = false;
                tsbtnFinanceDepartmentApproved.Visible = false;
                tsbtnSubmit.Visible      = false;
                tsbtnCancel.Visible      = false;
                toolStripButton1.Visible = false;
                tsbtnOut.Visible         = false;
            }
            //显示审批记录
            if (_order.QualityUserId != null && _order.QualityUserId != Guid.Empty)
            {
                groupBoxApprovedRecords.Visible = true;
                this.dataGridView2.Rows.Add(_order.QualityEmployeeName, _order.QualityUpdateTime, EnumHelper <OrderReturnStatus> .GetDisplayValue((OrderReturnStatus)_order.OrderStatus), _order.QualitySuggest);
            }
            if (_order.GeneralManagerUserId != null && _order.GeneralManagerUserId != Guid.Empty)
            {
                this.dataGridView2.Rows.Add(_order.GeneralManagerEmployeeName, _order.GeneralManagerUpdateTime, EnumHelper <OrderReturnStatus> .GetDisplayValue((OrderReturnStatus)_order.OrderStatus), _order.GeneralManagerSuggest);
            }
            if (_order.FinanceDepartmentUserId != null && _order.FinanceDepartmentUserId != Guid.Empty)
            {
                groupBoxApprovedRecords.Visible = true;
                this.dataGridView2.Rows.Add(_order.FinanceDepartmentEmployeeName, _order.FinanceDepartmentUpdateTime, EnumHelper <OrderReturnStatus> .GetDisplayValue((OrderReturnStatus)_order.OrderStatus), _order.FinanceDepartmentSuggest);
            }
            if (tsbtnQualityrApproved.Visible == true)
            {
                tsbtnQualityrApproved.Visible = this.Authorize(ModuleKeys.ApprovalPurchaseReturnQuality);
            }
            if (tsbtnGeneralManagerApproved.Visible == true)
            {
                tsbtnGeneralManagerApproved.Visible = this.Authorize(ModuleKeys.ApprovalPurchaseReturnManager);
            }
            if (tsbtnFinanceDepartmentApproved.Visible == true)
            {
                tsbtnFinanceDepartmentApproved.Visible = this.Authorize(ModuleKeys.ApprovalPurchaseReturnFinance);
            }
            if (toolStripButton1.Visible == true)
            {
                toolStripButton1.Visible = this.Authorize(ModuleKeys.PurchaseReceiving);
            }
        }