130 lines
5.0 KiB
C#
130 lines
5.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using WindowsFormsApp1.Delivery;
|
|
|
|
namespace WindowsFormsApp1.Account
|
|
{
|
|
public partial class Purchase_Book : Form
|
|
{
|
|
Main main;
|
|
Purchase_Aggregation pa;
|
|
Helper_DB db = new Helper_DB();
|
|
public bool call = false;
|
|
public string compidx;
|
|
bool chk_ac = false;
|
|
public Purchase_Book(Main _main)
|
|
{
|
|
InitializeComponent();
|
|
main = _main;
|
|
compidx = main.com_idx;
|
|
}
|
|
public Purchase_Book(Purchase_Aggregation _pa)
|
|
{
|
|
InitializeComponent();
|
|
pa = _pa;
|
|
compidx = pa.compidx;
|
|
call = true;
|
|
}
|
|
private void Purchase_Book_Load(object sender, EventArgs e)
|
|
{
|
|
db.DBcon();
|
|
start_Date.Value = new DateTime(int.Parse(DateTime.Now.ToString("yyyy")),
|
|
int.Parse(DateTime.Now.ToString("MM")), 1);
|
|
}
|
|
public void btn_Lookup_Click(object sender, EventArgs e)
|
|
{
|
|
if(call != false) { db.DBcon(); }
|
|
dataGridView1.Rows.Clear();
|
|
if (tb_purchase.Text == "") { return; }
|
|
string Select_Area = "`buy_date`, `book_name`, `count`, `persent`, `buy_money`, `payment`, `etc`";
|
|
string[] Search_col = { "compidx", "purchase" };
|
|
string[] Search_data = { compidx, tb_purchase.Text };
|
|
|
|
string db_tmp = db.More_DB_Search("Buy_ledger", Search_col, Search_data, Select_Area);
|
|
string[] db_data = db_tmp.Split('|');
|
|
input_Grid(db_data);
|
|
}
|
|
private void input_Grid(string[] db_data)
|
|
{
|
|
/* 매입일자 내용 수량 입고율 매입금액
|
|
* 결제금액 현잔액 비고 */
|
|
string[] grid = { "", "", "", "", "0",
|
|
"0", "0", "" };
|
|
|
|
for (int a = 0; a < db_data.Length - 1; a++)
|
|
{
|
|
if (a % 7 == 0) { grid[0] = db_data[a].Substring(0, 10); } // 매입일자
|
|
if (a % 7 == 1) { grid[1] = db_data[a]; } // 내용
|
|
if (a % 7 == 2) { grid[2] = db_data[a]; } // 수량
|
|
if (a % 7 == 3) { grid[3] = db_data[a]; } // 입고율
|
|
if (a % 7 == 4) { grid[4] = db_data[a]; } // 매입금액
|
|
if (a % 7 == 5) { grid[5] = db_data[a]; } // 결제금액
|
|
if (a % 7 == 6) { grid[7] = db_data[a]; Grid_Sub(grid); } // 비고
|
|
}
|
|
}
|
|
/* Grid 1행에 매입일자 쪽에 "이월미수금" 단어가 표출되며,
|
|
* 현 잔액에 이전에 있었던 거래 금액들이 계산되어 표출된다.
|
|
*/
|
|
private void Grid_Sub(string[] grid)
|
|
{
|
|
string str_start = start_Date.Value.ToString().Substring(0, 10);
|
|
string str_end = end_Date.Value.ToString().Substring(0, 10);
|
|
|
|
bool chk_grid = false;
|
|
|
|
if (DateTime.Parse(str_start) <= DateTime.Parse(grid[0]) &&
|
|
DateTime.Parse(str_end) >= DateTime.Parse(grid[0])) {
|
|
string[] account = {"이월미수금", "", "", "", "",
|
|
"", grid[6], ""};
|
|
if (dataGridView1.Rows.Count==0) {
|
|
account[6] = String.Format("{0:#,###}", Convert.ToInt32(account[6]));
|
|
dataGridView1.Rows.Add(account);
|
|
chk_ac = true;
|
|
}
|
|
chk_grid = true;
|
|
}
|
|
// 현잔액 = 매입금액 - 결제금액
|
|
int buy = Convert.ToInt32(grid[4]);
|
|
int pay = Convert.ToInt32(grid[5]);
|
|
int remain = Convert.ToInt32(grid[6].Replace(",", ""));
|
|
remain += buy - pay;
|
|
grid[6] = remain.ToString();
|
|
|
|
if (chk_grid == true) {
|
|
grid[2] = String.Format("{0:#,###}", Convert.ToInt32(grid[2]));
|
|
grid[4] = String.Format("{0:#,###}", Convert.ToInt32(grid[4]));
|
|
grid[5] = String.Format("{0:#,###}", Convert.ToInt32(grid[5]));
|
|
grid[6] = String.Format("{0:#,###}", Convert.ToInt32(grid[6]));
|
|
dataGridView1.Rows.Add(grid);
|
|
}
|
|
}
|
|
private void btn_Print_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
private void tb_purchase_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
/* TODO: 완성시 주석 해제
|
|
Order_input_Search search = new Order_input_Search(this);
|
|
search.Where_Open = "Order";
|
|
search.TopMost = true;
|
|
search.Show(); */
|
|
btn_Lookup_Click(null, null);
|
|
}
|
|
}
|
|
private void btn_Close_Click(object sender, EventArgs e)
|
|
{
|
|
Close();
|
|
}
|
|
}
|
|
}
|