|
|
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DevExpress.XtraEditors;
using System.IO; using ICSSoft.Base.Config.AppConfig; using ICSSoft.Base.Config.DBHelper;
namespace ICSSoft.Frame.APP { public partial class FormICSMOPanel : DevExpress.XtraEditors.XtraForm { private string LineCode = ""; private float RefreshTime = 1; public FormICSMOPanel() { InitializeComponent(); this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); this.WindowState = FormWindowState.Maximized;
labTime.Text = DateTime.Now.ToString(); //searchAndView();
timer.Enabled = true; timer.Start();
//grvDetail.Columns["Mo"].Width = 120;
//grvDetail.Columns["ITEM"].Width = 165;
//grvDetail.Columns["TBFlag"].Width = 50;
//grvDetail.Columns["Status"].Width = 95;
grvDetail.RowHeight = 59;
splitContainerControl1.SplitterPosition = 50;
InitAppconfig(); } private void InitAppconfig() { try { using (StreamReader fReader = new StreamReader(AppConfig.BaseServiceFile)) { while (fReader.Peek() > -1) { string value = fReader.ReadLine(); if (!string.IsNullOrEmpty(value)) { AppConfig.BaseServiceUri = value; } } }
object obj = AppConfig.InvokeWebservice(AppConfig.BaseServiceUri, "WebBaseService", "BaseService", "GetMainConnectString", new object[] { });
if (obj != null) { bool flag = AppConfig.CheckDbConnectionState(obj.ToString()); if (flag == true) { AppConfig.FrameConnectString = obj.ToString(); } else { AppConfig.FrameConnectString = ""; } } else { AppConfig.FrameConnectString = ""; } } catch { AppConfig.FrameConnectString = ""; } } //public FormICSOrderBoard(string lineCode, string lineName, float refreshTime)
//{
// InitializeComponent();
// this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
// this.WindowState = FormWindowState.Maximized;
// LineCode = lineCode;
// RefreshTime = refreshTime;
// lblTitle.Text = "线体-" + lineName;
// labTime.Text = DateTime.Now.ToString();
// searchAndView();
// RefreshTimer.Interval = Convert.ToInt32(RefreshTime * 60 * 1000);
// RefreshTimer.Enabled = true;
// RefreshTimer.Start();
// timer.Enabled = true;
// timer.Start();
// grvDetail.Columns["Mo"].Width = 120;
// grvDetail.Columns["ITEM"].Width = 165;
// grvDetail.Columns["TBFlag"].Width = 50;
// grvDetail.Columns["Status"].Width = 95;
// grvDetail.RowHeight = 59;
// splitContainerControl1.SplitterPosition = 50;
//}
/// <summary>
/// 操作权限
/// </summary>
/// <returns></returns>
public DataTable RightOfExute() { DataTable rData = new DataTable(); rData.Columns.Add("BtnName"); rData.Columns.Add("ActionName"); //查看权限(必须有)
DataRow seeRow = rData.NewRow(); seeRow["BtnName"] = "see"; seeRow["ActionName"] = "查看"; rData.Rows.Add(seeRow); DataRow upinvRow = rData.NewRow(); //upinvRow["BtnName"] = btnSelect.Name;
//upinvRow["ActionName"] = btnSelect.Text;
rData.Rows.Add(upinvRow); rData.AcceptChanges(); return rData; } /// <summary>
/// 数据权限
/// </summary>
/// <returns></returns>
public DataTable RightOfData() { DataTable rData = new DataTable(); rData.Columns.Add("BodyName"); rData.Columns.Add("ControlName"); rData.Columns.Add("ControlCaption");
rData.AcceptChanges(); return rData; }
/// <summary>
/// 加载数据
/// </summary>
private void searchAndView() { try { string sqlwhere = ""; if (!string.IsNullOrEmpty(mocode.Text)) {
sqlwhere += " and a.MOCODE like '%"+mocode.Text.Trim()+"%'"; } if (!string.IsNullOrEmpty(invcode.Text)) {
sqlwhere += " and a.ITEMCODE like '%"+invcode.Text.Trim()+"%'"; }
string sql = @"select a.mocode 生产工单号,a.MOSEQ 工单行号,a.ITEMCODE as 产品编码,
B.INVNAME AS 产品名称,B.INVSTD AS 规格型号,A.MOPLANENDDATE 预计开工时间, A.MOPLANENDDATE 预计完工时间,MOPLANQTY AS 工单数量, D.comQTY, CONVERT(NVARCHAR(10),CONVERT(DECIMAL(18,2),CONVERT(DECIMAL,D.comQTY)/CONVERT(DECIMAL,MOPLANQTY))*100)+'%' AS 完成率 from icsMo a left join ICSINVENTORY b on b.INVCODE=a.ITEMCODE left join (select lotno,mocode,moseq from ICSMO2User group by lotno,mocode,moseq) c on c.MOCODE=a.MOCODE and c.MOSEQ=a.MOSEQ left join (select SUM(E.LOTQTY) AS comQTY,E.TRANSNO,E.TransLine from (select lotno,max(opseq) as opseq from ICSITEMROUTE2OPLot group by lotno)c inner join ICSLOTONWIP d on d.LOTNO=c.LOTNO and d.OPCODE=(select OPCODE from ICSITEMROUTE2OPLot where lotno=c.LOTNO and OPSEQ=c.opseq) inner join ICSLOTONWIPCheck f on f.ONWIPID=d.ID inner join ICSITEMLot e on e.LotNO=c.LotNo where f.Result='合格' GROUP BY E.TRANSNO,E.TransLine )D ON D.TransNO=A.MOCODE AND D.TransLine=A.MOSEQ WHERE A.MOSTATUS='下发'";
sql += sqlwhere; DataTable table = DBHelper.ExecuteDataset(AppConfig.AppConnectString,CommandType.Text,sql).Tables[0]; grdAll.DataSource = table; grvDetail.BestFitColumns(); } catch (Exception ex) { MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) { if (e.RowHandle < 0) return; e.Info.DisplayText = (e.RowHandle + 1).ToString(); }
private void btnClose_Click(object sender, EventArgs e) { RefreshTimer.Enabled = false; RefreshTimer.Stop(); timer.Enabled = false; timer.Stop(); //this.DialogResult = DialogResult.Cancel;
AppConfig.CloseFormShow(this.Text); this.Close(); }
private void RefreshTimer_Tick(object sender, EventArgs e) { searchAndView(); }
private void timer_Tick(object sender, EventArgs e) { labTime.Text = DateTime.Now.ToString(); } private void grvDetail_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e) { //if (e.RowHandle < 0)
// return;
//if (e.Column == colStatus)
//{
// string state = grvDetail.GetRowCellValue(e.RowHandle, colStatus).ToString();
// if (state == "运行")
// {
// e.Appearance.BackColor = Color.Green;
// }
//}
}
#region 查询
private void btnSearch_Click(object sender, EventArgs e) { searchAndView(); } #endregion
private void FormICSOrderBoard_Load(object sender, EventArgs e) { try {
string sql = @"select a.mocode 生产工单号,a.MOSEQ 工单行号,a.ITEMCODE as 产品编码,
B.INVNAME AS 产品名称,B.INVSTD AS 规格型号,A.MOPLANSTARTDATE 预计开工时间, A.MOPLANENDDATE 预计完工时间,MOPLANQTY AS 工单数量, D.comQTY, CONVERT(NVARCHAR(10),CONVERT(DECIMAL(18,2),CONVERT(DECIMAL,D.comQTY)/CONVERT(DECIMAL,MOPLANQTY))*100)+'%' AS 完成率, case when CONVERT(NVARCHAR(10),CONVERT(DECIMAL(18,2),CONVERT(DECIMAL,D.comQTY)/CONVERT(DECIMAL,MOPLANQTY))*100)+'%'='100.00%' then e.mtime else null end as 实际完工时间 from icsMo a left join ICSINVENTORY b on b.INVCODE=a.ITEMCODE --left join (select lotno,mocode,moseq from ICSMO2User group by lotno,mocode,moseq) c on c.MOCODE=a.MOCODE and c.MOSEQ=a.MOSEQ left join (select SUM(E.LOTQTY) AS comQTY,E.TRANSNO,E.TransLine from (select lotno,max(opseq) as opseq from ICSITEMROUTE2OPLot group by lotno)c inner join ICSLOTONWIP d on d.LOTNO=c.LOTNO and d.OPCODE=(select OPCODE from ICSITEMROUTE2OPLot where lotno=c.LOTNO and OPSEQ=c.opseq) inner join ICSLOTONWIPCheck f on f.ONWIPID=d.ID inner join ICSITEMLot e on e.LotNO=c.LotNo where f.Result='合格' GROUP BY E.TRANSNO,E.TransLine )D ON D.TransNO=A.MOCODE AND D.TransLine=A.MOSEQ left join ( select MAX(MTIME) as mtime,TransNO,TransLine from ( select a.lotno,b.OPCODE,d.Result,d.MTIME,a.TransNO,a.TransLine from ICSITEMLot a left join ICSLOTONWIP b on a.LotNO=b.LOTNO left join ICSITEMROUTE2OPLot c on c.LotNo=a.LotNO and c.OPCODE=b.OPCODE left join ICSLOTONWIPCheck d on d.ONWIPID=b.ID)a group by TransNO,TransLine) e on e.TransNO=a.MOCODE and e.TransLine=a.MOSEQ WHERE A.MOSTATUS='下发' ";
DataTable table = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; grdAll.DataSource = table; grvDetail.BestFitColumns(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void lblTitle_Click(object sender, EventArgs e) { if (this.FormBorderStyle == FormBorderStyle.None) this.FormBorderStyle = FormBorderStyle.FixedSingle; else this.FormBorderStyle = FormBorderStyle.None; }
} }
|