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