private void SaveData() { string sUserName = Session["User"].ToString(); oDAL = new InvoiceDAL(); oClass = new InvoiceModel(); oClass.InvoiceNo = InvoiceNo.Value; oClass.InsuranceCompanyID = ddlInsurance.SelectedValue; oClass.PatientNo = ddlPatient.SelectedValue; oClass.CaseNo = CaseNo.Value; oClass.InvoiceDate = Convert.ToDateTime(InvoiceDate.Value); oClass.Medex = Convert.ToDecimal(Medex.Value); oClass.CaseFee = Convert.ToDecimal(CaseFee.Value); oClass.TotalBilled = Convert.ToDecimal(TotalBill.Value); oClass.DateBilled = Convert.ToDateTime(BillingDate.Value); oClass.DatePaid = Convert.ToDateTime(PaidDate.Value); oClass.StatusID = ddlStatus.SelectedValue; oClass.Remarks = txtRemarks.InnerText; string id = InvoiceID.Value; if (id == "") { oDAL.InsertData(sUserName, oClass); //lblMsg.Text = "New Record has been saved"; } else { oClass.ID = Convert.ToInt16(id); oDAL.UpdateData(sUserName, oClass); // lblMsg.Text = "Record has been updated"; } }
private void PrintInvoice(String HeadIdno) { InvoiceDAL obj = new InvoiceDAL(); String CityName = Session["fromcity"] as string; dttemp = obj.city(ApplicationFunction.ConnectionString(), CityName); String GRNo = HeadIdno; string CompName = ""; string Add1 = "", Add2 = ""; string PhNo = ""; string City = ""; string State = ""; string PanNo; string TinNo = ""; string FaxNo = ""; string GSTIN = ""; DataSet CompDetl = SqlHelper.ExecuteDataset(ApplicationFunction.ConnectionString(), CommandType.Text, "select * from tblcompmast A Left JOIN tblCITYMASTER CM On CM.city_idno=A.city_idno Left join tblStateMaster SM ON SM.state_idno=A.state_idno"); DataSet dsReport = SqlHelper.ExecuteDataset(ApplicationFunction.ConnectionString(), CommandType.Text, "EXEC [spInvGen] @ACTION='PJLBillINVOICE',@Id='" + HeadIdno + "'"); CompName = Convert.ToString(CompDetl.Tables[0].Rows[0]["Comp_Name"]); Add1 = Convert.ToString(CompDetl.Tables[0].Rows[0]["Adress1"]); if (dttemp.Rows.Count > 0) { Add2 = Convert.ToString(dttemp.Rows[0]["Address1"]) + "," + Convert.ToString(dttemp.Rows[0]["Address2"]); } //PhNo = "Phone No. (O) :" + Convert.ToString(CompDetl.Tables[0].Rows[0]["Phone_Off"] + " " + CompDetl.Tables[0].Rows[0]["Phone_Res"]); PhNo = Convert.ToString(CompDetl.Tables[0].Rows[0]["Phone_Off"] + "," + CompDetl.Tables[0].Rows[0]["Mobile_1"]); City = Convert.ToString(CompDetl.Tables[0].Rows[0]["City_Name"]); State = Convert.ToString(CompDetl.Tables[0].Rows[0]["State_Name"]) + "(CODE :- " + Convert.ToString(dsReport.Tables[0].Rows[0]["GSTState_Code"]) + ")"; TinNo = Convert.ToString(CompDetl.Tables[0].Rows[0]["TIN_NO"]); FaxNo = Convert.ToString(CompDetl.Tables[0].Rows[0]["Fax_No"]); PanNo = Convert.ToString(CompDetl.Tables[0].Rows[0]["Pan_No"]); GSTIN = Convert.ToString(CompDetl.Tables[0].Rows[0]["CompGSTIN_No"]); lblpin.Text = Convert.ToString(CompDetl.Tables[0].Rows[0]["Pin_No"]); lblCompname.Text = CompName; lblcom.Text = "For - " + CompName; lblCompAdd1.Text = Add1; lblcity.Text = City; lblstate.Text = State; lblmobile.Text = PhNo; lbgst.Text = GSTIN; lblpan.Text = PanNo.ToString(); if (dsReport != null && dsReport.Tables[1].Rows.Count > 0) { Repeater1.DataSource = dsReport.Tables[1]; Repeater1.DataBind(); } lblunit.Text = Convert.ToString(dsReport.Tables[0].Rows[0]["unit"]); lblbillno.Text = Convert.ToString(dsReport.Tables[0].Rows[0]["Inv_No"]); lblcontname.Text = Convert.ToString(dsReport.Tables[0].Rows[0]["Party_Name"]); lbladd1.Text = Convert.ToString(dsReport.Tables[0].Rows[0]["Address1"]); lblcadd2.Text = Convert.ToString(dsReport.Tables[0].Rows[0]["Address2"]); lbldis.Text = Convert.ToString(dsReport.Tables[0].Rows[0]["City_Name"]); diccode.Text = Convert.ToString(dsReport.Tables[0].Rows[0]["Pin_Code"]); lblst.Text = Convert.ToString(dsReport.Tables[0].Rows[0]["State_Name"]) + "(CODE :- " + Convert.ToString(dsReport.Tables[0].Rows[0]["GSTState_Code"]) + ")"; lblgst.Text = Convert.ToString(dsReport.Tables[0].Rows[0]["Party_GSTINNo"]); double lsttotal = Convert.ToDouble(lbltamount.Text); string[] str1 = lsttotal.ToString().Split('.'); string numbertoent = NumberToText(Convert.ToInt32(str1[0])); lblword.Text = numbertoent; }
// string con = ConfigurationManager.ConnectionStrings["TransportMandiConnectionString"].ConnectionString; #endregion #region Page Load... protected void Page_Load(object sender, EventArgs e) { if (Request.UrlReferrer == null) { base.AutoRedirect(); } txtReceiptNo.Attributes.Add("onkeypress", "return allowOnlyNumber(event);"); txtReceiptDatefrom.Attributes.Add("onkeypress", "return notAllowAnything(event);"); txtReceiptDateto.Attributes.Add("onkeypress", "return notAllowAnything(event);"); InvoiceDAL objInvoiceDAL = new InvoiceDAL(); tblUserPref obj = objInvoiceDAL.SelectUserPref(); hidAdminApp.Value = Convert.ToString(obj.AdminApp_Inv); if (Convert.ToBoolean(hidAdminApp.Value) == true) { if (Convert.ToString(Session["Userclass"]) == "Admin") { grdMain.Columns[7].Visible = true; } else { grdMain.Columns[7].Visible = false; } } else { grdMain.Columns[7].Visible = false; } if (!Page.IsPostBack) { if (base.CheckUserRights(intFormId) == false) { Response.Redirect("PermissionDenied.aspx"); } if (base.Print == false) { imgBtnExcel.Visible = false; } if (Convert.ToString(Session["Userclass"]) == "Admin") { this.BindCity(); } else { this.BindCity(Convert.ToInt64(Session["UserIdno"])); } ddlFromCity.SelectedValue = Convert.ToString(base.UserFromCity); this.BindDateRange(); ddldateRange.SelectedValue = Convert.ToString(base.UserDateRng); ddldateRange.SelectedIndex = 0; ddldateRange_SelectedIndexChanged(null, null); Bind(); this.CountTotalRecords(); } }
public ResultModel Complete(UserModel user, int fundsInvoiceId) { ResultModel result = new ResultModel(); try { FinanceInvoiceDAL fundsInvoiceDAL = new FinanceInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //获取财务票 result = fundsInvoiceDAL.Get(user, fundsInvoiceId); if (result.ResultStatus != 0) return result; FinanceInvoice fundsInvoice = result.ReturnValue as FinanceInvoice; if (fundsInvoice == null || fundsInvoice.FinanceInvoiceId <= 0) { result.ResultStatus = -1; result.Message = "财务发票验证失败"; return result; } //获取发票 result = invoiceDAL.Get(user, fundsInvoice.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice invoice = result.ReturnValue as Operate.Model.Invoice; if (invoice == null || invoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票获取失败"; return result; } //作废发票 result = invoiceDAL.Complete(user, invoice); if (result.ResultStatus != 0) return result; scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public void SerializeInvoiceBLL() { try { InvoiceDAL dalobj = new InvoiceDAL(); dalobj.SerializeInvoice(); } catch (InvoiceException i) { throw i; } catch (IOException i) { throw i; } }
private void Bind() { InvoiceDAL obj = new InvoiceDAL(); var lst = obj.selectSenderName(); obj = null; if (lst.Count > 0) { ddlSenderName.DataSource = lst; ddlSenderName.DataTextField = "Acnt_Name"; ddlSenderName.DataValueField = "Acnt_Idno"; ddlSenderName.DataBind(); ddlSenderName.Items.Insert(0, new ListItem("--Select--", "0")); } }
private void BindCity() { InvoiceDAL obj = new InvoiceDAL(); var lst = obj.SelectCityCombo(); obj = null; if (lst.Count > 0) { ddlLocation.DataSource = lst; ddlLocation.DataTextField = "City_Name"; ddlLocation.DataValueField = "City_Idno"; ddlLocation.DataBind(); } ddlLocation.Items.Insert(0, new System.Web.UI.WebControls.ListItem("--Select--", "0")); }
public bool DeleteInvoiceBLL(int InvoiceNo) { bool isDeleted = false; try { operationsObj = new InvoiceDAL(); isDeleted = operationsObj.DeleteInvoiceDAL(InvoiceNo); if (!isDeleted) { throw new InvoiceException("Invoice Could not be deleted"); } } catch (InvoiceException ex) { throw ex; } return(isDeleted); }
private void BindCity() { InvoiceDAL obj = new InvoiceDAL(); var lst = obj.SelectCityCombo(); obj = null; if (lst.Count > 0) { ddlFromCity.DataSource = lst; ddlFromCity.DataTextField = "City_Name"; ddlFromCity.DataValueField = "City_Idno"; ddlFromCity.DataBind(); ddlFromCity.Items.Insert(0, new ListItem("--Select--", "0")); } }
protected void Ok_ServerClick(object sender, EventArgs e) { string UserName = Session["User"].ToString(); int ID = Convert.ToInt32(HiddenFieldItem.Value); oDAL = new InvoiceDAL(); oClass = new InvoiceModel(); oDs = new DataSet(); oClass.IsDeleted = true; oClass.ReasonDelete = itemname.InnerText; string lbl = lblSelectedItem.Text; oClass.ID = ID; oDAL.DeleteData(UserName, oClass); PopulateGrid(); }
public List <Invoice> DisplayInvoiceBLL() { InvoiceDAL invoiceOperations = new InvoiceDAL(); try { iList = invoiceOperations.DisplayInvoiceDAL(); if (iList.Count <= 0) { throw new InvoiceException("No Records Found!!!"); } } catch (InvoiceException i) { throw i; } return(iList); }
private void PrintInvoice() { InvoiceDAL objDAL = new InvoiceDAL(); Int64 iMaxInvIdno = objDAL.MaxIdno(ApplicationFunction.ConnectionString(), Convert.ToInt64(ddlFromCity.SelectedValue)); Int64 icityIdno = objDAL.cityID(ApplicationFunction.ConnectionString(), Convert.ToInt64(ddlFromCity.SelectedValue)); String InvoiceNo = txtReceiptNo.Text; if (String.IsNullOrEmpty(txtReceiptNo.Text) != true) { if (InvoiceNo.Contains("-")) { String value = InvoiceNo; var lowEnd = value.Split('-')[0]; var highEnd = value.Split('-')[1]; int first = Convert.ToInt32(lowEnd); int last = Convert.ToInt32(highEnd); for (int i = first; i <= last; i++) { if (i == last) { ar += i; } else { var arr = (i + ", "); ar += arr; } } string val = ar; string url = "RptInvoiceDetail.aspx" + "?q=" + val + "&P=" + Convert.ToInt64(ddldateRange.SelectedValue) + "&R=" + icityIdno; string fullURL = "window.open('" + url + "', '_blank' );"; ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", fullURL, true); } else { string url = "RptInvoiceDetail.aspx" + "?q=" + Convert.ToString(txtReceiptNo.Text) + "&P=" + Convert.ToInt64(ddldateRange.SelectedValue) + "&R=" + icityIdno; string fullURL = "window.open('" + url + "', '_blank' );"; ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", fullURL, true); } } }
protected void Page_Load(object sender, EventArgs e) { if (Request.UrlReferrer == null) { base.AutoRedirect(); } // conString = ConfigurationManager.ConnectionStrings["TransportMandiConnectionString"].ToString(); conString = ApplicationFunction.ConnectionString(); UFinYear = base.FatchFinYear(1); if (!Page.IsPostBack) { if (base.CheckUserRights(intFormId) == false) { Response.Redirect("PermissionDenied.aspx"); } if (base.View == false) { lnkbtnPreview.Visible = true; } this.BindSenderName(); if (Convert.ToString(Session["Userclass"]) == "Admin") { this.BindCity(); } else { this.BindCity(Convert.ToInt64(Session["UserIdno"])); drpBaseCity.SelectedValue = Convert.ToString(base.UserFromCity); } BindDateRange(); ddlDateRange.SelectedValue = Convert.ToString(base.UserDateRng); SetDate(); TotalRecords(); InvoiceDAL objInvoiceDAL = new InvoiceDAL(); tblUserPref obj = objInvoiceDAL.SelectUserPref(); hidPrintType.Value = Convert.ToString(obj.InvPrint_Type); } txtDateFrom.Attributes.Add("onkeypress", "return notAllowAnything(event);"); txtDateTo.Attributes.Add("onkeypress", "return notAllowAnything(event);"); ddlDateRange.Focus(); }
protected void chkAdminApp_CheckedChanged(object sender, EventArgs e) { string strMsg = string.Empty; InvoiceDAL obj = new InvoiceDAL(); int selRowIndex = ((GridViewRow)(((CheckBox)sender).Parent.Parent)).RowIndex; CheckBox ddlchk = (CheckBox)grdMain.Rows[selRowIndex].FindControl("chkAdminApp"); HiddenField Idno = (HiddenField)grdMain.Rows[selRowIndex].FindControl("hidInvIdno"); Int64 value = obj.UpdateAdminApproval(string.IsNullOrEmpty(Idno.Value) ? 0 : Convert.ToInt32(Idno.Value), ddlchk.Checked); if (value > 0) { strMsg = "Record Updated Successfully"; } else { strMsg = "Record Not Updated"; } ScriptManager.RegisterStartupScript(this, this.GetType(), "alertstrMsg", "PassMessage('" + strMsg + "')", true); }
public long SaveFwdInvoice(IInvoice invoice, string misc, List <IChargeRate> expInvoiceCharge, int isedit) { long invoiceId = 0; int invoiceChargeId = 0; invoiceId = InvoiceDAL.SaveFwdInvoice(invoice, misc, isedit); if (invoiceId > 0) { if (!ReferenceEquals(expInvoiceCharge, null)) { foreach (IChargeRate cRate in expInvoiceCharge) { cRate.InvoiceId = invoiceId; invoiceChargeId = InvoiceDAL.SaveInvoiceChargesFwd(cRate); } } } return(invoiceId); }
public bool AddInvoiceBLL(Invoice invoice) { InvoiceDAL invoiceOperations = new InvoiceDAL(); bool isAdded = false; try { isAdded = invoiceOperations.AddInvoiceDAL(invoice); if (isAdded == false) { throw new InvoiceException("Invoice Details not Added"); } } catch (InvoiceException i) { throw i; } return(isAdded); }
public long SaveInvoice(IInvoice invoice, string misc) { long invoiceId = 0; int invoiceChargeId = 0; invoiceId = InvoiceDAL.SaveInvoice(invoice, misc); if (invoiceId > 0) { if (!ReferenceEquals(invoice.ChargeRates, null)) { foreach (IChargeRate cRate in invoice.ChargeRates) { cRate.InvoiceId = invoiceId; invoiceChargeId = InvoiceDAL.SaveInvoiceCharges(cRate); } } } return(invoiceId); }
private void PopulateGrid() { oDAL = new InvoiceDAL(); oDs = new DataSet(); if (searchKeyword.Value != "") { // oDs = oDAL.SeachData(searchKeyword.Value); } else { oDs = oDAL.SelectAll(); } if (oDs != null) { gvList.DataSource = oDs.Tables[0]; gvList.DataBind(); } }
public List <Invoice> DeserializeInvoiceBLL() { List <Invoice> iList = new List <Invoice>(); try { InvoiceDAL dalobj = new InvoiceDAL(); iList = dalobj.DeserializeInvoice(); if (iList.Count <= 0) { throw new InvoiceException("No Records Found in File"); } } catch (InvoiceException i) { throw i; } catch (IOException i) { throw i; } return(iList); }
private void PopulateData(int id) { oDAL = new InvoiceDAL(); oClass = new InvoiceModel(); oDs = new DataSet(); oClass.ID = id; oDs = oDAL.SelectByID(oClass); InvoiceID.Value = oDs.Tables[0].Rows[0][0].ToString(); InvoiceNo.Value = oDs.Tables[0].Rows[0][1].ToString(); ddlInsurance.SelectedValue = oDs.Tables[0].Rows[0][2].ToString(); PatientNo.Value = oDs.Tables[0].Rows[0]["PatientNo"].ToString(); ddlPatient.SelectedValue = oDs.Tables[0].Rows[0]["PatientNo"].ToString(); CaseNo.Value = oDs.Tables[0].Rows[0][4].ToString(); InvoiceDate.Value = oDs.Tables[0].Rows[0][5].ToString(); Medex.Value = oDs.Tables[0].Rows[0][6].ToString(); CaseFee.Value = oDs.Tables[0].Rows[0][7].ToString(); TotalBill.Value = oDs.Tables[0].Rows[0][8].ToString(); BillingDate.Value = oDs.Tables[0].Rows[0][9].ToString(); PaidDate.Value = oDs.Tables[0].Rows[0][10].ToString(); ddlStatus.SelectedValue = oDs.Tables[0].Rows[0][11].ToString(); txtRemarks.Value = oDs.Tables[0].Rows[0][12].ToString(); }
public DataTable GetBLno(long NvoccId, long LocationId) { return(InvoiceDAL.GetBLno(NvoccId, LocationId)); }
public ResultModel CompleteCancel(UserModel user, int businessInvoiceId) { ResultModel result = new ResultModel(); try { BusinessInvoiceDAL businessInvoiceDAL = new BusinessInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); BusinessInvoiceDetailDAL detailDAL = new BusinessInvoiceDetailDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //获取财务票 result = businessInvoiceDAL.Get(user, businessInvoiceId); if (result.ResultStatus != 0) return result; BusinessInvoice businessInvoice = result.ReturnValue as BusinessInvoice; if (businessInvoice == null || businessInvoice.BusinessInvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票验证失败"; return result; } //获取发票 result = invoiceDAL.Get(user, businessInvoice.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice invoice = result.ReturnValue as Operate.Model.Invoice; if (invoice == null || invoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票获取失败"; return result; } //发票 result = invoiceDAL.CompleteCancel(user, invoice); if (result.ResultStatus != 0) return result; //获取明细 result = detailDAL.Load(user, businessInvoice.BusinessInvoiceId, StatusEnum.已完成); if (result.ResultStatus != 0) return result; List<BusinessInvoiceDetail> details = result.ReturnValue as List<BusinessInvoiceDetail>; if (details == null) { result.ResultStatus = -1; result.Message = "发票明细获取失败"; return result; } foreach (BusinessInvoiceDetail detail in details) { result = detailDAL.CompleteCancel(user, detail); if (result.ResultStatus != 0) return result; } scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public ResultModel Update(UserModel user, Operate.Model.Invoice invoice, FinanceInvoice fundsInvoice) { ResultModel result = new ResultModel(); try { FinanceInvoiceDAL fundsInvoiceDAL = new FinanceInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //获取财务发票 result = fundsInvoiceDAL.Get(user, fundsInvoice.FinanceInvoiceId); if (result.ResultStatus != 0) return result; FinanceInvoice resultFundsInvoice = result.ReturnValue as FinanceInvoice; if (resultFundsInvoice == null || resultFundsInvoice.FinanceInvoiceId <= 0) { result.ResultStatus = -1; result.Message = "财务发票获取失败"; return result; } //更新财务发票 resultFundsInvoice.AssetId = fundsInvoice.AssetId; resultFundsInvoice.IntegerAmount = fundsInvoice.IntegerAmount; resultFundsInvoice.NetAmount = fundsInvoice.NetAmount; resultFundsInvoice.MUId = fundsInvoice.MUId; resultFundsInvoice.VATRatio = fundsInvoice.VATRatio; resultFundsInvoice.VATBala = fundsInvoice.VATBala; result = fundsInvoiceDAL.Update(user, resultFundsInvoice); if (result.ResultStatus != 0) return result; //获取发票 result = invoiceDAL.Get(user, resultFundsInvoice.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice resultInvoice = result.ReturnValue as Operate.Model.Invoice; if (resultInvoice == null || resultInvoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票信息获取失败"; return result; } resultInvoice.InvoiceDate = invoice.InvoiceDate; resultInvoice.InvoiceName = invoice.InvoiceName; resultInvoice.InvoiceBala = invoice.InvoiceBala; resultInvoice.CurrencyId = invoice.CurrencyId; resultInvoice.OutCorpId = invoice.OutCorpId; Corporation outCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.OutCorpId); if (outCorp == null || outCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "开票公司信息错误"; return result; } resultInvoice.OutCorpName = outCorp.CorpName; resultInvoice.InCorpId = invoice.InCorpId; Corporation inCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.InCorpId); if (inCorp == null || inCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "收票公司信息错误"; return result; } resultInvoice.InCorpName = inCorp.CorpName; resultInvoice.Memo = invoice.Memo; result = invoiceDAL.Update(user, resultInvoice); if (result.ResultStatus != 0) return result; scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public List <ICharge> GetAllCharges(int docTypeId) { return(InvoiceDAL.GetAllCharges(docTypeId)); }
public DataTable GetCHAId() { return(InvoiceDAL.GetCHAId()); }
public DataTable Volume(string BLno) { return(InvoiceDAL.Volume(BLno)); }
public ResultModel PayApplyInvoiceUpdate(UserModel user, Apply apply, PayApply payApply, List<InvoicePayApply> details) { ResultModel result = new ResultModel(); try { InvoicePayApplyDAL invoicePayApplyDAL = new InvoicePayApplyDAL(); ApplyDAL applyDAL = new ApplyDAL(); PayApplyDAL payApplyDAL = new PayApplyDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); SIDAL sIDAL = new SIDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { if (details == null || details.Count == 0) { result.ResultStatus = -1; result.Message = "未选中任务发票"; return result; } //验证总额 decimal sumApplyBala = details.Sum(temp => temp.ApplyBala); if (sumApplyBala != payApply.ApplyBala) { result.ResultStatus = -1; result.Message = "申请总额与分项总额不相等"; return result; } //获取付款申请 result = this.payapplyDAL.Get(user, payApply.PayApplyId); if (result.ResultStatus != 0) return result; PayApply resultPayApply = result.ReturnValue as PayApply; if (resultPayApply == null || resultPayApply.PayApplyId <= 0) { result.ResultStatus = -1; result.Message = "付款申请不存在"; return result; } //获取发票申请列表 result = invoicePayApplyDAL.Load(user, resultPayApply.PayApplyId); if (result.ResultStatus != 0) return result; List<InvoicePayApply> resultDetails = result.ReturnValue as List<InvoicePayApply>; if (resultDetails == null) { result.ResultStatus = -1; result.Message = "付款申请发票明细列表获取失败"; return result; } //作废原有发票申请明细 foreach (InvoicePayApply detail in resultDetails) { detail.DetailStatus = StatusEnum.已录入; result = invoicePayApplyDAL.Invalid(user, detail); if (result.ResultStatus != 0) return result; } //验证发票 int payDept = 0; int outCorpId = 0; foreach (InvoicePayApply detail in details) { //获取价外票 result = sIDAL.Get(user, detail.SIId); if (result.ResultStatus != 0) return result; SI sI = result.ReturnValue as SI; if (sI == null || sI.SIId <= 0) { result.ResultStatus = -1; result.Message = "价外票不存在"; return result; } //获取发票 result = invoiceDAL.Get(user, detail.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice invoice = result.ReturnValue as Operate.Model.Invoice; if (invoice == null || invoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票不存在"; return result; } //验证币种 if (payApply.CurrencyId != invoice.CurrencyId) { result.ResultStatus = -1; result.Message = "发票币种不一致"; return result; } //验证开票抬头 if (outCorpId == 0) { outCorpId = invoice.OutCorpId; } if (outCorpId != invoice.OutCorpId) { result.ResultStatus = -1; result.Message = "发票开票公司不一致"; return result; } //验证成本部门 if (payDept == 0) { payDept = sI.PayDept; } if (payDept != sI.PayDept) { result.ResultStatus = -1; result.Message = "发票成本部门不一致"; return result; } //验证可申请余额 result = invoicePayApplyDAL.LoadByInvoice(user, detail.InvoiceId); if (result.ResultStatus != 0) return result; resultDetails = result.ReturnValue as List<InvoicePayApply>; if (resultDetails == null) { result.ResultStatus = -1; result.Message = "获取发票已申请列表失败"; return result; } decimal applyBala = resultDetails.Sum(temp => temp.ApplyBala); if (applyBala >= invoice.InvoiceBala) { result.ResultStatus = -1; result.Message = string.Format("发票{0}款项已全部申请", invoice.InvoiceNo); return result; } if (invoice.InvoiceBala - applyBala < detail.ApplyBala) { result.ResultStatus = -1; result.Message = string.Format("发票{0}申请金额超过可申请余额,申请失败", invoice.InvoiceNo); return result; } } //更新申请主表 Department dept = UserProvider.Departments.FirstOrDefault(temp => temp.DeptId == apply.ApplyDept); if (dept == null || dept.DeptId < 0) { result.ResultStatus = -1; result.Message = "申请部门不存在"; return result; } //获取主申请 result = applyDAL.Get(user, resultPayApply.ApplyId); if (result.ResultStatus != 0) return result; Apply resultApply = result.ReturnValue as Apply; if (resultApply == null || resultApply.ApplyId <= 0) { result.ResultStatus = -1; result.Message = "主申请获取失败"; return result; } resultApply.ApplyDept = dept.DeptId; resultApply.ApplyCorp = apply.ApplyCorp; resultApply.ApplyDesc = apply.ApplyDesc; resultApply.ApplyTime = apply.ApplyTime; resultApply.EmpId = user.EmpId; result = applyDAL.Update(user, resultApply); if (result.ResultStatus != 0) return result; //更新付款申请表 resultPayApply.RecCorpId = payApply.RecCorpId; resultPayApply.RecBankId = payApply.RecBankId; resultPayApply.RecBankAccountId = payApply.RecBankAccountId; resultPayApply.RecBankAccount = payApply.RecBankAccount; resultPayApply.CurrencyId = payApply.CurrencyId; resultPayApply.ApplyBala = sumApplyBala; resultPayApply.PayMode = payApply.PayMode; resultPayApply.PayDeadline = payApply.PayDeadline; resultPayApply.PayMatter = payApply.PayMatter; resultPayApply.SpecialDesc = payApply.SpecialDesc; result = payapplyDAL.Update(user, resultPayApply); if (result.ResultStatus != 0) return result; //新增发票付款申请关联表 foreach (InvoicePayApply detail in details) { detail.DetailStatus = StatusEnum.已生效; detail.PayApplyId = resultPayApply.PayApplyId; result = invoicePayApplyDAL.Insert(user, detail); if (result.ResultStatus != 0) return result; } scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public ResultModel Create(UserModel user, Operate.Model.Invoice invoice, FinanceInvoice fundsInvoice) { ResultModel result = new ResultModel(); try { FinanceInvoiceDAL fundsInvoiceDAL = new FinanceInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //新增发票主表 int invoiceId = 0; invoice.InvoiceType = (int)InvoiceTypeEnum.财务发票; invoice.InvoiceStatus = StatusEnum.已录入; Corporation outCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.OutCorpId); if (outCorp == null || outCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "开票公司信息错误"; return result; } invoice.OutCorpName = outCorp.CorpName; //invoice.OutBlocId = outCorp.b Corporation inCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.InCorpId); if (inCorp == null || inCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "收票公司信息错误"; return result; } invoice.InCorpName = inCorp.CorpName; result = invoiceDAL.Insert(user, invoice); if (result.ResultStatus != 0) return result; if (result.ReturnValue == null || !int.TryParse(result.ReturnValue.ToString(), out invoiceId)) { result.ResultStatus = -1; result.Message = "发票添加失败"; return result; } //新增财务发票表 fundsInvoice.InvoiceId = invoiceId; fundsInvoice.VATRatio = fundsInvoice.VATRatio; result = fundsInvoiceDAL.Insert(user, fundsInvoice); if (result.ResultStatus != 0) return result; if (result.ResultStatus == 0) result.ReturnValue = invoiceId; scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public ResultModel UpdateBusinessInvoice(UserModel user, Operate.Model.Invoice invoice, BusinessInvoice invoiceBusiness, List<BusinessInvoiceDetail> details) { ResultModel result = new ResultModel(); try { BusinessInvoiceDAL businessInvoiceDAL = new BusinessInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); BusinessInvoiceDetailDAL detailDAL = new BusinessInvoiceDetailDAL(); StockReceiptDetailDAL stockReceiptDetailDAL = new StockReceiptDetailDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //验证发票 if (invoiceBusiness.BusinessInvoiceId <= 0) { result.Message = "发票不存在"; return result; } result = businessinvoiceDAL.Get(user, invoiceBusiness.BusinessInvoiceId); if (result.ResultStatus != 0) return result; BusinessInvoice resultBusinessInvoice = result.ReturnValue as BusinessInvoice; if (resultBusinessInvoice == null || resultBusinessInvoice.BusinessInvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票不存在"; return result; } //更新发票 resultBusinessInvoice.IntegerAmount = invoiceBusiness.IntegerAmount; resultBusinessInvoice.NetAmount = invoiceBusiness.NetAmount; resultBusinessInvoice.VATRatio = invoiceBusiness.VATRatio; resultBusinessInvoice.VATBala = invoiceBusiness.VATBala; resultBusinessInvoice.UnitPrice = invoiceBusiness.UnitPrice; resultBusinessInvoice.Status = StatusEnum.已录入; result = businessinvoiceDAL.Update(user, resultBusinessInvoice); if (result.ResultStatus != 0) return result; //获取发票主表 result = invoiceDAL.Get(user, resultBusinessInvoice.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice resultInvoice = result.ReturnValue as Operate.Model.Invoice; if (resultInvoice == null || resultInvoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票不存在"; return result; } //更新发票 resultInvoice.InvoiceDate = invoice.InvoiceDate; resultInvoice.InvoiceName = invoice.InvoiceName; resultInvoice.InvoiceBala = invoice.InvoiceBala; resultInvoice.OutCorpId = invoice.OutCorpId; resultInvoice.InCorpId = invoice.InCorpId; resultInvoice.Memo = invoice.Memo; result = invoiceDAL.Update(user, resultInvoice); if (result.ResultStatus != 0) return result; //获取发票明细 result = detailDAL.Load(user, resultBusinessInvoice.BusinessInvoiceId); if (result.ResultStatus != 0) return result; List<BusinessInvoiceDetail> resultDetails = result.ReturnValue as List<BusinessInvoiceDetail>; if (resultDetails == null) { result.ResultStatus = -1; result.Message = "获取发票明细失败"; return result; } //作废发票明细 foreach (BusinessInvoiceDetail detail in resultDetails) { if (detail.DetailStatus == StatusEnum.已生效) detail.DetailStatus = StatusEnum.已录入; result = detailDAL.Invalid(user, detail); if (result.ResultStatus != 0) return result; } //新增发票明细 StockLogDAL stockLogDAL = new StockLogDAL(); StockDAL stockDAL = new StockDAL(); foreach (BusinessInvoiceDetail detail in details) { if (detail.NetAmount != 0 && detail.StockId > 0) { //验证库存 result = stockDAL.Get(user, detail.StockId); if (result.ResultStatus != 0) return result; Stock stock = result.ReturnValue as Stock; if (stock == null || stock.StockId <= 0) { result.ResultStatus = -1; result.Message = "发票库存获取失败"; return result; } //验证库存流水 result = stockLogDAL.Get(user, detail.StockLogId); if (result.ResultStatus != 0) return result; StockLog stockLog = result.ReturnValue as StockLog; if (stockLog == null || stockLog.StockLogId <= 0) { result.ResultStatus = -1; result.Message = "新增发票流水获取失败"; return result; } //基本验证 if (stockLog.StockId != stock.StockId) { result.ResultStatus = -1; result.Message = "库存与库存流水不匹配"; return result; } //验证流水合约与发票合约是否相同 if (stockLog.SubContractId != resultBusinessInvoice.SubContractId) { result.ResultStatus = -1; result.Message = "合约与库存流水不匹配"; return result; } detail.DetailStatus = StatusEnum.已生效; detail.InvoiceId = resultInvoice.InvoiceId; detail.BusinessInvoiceId = resultBusinessInvoice.BusinessInvoiceId; detail.StockId = stockLog.StockId; detail.StockLogId = stockLog.StockLogId; if (resultInvoice.InvoiceType == (int)InvoiceTypeEnum.SuppleFinalInvoice) { //获取当前流水回执信息 result = stockReceiptDetailDAL.LoadByStockLogId(user, stockLog.StockLogId); List<StockReceiptDetail> stockReceiptDetails = result.ReturnValue as List<StockReceiptDetail>; if (stockReceiptDetails == null) { result.ResultStatus = -1; result.Message = "当前流水未回执,不能补零"; return result; } decimal sumQtyMiss = stockReceiptDetails.Sum(temp => temp.QtyMiss); detail.IntegerAmount = sumQtyMiss; detail.NetAmount = sumQtyMiss; } else { detail.IntegerAmount = stockLog.GrossAmount; detail.NetAmount = stockLog.NetAmount; } result = detailDAL.Insert(user, detail); if (result.ResultStatus != 0) return result; } } if (result.ResultStatus == 0) result.ReturnValue = resultInvoice; scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public List <IChargeRate> GetAllChargeRate(int ChargesID, long LocationID, int TerminalID) //, int WashingType { return(InvoiceDAL.GetAllChargeRate(ChargesID, LocationID, TerminalID)); //, WashingType }
public ResultModel CreateByInvApply(UserModel user, Operate.Model.Invoice invoice, FinanceInvoice fundsInvoice, string bids, int invoiceApplyId) { ResultModel result = new ResultModel(); try { FinanceInvoiceDAL fundsInvoiceDAL = new FinanceInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //新增发票主表 int invoiceId = 0; invoice.InvoiceType = (int)InvoiceTypeEnum.财务发票; invoice.InvoiceStatus = StatusEnum.已录入; Corporation outCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.OutCorpId); if (outCorp == null || outCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "开票公司信息错误"; return result; } invoice.OutCorpName = outCorp.CorpName; //invoice.OutBlocId = outCorp.b Corporation inCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.InCorpId); if (inCorp == null || inCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "收票公司信息错误"; return result; } invoice.InCorpName = inCorp.CorpName; result = invoiceDAL.Insert(user, invoice); if (result.ResultStatus != 0) return result; if (result.ReturnValue == null || !int.TryParse(result.ReturnValue.ToString(), out invoiceId)) { result.ResultStatus = -1; result.Message = "发票添加失败"; return result; } //新增财务发票表 fundsInvoice.InvoiceId = invoiceId; fundsInvoice.VATRatio = fundsInvoice.VATRatio; result = fundsInvoiceDAL.Insert(user, fundsInvoice); if (result.ResultStatus != 0) return result; int financeInvoiceId = (int)result.ReturnValue; //财务发票业务发票分配 if (!string.IsNullOrEmpty(bids)) { FinBusInvAllotDAL finBusInvAllotDAL = new FinBusInvAllotDAL(); result = finBusInvAllotDAL.Insert(user, new FinBusInvAllot() { AllotBala = invoice.InvoiceBala, CurrencyId = invoice.CurrencyId, Alloter = user.EmpId, AllotDate = DateTime.Now, AllotStatus = StatusEnum.已生效 }); if (result.ResultStatus != 0) return result; int allotId = (int)result.ReturnValue; FinBusInvAllotDetailDAL finBusInvAllotDetailDAL = new FinBusInvAllotDetailDAL(); foreach (string businessInvoiceId in bids.Split(',')) { result = invoiceDAL.GetByBussinessInvoiceId(user, Convert.ToInt32(businessInvoiceId)); if (result.ResultStatus != 0) return result; Operate.Model.Invoice busInvoice = result.ReturnValue as Operate.Model.Invoice; result = finBusInvAllotDetailDAL.Insert(user, new FinBusInvAllotDetail() { AllotId = allotId, BusinessInvoiceId = Convert.ToInt32(businessInvoiceId), FinanceInvoiceId = financeInvoiceId, AllotBala = busInvoice.InvoiceBala, DetailStatus = StatusEnum.已生效 }); if (result.ResultStatus != 0) return result; } } //添加开票申请与财务票关联 InvoiceApplyFinanceDAL invoiceApplyFinanceDAL = new InvoiceApplyFinanceDAL(); result = invoiceApplyFinanceDAL.Insert(user, new InvoiceApplyFinance() { InvoiceId = invoiceId, FinanceInvoiceId = financeInvoiceId, InvoiceApplyId = invoiceApplyId }); if (result.ResultStatus != 0) return result; invoice.InvoiceId = invoiceId; if (result.ResultStatus == 0) result.ReturnValue = invoice; scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public DataTable GrossWeight(string BLno) { return(InvoiceDAL.GrossWeight(BLno)); }
public DataTable FEU(string BLno) { return(InvoiceDAL.FEU(BLno)); }
public ResultModel PayApplyInvoiceCreate(UserModel user, Apply apply, PayApply payApply, List<InvoicePayApply> details) { ResultModel result = new ResultModel(); try { InvoicePayApplyDAL invoicePayApplyDAL = new InvoicePayApplyDAL(); ApplyDAL applyDAL = new ApplyDAL(); PayApplyDAL payApplyDAL = new PayApplyDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); SIDAL sIDAL = new SIDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { if (details == null || details.Count == 0) { result.ResultStatus = -1; result.Message = "未选中任务发票"; return result; } //验证总额 decimal sumApplyBala = details.Sum(temp => temp.ApplyBala); if (sumApplyBala != payApply.ApplyBala) { result.ResultStatus = -1; result.Message = "申请总额与分项总额不相等"; return result; } //验证发票 int payDept = 0; int outCorpId = 0; foreach (InvoicePayApply detail in details) { //获取价外票 result = sIDAL.Get(user, detail.SIId); if (result.ResultStatus != 0) return result; SI sI = result.ReturnValue as SI; if (sI == null || sI.SIId <= 0) { result.ResultStatus = -1; result.Message = "价外票不存在"; return result; } //获取发票 result = invoiceDAL.Get(user, detail.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice invoice = result.ReturnValue as Operate.Model.Invoice; if (invoice == null || invoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票不存在"; return result; } //验证币种 if (payApply.CurrencyId != invoice.CurrencyId) { result.ResultStatus = -1; result.Message = "发票币种不一致"; return result; } //验证开票抬头 if (outCorpId == 0) { outCorpId = invoice.OutCorpId; } if (outCorpId != invoice.OutCorpId) { result.ResultStatus = -1; result.Message = "发票开票公司不一致"; return result; } //验证成本部门 if (payDept == 0) { payDept = sI.PayDept; } if (payDept != sI.PayDept) { result.ResultStatus = -1; result.Message = "发票成本部门不一致"; return result; } //验证可申请余额 result = invoicePayApplyDAL.LoadByInvoice(user, detail.InvoiceId); if (result.ResultStatus != 0) return result; List<InvoicePayApply> resultDetails = result.ReturnValue as List<InvoicePayApply>; if (resultDetails == null) { result.ResultStatus = -1; result.Message = "获取发票已申请列表失败"; return result; } decimal applyBala = resultDetails.Sum(temp => temp.ApplyBala); if (applyBala >= invoice.InvoiceBala) { result.ResultStatus = -1; result.Message = string.Format("发票{0}款项已全部申请", invoice.InvoiceNo); return result; } if (invoice.InvoiceBala - applyBala < detail.ApplyBala) { result.ResultStatus = -1; result.Message = string.Format("发票{0}申请金额超过可申请余额,申请失败", invoice.InvoiceNo); return result; } } //新增申请主表 Department dept = UserProvider.Departments.FirstOrDefault(temp => temp.DeptId == apply.ApplyDept); if (dept == null || dept.DeptId < 0) { result.ResultStatus = -1; result.Message = "申请部门不存在"; return result; } int applyId = 0; apply.ApplyDept = dept.DeptId; apply.ApplyType = ApplyType.付款申请; apply.EmpId = user.EmpId; apply.ApplyStatus = StatusEnum.已录入; result = applyDAL.Insert(user, apply); if (result.ResultStatus != 0) return result; if (result.ReturnValue == null || !int.TryParse(result.ReturnValue.ToString(), out applyId)) { result.ResultStatus = -1; result.Message = "申请主表新增失败"; return result; } //新增付款申请表 payApply.ApplyId = applyId; payApply.PayApplySource = (int)FundsStyleEnum.InvoicePayApply; payApply.ApplyBala = sumApplyBala; result = payapplyDAL.Insert(user, payApply); if (result.ResultStatus != 0) return result; int payApplyId = 0; if (result.ReturnValue == null || !int.TryParse(result.ReturnValue.ToString(), out payApplyId)) { result.ResultStatus = -1; result.Message = "付款申请新增失败"; return result; } //新增发票付款申请关联表 foreach (InvoicePayApply detail in details) { detail.DetailStatus = StatusEnum.已生效; detail.PayApplyId = payApplyId; result = invoicePayApplyDAL.Insert(user, detail); if (result.ResultStatus != 0) return result; } scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public DataTable BLdate(string BLno) { return(InvoiceDAL.BLdate(BLno)); }
public ResultModel Complete(UserModel user, int businessInvoiceId) { ResultModel result = new ResultModel(); try { BusinessInvoiceDAL businessInvoiceDAL = new BusinessInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); BusinessInvoiceDetailDAL detailDAL = new BusinessInvoiceDetailDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //获取业务票 result = businessInvoiceDAL.Get(user, businessInvoiceId); if (result.ResultStatus != 0) return result; BusinessInvoice businessInvoice = result.ReturnValue as BusinessInvoice; if (businessInvoice == null || businessInvoice.BusinessInvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票验证失败"; return result; } //获取发票 result = invoiceDAL.Get(user, businessInvoice.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice invoice = result.ReturnValue as Operate.Model.Invoice; if (invoice == null || invoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票获取失败"; return result; } //获取明细 result = detailDAL.Load(user, businessInvoice.BusinessInvoiceId); if (result.ResultStatus != 0) return result; List<BusinessInvoiceDetail> details = result.ReturnValue as List<BusinessInvoiceDetail>; if (details == null) { result.ResultStatus = -1; result.Message = "发票明细获取失败"; return result; } //验证 switch (invoice.InvoiceType) { case (int)InvoiceTypeEnum.ProvisionalInvoice: //临票验证 //必须所有替临终票为已完成状态 break; } //发票完成 result = invoiceDAL.Complete(user, invoice); if (result.ResultStatus != 0) return result; foreach (BusinessInvoiceDetail detail in details) { result = detailDAL.Complete(user, detail); if (result.ResultStatus != 0) return result; } scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public decimal GetExchangeRate(long BlId) { return(InvoiceDAL.GetExchangeRate(BlId)); }
public ResultModel CreateBusinessInvoice(UserModel user, Operate.Model.Invoice invoice, BusinessInvoice invoiceBusiness, List<BusinessInvoiceDetail> details, InvoiceTypeEnum invoiceType) { ResultModel result = new ResultModel(); try { BusinessInvoiceDAL businessInvoiceDAL = new BusinessInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); BusinessInvoiceDetailDAL detailDAL = new BusinessInvoiceDetailDAL(); ContractSubDAL subDAL = new ContractSubDAL(); StockReceiptDetailDAL stockReceiptDetailDAL = new StockReceiptDetailDAL(); SubDetailDAL subDetailDAL = new SubDetailDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //验证子合约 result = subDAL.Get(user, invoiceBusiness.SubContractId); if (result.ResultStatus != 0) return result; ContractSub sub = result.ReturnValue as ContractSub; if (sub == null || sub.SubId <= 0) { result.ResultStatus = -1; result.Message = "子合约不存在"; return result; } if (sub.SubStatus != StatusEnum.已生效) { result.ResultStatus = -1; result.Message = "子合约非已生效状态,不能新增临票"; return result; } //获取子合约明细 result = subDetailDAL.GetDetailBySubId(user, sub.SubId); if (result.ResultStatus != 0) return result; SubDetail subDetail = result.ReturnValue as SubDetail; if (subDetail == null || subDetail.SubDetailId <= 0) { result.ResultStatus = -1; result.Message = "子合约明细获取失败"; return result; } //获取子合约下所有 result = this.businessinvoiceDAL.LoadBySubId(user, invoiceBusiness.SubContractId, invoiceType); if (result.ResultStatus != 0) return result; List<BusinessInvoice> bis = result.ReturnValue as List<BusinessInvoice>; decimal sumNetAmount = bis.Sum(temp => temp.NetAmount); decimal maxNetAmount = sub.SignAmount * (1 + subDetail.MoreOrLess); //if (maxNetAmount < sumNetAmount + invoiceBusiness.NetAmount) //{ // result.ResultStatus = -1; // result.Message = "开票重量超额"; // return result; //} //新增发票主表 int invoiceId = 0; invoice.InvoiceType = (int)invoiceType; invoice.InvoiceStatus = StatusEnum.已录入; Corporation outCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.OutCorpId); if (outCorp == null || outCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "开票公司信息错误"; return result; } invoice.OutCorpName = outCorp.CorpName; Corporation inCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.InCorpId); if (inCorp == null || inCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "收票公司信息错误"; return result; } invoice.InCorpName = inCorp.CorpName; result = invoiceDAL.Insert(user, invoice); if (result.ResultStatus != 0) return result; if (result.ReturnValue == null || !int.TryParse(result.ReturnValue.ToString(), out invoiceId)) { result.ResultStatus = -1; result.Message = "发票添加失败"; return result; } //新增业务发票表 int businessInvoiceId = 0; invoiceBusiness.InvoiceId = invoiceId; result = businessInvoiceDAL.Insert(user, invoiceBusiness); if (result.ResultStatus != 0) return result; if (result.ReturnValue == null || !int.TryParse(result.ReturnValue.ToString(), out businessInvoiceId)) { result.ResultStatus = -1; result.Message = "新增发票失败"; return result; } //新增业务发票明细 StockLogDAL stockLogDAL = new StockLogDAL(); StockDAL stockDAL = new StockDAL(); foreach (BusinessInvoiceDetail detail in details) { if (detail.NetAmount != 0 && detail.StockId > 0) { //验证库存 result = stockDAL.Get(user, detail.StockId); if (result.ResultStatus != 0) return result; Stock stock = result.ReturnValue as Stock; if (stock == null || stock.StockId <= 0) { result.ResultStatus = -1; result.Message = "发票库存获取失败"; return result; } //验证库存流水 result = stockLogDAL.Get(user, detail.StockLogId); if (result.ResultStatus != 0) return result; StockLog stockLog = result.ReturnValue as StockLog; if (stockLog == null || stockLog.StockLogId <= 0) { result.ResultStatus = -1; result.Message = "新增发票流水获取失败"; return result; } //基本验证 if (stockLog.StockId != stock.StockId) { result.ResultStatus = -1; result.Message = "库存与库存流水不匹配"; return result; } //验证流水合约与发票合约是否相同 if (stockLog.SubContractId != invoiceBusiness.SubContractId) { result.ResultStatus = -1; result.Message = "合约与库存流水不匹配"; return result; } detail.DetailStatus = StatusEnum.已生效; detail.InvoiceId = invoiceId; detail.BusinessInvoiceId = businessInvoiceId; detail.StockId = stockLog.StockId; detail.StockLogId = stockLog.StockLogId; if (invoice.InvoiceType == (int)InvoiceTypeEnum.SuppleFinalInvoice) { //获取当前流水回执信息 result = stockReceiptDetailDAL.LoadByStockLogId(user, stockLog.StockLogId); List<StockReceiptDetail> stockReceiptDetails = result.ReturnValue as List<StockReceiptDetail>; if (stockReceiptDetails == null) { result.ResultStatus = -1; result.Message = "当前流水未回执,不能补零"; return result; } decimal sumQtyMiss = stockReceiptDetails.Sum(temp => temp.QtyMiss); detail.IntegerAmount = sumQtyMiss; detail.NetAmount = sumQtyMiss; } //else //{ // detail.IntegerAmount = stockLog.GrossAmount; // detail.NetAmount = stockLog.NetAmount; //} result = detailDAL.Insert(user, detail); if (result.ResultStatus != 0) return result; } } invoice.InvoiceId = invoiceId; if (result.ResultStatus == 0) result.ReturnValue = invoice; scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public DataTable GetTerminals(long LocationId) { return(InvoiceDAL.GetTerminals(LocationId)); }
public ResultModel Update(UserModel user, Operate.Model.Invoice invoice, FinanceInvoice fundsInvoice,string bids) { ResultModel result = new ResultModel(); try { FinanceInvoiceDAL fundsInvoiceDAL = new FinanceInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //获取财务发票 result = fundsInvoiceDAL.Get(user, fundsInvoice.FinanceInvoiceId); if (result.ResultStatus != 0) return result; FinanceInvoice resultFundsInvoice = result.ReturnValue as FinanceInvoice; if (resultFundsInvoice == null || resultFundsInvoice.FinanceInvoiceId <= 0) { result.ResultStatus = -1; result.Message = "财务发票获取失败"; return result; } //更新财务发票 resultFundsInvoice.AssetId = fundsInvoice.AssetId; resultFundsInvoice.IntegerAmount = fundsInvoice.IntegerAmount; resultFundsInvoice.NetAmount = fundsInvoice.NetAmount; resultFundsInvoice.MUId = fundsInvoice.MUId; resultFundsInvoice.VATRatio = fundsInvoice.VATRatio; resultFundsInvoice.VATBala = fundsInvoice.VATBala; result = fundsInvoiceDAL.Update(user, resultFundsInvoice); if (result.ResultStatus != 0) return result; //获取发票 result = invoiceDAL.Get(user, resultFundsInvoice.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice resultInvoice = result.ReturnValue as Operate.Model.Invoice; if (resultInvoice == null || resultInvoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票信息获取失败"; return result; } resultInvoice.InvoiceDate = invoice.InvoiceDate; resultInvoice.InvoiceName = invoice.InvoiceName; resultInvoice.InvoiceBala = invoice.InvoiceBala; resultInvoice.CurrencyId = invoice.CurrencyId; resultInvoice.OutCorpId = invoice.OutCorpId; Corporation outCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.OutCorpId); if (outCorp == null || outCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "开票公司信息错误"; return result; } resultInvoice.OutCorpName = outCorp.CorpName; resultInvoice.InCorpId = invoice.InCorpId; Corporation inCorp = UserProvider.Corporations.FirstOrDefault(temp => temp.CorpId == invoice.InCorpId); if (inCorp == null || inCorp.CorpId <= 0) { result.ResultStatus = -1; result.Message = "收票公司信息错误"; return result; } resultInvoice.InCorpName = inCorp.CorpName; resultInvoice.Memo = invoice.Memo; result = invoiceDAL.Update(user, resultInvoice); if (result.ResultStatus != 0) return result; if (!string.IsNullOrEmpty(bids)) { FinBusInvAllotDAL finBusInvAllotDAL = new FinBusInvAllotDAL(); FinBusInvAllotDetailDAL finBusInvAllotDetailDAL = new FinBusInvAllotDetailDAL(); result = finBusInvAllotDetailDAL.GetAllotIdByFid(user, fundsInvoice.FinanceInvoiceId); if (result.ResultStatus != 0) return result; int allotId = (int)result.ReturnValue; result = finBusInvAllotDAL.Get(user, allotId); if (result.ResultStatus != 0) return result; FinBusInvAllot finBusInvAllot = result.ReturnValue as FinBusInvAllot; finBusInvAllot.AllotBala = invoice.InvoiceBala; result = finBusInvAllotDAL.Update(user, finBusInvAllot); if (result.ResultStatus != 0) return result; result = finBusInvAllotDetailDAL.InvalidAll(user, allotId); if (result.ResultStatus != 0) return result; foreach (string businessInvoiceId in bids.Split(',')) { result = invoiceDAL.GetByBussinessInvoiceId(user, Convert.ToInt32(businessInvoiceId)); if (result.ResultStatus != 0) return result; Operate.Model.Invoice busInvoice = result.ReturnValue as Operate.Model.Invoice; result = finBusInvAllotDetailDAL.Insert(user, new FinBusInvAllotDetail() { AllotId = allotId, BusinessInvoiceId = Convert.ToInt32(businessInvoiceId), FinanceInvoiceId = fundsInvoice.FinanceInvoiceId, AllotBala = busInvoice.InvoiceBala, DetailStatus = StatusEnum.已生效 }); if (result.ResultStatus != 0) return result; } } if (result.ResultStatus == 0) result.ReturnValue = invoice.InvoiceId; scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public DataTable GetServiceTax(DateTime InvoiceDate) { return(InvoiceDAL.GetServiceTax(InvoiceDate)); }
public ResultModel Goback(UserModel user, int businessInvoiceId) { ResultModel result = new ResultModel(); try { BusinessInvoiceDAL businessInvoiceDAL = new BusinessInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //获取财务票 result = businessInvoiceDAL.Get(user, businessInvoiceId); if (result.ResultStatus != 0) return result; BusinessInvoice businessInvoice = result.ReturnValue as BusinessInvoice; if (businessInvoice == null || businessInvoice.BusinessInvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票验证失败"; return result; } //获取发票 result = invoiceDAL.Get(user, businessInvoice.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice invoice = result.ReturnValue as Operate.Model.Invoice; if (invoice == null || invoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票获取失败"; return result; } //撤返发票 result = invoiceDAL.Goback(user, invoice); if (result.ResultStatus != 0) return result; //工作流任务关闭 DataSourceDAL sourceDAL = new DataSourceDAL(); result = sourceDAL.SynchronousStatus(user, invoice); if (result.ResultStatus != 0) return result; scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }