using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Text;
|
using System.Windows.Forms;
|
|
namespace BaseSet
|
{
|
public partial class Gy_SMCMaterRelationList : Form
|
{
|
private int HItemIDCol = 0;
|
private int HNumberCol = 0;
|
public DBUtility.frmBillQueryCondition_New frmCondition;
|
public const string ViewName = "h_v_Gy_SMCMaterRelationList";
|
public string ModName = "SMC";
|
//权限
|
public const string ModRightName = "Gy_SMCMaterRelation";
|
public const string ModRightNameEdit = ModRightName + "_Edit";
|
public const string ModRightNameCheck = ModRightName + "_Check";
|
//
|
public DBUtility.ClsPub.Enum_InputMode InputMode; //录入状态标志(0-非录入状态 1-增加 2-修改)
|
public long HItemID;//项目ID
|
public long HItemGroupID;
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
DAL.ClsGy_SMCMaterRelation_Ctl oMatePrce = new DAL.ClsGy_SMCMaterRelation_Ctl();
|
Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
|
TreeNode CurNode = new TreeNode();
|
//拆分字符
|
char spChar =Convert.ToChar( "~");
|
public Gy_SMCMaterRelation oFrm;
|
public Gy_SMCMaterRelationList()
|
{
|
InitializeComponent();
|
}
|
|
|
//以下代码基本不需要修改
|
#region 固定代码
|
private void kh_Click(object sender, EventArgs e)
|
{
|
kh.Checked = true;
|
wl.Checked = false;
|
LoadTree();
|
Display();
|
}
|
|
private void wl_Click(object sender, EventArgs e)
|
{
|
kh.Checked = false;
|
wl.Checked = true;
|
LoadTree();
|
Display();
|
}
|
//窗体加载
|
private void Gy_SMCMaterRelation_Load(object sender, EventArgs e)
|
{
|
lblCaption.Text = ModName;
|
this.Text = ModName;
|
frmCondition = new DBUtility.frmBillQueryCondition_New();
|
LoadTree();
|
oSumGrid.ogrdMain = grdMain; //初始化 new
|
initGrid();
|
InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View;
|
}
|
//退出模块
|
private void tc_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
//刷新
|
private void xs_Click(object sender, EventArgs e)
|
{
|
Display();
|
}
|
//查询
|
private void cx_Click(object sender, EventArgs e)
|
{
|
frmCondition = new DBUtility.frmBillQueryCondition_New();
|
frmCondition.Tag = "";
|
frmCondition.ViewName = ViewName;
|
frmCondition.ModName = this.Name;
|
frmCondition.ShowDialog();
|
if (frmCondition.Tag.ToString() == "OK")
|
{
|
Display();
|
}
|
}
|
//得到对应列
|
private Int32 Fun_GetCol(string sCol)
|
{
|
return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain);
|
}
|
|
//删除项目
|
public void Delete()
|
{
|
//删除权限
|
//if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName))
|
//{
|
// return;
|
//}
|
//
|
if (AllowRow())
|
{
|
if (MessageBox.Show("确定要删除当前项目?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
|
{
|
//得到HITEMID
|
long sItemID;
|
sItemID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[HItemIDCol].Value);
|
//判断存在性
|
if (oMatePrce.ShowBill(sItemID,ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
foreach (Model.ClsGy_SMCMaterRelation_Model oSub in oMatePrce.DetailColl)
|
{
|
if (oSub.HChecker.Trim() != "")
|
{
|
MessageBox.Show("单据已审核!不能删除", "提示");
|
return;
|
}
|
}
|
|
if (oMatePrce.DeleteByID(sItemID))
|
{
|
|
MessageBox.Show("删除项目成功!", "提示");
|
Display();
|
}
|
else
|
MessageBox.Show("删除项目成功!", "提示");
|
}
|
}
|
|
}
|
}
|
|
//树型 单击
|
private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
|
{
|
CurNode = e.Node;
|
if (CurNode != null)
|
{
|
if (CurNode.Nodes.Count == 0)
|
{
|
LoadAllNodes(CurNode);
|
}
|
frmCondition.SqlStr = "";
|
//找到选中结点
|
Display();
|
}
|
|
}
|
|
//删除
|
private void sc_Click(object sender, EventArgs e)
|
{
|
Delete();
|
}
|
//新增按钮
|
private void xz_Click(object sender, EventArgs e)
|
{
|
oFrm = new Gy_SMCMaterRelation();
|
oFrm.ShowDialog();
|
}
|
//修改
|
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.ClsGy_SMCMaterRelation_Ctl oBillMain = new DAL.ClsGy_SMCMaterRelation_Ctl();
|
Model.ClsGy_SMCMaterRelation_Model oBill = new Model.ClsGy_SMCMaterRelation_Model();
|
if (oBillMain.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
oFrm = new Gy_SMCMaterRelation();
|
oFrm.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
|
foreach (Model.ClsGy_SMCMaterRelation_Model oSub in oBillMain.DetailColl)
|
{
|
if (oSub.HChecker.Trim() != "")
|
{
|
oFrm.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
|
}
|
}
|
oBill.HItemID = lngBillKey;
|
oFrm.BillOld = oBill;
|
oFrm.BillNew = oBillMain;
|
oFrm.ShowDialog();
|
if (oFrm.BillChange)
|
{
|
if (MessageBox.Show("单据列表已经发生变化,是否刷新", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
|
{
|
timer1.Enabled = true;
|
}
|
}
|
}
|
else
|
{
|
MessageBox.Show("单据未找到", "提示");
|
}
|
oBill = null;
|
oBillMain = null;
|
}
|
//修改按钮
|
private void xg_Click(object sender, EventArgs e)
|
{
|
Sub_ShowBill();
|
}
|
//选中行是否正常
|
private bool AllowRow()
|
{
|
if (grdMain.CurrentRow.Index >= 0 && grdMain.CurrentRow.Index <= grdMain.RowCount - 1)
|
return true;
|
else
|
return false;
|
}
|
|
//保存列宽
|
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 timer1_Tick(object sender, EventArgs e)
|
{
|
timer1.Enabled = false;
|
Display();
|
}
|
|
//初始化GRID
|
private void initGrid()
|
{
|
DBUtility.Xt_BaseBillFun.initGridRpt(grdMain, this.Name);
|
}
|
|
|
#endregion
|
|
//显示列表
|
private void Display()
|
{
|
SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN();
|
DataSet DSet = new DataSet();
|
string sSql = "";
|
string sWhere = "";
|
string HParentID ="";
|
if (CurNode.Name.Trim().Length == 0)
|
{
|
HParentID ="";
|
}
|
else
|
{
|
char c = Convert.ToChar(spChar);
|
string[] sr;
|
sr = CurNode.Text.Split(c);
|
HParentID = sr[0].ToString();
|
}
|
//过滤条件
|
if (frmCondition.SqlStr.Trim().Length == 0)
|
{
|
if (HParentID == "" || HParentID == "亿日资料" || HParentID == "SMC资料")
|
{
|
sSql = "Select top 10000 * from " + ViewName + " order by " + ModName + "代码";
|
}
|
else
|
{
|
if (wl.Checked == false)
|
{
|
sSql = "Select top 10000 * from " + ViewName + " where SMC代码 like '" + HParentID.ToString() + "%' order by " + ModName + "代码";
|
}
|
else
|
{
|
sSql = "Select top 10000 * from " + ViewName + " where 亿日代码 like '" + HParentID.ToString() + "%' order by " + ModName + "代码";
|
}
|
|
}
|
}
|
else
|
{
|
sSql = frmCondition.SqlStr + sWhere + " order by " + ModName + "代码";
|
}
|
//执行SQL
|
DSet = SubCn.RunProcReturn(sSql, ViewName);
|
//生成首行标题
|
if (DSet == null)
|
{
|
MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo);
|
return;
|
}
|
|
//释放冻结
|
DBUtility.Xt_BaseBillFun.CancelFrozenCol(grdMain);
|
//绑定
|
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);
|
//画线
|
//
|
Total();
|
}
|
|
//合计 new
|
private void Total()
|
{
|
if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0)
|
{
|
oSumGrid.SetGridsum();
|
oSumGrid.Total();
|
}
|
}
|
|
//加载子结点
|
private void LoadAllNodes(TreeNode sNode)
|
{
|
string sBill;
|
if (wl.Checked == true)
|
sBill = "Gy_EasunModel";
|
else
|
sBill = "Gy_SMCModel";
|
if (sNode != null)
|
{
|
try
|
{
|
sNode.Nodes.Clear();
|
DataSet Ds = oCn.RunProcReturn("select hitemid,hnumber,hname from " + sBill + " where HStopflag=0 and HParentID=" + sNode.Name.Trim().Substring(1, sNode.Name.Trim().Length-1) + " order by HNumber ", sBill);
|
for (int i = 0; i < Ds.Tables[0].Rows.Count; i++)
|
{
|
TreeNode oNode = sNode.Nodes.Add("T" + Ds.Tables[0].Rows[i]["HItemID"].ToString(), Ds.Tables[0].Rows[i]["HNumber"].ToString() + spChar + Ds.Tables[0].Rows[i]["HName"].ToString(), 0, 1);
|
}
|
sNode.Expand();
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show("加载子项目失败!" + e.Message, "提示");
|
}
|
}
|
}
|
//加载树形
|
private void LoadTree()
|
{
|
string sItemName;
|
if (wl.Checked == true)
|
{
|
sItemName = "亿日资料";
|
}
|
else
|
{
|
sItemName = "SMC资料";
|
}
|
try
|
{
|
tv.Nodes.Clear();
|
tv.ImageList = imageList1;
|
TreeNode sNode = tv.Nodes.Add("T0", sItemName, 0, 1);
|
LoadAllNodes(sNode);
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show("加载树型失败!" + e.Message, "提示");
|
}
|
}
|
|
private void sh_Click(object sender, EventArgs e)
|
{
|
//审核权限
|
//if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName))
|
//{
|
// return;
|
//}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.SelectedRows.Count == 0)
|
{
|
MessageBox.Show("请至少选择一行!", "提示");
|
return;
|
}
|
for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsGy_SMCMaterRelation_Ctl oItem = new DAL.ClsGy_SMCMaterRelation_Ctl();
|
//审核
|
//查看是否已审核,关闭,作废
|
if (oItem.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
|
}
|
else
|
{
|
MessageBox.Show("项目不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
//审核
|
if (oItem.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
//MessageBox.Show("审核成功!第"+i.ToString()+"行", "提示");
|
}
|
else
|
{
|
MessageBox.Show("审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
MessageBox.Show("审核成功,请刷新!", "提示");
|
return;
|
}
|
|
private void fsh_Click(object sender, EventArgs e)
|
{
|
//审核权限
|
//if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName))
|
//{
|
// return;
|
//}
|
//
|
Int64 lngBillKey = 0;
|
if (grdMain.SelectedRows.Count == 0)
|
{
|
MessageBox.Show("请至少选择一行!", "提示");
|
return;
|
}
|
for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value);
|
if (lngBillKey == 0)
|
return;
|
DAL.ClsGy_SMCMaterRelation_Ctl oItem = new DAL.ClsGy_SMCMaterRelation_Ctl();
|
//审核
|
//查看是否已审核,关闭,作废
|
if (oItem.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
|
}
|
else
|
{
|
MessageBox.Show("项目不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
//审核
|
if (oItem.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
//MessageBox.Show("审核成功!第"+i.ToString()+"行", "提示");
|
}
|
else
|
{
|
MessageBox.Show("反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
MessageBox.Show("反审核成功,请刷新!", "提示");
|
return;
|
}
|
|
private void pg_Click(object sender, EventArgs e)
|
{
|
//审核权限
|
//if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName))
|
//{
|
// return;
|
//}
|
//
|
double sPrice = 0;
|
Int64 lngBillKey = 0;
|
if (grdMain.SelectedRows.Count == 0)
|
{
|
MessageBox.Show("请至少选择一行!", "提示");
|
return;
|
}
|
//
|
//弹出窗体
|
//Gy_SMCMaterRelationDlg oDlg = new Gy_SMCMaterRelationDlg();
|
//oDlg.ShowDialog();
|
//if (oDlg.IsOk != 2)
|
//{
|
// return;
|
//}
|
//sPrice = DBUtility.ClsPub.isDoule(oDlg.textBox1.Text);
|
//
|
DAL.ClsGy_SMCMaterRelation_Ctl oItem = new DAL.ClsGy_SMCMaterRelation_Ctl();
|
for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
|
{
|
lngBillKey = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[HItemIDCol].Value);
|
//
|
if (lngBillKey == 0)
|
continue;
|
//查看是否已审核,关闭,作废
|
if (oItem.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
foreach (Model.ClsGy_SMCMaterRelation_Model oSub in oItem.DetailColl)
|
{
|
if (oSub.HChecker.Trim() != "")
|
{
|
MessageBox.Show("单据已审核!不能批量修改!", "提示");
|
return;
|
}
|
}
|
}
|
else
|
{
|
MessageBox.Show("项目不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
//审核
|
if (oItem.BatchModifyBill(lngBillKey, sPrice, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
//MessageBox.Show("批改成功!第" + i.ToString() + "行", "提示");
|
}
|
else
|
{
|
MessageBox.Show("批改失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
MessageBox.Show("操作完毕,请刷新", "提示");
|
return;
|
}
|
|
private void fz_Click(object sender, EventArgs e)
|
{
|
//审核权限
|
//if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName))
|
//{
|
// return;
|
//}
|
//
|
//Gy_SMCMaterRelationCopy oFrm = new Gy_SMCMaterRelationCopy();
|
//oFrm.ShowDialog();
|
}
|
|
private void yl_Click(object sender, EventArgs e)
|
{
|
DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain);
|
}
|
|
}
|
}
|