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.Common;
using WMS.Base.WebService;
using WMS.Ctrl;
using WMS.Model.Base;
using WMS.Frm.Base;
namespace WMS.FrmPerformance
{
public partial class FrmWorkLoad : FormBase
{
///
/// 派工单MODEL
///
WorkLoadModel workModel = new WorkLoadModel();
///
/// 派工单集合
///
List workList = new List();
///
/// 派工明细增加集合
///
List addList = new List();
///
/// 派工明细删除集合
///
List delList = new List();
///
/// 派工明细修改集合
///
List upList = new List();
List goodsListModel = new List();
///
/// 业务类型
///
int workflag = 3;//0 增加 1 修改 2 删除 ;
public FrmWorkLoad()
{
InitializeComponent();
}
private void FrmWorkLoad_Load(object sender, EventArgs e)
{
BindLep();
workModel.WORK_DATE_STAR = DateTime.Now.AddDays(-7);
workModel.WORK_DATE_END = DateTime.Now;
BindWorkLoad(workModel);
}
private void BindLep()
{
string strUser = WebLockConfig.Instance.WebSystemUser.GetAllUsers();
List userList = Newtonsoft.Json.JsonConvert.DeserializeObject>(strUser);
repositoryItemLookUpEditUser.DataSource = userList;
repositoryItemLookUpEditUser.DisplayMember = "NAME";
repositoryItemLookUpEditUser.ValueMember = "USER_ID";
string strDepModel = Newtonsoft.Json.JsonConvert.SerializeObject(new WMS.Model.SystemManage.CompanyModel());
string strDep = WebLockConfig.Instance.WebCompany.GetCompanyNodesData(strDepModel);
List depList = Newtonsoft.Json.JsonConvert.DeserializeObject>(strDep);
repositoryItemLookUpEditDep.DataSource = depList;
repositoryItemLookUpEditDep.DisplayMember = "COM_NAME";
repositoryItemLookUpEditDep.ValueMember = "COM_ID";
string strWorkModel = Newtonsoft.Json.JsonConvert.SerializeObject(new WorkTypeModel());
string strWork = WebLockConfig.Instance.WebWorkType.execWorkTypeGetList(strWorkModel);
List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strWork);
repositoryItemLookUpEditWorkType.DataSource = list;
repositoryItemLookUpEditWorkType.DisplayMember = "WORK_NAME";
repositoryItemLookUpEditWorkType.ValueMember = "WORK_ID";
}
private void BindWorkLoad(WorkLoadModel model)
{
string strModel = Newtonsoft.Json.JsonConvert.SerializeObject(model);
string strList = WebLockConfig.Instance.WebWorkLoad.execWorkLoadGetList(strModel);
workList = Newtonsoft.Json.JsonConvert.DeserializeObject>(strList);
GCWorkType.DataSource = workList;
GVWorkType.RefreshData();
}
#region 以下是继承的按钮事件
///
/// 新增按钮
///
public void Add()
{
frmButtonItem["Save"].Enabled = true;
frmButtonItem["Clear"].Enabled = true;
frmButtonItem["Confirm"].Enabled = true;
workflag = 0;
workModel = new WorkLoadModel();
}
///
/// 保存按钮
///
public void Save()
{
FrmOperator(workflag);
}
///
/// 删除按钮
///
public void Del()
{
workflag = 2;
if (GVWorkType.FocusedRowHandle > -1)
{
if (SystemCommon.ShowMessageBoxResult("确定此工作量记录?") == System.Windows.Forms.DialogResult.Yes)
{
Save();
}
}
}
///
/// 修改按钮
///
public void Edit()
{
if (GVWorkType.FocusedRowHandle < 0)
{
return;
}
frmButtonItem["Save"].Enabled = true;
frmButtonItem["Clear"].Enabled = true;
frmButtonItem["Confirm"].Enabled = true;
workflag = 1;
workModel = GVWorkType.GetFocusedRow() as WorkLoadModel;
txtBillsID.Text = workModel.BILLS_ID;
DateWork.EditValue = workModel.WORK_DATE;
}
///
/// 刷新按钮
///
public void Refresh()
{
workModel = new WorkLoadModel();
workModel.WORK_DATE_STAR = DateTime.Now.AddDays(-7);
workModel.WORK_DATE_END = DateTime.Now;
BindWorkLoad(workModel);
}
///
/// 明细增加
///
public void Clear()
{
if (!string.IsNullOrEmpty(workModel.BILLS_ID))
{
workList.Add(new WorkLoadModel() { BILLS_ID = workModel.BILLS_ID });
GCWorkType.DataSource = workList;
GVWorkType.RefreshData();
}
}
///
/// 明细删除
///
public void Confirm()
{
if (GVWorkType.FocusedRowHandle > -1)
{
WorkLoadModel model = GVWorkType.GetFocusedRow() as WorkLoadModel;
workList.Remove(model);
GCWorkType.DataSource = workList;
GVWorkType.RefreshData();
if (addList.Contains(model))
{
addList.Remove(model);
}
if (upList.Contains(model))
{
upList.Remove(model);
}
if (!delList.Contains(model))
{
delList.Add(model);
}
}
}
///
/// 查询按钮
///
public void Search()
{
GCWorkType.Focus();
GCWorkType.Select();
workModel = new WorkLoadModel();
workModel.BILLS_ID = txtBillsID.Text;
workModel.WORK_DATE = DateWork.DateTime;
BindWorkLoad(workModel);
}
///
/// 导出按钮
///
public void Export()
{
}
///
/// 备注
///
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 操作(增、改、删)
///
/// 操作(增、改、删)
///
/// 0 新增 1修改 2删除 3停用 4启用/param>
private void FrmOperator(int flag)
{
GVWorkType.CloseEditor();
GVWorkType.UpdateCurrentRow();
string errtxt = "";
try
{
if (string.IsNullOrEmpty(workModel.BILLS_ID))
{
SystemCommon.ShowErrorMessageBox("请指定原业务单据!");
return;
}
if (workList.Count == 0)
{
SystemCommon.ShowErrorMessageBox("请完善工作量信息!");
return;
}
if (flag == 0)
{
string strWorkList = Newtonsoft.Json.JsonConvert.SerializeObject(workList);
errtxt = WebLockConfig.Instance.WebWorkLoad.execWorkLoadAddList(strWorkList);
}
else if (flag == 1)
{
string straddInfo = Newtonsoft.Json.JsonConvert.SerializeObject(addList);
string strdelInfo = Newtonsoft.Json.JsonConvert.SerializeObject(delList);
string strupInfo = Newtonsoft.Json.JsonConvert.SerializeObject(upList);
errtxt = WebLockConfig.Instance.WebWorkLoad.execWorkLoadUpAndList(straddInfo, strdelInfo, strupInfo);
}
else if (flag == 2)
{
string strWorkModel = Newtonsoft.Json.JsonConvert.SerializeObject(GVWorkType.GetFocusedRow() as WorkLoadModel);
errtxt = WebLockConfig.Instance.WebWorkLoad.execWorkLoadDel(strWorkModel);
}
if (!string.IsNullOrEmpty(errtxt))
{
SystemCommon.ShowErrorMessageBox(errtxt);
}
else
{
SystemCommon.ShowInfoMessageBox("操作成功!");
addList.Clear();
upList.Clear();
delList.Clear();
frmButtonItem["Save"].Enabled = false;
frmButtonItem["Clear"].Enabled = false;
frmButtonItem["Confirm"].Enabled = false;
workflag = 3;
workModel.WORK_DATE_STAR = DateTime.Now.AddDays(-7);
workModel.WORK_DATE_END = DateTime.Now;
BindWorkLoad(workModel);
}
}
catch (Exception e)
{
SystemCommon.ShowInfoMessageBox("您的操作失败!" + Environment.NewLine + e.Message);
}
}
#endregion
private void GVWorkType_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
if (e.RowHandle < 0)
{
return;
}
WorkLoadModel focModel = GVWorkType.GetFocusedRow() as WorkLoadModel;
if (!addList.Contains(focModel))
{
addList.Add(focModel);
}
if (!upList.Contains(focModel))
{
upList.Add(focModel);
}
}
private void txtDispatching_Leave(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtDispatching.Text))
{
LoadForm load = new LoadForm();
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 50);
DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("正在加载窗体,请等待....");
string strDis = Newtonsoft.Json.JsonConvert.SerializeObject(new DispatchingModel() { PAT_ID = txtDispatching.Text });
string strList = WebLockConfig.Instance.WebDispatchingInfo.execDispatchingInfoGetList(strDis);
List disList = Newtonsoft.Json.JsonConvert.DeserializeObject>(strList);
if (disList.Count > 0)
{
txtBillsID.Text = disList[0].BILL_ID;
DateWork.EditValue = disList[0].WORK_DATE;
string strDisInfo = Newtonsoft.Json.JsonConvert.SerializeObject(new DispatchingInfoModel() { PAT_ID = txtDispatching.Text });
string strInfoList = WebLockConfig.Instance.WebDispatchingInfo.execDispatchingInfoGetList(strDisInfo);
List disInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject>(strInfoList);
if (disInfoList.Count > 0)
{
workList.Clear();
string strUser = WebLockConfig.Instance.WebSystemUser.GetAllUsers();
List userList = Newtonsoft.Json.JsonConvert.DeserializeObject>(strUser);
foreach (DispatchingInfoModel model in disInfoList)
{
WorkLoadModel wmodel = new WorkLoadModel();
UserDataModel usermodel = userList.Find(r => r.USER_ID == model.USER_ID);
wmodel.ID = Guid.NewGuid().ToString();
wmodel.USER_ID = model.USER_ID;
wmodel.WORK_DATE = DateWork.DateTime;
wmodel.DEP_ID = usermodel.COM_ID;
wmodel.DEP_NAME = usermodel.COM_NAME;
wmodel.WORK_TYPE = usermodel.WORKKIND_ID;
//wmodel. = usermodel.WORKKIND_ID;
workList.Add(wmodel);
}
}
}
DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
}
}
}
}