BaoKai_202508_Wms_Jingwang_.../WMS.FrmTR/FrmScheduling.cs
2025-08-24 21:52:42 +08:00

384 lines
14 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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