using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Text;
|
using System.Windows.Forms;
|
using grproLib;
|
using SQLHelper;
|
using DBUtility;
|
|
namespace WorkM
|
{
|
public partial class Sc_AssemblyBillList : Form
|
{
|
public Sc_AssemblyBillList()
|
{
|
InitializeComponent();
|
}
|
public DBUtility.frmBillQueryCondition_New frmCondition;
|
const string ViewName = "h_v_Sc_AssemblyBillList";
|
const string ModCaption = "生产组装单维护";
|
public const string ModRightName = "Sc_AssemblyBill";
|
public const string ModRightNameEdit = ModRightName + "_Edit";
|
public const string ModRightNameCheck = ModRightName + "_Check";
|
public const string ModRightNameClose = ModRightName + "_Close";
|
public const string ModRightNameDelete = ModRightName + "_Delete";
|
DAL.ClsSc_AssemblyBill oBill = new DAL.ClsSc_AssemblyBill();
|
public Sc_AssemblyBill oFrm;
|
Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
|
//
|
private void initGrid()
|
{
|
DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name);
|
}
|
//
|
|
private void Display()
|
{
|
ClsCN SubCn = new ClsCN();
|
DataSet DSet;
|
string sSql = "";
|
string sWhere = "";
|
//过滤条件
|
if (frmCondition.SqlStr.Trim().Length == 0)
|
return;
|
sSql = frmCondition.SqlStr + sWhere + " order by 单据号 desc,hsubid ";
|
//
|
DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
|
//生成首行标题
|
if (DSet == null)
|
{
|
MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo);
|
return;
|
}
|
//
|
grdMain.DataSource = DSet.Tables[0].DefaultView;
|
//设置合计列
|
string sTotalCol = "";
|
sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet);
|
string[] sT;
|
sT = sTotalCol.Split(Convert.ToChar(","));
|
oSumGrid.BuildTotalCols(sT);
|
//
|
//冻结
|
int FrCol = DBUtility.ClsPub.isInt(frmCondition.txtFrozenCol.Text);
|
string s = frmCondition.cmbHComplete.Text;
|
DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, s, FrCol);
|
//画线
|
GraphLine();
|
|
Total();
|
}
|
|
//合计 new
|
private void Total()
|
{
|
if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0)
|
{
|
oSumGrid.SetGridsum();
|
oSumGrid.Total();
|
}
|
}
|
|
private void timer1_Tick(object sender, EventArgs e)
|
{
|
timer1.Enabled=false;
|
//initGrid();
|
Display();
|
}
|
|
private void tc_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
|
private void sx_Click(object sender, EventArgs e)
|
{
|
timer1.Enabled = true;
|
}
|
|
private void dj_Click(object sender, EventArgs e)
|
{
|
Sub_ShowBill();
|
}
|
|
private void Sub_ShowBill()
|
{
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow == null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsSc_AssemblyBill oBill = new DAL.ClsSc_AssemblyBill();
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
oFrm = new Sc_AssemblyBill();
|
oFrm.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
|
oFrm.BillOld = oBill;
|
oFrm.ShowDialog();
|
if (oFrm.BillChange)
|
{
|
if (MessageBox.Show("单据列表已经发生变化,是否刷新", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
|
{
|
timer1.Enabled = true;
|
}
|
}
|
}
|
else
|
{
|
MessageBox.Show("单据未找到", "提示");
|
}
|
oBill = null;
|
}
|
|
private Int32 Fun_GetCol(string sCol)
|
{
|
for (int c = 0; c < grdMain.ColumnCount; c++)
|
{
|
if (ClsPub.isStrNull(grdMain.Columns[c].HeaderText).ToUpper().Trim() == sCol.Trim().ToUpper())
|
{
|
return c;
|
}
|
}
|
return 0;
|
}
|
|
private void Sc_AssemblyBillList_Load(object sender, EventArgs e)
|
{
|
//
|
frmCondition = new frmBillQueryCondition_New();
|
this.Text = ModCaption;
|
lblCaption.Text = ModCaption;
|
initGrid();
|
}
|
|
|
private void cx_Click(object sender, EventArgs e)
|
{
|
frmCondition = new frmBillQueryCondition_New();
|
frmCondition.Tag = "";
|
frmCondition.ViewName = ViewName;
|
frmCondition.ModName = this.Name;
|
frmCondition.ShowDialog();
|
if (frmCondition.Tag.ToString() == "OK")
|
{
|
Display();
|
}
|
}
|
|
private void xz_Click(object sender, EventArgs e)
|
{
|
//
|
oFrm = new Sc_AssemblyBill();
|
oFrm.ShowDialog();
|
}
|
|
private void sc_Click(object sender, EventArgs e)
|
{
|
Sub_DeleteBill();
|
}
|
//删除
|
private void Sub_DeleteBill()
|
{
|
//编辑权限
|
//if (!ClsPub.Security_Log(ModRightNameEdit, 1, true))
|
//{
|
// return;
|
//}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow==null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsSc_AssemblyBill oBill = new DAL.ClsSc_AssemblyBill();
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (MessageBox.Show("确定要删除当前单据?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
|
{
|
if (oBill.omodel.HChecker != "")
|
{
|
MessageBox.Show("单据已经审核,不能删除!", "提示");
|
return;
|
}
|
if (!oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
MessageBox.Show(DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
else
|
{
|
Display();
|
}
|
|
}
|
}
|
else
|
{
|
MessageBox.Show("单据未找到", "提示");
|
}
|
}
|
|
private void timer2_Tick(object sender, EventArgs e)
|
{
|
timer2.Enabled = false;
|
frmCondition = new DBUtility.frmBillQueryCondition_New();
|
frmCondition.Tag = "";
|
frmCondition.ViewName = ViewName;
|
frmCondition.ModName = this.Name;
|
frmCondition.ShowDialog();
|
if (frmCondition.Tag.ToString() == "OK")
|
{
|
timer1.Enabled = true;
|
}
|
}
|
|
private void yl_Click(object sender, EventArgs e)
|
{
|
|
}
|
|
private void bclk_Click(object sender, EventArgs e)
|
{
|
//保存列宽
|
DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name);
|
}
|
|
private void mrlk_Click(object sender, EventArgs e)
|
{
|
DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name);
|
}
|
//划线
|
private void GraphLine()
|
{
|
//找到主表ID和子表ID的 范围
|
int MainIDCol = Fun_GetCol("hmainid");
|
int SubIDCol = Fun_GetCol("hsubid");
|
long HMainID = 0;
|
bool b = false;
|
long n = 0;
|
//循环所有行
|
for (int i = 0; i<grdMain.RowCount; i++)
|
{
|
if (HMainID == 0)
|
{
|
HMainID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[MainIDCol].Value);
|
n++;
|
}
|
else
|
{
|
if (frmCondition.cmbHComplete.Text == "否")
|
{
|
if (HMainID == DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[MainIDCol].Value))
|
{
|
//区域性清空
|
SetDataGrid(i, MainIDCol + 1, i, SubIDCol - 1, "");
|
}
|
else
|
{
|
HMainID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[MainIDCol].Value);
|
b = !b;
|
n++;
|
}
|
}
|
else
|
{
|
HMainID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[MainIDCol].Value);
|
b = !b;
|
n++;
|
}
|
}
|
if (b)
|
{
|
grdMain.Rows[i].DefaultCellStyle.BackColor = Color.White;
|
}
|
else
|
{
|
grdMain.Rows[i].DefaultCellStyle.BackColor = Color.Lavender;
|
}
|
}
|
//显示
|
lbldj.Text = "查询出 " + n.ToString() + " 张单据";
|
lbljl.Text="共有 "+grdMain.RowCount.ToString()+" 条记录";
|
}
|
//设置网格
|
private void SetDataGrid(int BRow, int BCol, int ERow, int ECol, string sText)
|
{
|
for (int i = BRow; i <= ERow; i++)
|
{
|
for (int j = BCol; j <= ECol; j++)
|
{
|
grdMain.Rows[i].Cells[j].Value = DBNull.Value;
|
}
|
}
|
|
}
|
|
//审核
|
private void sh_Click(object sender, EventArgs e)
|
{
|
this.Sub_CheckBill();
|
}
|
//审核单据
|
private void Sub_CheckBill()
|
{
|
//审核权限
|
//if (!ClsPub.Security_Log(ModRightNameCheck, 1, true))
|
//{
|
// return;
|
//}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow==null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsSc_AssemblyBill oBill = new DAL.ClsSc_AssemblyBill();
|
//查看是否已审核,关闭,作废
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (oBill.omodel.HChecker.Trim() != "")
|
{
|
MessageBox.Show("单据已审核!不能再次审核", "提示");
|
return;
|
}
|
}
|
else
|
{
|
MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
//审核
|
if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("审核成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
//反审单据
|
private void Sub_AbandonCheck()
|
{
|
//审核权限
|
//if (!ClsPub.Security_Log(ModRightNameCheck, 1, true))
|
//{
|
// return;
|
//}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow==null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsSc_AssemblyBill oBill = new DAL.ClsSc_AssemblyBill();
|
//查看是否已审核,关闭,作废
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (oBill.omodel.HChecker.Trim() == "")
|
{
|
MessageBox.Show("单据未审核!不需要反审核!", "提示");
|
return;
|
}
|
}
|
else
|
{
|
MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
//反审核
|
if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("反审核成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
//反审核
|
private void qsh_Click(object sender, EventArgs e)
|
{
|
Sub_AbandonCheck();
|
}
|
//关闭单据
|
private void Sub_CloseBill()
|
{
|
//关闭权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 1, true, DBUtility.ClsPub.CurUserName))
|
{
|
return;
|
}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow == null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsKf_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill();
|
//查看是否已审核,关闭,作废
|
//if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
//{
|
// if (oBill.omodel.HChecker.Trim() == "")
|
// {
|
// MessageBox.Show("单据未审核!不需要反审核!", "提示");
|
// return;
|
// }
|
// if (oBill.omodel.HCloseMan.Trim() != "")
|
// {
|
// MessageBox.Show("单据已关闭!不能再次审核", "提示");
|
// return;
|
// }
|
// if (oBill.omodel.HDeleteMan.Trim() != "")
|
// {
|
// MessageBox.Show("单据已作废!不能再次审核", "提示");
|
// return;
|
// }
|
|
//}
|
//else
|
//{
|
// MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
// return;
|
//}
|
//关闭
|
if (oBill.CloseBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("关闭成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
//反关闭单据
|
private void Sub_Cancel()
|
{
|
//反关闭权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 1, true, DBUtility.ClsPub.CurUserName))
|
{
|
return;
|
}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow == null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsKf_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill();
|
//查看是否已审核,关闭,作废
|
//if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
//{
|
// if (oBill.omodel.HChecker.Trim() == "")
|
// {
|
// MessageBox.Show("单据未审核!不需要反审核!", "提示");
|
// return;
|
// }
|
// if (oBill.omodel.HCloseMan.Trim() != "")
|
// {
|
// MessageBox.Show("单据已关闭!不能再次审核", "提示");
|
// return;
|
// }
|
// if (oBill.omodel.HDeleteMan.Trim() != "")
|
// {
|
// MessageBox.Show("单据已作废!不能再次审核", "提示");
|
// return;
|
// }
|
|
//}
|
//else
|
//{
|
// MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
// return;
|
//}
|
//反关闭
|
if (oBill.CancelClose(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("反关闭成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("反关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
//作废单据
|
private void Sub_Cancelltion()
|
{
|
//作废权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
|
{
|
return;
|
}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow == null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsKf_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill();
|
//查看是否已审核,关闭,作废
|
//if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
//{
|
// if (oBill.omodel.HChecker.Trim() == "")
|
// {
|
// MessageBox.Show("单据未审核!不需要反审核!", "提示");
|
// return;
|
// }
|
// if (oBill.omodel.HCloseMan.Trim() != "")
|
// {
|
// MessageBox.Show("单据已关闭!不能再次审核", "提示");
|
// return;
|
// }
|
// if (oBill.omodel.HDeleteMan.Trim() != "")
|
// {
|
// MessageBox.Show("单据已作废!不能再次审核", "提示");
|
// return;
|
// }
|
|
//}
|
//else
|
//{
|
// MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
// return;
|
//}
|
//作废
|
if (oBill.Cancelltion(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("作废成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
//反作废
|
private void Sub_AbandonCancelltion()
|
{
|
//反作废权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
|
{
|
return;
|
}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.CurrentRow == null)
|
return;
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsKf_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill();
|
//查看是否已审核,关闭,作废
|
//if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
//{
|
// if (oBill.omodel.HChecker.Trim() == "")
|
// {
|
// MessageBox.Show("单据未审核!不需要反审核!", "提示");
|
// return;
|
// }
|
// if (oBill.omodel.HCloseMan.Trim() != "")
|
// {
|
// MessageBox.Show("单据已关闭!不能再次审核", "提示");
|
// return;
|
// }
|
// if (oBill.omodel.HDeleteMan.Trim() != "")
|
// {
|
// MessageBox.Show("单据已作废!不能再次审核", "提示");
|
// return;
|
// }
|
|
//}
|
//else
|
//{
|
// MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
// return;
|
//}
|
//反作废
|
if (oBill.AbandonCancelltion(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("反作废成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("反作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
private void grdMain_DoubleClick(object sender, EventArgs e)
|
{
|
Sub_ShowBill();
|
}
|
|
private void grdMain_Paint(object sender, PaintEventArgs e)
|
{
|
GraphicsGrid();
|
}
|
|
private void GraphicsGrid()
|
{
|
|
Graphics g = grdMain.CreateGraphics();
|
Pen p = new Pen(Color.Black);
|
p.Width = 1;
|
int lWidth;
|
if (grdMain.RowHeadersVisible)
|
lWidth = grdMain.RowHeadersWidth;
|
else
|
lWidth = 0;
|
foreach (DataGridViewColumn col in grdMain.Columns)
|
{
|
lWidth += col.Width;
|
}
|
int sWidth;
|
if (grdMain.ColumnHeadersVisible)
|
sWidth = grdMain.ColumnHeadersHeight;
|
else
|
sWidth = 0;
|
foreach (DataGridViewRow col in grdMain.Rows)
|
{
|
sWidth += col.Height;
|
if (col.Index == grdMain.RowCount - 1)
|
{
|
g.DrawLine(p, new Point(0, sWidth), new Point(lWidth, sWidth));
|
}
|
}
|
}
|
private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_CloseBill();
|
}
|
private void 反关闭ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_Cancel();
|
}
|
private void 审核ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_CheckBill();
|
}
|
private void 反审核ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_AbandonCheck();
|
}
|
private void 作废ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_Cancelltion();
|
}
|
|
private void 撤销作废ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_AbandonCancelltion();
|
}
|
|
|
}
|
}
|