Exemple #1
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();
            }
        }
Exemple #2
0
 private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     //进入编辑页面
     //获得当前采购单的状态
     try
     {
         if (e.RowIndex < 0)
         {
             return;
         }
         PurchaseOrdeEntity selectedOrder = _listPurchaseOrder[e.RowIndex];
         if (onlySearch)
         {
             new FormPurchaseOrderEdit(selectedOrder, false, true).ShowDialog();
         }
         else
         {
             FormPurchaseOrder form = new FormPurchaseOrder(selectedOrder);
             form.ShowDialog();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
         Log.Error(ex);
     }
 }
Exemple #3
0
        public FormPurchaseOrderEdit(PurchaseOrdeEntity order, bool modifyPurchaseAmount = false, bool onlySearch = false) : this()
        {
            _order       = order;
            _onlySearch  = onlySearch;
            SupplyUnitId = order.SupplyUnitId;
            _orderStatus = (OrderStatus)order.OrderStatusValue;

            Bcms.Sid = SupplyUnitId;//右键查询供货商

            if (modifyPurchaseAmount == true && _orderStatus == OrderStatus.PurchaseReceinvingAmountDiff)
            {
                btnModifyPurchaseAmount.Visible = true;
            }
            //显示审批记录
            if (_order.ApprovalUserId != null && _order.ApprovalUserId != Guid.Empty)
            {
                groupBoxApprovedRecords.Visible = true;
                string status;
                if (_order.OrderStatusValue != (int)OrderStatus.Canceled && _order.OrderStatusValue != (int)OrderStatus.Rejected && _order.OrderStatusValue != (int)OrderStatus.Waitting)
                {
                    status = EnumHelper <OrderStatus> .GetDisplayValue(OrderStatus.Approved);
                }
                else
                {
                    status = EnumHelper <OrderStatus> .GetDisplayValue((OrderStatus)_order.OrderStatusValue);
                }
                this.dataGridView2.Rows.Add(this.PharmacyDatabaseService.GetEmployeeByUserId(out msg, _order.ApprovalUserId).Name, _order.ApprovaledTime, status, _order.ApprovalDecription);
            }
        }
Exemple #4
0
        private void GetPurchaseOrder()
        {
            Guid Pid = ((ReturnPurchaseOrderList)this.dataGridView1.CurrentRow.DataBoundItem).id;
            PurchaseOrdeEntity    poe = this.PharmacyDatabaseService.GetPurchaseOrderEntity(out msg, Pid);
            FormPurchaseOrderEdit frm = new FormPurchaseOrderEdit(poe, false, true);

            frm.Show(this);
        }
        public Form_PurchaseRefund(Guid pid, bool Readonly = true) : this()
        {
            this.Readonly = Readonly;
            this.dataGridView1.ReadOnly   = Readonly;
            this.toolStripButton2.Visible = false;
            this.toolStripButton3.Visible = false;
            this.toolStripButton4.Visible = false;
            poe          = this.PharmacyDatabaseService.GetPurchaseOrderEntity(out msg, pid);
            label2.Text  = poe.DocumentNumber;
            label6.Text  = poe.TotalMoney.ToString();
            label8.Text  = poe.PurchasedDate.ToLongDateString();
            label10.Text = poe.SupplyUnitName;

            ListP = this.PharmacyDatabaseService.GetPurchaseOrderDetails(out msg, pid).ToList();

            label4.Text = ListP.Count.ToString();
            this.dataGridView1.DataSource = ListP;
        }
Exemple #6
0
        private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            //进入编辑页面
            //获得当前采购单的状态
            string msg = string.Empty;

            try
            {
                if (e.RowIndex < 0)
                {
                    return;
                }
                PurchaseOrdeEntity    selectedOrder     = _listPurchaseOrder[e.RowIndex];
                PurchaseOrderDetail[] purchaseOrderList = PharmacyDatabaseService.GetPurchaseOrderDetailByOrderId(out msg, (Guid)selectedOrder.Id);
                var p = from i in purchaseOrderList where i.Deleted == false select i;
                //var q = from k in purchaseOrderList where k.Deleted select k;
                //foreach(var j in p)
                {
                    if (selectedOrder.OrderStatusValue == OrderStatus.PurchaseReceinvingAmountDiff.GetHashCode())
                    {
                        FormPurchaseOrderEdit form = new FormPurchaseOrderEdit(selectedOrder, true);
                        form.ShowDialog();
                    }
                    else
                    {
                        FormPurchaseOrderEdit form = new FormPurchaseOrderEdit(selectedOrder);
                        form.ShowDialog();
                    }
                    this.Search();
                }
                //foreach (var m in q)
                //{
                //    _listPurchaseOrder[e.RowIndex].OrderStatusValue = 120;
                //    MessageBox.Show("已删除");
                //    this.Search();
                //}
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
                Log.Error(ex);
            }
        }
        public void InitData(PurchaseOrdeEntity purchaseOrder)
        {
            _InitFieldValues.Add("OrderStatus", EnumHelper <OrderStatus> .GetMapKeyValues());
            _InitFieldValues.Add("RelatedOrderTypeValue", EnumHelper <OrderType> .GetMapKeyValues());

            //采购单
            txtDocumentNumber.Text = purchaseOrder.DocumentNumber;
            txtStatus.Text         = EnumHelper <OrderStatus> .GetDisplayValue((OrderStatus)purchaseOrder.OrderStatusValue);

            txtSuplyUnit.Text           = purchaseOrder.SupplyUnitName;
            txtAllReceiptedDate.Text    = purchaseOrder.AllReceiptedDate == null ? "" : purchaseOrder.AllReceiptedDate.ToString();
            txtPurchaseAddress.Text     = purchaseOrder.Address;
            txtPurchaseUnit.Text        = purchaseOrder.ReceiveUnit;
            txtReceivingDate.Text       = "";
            txtSuplyUnit.Text           = purchaseOrder.SupplyUnitName;
            txtSuplyUnitContact.Text    = purchaseOrder.ContactName;
            txtSuplyUnitPhone.Text      = purchaseOrder.ContactTel;
            txtCreateTime.Text          = purchaseOrder.CreateTime.ToShortDateString();
            txtPurchaseEmployee.Text    = purchaseOrder.EmployeeName;
            txtTotalMount.Text          = purchaseOrder.TotalMoney.ToString();
            txtPurchaseDescription.Text = purchaseOrder.Description;
            //Employee e=this.PharmacyDatabaseService.GetEmployee(out msg,purchaseOrder.ApprovalUserId);
            //if (e != null) txtApproveEmployee.Text = e.Name;
            txtApprovedDescription.Text = purchaseOrder.ApprovalDecription;
            txtApprovedTime.Text        = purchaseOrder.ApprovaledTime == null?"":purchaseOrder.ApprovaledTime.ToString();
            if (purchaseOrder.OrderStatusValue != (int)OrderStatus.Canceled && purchaseOrder.OrderStatusValue != (int)OrderStatus.Rejected && purchaseOrder.OrderStatusValue != (int)OrderStatus.Waitting)
            {
                txtApprovedStatus.Text = EnumHelper <OrderStatus> .GetDisplayValue(OrderStatus.Approved);
            }
            else
            {
                txtApprovedStatus.Text = EnumHelper <OrderStatus> .GetDisplayValue((OrderStatus)purchaseOrder.OrderStatusValue);
            }
            this.dataGridView1.AutoGenerateColumns = false;
            this.dataGridView1.DataSource          = PharmacyDatabaseService.GetPurchaseOrderDetails(out msg, purchaseOrder.Id).ToList();
            this.dataGridView1.ReadOnly            = true;
            _purchaseOrderId = purchaseOrder.Id;
        }
Exemple #8
0
        //创建收货单 开始收货
        public FormReceivingOrder(PurchaseOrdeEntity order, List <PurchaseOrderDetailEntity> orderDetails)
            : this()
        {
            _order.Description                = "";
            _order.PurchaseOrderId            = order.Id;
            _order.OperateUserId              = AppClientContext.CurrentUser.Id;
            _order.RelatedOrderDocumentNumber = order.DocumentNumber;
            _order.RelatedOrderId             = order.Id;
            _order.RelatedOrderTypeValue      = (int)OrderType.PurchaseOrder;
            _order.SupplyUnitId               = order.SupplyUnitId;
            _order.SupplyUnitName             = order.SupplyUnitName;
            _order.OrderStatus                = order.OrderStatusValue;

            if (order.OrderStatusValue == (int)OrderStatus.purchaseMReceiving)
            {
                PurchaseCommonEntity[] orderEntity = this.PharmacyDatabaseService.GetPurchaseReceivingOrdersByPurchaseOrderId(out msg, order.Id);
                if (orderEntity.Count() > 0)
                {
                    this.Column2.Visible       = true;
                    ShippingTime.Text          = orderEntity[0].ShippingTime.ToString("yyyy年MM月dd日 HH时mm分");
                    textBoxShippingAdress.Text = orderEntity[0].ShippingAdress;
                    textBoxShippingUnit.Text   = orderEntity[0].ShippingUnit;
                    textBoxTransportUnit.Text  = orderEntity[0].TransportUnit;
                    textBoxDescription.Text    = orderEntity[0].Description;

                    #region 如果是多次收货状态,则读入已收货单
                    if (order.OrderStatusValue == (int)OrderStatus.purchaseMReceiving)
                    {
                        this.clmDrugNumber.HeaderText = "前次已到货数量";
                        this.clmDrugNumber.ReadOnly   = true;
                        this.ReceiveAmount.HeaderText = "前次已收货数量";
                        this.ReceiveAmount.ReadOnly   = true;
                        var c = this.PharmacyDatabaseService.GetPurchaseReceivingOrderDetails(out msg, orderEntity[0].Id);
                        this._orderDetails = (from i in c group i by i.DrugInfoId into g
                                              select new PurchaseReceivingOrderDetailEntity
                        {
                            ActualAmount = g.Sum(r => r.ActualAmount),
                            Amount = g.FirstOrDefault().Amount,
                            ProductGeneralName = g.FirstOrDefault().ProductGeneralName,
                            ReceiveAmount = g.Sum(r => r.ReceiveAmount),
                            RejectAmount = g.Sum(r => r.RejectAmount),
                            BusinessScopeCode = g.FirstOrDefault().BusinessScopeCode,
                            CheckResult = g.FirstOrDefault().CheckResult,
                            CheckResultString = g.FirstOrDefault().CheckResultString,
                            Decription = g.FirstOrDefault().Decription,
                            DictionaryDosageCode = g.FirstOrDefault().DictionaryDosageCode,
                            DictionaryMeasurementUnitCode = g.FirstOrDefault().DictionaryMeasurementUnitCode,
                            DictionarySpecificationCode = g.FirstOrDefault().DictionarySpecificationCode,
                            DrugInfoId = g.FirstOrDefault().DrugInfoId,
                            FactoryName = g.FirstOrDefault().FactoryName,
                            Id = g.FirstOrDefault().Id,
                            IsCompanyPurchase = g.FirstOrDefault().IsCompanyPurchase,
                            IsTransportMethod = g.FirstOrDefault().IsTransportMethod,
                            IsTransportTemperature = g.FirstOrDefault().IsTransportTemperature,
                            LicensePermissionNumber = g.FirstOrDefault().LicensePermissionNumber,
                            Origin = g.FirstOrDefault().Origin,
                            PurchasePrice = g.FirstOrDefault().PurchasePrice,
                            PurchaseReceivingOrderId = g.FirstOrDefault().PurchaseReceivingOrderId,
                            RejectReason = g.FirstOrDefault().RejectReason,
                            RejectTrace = g.FirstOrDefault().RejectTrace,
                            sequence = g.FirstOrDefault().sequence,
                            TemperatureStatus = g.FirstOrDefault().TemperatureStatus,
                            TransportMethod = g.FirstOrDefault().TransportMethod,
                            TransportTemperature = g.FirstOrDefault().TransportTemperature,
                            MReceiveNumber = g.FirstOrDefault().MReceiveNumber,
                        }).ToList();
                    }

                    #endregion
                }
            }
            else
            {
                foreach (PurchaseOrderDetailEntity d in orderDetails)
                {
                    PurchaseReceivingOrderDetailEntity c = new PurchaseReceivingOrderDetailEntity();
                    c.Amount                        = d.Amount;
                    c.ActualAmount                  = d.Amount;
                    c.Decription                    = "";
                    c.CheckResult                   = 0;
                    c.ReceiveAmount                 = d.Amount;
                    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.IsCompanyPurchase             = true;
                    c.IsTransportMethod             = true;
                    c.IsTransportTemperature        = true;
                    c.Origin                        = d.Origin;
                    c.sequence                      = d.sequence;
                    c.BusinessScopeCode             = d.SupplyBusinessScope;
                    _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);
            }
        }
Exemple #9
0
        /// <summary>
        /// 初始化画面
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormSalesOrderEdit_Load(object sender, EventArgs e)
        {
            switch (_orderStatus)
            {
            case OrderStatus.Waitting:       //等待审批状态
                receivingButton.Visible = false;
                panel3.Visible          = true;
                break;

            case OrderStatus.PurchaseReceinvingAmountDiff:    //收货数量不符
                receivingButton.Visible = false;
                btnAdd.Visible          = false;
                btnCancel.Visible       = false;
                btnSubmit.Visible       = false;
                panel3.Visible          = false;
                this.label1.Text       += "(采购数量不足)";
                //审批
                tsbtnAccept.Visible = false;
                break;

            case OrderStatus.PurchaseApplyReceinvingAmountDiff:    //采购数量修改申请
                receivingButton.Visible = false;
                btnAdd.Visible          = false;
                btnCancel.Visible       = false;
                btnSubmit.Visible       = false;
                panel3.Visible          = false;
                this.label1.Text       += "(数量不足修改申请)";
                break;

            case OrderStatus.Rejected:
                btnCancel.Visible   = false;
                tsbtnAccept.Visible = false;
                btnAdd.Visible      = false;
                btnSubmit.Visible   = false;
                this.label1.Text   += "(采购定单拒绝)";
                break;

            case OrderStatus.Approved:
                tlbtn结算.Visible     = false;
                btnCancel.Visible   = false;
                tsbtnAccept.Visible = false;
                btnAdd.Visible      = false;
                btnSubmit.Visible   = false;
                this.label1.Text   += "(审核通过)";
                break;

            case OrderStatus.purchaseMReceiving:
                tlbtn结算.Visible     = false;
                btnCancel.Visible   = false;
                tsbtnAccept.Visible = false;
                btnAdd.Visible      = false;
                btnSubmit.Visible   = false;
                this.label1.Text   += "(采购记录多次收货)";
                break;

            case OrderStatus.Canceled:
                receivingButton.Visible = false;
                btnAdd.Visible          = false;
                btnSubmit.Visible       = false;
                btnCancel.Visible       = false;
                tlbtn结算.Visible         = false;
                btnCancel.Visible       = false;
                tsbtnAccept.Visible     = false;
                panel3.Visible          = true;
                this.label1.Text       += "(定单取消)";
                break;

            case OrderStatus.PurchaseCheck:
                tlbtn结算.Visible     = false;
                btnCancel.Visible   = false;
                tsbtnAccept.Visible = false;
                btnAdd.Visible      = false;
                btnSubmit.Visible   = false;
                break;

            case OrderStatus.PurchaseInInventory:    //入库
                receivingButton.Visible = false;
                tlbtn结算.Visible         = false;
                btnCancel.Visible       = false;
                tsbtnAccept.Visible     = false;
                btnAdd.Visible          = false;
                btnSubmit.Visible       = false;
                this.label1.Text       += "(定单入库)";
                break;

            case OrderStatus.PurchaseApprovedReceinvingAmountDiff:
                tlbtn结算.Visible     = false;
                btnCancel.Visible   = false;
                tsbtnAccept.Visible = false;
                btnAdd.Visible      = false;
                btnSubmit.Visible   = false;
                this.label1.Text   += "(数量不足审核通过)";
                break;

            default:
                receivingButton.Visible = false;
                tlbtn结算.Visible         = false;
                btnCancel.Visible       = false;
                tsbtnAccept.Visible     = false;
                btnAdd.Visible          = false;
                btnSubmit.Visible       = false;
                this.label1.Text       += "(定单已结算)";
                break;
            }
            string msg = string.Empty;

            _purchaseOrder           = _order;
            label5.Text              = _purchaseOrder.SupplyUnitName;
            nudTotalMoney.Value      = _purchaseOrder.TotalMoney;
            txtEmployeeName.Text     = _purchaseOrder.EmployeeName;
            lblOrderNo.Text          = _purchaseOrder.DocumentNumber;
            dtpAllReceiptedDate.Text = _purchaseOrder.AllReceiptedDate == null ? "" : _purchaseOrder.AllReceiptedDate.ToString();
            lblCreateDate.Text       = _purchaseOrder.CreateTime.ToShortDateString();
            lblOrderStatus.Text      = EnumHelper <OrderStatus> .GetDisplayValue((OrderStatus)_purchaseOrder.OrderStatusValue);

            label10.Text             = _purchaseOrder.EmployeeName;
            label11.Text             = _purchaseOrder.ReceiveUnit;
            label16.Text             = _purchaseOrder.Address;
            txtDescription.Text      = _purchaseOrder.Description;
            _listPurchaseOrderDetail = PharmacyDatabaseService.GetPurchaseOrderDetails(out msg, _purchaseOrder.Id).ToList();
            this.dataGridView1.AutoGenerateColumns = false;

            if (this._listPurchaseOrderDetail.Count(r => r.SupplyBusinessScope.Contains("医疗器械")) == this._listPurchaseOrderDetail.Count)
            {
                this.GoogsTypeClass = GoodsTypeClass.医疗器械;
                this.LicensePermissionNumber.HeaderText = "注册证或备案凭证编号";
            }

            this.dataGridView1.DataSource = _listPurchaseOrderDetail.ToList();
            if (_orderStatus == OrderStatus.PurchaseReceinvingAmountDiff)
            {
            }
            else
            {
                this.dataGridView1.ReadOnly = true;
            }
            if (_onlySearch)
            {
                btnAddDetail.Visible        = false;
                btnDeleteDetail.Visible     = false;
                receivingButton.Visible     = false;
                tlbtn结算.Visible             = false;
                btnCancel.Visible           = false;
                tsbtnAccept.Visible         = false;
                btnAdd.Visible              = false;
                btnSubmit.Visible           = false;
                this.dataGridView1.ReadOnly = true;
                dtpAllReceiptedDate.Enabled = false;
                txtDescription.Enabled      = false;
            }
            if (btnAdd.Visible == true)
            {
                this.btnAdd.Visible    = this.Authorize(ModuleKeys.EditPurchaseOrder);
                this.btnSubmit.Visible = this.Authorize(ModuleKeys.EditPurchaseOrder);
                this.btnCancel.Visible = this.Authorize(ModuleKeys.EditPurchaseOrder);
            }
            if (tsbtnAccept.Visible == true)
            {
                tsbtnAccept.Visible = this.Authorize(ModuleKeys.ApprovalPurchaseOrder);
            }
            if (btnModifyPurchaseAmount.Visible == true)
            {
                btnModifyPurchaseAmount.Visible = this.Authorize(ModuleKeys.ApprovalPurchaseOrder);
            }
            if (receivingButton.Visible == true)
            {
                receivingButton.Visible = this.Authorize(ModuleKeys.PurchaseReceiving);
            }
        }
 public FormPurchaseOrder(PurchaseOrdeEntity purchaseOrder)
     : this()
 {
     InitData(purchaseOrder);
 }