384 lines
14 KiB
C#
384 lines
14 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.ComponentModel;
|
|||
|
|
using System.Data;
|
|||
|
|
using System.Drawing;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Windows.Forms;
|
|||
|
|
using WMS.Frm.Base;
|
|||
|
|
using WMS.Model.SystemManage;
|
|||
|
|
using WMS.Common;
|
|||
|
|
using WMS.Base.WebService;
|
|||
|
|
using WMS.Ctrl;
|
|||
|
|
using WMS.Model.Base;
|
|||
|
|
using DevExpress.XtraGrid.Columns;
|
|||
|
|
using DevExpress.XtraEditors.Repository;
|
|||
|
|
using WMS.Frm;
|
|||
|
|
using WMS.FrmBase;
|
|||
|
|
|
|||
|
|
namespace WMS.FrmSystems
|
|||
|
|
{
|
|||
|
|
public partial class FrmScheduling : FormBase
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 排班MODEL
|
|||
|
|
/// </summary>
|
|||
|
|
SchedulingModel schedulingModel = new SchedulingModel();
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 排班集合
|
|||
|
|
/// </summary>
|
|||
|
|
List<SchedulingModel> schedulingList = new List<SchedulingModel>();
|
|||
|
|
/// <summary>
|
|||
|
|
/// 增加集合
|
|||
|
|
/// </summary>
|
|||
|
|
List<SchedulingModel> addList = new List<SchedulingModel>();
|
|||
|
|
/// <summary>
|
|||
|
|
/// 删除集合
|
|||
|
|
/// </summary>
|
|||
|
|
List<SchedulingModel> delList = new List<SchedulingModel>();
|
|||
|
|
/// <summary>
|
|||
|
|
/// 修改集合
|
|||
|
|
/// </summary>
|
|||
|
|
List<SchedulingModel> upList = new List<SchedulingModel>();
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 业务类型
|
|||
|
|
/// </summary>
|
|||
|
|
int workflag = 3;//0 增加 1 修改 2 删除 ;
|
|||
|
|
|
|||
|
|
public FrmScheduling()
|
|||
|
|
{
|
|||
|
|
InitializeComponent();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void FrmScheduling_Load(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
LEPKind.LoadData();
|
|||
|
|
LEPStoID.LoadData();
|
|||
|
|
LEPStoSel.LoadData();
|
|||
|
|
LEPWorkType.LoadData();
|
|||
|
|
BindLep();
|
|||
|
|
BSTab.DataSource = new SchedulingModel() { S_DATE_STAR = DateTime.Now.AddMonths(-1), S_DATE_END = DateTime.Now };
|
|||
|
|
BindGrid(BSTab.DataSource as SchedulingModel);
|
|||
|
|
PageWork.PageEnabled = false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void BindLep()
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
string err = "";
|
|||
|
|
string strResult = WebLockConfig.Instance.Common.GetCustomCtrlData("t_sys_dictionary_tab", "VC_CHAR_VALUE", "VC_DICTIONARY_NAME", " VC_DICTIONARY_TYPE = 'work_system' and c_flag = '1'", "");
|
|||
|
|
DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject<DataTable>(strResult);
|
|||
|
|
repositoryItemLookUpEditKindSel.DataSource = dt;
|
|||
|
|
repositoryItemLookUpEditKindWork.DataSource = dt;
|
|||
|
|
repositoryItemLookUpEditKindSel.ValueMember = "VC_DICTIONARY_ID";
|
|||
|
|
repositoryItemLookUpEditKindSel.DisplayMember = "VC_CHAR_VALUE";
|
|||
|
|
repositoryItemLookUpEditKindWork.ValueMember = "VC_DICTIONARY_ID";
|
|||
|
|
repositoryItemLookUpEditKindWork.DisplayMember = "VC_CHAR_VALUE";
|
|||
|
|
|
|||
|
|
string userList = WebLockConfig.Instance.WebSysUsers.GetUserInfo(ref err);
|
|||
|
|
List<UserDataModel> userModelList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserDataModel>>(userList);
|
|||
|
|
repositoryItemLookUpEdit3.DataSource = userModelList;
|
|||
|
|
repositoryItemLookUpEdit3.DisplayMember = "NAME";
|
|||
|
|
repositoryItemLookUpEdit3.ValueMember = "USER_ID";
|
|||
|
|
}
|
|||
|
|
catch (Exception e)
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"+e.Message);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void BindGrid(SchedulingModel model)
|
|||
|
|
{
|
|||
|
|
string strScheduling = Newtonsoft.Json.JsonConvert.SerializeObject(model);
|
|||
|
|
string Source = WebLockConfig.Instance.WebScheduling.execSchedulingGetList(strScheduling);
|
|||
|
|
schedulingList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SchedulingModel>>(Source);
|
|||
|
|
|
|||
|
|
GCScheduling.DataSource = schedulingList;
|
|||
|
|
GVScheduling.RefreshData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void GVScheduling_DoubleClick(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
if (GVScheduling.FocusedRowHandle < 0)
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
schedulingModel = GVScheduling.GetFocusedRow() as SchedulingModel;
|
|||
|
|
BSWork.DataSource = schedulingModel;
|
|||
|
|
PageWork.PageEnabled = true;
|
|||
|
|
xtraTabControl1.SelectedTabPage = PageWork;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void GVSchedulingWork_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
if (GVSchedulingWork.FocusedRowHandle < 0)
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
schedulingModel = GVSchedulingWork.GetFocusedRow() as SchedulingModel;
|
|||
|
|
BSWork.DataSource = schedulingModel;
|
|||
|
|
if (workflag == 1 && upList.Contains(schedulingModel))
|
|||
|
|
{
|
|||
|
|
upList.Add(schedulingModel);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#region 以下是继承的按钮事件
|
|||
|
|
/// <summary>
|
|||
|
|
/// 新增按钮
|
|||
|
|
/// </summary>
|
|||
|
|
public void Add()
|
|||
|
|
{
|
|||
|
|
DicSchedulingMan.SelectType = DataSlectType.MultiSelect;
|
|||
|
|
frmButtonItem["Save"].Enabled = true;
|
|||
|
|
PageWork.PageEnabled = true;
|
|||
|
|
xtraTabControl1.SelectedTabPage = PageWork;
|
|||
|
|
workflag = 0;
|
|||
|
|
schedulingModel = new SchedulingModel() { S_DATE = DateTime.Now, S_STORAGE = userData.STORAGE_ID, S_STORAGE_NAME = userData.STORAGE_NAME };
|
|||
|
|
BSWork.DataSource = schedulingModel;
|
|||
|
|
BSWork.ResetBindings(true);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 保存按钮
|
|||
|
|
/// </summary>
|
|||
|
|
public void Save()
|
|||
|
|
{
|
|||
|
|
FrmOperator(workflag);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 作废按钮
|
|||
|
|
/// </summary>
|
|||
|
|
public void Del()
|
|||
|
|
{
|
|||
|
|
workflag = 2;
|
|||
|
|
|
|||
|
|
if (xtraTabControl1.SelectedTabPage == PageSel)
|
|||
|
|
{
|
|||
|
|
if (GVScheduling.FocusedRowHandle > -1)
|
|||
|
|
{
|
|||
|
|
if (SystemCommon.ShowMessageBoxResult("确定作废此排班计划?") == System.Windows.Forms.DialogResult.Yes)
|
|||
|
|
{
|
|||
|
|
schedulingModel = GVScheduling.GetFocusedRow() as SchedulingModel;
|
|||
|
|
Save();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
if (GVSchedulingWork.FocusedRowHandle > -1)
|
|||
|
|
{
|
|||
|
|
if (SystemCommon.ShowMessageBoxResult("确定作废此排班计划?") == System.Windows.Forms.DialogResult.Yes)
|
|||
|
|
{
|
|||
|
|
schedulingModel = GVSchedulingWork.GetFocusedRow() as SchedulingModel;
|
|||
|
|
Save();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 修改按钮
|
|||
|
|
/// </summary>
|
|||
|
|
public void Edit()
|
|||
|
|
{
|
|||
|
|
if (GVScheduling.FocusedRowHandle < 0)
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
DicSchedulingMan.SelectType = DataSlectType.RadioSelect;
|
|||
|
|
frmButtonItem["Save"].Enabled = true;
|
|||
|
|
workflag = 1;
|
|||
|
|
PageWork.PageEnabled = true;
|
|||
|
|
xtraTabControl1.SelectedTabPage = PageWork;
|
|||
|
|
|
|||
|
|
schedulingModel = GVScheduling.GetFocusedRow() as SchedulingModel;
|
|||
|
|
BSWork.DataSource = schedulingModel;
|
|||
|
|
BSWork.ResetBindings(true);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 刷新按钮
|
|||
|
|
/// </summary>
|
|||
|
|
public void Refresh()
|
|||
|
|
{
|
|||
|
|
xtraTabControl1.SelectedTabPage = PageSel;
|
|||
|
|
PageWork.PageEnabled = false;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 添加排班
|
|||
|
|
/// </summary>
|
|||
|
|
public void Confirm()
|
|||
|
|
{
|
|||
|
|
//if (workflag == 3)
|
|||
|
|
//{
|
|||
|
|
// return;
|
|||
|
|
//}
|
|||
|
|
//DicSchedulingMan.t_dictonary_ButtonClick(null, null);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 删除排班
|
|||
|
|
/// </summary>
|
|||
|
|
public void Clear()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询按钮
|
|||
|
|
/// </summary>
|
|||
|
|
public void Search()
|
|||
|
|
{
|
|||
|
|
if (xtraTabControl1.SelectedTabPage == PageSel)
|
|||
|
|
{
|
|||
|
|
BSTab.EndEdit();
|
|||
|
|
schedulingModel = BSTab.DataSource as SchedulingModel;
|
|||
|
|
if (!string.IsNullOrEmpty(DicManSel.TextBoxFlag))
|
|||
|
|
{
|
|||
|
|
schedulingModel.S_USER = DicManSel.TextBoxFlag;
|
|||
|
|
}
|
|||
|
|
BindGrid(schedulingModel);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
xtraTabControl1.SelectedTabPage = PageSel;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 导出按钮
|
|||
|
|
/// </summary>
|
|||
|
|
public void Export()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 备注
|
|||
|
|
/// </summary>
|
|||
|
|
public void Remark()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
//FrmSelectRemark frmSelectRemark = new FrmSelectRemark();
|
|||
|
|
//frmSelectRemark.remarkType = "班组管理";
|
|||
|
|
//frmSelectRemark.ShowDialog();
|
|||
|
|
//if (frmSelectRemark.remarkType != "selected") { return; }
|
|||
|
|
//teamModel.REMARK = frmSelectRemark.baseRemarkDictionaryModel.CONTENT;
|
|||
|
|
//txtRemark.Text = frmSelectRemark.baseRemarkDictionaryModel.CONTENT;
|
|||
|
|
//txtRemark.ForeColor = System.Drawing.ColorTranslator.FromHtml(frmSelectRemark.baseRemarkDictionaryModel.COLOR_ID);
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 操作(增、改、删)
|
|||
|
|
/// <summary>
|
|||
|
|
/// 操作(增、改、删)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="flag">0 新增 1修改 2删除 3停用 4启用/param>
|
|||
|
|
private void FrmOperator(int flag)
|
|||
|
|
{
|
|||
|
|
BSWork.EndEdit();
|
|||
|
|
string errtxt = string.Empty;
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
schedulingModel = BSWork.DataSource as SchedulingModel;
|
|||
|
|
schedulingModel.STATUS = "1";
|
|||
|
|
if (schedulingModel.S_DATE == null || schedulingModel.S_DATE == DateTime.MinValue)
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowErrorMessageBox("请选择排班日期!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if (Convert.ToDateTime(timeStar.EditValue) > Convert.ToDateTime(timeEnd.EditValue))
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowErrorMessageBox("起始时间大于终止时间!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if (flag == 0)
|
|||
|
|
{
|
|||
|
|
if (schedulingList == null || schedulingList.Count == 0)
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
addList.Clear();
|
|||
|
|
foreach (SchedulingModel pmodel in schedulingList)
|
|||
|
|
{
|
|||
|
|
schedulingModel.S_USER = pmodel.S_USER;
|
|||
|
|
schedulingModel.ID = WebLockConfig.Instance.WebScheduling.execGetSerialNum();
|
|||
|
|
addList.Add(schedulingModel);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
string strScheduling = Newtonsoft.Json.JsonConvert.SerializeObject(addList);
|
|||
|
|
errtxt = WebLockConfig.Instance.WebScheduling.execSchedulingAddList(strScheduling);
|
|||
|
|
}
|
|||
|
|
else if (flag == 1)
|
|||
|
|
{
|
|||
|
|
string strScheduling = Newtonsoft.Json.JsonConvert.SerializeObject(upList);
|
|||
|
|
errtxt = WebLockConfig.Instance.WebScheduling.execSchedulingUpdateList(strScheduling);
|
|||
|
|
}
|
|||
|
|
else if (flag == 2)
|
|||
|
|
{
|
|||
|
|
schedulingModel.STATUS = "0";
|
|||
|
|
string strscheduling = Newtonsoft.Json.JsonConvert.SerializeObject(schedulingModel);
|
|||
|
|
errtxt = WebLockConfig.Instance.WebScheduling.execSchedulingUpdate(strscheduling);
|
|||
|
|
}
|
|||
|
|
if (!string.IsNullOrEmpty(errtxt))
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowErrorMessageBox(errtxt);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("操作成功!");
|
|||
|
|
addList.Clear();
|
|||
|
|
upList.Clear();
|
|||
|
|
frmButtonItem["Save"].Enabled = false;
|
|||
|
|
workflag = 3;
|
|||
|
|
xtraTabControl1.SelectedTabPage = PageSel;
|
|||
|
|
PageWork.PageEnabled = false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception e)
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("您的操作失败!" + Environment.NewLine + e.Message);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
private void DicSchedulingMan_Button_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
if (DicSchedulingMan.SelectTable.Rows.Count > 0)
|
|||
|
|
{
|
|||
|
|
schedulingList.Clear();
|
|||
|
|
BSWork.EndEdit();
|
|||
|
|
schedulingModel = BSWork.DataSource as SchedulingModel;
|
|||
|
|
foreach (DataRow row in DicSchedulingMan.SelectTable.Rows)
|
|||
|
|
{
|
|||
|
|
SchedulingModel model = new SchedulingModel();
|
|||
|
|
model.S_DATE = schedulingModel.S_DATE;
|
|||
|
|
model.S_ENDTIME = schedulingModel.S_ENDTIME;
|
|||
|
|
model.S_KIND = schedulingModel.S_KIND;
|
|||
|
|
model.S_STARTIME = schedulingModel.S_STARTIME;
|
|||
|
|
model.S_STORAGE = schedulingModel.S_STORAGE;
|
|||
|
|
model.S_STORAGE_NAME = schedulingModel.S_STORAGE_NAME;
|
|||
|
|
model.S_TYPE = schedulingModel.S_TYPE;
|
|||
|
|
model.S_TYPE_NAME = schedulingModel.S_TYPE_NAME;
|
|||
|
|
model.S_USER = row["user_id"].ToString();
|
|||
|
|
model.S_USER_NAME = row["name"].ToString();
|
|||
|
|
|
|||
|
|
schedulingList.Add(model);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GCSchedulingWork.DataSource = schedulingList;
|
|||
|
|
GVSchedulingWork.RefreshData();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|