using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Text;
|
using System.Windows.Forms;
|
using gregn6Lib;
|
using SQLHelper;
|
using DBUtility;
|
|
namespace PlanM
|
{
|
public partial class Sc_ProductionLineList : Form
|
{
|
public Sc_ProductionLineList()
|
{
|
InitializeComponent();
|
}
|
public DBUtility.frmBillQueryCondition_New frmCondition;
|
public string ViewName = "h_v_Sc_ProductionLineList";
|
public string ModCaption = "产线MES系统";
|
public const string ModName = "生产资源";
|
const string BillName = "Gy_Source";
|
public const string ModRightName = "Sc_ProductionLine";
|
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_WorkStopBill oBill = new DAL.ClsSc_WorkStopBill();
|
//public Sc_WorkStopBill oFrm;
|
Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
|
TreeNode CurNode = new TreeNode();
|
public string sCondition; //过滤条件
|
public string HStatus = "";
|
//
|
private void initGrid()
|
{
|
DBUtility.Xt_BaseBillFun.initGridList(grdMain,this.Name);
|
}
|
//
|
|
private void Display()
|
{
|
ClsCN SubCn = new ClsCN();
|
DataSet DSet;
|
string sSql = "";
|
string sWhere = "";
|
//过滤条件
|
if (ClsPub.isLong(txtHWorkShopID.Tag) != 0)
|
{
|
sWhere = " and 日期<'" + dtpHDate.Text + "' and HDeptID=" + ClsPub.isLong(txtHWorkShopID.Tag);
|
}
|
else
|
{
|
sWhere = " and 日期<'" + dtpHDate.Text + "' ";
|
}
|
//
|
//过滤条件
|
//if (DBUtility.ClsPub.isStrNull(sCondition) == "" && frmCondition.SqlStr.Trim().Length != 0)
|
//{
|
// sSql = frmCondition.SqlStr + sWhere + HStatus + " order by 任务单号 desc ";
|
//}
|
//else
|
if (DBUtility.ClsPub.isStrNull(sCondition) != "")
|
{
|
sSql = "Select * from " + ViewName + sCondition + sWhere + HStatus + " order by 日期 ";
|
}
|
else
|
{
|
sSql = "Select * from " + ViewName + " where 1=1 " + sWhere + HStatus + " order by 日期 ";
|
}
|
//
|
DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
|
//生成首行标题
|
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);
|
//画线
|
GraphLine();
|
|
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)
|
{
|
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;
|
ClsCN oCn = new ClsCN();
|
string HType = "";
|
HType = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value);
|
if (HType == "生产中")
|
{
|
oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HEndDate=GETDATE(),HICMOStatus=3 where HInterID= " + lngBillKey);
|
grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value = "已完工";
|
}
|
else if (HType == "已完工")
|
{
|
MessageBox.Show("此任务已完工,不允许重复完工!");
|
}
|
else if (HType == "待开工")
|
{
|
MessageBox.Show("此任务未开工,不允许完工!");
|
}
|
else if (HType == "挂起中")
|
{
|
MessageBox.Show("此任务挂起中,不允许完工!");
|
}
|
}
|
//显示单据
|
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;
|
//Kanban.Sc_ProductionLineKB oKB = new Kanban.Sc_ProductionLineKB();
|
//oKB.lblJHH.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("任务单号")].Value);
|
//oKB.lblGGXH.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("规格型号")].Value);
|
//oKB.lblMBS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("当日计划")].Value);
|
//oKB.lblZJHS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("计划数量")].Value);
|
//oKB.lblZBLS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("不良数量")].Value);
|
//oKB.lblBZ.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("备注")].Value);
|
//oKB.lblCP.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("物料名称")].Value);
|
//oKB.lblSJS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("当日完工")].Value);
|
//oKB.lblLJS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("汇报数量")].Value);
|
//oKB.lblZBLL.Text =DBUtility.ClsPub.isStrNull( DBUtility.ClsPub.isDoule(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("不良数量")].Value) / DBUtility.ClsPub.isDoule(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("汇报数量")].Value));
|
//oKB.ShowDialog();
|
}
|
//
|
private Int32 Fun_GetCol(string sCol)
|
{
|
return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain);
|
}
|
//
|
private void Sc_ProductionLineList_Load(object sender, EventArgs e)
|
{
|
//
|
frmCondition = new frmBillQueryCondition_New();
|
LoadTree();
|
this.Text = ModCaption;
|
lblCaption.Text = ModCaption;
|
oSumGrid.ogrdMain = grdMain; //初始化 new
|
oSumGrid.oGridsum = grdSum;
|
initGrid();
|
}
|
|
private void grdMain_DblClick(object sender, EventArgs e)
|
{
|
Sub_ShowBill();
|
}
|
|
private void cx_Click(object sender, EventArgs e)
|
{
|
frmCondition = new frmBillQueryCondition_New();
|
SetCondition(frmCondition, ViewName, this.Name);
|
frmCondition.ShowDialog();
|
if (frmCondition.Tag.ToString() == "OK")
|
{
|
Display();
|
}
|
}
|
|
public void SetCondition(frmBillQueryCondition_New frmCondition, string ViewName, string Name)
|
{
|
frmCondition.Tag = "";
|
frmCondition.ViewName = ViewName;
|
frmCondition.ModName = Name;
|
}
|
|
private void xz_Click(object sender, EventArgs e)
|
{
|
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;
|
ClsCN oCn = new ClsCN();
|
string HType = "";
|
HType = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value);
|
if (HType == "生产中")
|
{
|
MessageBox.Show("此任务已经处于生产中,不允许重复开工!");
|
}
|
else if (HType == "已完工")
|
{
|
MessageBox.Show("此任务已完工,不允许开工!");
|
}
|
else if (HType == "待开工")
|
{
|
oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HBeginDate=GETDATE(),HICMOStatus=1 where HInterID= " + lngBillKey);
|
grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value = "生产中";
|
}
|
else if (HType == "挂起中")
|
{
|
oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HBeginDate=GETDATE(),HICMOStatus=1 where HInterID= " + lngBillKey);
|
oCn.RunProc("update a set a.HEndDate=getdate() from (select top 1 * from Sc_ICMOPauseBillMain a where HSourceInterID=" + lngBillKey + " order by HInterID desc) as a");
|
grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value = "生产中";
|
}
|
}
|
|
private void sc_Click(object sender, EventArgs e)
|
{
|
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;
|
string HType = "";
|
HType = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value);
|
if (HType == "生产中")
|
{
|
Sc_MESHang oSc_MESHang = new Sc_MESHang();
|
oSc_MESHang.txtHICMOBillNo.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("任务单号")].Value);
|
oSc_MESHang.HSourceInterID = lngBillKey;
|
oSc_MESHang.txtHSplitNO.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("拆分号")].Value);
|
oSc_MESHang.ShowDialog();
|
grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value = "挂起中";
|
}
|
else if (HType == "已完工")
|
{
|
MessageBox.Show("此任务已完工,不允许挂起!");
|
}
|
else if (HType == "待开工")
|
{
|
MessageBox.Show("此任务未开工,不允许挂起!");
|
}
|
else if (HType == "挂起中")
|
{
|
MessageBox.Show("此任务挂起中,不允许重复挂起!");
|
}
|
}
|
|
private void timer2_Tick(object sender, EventArgs e)
|
{
|
timer2.Enabled = false;
|
//frmCondition = new frmBillQueryCondition_New();
|
//SetCondition(frmCondition, ViewName, this.Name);
|
//frmCondition.ShowDialog();
|
//if (frmCondition.Tag.ToString() == "OK")
|
//{
|
timer1.Enabled = true;
|
//}
|
}
|
|
|
|
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()
|
{
|
int MainIDCol = Fun_GetCol("hmainid");
|
int SubIDCol = Fun_GetCol("hsubid");
|
string s = frmCondition.cmbHComplete.Text;
|
long n=0;
|
DBUtility.Xt_BaseBillFun.GraphLine(grdMain, MainIDCol, SubIDCol, s,ref n);
|
//显示
|
lbldj.Text = "查询出 " + n.ToString() + " 张单据";
|
lbljl.Text = "共有 " + grdMain.RowCount.ToString() + " 条记录";
|
}
|
//审核
|
private void sh_Click(object sender, EventArgs e)
|
{
|
|
}
|
//反审核
|
private void qsh_Click(object sender, EventArgs e)
|
{
|
|
}
|
|
private void GraphicsGrid()
|
{
|
DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain);
|
}
|
|
#region //打印设置
|
|
GridppReport Report;
|
//预览
|
private void yl_Click(object sender, EventArgs e)
|
{
|
//选择打印模板
|
BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
|
oFrm.sBillName = ModName;
|
oFrm.sBillModel = ModCaption;
|
oFrm.ShowDialog();
|
if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
|
{
|
//
|
Sub_SetReport(oFrm.sOpenTmp);
|
Report.PrintPreview(true);
|
}
|
}
|
|
private void Sub_SetReport(string sOpenTmp)
|
{
|
//判断行数
|
//
|
Report = new GridppReport();
|
Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf"); //here .
|
Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable);
|
}
|
|
private void ReportFetchRecordByDataTable()
|
{
|
try
|
{
|
BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, Fun_GetCol("HMaterID"));
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show("打印失败!:" + e.Message);
|
}
|
}
|
|
#endregion
|
//
|
private void grdMain_Paint(object sender, PaintEventArgs e)
|
{
|
GraphicsGrid();
|
}
|
|
//合计 new
|
private void Total()
|
{
|
if (grdMain.Rows.Count > 0 && grdMain.ColumnCount>0)
|
{
|
oSumGrid.SetGridsum();
|
oSumGrid.Total();
|
}
|
}
|
//合计 new
|
private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
|
{
|
Total();
|
}
|
//合计 new
|
private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
|
{
|
Total();
|
}
|
//引出EXCEL
|
private void dc_Click(object sender, EventArgs e)
|
{
|
DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain);
|
}
|
|
private void cmdHWorkShopID_Click(object sender, EventArgs e)
|
{
|
DAL.ClsGy_Department_View oDept = new DAL.ClsGy_Department_View();
|
if (oDept.RefreshView())
|
{
|
this.txtHWorkShopID.Text = oDept.oModel.HName;
|
this.txtHWorkShopID.Tag = oDept.oModel.HItemID.ToString();
|
}
|
else
|
{
|
this.txtHWorkShopID.Text = "";
|
}
|
}
|
|
private void txtHWorkShopID_TextChanged(object sender, EventArgs e)
|
{
|
if (txtHWorkShopID.Text.Trim() == "")
|
{
|
txtHWorkShopID.Tag = "0";
|
}
|
}
|
|
private void LoadAllNodes(TreeNode sNode) //Lock
|
{
|
DBUtility.Gy_BaseFun.LoadAllNodes(sNode, BillName);
|
}
|
private void LoadTree()//Lock
|
{
|
DBUtility.Gy_BaseFun.LoadTree(tv, imageList1, ModName, BillName);
|
}
|
|
//树型 单击
|
private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
|
{
|
CurNode = e.Node;
|
if (CurNode != null)
|
{
|
if (CurNode.Nodes.Count == 0)
|
LoadAllNodes(CurNode);
|
//找到选中结点
|
FindRow(CurNode.Text);
|
}
|
}
|
//过滤资料
|
private void FindRow(string sCode)//Lock
|
{
|
DBUtility.Gy_BaseFun.FindRow(sCode, ModName, ref sCondition);
|
Display();
|
}
|
|
private void button1_Click(object sender, EventArgs e)
|
{
|
HStatus = " and 状态='待开工' ";
|
Display();
|
}
|
|
private void button2_Click(object sender, EventArgs e)
|
{
|
HStatus = " and 状态='生产中' ";
|
Display();
|
}
|
|
private void button3_Click(object sender, EventArgs e)
|
{
|
HStatus = " and 状态='已完工' ";
|
Display();
|
}
|
|
private void button4_Click(object sender, EventArgs e)
|
{
|
HStatus = " and 状态='挂起中' ";
|
Display();
|
}
|
|
private void button5_Click(object sender, EventArgs e)
|
{
|
HStatus = "";
|
Display();
|
}
|
|
|
|
}
|
}
|