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();
|
||
}
|
||
}
|
||
}
|
||
}
|