2025-03-28 09:49:56 +08:00

103 lines
4.2 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.Windows.Forms;
namespace InvoicingTool
{
public partial class CheckBillFail : Form
{
public CheckBillFail(string ServerPartShop_id, bool IsUnmatch)
{
InitializeComponent();
if (IsUnmatch)
{
lblTite.Text = "盘点无库存信息商品查询";
SearchUnmatchDataView(ServerPartShop_id);
}
else
{
lblTite.Text = "未盘点商品信息查询";
SearchDataView(ServerPartShop_id);
}
txtSearch.Focus();
}
private void SearchDataView(string ServerPartShop_id)
{
string _selectsql = "SELECT ROW_NUMBER() OVER (ORDER BY CHECKCOMMODITYDETAIL_ID) " +
"AS CHECKCOMMODITYDETAIL_ID, A.COMMODITY_BARCODE AS COMMODITY_BARCODE," +
"A.COMMODITY_NAME AS COMMODITY_NAME, ISNULL(A.OVERPLUSCOUNT,0) AS " +
"OVERPLUSCOUNT,ISNULL(A.CUROVERPLUSCOUNT,0) AS CUROVERPLUSCOUNT," +
"(ISNULL(A.CUROVERPLUSCOUNT,0) - ISNULL(A.OVERPLUSCOUNT,0)) AS " +
"DIFFERENCECOUNT,A.CHECKDATE AS CHECKDATE " +
"FROM T_CHECKCOMMODITYDETAIL A,T_CHECKCOMMODITYEX B " +
"WHERE A.CHECKCOMMODITY_ID = B.CHECKCOMMODITY_ID AND " +
"B.CHECK_STATE = 0 AND B.SERVERPARTSHOP_ID = " + ServerPartShop_id +
" AND ( A.CHECKDESC IS NULL OR A.CHECKDATE <> A.END_DATE ) " +
"ORDER BY CHECKCOMMODITYDETAIL_ID";
DataTable _DataTable = DBHelper.QueryOdbc(_selectsql).Tables[0];
if (_DataTable.Rows.Count > 0)
{
CheckView.DataSource = _DataTable;
CheckView.Rows[_DataTable.Rows.Count - 1].Selected = true;
CheckView.CurrentCell = CheckView.Rows[_DataTable.Rows.Count - 1].Cells[0];
}
}
/// <summary>
/// 显示盘点商品列表
/// </summary>
private void SearchUnmatchDataView(string ServerPartShop_id)
{
string _selectsql = "SELECT ROW_NUMBER() OVER (ORDER BY CHECKCOMMODITYUNMATCH_ID) " +
"AS CHECKCOMMODITYDETAIL_ID, A.COMMODITY_BARCODE AS COMMODITY_BARCODE," +
"A.COMMODITY_NAME AS COMMODITY_NAME, ISNULL(A.OVERPLUSCOUNT,0) AS " +
"OVERPLUSCOUNT,ISNULL(A.CUROVERPLUSCOUNT,0) AS CUROVERPLUSCOUNT," +
"(ISNULL(A.CUROVERPLUSCOUNT,0) - ISNULL(A.OVERPLUSCOUNT,0)) AS " +
"DIFFERENCECOUNT,A.CHECKDATE AS CHECKDATE " +
"FROM T_CHECKCOMMODITYUNMATCH A,T_CHECKCOMMODITYEX B " +
"WHERE A.CHECKCOMMODITY_ID = B.CHECKCOMMODITY_ID AND " +
"B.CHECK_STATE = 0 AND B.SERVERPARTSHOP_ID = " + ServerPartShop_id +
" ORDER BY CHECKCOMMODITYDETAIL_ID";
DataTable _DataTable = DBHelper.QueryOdbc(_selectsql).Tables[0];
if (_DataTable.Rows.Count > 0)
{
CheckView.DataSource = _DataTable;
CheckView.Rows[_DataTable.Rows.Count - 1].Selected = true;
CheckView.CurrentCell = CheckView.Rows[_DataTable.Rows.Count - 1].Cells[0];
}
}
private void txtSearch_TextChanged(object sender, EventArgs e)
{
if (txtSearch.Text != "")
{
DataTable _DataTable = CheckView.DataSource as DataTable;
_DataTable.DefaultView.RowFilter = "commodity_barcode like '%" + txtSearch.Text +
"%' or commodity_name like '%" + txtSearch.Text + "%'";
}
else
{
DataTable _DataTable = CheckView.DataSource as DataTable;
_DataTable.DefaultView.RowFilter = "";
}
}
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
private void CheckBillFail_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
Close();
}
}
}
}