public void CancelTransportationBill(string billNo, User user)
        {
            TransportationBill oldTransportationBill = this.CheckAndLoadTransportationBill(billNo);

            #region 检查状态
            if (oldTransportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_SUBMIT)
            {
                throw new BusinessErrorException("TransportationBill.Error.StatusErrorWhenCancel", oldTransportationBill.Status, oldTransportationBill.BillNo);
            }
            #endregion

            if (oldTransportationBill.TransportationBillDetails != null && oldTransportationBill.TransportationBillDetails.Count > 0)
            {
                foreach (TransportationBillDetail newTransportationBillDetail in oldTransportationBill.TransportationBillDetails)
                {
                    TransportationBillDetail oldTransportationBillDetail = this.transportationBillDetailMgr.LoadTransportationBillDetail(newTransportationBillDetail.Id);

                    //反向更新TransportationActBill
                    this.transportationActBillMgr.ReverseUpdateTransportationActBill(oldTransportationBillDetail, null, user);

                    #region 记录开票事务

                    /*20110422 Tag 先做标记,后期补充
                     * this.billTransactionMgr.RecordBillTransaction(oldTransportationBillDetail, user, true);
                     */
                    #endregion
                }
            }

            oldTransportationBill.Status         = BusinessConstants.CODE_MASTER_STATUS_VALUE_CANCEL;
            oldTransportationBill.LastModifyUser = user;
            oldTransportationBill.LastModifyDate = DateTime.Now;

            this.UpdateTransportationBill(oldTransportationBill);
        }
        public void ReleaseTransportationBill(string billNo, User user)
        {
            TransportationBill oldTransportationBill = this.CheckAndLoadTransportationBill(billNo);

            #region 检查状态
            if (oldTransportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)
            {
                throw new BusinessErrorException("TransportationBill.Error.StatusErrorWhenRelease", oldTransportationBill.Status, oldTransportationBill.BillNo);
            }
            #endregion

            #region 检查明细不能为空
            if (oldTransportationBill.TransportationBillDetails == null || oldTransportationBill.TransportationBillDetails.Count == 0)
            {
                throw new BusinessErrorException("TransportationBill.Error.EmptyBillDetail", oldTransportationBill.BillNo);
            }
            #endregion

            #region 记录开票事务

            /*20110422 Tag 先做标记,后期补充
             * foreach (TransportationBillDetail transportationBillDetail in oldTransportationBill.TransportationBillDetails)
             * {
             *  this.billTransactionMgr.RecordBillTransaction(transportationBillDetail, user, false);
             * }
             */
            #endregion

            oldTransportationBill.Status         = BusinessConstants.CODE_MASTER_STATUS_VALUE_SUBMIT;
            oldTransportationBill.LastModifyUser = user;
            oldTransportationBill.LastModifyDate = DateTime.Now;

            this.UpdateTransportationBill(oldTransportationBill);
        }
示例#3
0
    /// <summary>
    /// 运单导出
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnExport_Click(object sender, EventArgs e)
    {
        TransportationBill tb = TheTransportationBillMgr.LoadTransportationBill(this.BillNo, true);
        IList <TransportationBillDetail> detail = tb.TransportationBillDetails;

        getExcel(tb, detail, true);
    }
示例#4
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        try
        {
            IList <TransportationBillDetail> transportationBillDetailList = PopulateData(false);
            TransportationBill transportationBill = this.TheTransportationBillMgr.LoadTransportationBill(this.BillNo);
            TextBox            tbExternalBillNo   = this.FV_TransportationBill.FindControl("tbExternalBillNo") as TextBox;
            if (tbExternalBillNo.Text.Trim() != string.Empty)
            {
                transportationBill.ExternalBillNo = tbExternalBillNo.Text.Trim();
            }
            else
            {
                transportationBill.ExternalBillNo = null;
            }

            if (this.tbTotalDiscount.Text.Trim() != string.Empty)
            {
                transportationBill.Discount = decimal.Parse(this.tbTotalDiscount.Text.Trim());
            }
            else
            {
                transportationBill.Discount = null;
            }
            transportationBill.TransportationBillDetails = transportationBillDetailList;
            this.TheTransportationBillMgr.UpdateTransportationBill(transportationBill, this.CurrentUser);
            this.ShowSuccessMessage("Transportation.TransportationBill.UpdateSuccessfully", this.BillNo);
            this.FV_TransportationBill.DataBind();
        }
        catch (BusinessErrorException ex)
        {
            this.ShowErrorMessage(ex);
        }
    }
        public void AddTransportationBillDetail(string billNo, IList <TransportationActBill> transportationActBillList, User user)
        {
            TransportationBill oldTransportationBill = this.CheckAndLoadTransportationBill(billNo, true);

            #region 检查状态
            if (oldTransportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)
            {
                throw new BusinessErrorException("TransportationBill.Error.StatusErrorWhenAddDetail", oldTransportationBill.Status, oldTransportationBill.BillNo);
            }
            #endregion

            if (transportationActBillList != null && transportationActBillList.Count > 0)
            {
                foreach (TransportationActBill transportationActBill in transportationActBillList)
                {
                    TransportationActBill oldTransportationActBill = this.transportationActBillMgr.LoadTransportationActBill(transportationActBill.Id);
                    oldTransportationActBill.CurrentBillQty  = transportationActBill.CurrentBillQty;
                    oldTransportationActBill.CurrentDiscount = transportationActBill.CurrentDiscount;

                    TransportationBillDetail transportationBillDetail = this.transportationBillDetailMgr.TransferTransportationActBill2TransportationBillDetail(oldTransportationActBill);
                    transportationBillDetail.Bill = oldTransportationBill;
                    oldTransportationBill.AddTransportationBillDetail(transportationBillDetail);

                    this.transportationBillDetailMgr.CreateTransportationBillDetail(transportationBillDetail);
                    //扣减TransportationActBill数量和金额
                    this.transportationActBillMgr.ReverseUpdateTransportationActBill(null, transportationBillDetail, user);
                }

                oldTransportationBill.LastModifyDate = DateTime.Now;
                oldTransportationBill.LastModifyUser = user;

                this.UpdateTransportationBill(oldTransportationBill);
            }
        }
        public void DeleteTransportationBill(string billNo, User user)
        {
            TransportationBill oldTransportationBill = this.CheckAndLoadTransportationBill(billNo, true);

            #region 检查状态
            if (oldTransportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)
            {
                throw new BusinessErrorException("TransportationBill.Error.StatusErrorWhenDelete", oldTransportationBill.Status, oldTransportationBill.BillNo);
            }
            #endregion

            if (oldTransportationBill.TransportationBillDetails != null && oldTransportationBill.TransportationBillDetails.Count > 0)
            {
                foreach (TransportationBillDetail transportationBillDetail in oldTransportationBill.TransportationBillDetails)
                {
                    TransportationBillDetail oldTransportationBillDetail = this.transportationBillDetailMgr.LoadTransportationBillDetail(transportationBillDetail.Id);
                    //扣减TransportationActBill数量和金额
                    this.transportationActBillMgr.ReverseUpdateTransportationActBill(oldTransportationBillDetail, null, user);

                    this.transportationBillDetailMgr.DeleteTransportationBillDetail(oldTransportationBillDetail);
                }
            }

            this.DeleteTransportationBill(oldTransportationBill);
        }
示例#7
0
    /// <summary>
    /// 金董春:添加打印功能,添加了TransportationBill.xls模板打印功能 2012-5-28
    /// </summary>
    /// <param name="list"></param>
    /// <returns></returns>
    public string WriteToFile(IList <object> list)
    {
        TransportationBill tb = (TransportationBill)list[0];

        return(getExcel(tb, tb.TransportationBillDetails, false).ToString());


        // Response.AddHeader("Content-Disposition", string.Format("attachment;filename=TempWorkBook.xls"));
        // Response.BinaryWrite(ms.ToArray());Reports/Templates/TempFiles
    }
示例#8
0
 protected void GV_List_RowDataBound(object sender, GridViewRowEventArgs e)
 {
     if (e.Row.RowType == DataControlRowType.DataRow)
     {
         TransportationBill transportationBill = (TransportationBill)e.Row.DataItem;
         if (transportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)
         {
             com.Sconit.Control.LinkButton lbtnDelete = e.Row.FindControl("lbtnDelete") as com.Sconit.Control.LinkButton;
             lbtnDelete.Visible = false;
         }
     }
 }
        public TransportationBill CheckAndLoadTransportationBill(string billNo)
        {
            TransportationBill transportationBill = this.LoadTransportationBill(billNo);

            if (transportationBill != null)
            {
                return(transportationBill);
            }
            else
            {
                throw new BusinessErrorException("TransportationBill.Error.BillNoNotExist", billNo);
            }
        }
        public TransportationBill CheckAndLoadTransportationBill(string billNo, bool includeBillDetail)
        {
            TransportationBill transportationBill = this.CheckAndLoadTransportationBill(billNo);

            if (includeBillDetail)
            {
                if (transportationBill.TransportationBillDetails != null && transportationBill.TransportationBillDetails.Count > 0)
                {
                }
            }

            return(transportationBill);
        }
示例#11
0
 public void InitPageParameter(bool isPopup, TransportationBill transportationBill)
 {
     if (isPopup)
     {
         this.billNo = transportationBill.BillNo;
         this.tbPartyCode.Visible  = false;
         this.ltlParty.Text        = transportationBill.BillAddress.Party.Name;
         this.ltlParty.Visible     = true;
         this.IsRelease.Visible    = false;
         this.btnConfirm.Visible   = false;
         this.btnBack.Visible      = false;
         this.btnAddDetail.Visible = true;
         this.btnClose.Visible     = true;
     }
 }
        public void CloseTransportationBill(string billNo, User user)
        {
            TransportationBill oldTransportationBill = this.CheckAndLoadTransportationBill(billNo);

            #region 检查状态
            if (oldTransportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_SUBMIT)
            {
                throw new BusinessErrorException("TransportationBill.Error.StatusErrorWhenClose", oldTransportationBill.Status, oldTransportationBill.BillNo);
            }
            #endregion

            oldTransportationBill.Status         = BusinessConstants.CODE_MASTER_STATUS_VALUE_CLOSE;
            oldTransportationBill.LastModifyUser = user;
            oldTransportationBill.LastModifyDate = DateTime.Now;

            this.UpdateTransportationBill(oldTransportationBill);
        }
示例#13
0
    protected void btnPrint_Click(object sender, EventArgs e)
    {
        TransportationBill transportationBill = this.TheTransportationBillMgr.LoadTransportationBill(this.BillNo, true);
        IList <object>     list = new List <object>();

        if (transportationBill != null)
        {
            list.Add(transportationBill);
            list.Add(transportationBill.TransportationBillDetails);
        }
        string barCodeUrl = WriteToFile(list);

        // barCodeUrl = TheReportMgr.WriteToFile("TransportationBill.xls", list);/*20110420 Tag 先做标记,后期补充  TransportationBill.xls没有开发*/

        Page.ClientScript.RegisterStartupScript(GetType(), "method", " <script language='javascript' type='text/javascript'>PrintOrder('" + barCodeUrl + "'); </script>");
        this.ShowSuccessMessage("Transportation.TransportationBill.Print.Successful");
    }
        public void DeleteTransportationBillDetail(IList <TransportationBillDetail> transportationBillDetailList, User user)
        {
            if (transportationBillDetailList != null && transportationBillDetailList.Count > 0)
            {
                IDictionary <string, TransportationBill> cachedBillDic = new Dictionary <string, TransportationBill>();

                foreach (TransportationBillDetail transportationBillDetail in transportationBillDetailList)
                {
                    TransportationBillDetail oldTransportationBillDetail = this.transportationBillDetailMgr.LoadTransportationBillDetail(transportationBillDetail.Id);
                    TransportationBill       transportationBill          = oldTransportationBillDetail.Bill;

                    #region 缓存TransportationBill
                    if (!cachedBillDic.ContainsKey(transportationBill.BillNo))
                    {
                        cachedBillDic.Add(transportationBill.BillNo, transportationBill);

                        #region 检查状态
                        if (transportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)
                        {
                            throw new BusinessErrorException("TransportationBill.Error.StatusErrorWhenDeleteDetail", transportationBill.Status, transportationBill.BillNo);
                        }
                        #endregion
                    }
                    #endregion

                    //扣减TransportationActBill数量和金额
                    this.transportationActBillMgr.ReverseUpdateTransportationActBill(oldTransportationBillDetail, null, user);

                    this.transportationBillDetailMgr.DeleteTransportationBillDetail(oldTransportationBillDetail);
                }

                #region 更新TransportationBill
                DateTime dateTimeNow = DateTime.Now;
                foreach (TransportationBill transportationBill in cachedBillDic.Values)
                {
                    transportationBill.LastModifyDate = dateTimeNow;
                    transportationBill.LastModifyUser = user;

                    this.UpdateTransportationBill(transportationBill);
                }
                #endregion
            }
        }
示例#15
0
    private void UpdateView(TransportationBill transportationBill)
    {
        #region 根据状态显示按钮
        if (transportationBill.Status == BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)
        {
            //this.btnSave.Visible = true;
            //this.btnSubmit.Visible = true;
            //this.btnDelete.Visible = true;
            //this.btnClose.Visible = false;
            //this.btnCancel.Visible = false;
            //this.btnVoid.Visible = false;
            //   this.btnAddDetail.Visible = true;
            //  this.btnDeleteDetail.Visible = true;
            //this.btnPrint.Visible = false;
        }
        else if (transportationBill.Status == BusinessConstants.CODE_MASTER_STATUS_VALUE_SUBMIT)
        {
            //this.btnSave.Visible = false;
            //this.btnSubmit.Visible = false;
            //this.btnDelete.Visible = false;
            //this.btnClose.Visible = true;
            //this.btnCancel.Visible = true;
            //this.btnVoid.Visible = false;
            //    this.btnAddDetail.Visible = false;
            //   this.btnDeleteDetail.Visible = false;
            //this.btnPrint.Visible = true;
        }
        else if (transportationBill.Status == BusinessConstants.CODE_MASTER_STATUS_VALUE_CANCEL)
        {
            //this.btnSave.Visible = false;
            //this.btnSubmit.Visible = false;
            //this.btnDelete.Visible = false;
            //this.btnClose.Visible = false;
            //this.btnCancel.Visible = false;
            //this.btnVoid.Visible = false;
            //  this.btnAddDetail.Visible = false;
            //  this.btnDeleteDetail.Visible = false;
            //this.btnPrint.Visible = false;
        }
        else if (transportationBill.Status == BusinessConstants.CODE_MASTER_STATUS_VALUE_CLOSE)
        {
            //this.btnSave.Visible = false;
            //this.btnSubmit.Visible = false;
            //this.btnDelete.Visible = false;
            //this.btnClose.Visible = false;
            //this.btnCancel.Visible = false;
            //this.btnPrint.Visible = false;
            if (transportationBill.BillType == BusinessConstants.CODE_TRANSPORTATION_TRANSPORTATIONBILL_TYPE_VALUE_CANCEL)
            {
                //this.btnVoid.Visible = false; ;
            }
            else
            {
                //this.btnVoid.Visible = true;
            }
            // this.btnAddDetail.Visible = false;
            // this.btnDeleteDetail.Visible = false;
        }
        else if (transportationBill.Status == BusinessConstants.CODE_MASTER_STATUS_VALUE_VOID)
        {
            //this.btnSave.Visible = false;
            //this.btnSubmit.Visible = false;
            //this.btnDelete.Visible = false;
            //this.btnClose.Visible = false;
            //this.btnCancel.Visible = false;
            //this.btnVoid.Visible = false;
            // this.btnAddDetail.Visible = false;
            //this.btnDeleteDetail.Visible = false;
            //this.btnPrint.Visible = false;
        }
        #endregion

        #region 根据状态隐藏/显示字段
        if (transportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)
        {
            this.Gv_List.Columns[0].Visible   = false;
            this.tbTotalDiscountRate.ReadOnly = true;
            this.tbTotalDiscount.ReadOnly     = true;

            TextBox tbExternalBillNo = this.FV_TransportationBill.FindControl("tbExternalBillNo") as TextBox;
            tbExternalBillNo.ReadOnly = true;
        }
        else
        {
            this.Gv_List.Columns[0].Visible   = true;
            this.tbTotalDiscountRate.ReadOnly = false;
            this.tbTotalDiscount.ReadOnly     = false;

            TextBox tbExternalBillNo = this.FV_TransportationBill.FindControl("tbExternalBillNo") as TextBox;
            tbExternalBillNo.ReadOnly = false;
        }
        #endregion

        #region 给总金额和折扣赋值
        this.tbTotalDetailAmount.Text = transportationBill.TotalBillDetailAmount.ToString("F2");
        this.tbTotalAmount.Text       = transportationBill.TotalBillAmount.ToString("F2");
        this.tbTotalDiscount.Text     = (transportationBill.Discount.HasValue ? transportationBill.Discount.Value : 0).ToString("F2");
        this.tbTotalDiscountRate.Text = transportationBill.TotalBillDiscountRate.ToString("F2");
        #endregion

        #region 初始化弹出窗口
        this.PartyCode = transportationBill.BillAddress.Party.Code;
        // this.ucNewSearch.InitPageParameter(true, transportationBill);
        #endregion

        UpdateDetailView(transportationBill.TransportationBillDetails);
    }
 public void AddTransportationBillDetail(TransportationBill transportationBill, IList <TransportationActBill> transportationActBillList, User user)
 {
     this.AddTransportationBillDetail(transportationBill.BillNo, transportationActBillList, user);
 }
示例#17
0
    protected void FV_TransportationBill_DataBound(object sender, EventArgs e)
    {
        TransportationBill transportationBill = (TransportationBill)((FormView)(sender)).DataItem;

        UpdateView(transportationBill);
    }
 public void UpdateTransportationBill(TransportationBill transportationBill, string userCode)
 {
     this.UpdateTransportationBill(transportationBill, this.userMgr.CheckAndLoadUser(userCode));
 }
 public void CloseTransportationBill(TransportationBill transportationBill, User user)
 {
     this.CloseTransportationBill(transportationBill.BillNo, user);
 }
        public void UpdateTransportationBill(TransportationBill transportationBill, User user)
        {
            TransportationBill oldTransportationBill = this.CheckAndLoadTransportationBill(transportationBill.BillNo, true);

            oldTransportationBill.Discount       = transportationBill.Discount;
            oldTransportationBill.ExternalBillNo = transportationBill.ExternalBillNo;

            #region 检查状态
            if (oldTransportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)
            {
                throw new BusinessErrorException("TransportationBill.Error.StatusErrorWhenUpdate", oldTransportationBill.Status, oldTransportationBill.BillNo);
            }
            #endregion

            #region 更新明细
            if (transportationBill.TransportationBillDetails != null && transportationBill.TransportationBillDetails.Count > 0)
            {
                foreach (TransportationBillDetail newTransportationBillDetail in transportationBill.TransportationBillDetails)
                {
                    TransportationBillDetail oldTransportationBillDetail = this.transportationBillDetailMgr.LoadTransportationBillDetail(newTransportationBillDetail.Id);
                    newTransportationBillDetail.ActBill      = oldTransportationBillDetail.ActBill;
                    newTransportationBillDetail.UnitPrice    = oldTransportationBillDetail.UnitPrice;
                    newTransportationBillDetail.Currency     = oldTransportationBillDetail.Currency;
                    newTransportationBillDetail.IsIncludeTax = oldTransportationBillDetail.IsIncludeTax;
                    newTransportationBillDetail.TaxCode      = oldTransportationBillDetail.TaxCode;

                    /*
                     *
                     * 1.TransType=Transportation 价格单明细(承运商) 或  短拨费(区域)时
                     * a.PricingMethod=M3或KG  按数量
                     * b.SHIPT   按金额
                     * 2.TransType=WarehouseLease(固定费用) 按金额
                     * 3.TransType=Operation(操作费) 按数量
                     */
                    if (oldTransportationBillDetail.TransType == BusinessConstants.TRANSPORTATION_PRICELIST_DETAIL_TYPE_OPERATION
                        ||
                        (oldTransportationBillDetail.TransType == BusinessConstants.TRANSPORTATION_PRICELIST_DETAIL_TYPE_TRANSPORTATION &&
                         (oldTransportationBillDetail.ActBill.PricingMethod == BusinessConstants.TRANSPORTATION_PRICING_METHOD_M3 || oldTransportationBillDetail.ActBill.PricingMethod == BusinessConstants.TRANSPORTATION_PRICING_METHOD_KG)
                        )
                        )
                    {
                        //反向更新TransportationActBill,会重新计算开票金额
                        if (oldTransportationBillDetail.BilledQty != newTransportationBillDetail.BilledQty)
                        {
                            this.transportationActBillMgr.ReverseUpdateTransportationActBill(
                                oldTransportationBillDetail, newTransportationBillDetail, user);
                        }

                        oldTransportationBillDetail.Amount    = newTransportationBillDetail.Amount;
                        oldTransportationBillDetail.BilledQty = newTransportationBillDetail.BilledQty;
                        oldTransportationBillDetail.Discount  = newTransportationBillDetail.Discount;
                    }
                    else
                    {
                        //反向更新TransportationActBill,会重新计算开票金额
                        if (oldTransportationBillDetail.Amount != newTransportationBillDetail.Amount)
                        {
                            this.transportationActBillMgr.ReverseUpdateTransportationActBill(
                                oldTransportationBillDetail, newTransportationBillDetail, user);
                        }

                        oldTransportationBillDetail.UnitPrice = newTransportationBillDetail.Amount;
                        oldTransportationBillDetail.Amount    = newTransportationBillDetail.Amount;
                        oldTransportationBillDetail.BilledQty = 1;
                        oldTransportationBillDetail.Discount  = newTransportationBillDetail.Discount;
                    }

                    this.transportationBillDetailMgr.UpdateTransportationBillDetail(oldTransportationBillDetail);
                }
            }
            #endregion

            oldTransportationBill.LastModifyUser = user;
            oldTransportationBill.LastModifyDate = DateTime.Now;

            this.UpdateTransportationBill(oldTransportationBill);
        }
 public void ReleaseTransportationBill(TransportationBill transportationBill, User user)
 {
     this.ReleaseTransportationBill(transportationBill.BillNo, user);
 }
 public void CloseTransportationBill(TransportationBill transportationBill, string userCode)
 {
     this.CloseTransportationBill(transportationBill.BillNo, this.userMgr.CheckAndLoadUser(userCode));
 }
 public void CancelTransportationBill(TransportationBill transportationBill, User user)
 {
     this.CancelTransportationBill(transportationBill.BillNo, user);
 }
示例#24
0
 public virtual void UpdateTransportationBill(TransportationBill entity)
 {
     Update(entity);
 }
示例#25
0
    /// <summary>
    /// 金董春:添加打印功能,添加了TransportationBill.xls模板打印功能 2012-5-28
    /// </summary>
    /// <param name="list"></param>
    /// <returns></returns>
    public string WriteToFile(IList <object> list)
    {
        string path = Server.MapPath(".") + @"\Reports\Templates\YFKExcelTemplates\TransportationBill.xls";

        if (File.Exists(path))
        {
            TransportationBill tb       = (TransportationBill)list[0];
            string             filename = @"/Reports/Templates/TempFiles/temp_" + DateTime.Now.ToString("yyyyMMddhhmmss") + tb.BillNo + ".xls";
            string             _wpath   = Server.MapPath(".") + filename;
            File.Copy(path, _wpath);
            FileStream   file         = new FileStream(_wpath, FileMode.Open, FileAccess.ReadWrite, FileShare.Read);
            HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);
            Sheet        sheet        = hssfworkbook.GetSheet("sheet1");
            NPOI.SS.UserModel.CellStyle normalStyle = setCellstyle(hssfworkbook, new string[] { "Border", "Center" });
            NPOI.SS.UserModel.CellStyle dateStyle   = setCellstyle(hssfworkbook, new string[] { "Border", "Center", "DateTime" });
            Cell cell = sheet.GetRow(2).GetCell(1);
            cell.SetCellValue(tb.BillNo);
            cell = sheet.GetRow(2).GetCell(6);
            cell.SetCellValue(tb.ReferenceBillNo);
            cell = sheet.GetRow(3).GetCell(1);
            cell.SetCellValue(tb.Status);
            int     i   = 10;
            decimal cnt = 0;
            foreach (TransportationBillDetail tbd in tb.TransportationBillDetails)
            {
                Row row = sheet.CreateRow(i);

                TransportationOrder tord = TheTransportationOrderMgr.LoadTransportationOrder(tbd.ActBill.OrderNo);
                row.CreateCell(0).SetCellValue(tord.CreateDate);                                                              //运输日期
                row.CreateCell(1).SetCellValue(tord.TransportationRoute != null ? tord.TransportationRoute.Description : ""); //运输路线
                row.CreateCell(2).SetCellValue(tbd.ActBill.PricingMethod != null ? tbd.ActBill.PricingMethod : "");           //运输形式
                row.CreateCell(3).SetCellValue(tord.OrderNo);                                                                 //运单号码
                row.CreateCell(4).SetCellValue(tbd.ActBill.EffectiveDate);                                                    //生效日期
                row.CreateCell(5).SetCellValue(tbd.ActBill.UnitPrice.ToString("F2"));                                         //单价
                row.CreateCell(6).SetCellValue(tbd.ActBill.Currency.Name);                                                    //币种
                row.CreateCell(7).SetCellValue(tbd.ActBill.BillQty.ToString("F0"));                                           //开票数
                row.CreateCell(8).SetCellValue(tbd.ActBill.BillAmount.ToString("F2"));                                        //金额
                cnt = Convert.ToInt32(tbd.ActBill.BillAmount) + cnt;
                for (int y = 0; y < 9; y++)
                {
                    row.GetCell(y).CellStyle = normalStyle;
                }
                row.GetCell(0).CellStyle = dateStyle;
                row.GetCell(4).CellStyle = dateStyle;
                i++;
            }
            if (i <= 20)
            {
                for (int j = i; j < 21; j++)
                {
                    Row row = sheet.CreateRow(j);
                    for (int y = 0; y < 9; y++)
                    {
                        row.CreateCell(y).CellStyle = normalStyle;
                    }
                }
                i = 20;
            }
            Row _row = sheet.CreateRow(i + 1);
            sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(i + 1, i + 1, 6, 7));
            _row.CreateCell(6).SetCellValue("合计发票金额:");
            _row.GetCell(6).CellStyle.Alignment = HorizontalAlignment.RIGHT;
            _row.CreateCell(8).SetCellValue(cnt.ToString("F2"));
            MemoryStream ms = new MemoryStream();
            hssfworkbook.Write(ms);

            // Response.AddHeader("Content-Disposition", string.Format("attachment;filename=TempWorkBook.xls"));
            // Response.BinaryWrite(ms.ToArray());Reports/Templates/TempFiles

            FileStream f    = new FileStream(_wpath, FileMode.Open, FileAccess.Write);
            byte[]     data = ms.ToArray();
            f.Write(data, 0, data.Length);
            f.Close();
            f.Dispose();
            hssfworkbook = null;
            ms.Close();
            ms.Dispose();
            return("http://" + Request.Url.Authority + filename);
        }

        return("");
    }
        public TransportationBill VoidTransportationBill(string billNo, User user)
        {
            TransportationBill oldTransportationBill = this.CheckAndLoadTransportationBill(billNo, true);
            DateTime           dateTimeNow           = DateTime.Now;

            #region 检查状态
            if (oldTransportationBill.Status != BusinessConstants.CODE_MASTER_STATUS_VALUE_CLOSE)
            {
                throw new BusinessErrorException("TransportationBill.Error.StatusErrorWhenVoid", oldTransportationBill.Status, oldTransportationBill.BillNo);
            }
            #endregion

            #region 创建作废账单
            TransportationBill voidTransportationBill = new TransportationBill();
            CloneHelper.CopyProperty(oldTransportationBill, voidTransportationBill, this.TransportationBillCloneField);

            voidTransportationBill.BillNo = this.numberControlMgr.GenerateNumber(BusinessConstants.CODE_PREFIX_TRANSPORTATIONBILL_RED);
            voidTransportationBill.Status = BusinessConstants.CODE_MASTER_STATUS_VALUE_CLOSE;
            if (oldTransportationBill.Discount.HasValue)
            {
                voidTransportationBill.Discount = 0 - oldTransportationBill.Discount.Value;
            }
            voidTransportationBill.ReferenceBillNo = oldTransportationBill.BillNo;
            voidTransportationBill.BillType        = BusinessConstants.CODE_TRANSPORTATION_TRANSPORTATIONBILL_TYPE_VALUE_CANCEL;
            voidTransportationBill.CreateDate      = dateTimeNow;
            voidTransportationBill.CreateUser      = user;
            voidTransportationBill.LastModifyDate  = dateTimeNow;
            voidTransportationBill.LastModifyUser  = user;

            this.CreateTransportationBill(voidTransportationBill);
            #endregion

            #region 创建作废账单明细
            foreach (TransportationBillDetail oldTransportationBillDetail in oldTransportationBill.TransportationBillDetails)
            {
                TransportationBillDetail voidTransportationBillDetail = new TransportationBillDetail();
                CloneHelper.CopyProperty(oldTransportationBillDetail, voidTransportationBillDetail, this.TransportationBillDetailCloneField);
                voidTransportationBillDetail.BilledQty = 0 - oldTransportationBillDetail.BilledQty;
                voidTransportationBillDetail.Discount  = 0 - oldTransportationBillDetail.Discount;
                voidTransportationBillDetail.Amount    = 0 - oldTransportationBillDetail.Amount;
                voidTransportationBillDetail.Bill      = voidTransportationBill;

                this.transportationBillDetailMgr.CreateTransportationBillDetail(voidTransportationBillDetail);
                voidTransportationBill.AddTransportationBillDetail(voidTransportationBillDetail);

                //反向更新TransportationActBill
                this.transportationActBillMgr.ReverseUpdateTransportationActBill(null, voidTransportationBillDetail, user);
            }
            #endregion

            #region 记录开票事务

            /*20110422 Tag 先做标记,后期补充
             * foreach (TransportationBillDetail transportationBillDetail in oldTransportationBill.TransportationBillDetails)
             * {
             *  this.billTransactionMgr.RecordBillTransaction(transportationBillDetail, user, true);
             * }
             */
            #endregion

            #region 更新原账单
            oldTransportationBill.ReferenceBillNo = voidTransportationBill.BillNo;
            oldTransportationBill.Status          = BusinessConstants.CODE_MASTER_STATUS_VALUE_VOID;
            oldTransportationBill.LastModifyDate  = dateTimeNow;
            oldTransportationBill.LastModifyUser  = user;

            this.UpdateTransportationBill(oldTransportationBill);
            #endregion

            return(voidTransportationBill);
        }
示例#27
0
 public virtual void CreateTransportationBill(TransportationBill entity)
 {
     Create(entity);
 }
 public TransportationBill VoidTransportationBill(TransportationBill transportationBill, string userCode)
 {
     return(this.VoidTransportationBill(transportationBill.BillNo, this.userMgr.CheckAndLoadUser(userCode)));
 }
示例#29
0
 public virtual void DeleteTransportationBill(TransportationBill entity)
 {
     Delete(entity);
 }
 public TransportationBill VoidTransportationBill(TransportationBill transportationBill, User user)
 {
     return(this.VoidTransportationBill(transportationBill.BillNo, user));
 }