private void LoadPawnageInfo(int intTicketID) { m_TicketID = intTicketID; DDPawnTicket newTicket = new DDPawnTicket("TicketID", intTicketID); Query query = new Query(DDOperation.Schema); query.AddWhere("TicketID", intTicketID); query.AddWhere("OperationType", 4); query.AddWhere("NextOperationID", 0); DataTable dt = query.ExecuteDataSet().Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { this.dataGridView1.Rows.Add(1); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["PawnageID"].Value = dt.Rows[i]["PawnageID"]; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["OperationID"].Value = dt.Rows[i]["OperationID"]; DDPawnageInfo pawnageInfo = new DDPawnageInfo("PawnageID", dt.Rows[i]["PawnageID"]); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["TicketNumber"].Value = newTicket.TicketNumber; DDPawnageClass newClass = new DDPawnageClass("ClassID", pawnageInfo.ClassID); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ClassName"].Value = newClass.ClassName; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["CloseDate"].Value = dt.Rows[i]["OperationDate"]; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Amount"].Value = dt.Rows[i]["Amount"]; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ReckonAmount"].Value = dt.Rows[i]["Amount"]; } }
private void UpdateTicketStatus(int iTicketID) { DDPawnTicket newTicket = new DDPawnTicket("TicketID", iTicketID); newTicket.StatusID = 2; newTicket.Save(); }
private void UpdateTicketStatus() { DDPawnTicket newTicket = new DDPawnTicket("TicketID", m_TicketID); newTicket.StatusID = 7; newTicket.Save(); }
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex > 0) { DataGridView dgv = (DataGridView)sender; if (dgv.Columns[e.ColumnIndex].Name == "BtnClose") { DataGridViewRow dgr = dataGridView1.CurrentRow; int intStatusID = Convert.ToInt32(dgr.Cells["StatusID"].Value); if (intStatusID == 1 || intStatusID == 3) { int intTicketID = Convert.ToInt32(dgr.Cells["TicketID"].Value); DDPawnTicket oldTicket = new DDPawnTicket("TicketID", intTicketID); DialogResult dialogResult = MessageBox.Show("确定进行绝当处理?", "绝当", MessageBoxButtons.OKCancel); if (dialogResult == DialogResult.OK) { LoadOperationNumber(); UpdateOperation(); UpdateOperationNumber(); } } else { MessageBox.Show("该当票不能进行绝当处理!", "绝当"); } } } }
private void UpdatePawnTicket() { DDPawnTicket oldTicket = new DDPawnTicket("TicketID", m_OldTicketID); oldTicket.IsLast = 0; DDPawnTicket newTicket = new DDPawnTicket(); newTicket.CustomerID = oldTicket.CustomerID; newTicket.StatusID = 3; newTicket.OldTicketID = oldTicket.TicketID; newTicket.TicketNumber = this.tbxTicketNumber.Text; newTicket.OldTicketNumber = this.lblOldTicketNum.Text; newTicket.TotalAmount = this.tbxTotalAmount.Text; newTicket.ServiceFee = this.tbxServiceFee.Text; newTicket.InterestFee = this.tbxInterestFee.Text; newTicket.OverdueFee = oldTicket.OverdueFee; newTicket.ReturnFee = oldTicket.ReturnFee; newTicket.StartDate = this.tbxStartDate.Text; newTicket.EndDate = this.tbxEndDate.Text; newTicket.OperateDate = this.tbxStartDate.Text; newTicket.OperaterName = MainForm.AccountName; newTicket.IsLast = 1; try { oldTicket.Save(); newTicket.Save(); UpdatePawages(newTicket.TicketID); MessageBox.Show(this, "续当成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch { MessageBox.Show(this, "数据更新失败,请检查数据库是否连接正确!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { if (e.ColumnIndex > 0) { DataGridView dgv = (DataGridView)sender; if (dgv.Columns[e.ColumnIndex].Name == "BtnFreeze") { DataGridViewRow dgr = dataGridView1.CurrentRow; int intTicketID = Convert.ToInt32(dgr.Cells["TicketID"].Value); DDPawnTicket oldTicket = new DDPawnTicket("TicketID", intTicketID); DialogResult dialogResult = MessageBox.Show("确定进行冻结处理?", "冻结", MessageBoxButtons.OKCancel); if (dialogResult == DialogResult.OK) { UpdateOperation(); UpdateOperationNumber(); } } } } catch { MessageBox.Show("数据库连接失败", "提示信息"); } }
private void LoadAllData(int intTicketID) { DDPawnTicket newTicket = new DDPawnTicket("TicketID", intTicketID); LoadCompanyInfo(Convert.ToInt32(newTicket.CompanyID)); LoadCustomerInfo(Convert.ToInt32(newTicket.CustomerID)); LoadPawnageInfo(intTicketID); }
private void LoadTicketInfo(int intTicketID) { m_TicketID = intTicketID; double TotalLastInterestFee = 0; double LastInterestFee = 0; DDPawnTicket newTicket = new DDPawnTicket("TicketID", intTicketID); this.lblOldTicketNum.Text = newTicket.TicketNumber; this.tbxStartDate.Text = newTicket.EndDate; this.tbxEndDate.Text = newTicket.EndDate; m_EndDate = newTicket.EndDate; DateTime operationDate = DateTime.Now; this.tbxOperationDate.Text = operationDate.Year.ToString() + "-" + operationDate.Month.ToString() + "-" + operationDate.Day.ToString(); Query query = new Query(DDOperation.Schema); query.AddWhere("TicketID", intTicketID); query.AddWhere("NextOperationID", 0); query.AddWhere("OperationType", Comparison.NotEquals, 6); DataTable dt = query.ExecuteDataSet().Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { DDPawnageInfo pawnageInfo = new DDPawnageInfo("PawnageID", dt.Rows[i]["PawnageID"]); this.dataGridView1.Rows.Add(1); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["OperationID"].Value = dt.Rows[i]["OperationID"]; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["PawnageID"].Value = pawnageInfo.PawnageID; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ParentClassID"].Value = pawnageInfo.ParentID; DDPawnageClass parentClass = new DDPawnageClass("ClassID", pawnageInfo.ParentID); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ParentClass"].Value = parentClass.ClassName; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ChildClassID"].Value = pawnageInfo.ClassID; DDPawnageClass childClass = new DDPawnageClass("ClassID", pawnageInfo.ClassID); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ChildClass"].Value = childClass.ClassName; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["FeeRate"].Value = dt.Rows[i]["ServiceFeeRate"].ToString(); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["InterestRate"].Value = dt.Rows[i]["InterestFeeRate"].ToString(); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Description"].Value = pawnageInfo.Description; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["CountNumber"].Value = pawnageInfo.CountNumber; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Weight"].Value = pawnageInfo.Weight; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["DiscountPercent"].Value = pawnageInfo.DiscountPercent; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Amount"].Value = dt.Rows[i]["Amount"]; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Remark"].Value = pawnageInfo.Remark; //计算上期利息 DateTime StartDate = DateTime.Parse(dt.Rows[i]["StartDate"].ToString()); DateTime EndDate = DateTime.Parse(dt.Rows[i]["EndDate"].ToString()); PawnSpan LastInterestSpan = DianDangFunction.GetPawnSpan(StartDate, EndDate, FeeType.InterestFee, PeridType.Within); LastInterestFee = (LastInterestSpan.Months + LastInterestSpan.CountDays / 30) * Convert.ToDouble(dt.Rows[i]["InterestFeeRate"].ToString()) * Convert.ToDouble(dt.Rows[i]["Amount"].ToString()) / 100; LastInterestFee = DianDangFunction.myRound(LastInterestFee, MainForm.AmountAccuracy); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["InterestFee"].Value = LastInterestFee; TotalLastInterestFee += LastInterestFee; } CaculateAmount(); this.tbxLastInterestFee.Text = TotalLastInterestFee.ToString(); this.lblLastInterestFee.Text = newChinese.toChineseChar(Convert.ToDecimal(TotalLastInterestFee)); }
private void InitGridSource() { m_GridTable.Rows.Clear(); int intStatusID = Convert.ToInt32(this.cbxOperationType.SelectedValue); string strStatus = this.cbxOperationType.Text; Query query = new Query(DDOperation.Schema); query.AddBetweenAnd("OperationDate", Convert.ToDateTime(this.tbxStartDate.Text), Convert.ToDateTime(this.tbxEndDate.Text)); if (strStatus != "全部") { query.AddWhere("OperationType", intStatusID); } DataTable dt = query.ExecuteDataSet().Tables[0]; if (dt.Rows.Count > 0) { double serviceFee = 0, interestFee = 0, overdueFee = 0, returnFee = 0; double amount = 0, moneyRL = 0; for (int i = 0; i < dt.Rows.Count; i++) { DataRow drow = m_GridTable.NewRow(); DDPawnTicket newTicket = new DDPawnTicket("TicketID", dt.Rows[i]["TicketID"]); drow["TicketNumber"] = newTicket.TicketNumber; drow["Amount"] = dt.Rows[i]["Amount"]; drow["OperationType"] = dt.Rows[i]["OperationType"]; drow["OperationDate"] = dt.Rows[i]["OperationDate"]; drow["OperaterName"] = dt.Rows[i]["OperaterName"]; m_GridTable.Rows.Add(drow); amount = Convert.ToDouble(dt.Rows[i]["Amount"]); serviceFee = Convert.ToDouble(dt.Rows[i]["ServiceFee"]); interestFee = Convert.ToDouble(dt.Rows[i]["InterestFee"]); overdueFee = Convert.ToDouble(dt.Rows[i]["OverdueFee"]); returnFee = Convert.ToDouble(dt.Rows[i]["ReturnFee"]); switch (Convert.ToInt32(dt.Rows[i]["OperationType"])) { case 1: moneyRL = moneyRL - amount + serviceFee; break; case 2: moneyRL = moneyRL + amount + overdueFee + interestFee - returnFee; break; case 3: moneyRL = moneyRL + serviceFee; break; default: break; } } this.lblMoneyRL.Text = moneyRL.ToString(); } }
private void UpdateCloseOperation() { DataGridViewRow dgr = dataGridView1.CurrentRow; int intStatusID = Convert.ToInt32(dgr.Cells["StatusID"].Value); if (intStatusID == 1 || intStatusID == 3) { int iTicketID = Convert.ToInt32(dgr.Cells["TicketID"].Value); DDPawnTicket newTicket = new DDPawnTicket("TicketID", iTicketID); Query queryOperations = new Query(DDOperation.Schema); queryOperations.AddWhere("TicketID", iTicketID); queryOperations.AddWhere("NextOperationID", 0); DataTable dtOperations = queryOperations.ExecuteDataSet().Tables[0]; if (dtOperations.Rows.Count > 0) { newTicket.StatusID = 4; newTicket.Save(); DateTime operateDate = DateTime.Now; string strDate = operateDate.Year.ToString() + "-" + operateDate.Month.ToString() + "-" + operateDate.Day.ToString(); int preOperationID = 0; for (int i = 0; i < dtOperations.Rows.Count; i++) { DDOperation newOperation = new DDOperation(); preOperationID = Convert.ToInt32(dtOperations.Rows[i]["OperationID"]); newOperation.TicketID = iTicketID; newOperation.PawnageID = Convert.ToInt32(dtOperations.Rows[i]["PawnageID"]); newOperation.OperationType = 4; //4 :绝当 newOperation.OperationNumber = m_OperationNumber; newOperation.ServiceFee = "0"; newOperation.InterestFee = "0"; newOperation.ReturnFee = "0"; newOperation.OverdueFee = "0"; newOperation.Amount = dtOperations.Rows[i]["Amount"].ToString(); newOperation.ReckonAmount = "0"; newOperation.OperationDate = strDate; newOperation.OperaterName = MainForm.AccountName; newOperation.PreOperationID = preOperationID; newOperation.NextOperationID = 0; newOperation.Save(); DDOperation oldOperation = new DDOperation("OperationID", preOperationID); oldOperation.NextOperationID = newOperation.OperationID; oldOperation.Save(); } InitGridSource(); dataGridView1.DataSource = m_GridTable; MessageBox.Show("绝当处理成功!", "绝当"); } } else { MessageBox.Show("该当票不能进行绝当操作!", "绝当"); } }
private void LoadTicketInfo(int intTicketID) { m_TicketID = intTicketID; DDPawnTicket newTicket = new DDPawnTicket("TicketID", intTicketID); this.tbxTicketNumber.Text = newTicket.TicketNumber; this.tbxStartDate.Text = newTicket.StartDate; this.tbxEndDate.Text = newTicket.EndDate; DateTime operationDate = DateTime.Now; LoadCustomerInfo(Convert.ToInt32(newTicket.CustomerID)); Query query = new Query(DDOperation.Schema); query.AddWhere("TicketID", intTicketID); query.AddWhere("OperationType", 1); DataTable dt = query.ExecuteDataSet().Tables[0]; double totalServiceFee = 0; double totalAmount = 0; double totalInterestFee = 0; double paidFee = 0; for (int i = 0; i < dt.Rows.Count; i++) { DDPawnageInfo pawnageInfo = new DDPawnageInfo("PawnageID", dt.Rows[i]["PawnageID"]); this.dataGridView1.Rows.Add(1); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ParentClassID"].Value = pawnageInfo.ParentID; DDPawnageClass parentClass = new DDPawnageClass("ClassID", pawnageInfo.ParentID); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ParentClass"].Value = parentClass.ClassName; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ChildClassID"].Value = pawnageInfo.ClassID; DDPawnageClass childClass = new DDPawnageClass("ClassID", pawnageInfo.ClassID); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ChildClass"].Value = childClass.ClassName; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["FeeRate"].Value = pawnageInfo.FeeRate; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["InterestRate"].Value = pawnageInfo.InterestRate; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Description"].Value = pawnageInfo.Description; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["CountNumber"].Value = pawnageInfo.CountNumber; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Weight"].Value = pawnageInfo.Weight; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["DiscountPercent"].Value = pawnageInfo.DiscountPercent; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Amount"].Value = dt.Rows[i]["Amount"]; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["PawnageID"].Value = dt.Rows[i]["PawnageID"].ToString(); totalAmount += Convert.ToDouble(dt.Rows[i]["Amount"]); totalServiceFee += Convert.ToDouble(dt.Rows[i]["ServiceFee"]); totalInterestFee += Convert.ToDouble(dt.Rows[i]["InterestFee"]); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Remark"].Value = pawnageInfo.Remark; } this.tbxTotalAmount.Text = totalAmount.ToString(); this.lblTotalAmount.Text = newChinese.toChineseChar(Convert.ToDecimal(totalAmount)); this.tbxServiceFee.Text = totalServiceFee.ToString(); this.lblServiceFee.Text = newChinese.toChineseChar(Convert.ToDecimal(totalServiceFee));; this.tbxInterestFee.Text = totalInterestFee.ToString(); this.lblInterestFee.Text = newChinese.toChineseChar(Convert.ToDecimal(totalInterestFee)); paidFee = totalAmount - totalServiceFee; this.tbxPaidFee.Text = paidFee.ToString(); this.lblPaidFee.Text = newChinese.toChineseChar(Convert.ToDecimal(paidFee)); }
private void LoadPawnageInfo(int intTicketID) { DDPawnTicket newTicket = new DDPawnTicket("TicketID", intTicketID); this.tbxTicketNumber.Text = newTicket.TicketNumber; this.tbxStartDate.Text = newTicket.StartDate; this.tbxEndDate.Text = newTicket.EndDate; this.tbxOperateDate.Text = newTicket.OperateDate; Query query = new Query(DDPawnageInfo.Schema); query.AddWhere("TicketID", intTicketID); DataSet ds = query.ExecuteDataSet(); DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { switch (i) { case 0: this.cbxParentClass1.SelectedValue = Convert.ToInt32(dt.Rows[i]["ParentID"]); this.cbxChildClass1.SelectedValue = Convert.ToInt32(dt.Rows[i]["ClassID"]); this.tbxCount1.Text = dt.Rows[i]["CountNumber"].ToString(); this.tbxPrice1.Text = dt.Rows[i]["Price"].ToString(); this.tbxPercent1.Text = dt.Rows[i]["DiscountPercent"].ToString(); this.tbxPawnageAmount1.Text = dt.Rows[i]["Amount"].ToString(); this.tbxDescr1.Text = dt.Rows[i]["Description"].ToString(); break; case 1: this.cbxParentClass2.SelectedValue = Convert.ToInt32(dt.Rows[i]["ParentID"]); this.cbxChildClass2.SelectedValue = Convert.ToInt32(dt.Rows[i]["ClassID"]); this.tbxCount2.Text = dt.Rows[i]["CountNumber"].ToString(); this.tbxPrice2.Text = dt.Rows[i]["Price"].ToString(); this.tbxPercent2.Text = dt.Rows[i]["DiscountPercent"].ToString(); this.tbxPawnageAmount2.Text = dt.Rows[i]["Amount"].ToString(); this.tbxDescr2.Text = dt.Rows[i]["Description"].ToString(); break; case 2: this.cbxParentClass3.SelectedValue = Convert.ToInt32(dt.Rows[i]["ParentID"]); this.cbxChildClass3.SelectedValue = Convert.ToInt32(dt.Rows[i]["ClassID"]); this.tbxCount3.Text = dt.Rows[i]["CountNumber"].ToString(); this.tbxPrice3.Text = dt.Rows[i]["Price"].ToString(); this.tbxPercent3.Text = dt.Rows[i]["DiscountPercent"].ToString(); this.tbxPawnageAmount3.Text = dt.Rows[i]["Amount"].ToString(); this.tbxDescr3.Text = dt.Rows[i]["Description"].ToString(); break; } } } }
private void UpdateOperation() { try { if (dataGridView1.Rows.Count > 0) { DateTime operateDate = DateTime.Now; string strDate = operateDate.Year.ToString() + "-" + operateDate.Month.ToString() + "-" + operateDate.Day.ToString(); int iPawnageID = 0; int preOperationID = 0; for (int i = dataGridView1.Rows.Count - 1; i > -1; i--) { DataGridViewRow dgr = dataGridView1.Rows[i]; iPawnageID = Convert.ToInt32(dgr.Cells["PawnageID"].Value); preOperationID = Convert.ToInt32(dgr.Cells["OperationID"].Value); DDOperation newOperation = new DDOperation(); newOperation.TicketID = m_TicketID; newOperation.PawnageID = iPawnageID; newOperation.OperationType = 7; //7:清算 newOperation.OperationNumber = m_OperationNumber; newOperation.ServiceFee = "0"; newOperation.InterestFee = "0"; newOperation.ReturnFee = "0"; newOperation.OverdueFee = "0"; newOperation.Amount = dgr.Cells["Amount"].Value.ToString(); newOperation.ReckonAmount = dgr.Cells["ReckonAmount"].Value.ToString(); newOperation.OperationDate = strDate; newOperation.OperaterName = MainForm.AccountName; newOperation.PreOperationID = preOperationID; newOperation.NextOperationID = 0; newOperation.Deleted = 0; newOperation.Save(); DDOperation oldOperation = new DDOperation("OperationID", preOperationID); oldOperation.NextOperationID = newOperation.OperationID; oldOperation.Save(); DDPawnageInfo newInfo = new DDPawnageInfo("PawnageID", iPawnageID); newInfo.StatusID = 7; newInfo.Save(); } DDPawnTicket newTicket = new DDPawnTicket("TicketID", m_TicketID); newTicket.StatusID = 7; //7:清算 newTicket.Save(); } } catch (Exception ex) { throw ex; } }
private void InitGridTable(int iTicketID) { m_GridTable.Columns.Add("TicketNumber", typeof(System.String)); m_GridTable.Columns.Add("PawnageClass", typeof(System.String)); m_GridTable.Columns.Add("OperationDate", typeof(System.String)); m_GridTable.Columns.Add("OperationType", typeof(System.Int32)); m_GridTable.Columns.Add("Operater", typeof(System.String)); m_GridTable.Columns.Add("OperationNumber", typeof(String)); m_GridTable.Columns.Add("StartDate", typeof(System.String)); m_GridTable.Columns.Add("EndDate", typeof(System.String)); m_GridTable.Columns.Add("ServiceFee", typeof(System.String)); m_GridTable.Columns.Add("InterestFee", typeof(System.String)); m_GridTable.Columns.Add("ReturnServiceFee", typeof(System.String)); m_GridTable.Columns.Add("OverdueServiceFee", typeof(System.String)); DDPawnTicket newTicket = new DDPawnTicket("TicketID", iTicketID); Query query = new Query(DDOperation.Schema); query.AddWhere("TicketID", iTicketID); query.AddWhere("OperationType", Comparison.NotEquals, 6); DataTable dt = query.ExecuteDataSet().Tables[0]; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { string Item = dt.Rows[i]["OperationNumber"].ToString(); if (!isInSearchStatusList(Item)) { DataRow drow = m_GridTable.NewRow(); drow["TicketNumber"] = newTicket.TicketNumber; DDPawnageInfo newInfo = new DDPawnageInfo("PawnageID", Convert.ToInt32(dt.Rows[i]["PawnageID"])); DDPawnageClass newClass = new DDPawnageClass("ClassID", newInfo.ClassID); drow["PawnageClass"] = newClass.ClassName; drow["OperationDate"] = dt.Rows[i]["OperationDate"]; drow["OperationType"] = dt.Rows[i]["OperationType"]; drow["Operater"] = dt.Rows[i]["OperaterName"]; drow["OperationNumber"] = dt.Rows[i]["OperationNumber"]; drow["StartDate"] = dt.Rows[i]["StartDate"]; drow["EndDate"] = dt.Rows[i]["EndDate"]; drow["ServiceFee"] = dt.Rows[i]["ServiceFee"]; drow["InterestFee"] = dt.Rows[i]["InterestFee"]; drow["ReturnServiceFee"] = dt.Rows[i]["ReturnFee"]; drow["OverdueServiceFee"] = dt.Rows[i]["OverdueFee"]; m_GridTable.Rows.Add(drow); SearchStatus.Add(Item); } } } this.dataGridView1.DataSource = m_GridTable; }
public void Insert(int?CustomerID, string TicketNumber, string StartDate, string EndDate, int?StatusID) { DDPawnTicket item = new DDPawnTicket(); item.CustomerID = CustomerID; item.TicketNumber = TicketNumber; item.StartDate = StartDate; item.EndDate = EndDate; item.StatusID = StatusID; item.Save(UserName); }
public void Update(int TicketID, int?CustomerID, string TicketNumber, string StartDate, string EndDate, int?StatusID) { DDPawnTicket item = new DDPawnTicket(); item.MarkOld(); item.IsLoaded = true; item.TicketID = TicketID; item.CustomerID = CustomerID; item.TicketNumber = TicketNumber; item.StartDate = StartDate; item.EndDate = EndDate; item.StatusID = StatusID; item.Save(UserName); }
private void LoadOldTicketInfo(int intTicketID) { DDPawnTicket newTicket = new DDPawnTicket("TicketID", intTicketID); this.lblOldTicketNum.Text = newTicket.TicketNumber; this.tbxStartDate.Text = newTicket.StartDate; this.tbxPawnTerm.Text = "1"; DateTime endDate = DateTime.Now.AddMonths(1); this.tbxEndDate.Text = endDate.Year.ToString() + "-" + endDate.Month.ToString() + "-" + endDate.Day.ToString(); Query query = new Query(DDTicketPawnage.Schema); query.AddWhere("TicketID", intTicketID); DataTable dt = query.ExecuteDataSet().Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { DDPawnageInfo pawnageInfo = new DDPawnageInfo("PawnageID", dt.Rows[i]["PawnageID"]); this.dataGridView1.Rows.Add(1); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ParentClassID"].Value = pawnageInfo.ParentID; DDPawnageClass parentClass = new DDPawnageClass("ClassID", pawnageInfo.ParentID); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ParentClass"].Value = parentClass.ClassName; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ChildClassID"].Value = pawnageInfo.ClassID; DDPawnageClass childClass = new DDPawnageClass("ClassID", pawnageInfo.ClassID); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["ChildClass"].Value = childClass.ClassName; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["FeeRate"].Value = childClass.MonthFeeRate; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["InterestRate"].Value = childClass.InterestRate; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Description"].Value = pawnageInfo.Description; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["CountNumber"].Value = pawnageInfo.CountNumber; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Weight"].Value = pawnageInfo.Weight; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["DiscountPercent"].Value = pawnageInfo.DiscountPercent; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Amount"].Value = pawnageInfo.Amount; dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Remark"].Value = pawnageInfo.Remark; } CaculateAmount(); }
private void UpdatePawnTicket() { int intCustomerID = UpdateCustomerInfo(); DDPawnTicket newTicket = new DDPawnTicket(); newTicket.CompanyID = 1; newTicket.CustomerID = intCustomerID; newTicket.StatusID = 1; newTicket.TicketNumber = this.tbxTicketNumber.Text; newTicket.StartDate = this.tbxStartDate.Text; newTicket.EndDate = this.tbxEndDate.Text; newTicket.OperateDate = this.tbxOperateDate.Text; //newTicket.OperatorID = 1111; try { newTicket.Save(); UpdatePawages(newTicket.TicketID); } catch { MessageBox.Show("当票信息更新失败,请检查数据库连接状态!"); } }
private void OperationCount() { try { DateTime startDate = Convert.ToDateTime(this.tbxStartDate.Text.Trim()); DateTime endDate = Convert.ToDateTime(this.tbxEndDate.Text.Trim()); int newPawnCount = 0; int closeOfNewCount = 0; int redeemPawnCount = 0; int renewPawnCount = 0; int closePawnCount = 0; int goldOfClosePawnCount = 0; int operationType = 0; string selectList = string.Format("{0},{1},{2},{3},{4}", DDOperation.OperationNumberColumn.ColumnName, DDOperation.OperationTypeColumn.ColumnName, DDOperation.PawnageIDColumn.ColumnName, DDOperation.TicketIDColumn.ColumnName, DDOperation.OperationDateColumn.ColumnName); Query queryOperations = new Query(DDOperation.Schema).SetSelectList(selectList).AddBetweenAnd("OperationDate", startDate, endDate).ORDER_BY(DDOperation.OperationNumberColumn.ColumnName); DataTable dtOperations = queryOperations.ExecuteDataSet().Tables[0]; if (dtOperations.Rows.Count > 0) { string operationNumber = "0"; string preOperationNumber = "0"; for (int i = 0; i < dtOperations.Rows.Count; i++) { operationNumber = dtOperations.Rows[i]["OperationNumber"].ToString(); if (operationNumber != preOperationNumber) { operationType = Convert.ToInt32(dtOperations.Rows[i]["OperationType"]); switch (operationType) { case 1: newPawnCount++; DDPawnTicket newTicket = new DDPawnTicket("TicketID", Convert.ToInt32(dtOperations.Rows[i]["TicketID"])); if (newTicket.StatusID == 4 || newTicket.StatusID == 7) { closeOfNewCount++; } break; case 2: redeemPawnCount++; break; case 3: renewPawnCount++; break; case 4: closePawnCount++; DDPawnageInfo newPawnage = new DDPawnageInfo("PawnageID", Convert.ToInt32(dtOperations.Rows[i]["PawnageID"])); if (newPawnage.ParentID == 2) //109:黄金类ClassID { goldOfClosePawnCount++; } break; default: break; } preOperationNumber = operationNumber; } } } double allNewPawnCount = 0; //double closeOfAllNewPawnCount = 0; double allRedeemPawnCount = 0; double allClosePawnCount = 0; DDCompanyInfo company = new DDCompanyInfo("CompanyID", 1); DateTime setupDate = Convert.ToDateTime(company.SetupDate); Query queryAllOperations = new Query(DDOperation.Schema).SetSelectList(selectList).DISTINCT().ORDER_BY(DDOperation.OperationNumberColumn.ColumnName); queryAllOperations.AddBetweenAnd("OperationDate", setupDate, endDate); //所有的操作记录 DataTable dtAllOperations = queryAllOperations.ExecuteDataSet().Tables[0]; if (dtAllOperations.Rows.Count > 0) { string operationNumber = "0"; string preOperationNumber = "0"; for (int j = 0; j < dtAllOperations.Rows.Count; j++) { operationNumber = dtAllOperations.Rows[j]["OperationNumber"].ToString(); if (operationNumber != preOperationNumber) { operationType = Convert.ToInt32(dtAllOperations.Rows[j]["OperationType"]); if (operationType == 1) { allNewPawnCount++; // DDPawnTicket newTicket = new DDPawnTicket("TicketID", Convert.ToInt32(dtAllOperations.Rows[j]["TicketID"])); // if (newTicket.StatusID == 4 || newTicket.StatusID == 7) // { // closeOfAllNewPawnCount++; // } } if (operationType == 2) { allRedeemPawnCount++; } if (operationType == 4) { allClosePawnCount++; } preOperationNumber = operationNumber; } } } double startTotalCount = 0; double endTotalCount = 0; double increCount = 0; endTotalCount = allNewPawnCount - allRedeemPawnCount - allClosePawnCount; increCount = newPawnCount - redeemPawnCount - closePawnCount; startTotalCount = endTotalCount - increCount; this.lblNewPawnCount.Text = newPawnCount.ToString(); this.lblCloseOfNewCount.Text = closeOfNewCount.ToString(); this.lblRenewPawnCount.Text = renewPawnCount.ToString(); this.lblSalesCount.Text = (newPawnCount + renewPawnCount).ToString(); this.lblRedeemPawnCount.Text = redeemPawnCount.ToString(); this.lblClosePawnCount.Text = closePawnCount.ToString(); this.lblGoldOfCloseCount.Text = goldOfClosePawnCount.ToString(); this.lblStartTotalCount.Text = startTotalCount.ToString(); this.lblEndTotalCount.Text = endTotalCount.ToString(); this.lblIncreCount.Text = increCount.ToString(); } catch (Exception ex) { throw ex; } }
private void LoadTemplate(int iTicketID, string strOperationNumber) { double TotalAmount = 0; double TotalServiceFee = 0; double TotalLastInterestFee = 0; double TotalReturnFee = 0; double TotalOverdueFee = 0; double FirstTotalServiceFee = 0; double FirstTotalAmount = 0; List <string> strList = new List <string>(); DDPawnTicket newTicket = new DDPawnTicket("TicketID", m_TicketID); DDCustomerInfo newCustomer = new DDCustomerInfo("CustomerID", newTicket.CustomerID); Query queryOperation = new Query(DDOperation.Schema); queryOperation.AddWhere("TicketID", m_TicketID); queryOperation.AddWhere("OperationNumber", strOperationNumber); queryOperation.AddWhere("OperationType", Comparison.NotEquals, 6); DataTable dtOperation = queryOperation.ExecuteDataSet().Tables[0]; for (int i = 0; i < dtOperation.Rows.Count; i++) { TotalAmount += Convert.ToDouble(dtOperation.Rows[i]["Amount"].ToString()); TotalServiceFee += Convert.ToDouble(dtOperation.Rows[i]["ServiceFee"].ToString()); TotalLastInterestFee += Convert.ToDouble(dtOperation.Rows[i]["InterestFee"].ToString()); TotalReturnFee += Convert.ToDouble(dtOperation.Rows[i]["ReturnFee"].ToString()); TotalOverdueFee += Convert.ToDouble(dtOperation.Rows[i]["OverdueFee"].ToString()); } TotalAmount = DianDangFunction.myRound(TotalAmount, MainForm.AmountAccuracy); TotalServiceFee = DianDangFunction.myRound(TotalServiceFee, MainForm.AmountAccuracy); TotalLastInterestFee = DianDangFunction.myRound(TotalLastInterestFee, MainForm.AmountAccuracy); TotalReturnFee = DianDangFunction.myRound(TotalReturnFee, MainForm.AmountAccuracy); TotalOverdueFee = DianDangFunction.myRound(TotalOverdueFee, MainForm.AmountAccuracy); queryOperation = new Query(DDOperation.Schema); queryOperation.AddWhere("TicketID", m_TicketID); queryOperation.AddWhere("PreOperationID", 0); queryOperation.AddWhere("OperationType", Comparison.NotEquals, 6); dtOperation = queryOperation.ExecuteDataSet().Tables[0]; for (int i = 0; i < dtOperation.Rows.Count; i++) { FirstTotalAmount += Convert.ToDouble(dtOperation.Rows[i]["Amount"].ToString()); FirstTotalServiceFee += Convert.ToDouble(dtOperation.Rows[i]["ServiceFee"].ToString()); } FirstTotalAmount = DianDangFunction.myRound(FirstTotalAmount, MainForm.AmountAccuracy); FirstTotalServiceFee = DianDangFunction.myRound(FirstTotalServiceFee, MainForm.AmountAccuracy); MSExcel.Application excelApp; //Excel应用程序变量 MSExcel.Workbook excelDoc; //Excel文档变量 excelApp = new MSExcel.ApplicationClass(); //初始化 //由于使用的是COM库,因此有许多变量需要用Nothing代替 Object Nothing = Missing.Value; excelDoc = excelApp.Workbooks._Open(Application.StartupPath + @"\Pram\RedeemTemplate_TongBao.dd", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); //使用第一个工作表作为插入数据的工作表 MSExcel.Worksheet ws = (MSExcel.Worksheet)excelDoc.Sheets[1]; //声明一个MSExcel.Range 类型的变量r MSExcel.Range r; DDCompanyInfo company = new DDCompanyInfo("CompanyID", 1); //r = ws.get_Range(("F" + 4), ("F" + 4)); r.Value2 = company.CompanyName; r = ws.get_Range(("K" + 5), ("K" + 5)); r.Value2 = newTicket.TicketNumber.ToString(); r = ws.get_Range(("D" + 5), ("D" + 5)); r.Value2 = newCustomer.CustomerName; //TotalAmount: string strTotalMount = TotalAmount.ToString("0.00"); r = ws.get_Range(("D" + 7), ("D" + 7)); r.Value2 = newChinese.toChineseChar(strTotalMount); r = ws.get_Range(("M" + 7), ("M" + 7)); r.Value2 = strTotalMount; //Fee string strFirstGive = (FirstTotalAmount - FirstTotalServiceFee).ToString("0.00"); r = ws.get_Range(("E" + 13), ("E" + 13)); r.Value2 = newChinese.toChineseChar(strFirstGive); r = ws.get_Range(("L" + 13), ("L" + 13)); r.Value2 = strFirstGive; string strFirstServiceFee = FirstTotalServiceFee.ToString("0.00"); r = ws.get_Range(("E" + 15), ("E" + 15)); r.Value2 = newChinese.toChineseChar(strFirstServiceFee); r = ws.get_Range(("L" + 15), ("L" + 15)); r.Value2 = strFirstServiceFee; string strOverdue = (Math.Abs(TotalLastInterestFee + TotalOverdueFee - TotalReturnFee + TotalServiceFee)).ToString("0.00"); r = ws.get_Range(("E" + 17), ("E" + 17)); r.Value2 = newChinese.toChineseChar(strOverdue); r = ws.get_Range(("L" + 17), ("L" + 17)); r.Value2 = strOverdue; string strAll = (TotalAmount + TotalLastInterestFee + TotalOverdueFee + TotalServiceFee - TotalReturnFee).ToString("0.00"); strList = newChinese.toStrList(strAll, 5, 2); r = ws.get_Range(("D" + 19), ("D" + 19)); r.Value2 = strList[0]; r = ws.get_Range(("E" + 19), ("E" + 19)); r.Value2 = strList[1]; r = ws.get_Range(("G" + 19), ("G" + 19)); r.Value2 = strList[2]; r = ws.get_Range(("H" + 19), ("H" + 19)); r.Value2 = strList[3]; r = ws.get_Range(("I" + 19), ("I" + 19)); r.Value2 = strList[4]; r = ws.get_Range(("J" + 19), ("J" + 19)); r.Value2 = strList[5]; r = ws.get_Range(("L" + 19), ("L" + 19)); r.Value2 = strList[6]; r = ws.get_Range(("N" + 19), ("N" + 19)); r.Value2 = strAll; //日期 DDOperation ThisOperation = new DDOperation("OperationNumber", strOperationNumber); DDOperation LastOperation = new DDOperation("OperationID", ThisOperation.PreOperationID); DateTime operationDate = Convert.ToDateTime(ThisOperation.OperationDate); DateTime lastStartDate = Convert.ToDateTime(LastOperation.StartDate); DateTime lastEndDate = Convert.ToDateTime(LastOperation.EndDate); r = ws.get_Range(("C" + 9), ("C" + 9)); r.Value2 = lastStartDate.Year.ToString(); r = ws.get_Range(("E" + 9), ("E" + 9)); r.Value2 = lastStartDate.Month.ToString(); r = ws.get_Range(("G" + 9), ("G" + 9)); r.Value2 = lastStartDate.Day.ToString(); r = ws.get_Range(("I" + 9), ("I" + 9)); r.Value2 = lastEndDate.Year.ToString(); r = ws.get_Range(("J" + 9), ("J" + 9)); r.Value2 = lastEndDate.Month.ToString(); r = ws.get_Range(("L" + 9), ("L" + 9)); r.Value2 = lastEndDate.Day.ToString(); r = ws.get_Range(("B" + 11), ("B" + 11)); r.Value2 = operationDate.Year.ToString(); r = ws.get_Range(("D" + 11), ("D" + 11)); r.Value2 = operationDate.Month.ToString(); r = ws.get_Range(("G" + 11), ("G" + 11)); r.Value2 = operationDate.Day.ToString(); r = ws.get_Range(("L" + 3), ("L" + 3)); r.Value2 = operationDate.Year.ToString(); r = ws.get_Range(("N" + 3), ("N" + 3)); r.Value2 = operationDate.Month.ToString(); r = ws.get_Range(("O" + 3), ("O" + 3)); r.Value2 = operationDate.Day.ToString(); //double serviceFeeRate = Convert.ToDouble(dtOperation.Rows[0]["ServiceFeeRate"].ToString()); //double interestRate = Convert.ToDouble(dtOperation.Rows[0]["InterestFeeRate"].ToString()); //r = ws.get_Range(("D" + 11), ("D" + 11)); r.Value2 = serviceFeeRate.ToString(); //r = ws.get_Range(("D" + 12), ("D" + 12)); r.Value2 = interestRate.ToString(); DDUser newUser = new DDUser("AccountName", MainForm.AccountName); r = ws.get_Range(("K" + 21), ("K" + 21)); r.Value2 = newUser.UserName; //WdSaveFormat为Excel文档的保存格式 object format = MSExcel.XlFileFormat.xlWorkbookNormal; //将excelDoc文档对象的内容保存为dd文档 //excelDoc.Save(); //excelDoc.SaveAs(path, format, Nothing, Nothing, Nothing, Nothing, MSExcel.ddaveAsAccessMode.xlExclusive, Nothing, Nothing, Nothing, Nothing, Nothing); excelDoc.PrintOut(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing); if (File.Exists(Application.StartupPath + @"\Pram\dump.dd")) { try { File.Delete(Application.StartupPath + @"\Pram\dump.dd"); } catch (FieldAccessException e) { MessageBox.Show("记录文件正在被使用,请退出Excel\n" + e.ToString()); } } excelDoc.SaveAs(Application.StartupPath + @"\Pram\dump.dd", format, Nothing, Nothing, Nothing, Nothing, MSExcel.XlSaveAsAccessMode.xlExclusive, Nothing, Nothing, Nothing, Nothing, Nothing); //关闭excelDoc文档对象 excelDoc.Close(Nothing, Nothing, Nothing); //关闭excelApp组件对象 excelApp.Quit(); //MessageBox.Show("生成成功"); //PrintReceipt(); }
private void btnCaculate_Click(object sender, EventArgs e) { double totalCount = 0; double totalAmount = 0; double redeemAmount = 0; double closeAmount = 0; double closeClearAmount = 0; double clearAmount = 0; double unclearAmount = 0; double reckoningRlAmount = 0; double frezeeAmount = 0; double createServiceFee = 0; double renewServiceFee = 0; double interestFee = 0; double overdueFee = 0; int intTicketID = 0; if (dataGridView1.SelectedRows.Count < 1) { totalCount = m_GridTable.Rows.Count; } else { totalCount = dataGridView1.SelectedRows.Count; } for (int i = 0; i < totalCount; i++) { if (dataGridView1.SelectedRows.Count < 1) { intTicketID = Convert.ToInt32(m_GridTable.Rows[i]["TicketID"]); } else { intTicketID = Convert.ToInt32(dataGridView1.SelectedRows[i].Cells["TicketID"].Value); } DDPawnTicket newTicket = new DDPawnTicket("TicketID", intTicketID); Query query = new Query(DDOperation.Schema); query.AddWhere("TicketID", intTicketID); DataTable dt = query.ExecuteDataSet().Tables[0]; if (dt.Rows.Count > 0) { int operationType = 0; double amount = 0; double tmpServiceFee = 0; double tmpInterestFee = 0; double tmpOverdueFee = 0; double tmpReturnFee = 0; for (int j = 0; j < dt.Rows.Count; j++) { operationType = Convert.ToInt32(dt.Rows[j]["OperationType"]); amount = Convert.ToDouble(dt.Rows[j]["Amount"]); tmpServiceFee = Convert.ToDouble(dt.Rows[j]["ServiceFee"]); tmpInterestFee = Convert.ToDouble(dt.Rows[j]["InterestFee"]); switch (operationType) { case 1: totalAmount += amount; createServiceFee += tmpServiceFee; interestFee += tmpInterestFee; break; case 2: redeemAmount += amount; interestFee += tmpInterestFee; tmpOverdueFee = Convert.ToDouble(dt.Rows[j]["OverdueFee"]); tmpReturnFee = Convert.ToDouble(dt.Rows[j]["ReturnFee"]); overdueFee += tmpOverdueFee; break; case 3: interestFee += tmpInterestFee; renewServiceFee += tmpServiceFee; break; case 4: closeAmount += amount; break; case 5: frezeeAmount += amount; break; case 7: closeClearAmount += amount; clearAmount += Convert.ToDouble(dt.Rows[j]["ReckonAmount"]); break; default: break; } } reckoningRlAmount = clearAmount - closeClearAmount; unclearAmount = closeAmount - closeClearAmount; } } this.lblTotalCount.Text = totalCount.ToString(); this.lblTotalAmount.Text = totalAmount.ToString(); this.lblRedeemAmount.Text = redeemAmount.ToString(); this.lblCloseAmount.Text = closeAmount.ToString(); this.lblCloseClearAmount.Text = closeClearAmount.ToString(); this.lblClearAmount.Text = clearAmount.ToString(); this.lblUnclearAmount.Text = unclearAmount.ToString(); this.lblReckoningRL.Text = reckoningRlAmount.ToString(); this.lblFrezeeAmount.Text = frezeeAmount.ToString(); this.lblCreateServiceFee.Text = createServiceFee.ToString(); this.lblRenewServiceFee.Text = renewServiceFee.ToString(); this.lblInterestFee.Text = interestFee.ToString(); this.lblOverdueFee.Text = overdueFee.ToString(); this.gbCaculate.Visible = true; }
private void LoadTemplate(int iTicketID, string strOperationNumber) { double TotalAmount = 0; double TotalServiceFee = 0; double TotalLastInterestFee = 0; DDPawnTicket newTicket = new DDPawnTicket("TicketID", m_TicketID); Query queryOperation = new Query(DDOperation.Schema); queryOperation.AddWhere("TicketID", m_TicketID); queryOperation.AddWhere("OperationNumber", strOperationNumber); queryOperation.AddWhere("OperationType", Comparison.NotEquals, 6); DataTable dtOperation = queryOperation.ExecuteDataSet().Tables[0]; for (int i = 0; i < dtOperation.Rows.Count; i++) { TotalAmount += Convert.ToDouble(dtOperation.Rows[i]["Amount"].ToString()); TotalServiceFee += Convert.ToDouble(dtOperation.Rows[i]["ServiceFee"].ToString()); TotalLastInterestFee += Convert.ToDouble(dtOperation.Rows[i]["InterestFee"].ToString()); } TotalAmount = DianDangFunction.myRound(TotalAmount, MainForm.AmountAccuracy); TotalServiceFee = DianDangFunction.myRound(TotalServiceFee, MainForm.AmountAccuracy); TotalLastInterestFee = DianDangFunction.myRound(TotalLastInterestFee, MainForm.AmountAccuracy); MSExcel.Application excelApp; //Excel应用程序变量 MSExcel.Workbook excelDoc; //Excel文档变量 excelApp = new MSExcel.ApplicationClass(); //初始化 //由于使用的是COM库,因此有许多变量需要用Nothing代替 Object Nothing = Missing.Value; excelDoc = excelApp.Workbooks._Open(Application.StartupPath + @"\Pram\RenewTemplate.dd", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); //使用第一个工作表作为插入数据的工作表 MSExcel.Worksheet ws = (MSExcel.Worksheet)excelDoc.Sheets[1]; //声明一个MSExcel.Range 类型的变量r MSExcel.Range r; DDCompanyInfo company = new DDCompanyInfo("CompanyID", 1); //this.lblCompanyName.Text = company.CompanyName; //this.lblOldTicketNumber.Text = frmRenewPawnOperation.lblOldTicketNum.Text; r = ws.get_Range(("F" + 4), ("F" + 4)); r.Value2 = company.CompanyName; r = ws.get_Range(("M" + 4), ("M" + 4)); r.Value2 = newTicket.TicketNumber.ToString(); ; DDCustomerInfo newCustomer = new DDCustomerInfo("CustomerID", newTicket.CustomerID); //this.lblCustomerName.Text = newCustomer.CustomerName; //this.lblContactPerson.Text = newCustomer.ContactPerson; r = ws.get_Range(("F" + 5), ("F" + 5)); r.Value2 = newCustomer.CustomerName; r = ws.get_Range(("M" + 5), ("M" + 5)); r.Value2 = newCustomer.ContactPerson; //this.lblAmount.Text = frmRenewPawnOperation.tbxTotalAmount.Text; //this.lblAmountChinese.Text = newChinese.toChineseChar(Convert.ToDecimal(frmRenewPawnOperation.tbxTotalAmount.Text)); //this.lblServiceFee.Text = frmRenewPawnOperation.tbxServiceFee.Text; //this.lblServiceFeeChinese.Text = newChinese.toChineseChar(Convert.ToDecimal(frmRenewPawnOperation.tbxServiceFee.Text)); //this.lblPaidInterestFee.Text = frmRenewPawnOperation.lblPaidInterest.Text; //this.lblPaidInterestFeeChinese.Text = newChinese.toChineseChar(Convert.ToDecimal(frmRenewPawnOperation.lblPaidInterest.Text)); r = ws.get_Range(("M" + 6), ("M" + 6)); r.Value2 = TotalAmount.ToString("0.00"); r = ws.get_Range(("H" + 6), ("H" + 6)); r.Value2 = newChinese.toChineseChar(Convert.ToDecimal(TotalAmount)); r = ws.get_Range(("M" + 7), ("M" + 7)); r.Value2 = TotalServiceFee.ToString("0.00"); r = ws.get_Range(("H" + 7), ("H" + 7)); r.Value2 = newChinese.toChineseChar(Convert.ToDecimal(TotalServiceFee)); r = ws.get_Range(("M" + 8), ("M" + 8)); r.Value2 = TotalLastInterestFee.ToString("0.00"); r = ws.get_Range(("H" + 8), ("H" + 8)); r.Value2 = newChinese.toChineseChar(Convert.ToDecimal(TotalLastInterestFee)); double totalPaidFee = TotalServiceFee + TotalLastInterestFee; //this.lblPaidFee.Text = totalPaidFee.ToString(); //this.lblPaidFeeChinese.Text = newChinese.toChineseChar(Convert.ToDecimal(totalPaidFee)); r = ws.get_Range(("H" + 9), ("H" + 9)); r.Value2 = newChinese.toChineseChar(Convert.ToDecimal(totalPaidFee)); r = ws.get_Range(("M" + 9), ("M" + 9)); r.Value2 = totalPaidFee.ToString("0.00"); DateTime startDate = Convert.ToDateTime(dtOperation.Rows[0]["StartDate"].ToString()); DateTime endDate = Convert.ToDateTime(dtOperation.Rows[0]["EndDate"].ToString()); DateTime operationDate = Convert.ToDateTime(dtOperation.Rows[0]["OperationDate"].ToString()); //this.lblStartYear.Text = startDate.Year.ToString(); //this.lblStartMonth.Text = startDate.Month.ToString(); //this.lblStartDay.Text = startDate.Day.ToString(); //this.lblEndYear.Text = endDate.Year.ToString(); //this.lblEndMonth.Text = endDate.Month.ToString(); //this.lblEndDay.Text = endDate.Day.ToString(); //this.lblOperationYear.Text = operationDate.Year.ToString(); //this.lblOperationMonth.Text = operationDate.Month.ToString(); //this.lblOperationDay.Text = operationDate.Day.ToString(); r = ws.get_Range(("F" + 10), ("F" + 10)); r.Value2 = startDate.Year.ToString(); r = ws.get_Range(("I" + 10), ("I" + 10)); r.Value2 = startDate.Month.ToString(); r = ws.get_Range(("J" + 10), ("J" + 10)); r.Value2 = startDate.Day.ToString(); r = ws.get_Range(("K" + 10), ("K" + 10)); r.Value2 = endDate.Year.ToString(); r = ws.get_Range(("L" + 10), ("L" + 10)); r.Value2 = endDate.Month.ToString(); r = ws.get_Range(("M" + 10), ("M" + 10)); r.Value2 = endDate.Day.ToString(); r = ws.get_Range(("M" + 13), ("M" + 13)); r.Value2 = operationDate.Year.ToString(); r = ws.get_Range(("O" + 13), ("O" + 13)); r.Value2 = operationDate.Month.ToString(); r = ws.get_Range(("Q" + 13), ("Q" + 13)); r.Value2 = operationDate.Day.ToString(); double serviceFeeRate = Convert.ToDouble(dtOperation.Rows[0]["ServiceFeeRate"].ToString()); double interestRate = Convert.ToDouble(dtOperation.Rows[0]["InterestFeeRate"].ToString()); //this.lblMonthFeeRate.Text = serviceFeeRate.ToString(); //this.lblInterestFeeRate.Text = interestRate.ToString(); //this.lblOperater.Text = MainForm.AccountName; r = ws.get_Range(("D" + 11), ("D" + 11)); r.Value2 = serviceFeeRate.ToString(); r = ws.get_Range(("D" + 12), ("D" + 12)); r.Value2 = interestRate.ToString(); DDUser newUser = new DDUser("AccountName", MainForm.AccountName); r = ws.get_Range(("I" + 13), ("I" + 13)); r.Value2 = newUser.UserName; //WdSaveFormat为Excel文档的保存格式 object format = MSExcel.XlFileFormat.xlWorkbookNormal; //将excelDoc文档对象的内容保存为dd文档 //excelDoc.Save(); //excelDoc.SaveAs(path, format, Nothing, Nothing, Nothing, Nothing, MSExcel.ddaveAsAccessMode.xlExclusive, Nothing, Nothing, Nothing, Nothing, Nothing); excelDoc.PrintOut(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing); if (File.Exists(Application.StartupPath + @"\Pram\dump.dd")) { try { File.Delete(Application.StartupPath + @"\Pram\dump.dd"); } catch (FieldAccessException e) { MessageBox.Show("记录文件正在被使用,请退出Excel\n" + e.ToString()); } } excelDoc.SaveAs(Application.StartupPath + @"\Pram\dump.dd", format, Nothing, Nothing, Nothing, Nothing, MSExcel.XlSaveAsAccessMode.xlExclusive, Nothing, Nothing, Nothing, Nothing, Nothing); //关闭excelDoc文档对象 excelDoc.Close(Nothing, Nothing, Nothing); //关闭excelApp组件对象 excelApp.Quit(); //MessageBox.Show("生成成功"); //PrintReceipt(); }
private void UpdateOperation() { try { if (dataGridView1.Rows.Count > 0) { DDPawnTicket newTicket = new DDPawnTicket("TicketID", m_TicketID); newTicket.StatusID = 3; //3:续当 newTicket.EndDate = this.tbxEndDate.Text; newTicket.Save(); int iPawnageID = 0; int preOperationID = 0; for (int i = dataGridView1.Rows.Count - 1; i > -1; i--) { DataGridViewRow dgr = dataGridView1.Rows[i]; iPawnageID = Convert.ToInt32(dgr.Cells["PawnageID"].Value); DDPawnageInfo newInfo = new DDPawnageInfo("PawnageID", iPawnageID); preOperationID = Convert.ToInt32(dgr.Cells["OperationID"].Value); DDOperation newOperation = new DDOperation(); newOperation.TicketID = m_TicketID; newOperation.PawnageID = iPawnageID; newOperation.OperationType = 3; //3 :续当 newOperation.OperationNumber = m_OperationNumber; newOperation.ServiceFee = dataGridView1.Rows[i].Cells["ServiceFee"].Value.ToString(); newOperation.InterestFee = dataGridView1.Rows[i].Cells["InterestFee"].Value.ToString(); newOperation.ReturnFee = "0"; newOperation.OverdueFee = "0"; newOperation.Amount = dgr.Cells["Amount"].Value.ToString(); newOperation.ReckonAmount = "0"; newOperation.OperationDate = this.tbxOperationDate.Text; newOperation.StartDate = this.tbxStartDate.Text; newOperation.EndDate = this.tbxEndDate.Text; DDUser newOperater = new DDUser("AccountName", MainForm.AccountName); newOperation.OperaterName = newOperater.UserName; newOperation.PreOperationID = preOperationID; newOperation.ServiceFeeRate = dgr.Cells["FeeRate"].Value.ToString(); newOperation.InterestFeeRate = dgr.Cells["InterestRate"].Value.ToString(); newOperation.NextOperationID = 0; newOperation.Deleted = 0; newOperation.Save(); DDOperation oldOperation = new DDOperation("OperationID", preOperationID); oldOperation.NextOperationID = newOperation.OperationID; oldOperation.Save(); newInfo.FeeRate = dgr.Cells["FeeRate"].Value.ToString(); newInfo.InterestRate = dgr.Cells["InterestRate"].Value.ToString(); newInfo.EndDate = this.tbxEndDate.Text; newInfo.StatusID = 3; //续当 newInfo.Save(); } } } catch (Exception ex) { throw ex; } }
private void UpdateOperation() { try { DataGridViewRow dgr = dataGridView1.CurrentRow; int intStatusID = Convert.ToInt32(dgr.Cells["StatusID"].Value); if (intStatusID == 1 || intStatusID == 3) { int iTicketID = Convert.ToInt32(dgr.Cells["TicketID"].Value); DDPawnTicket newTicket = new DDPawnTicket("TicketID", iTicketID); Query queryOperations = new Query(DDOperation.Schema); queryOperations.AddWhere("TicketID", iTicketID); queryOperations.AddWhere("NextOperationID", 0); queryOperations.AddWhere("OperationType", Comparison.NotEquals, 6); DataTable dtOperations = queryOperations.ExecuteDataSet().Tables[0]; if (dtOperations.Rows.Count > 0) { newTicket.StatusID = 4; newTicket.Save(); int preOperationID = 0; for (int i = 0; i < dtOperations.Rows.Count; i++) { DDOperation newOperation = new DDOperation(); preOperationID = Convert.ToInt32(dtOperations.Rows[i]["OperationID"]); newOperation.TicketID = iTicketID; newOperation.PawnageID = Convert.ToInt32(dtOperations.Rows[i]["PawnageID"]); newOperation.OperationType = 4; //4 :绝当 newOperation.OperationNumber = m_OperationNumber; newOperation.ServiceFee = "0"; newOperation.InterestFee = "0"; newOperation.ReturnFee = "0"; newOperation.OverdueFee = "0"; newOperation.Amount = dtOperations.Rows[i]["Amount"].ToString(); newOperation.ReckonAmount = "0"; newOperation.OperationDate = dgr.Cells["OperationDate"].Value.ToString(); newOperation.OperaterName = MainForm.AccountName; newOperation.PreOperationID = preOperationID; newOperation.NextOperationID = 0; newOperation.Deleted = 0; newOperation.Save(); DDOperation oldOperation = new DDOperation("OperationID", preOperationID); oldOperation.NextOperationID = newOperation.OperationID; oldOperation.Save(); //更新当品信息与当票信息 DDPawnageInfo newPawn = new DDPawnageInfo("PawnageID", dtOperations.Rows[i]["PawnageID"]); newPawn.StatusID = 4; //绝当 newPawn.Save(); } InitGridSource(); dataGridView1.DataSource = m_GridTable; MessageBox.Show("绝当处理成功!", "绝当"); } } else { MessageBox.Show("该当票不能进行绝当操作!", "绝当"); } } catch (Exception ex) { throw ex; } }
private void LoadTemplate(RenewPawnOperationForm frmRenewPawnOperation, int iTicketID) { MSExcel.Application excelApp; //Excel应用程序变量 MSExcel.Workbook excelDoc; //Excel文档变量 excelApp = new MSExcel.ApplicationClass(); //初始化 //由于使用的是COM库,因此有许多变量需要用Nothing代替 Object Nothing = Missing.Value; excelDoc = excelApp.Workbooks._Open(Application.StartupPath + @"\Pram\RenewTemplate.dd", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); //使用第一个工作表作为插入数据的工作表 MSExcel.Worksheet ws = (MSExcel.Worksheet)excelDoc.Sheets[1]; //声明一个MSExcel.Range 类型的变量r MSExcel.Range r; DDCompanyInfo company = new DDCompanyInfo("CompanyID", 1); //this.lblCompanyName.Text = company.CompanyName; //this.lblOldTicketNumber.Text = frmRenewPawnOperation.lblOldTicketNum.Text; r = ws.get_Range(("F" + 4), ("F" + 4)); r.Value2 = company.CompanyName; r = ws.get_Range(("M" + 4), ("M" + 4)); r.Value2 = frmRenewPawnOperation.lblOldTicketNum.Text; m_TicketID = iTicketID; DDPawnTicket newTicket = new DDPawnTicket("TicketID", iTicketID); DDCustomerInfo newCustomer = new DDCustomerInfo("CustomerID", newTicket.CustomerID); //this.lblCustomerName.Text = newCustomer.CustomerName; //this.lblContactPerson.Text = newCustomer.ContactPerson; r = ws.get_Range(("F" + 5), ("F" + 5)); r.Value2 = newCustomer.CustomerName; r = ws.get_Range(("M" + 5), ("M" + 5)); r.Value2 = newCustomer.ContactPerson; //this.lblAmount.Text = frmRenewPawnOperation.tbxTotalAmount.Text; //this.lblAmountChinese.Text = newChinese.toChineseChar(Convert.ToDecimal(frmRenewPawnOperation.tbxTotalAmount.Text)); //this.lblServiceFee.Text = frmRenewPawnOperation.tbxServiceFee.Text; //this.lblServiceFeeChinese.Text = newChinese.toChineseChar(Convert.ToDecimal(frmRenewPawnOperation.tbxServiceFee.Text)); //this.lblPaidInterestFee.Text = frmRenewPawnOperation.lblPaidInterest.Text; //this.lblPaidInterestFeeChinese.Text = newChinese.toChineseChar(Convert.ToDecimal(frmRenewPawnOperation.lblPaidInterest.Text)); r = ws.get_Range(("M" + 6), ("M" + 6)); r.Value2 = Convert.ToDouble(frmRenewPawnOperation.tbxTotalAmount.Text).ToString("0.00"); r = ws.get_Range(("H" + 6), ("H" + 6)); r.Value2 = newChinese.toChineseChar(Convert.ToDecimal(frmRenewPawnOperation.tbxTotalAmount.Text)); r = ws.get_Range(("M" + 7), ("M" + 7)); r.Value2 = Convert.ToDouble(frmRenewPawnOperation.tbxServiceFee.Text).ToString("0.00"); r = ws.get_Range(("H" + 7), ("H" + 7)); r.Value2 = newChinese.toChineseChar(Convert.ToDecimal(frmRenewPawnOperation.tbxServiceFee.Text)); r = ws.get_Range(("M" + 8), ("M" + 8)); r.Value2 = Convert.ToDouble(frmRenewPawnOperation.tbxLastInterestFee.Text).ToString("0.00"); r = ws.get_Range(("H" + 8), ("H" + 8)); r.Value2 = newChinese.toChineseChar(Convert.ToDecimal(frmRenewPawnOperation.tbxLastInterestFee.Text)); double totalPaidFee = Convert.ToDouble(frmRenewPawnOperation.tbxServiceFee.Text) + Convert.ToDouble(frmRenewPawnOperation.tbxLastInterestFee.Text); //this.lblPaidFee.Text = totalPaidFee.ToString(); //this.lblPaidFeeChinese.Text = newChinese.toChineseChar(Convert.ToDecimal(totalPaidFee)); r = ws.get_Range(("H" + 9), ("H" + 9)); r.Value2 = newChinese.toChineseChar(Convert.ToDecimal(totalPaidFee)); r = ws.get_Range(("M" + 9), ("M" + 9)); r.Value2 = totalPaidFee.ToString("0.00"); DateTime startDate = Convert.ToDateTime(frmRenewPawnOperation.tbxStartDate.Text); DateTime endDate = Convert.ToDateTime(frmRenewPawnOperation.tbxEndDate.Text); DateTime operationDate = Convert.ToDateTime(frmRenewPawnOperation.tbxOperationDate.Text); //this.lblStartYear.Text = startDate.Year.ToString(); //this.lblStartMonth.Text = startDate.Month.ToString(); //this.lblStartDay.Text = startDate.Day.ToString(); //this.lblEndYear.Text = endDate.Year.ToString(); //this.lblEndMonth.Text = endDate.Month.ToString(); //this.lblEndDay.Text = endDate.Day.ToString(); //this.lblOperationYear.Text = operationDate.Year.ToString(); //this.lblOperationMonth.Text = operationDate.Month.ToString(); //this.lblOperationDay.Text = operationDate.Day.ToString(); r = ws.get_Range(("F" + 10), ("F" + 10)); r.Value2 = startDate.Year.ToString(); r = ws.get_Range(("I" + 10), ("I" + 10)); r.Value2 = startDate.Month.ToString(); r = ws.get_Range(("J" + 10), ("J" + 10)); r.Value2 = startDate.Day.ToString(); r = ws.get_Range(("K" + 10), ("K" + 10)); r.Value2 = endDate.Year.ToString(); r = ws.get_Range(("L" + 10), ("L" + 10)); r.Value2 = endDate.Month.ToString(); r = ws.get_Range(("M" + 10), ("M" + 10)); r.Value2 = endDate.Day.ToString(); r = ws.get_Range(("M" + 13), ("M" + 13)); r.Value2 = operationDate.Year.ToString(); r = ws.get_Range(("O" + 13), ("O" + 13)); r.Value2 = operationDate.Month.ToString(); r = ws.get_Range(("Q" + 13), ("Q" + 13)); r.Value2 = operationDate.Day.ToString(); double serviceFeeRate = Convert.ToDouble(frmRenewPawnOperation.dataGridView1.Rows[0].Cells["FeeRate"].Value); double interestRate = Convert.ToDouble(frmRenewPawnOperation.dataGridView1.Rows[0].Cells["InterestRate"].Value); //this.lblMonthFeeRate.Text = serviceFeeRate.ToString(); //this.lblInterestFeeRate.Text = interestRate.ToString(); //this.lblOperater.Text = MainForm.AccountName; r = ws.get_Range(("D" + 11), ("D" + 11)); r.Value2 = serviceFeeRate.ToString(); r = ws.get_Range(("D" + 12), ("D" + 12)); r.Value2 = interestRate.ToString(); DDUser newUser = new DDUser("AccountName", MainForm.AccountName); r = ws.get_Range(("I" + 13), ("I" + 13)); r.Value2 = newUser.UserName; //WdSaveFormat为Excel文档的保存格式 object format = MSExcel.XlFileFormat.xlWorkbookNormal; //将excelDoc文档对象的内容保存为dd文档 //excelDoc.Save(); //excelDoc.SaveAs(path, format, Nothing, Nothing, Nothing, Nothing, MSExcel.ddaveAsAccessMode.xlExclusive, Nothing, Nothing, Nothing, Nothing, Nothing); excelDoc.PrintOut(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing); if (File.Exists(Application.StartupPath + @"\Pram\dump.dd")) { try { File.Delete(Application.StartupPath + @"\Pram\dump.dd"); } catch (FieldAccessException e) { MessageBox.Show("记录文件正在被使用,请退出Excel\n" + e.ToString()); } } excelDoc.SaveAs(Application.StartupPath + @"\Pram\dump.dd", format, Nothing, Nothing, Nothing, Nothing, MSExcel.XlSaveAsAccessMode.xlExclusive, Nothing, Nothing, Nothing, Nothing, Nothing); //关闭excelDoc文档对象 excelDoc.Close(Nothing, Nothing, Nothing); //关闭excelApp组件对象 excelApp.Quit(); //MessageBox.Show("生成成功"); //PrintReceipt(); }
private void btnSearch_Click(object sender, EventArgs e) { m_GridTable.Rows.Clear(); Query queryPawnage = new Query(DDPawnageInfo.Schema); bool RedyToQuery = true; double Amount = 0; string KeyWord = "%" + tbxKeyWord.Text + "%"; #region 加上SearchRange查询限制 switch (cbxSearchRange.Text) { case "在库全部": queryPawnage.AddWhere("StatusID", Comparison.In, new int[] { 1, 3, 4, 5 }); break; case "在库正常": queryPawnage.AddWhere("StatusID", Comparison.In, new int[] { 1, 3 }); queryPawnage.AddBetweenAnd("EndDate", DateTime.Now, new DateTime(9999, 12, 23)); break; case "在库过期": queryPawnage.AddWhere("StatusID", Comparison.In, new int[] { 1, 3 }); queryPawnage.AddBetweenAnd("EndDate", new DateTime(1900, 1, 1), DateTime.Now); break; case "冻结当品": queryPawnage.AddWhere("StatusID", 5); break; case "已绝当": queryPawnage.AddWhere("StatusID", 4); break; case "已赎回": queryPawnage.AddWhere("StatusID", 2); break; case "已清算": queryPawnage.AddWhere("StatusID", 7); break; default: break; } #endregion #region 加上SearchOption查询限制 Hashtable PawnageIDList = new Hashtable(); if (cbxSearchOption.Text == "当票号") { Query queryTicket = new Query(DDPawnTicket.Schema); queryTicket.AddWhere("TicketNumber", Comparison.Like, KeyWord); DataTable dtTicket = queryTicket.ExecuteDataSet().Tables[0]; int[] TicketIDList = new int[dtTicket.Rows.Count]; for (int i = 0; i < dtTicket.Rows.Count; i++) { TicketIDList[i] = Convert.ToInt32(dtTicket.Rows[i]["TicketID"].ToString()); } Query queryOperation = new Query(DDOperation.Schema); queryOperation.AddWhere("TicketID", Comparison.In, TicketIDList); queryOperation.AddWhere("NextOperationID", 0); queryOperation.AddWhere("OperationType", Comparison.NotEquals, 6); DataTable dtOperation = queryOperation.ExecuteDataSet().Tables[0]; for (int i = 0; i < dtOperation.Rows.Count; i++) { PawnageIDList.Add(dtOperation.Rows[i]["PawnageID"], 0); } } else if (cbxSearchOption.Text == "客户姓名") { Query queryCustomer = new Query(DDCustomerInfo.Schema); queryCustomer.AddWhere("CustomerName", Comparison.Like, KeyWord); DataTable dtCustomer = queryCustomer.ExecuteDataSet().Tables[0]; int[] CustomerIDList = new int[dtCustomer.Rows.Count]; for (int i = 0; i < dtCustomer.Rows.Count; i++) { CustomerIDList[i] = Convert.ToInt32(dtCustomer.Rows[i]["CustomerID"].ToString()); } Query queryTicket = new Query(DDPawnTicket.Schema); queryTicket.AddWhere("CustomerID", Comparison.In, CustomerIDList); DataTable dtTicket = queryTicket.ExecuteDataSet().Tables[0]; int[] TicketIDList = new int[dtTicket.Rows.Count]; for (int i = 0; i < dtTicket.Rows.Count; i++) { TicketIDList[i] = Convert.ToInt32(dtTicket.Rows[i]["TicketID"].ToString()); } Query queryOperation = new Query(DDOperation.Schema); queryOperation.AddWhere("TicketID", Comparison.In, TicketIDList); queryOperation.AddWhere("NextOperationID", 0); queryOperation.AddWhere("OperationType", Comparison.NotEquals, 6); DataTable dtOperation = queryOperation.ExecuteDataSet().Tables[0]; for (int i = 0; i < dtOperation.Rows.Count; i++) { PawnageIDList.Add(dtOperation.Rows[i]["PawnageID"], 0); } } else if (cbxSearchOption.Text == "当值大于") { try { Amount = Convert.ToDouble(tbxKeyWord.Text); queryPawnage.AddWhere("Price", Comparison.GreaterOrEquals, Amount); } catch { RedyToQuery = false; MessageBox.Show("请填入正确的金额", "提示信息"); } } else if (cbxSearchOption.Text == "当值小于") { try { Amount = Convert.ToDouble(tbxKeyWord.Text); queryPawnage.AddWhere("Price", Comparison.LessThan, Amount); } catch { RedyToQuery = false; MessageBox.Show("请填入正确的金额", "提示信息"); } } else if (cbxSearchOption.Text == "一级分类") { queryPawnage.AddWhere("ParentID", cbxClassSelector.SelectedValue); } else if (cbxSearchOption.Text == "二级分类") { queryPawnage.AddWhere("ClassID", cbxClassSelector.SelectedValue); } else { queryPawnage.AddWhere(cbxSearchOption.SelectedValue.ToString(), Comparison.Like, KeyWord); } #endregion #region 执行查询 if (RedyToQuery) { DataTable dtPawnage = queryPawnage.ExecuteDataSet().Tables[0]; for (int i = 0; i < dtPawnage.Rows.Count; i++) { if ((PawnageIDList[dtPawnage.Rows[i]["PawnageID"]] != null && (this.cbxSearchOption.Text == "当票号" || this.cbxSearchOption.Text == "客户姓名")) || (this.cbxSearchOption.Text != "当票号" && this.cbxSearchOption.Text != "客户姓名")) { DataRow dRow = m_GridTable.NewRow(); dRow["PawnageID"] = dtPawnage.Rows[i]["PawnageID"].ToString(); dRow["OperationFlag"] = false; dRow["FirstClass"] = dtPawnage.Rows[i]["ParentID"].ToString(); dRow["SecondClass"] = dtPawnage.Rows[i]["ClassID"].ToString(); dRow["Description"] = dtPawnage.Rows[i]["Description"].ToString(); dRow["Weight"] = dtPawnage.Rows[i]["Weight"].ToString(); dRow["Price"] = dtPawnage.Rows[i]["Price"].ToString(); dRow["TotalCount"] = dtPawnage.Rows[i]["CountNumber"].ToString(); dRow["FeeRate"] = dtPawnage.Rows[i]["FeeRate"].ToString(); dRow["InterestRate"] = dtPawnage.Rows[i]["InterestRate"].ToString(); dRow["Remark"] = dtPawnage.Rows[i]["Remark"].ToString(); dRow["PhotoPath"] = dtPawnage.Rows[i]["PhotoPath"].ToString(); //获取当票号 Query queryOperation = new Query(DDOperation.Schema); queryOperation.AddWhere("PawnageID", dtPawnage.Rows[i]["PawnageID"]); queryOperation.AddWhere("NextOperationID", 0); queryOperation.AddWhere("OperationType", Comparison.NotEquals, 6); DataTable dtOperation = queryOperation.ExecuteDataSet().Tables[0]; if (dtOperation.Rows.Count > 0) { string TicketID = dtOperation.Rows[dtOperation.Rows.Count - 1]["TicketID"].ToString(); DDPawnTicket newTicket = new DDPawnTicket("TicketID", TicketID); dRow["TicketNumber"] = newTicket.TicketNumber; } m_GridTable.Rows.Add(dRow); } } dataGridView1.DataSource = m_GridTable; if (dtPawnage.Rows.Count > 0) { btnPrint.Enabled = true; } } #endregion SetForGridViewPage(); }
private void LoadTicketInfo() { this.m_GridTable.Rows.Clear(); DDPawnTicket newTicket = new DDPawnTicket("TicketID", m_TicketID); Query queryOperations = new Query(DDOperation.Schema); queryOperations.AddWhere("TicketID", m_TicketID); queryOperations.AddWhere("OperationType", Comparison.In, new int[] { 1, 3 }); queryOperations.AddWhere("OperationType", Comparison.NotEquals, 6); queryOperations.AddWhere("NextOperationID", 0); DataTable dtOperations = queryOperations.ExecuteDataSet().Tables[0]; m_StartDate = Convert.ToDateTime(newTicket.StartDate); m_EndDate = Convert.ToDateTime(newTicket.EndDate); try { m_OperationDate = Convert.ToDateTime(this.tbxOperationDate.Text.Trim()); } catch { MessageBox.Show("请输入正确的日期", "提示信息"); } if (dtOperations.Rows.Count > 0) { for (int i = 0; i < dtOperations.Rows.Count; i++) { double amount = 0; double serviceFee = 0, interestFee = 0, paidInterestFee = 0; double chargedServiceFee = 0, chargedInterestFee = 0; double singleChargedServiceFee = 0, singleChargedInterestFee = 0; double returnServiceFee = 0, returnInterestFee = 0; double singleReturnServiceFee = 0, singleReturnInterestFee = 0; double serviceFeeRate = 0, interestFeeRate = 0; double overdueFee = 0; amount = Convert.ToDouble(dtOperations.Rows[i]["Amount"]); #region 原先错误的算法 /* * Query queryRenewPawn = new Query(DDOperation.Schema); * queryRenewPawn.AddWhere("TicketID",m_TicketID); * queryRenewPawn.AddWhere("PawnageID",Convert.ToInt32(dtOperations.Rows[i]["PawnageID"])); * queryRenewPawn.AddWhere("OperationType",3); * DataTable dtRenewPawn = queryRenewPawn.ExecuteDataSet().Tables[0]; * if (dtRenewPawn.Rows.Count > 0) * { * for (int j = 0; j < dtRenewPawn.Rows.Count; j++) * { * serviceFee += Convert.ToDouble(dtRenewPawn.Rows[j]["ServiceFee"]); * interestFee += Convert.ToDouble(dtRenewPawn.Rows[j]["InterestFee"]); * } * } * * totalServiceFee += serviceFee; * totalInterestFee += interestFee; * //overdueFee = CaculateOverdueFee(amount, Convert.ToDouble(pawnageInfo.FeeRate), Convert.ToDouble(pawnageInfo.InterestRate)) * //returnFee = serviceFee + interestFee - CaculatePaidFee(amount, Convert.ToDouble(pawnageInfo.FeeRate), Convert.ToDouble(pawnageInfo.InterestRate)); * //returnFee = CaculateReturnFee(amount, Convert.ToDouble(pawnageInfo.FeeRate), Convert.ToDouble(pawnageInfo.InterestRate)); * if (returnFee < 0) * { * returnFee = 0; * } * totalOverdueFee += overdueFee; * totalReturnFee += returnFee; */ #endregion DDPawnageInfo pawnageInfo = new DDPawnageInfo("PawnageID", Convert.ToInt32(dtOperations.Rows[i]["PawnageID"])); #region 费用计算 //判断当票状态 int PawnTicketStatus = 0; //0:正好,1:提前,2:过期 //DDPawnTicket theTicket = new DDPawnTicket("TicketID", m_TicketID); if (m_OperationDate <= DateTime.Parse(dtOperations.Rows[i]["EndDate"].ToString())) { PawnSpan Span = DianDangFunction.GetPawnSpan(m_OperationDate, DateTime.Parse(dtOperations.Rows[i]["StartDate"].ToString())); PawnSpan LastSpan = DianDangFunction.GetPawnSpan(DateTime.Parse(dtOperations.Rows[i]["StartDate"].ToString()), DateTime.Parse(dtOperations.Rows[i]["EndDate"].ToString())); if (Span.Months == LastSpan.Months && Span.CountDays == LastSpan.CountDays && m_OperationDate >= DateTime.Parse(dtOperations.Rows[i]["StartDate"].ToString())) { PawnTicketStatus = 0; } else { PawnTicketStatus = 1; } } else { PawnTicketStatus = 2; } if (DateTime.Parse(newTicket.StartDate) == m_OperationDate)//当天建当,当天还 { int ifReturn = 0; double InOperationServiceFee = 0, InOperationInterestFee = 0; double InOPerationChargedServiceFee = 0, InOperationChargedInterestFee = 0; //总计征收的费用 Query queryPaidOperation = new Query(DDOperation.Schema); queryPaidOperation.AddWhere("PawnageID", pawnageInfo.PawnageID); queryPaidOperation.AddWhere("OperationType", Comparison.NotEquals, 6); queryPaidOperation.AddWhere("Deleted", 0); DataTable dtPaidOperation = queryPaidOperation.ExecuteDataSet().Tables[0]; for (int j = 0; j < dtPaidOperation.Rows.Count; j++) { singleChargedServiceFee = Convert.ToDouble(dtPaidOperation.Rows[j]["ServiceFee"].ToString()); singleChargedServiceFee = DianDangFunction.myRound(singleChargedServiceFee, MainForm.AmountAccuracy); chargedServiceFee += singleChargedServiceFee; singleChargedInterestFee = Convert.ToDouble(dtPaidOperation.Rows[j]["InterestFee"].ToString()); singleChargedInterestFee = DianDangFunction.myRound(singleChargedInterestFee, MainForm.AmountAccuracy); chargedInterestFee += singleChargedInterestFee; } //计算争议的服务费 Query queryInOperation = new Query(DDOperation.Schema); queryInOperation.AddBetweenAnd("EndDate", m_OperationDate, new DateTime(9998, 12, 31)); queryInOperation.AddBetweenAnd("StartDate", new DateTime(1755, 1, 1), m_OperationDate); queryInOperation.AddWhere("PawnageID", pawnageInfo.PawnageID); queryInOperation.AddWhere("OperationType", Comparison.NotEquals, 6); queryInOperation.AddWhere("Deleted", 0); DataTable dtInOperation = queryInOperation.ExecuteDataSet().Tables[0]; if (dtInOperation.Rows.Count > 0) { InOPerationChargedServiceFee = Convert.ToDouble(dtInOperation.Rows[0]["ServiceFee"].ToString()); PawnSpan OperationSpan = DianDangFunction.GetPawnSpan(DateTime.Parse(dtInOperation.Rows[0]["StartDate"].ToString()), DateTime.Parse(dtInOperation.Rows[0]["EndDate"].ToString())); PawnSpan Span = DianDangFunction.GetPawnSpan(DateTime.Parse(dtInOperation.Rows[0]["StartDate"].ToString()), m_OperationDate); double DayFeeRate = InOPerationChargedServiceFee / OperationSpan.CountDaysAll / amount * 100; if (Span.CountDaysAll > OperationSpan.CountDaysAll) { Span.CountDaysAll = OperationSpan.CountDaysAll; } InOperationServiceFee = (Span.CountDaysAll) * amount * DayFeeRate / 100; InOperationServiceFee = DianDangFunction.myRound(InOperationServiceFee, MainForm.AmountAccuracy); } //计算肯定要返还的费用 Query queryReturnOperation = new Query(DDOperation.Schema); queryReturnOperation.AddBetweenAnd("StartDate", m_OperationDate.AddDays(1), new DateTime(9998, 12, 31)); queryReturnOperation.AddWhere("PawnageID", pawnageInfo.PawnageID); queryReturnOperation.AddWhere("OperationType", Comparison.NotEquals, 6); queryReturnOperation.AddWhere("Deleted", 0); DataTable dtReturnOperation = queryReturnOperation.ExecuteDataSet().Tables[0]; for (int j = 0; j < dtReturnOperation.Rows.Count; j++) { //计算争议的利息费,因为本次收取的利息为上月利息,即为争议利息 if (j == 0 && dtInOperation.Rows.Count > 0) { InOperationChargedInterestFee = Convert.ToDouble(dtReturnOperation.Rows[0]["InterestFee"].ToString()); PawnSpan OperationSpan = DianDangFunction.GetPawnSpan(DateTime.Parse(dtInOperation.Rows[0]["StartDate"].ToString()), DateTime.Parse(dtInOperation.Rows[0]["EndDate"].ToString())); PawnSpan Span = DianDangFunction.GetPawnSpan(DateTime.Parse(dtInOperation.Rows[0]["StartDate"].ToString()), m_OperationDate); double DayInterestFeeRate = InOperationChargedInterestFee / OperationSpan.CountDaysAll / amount * 100; if (Span.CountDaysAll > OperationSpan.CountDaysAll) { Span.CountDaysAll = OperationSpan.CountDaysAll; } InOperationInterestFee = (Span.CountDaysAll) * amount * DayInterestFeeRate / 100; InOperationInterestFee = DianDangFunction.myRound(InOperationInterestFee, MainForm.AmountAccuracy); } ifReturn++; singleReturnServiceFee = Convert.ToDouble(dtReturnOperation.Rows[j]["ServiceFee"].ToString()); singleReturnServiceFee = DianDangFunction.myRound(singleReturnServiceFee, MainForm.AmountAccuracy); returnServiceFee += singleReturnServiceFee; if (j != 0 || dtInOperation.Rows.Count == 0) { singleReturnInterestFee = Convert.ToDouble(dtReturnOperation.Rows[j]["InterestFee"].ToString()); singleReturnInterestFee = DianDangFunction.myRound(singleReturnInterestFee, MainForm.AmountAccuracy); returnInterestFee += singleReturnInterestFee; } } if (m_OperationDate > DateTime.Parse(dtOperations.Rows[i]["StartDate"].ToString())) //操作日期大于最后一次操作开始日期,则收取利息 { PawnSpan Span = DianDangFunction.GetPawnSpan(DateTime.Parse(dtOperations.Rows[i]["StartDate"].ToString()), m_OperationDate); paidInterestFee = 0; paidInterestFee = (Span.Months + Span.Days / 30) * Convert.ToDouble(dtOperations.Rows[i]["InterestFeeRate"].ToString()) * amount / 100; paidInterestFee = DianDangFunction.myRound(paidInterestFee, MainForm.AmountAccuracy); } returnServiceFee = returnServiceFee + InOPerationChargedServiceFee - InOperationServiceFee; returnServiceFee = DianDangFunction.myRound(returnServiceFee, MainForm.AmountAccuracy); returnInterestFee = returnInterestFee + InOperationChargedInterestFee - InOperationInterestFee; returnInterestFee = DianDangFunction.myRound(returnInterestFee, MainForm.AmountAccuracy); serviceFee = chargedServiceFee - returnServiceFee; serviceFee = DianDangFunction.myRound(serviceFee, MainForm.AmountAccuracy); interestFee = chargedInterestFee + paidInterestFee - returnInterestFee; interestFee = DianDangFunction.myRound(interestFee, MainForm.AmountAccuracy); } else { if (PawnTicketStatus == 0) //收取上期服务费 { //计算上期利息 PawnSpan LastSpan = DianDangFunction.GetPawnSpan(DateTime.Parse(dtOperations.Rows[i]["StartDate"].ToString()), DateTime.Parse(dtOperations.Rows[i]["EndDate"].ToString())); paidInterestFee = (LastSpan.Months + LastSpan.CountDays / 30) * amount * Convert.ToDouble(dtOperations.Rows[i]["InterestFeeRate"].ToString()) / 100; paidInterestFee = DianDangFunction.myRound(paidInterestFee, MainForm.AmountAccuracy); //计算已经付出的服务费和利息 Query queryPaidOperation = new Query(DDOperation.Schema); queryPaidOperation.AddWhere("TicketID", m_TicketID); queryPaidOperation.AddWhere("PawnageID", pawnageInfo.PawnageID); queryPaidOperation.AddWhere("OperationType", Comparison.NotEquals, 6); queryPaidOperation.AddWhere("Deleted", 0); DataTable dtPaidOperation = queryPaidOperation.ExecuteDataSet().Tables[0]; if (dtPaidOperation.Rows.Count > 0) { for (int j = 0; j < dtPaidOperation.Rows.Count; j++) { singleChargedServiceFee = Convert.ToDouble(dtPaidOperation.Rows[j]["ServiceFee"].ToString()); singleChargedServiceFee = DianDangFunction.myRound(singleChargedServiceFee, MainForm.AmountAccuracy); chargedServiceFee += singleChargedServiceFee; singleChargedInterestFee = Convert.ToDouble(dtPaidOperation.Rows[j]["InterestFee"].ToString()); singleChargedInterestFee = DianDangFunction.myRound(singleChargedInterestFee, MainForm.AmountAccuracy); chargedInterestFee += singleChargedInterestFee; } } //当品应收的利息等于之前收过的利息+上期利息 interestFee = chargedInterestFee + paidInterestFee; serviceFee = chargedServiceFee; } else if (PawnTicketStatus == 2) //过期状态,收取 { //计算上期利息+过期利息,计算过期服务费 PawnSpan LastSpan = DianDangFunction.GetPawnSpan(DateTime.Parse(dtOperations.Rows[i]["StartDate"].ToString()), m_OperationDate); paidInterestFee = (LastSpan.Months + LastSpan.CountDays / 30) * amount * Convert.ToDouble(dtOperations.Rows[i]["InterestFeeRate"].ToString()) / 100; paidInterestFee = DianDangFunction.myRound(paidInterestFee, MainForm.AmountAccuracy); PawnSpan OverdueSpan = DianDangFunction.GetPawnSpan(DateTime.Parse(dtOperations.Rows[i]["EndDate"].ToString()), m_OperationDate); overdueFee = (OverdueSpan.Months + OverdueSpan.CountDays / 30) * amount * Convert.ToDouble(dtOperations.Rows[i]["ServiceFeeRate"].ToString()) / 100; overdueFee = DianDangFunction.myRound(overdueFee, MainForm.AmountAccuracy); //计算已经付出的服务费和利息 Query queryPaidOperation = new Query(DDOperation.Schema); queryPaidOperation.AddWhere("TicketID", m_TicketID); queryPaidOperation.AddWhere("PawnageID", pawnageInfo.PawnageID); queryPaidOperation.AddWhere("OperationType", Comparison.NotEquals, 6); queryPaidOperation.AddWhere("Deleted", 0); DataTable dtPaidOperation = queryPaidOperation.ExecuteDataSet().Tables[0]; if (dtPaidOperation.Rows.Count > 0) { for (int j = 0; j < dtPaidOperation.Rows.Count; j++) { singleChargedServiceFee = Convert.ToDouble(dtPaidOperation.Rows[j]["ServiceFee"].ToString()); singleChargedServiceFee = DianDangFunction.myRound(singleChargedServiceFee, MainForm.AmountAccuracy); chargedServiceFee += singleChargedServiceFee; singleChargedInterestFee = Convert.ToDouble(dtPaidOperation.Rows[j]["InterestFee"].ToString()); singleChargedInterestFee = DianDangFunction.myRound(singleChargedInterestFee, MainForm.AmountAccuracy); chargedInterestFee += singleChargedInterestFee; } } //当品应收的利息等于之前收过的利息+应付利息 interestFee = chargedInterestFee + paidInterestFee; //服务费应该等于所有已经收取的服务费+过期服务费 serviceFee = chargedServiceFee + overdueFee; } else if (PawnTicketStatus == 1) //提前赎当 { int ifReturn = 0; double InOperationServiceFee = 0, InOperationInterestFee = 0; double InOPerationChargedServiceFee = 0, InOperationChargedInterestFee = 0; //总计征收的费用 Query queryPaidOperation = new Query(DDOperation.Schema); queryPaidOperation.AddWhere("PawnageID", pawnageInfo.PawnageID); queryPaidOperation.AddWhere("OperationType", Comparison.NotEquals, 6); queryPaidOperation.AddWhere("Deleted", 0); DataTable dtPaidOperation = queryPaidOperation.ExecuteDataSet().Tables[0]; for (int j = 0; j < dtPaidOperation.Rows.Count; j++) { singleChargedServiceFee = Convert.ToDouble(dtPaidOperation.Rows[j]["ServiceFee"].ToString()); singleChargedServiceFee = DianDangFunction.myRound(singleChargedServiceFee, MainForm.AmountAccuracy); chargedServiceFee += singleChargedServiceFee; singleChargedInterestFee = Convert.ToDouble(dtPaidOperation.Rows[j]["InterestFee"].ToString()); singleChargedInterestFee = DianDangFunction.myRound(singleChargedInterestFee, MainForm.AmountAccuracy); chargedInterestFee += singleChargedInterestFee; } //计算争议的服务费 Query queryInOperation = new Query(DDOperation.Schema); queryInOperation.AddBetweenAnd("EndDate", m_OperationDate.AddDays(1), new DateTime(9998, 12, 31)); queryInOperation.AddBetweenAnd("StartDate", new DateTime(1755, 1, 1), m_OperationDate.AddDays(-1)); queryInOperation.AddWhere("PawnageID", pawnageInfo.PawnageID); queryInOperation.AddWhere("OperationType", Comparison.NotEquals, 6); queryInOperation.AddWhere("Deleted", 0); DataTable dtInOperation = queryInOperation.ExecuteDataSet().Tables[0]; if (dtInOperation.Rows.Count > 0) { InOPerationChargedServiceFee = Convert.ToDouble(dtInOperation.Rows[0]["ServiceFee"].ToString()); PawnSpan OperationSpan = DianDangFunction.GetPawnSpan(DateTime.Parse(dtInOperation.Rows[0]["StartDate"].ToString()), DateTime.Parse(dtInOperation.Rows[0]["EndDate"].ToString())); PawnSpan Span = DianDangFunction.GetPawnSpan(DateTime.Parse(dtInOperation.Rows[0]["StartDate"].ToString()), m_OperationDate); double DayFeeRate = InOPerationChargedServiceFee / OperationSpan.CountDaysAll / amount * 100; if (Span.CountDaysAll > OperationSpan.CountDaysAll) { Span.CountDaysAll = OperationSpan.CountDaysAll; } InOperationServiceFee = (Span.CountDaysAll) * amount * DayFeeRate / 100; InOperationServiceFee = DianDangFunction.myRound(InOperationServiceFee, MainForm.AmountAccuracy); } //计算肯定要返还的费用 Query queryReturnOperation = new Query(DDOperation.Schema); queryReturnOperation.AddBetweenAnd("StartDate", m_OperationDate, new DateTime(9998, 12, 31)); queryReturnOperation.AddWhere("PawnageID", pawnageInfo.PawnageID); queryReturnOperation.AddWhere("OperationType", Comparison.NotEquals, 6); queryReturnOperation.AddWhere("Deleted", 0); DataTable dtReturnOperation = queryReturnOperation.ExecuteDataSet().Tables[0]; for (int j = 0; j < dtReturnOperation.Rows.Count; j++) { //计算争议的利息费,因为本次收取的利息为上月利息,即为争议利息 if (j == 0 && dtInOperation.Rows.Count > 0) { InOperationChargedInterestFee = Convert.ToDouble(dtReturnOperation.Rows[0]["InterestFee"].ToString()); PawnSpan OperationSpan = DianDangFunction.GetPawnSpan(DateTime.Parse(dtInOperation.Rows[0]["StartDate"].ToString()), DateTime.Parse(dtInOperation.Rows[0]["EndDate"].ToString())); PawnSpan Span = DianDangFunction.GetPawnSpan(DateTime.Parse(dtInOperation.Rows[0]["StartDate"].ToString()), m_OperationDate); double DayInterestFeeRate = InOperationChargedInterestFee / OperationSpan.CountDaysAll / amount * 100; if (Span.CountDaysAll > OperationSpan.CountDaysAll) { Span.CountDaysAll = OperationSpan.CountDaysAll; } InOperationInterestFee = (Span.CountDaysAll) * amount * DayInterestFeeRate / 100; InOperationInterestFee = DianDangFunction.myRound(InOperationInterestFee, MainForm.AmountAccuracy); } ifReturn++; singleReturnServiceFee = Convert.ToDouble(dtReturnOperation.Rows[j]["ServiceFee"].ToString()); singleReturnServiceFee = DianDangFunction.myRound(singleReturnServiceFee, MainForm.AmountAccuracy); returnServiceFee += singleReturnServiceFee; if (j != 0 || dtInOperation.Rows.Count == 0) { singleReturnInterestFee = Convert.ToDouble(dtReturnOperation.Rows[j]["InterestFee"].ToString()); singleReturnInterestFee = DianDangFunction.myRound(singleReturnInterestFee, MainForm.AmountAccuracy); returnInterestFee += singleReturnInterestFee; } } if (m_OperationDate > DateTime.Parse(dtOperations.Rows[i]["StartDate"].ToString())) //操作日期大于最后一次操作开始日期,则收取利息 { PawnSpan Span = DianDangFunction.GetPawnSpan(DateTime.Parse(dtOperations.Rows[i]["StartDate"].ToString()), m_OperationDate); paidInterestFee = 0; paidInterestFee = (Span.Months + Span.Days / 30) * Convert.ToDouble(dtOperations.Rows[i]["InterestFeeRate"].ToString()) * amount / 100; paidInterestFee = DianDangFunction.myRound(paidInterestFee, MainForm.AmountAccuracy); } returnServiceFee = returnServiceFee + InOPerationChargedServiceFee - InOperationServiceFee; returnServiceFee = DianDangFunction.myRound(returnServiceFee, MainForm.AmountAccuracy); returnInterestFee = returnInterestFee + InOperationChargedInterestFee - InOperationInterestFee; returnInterestFee = DianDangFunction.myRound(returnInterestFee, MainForm.AmountAccuracy); serviceFee = chargedServiceFee - returnServiceFee; serviceFee = DianDangFunction.myRound(serviceFee, MainForm.AmountAccuracy); interestFee = chargedInterestFee + paidInterestFee - returnInterestFee; interestFee = DianDangFunction.myRound(interestFee, MainForm.AmountAccuracy); } } //Query queryOperation = new Query(DDOperation.Schema); //queryOperations.AddWhere("TicketID", m_TicketID); #endregion serviceFeeRate = Convert.ToDouble(dtOperations.Rows[i]["ServiceFeeRate"].ToString()); interestFeeRate = Convert.ToDouble(dtOperations.Rows[i]["InterestFeeRate"].ToString()); interestFee = DianDangFunction.myRound(interestFee, MainForm.AmountAccuracy); serviceFee = DianDangFunction.myRound(serviceFee, MainForm.AmountAccuracy); amount = DianDangFunction.myRound(amount, MainForm.AmountAccuracy); returnServiceFee = DianDangFunction.myRound(returnServiceFee, MainForm.AmountAccuracy); returnInterestFee = DianDangFunction.myRound(returnInterestFee, MainForm.AmountAccuracy); overdueFee = DianDangFunction.myRound(overdueFee, MainForm.AmountAccuracy); paidInterestFee = DianDangFunction.myRound(paidInterestFee, MainForm.AmountAccuracy); chargedServiceFee = DianDangFunction.myRound(chargedServiceFee, MainForm.AmountAccuracy); chargedInterestFee = DianDangFunction.myRound(chargedInterestFee, MainForm.AmountAccuracy); DataRow drow = m_GridTable.NewRow(); DDPawnageClass pawnageClass = new DDPawnageClass("ClassID", pawnageInfo.ClassID); drow["ClassName"] = pawnageClass.ClassName; drow["Amount"] = amount; drow["ServiceFee"] = serviceFee; drow["InterestFee"] = interestFee; drow["ReturnFee"] = returnServiceFee; drow["ReturnInterestFee"] = returnInterestFee; drow["OverdueFee"] = overdueFee; drow["PaidInterestFee"] = paidInterestFee; drow["ChargedServiceFee"] = chargedServiceFee; drow["ChargedInterestFee"] = chargedInterestFee; drow["PawnageID"] = dtOperations.Rows[i]["PawnageID"].ToString(); drow["ServiceFeeRate"] = serviceFeeRate; drow["InterestFeeRate"] = interestFeeRate; m_GridTable.Rows.Add(drow); } } this.dataGridView1.DataSource = m_GridTable; CaculateDatagridAmount(); }
private void OperationAmount() { DateTime startDate = Convert.ToDateTime(this.tbxStartDate.Text.Trim()); DateTime endDate = Convert.ToDateTime(this.tbxEndDate.Text.Trim()); double newPawnAmount = 0; double closeOfNewAmount = 0; double redeemPawnAmount = 0; double renewPawnAmount = 0; double closePawnAmount = 0; double goldOfClosePawnAmount = 0; double clearPawnAmount = 0; double clearPawnReckonAmount = 0; double reckoningPL = 0; //清算盈亏 double unclearPawnAmount = 0; double newPawnServiceFee = 0; //建当服务费 double renewPawnServiceFee = 0; //续当服务费 double interestFee = 0; //典当利息 double overDueFee = 0; //逾期服务费 double returnFee = 0; //返回服务费 double totalFee = 0; //总计营收 int operationType = 0; double amount = 0; Query queryOperations = new Query(DDOperation.Schema); queryOperations.AddBetweenAnd("OperationDate", startDate, endDate); DataTable dtOperations = queryOperations.ExecuteDataSet().Tables[0]; if (dtOperations.Rows.Count > 0) { for (int i = 0; i < dtOperations.Rows.Count; i++) { operationType = Convert.ToInt32(dtOperations.Rows[i]["OperationType"]); amount = Convert.ToDouble(dtOperations.Rows[i]["Amount"]); switch (operationType) { case 1: newPawnAmount += amount; DDPawnTicket newTicket = new DDPawnTicket("TicketID", Convert.ToInt32(dtOperations.Rows[i]["TicketID"])); if (newTicket.StatusID == 4 || newTicket.StatusID == 7) { closeOfNewAmount += amount; } newPawnServiceFee += Convert.ToDouble(dtOperations.Rows[i]["ServiceFee"]); interestFee += Convert.ToDouble(dtOperations.Rows[i]["InterestFee"]); break; case 2: redeemPawnAmount += amount; overDueFee += Convert.ToDouble(dtOperations.Rows[i]["OverdueFee"]); returnFee += Convert.ToDouble(dtOperations.Rows[i]["ReturnFee"]); interestFee += Convert.ToDouble(dtOperations.Rows[i]["InterestFee"]); break; case 3: renewPawnAmount += amount; renewPawnServiceFee += Convert.ToDouble(dtOperations.Rows[i]["ServiceFee"]); interestFee += Convert.ToDouble(dtOperations.Rows[i]["InterestFee"]); break; case 4: closePawnAmount += amount; DDPawnageInfo newPawnage = new DDPawnageInfo("PawnageID", Convert.ToInt32(dtOperations.Rows[i]["PawnageID"])); if (newPawnage.ParentID == 2) //2:黄金类ClassID { goldOfClosePawnAmount += amount; } break; case 7: clearPawnAmount += amount; clearPawnReckonAmount += Convert.ToDouble(dtOperations.Rows[i]["ReckonAmount"]); break; default: break; } } reckoningPL = clearPawnReckonAmount - clearPawnAmount; //清算盈亏 unclearPawnAmount = closePawnAmount - clearPawnAmount; //未清算金额 totalFee = newPawnServiceFee + renewPawnServiceFee + interestFee + overDueFee - returnFee; } double allNewPawnAmount = 0; //double closeOfAllNewPawnAmount = 0; double allRedeemPawnAmount = 0; double allClosePawnAmount = 0; DDCompanyInfo company = new DDCompanyInfo("CompanyID", 1); DateTime setupDate = Convert.ToDateTime(company.SetupDate); Query queryAllOperations = new Query(DDOperation.Schema); queryAllOperations.AddBetweenAnd("OperationDate", setupDate, endDate); //所有的操作记录 DataTable dtAllOperations = queryAllOperations.ExecuteDataSet().Tables[0]; if (dtAllOperations.Rows.Count > 0) { for (int j = 0; j < dtAllOperations.Rows.Count; j++) { operationType = Convert.ToInt32(dtAllOperations.Rows[j]["OperationType"]); amount = Convert.ToDouble(dtAllOperations.Rows[j]["Amount"]); if (operationType == 1) { allNewPawnAmount += amount; //DDPawnTicket newTicket = new DDPawnTicket("TicketID", Convert.ToInt32(dtAllOperations.Rows[j]["TicketID"])); //if (newTicket.StatusID == 4 || newTicket.StatusID == 7) //{ // closeOfAllNewPawnAmount += amount; //} } if (operationType == 2) { allRedeemPawnAmount += amount; } if (operationType == 4) { allClosePawnAmount += amount; } } } double startTotalAmount = 0; double endTotalAmount = 0; double increAmount = 0; double totalAmount = 0; endTotalAmount = allNewPawnAmount - allClosePawnAmount - allRedeemPawnAmount; increAmount = newPawnAmount - closePawnAmount - redeemPawnAmount; startTotalAmount = endTotalAmount - increAmount; totalAmount = endTotalAmount + unclearPawnAmount; double percentCloseOfNewPawn = 0; double percentIncreOfStart = 0; double percentIncreOfEnd = 0; double percentNewPawnServiceFeeOfTotal = 0; double percentRenewPawnServiceFeeOfTotal = 0; double percentInterestFeeOfTotal = 0; double percentRetureFeeOfTotal = 0; double percentOverdueFeeOfTotal = 0; if (newPawnAmount != 0) { percentCloseOfNewPawn = closeOfNewAmount * 100 / newPawnAmount; percentCloseOfNewPawn = DianDangFunction.myRound(percentCloseOfNewPawn, MainForm.AmountAccuracy); } if (startTotalAmount != 0) { percentIncreOfStart = increAmount * 100 / startTotalAmount; percentIncreOfStart = DianDangFunction.myRound(percentIncreOfStart, MainForm.AmountAccuracy); } if (endTotalAmount != 0) { percentIncreOfEnd = increAmount * 100 / endTotalAmount; percentIncreOfEnd = DianDangFunction.myRound(percentIncreOfEnd, MainForm.AmountAccuracy); } if (totalFee != 0) { percentNewPawnServiceFeeOfTotal = newPawnServiceFee * 100 / totalFee; percentNewPawnServiceFeeOfTotal = DianDangFunction.myRound(percentNewPawnServiceFeeOfTotal, MainForm.AmountAccuracy); percentRenewPawnServiceFeeOfTotal = renewPawnServiceFee * 100 / totalFee; percentRenewPawnServiceFeeOfTotal = DianDangFunction.myRound(percentRenewPawnServiceFeeOfTotal, MainForm.AmountAccuracy); percentInterestFeeOfTotal = interestFee * 100 / totalFee; percentInterestFeeOfTotal = DianDangFunction.myRound(percentInterestFeeOfTotal, MainForm.AmountAccuracy); percentRetureFeeOfTotal = returnFee * 100 / totalFee; percentRetureFeeOfTotal = DianDangFunction.myRound(percentRetureFeeOfTotal, MainForm.AmountAccuracy); percentOverdueFeeOfTotal = overDueFee * 100 / totalFee; percentOverdueFeeOfTotal = DianDangFunction.myRound(percentOverdueFeeOfTotal, MainForm.AmountAccuracy); } this.lblNewPawnAmount.Text = newPawnAmount.ToString(); this.lblCloseOfNewAmount.Text = closeOfNewAmount.ToString(); this.lblRenewPawnAmount.Text = renewPawnAmount.ToString(); this.lblSalesSize.Text = (newPawnAmount + renewPawnAmount).ToString(); this.lblRedeemPawnAmount.Text = redeemPawnAmount.ToString(); this.lblClosePawnAmount.Text = closePawnAmount.ToString(); this.lblGoldOfCloseAmount.Text = goldOfClosePawnAmount.ToString(); this.lblStartTotalAmount.Text = startTotalAmount.ToString(); this.lblEndTotalAmount.Text = endTotalAmount.ToString(); this.lblIncreAmount.Text = increAmount.ToString(); this.lblTotalFee.Text = totalFee.ToString(); newPawnServiceFee = DianDangFunction.myRound(newPawnServiceFee, MainForm.AmountAccuracy); this.lblNewPawnServiceFee.Text = newPawnServiceFee.ToString(); this.lblRenewPawnServiceFee.Text = renewPawnServiceFee.ToString(); this.lblInterestFee.Text = interestFee.ToString(); this.lblOverDueFee.Text = overDueFee.ToString(); this.lblReturnFee.Text = returnFee.ToString(); this.lblCloseClearAmount.Text = clearPawnAmount.ToString(); //绝当处理金额 this.lblClearAmount.Text = clearPawnReckonAmount.ToString(); //清算金额 this.lblReckoningPL.Text = reckoningPL.ToString(); this.lblUnclearAmount.Text = unclearPawnAmount.ToString(); this.lblTotalAmount.Text = totalAmount.ToString(); //总收入 this.lblTotalIncommingAmount.Text = (totalFee + redeemPawnAmount).ToString(); //总支出 this.lblTotalOutAmount.Text = newPawnAmount.ToString(); //收支余额 this.lblTotalBalance.Text = (totalFee + redeemPawnAmount - newPawnAmount).ToString("0.00"); this.lblCloseOfNewPercent.Text = percentCloseOfNewPawn.ToString(); this.lblIncreOfStartPercent.Text = percentIncreOfStart.ToString(); this.lblIncreOfEndPercent.Text = percentIncreOfEnd.ToString(); this.lblNewServiceFeeOfTotal.Text = percentNewPawnServiceFeeOfTotal.ToString(); this.lblRenewServiceFeeOfTotal.Text = percentRenewPawnServiceFeeOfTotal.ToString(); this.lblInterestFeeOfTotal.Text = percentInterestFeeOfTotal.ToString(); this.lblReturnfeeOfTotal.Text = percentRetureFeeOfTotal.ToString(); this.lblOverdueFeeOfTotal.Text = percentOverdueFeeOfTotal.ToString(); }
public bool Destroy(object TicketID) { return(DDPawnTicket.Destroy(TicketID) == 1); }
public bool Delete(object TicketID) { return(DDPawnTicket.Delete(TicketID) == 1); }