You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1985 lines
89 KiB
1985 lines
89 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Data.Linq;
|
|
using System.Linq;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using DevExpress.XtraEditors;
|
|
using DevExpress.XtraGrid.Views.BandedGrid;
|
|
using DevExpress.XtraGrid.Columns;
|
|
using DevExpress.XtraGrid;
|
|
using System.IO;
|
|
using System.Threading;
|
|
using ICSSoft.Base.Language.Tool;
|
|
using ICSSoft.Base.Config.AppConfig;
|
|
using ICSSoft.Base.UserControl.MessageControl;
|
|
using ICSSoft.Base.Config.DBHelper;
|
|
using ICSSoft.Base.Report.Filter;
|
|
using ICSSoft.Base.UserControl.FormControl;
|
|
using ICSSoft.Base.Report.GridReport;
|
|
using ICSSoft.Base.ReferForm.AppReferForm;
|
|
using ICSSoft.Frame.Data.BLL;
|
|
using Newtonsoft.Json;
|
|
using System.Net;
|
|
using System.Configuration;
|
|
using ICSSoft.Entity.PU_AppVouch;
|
|
using ICSSoft.Frame.Data.Entity.WWModel;
|
|
using ICSSoft.Frame.Data.DAL;
|
|
using ICSSoft.Frame.Data.Entity;
|
|
using ICSSoft.Base.Lable.PrintTool;
|
|
|
|
|
|
namespace ICSSoft.Frame.APP
|
|
{
|
|
public partial class FormICSMO : DevExpress.XtraEditors.XtraForm
|
|
{
|
|
private string sqltxt = "";
|
|
private string sqlconn = "";
|
|
String guid = AppConfig.GetGuid();
|
|
private DataTable dataSource = null;
|
|
|
|
static string APIURL = System.Configuration.ConfigurationSettings.AppSettings["APIURL"].ToString();
|
|
static string DataCollectWW = APIURL + "APICreatePR";
|
|
//static string DataCollectWW = "http://localhost:51182/api/"+ "APICreatePR";
|
|
private DataSet ds = new DataSet();
|
|
private DataTable body = null;
|
|
#region 构造函数
|
|
public FormICSMO()
|
|
{
|
|
InitializeComponent();
|
|
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
|
|
this.WindowState = FormWindowState.Maximized;
|
|
|
|
foreach (DevExpress.XtraGrid.Columns.GridColumn col in grvDetail.Columns)
|
|
{
|
|
if (col.Name == "picturesee")
|
|
{
|
|
col.OptionsColumn.ReadOnly = false;
|
|
}
|
|
else
|
|
col.OptionsColumn.ReadOnly = true;
|
|
|
|
col.OptionsColumn.AllowEdit = true;
|
|
if (col.Name == "colisSelect")
|
|
col.OptionsColumn.AllowEdit = false;
|
|
// col.OptionsColumn.ReadOnly = true;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 操作权限
|
|
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);
|
|
|
|
List<Control> ControlList = new List<Control>();
|
|
ControlList.Add(btnCreatePR);
|
|
ControlList.Add(btnModify);
|
|
ControlList.Add(btnDel);
|
|
ControlList.Add(btnOutPut);
|
|
ControlList.Add(BtnCancelCloseMO);
|
|
ControlList.Add(btnCancelAll);
|
|
ControlList.Add(btnRefresh);
|
|
ControlList.Add(txtsend);
|
|
ControlList.Add(txtcancelSend);
|
|
ControlList.Add(btnBatch);
|
|
ControlList.Add(btnExit);
|
|
ControlList.Add(txtstop);
|
|
ControlList.Add(txtcancelStop);
|
|
ControlList.Add(txtcloseDan);
|
|
ControlList.Add(btnLot1);
|
|
ControlList.Add(btnprint);
|
|
|
|
foreach (Control ctr in ControlList)
|
|
{
|
|
|
|
if (ctr.GetType() == typeof(SimpleButton))
|
|
{
|
|
DataRow dr = rData.NewRow();
|
|
dr["BtnName"] = ctr.Name;
|
|
dr["ActionName"] = ctr.Text;
|
|
rData.Rows.Add(dr);
|
|
}
|
|
}
|
|
|
|
rData.AcceptChanges();
|
|
return rData;
|
|
}
|
|
public DataTable RightOfData()// 数据权限
|
|
{
|
|
DataTable rData = new DataTable();
|
|
rData.Columns.Add("BodyName");
|
|
rData.Columns.Add("ControlName");
|
|
rData.Columns.Add("ControlCaption");
|
|
|
|
rData.AcceptChanges();
|
|
return rData;
|
|
}
|
|
#endregion
|
|
|
|
#region 退出
|
|
private void btnClose_Click(object sender, EventArgs e)
|
|
{
|
|
AppConfig.CloseFormShow(this.Text);
|
|
this.Close();
|
|
}
|
|
private void btnExit_Click(object sender, EventArgs e)
|
|
{
|
|
AppConfig.CloseFormShow(this.Text);
|
|
this.Close();
|
|
}
|
|
#endregion
|
|
|
|
#region 移动窗体
|
|
private const int WM_NCHITTEST = 0x84;
|
|
private const int HTCLIENT = 0x1;
|
|
private const int HTCAPTION = 0x2;
|
|
//首先必须了解Windows的消息传递机制,当有鼠标活动消息时,
|
|
//系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。 nchittest
|
|
//假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,
|
|
//同样地,若接受到的消息是 HTCLIENT,说明用户点击的是客户区,也就是鼠标消息发生在客户区。
|
|
|
|
//重写窗体,使窗体可以不通过自带标题栏实现移动
|
|
protected override void WndProc(ref Message m)
|
|
{
|
|
|
|
|
|
//当重载窗体的 WndProc 方法时,可以截获 WM_NCHITTEST 消息并改些该消息,
|
|
//当判断鼠标事件发生在客户区时,改写改消息,发送 HTCAPTION 给窗体,
|
|
//这样,窗体收到的消息就时 HTCAPTION ,在客户区通过鼠标来拖动窗体就如同通过标题栏来拖动一样。
|
|
//注意:当你重载 WndProc 并改写鼠标事件后,整个窗体的鼠标事件也就随之改变了。
|
|
switch (m.Msg)
|
|
{
|
|
case WM_NCHITTEST:
|
|
base.WndProc(ref m);
|
|
if ((int)m.Result == HTCLIENT)
|
|
m.Result = (IntPtr)HTCAPTION;
|
|
return;
|
|
}
|
|
//拦截双击标题栏、移动窗体的系统消息
|
|
if (m.Msg != 0xA3)
|
|
{
|
|
base.WndProc(ref m);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 列表
|
|
private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
|
|
{
|
|
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
|
|
e.Info.DisplayText = (e.RowHandle + 1).ToString();
|
|
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 过滤
|
|
private string tempTableName = "";
|
|
private void btnFilter_Click(object sender, EventArgs e)
|
|
{
|
|
FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name));
|
|
filter.OldTempTableName = tempTableName;
|
|
if (filter.ShowDialog() == DialogResult.OK)
|
|
{
|
|
DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等...");
|
|
try
|
|
{
|
|
_wait.Show();
|
|
tempTableName = filter.NewTempTableName;
|
|
sqltxt = filter.SqlText;
|
|
sqlconn = filter.FilterConnectString;
|
|
dataSource = filter.FilterData.Tables[0];
|
|
grdDetail.DataSource = dataSource;
|
|
grvDetail.BestFitColumns();
|
|
rptPage.RecordNum = dataSource.Rows.Count;
|
|
rptPage.PageSize = 499;
|
|
rptPage.PageIndex = 1;
|
|
rptPage.ReLoad();
|
|
rptPage.PageSize = 500;
|
|
rptPage.PageIndex = 1;
|
|
rptPage.ReLoad();
|
|
_wait.Close();
|
|
|
|
//_wait.Show();
|
|
//ds.Reset();
|
|
//dataSource = null;
|
|
//body = null;
|
|
//tempTableName = filter.NewTempTableName;
|
|
//sqltxt = filter.SqlText;
|
|
//sqlconn = filter.FilterConnectString;
|
|
//dataSource = filter.FilterData.Tables[0].Copy();
|
|
//dataSource.TableName = "Hand";
|
|
//ds.Tables.Add(dataSource);
|
|
//body = ICSMOBLL.GetMOBOM(sqltxt).Copy();
|
|
//body.TableName = "Body";
|
|
//ds.Tables.Add(body);
|
|
//DataRelation dr = new DataRelation("子件资料", new DataColumn[] { ds.Tables["Hand"].Columns["MOCODE"], ds.Tables["Hand"].Columns["MOSEQ"] }, new DataColumn[] { ds.Tables["Body"].Columns["MOCODE"], ds.Tables["Body"].Columns["SEQ"] });
|
|
//ds.Relations.Add(dr);
|
|
|
|
//grdDetail.DataSource = ds.Tables["Hand"];
|
|
//grvDetail.BestFitColumns();
|
|
//rptPage.RecordNum = dataSource.Rows.Count;
|
|
//rptPage.PageSize = 499;
|
|
//rptPage.PageIndex = 1;
|
|
//rptPage.ReLoad();
|
|
//rptPage.PageSize = 500;
|
|
//rptPage.PageIndex = 1;
|
|
////rptPage.ReLoad();
|
|
//_wait.Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
_wait.Close();
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 绑定数据源
|
|
private void btnConfig_Click(object sender, EventArgs e)
|
|
{
|
|
if (AppConfig.UserCode.ToLower() != "demo")
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("您没有权限设置数据源,请联系软件提供商!");
|
|
return;
|
|
}
|
|
FormDataSource fdata = new FormDataSource(AppConfig.GetMenuId(this.Tag.ToString()), btnConfig.Name);
|
|
fdata.ShowDialog();
|
|
}
|
|
#endregion
|
|
|
|
#region 分页
|
|
private void rptPage_PageIndexChanged(object Sender, EventArgs e)
|
|
{
|
|
|
|
DataTable data = AppConfig.GetPageData(dataSource, rptPage.PageIndex, rptPage.PageSize).Copy();
|
|
//DataTable data = AppConfig.GetPageDataByDb(tempTableName, "pagerowindex", rptPage.PageSize, rptPage.PageIndex, dataSource.Rows.Count);
|
|
grdDetail.DataSource = data;
|
|
}
|
|
#endregion
|
|
|
|
#region 过滤方法
|
|
private void FormContainerManager_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
AppConfig.DropTemTable(tempTableName);
|
|
}
|
|
#endregion
|
|
|
|
#region 全选
|
|
private void btnSelectAll_Click(object sender, EventArgs e)
|
|
{
|
|
grvDetail.PostEditor();
|
|
this.Validate();
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
grvDetail.SetRowCellValue(i, colisSelect, "Y");
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 全消
|
|
private void btnCancelAll_Click(object sender, EventArgs e)
|
|
{
|
|
grvDetail.PostEditor();
|
|
this.Validate();
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
grvDetail.SetRowCellValue(i, colisSelect, "");
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 双击
|
|
private void grvDetail_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
if (grvDetail.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
if (grvDetail.FocusedColumn == colisSelect)
|
|
{
|
|
if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisSelect).ToString() == "")
|
|
{
|
|
grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "Y");
|
|
}
|
|
else
|
|
{
|
|
grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "");
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 批次删除
|
|
private void btnDel_Click(object sender, EventArgs e)
|
|
{
|
|
#region
|
|
//SimpleButton btntemp = (SimpleButton)sender;
|
|
//if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
// return;
|
|
//}
|
|
|
|
//List<string> moidList = new List<string>();
|
|
//for (int i = 0; i < grvDetail.RowCount; i++)
|
|
//{
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
|
|
// string moid;
|
|
// if (grvDetail.GetRowCellValue(i, colMOTYPE).ToString() == "1")
|
|
// {
|
|
// moidList.Add(grvDetail.GetRowCellValue(i, colID).ToString());
|
|
// }
|
|
// else
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("非返程工单,不能删除!!!");
|
|
// return;
|
|
// }
|
|
// }
|
|
//}
|
|
//if (moidList.Count == 0 || moidList == null)
|
|
//{
|
|
|
|
// ICSBaseSimpleCode.AppshowMessageBox("请选择数据");
|
|
// return;
|
|
|
|
//}
|
|
//if (ICSBaseSimpleCode.AppshowMessageBoxRepose("确定删除工单吗?删除后无法恢复,确定吗?") != DialogResult.OK)
|
|
//{
|
|
// btnCancelAll_Click(sender, e);
|
|
// return;
|
|
//}
|
|
|
|
//try
|
|
//{
|
|
|
|
// ICSMOBLL.deleteInfo(moidList, AppConfig.AppConnectString);
|
|
// ICSBaseSimpleCode.AppshowMessageBox("删除成功");
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
//}
|
|
//btnRefresh_Click(null, null);
|
|
#endregion
|
|
//批次删除
|
|
if (ICSBaseSimpleCode.AppshowMessageBoxRepose("确认删除批次信息吗?删除后无法恢复!")==DialogResult.OK) {
|
|
int count = 0;
|
|
List<ICSMO> list = new List<ICSMO>();
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
|
|
if (grvDetail.GetRowCellValue(i, colisSelect) == "Y") {
|
|
count++;
|
|
string mocode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
string moseq = grvDetail.GetRowCellValue(i, colMOSEQ).ToString();
|
|
string status = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
|
|
if (ICSMO2LotBLL.IsKG(grvDetail.GetRowCellValue(i, colMOCODE).ToString(), grvDetail.GetRowCellValue(i, colMOSEQ).ToString()))
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("工单: " + grvDetail.GetRowCellValue(i, colMOCODE).ToString() + " 已开工,无法删除批次!");
|
|
return;
|
|
}
|
|
if (ICSMO2LotBLL.IsPG(grvDetail.GetRowCellValue(i, colMOCODE).ToString(), grvDetail.GetRowCellValue(i, colMOSEQ).ToString()))
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("工单: " + grvDetail.GetRowCellValue(i, colMOCODE).ToString() + " 已派工,请先取消派工!");
|
|
return;
|
|
}
|
|
ICSMO mo = new ICSMO();
|
|
mo.MOCODE = mocode;
|
|
mo.MOSEQ = moseq;
|
|
list.Add(mo);
|
|
}
|
|
}
|
|
if (count <= 0) {
|
|
ICSBaseSimpleCode.AppshowMessageBox("请选择要删除批次信息的工单!");
|
|
}
|
|
try
|
|
{
|
|
ICSMOBLL.DeleteLotno(list);
|
|
ICSBaseSimpleCode.AppshowMessageBox("删除成功!");
|
|
|
|
}
|
|
catch (Exception ex) {
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 导出
|
|
private void btnOutPut_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
FormOutExcel foe = new FormOutExcel(this.Tag.ToString(), grdDetail);
|
|
foe.ShowDialog();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
//FormOutExcel foe = new FormOutExcel();
|
|
//if (foe.ShowDialog() == DialogResult.OK)
|
|
//{
|
|
// try
|
|
// {
|
|
// string outtype = foe._OutType;
|
|
// string exceltype = foe._ExcelType;
|
|
// string filename = foe._FileName;
|
|
// string url = foe._Url;
|
|
// string sheetname = foe._SheetName;
|
|
// if (outtype.ToLower() == "excel")
|
|
// {
|
|
// DevExpress.XtraPrinting.XlsExportOptions op = new DevExpress.XtraPrinting.XlsExportOptions();
|
|
// op.SheetName = sheetname;
|
|
// grdDetail.MainView.ExportToXls((url + "\\" + filename + (exceltype == "2003" ? ".xls" : ".xlsx")), op);
|
|
// }
|
|
// else
|
|
// {
|
|
// grdDetail.MainView.ExportToPdf(url + "\\" + filename + ".pdf");
|
|
// }
|
|
// MessageBox.Show("导出成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
// }
|
|
//}
|
|
}
|
|
#endregion
|
|
|
|
#region 刷新
|
|
private void btnRefresh_Click(object sender, EventArgs e)
|
|
{
|
|
DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等...");
|
|
try
|
|
{
|
|
_wait.Show();
|
|
FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name), false);
|
|
filter.OldTempTableName = tempTableName;
|
|
//tempTableName = filter.NewTempTableName;
|
|
//DataTable data = DBHelper.ExecuteDataset(AppConfig.FrameConnectString, CommandType.Text, "select * from " + tempTableName).Tables[0];
|
|
if (!string.IsNullOrWhiteSpace(sqlconn))
|
|
{
|
|
dataSource = DBHelper.ExecuteDataset(sqlconn, CommandType.Text, sqltxt).Tables[0];
|
|
grdDetail.DataSource = dataSource;
|
|
grvDetail.BestFitColumns();
|
|
rptPage.RecordNum = dataSource.Rows.Count;
|
|
rptPage.PageIndex = 1;
|
|
rptPage.ReLoad();
|
|
}
|
|
_wait.Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
_wait.Close();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 新增
|
|
private void btnCreate_Click(object sender, EventArgs e)
|
|
{
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
|
|
try
|
|
{
|
|
if (ICSBaseSimpleCode.AppshowMessageBoxRepose("确定产生委外请购单吗?") != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在创建...请稍等...");
|
|
try
|
|
{
|
|
_wait.Show();
|
|
bool isright = true;
|
|
List<PU_AppVouch> listcontextWW = new List<PU_AppVouch>();
|
|
List<PU_AppVouchs> contextsWWList = new List<PU_AppVouchs>();
|
|
PU_AppVouch contextWW = new PU_AppVouch();
|
|
contextWW.UserCode = AppConfig.UserCode;
|
|
contextWW.UserName = AppConfig.UserName;
|
|
//contextWW.TargetAccount =AppConfig.GetDataBaseNameByConnectString(AppConfig.GetDataBaseConnectStringByKey("[]"));
|
|
contextWW.TargetAccount = ConfigurationManager.AppSettings["TargetAccountU8"];
|
|
List<string> dept = new List<string>();
|
|
string sqladdress = "select '['+DBIPADDRESS+']'+'.'+DBNAME as address from Sys_DataBase where dbsourcename='ERP'";
|
|
string ipaddress = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sqladdress).Tables[0].Rows[0]["address"].ToString();
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
#region MyRegion
|
|
|
|
//工单工号
|
|
string MOCode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
string MCODE = grvDetail.GetRowCellValue(i, colITEMCODE).ToString();
|
|
string MOSEQ = grvDetail.GetRowCellValue(i, colMOSEQ).ToString();
|
|
string MOSTATUS = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
|
|
string ItemName = grvDetail.GetRowCellValue(i, colITEMNAME).ToString();
|
|
string MOPLANQTY = grvDetail.GetRowCellValue(i, colMOPLANQTY).ToString();
|
|
string MOPLANENDDATE = grvDetail.GetRowCellValue(i, colMOPLANENDDATE).ToString();
|
|
string deptname = grvDetail.GetRowCellValue(i, colcDepName).ToString();
|
|
if (!dept.Contains(deptname)) {
|
|
dept.Add(deptname);
|
|
}
|
|
if (dept.Count > 1) {
|
|
ICSBaseSimpleCode.AppshowMessageBox("请选择相同部门的工单行!");
|
|
return;
|
|
}
|
|
|
|
string U8Sql = @"SELECT COUNT( c.IssQty)
|
|
FROM "+ipaddress+ @".dbo.mom_order a
|
|
INNER JOIN " + ipaddress + @".dbo.mom_orderdetail b ON a.MoId = b.MoId
|
|
INNER JOIN " + ipaddress + @".dbo.mom_moallocate c ON b.MoDId = c.MoDId
|
|
WHERE a.MoCode = '" + MOCode + "' and b.SortSeq='" + MOSEQ + "' and c.IssQty>0";
|
|
|
|
DataTable U8Dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, U8Sql).Tables[0];
|
|
if (U8Dt != null && U8Dt.Rows.Count > 0)
|
|
{
|
|
string IssQty = U8Dt.Rows[0][0].ToString();
|
|
int _IssQty = 0;
|
|
if (string.IsNullOrWhiteSpace(IssQty))
|
|
{
|
|
_IssQty = Int32.Parse(IssQty);
|
|
if (_IssQty > 0)
|
|
{
|
|
_wait.Close();
|
|
ICSBaseSimpleCode.AppshowMessageBox("工单:" + MOCode + ",行号:" + MOSEQ + "在U8中已经领料,不能创建请购单!!!");
|
|
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
string u8sql = "select cDefine22 from " + ipaddress + @".dbo.PU_AppVouchs where cDefine22='" + MOCode + "' and cDefine24='"+MOSEQ+"'";
|
|
DataTable dt1 = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, u8sql).Tables[0];
|
|
if (dt1.Rows.Count > 0) {
|
|
_wait.Close();
|
|
ICSBaseSimpleCode.AppshowMessageBox("工单:" + MOCode + ",行号:" + MOSEQ + "在U8中已创建请购单,请不要重复创建!!");
|
|
return;
|
|
}
|
|
|
|
if (MOSTATUS != "初始")
|
|
{
|
|
_wait.Close();
|
|
ICSBaseSimpleCode.AppshowMessageBox("工单:" + MOCode + ",行号:" + MOSEQ + "不是初始状态,不能创建请购单!!!");
|
|
|
|
return;
|
|
}
|
|
string lotNO = string.Empty;
|
|
|
|
string sqlCheck = @"SELECT bPurchase FROM ICSINVENTORY WHERE INVCODE='" + MCODE + "' ";
|
|
DataTable dtCheck = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sqlCheck).Tables[0];
|
|
string bPurchase = string.Empty;
|
|
if (dtCheck != null && dtCheck.Rows.Count > 0)
|
|
{
|
|
bPurchase = dtCheck.Rows[0]["bPurchase"].ToString();
|
|
}
|
|
if (bPurchase != "1")
|
|
{
|
|
_wait.Close();
|
|
//throw new Exception("料号:" + MCODE + "的外购标识是false,不允许请购!");
|
|
ICSBaseSimpleCode.AppshowMessageBox("料号:" + MCODE + "的外购标识是false,不允许请购!!!");
|
|
return;
|
|
}
|
|
string sql = @"SELECT DISTINCT MOSTATUS from ICSMO WHERE MOCODE='" + MOCode + "' AND MOSEQ='" + MOSEQ + "' ";
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
foreach (DataRow dr1 in dt.Rows)
|
|
{
|
|
string PRLineID = dr1["MOSTATUS"].ToString();
|
|
if (PRLineID == "关闭")
|
|
{
|
|
_wait.Close();
|
|
ICSBaseSimpleCode.AppshowMessageBox("该工单已经关闭,不能生成请购单!!!");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
#region
|
|
// string sqlQty = @"
|
|
//SELECT A.MOCODE, B.MCODE AS MCODE, C.INVNAME, A.OPCODE, D.OPDESC AS PRLineID, COUNT (B.LOTQTY) AS PRQty,
|
|
//ISNULL(MIN(A.StartPlanDate), GETDATE()) StartPlanDate, ISNULL(MAX(A.EndPlanDate), GETDATE()) EndPlanDate
|
|
//FROM ICSMO2User A LEFT JOIN ICSITEMLot B ON A.LOTNO = B.LotNO LEFT JOIN ICSOP D ON D.OPCODE = A.OPCODE
|
|
//LEFT JOIN ICSINVENTORY C ON B.MCODE = C.INVCODE WHERE A.MOCODE = '" + MOCode + "' AND B.MCODE = '" + MCODE + @"'
|
|
//AND A.MOSEQ = '" + MOSEQ + @"' AND A.EATTRIBUTE1 = 1 AND (A.PRLineID IS NULL OR A.PRLineID = '')
|
|
//GROUP BY A.MOCODE, A.OPCODE, B.MCODE, C.INVNAME, D.OPDESC ";//UPDATE BY SUMMER 2020.06.17
|
|
#endregion
|
|
//DataTable dtQty = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sqlQty).Tables[0];
|
|
|
|
string _EnumKey = "00010";
|
|
string sqlcInvCCode = @"SELECT DISTINCT EnumText from Sys_EnumValues WHERE EnumKey='" + _EnumKey + "' ";
|
|
|
|
DataTable dtcInvCCode = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sqlcInvCCode).Tables[0];
|
|
string _cInvCCode = string.Empty;
|
|
if (dtcInvCCode != null && dtcInvCCode.Rows.Count > 0)
|
|
{
|
|
_cInvCCode = dtcInvCCode.Rows[0][0].ToString();
|
|
}
|
|
|
|
string sqldepart = @"SELECT MDeptCode
|
|
FROM " + ipaddress + @".dbo.mom_order a
|
|
INNER JOIN " + ipaddress + @".dbo.mom_orderdetail b ON a.MoId = b.MoId
|
|
WHERE a.MoCode = '" + MOCode + "' and b.SortSeq='" + MOSEQ + "'";
|
|
|
|
DataTable depart = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sqldepart).Tables[0];
|
|
|
|
if (depart.Rows.Count > 0)
|
|
{
|
|
contextWW.cDepCode = depart.Rows[0]["MDeptCode"].ToString();
|
|
}
|
|
else
|
|
contextWW.cDepCode = "";
|
|
|
|
PU_AppVouchs contextsWW = new PU_AppVouchs();
|
|
contextsWW.cInvCCode = _cInvCCode;//物料大类
|
|
contextsWW.cInvCode = MCODE;// _dr["MCODE"].ToString();//料号
|
|
contextsWW.cInvName = ItemName;//_dr["INVNAME"].ToString();//料号名称
|
|
contextsWW.OPCode = null;// _dr["OPCODE"].ToString();//工序
|
|
contextsWW.iQuantity = Decimal.Parse(MOPLANQTY);// Decimal.Parse(_dr["PRQty"].ToString());
|
|
contextsWW.iNum = Int32.Parse(MOSEQ);// lotinfo.LOTQTY * Convert.ToDecimal(lotinfo.EATTRIBUTE3);
|
|
|
|
contextsWW.MOCode = MOCode;//工单号
|
|
contextsWW.PRLine = "";//_dr["PRLineID"].ToString();//工序
|
|
contextsWW.dArriveDate = null;// Convert.ToDateTime(_dr["StartPlanDate"].ToString()).ToShortDateString();
|
|
|
|
if (string.IsNullOrWhiteSpace(MOPLANENDDATE))
|
|
{
|
|
contextsWW.dRequirDate = null; ;// Convert.ToDateTime(_dr["EndPlanDate"].ToString()).ToShortDateString();
|
|
}
|
|
else
|
|
{
|
|
contextsWW.dRequirDate = MOPLANENDDATE;
|
|
}
|
|
|
|
|
|
contextsWW.LotNo = "";//产品产品跟踪单号
|
|
contextsWWList.Add(contextsWW);
|
|
#endregion
|
|
}
|
|
}
|
|
contextWW.list = contextsWWList;
|
|
listcontextWW.Add(contextWW);
|
|
string WWPR = JsonConvert.SerializeObject(listcontextWW);
|
|
string iresultMO = HttpPost(DataCollectWW, WWPR);
|
|
U8Result INVINResultMO = new U8Result();
|
|
INVINResultMO = JsonConvert.DeserializeObject<U8Result>(iresultMO);
|
|
|
|
StringBuilder str = new StringBuilder();
|
|
str.AppendLine("创建U8请购单接口:" + WWPR);
|
|
str.AppendLine("接口返回结果:" + INVINResultMO.code);
|
|
str.AppendLine("接口返回数据:" + INVINResultMO.msg);
|
|
ICSMO2UserDAL.WriteLogFile(str.ToString(), "创建U8请购单接口");
|
|
|
|
if (INVINResultMO.code != "200")
|
|
{
|
|
_wait.Close();
|
|
throw new Exception(INVINResultMO.msg);
|
|
|
|
}
|
|
List<PU_AppVouchs> _list = new List<PU_AppVouchs>();
|
|
if (!string.IsNullOrWhiteSpace(INVINResultMO.msg))
|
|
{
|
|
_list = JsonConvert.DeserializeObject<List<PU_AppVouchs>>(INVINResultMO.msg.ToString());
|
|
}
|
|
else
|
|
{
|
|
_wait.Close();
|
|
throw new Exception("未获取到请购单数据!");
|
|
}
|
|
|
|
|
|
//--MOBIOSVER
|
|
string code = "";
|
|
foreach (PU_AppVouchs vouch in _list)
|
|
{
|
|
string sqlUpdate = @"UPDATE ICSMO SET MOSTATUS='关闭',PRDate='"+ DateTime.Now + "' WHERE MOCODE='"+vouch.MOCode+"' AND MOSEQ='"+vouch.iNum+"' ";
|
|
DBHelper.ExecuteNonQuery(AppConfig.AppConnectString, CommandType.Text, sqlUpdate);
|
|
code = vouch.Code;
|
|
}
|
|
_wait.Close();
|
|
ICSBaseSimpleCode.AppshowMessageBox("产生请购单:"+code+"成功!");
|
|
btnRefresh_Click(null, null);
|
|
|
|
|
|
}
|
|
catch (Exception _ex)
|
|
{
|
|
_wait.Close();
|
|
throw new Exception(_ex.ToString());
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.ToString());
|
|
}
|
|
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
#endregion
|
|
|
|
|
|
public static string HttpPost(string url, string body)
|
|
{
|
|
try
|
|
{
|
|
Encoding encoding = Encoding.UTF8;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
request.Method = "POST";
|
|
request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
|
|
request.ContentType = "application/json; charset=utf-8";
|
|
|
|
byte[] buffer = encoding.GetBytes(body);
|
|
request.ContentLength = buffer.Length;
|
|
request.GetRequestStream().Write(buffer, 0, buffer.Length);
|
|
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
|
using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
|
|
{
|
|
return reader.ReadToEnd();
|
|
}
|
|
}
|
|
catch (WebException ex)
|
|
{
|
|
var res = (HttpWebResponse)ex.Response;
|
|
StringBuilder sb = new StringBuilder();
|
|
StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
|
|
sb.Append(sr.ReadToEnd());
|
|
throw new Exception(sb.ToString());
|
|
}
|
|
}
|
|
|
|
#region 修改
|
|
private void btnModify_Click(object sender, EventArgs e)
|
|
{
|
|
//已经分批的不能修改途程20190717ZM
|
|
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
|
|
|
|
int count = 0;
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
count++;
|
|
}
|
|
}
|
|
if (count != 1)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("请选择数据,且只能选择一条进行编辑!!!");
|
|
return;
|
|
}
|
|
try
|
|
{
|
|
string moid;
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
|
|
moid = grvDetail.GetRowCellValue(i, colID).ToString();
|
|
bool issplit = ChechIsSplit(moid);
|
|
if (issplit)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("已经分批过的不能进行修改");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
FormICSMOAdd add = new FormICSMOAdd(moid);
|
|
add.ShowDialog();
|
|
}
|
|
|
|
//}
|
|
//else
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("非返程工单,不能修改!!!");
|
|
// return;
|
|
//}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//throw ex;
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
private bool ChechIsSplit(string moid)
|
|
{
|
|
bool isSplit = false;
|
|
string mocode = string.Empty; ;
|
|
string MOSEQ = string.Empty;
|
|
string sql = @" SELECT MOCODE,MOSEQ FROM ICSMO WHERE ID='" + moid + "' ";
|
|
sql = string.Format(sql);
|
|
DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
if (data != null && data.Rows.Count > 0)
|
|
{
|
|
mocode = data.Rows[0][0].ToString();
|
|
MOSEQ = data.Rows[0][1].ToString();
|
|
}
|
|
string _sql = @"
|
|
SELECT COUNT(*) AS num FROM
|
|
ICSITEMLot b
|
|
WHERE b.TransNO='" + mocode + "' AND B.TransLine='" + MOSEQ + "' ";
|
|
_sql = string.Format(_sql);
|
|
DataTable _data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, _sql).Tables[0];
|
|
if (_data != null || _data.Rows.Count > 0)
|
|
{
|
|
int a = Int32.Parse(_data.Rows[0][0].ToString());
|
|
if (a > 0)
|
|
{
|
|
isSplit = true;
|
|
}
|
|
}
|
|
return isSplit;
|
|
//if (isSplit)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("已经分批过的不能进行修改");
|
|
// return;
|
|
//}
|
|
}
|
|
|
|
private void ICSItemLot_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
AppConfig.DropTemTable(tempTableName);
|
|
}
|
|
|
|
private void FormICSMO_Load(object sender, EventArgs e)
|
|
{
|
|
btnFilter_Click(sender, e);
|
|
}
|
|
|
|
private void grvDetail_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
|
|
{
|
|
|
|
if (e.RowHandle >= 0 && e.Column.FieldName == "DCTCODE")
|
|
{
|
|
//e.DisplayText = FormatHelper.
|
|
e.CellValue = "cccc";
|
|
}
|
|
if (e.RowHandle > 0 && e.Column.FieldName == "isexpection" && e.CellValue.ToString() == "是")
|
|
{
|
|
e.Appearance.BackColor = Color.Red;
|
|
}
|
|
}
|
|
//生成序列号
|
|
private void newRcard_Click(object sender, EventArgs e)
|
|
{
|
|
//SimpleButton btntemp = (SimpleButton)sender;
|
|
//if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
// return;
|
|
//}
|
|
//int count = 0;
|
|
//for (int i = 0; i < grvDetail.RowCount; i++)
|
|
//{
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
// count++;
|
|
// }
|
|
//}
|
|
//if (count != 1)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("请选择数据,且只能选择一条进行编辑!!!");
|
|
// return;
|
|
//}
|
|
//try
|
|
//{
|
|
// string moID;
|
|
// string moCode;
|
|
// decimal qty = 0.00m;
|
|
// for (int i = 0; i < grvDetail.RowCount; i++)
|
|
// {
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
// moID = grvDetail.GetRowCellValue(i, colID).ToString();
|
|
// moCode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
// qty = decimal.Parse(grvDetail.GetRowCellValue(i, colMOPLANQTY).ToString());
|
|
// FormICSMO2RCARDAdd rec = new FormICSMO2RCARDAdd(moID, moCode, qty);
|
|
// rec.ShowDialog();
|
|
// }
|
|
|
|
// }
|
|
|
|
// btnRefresh_Click(null, null);
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// //throw ex;
|
|
// ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
//}
|
|
|
|
}
|
|
|
|
private void repSerialButtonEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 下发
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void txtsend_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
#region 工艺路线默认匹配 自控参考
|
|
//SimpleButton btntemp = (SimpleButton)sender;
|
|
//if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
// return;
|
|
//}
|
|
//int count = 0;
|
|
//List<string> docNoList = new List<string>();
|
|
//for (int i = 0; i < grvDetail.RowCount; i++)
|
|
//{
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
// string docNo = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
|
|
// docNoList.Add(docNo);
|
|
// count++;
|
|
// }
|
|
//}
|
|
//if (count <= 0)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("请选择数据!!!");
|
|
// return;
|
|
//}
|
|
|
|
//try
|
|
//{
|
|
// string msg = "";
|
|
// List<string> mocodeList = new List<string>();
|
|
// List<FormICSMORoute_IsRef> MORouteList = new List<FormICSMORoute_IsRef>();
|
|
// for (int i = 0; i < grvDetail.RowCount; i++)
|
|
// {
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
// string mocode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
// string moseq = grvDetail.GetRowCellValue(i, colMOSEQ).ToString();
|
|
// string itemCode = grvDetail.GetRowCellValue(i, colITEMCODE).ToString();
|
|
// string state = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
|
|
// bool IsHasRoute = ICSMOBLL.IshasROUTE(mocode, AppConfig.AppConnectString);//icsmo2route 是否有值
|
|
// bool hasRoute = ICSMOBLL.hasROUTE(mocode, itemCode, AppConfig.AppConnectString);
|
|
//
|
|
// if (!IsHasRoute && !hasRoute)
|
|
// {
|
|
// msg += "工单代码:" + mocode + " 没有关联工艺路线,不能下发!\n";
|
|
// }
|
|
|
|
// ICSROUTE Route = ICSMOBLL.hasIsRefROUTE(itemCode, AppConfig.AppConnectString);
|
|
// if (!IsHasRoute && Route == null)//判断是否无默认工艺路线
|
|
// {
|
|
|
|
// msg += "工单代码:" + mocode + " 无默认工艺路线,不能下发!\n";
|
|
// }
|
|
|
|
// if (string.IsNullOrEmpty(msg))
|
|
// {
|
|
// FormICSMORoute_IsRef item = new FormICSMORoute_IsRef();
|
|
// item.MOCODE = mocode;
|
|
// item.MOSEQ = moseq;
|
|
// item.Route = Route;
|
|
// item.isRef = "是";
|
|
// mocodeList.Add(mocode);
|
|
// if (!IsHasRoute)
|
|
// {
|
|
// MORouteList.Add(item);
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// if (msg != "")
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox(msg);
|
|
// return;
|
|
// }
|
|
|
|
// //直接下发
|
|
// foreach (string code in mocodeList)
|
|
// {
|
|
// ICSMOBLL.Sends(code, MOSEQ, AppConfig.AppConnectString);
|
|
// }
|
|
// if (MORouteList != null && MORouteList.Count > 0)
|
|
// {
|
|
// ICSMOBLL.ADDIsRefRoute(MORouteList, AppConfig.AppConnectString);
|
|
// }
|
|
// ICSBaseSimpleCode.AppshowMessageBox("下发成功");
|
|
|
|
// btnRefresh_Click(null, null);
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
//}
|
|
#endregion 匹配默认
|
|
|
|
#region 081 GJ 下发
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
int count = 0;
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
count++;
|
|
}
|
|
}
|
|
if (count == 0)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("请至少选择一条数据进行下发操作!!!");
|
|
return;
|
|
}
|
|
try
|
|
{
|
|
string mocode = "";
|
|
string moseq = "";
|
|
string status = "";
|
|
List<ICSMO> moinfolist = new List<ICSMO>();
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
string id = grvDetail.GetRowCellValue(i, MOID1).ToString();
|
|
mocode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
moseq = grvDetail.GetRowCellValue(i, colMOSEQ).ToString();
|
|
status = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
string itemCode = grvDetail.GetRowCellValue(i, colITEMCODE).ToString();
|
|
|
|
#region 判断工单是否是初始状态
|
|
if (status != "初始")
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("选中工单:" + mocode + "对应行:" + moseq + "不是初始状态,无法下发!!!");
|
|
return;
|
|
}
|
|
#endregion
|
|
|
|
#region 0827
|
|
string IsHasRoute = string.Empty;
|
|
if (string.IsNullOrWhiteSpace(id))
|
|
{
|
|
IsHasRoute = ICSMOBLL.IshasROUTE(id, AppConfig.AppConnectString);//icsmo2route 返回工单的工艺路线
|
|
}
|
|
if (string.IsNullOrWhiteSpace(IsHasRoute))
|
|
{
|
|
string Route = ICSMOBLL.hasIsRefROUTE(itemCode, AppConfig.AppConnectString);//存货是否有默认路线
|
|
FormICSMOUIModel mo = new FormICSMOUIModel();
|
|
mo.ID = grvDetail.GetRowCellValue(i, colID).ToString();
|
|
mo.MOCODE = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
// mo.MOMEMO = grvDetail.GetRowCellValue(i, colMOMEMO).ToString();
|
|
//mo.MOTYPE = txtMOTYPE.Text;
|
|
//mo.MODESC = grvDetail.GetRowCellValue(i, colMODESC).ToString();
|
|
mo.MOTYPE = "1";//工单类型默认为1
|
|
mo.MOPLANQTY = Convert.ToDecimal(grvDetail.GetRowCellValue(i, colMOPLANQTY).ToString());
|
|
mo.MOPLANSTARTDATE = Convert.ToDateTime(grvDetail.GetRowCellValue(i, colMOPLANSTARTDATE).ToString());
|
|
mo.MOPLANENDDATE = Convert.ToDateTime(grvDetail.GetRowCellValue(i, colMOPLANENDDATE).ToString());
|
|
mo.FACTORY = grvDetail.GetRowCellValue(i, colFACTORY).ToString();
|
|
// mo.CUSORDERNO = grvDetail.GetRowCellValue(i, colCUSORDERNO).ToString();
|
|
// mo.MOUSER = grvDetail.GetRowCellValue(i, colMOUSER).ToString();
|
|
mo.MODOWNDATE = Convert.ToDateTime(grvDetail.GetRowCellValue(i, colMOPLANSTARTDATE).ToString());
|
|
mo.MOSTATUS = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
// GetRowCellValue(i, colMOMEMO).ToString(); grvDetail.GetRowCellValue(i, colMODESC).ToString();
|
|
|
|
//mo.ISCONINPUT = txtISCONINPUT.Text;
|
|
//if (txtISCONINPUT.Checked)
|
|
// mo.ISCONINPUT = "是";
|
|
//else
|
|
// mo.ISCONINPUT = "否";
|
|
//mo.
|
|
|
|
mo.ITEMCODE = grvDetail.GetRowCellValue(i, colITEMCODE).ToString();
|
|
mo.MOSEQ = grvDetail.GetRowCellValue(i, colMOSEQ).ToString();
|
|
|
|
// mo.MOPENDINGCAUSE = grvDetail.GetRowCellValue(i, colMOPENDINGCAUSE).ToString();
|
|
// 9.1注释 mo.OFFMOQTY = Convert.ToDecimal(txtOFFMOQTY.Text.Equals("") ? "0" : txtOFFMOQTY.Text);
|
|
|
|
mo.MOBOM = grvDetail.GetRowCellValue(i, colITEMCODE).ToString();
|
|
|
|
// mo.MORemark = grvDetail.GetRowCellValue(i, colMORemark).ToString();
|
|
// mo.MOVER =grvDetail.GetRowCellValue(i, colMODESC).ToString();
|
|
|
|
ICSMOBLL.Add(mo, Route, AppConfig.AppConnectString);
|
|
//if (flag == 0)
|
|
//{
|
|
//ICSBaseSimpleCode.AppshowMessageBox("匹配成功");
|
|
//this.Close();
|
|
// this.DialogResult = DialogResult.Yes;
|
|
//}
|
|
//else if (flag == 1)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("修改成功");
|
|
// this.Close();
|
|
// this.DialogResult = DialogResult.Yes;
|
|
//}
|
|
// add.ShowDialog();
|
|
// }
|
|
//}
|
|
//else
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox(" 没有默认工艺路线,不能下发!!!\n");
|
|
// return;
|
|
//}
|
|
}
|
|
|
|
#region 废弃的
|
|
//bool hasRoute = ICSMOBLL.hasROUTE(mocode, itemCode, AppConfig.AppConnectString);//工单号(mocode)是否有路线
|
|
//ICSROUTE Route = ICSMOBLL.hasIsRefROUTE(itemCode, AppConfig.AppConnectString);//存货是否有默认路线
|
|
|
|
//if (!IsHasRoute && !hasRoute)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("工单代码:" + mocode + " 没有关联工艺路线,不能下发!\n");
|
|
// return;
|
|
//}
|
|
//if (IsHasRoute && Route != null)//判断是否默认工艺路线
|
|
//{
|
|
// string moid = grvDetail.GetRowCellValue(i, colID).ToString();
|
|
// bool issplit = ChechIsSplit(moid);
|
|
// if (issplit)
|
|
// {
|
|
|
|
// ICSBaseSimpleCode.AppshowMessageBox("已经分批过的不能进行修改!!");
|
|
// return;
|
|
// }
|
|
// else
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("有默认的工艺路线\n");
|
|
// FormICSMOAdd add = new FormICSMOAdd(moid);
|
|
// add.ShowDialog();
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
#region 下发前检验工单是否绑定工艺路线
|
|
ICSMO2ROUTE morouteinfo = ICSMOBLL.selectmo2routebyid(grvDetail.GetRowCellValue(i, colID).ToString(), AppConfig.AppConnectString);
|
|
if (morouteinfo == null)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("选中工单:" + mocode + "对应行:" + moseq + "尚未绑定工艺路线,无法下发!!!");
|
|
return;
|
|
}
|
|
#endregion
|
|
ICSMO moinfo = new ICSMO();
|
|
moinfo.MOCODE = mocode;
|
|
moinfo.MOSEQ = moseq;
|
|
moinfolist.Add(moinfo);
|
|
}
|
|
|
|
}
|
|
ICSMOBLL.Send(moinfolist, AppConfig.AppConnectString);
|
|
ICSBaseSimpleCode.AppshowMessageBox("下发成功");
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
#endregion
|
|
|
|
#region 注释的原版0819
|
|
// SimpleButton btntemp = (SimpleButton)sender;
|
|
// if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
// return;
|
|
// }
|
|
// int count = 0;
|
|
// for (int i = 0; i < grvDetail.RowCount; i++)
|
|
// {
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
// count++;
|
|
// }
|
|
// }
|
|
// if (count != 1)
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("请选择数据,且只能选择一条进行编辑!!!");
|
|
// return;
|
|
// }
|
|
// try
|
|
// {
|
|
// string mocode = "";
|
|
// string moseq = "";
|
|
// string state = "";
|
|
// string moid = ""; //0819
|
|
// for (int i = 0; i < grvDetail.RowCount; i++)
|
|
// {
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
// mocode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
// state = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
// moseq = grvDetail.GetRowCellValue(i, colMOSEQ).ToString();
|
|
|
|
// moid = grvDetail.GetRowCellValue(i, colID).ToString(); //0819
|
|
// }
|
|
// }
|
|
// #region 20210804 下发之后才能分批,不是分批之后在下发。
|
|
// string sendSql = @"SELECT * FROM ICSITEMLot WHERE TransNO='" + mocode + "' ";
|
|
// sendSql = string.Format(sendSql);
|
|
// DataTable sendData = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sendSql).Tables[0];
|
|
// if (sendData == null || sendData.Rows.Count < 1)
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("只有分完批次才能下发!");
|
|
// return;
|
|
// }
|
|
// #endregion
|
|
|
|
// --工艺路线,代码(途程代码)的sql语句
|
|
// string _sql = @"SELECT
|
|
// c.ROUTECODE --工艺路线,代码(途程代码)
|
|
// FROM
|
|
// ICSMO a
|
|
// LEFT JOIN ICSMO2ROUTE c ON a.ID = c.MOID
|
|
// LEFT JOIN (
|
|
// SELECT
|
|
// b.MOCODE,
|
|
// CONVERT (INT, b.MOSEQ) AS MOSEQ,
|
|
// b.ITEMCODE,
|
|
// COUNT (*) AS IsUse
|
|
// FROM
|
|
// ICSMOPickLog a
|
|
// INNER JOIN ICSMO b ON (
|
|
// a.MOCode = b.MOCODE
|
|
// AND b.MOSEQ = a.MOSEQ
|
|
// AND a.ITEMCODE = b.ITEMCODE
|
|
// )
|
|
// GROUP BY
|
|
// b.MOCODE,
|
|
// b.MOSEQ,
|
|
// b.ITEMCODE
|
|
// ) d ON (
|
|
// d.MOCODE = a.MOCODE
|
|
// AND d.MOSEQ = a.MOSEQ
|
|
// AND d.ITEMCODE = a.ITEMCODE
|
|
// )
|
|
// WHERE 1 = 1
|
|
// AND a.MOCODE = '" + mocode + "' AND a.MOSEQ =" + moseq + " ORDER BY a.MOCODE, CONVERT (INT, a.MOSEQ)";
|
|
// _sql = string.Format(_sql);
|
|
// DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, _sql).Tables[0];
|
|
// string _ROUTECODE = string.Empty;//--工艺路线,代码(途程代码)
|
|
|
|
// if (data != null && data.Rows.Count > 0)
|
|
// {
|
|
// _ROUTECODE = data.Rows[0][0].ToString();//--工艺路线,代码(途程代码)
|
|
// }
|
|
// else
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("工单尚未绑定工艺路线不能下发!");
|
|
// return;
|
|
// }
|
|
// if (string.IsNullOrWhiteSpace(_ROUTECODE))//--工艺路线,代码(途程代码)
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("工单尚未绑定工艺路线不能下发!!");
|
|
// return;
|
|
// }
|
|
|
|
// 判断是否是初始状态
|
|
// if (state.Equals("初始"))
|
|
// {
|
|
// //判断是否在工单首检记录表中
|
|
// if (ICSMOBLL.isInFirstCheck(mocode, AppConfig.AppConnectString))
|
|
// {
|
|
// //判断(最近的时间)是否合格
|
|
// if (ICSMOBLL.isQualified(mocode, AppConfig.AppConnectString))
|
|
// {
|
|
// ICSMOBLL.Send(mocode, moseq, AppConfig.AppConnectString);
|
|
// ICSBaseSimpleCode.AppshowMessageBox("下发成功");
|
|
// }
|
|
// else
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("不合格,不能下发");
|
|
// return;
|
|
// //}
|
|
// }
|
|
// else
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("不存在工单首检记录中");
|
|
// return;
|
|
// }
|
|
// }
|
|
// else
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("不是初始状态,不能下发");
|
|
// return;
|
|
// }
|
|
// btnRefresh_Click(null, null);
|
|
// } //try
|
|
// catch (Exception ex)
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
// }
|
|
#endregion
|
|
}
|
|
//取消下发
|
|
private void txtcancelSend_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
//if (!grvDetail.GetRowCellValue(i, colMOSTATUS).ToString().Equals("下发"))
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("工单: "+grvDetail.GetRowCellValue(i, colMOCODE).ToString()+" 不是下发状态,不能取消下发");
|
|
// return;
|
|
//}
|
|
if (ICSMO2LotBLL.IsKG(grvDetail.GetRowCellValue(i, colMOCODE).ToString(), grvDetail.GetRowCellValue(i, colMOSEQ).ToString())) {
|
|
ICSBaseSimpleCode.AppshowMessageBox("工单: " + grvDetail.GetRowCellValue(i, colMOCODE).ToString() + " 已开工,无法取消下发!");
|
|
return;
|
|
}
|
|
if (ICSMO2LotBLL.IsPG(grvDetail.GetRowCellValue(i, colMOCODE).ToString(), grvDetail.GetRowCellValue(i, colMOSEQ).ToString())) {
|
|
ICSBaseSimpleCode.AppshowMessageBox("工单: " + grvDetail.GetRowCellValue(i, colMOCODE).ToString() + " 已派工,请先取消派工!");
|
|
return;
|
|
}
|
|
if (ICSMO2LotBLL.IsIncludingInMO2Lot(grvDetail.GetRowCellValue(i, colID).ToString())) {
|
|
ICSBaseSimpleCode.AppshowMessageBox("工单: " + grvDetail.GetRowCellValue(i, colMOCODE).ToString() + " 已分批,请先删除分批再取消下发!");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
try
|
|
{
|
|
string mocode = "";
|
|
string state = "";
|
|
string moseq = "";
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
mocode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
state = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
moseq = grvDetail.GetRowCellValue(i, colMOSEQ).ToString();
|
|
ICSMOBLL.cancelSend(mocode, moseq, AppConfig.AppConnectString);
|
|
}
|
|
|
|
|
|
}
|
|
ICSBaseSimpleCode.AppshowMessageBox("取消下发成功");
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
}
|
|
//暂停
|
|
private void txtstop_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
//SimpleButton btntemp = (SimpleButton)sender;
|
|
//if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
// return;
|
|
//}
|
|
//int count = 0;
|
|
//for (int i = 0; i < grvDetail.RowCount; i++)
|
|
//{
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
// count++;
|
|
// }
|
|
//}
|
|
//if (count != 1)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("请选择数据,且只能选择一条进行编辑!!!");
|
|
// return;
|
|
//}
|
|
//try
|
|
//{
|
|
// string mocode = "";
|
|
// string state = "";
|
|
// for (int i = 0; i < grvDetail.RowCount; i++)
|
|
// {
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
// mocode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
// state = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
// }
|
|
// }
|
|
// //判断是否是生产中状态
|
|
// if (state.Equals("生产中"))
|
|
// {
|
|
// ICSMOBLL.stop(mocode, AppConfig.AppConnectString);
|
|
// ICSBaseSimpleCode.AppshowMessageBox("暂停成功");
|
|
// }
|
|
// else
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("不是生产中状态,不能暂停");
|
|
// return;
|
|
// }
|
|
// btnRefresh_Click(null, null);
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
//}
|
|
}
|
|
//取消暂停
|
|
private void txtcancelStop_Click(object sender, EventArgs e)
|
|
{
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
int count = 0;
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
count++;
|
|
}
|
|
}
|
|
if (count != 1)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("请选择数据,且只能选择一条进行编辑!!!");
|
|
return;
|
|
}
|
|
try
|
|
{
|
|
string mocode = "";
|
|
string state = "";
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
mocode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
state = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
}
|
|
}
|
|
//判断是否是暂停状态
|
|
if (state.Equals("暂停"))
|
|
{
|
|
ICSMOBLL.cancelStop(mocode, AppConfig.AppConnectString);
|
|
ICSBaseSimpleCode.AppshowMessageBox("取消暂停成功");
|
|
}
|
|
else
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("不是暂停状态,不能取消暂停");
|
|
return;
|
|
}
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
}
|
|
//关单
|
|
private void txtcloseDan_Click(object sender, EventArgs e)
|
|
{
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colMOSTATUS).ToString().Equals("关单")) {
|
|
ICSBaseSimpleCode.AppshowMessageBox("工单: " + grvDetail.GetRowCellValue(i, colMOCODE).ToString() + " 已经是关单状态,不能关单!");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
try
|
|
{
|
|
List<string> ID = new List<string>();
|
|
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
string id = grvDetail.GetRowCellValue(i, colID).ToString();
|
|
ID.Add(id);
|
|
|
|
}
|
|
}
|
|
|
|
FormICSMOClose add = new FormICSMOClose(ID);
|
|
add.ShowDialog();
|
|
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
}
|
|
//批次信息
|
|
private void btnBatch_Click(object sender, EventArgs e)
|
|
{
|
|
//SimpleButton btntemp = (SimpleButton)sender;
|
|
//if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
// return;
|
|
//}
|
|
//FormICSMO2Lot add = new FormICSMO2Lot();
|
|
//add.ShowDialog();
|
|
//btnRefresh_Click(null, null);
|
|
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
int count = 0;
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
count++;
|
|
}
|
|
}
|
|
|
|
if (count != 1)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("请选择数据,且只能选择一条进行编辑!!!");
|
|
return;
|
|
}
|
|
try
|
|
{
|
|
string id;
|
|
string code;
|
|
int Qty = 0;
|
|
string itemcode;
|
|
string dept;//0816新增
|
|
|
|
DateTime MOPLANSTARTDATE;
|
|
DateTime MOPLANENDDATE;
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
dept = grvDetail.GetRowCellValue(i, colcDepName).ToString();//0816新增字段
|
|
id = grvDetail.GetRowCellValue(i, colID).ToString();
|
|
code = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
Qty = (int)Convert.ToDecimal(grvDetail.GetRowCellValue(i, colMOPLANQTY).ToString());
|
|
itemcode = grvDetail.GetRowCellValue(i, colITEMCODE).ToString();
|
|
string moseq = grvDetail.GetRowCellValue(i, colMOSEQ).ToString();
|
|
MOPLANSTARTDATE = Convert.ToDateTime((grvDetail.GetRowCellValue(i, colMOPLANSTARTDATE)));
|
|
MOPLANENDDATE = Convert.ToDateTime((grvDetail.GetRowCellValue(i, colMOPLANENDDATE)));
|
|
|
|
FormICSMO2LOT1 add = new FormICSMO2LOT1(id, code, Qty, itemcode, moseq, dept, MOPLANSTARTDATE, MOPLANENDDATE);
|
|
add.ShowDialog();
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
|
|
}
|
|
//判断是否是关单状态
|
|
//if (!(state.Equals("关单")))
|
|
//{
|
|
|
|
//}
|
|
//else
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("已经是关单状态");
|
|
// return;
|
|
//}
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
}
|
|
|
|
#region 取消关单
|
|
private void BtnCancelCloseMO_Click(object sender, EventArgs e)
|
|
{
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
int count = 0;
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
count++;
|
|
}
|
|
}
|
|
if (count != 1)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("请选择数据,且只能选择一条进行编辑!!!");
|
|
return;
|
|
}
|
|
try
|
|
{
|
|
string ID = "";
|
|
string state = "";
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
ID = grvDetail.GetRowCellValue(i, colID).ToString();
|
|
state = grvDetail.GetRowCellValue(i, colMOSTATUS).ToString();
|
|
}
|
|
}
|
|
if ((state.Equals("关单")))
|
|
{
|
|
//判断是否是关单状态
|
|
ICSMOBLL.CancleCloseDan(ID, AppConfig.AppConnectString);
|
|
ICSBaseSimpleCode.AppshowMessageBox("取消关单成功");
|
|
}
|
|
else
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("非关单状态,不能取消关单");
|
|
return;
|
|
}
|
|
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 新增的 [一键分批按钮] 按钮0818
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btnLot1_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
//根据ICSMOPickLog窜起来查确定是否领料。工单:MOCODE、生产订单行号:MOSEQ、子料:ITEMCODE(根据工单母料看子料)
|
|
//限制:如果‘是否领料’字段为‘否’,那么无法进行分批操作;
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
|
|
int count = 0;
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// if (Convert.ToBoolean(grvDetail.GetRowCellValue(i, colisSelect).ToString()))
|
|
{
|
|
count++;
|
|
}
|
|
}
|
|
if (count == 0)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("请至少选择一条数据进行分批!");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
List<ICSITEMLot> lotinfoList = new List<ICSITEMLot>();
|
|
List<ICSITEMROUTE2OPLot> oplotinfoList = new List<ICSITEMROUTE2OPLot>();
|
|
for (int i = 0; i < grvDetail.RowCount; i++)
|
|
{
|
|
//if (Convert.ToBoolean(grvDetail.GetRowCellValue(i, colisSelect).ToString()))
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
{
|
|
string ITEMCODE = grvDetail.GetRowCellValue(i, colITEMCODE).ToString();
|
|
string mocode = grvDetail.GetRowCellValue(i, colMOCODE).ToString();
|
|
string moseq = grvDetail.GetRowCellValue(i, colMOSEQ).ToString();
|
|
string moplanstartdate= grvDetail.GetRowCellValue(i, colMOPLANSTARTDATE).ToString();
|
|
string moplanenddate = grvDetail.GetRowCellValue(i, colMOPLANENDDATE).ToString();
|
|
ICSMO moinfo = ICSMOBLL.selectbyid(grvDetail.GetRowCellValue(i, colID).ToString(), AppConfig.AppConnectString);
|
|
if (moinfo.MOSTATUS != "下发")
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("选中工单:" + mocode + "对应行号:" + moseq + "尚未下发,不能分批!");
|
|
return;
|
|
}
|
|
string ItemCode = grvDetail.GetRowCellValue(i, colITEMCODE).ToString();
|
|
string RouteCode = grvDetail.GetRowCellValue(i, colMOROUTE).ToString();
|
|
bool b = ICSMO2LotBLL.IsIncludingInMO2Lot(grvDetail.GetRowCellValue(i, colID).ToString());
|
|
if (b)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("选中工单:" + mocode + "对应行号:" + moseq + "已生成批次,若要重新生成,请先删除原批次信息!");
|
|
return;
|
|
}
|
|
#region ICSITEMLot表
|
|
ICSITEMLot lotinfo = new ICSITEMLot();
|
|
lotinfo.MCODE = ITEMCODE;//0827新增
|
|
lotinfo.ID = AppConfig.GetGuid();
|
|
lotinfo.LotNO = mocode + moseq + "0001";
|
|
lotinfo.TransNO = mocode;
|
|
lotinfo.TransLine = moseq;
|
|
// lotinfo.ItemCODE = grvDetail.GetRowCellValue(i, colITEMCODE).ToString();
|
|
lotinfo.VENDORITEMCODE = "";
|
|
lotinfo.VENDORCODE = "";
|
|
lotinfo.VenderLotNO = "";
|
|
lotinfo.PRODUCTDATE = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
|
|
lotinfo.LOTQTY = Convert.ToDecimal(grvDetail.GetRowCellValue(i, colMOPLANQTY).ToString());
|
|
lotinfo.ACTIVE = "Y";
|
|
lotinfo.Exdate = Convert.ToDateTime("2999-12-31 00:00:00.000");
|
|
lotinfo.WorkPoint = AppConfig.WorkPointCode;
|
|
lotinfo.MUSER = AppConfig.UserCode;
|
|
lotinfo.MUSERName = AppConfig.UserName;
|
|
lotinfo.MTIME = DateTime.Now;
|
|
lotinfo.EATTRIBUTE1 = "";
|
|
lotinfo.TYPE = "工单";
|
|
lotinfo.MOPLANSTARTDATE = moplanstartdate;
|
|
lotinfo.MOPLANENDDATE = moplanenddate;
|
|
lotinfoList.Add(lotinfo);
|
|
|
|
#endregion
|
|
|
|
#region 根据Code获取工艺路线信息
|
|
List<ICSITEMROUTE2OP> opinfolist = ICSITEMROUTE2OPBLL.selectinfobycode(ItemCode, RouteCode, AppConfig.AppConnectString);
|
|
#endregion
|
|
#region 写入ICSItemRoute2OPLot表
|
|
foreach (ICSITEMROUTE2OP opinfo in opinfolist)
|
|
{
|
|
ICSITEMROUTE2OPLot oplotinfo = new ICSITEMROUTE2OPLot();
|
|
|
|
oplotinfo.ITEMCODE = ItemCode;
|
|
oplotinfo.ROUTECODE = RouteCode;
|
|
oplotinfo.OPCODE = opinfo.OPCODE;
|
|
oplotinfo.OPSEQ = opinfo.OPSEQ;
|
|
oplotinfo.OPCONTROL = "";
|
|
oplotinfo.OPTIONALOP = "";
|
|
oplotinfo.IDMERGERULE = 0;
|
|
oplotinfo.IDMERGETYPE = "";
|
|
oplotinfo.MUSER = AppConfig.UserCode;
|
|
oplotinfo.MUSERName = AppConfig.UserName;
|
|
oplotinfo.MTIME = DateTime.Now;
|
|
oplotinfo.WorkPoint = AppConfig.WorkPointCode;
|
|
oplotinfo.EATTRIBUTE1 = "";
|
|
oplotinfo.LotNo = mocode + moseq + "0001";
|
|
oplotinfo.ID = AppConfig.GetGuid();
|
|
oplotinfoList.Add(oplotinfo);
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
ICSMO2LotBLL.OP2LotAdd(lotinfoList, oplotinfoList, AppConfig.AppConnectString);
|
|
ICSBaseSimpleCode.AppshowMessageBox("分批成功");
|
|
btnRefresh_Click(null, null);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void simpleButton1_Click(object sender, EventArgs e)
|
|
{
|
|
AppConfig.CloseFormShow(this.Text);
|
|
this.Close();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string url = @"http://172.16.12.155:8999/api/GetPLMToken";
|
|
//string url = @"http://localhost:51182/api/GetPLMToken";
|
|
FormICSProductionReport.SearchPart Bills = new FormICSProductionReport.SearchPart();
|
|
//Bills.ItemCode = "20100003035";
|
|
//Bills.ItemCode = "20100000670";
|
|
//Bills.ItemCode = "20800001904";
|
|
|
|
Bills.ItemCode = grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colITEMCODE).ToString();
|
|
Bills.size = 100;
|
|
Bills.extra = "DWGSW";
|
|
string JsonData = JsonConvert.SerializeObject(Bills);
|
|
|
|
//try
|
|
//{
|
|
// //Bills = JsonConvert.DeserializeObject<List<SearchPart>>(JsonData.ToString());
|
|
// Bills = JsonConvert.DeserializeObject<SearchPart>(JsonData.ToString());
|
|
//}
|
|
#region MyRegion
|
|
BaseModel rtn = PLM.PLMMap(url, JsonData);
|
|
if (rtn.code == "200")
|
|
{
|
|
|
|
#region MyRegion
|
|
|
|
|
|
string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]");
|
|
if (string.IsNullOrWhiteSpace(connectionString))
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("没有获取到FTP链接,请在数据源中先配置FTP");
|
|
return;
|
|
}
|
|
|
|
string[] ftps = connectionString.Split(';');
|
|
string ftpServerIP = ftps[0].Split('=')[1];
|
|
//string ftpRemotePath = ftps[1].Split('=')[1];
|
|
string ftpRemotePath = "";
|
|
|
|
string ftpUserID = ftps[2].Split('=')[1];
|
|
string ftpPassword = ftps[3].Split('=')[1];
|
|
|
|
FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
//FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
|
|
//string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
|
|
|
|
string filePath = AppDomain.CurrentDomain.BaseDirectory + "\\Drawing";
|
|
|
|
|
|
if (!Directory.Exists(filePath))
|
|
{
|
|
Directory.CreateDirectory(filePath);
|
|
}
|
|
string fileName = Bills.ItemCode + ".pdf";
|
|
ftpWeb.Download(filePath + "\\", fileName);
|
|
|
|
string filePathName = filePath + "\\" + fileName;
|
|
//string fileName = logAdress + Bills.ItemCode + ".pdf";
|
|
|
|
|
|
string ftpURL = "ftp://" + ftpServerIP + "/" + fileName;
|
|
|
|
//if (!string.IsNullOrEmpty(fileName))
|
|
if (!string.IsNullOrEmpty(filePathName))
|
|
{
|
|
FileDrawing.LoadPDF(filePathName);
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("调用PLM接口返回异常:" + rtn.code + ";" + rtn.msg);
|
|
return;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void grvDetail_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void simpleButton2_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
string para1 = "1 and ";
|
|
for (int i = 0; i < grvDetail.RowCount; i++) {
|
|
if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y") {
|
|
para1 += " (a.mocode='" + grvDetail.GetRowCellValue(i, colMOCODE).ToString() + "' and a.moseq='" + grvDetail.GetRowCellValue(i, colMOSEQ).ToString() + "') OR";
|
|
}
|
|
|
|
}
|
|
if (para1 == "1 and ") {
|
|
ICSBaseSimpleCode.AppshowMessageBox("请选择要打印的数据!");
|
|
return;
|
|
}
|
|
para1=para1.TrimEnd("OR".ToCharArray());
|
|
List<PrintPara> parasList = new List<PrintPara>();
|
|
PrintPara para = new PrintPara();
|
|
para.PrintKey = "1=1";
|
|
para.PrintValues = new object[] { para1 };
|
|
parasList.Add(para);
|
|
FormPrintDialog f = new FormPrintDialog("099", this.Text, parasList, false, null);
|
|
f.ShowDialog();
|
|
|
|
}
|
|
catch (Exception ex) {
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|