Beispiel #1
0
 public void AddFormReimburseSKUDetail(int?FormReimburseID, int SKUID, decimal UnitPrice, decimal Quantity, string Remark)
 {
     FormDS.FormReimburseSKUDetailRow rowDetail = this.FormDataSet.FormReimburseSKUDetail.NewFormReimburseSKUDetailRow();
     rowDetail.FormReimburseID = FormReimburseID.GetValueOrDefault();
     rowDetail.SKUID           = SKUID;
     ERS.SKURow sku = new MasterDataBLL().GetSKUById(SKUID);
     rowDetail.PackageQuantity = sku.PackageQuantity;
     rowDetail.UnitPrice       = UnitPrice;
     rowDetail.Quantity        = Quantity;
     rowDetail.Amount          = UnitPrice * Quantity;
     rowDetail.Remark          = Remark;
     // 填加行并进行更新处理
     this.FormDataSet.FormReimburseSKUDetail.AddFormReimburseSKUDetailRow(rowDetail);
 }
Beispiel #2
0
 public void UpdateFormReimburseSKUDetail(int FormReimburseSKUDetailID, int SKUID, decimal UnitPrice, decimal Quantity, string Remark)
 {
     FormDS.FormReimburseSKUDetailRow rowDetail = this.FormDataSet.FormReimburseSKUDetail.FindByFormReimburseSKUDetailID(FormReimburseSKUDetailID);
     if (rowDetail == null)
     {
         return;
     }
     rowDetail.SKUID = SKUID;
     ERS.SKURow sku = new MasterDataBLL().GetSKUById(SKUID);
     rowDetail.PackageQuantity = sku.PackageQuantity;
     rowDetail.UnitPrice       = UnitPrice;
     rowDetail.Quantity        = Quantity;
     rowDetail.Amount          = UnitPrice * Quantity;
     rowDetail.Remark          = Remark;
 }
Beispiel #3
0
 protected void gvSKUDetails_RowDataBound(object sender, GridViewRowEventArgs e)
 {
     // 对数据列进行赋值
     if (e.Row.RowType == DataControlRowType.DataRow)
     {
         DataRowView drvDetail = (DataRowView)e.Row.DataItem;
         FormDS.FormReimburseSKUDetailRow row = (FormDS.FormReimburseSKUDetailRow)drvDetail.Row;
         SKUFeeTotal = decimal.Round((SKUFeeTotal + row.Amount), 2);
     }
     if (e.Row.RowType == DataControlRowType.Footer)
     {
         Label totalskulbl = (Label)e.Row.FindControl("totalskulbl");
         totalskulbl.Text = SKUFeeTotal.ToString("N");
     }
 }
Beispiel #4
0
 public void AddFormReimburseDelivery(int FormReimburseSKUDetailID, string DeliveryNo, decimal DeliveryQuantity, DateTime DeliveryDate, string Remark)
 {
     FormDS.FormReimburseDeliveryDataTable table     = new FormDS.FormReimburseDeliveryDataTable();
     FormDS.FormReimburseDeliveryRow       rowDetail = table.NewFormReimburseDeliveryRow();
     rowDetail.FormReimburseSKUDetailID = FormReimburseSKUDetailID;
     rowDetail.DeliveryNo       = DeliveryNo;
     rowDetail.DeliveryQuantity = DeliveryQuantity;
     rowDetail.DeliveryDate     = DeliveryDate;
     FormDS.FormReimburseSKUDetailRow skuDetailRow = this.TAFormReimburseSKUDetail.GetDataByID(rowDetail.FormReimburseSKUDetailID)[0];
     ERS.SKURow sku = new MasterDataBLL().GetSKUById(skuDetailRow.SKUID);
     rowDetail.DeliveryAmount = skuDetailRow.UnitPrice * DeliveryQuantity;
     rowDetail.DeliveryCost   = sku.CostPrice * DeliveryQuantity;
     rowDetail.Remark         = Remark;
     table.AddFormReimburseDeliveryRow(rowDetail);
     this.TAFormReimburseDelivery.Update(table);
 }
Beispiel #5
0
 public void UpdateFormReimburseDelivery(int FormReimburseDeliveryID, string DeliveryNo, decimal DeliveryQuantity, DateTime DeliveryDate, string Remark)
 {
     FormDS.FormReimburseDeliveryRow rowDetail = this.TAFormReimburseDelivery.GetDataByID(FormReimburseDeliveryID)[0];
     if (rowDetail == null)
     {
         return;
     }
     rowDetail.DeliveryNo       = DeliveryNo;
     rowDetail.DeliveryQuantity = DeliveryQuantity;
     rowDetail.DeliveryDate     = DeliveryDate;
     FormDS.FormReimburseSKUDetailRow skuDetailRow = this.TAFormReimburseSKUDetail.GetDataByID(rowDetail.FormReimburseSKUDetailID)[0];
     ERS.SKURow sku = new MasterDataBLL().GetSKUById(skuDetailRow.SKUID);
     rowDetail.DeliveryAmount = skuDetailRow.UnitPrice * DeliveryQuantity;
     rowDetail.DeliveryCost   = sku.CostPrice * DeliveryQuantity;
     rowDetail.Remark         = Remark;
     this.TAFormReimburseDelivery.Update(rowDetail);
 }
Beispiel #6
0
        public void AddFormReimburseGoods(int?RejectedFormID, int UserID, int?ProxyUserID, int?ProxyPositionID, int OrganizationUnitID, int PositionID, SystemEnums.FormType FormTypeID,
                                          SystemEnums.FormStatus StatusID, int CustomerID, int PaymentTypeID, string AttachedFileName, string RealAttachedFileName, string Remark, string FormApplyIds, string FormApplyNos, string FlowTemplate)
        {
            SqlTransaction transaction = null;

            try {
                transaction = TableAdapterHelper.BeginTransaction(this.TAForm);
                TableAdapterHelper.SetTransaction(this.TAFormReimburse, transaction);
                TableAdapterHelper.SetTransaction(this.TAFormReimburseDetail, transaction);
                TableAdapterHelper.SetTransaction(this.TAFormReimburseSKUDetail, transaction);

                FormDS.FormRow formRow = this.FormDataSet.Form.NewFormRow();
                if (RejectedFormID != null)
                {
                    formRow.RejectedFormID = RejectedFormID.GetValueOrDefault();
                }
                formRow.UserID = UserID;
                UtilityBLL utility = new UtilityBLL();
                if (StatusID == SystemEnums.FormStatus.Awaiting)
                {
                    string formTypeString = utility.GetFormTypeString((int)FormTypeID);
                    formRow.FormNo = utility.GetFormNo(formTypeString);
                }
                else
                {
                    formRow.SetFormNoNull();
                }
                if (ProxyUserID != null)
                {
                    formRow.ProxyUserID = ProxyUserID.GetValueOrDefault();
                }
                if (ProxyPositionID != null)
                {
                    formRow.ProxyPositionID = ProxyPositionID.GetValueOrDefault();
                }
                formRow.OrganizationUnitID = OrganizationUnitID;
                formRow.PositionID         = PositionID;
                formRow.FormTypeID         = (int)FormTypeID;
                formRow.StatusID           = (int)StatusID;
                formRow.SubmitDate         = DateTime.Now;
                formRow.LastModified       = DateTime.Now;
                formRow.InTurnUserIds      = "P"; //待改动
                formRow.InTurnPositionIds  = "P"; //待改动
                formRow.PageType           = (int)SystemEnums.PageType.ReimburseGoodsApply;
                this.FormDataSet.Form.AddFormRow(formRow);
                this.TAForm.Update(formRow);

                //处理申请表的内容
                FormDS.FormReimburseRow FormReimburseRow = this.FormDataSet.FormReimburse.NewFormReimburseRow();
                FormReimburseRow.FormReimburseID = formRow.FormID;
                FormReimburseRow.CustomerID      = CustomerID;
                FormReimburseRow.PaymentTypeID   = PaymentTypeID;
                FormReimburseRow.Amount          = 0;//默认值
                if (AttachedFileName != null && AttachedFileName != string.Empty)
                {
                    FormReimburseRow.AttachedFileName = AttachedFileName;
                }
                if (RealAttachedFileName != null && RealAttachedFileName != string.Empty)
                {
                    FormReimburseRow.RealAttachedFileName = RealAttachedFileName;
                }
                if (Remark != null && Remark != string.Empty)
                {
                    FormReimburseRow.Remark = Remark;
                }
                FormReimburseRow.FormApplyIds       = FormApplyIds;
                FormReimburseRow.FormApplyNos       = FormApplyNos;
                FormReimburseRow.IsDeliveryComplete = false;

                this.FormDataSet.FormReimburse.AddFormReimburseRow(FormReimburseRow);
                this.TAFormReimburse.Update(FormReimburseRow);


                //处理free goods明细
                if (RejectedFormID != null)
                {
                    FormDS.FormReimburseSKUDetailDataTable newFGTable = new FormDS.FormReimburseSKUDetailDataTable();
                    foreach (FormDS.FormReimburseSKUDetailRow detailFGRow in this.FormDataSet.FormReimburseSKUDetail)
                    {
                        // 与父表绑定
                        if (detailFGRow.RowState != DataRowState.Deleted)
                        {
                            FormDS.FormReimburseSKUDetailRow newDetailFGRow = newFGTable.NewFormReimburseSKUDetailRow();
                            newDetailFGRow.FormReimburseID = FormReimburseRow.FormReimburseID;
                            newDetailFGRow.SKUID           = detailFGRow.SKUID;
                            newDetailFGRow.PackageQuantity = detailFGRow.PackageQuantity;
                            newDetailFGRow.UnitPrice       = detailFGRow.UnitPrice;
                            newDetailFGRow.Quantity        = detailFGRow.Quantity;
                            newDetailFGRow.Amount          = detailFGRow.Amount;

                            if (!detailFGRow.IsRemarkNull())
                            {
                                newDetailFGRow.Remark = detailFGRow.Remark;
                            }
                            newFGTable.AddFormReimburseSKUDetailRow(newDetailFGRow);
                        }
                    }
                    this.TAFormReimburseSKUDetail.Update(newFGTable);
                }
                else
                {
                    foreach (FormDS.FormReimburseSKUDetailRow detailFGRow in this.FormDataSet.FormReimburseSKUDetail)
                    {
                        // 与父表绑定
                        if (detailFGRow.RowState != DataRowState.Deleted)
                        {
                            detailFGRow.FormReimburseID = FormReimburseRow.FormReimburseID;
                        }
                    }
                    this.TAFormReimburseSKUDetail.Update(this.FormDataSet.FormReimburseSKUDetail);
                }

                //明细表
                decimal totalAmount = 0;//计算总申请金额
                FormDS.FormReimburseDetailDataTable newDetailTable = new FormDS.FormReimburseDetailDataTable();
                foreach (FormDS.FormReimburseDetailRow detailRow in this.FormDataSet.FormReimburseDetail)
                {
                    // 与父表绑定
                    if (detailRow.RowState != DataRowState.Deleted)
                    {
                        totalAmount += detailRow.Amount;

                        FormDS.FormReimburseDetailRow newDetailRow = newDetailTable.NewFormReimburseDetailRow();
                        newDetailRow.FormReimburseID          = FormReimburseRow.FormReimburseID;
                        newDetailRow.FormApplyExpenseDetailID = detailRow.FormApplyExpenseDetailID;
                        newDetailRow.ApplyFormNo        = detailRow.ApplyFormNo;
                        newDetailRow.ApplyPeriod        = detailRow.ApplyPeriod;
                        newDetailRow.ShopID             = detailRow.ShopID;
                        newDetailRow.SKUID              = detailRow.SKUID;
                        newDetailRow.ExpenseItemID      = detailRow.ExpenseItemID;
                        newDetailRow.ApplyAmount        = detailRow.ApplyAmount;
                        newDetailRow.RemainAmount       = detailRow.RemainAmount;
                        newDetailRow.Amount             = detailRow.Amount;
                        newDetailRow.ApplyPaymentTypeID = detailRow.ApplyPaymentTypeID;
                        newDetailRow.FormApplyID        = detailRow.FormApplyID;
                        newDetailRow.AccruedAmount      = detailRow.IsAccruedAmountNull() ? 0 : detailRow.AccruedAmount;
                        newDetailTable.AddFormReimburseDetailRow(newDetailRow);
                    }
                }
                this.TAFormReimburseDetail.Update(newDetailTable);
                FormReimburseRow.Amount = totalAmount;
                this.TAFormReimburse.Update(FormReimburseRow);

                //作废之前的单据
                if (RejectedFormID != null)
                {
                    FormDS.FormRow oldRow = this.TAForm.GetDataByID(RejectedFormID.GetValueOrDefault())[0];
                    if (oldRow.StatusID == (int)SystemEnums.FormStatus.Rejected)
                    {
                        oldRow.StatusID = (int)SystemEnums.FormStatus.Scrap;
                        this.TAForm.Update(oldRow);
                    }
                }

                // 正式提交或草稿
                if (StatusID == SystemEnums.FormStatus.Awaiting)
                {
                    Dictionary <string, object> dic = new Dictionary <string, object>();
                    dic["Apply_Amount"] = totalAmount;
                    //dic["Dept"] = new AuthorizationDSTableAdapters.OrganizationUnitTableAdapter().GetOrganizationUnitCodeByOrganizationUnitID(formRow.OrganizationUnitID)[0].OrganizationUnitCode;
                    dic["Expense_Category"] = getExpenseCategoryIDByFormID(int.Parse(FormApplyIds.Split(',')[0])).ToString();//此处待改动
                    APHelper AP = new APHelper();
                    new APFlowBLL().ApplyForm(AP, TAForm, RejectedFormID, formRow, OrganizationUnitID, FlowTemplate, StatusID, dic);
                }

                transaction.Commit();
            } catch (Exception ex) {
                transaction.Rollback();
                throw new ApplicationException("Save Fail!" + ex.ToString());
            } finally {
                transaction.Dispose();
            }
        }