123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356 |
- using ComponentFactory.Krypton.Toolkit;
- using NXWMS.Client.Code.Converter;
- using NXWMS.Client.Code.Extends;
- using NXWMS.Client.Model.AppModels.Condition.Balance;
- using NXWMS.Client.Model.AppModels.Condition.Base;
- using NXWMS.Client.Model.AppModels.Result;
- using NXWMS.Client.Model.AppModels.Result.Balance;
- using NXWMS.Client.Model.AppModels.Result.Base;
- using NXWMS.Client.Model.CoreModels;
- using NXWMS.Client.String.Enums;
- using NXWMS.Commons;
- using NXWMS.Services;
- 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 static NXWMS.Client.FrmCustom.ColumnControl;
- namespace NXWMS.Forms.Balance
- {
- public partial class frmBalanceDetailSearch : KryptonForm
- {
- /// <summary>
- /// 客户端字段排序列表
- /// </summary>
- private List<ClientFieldOrderResult> _clientFieldOrderList;
- /// <summary>
- /// 库区
- /// </summary>
- private List<RegionResult> regionList;
- /// <summary>
- /// 物料类型列表
- /// </summary>
- private List<MaterielTypeResult> materielTypeList;
- /// <summary>
- /// 供应商列表
- /// </summary>
- private List<SupplierResult> supplierList;
- /// <summary>
- /// 调用窗体类型
- /// </summary>
- public ExecFormType _execFormType;
- /// <summary>
- /// 正在新增库存记录
- /// </summary>
- public static List<string> _alreadyAddIdList;
- /// <summary>
- /// 限制库存状态
- /// </summary>
- public int? _limitBalanceStatus;
- public frmBalanceDetailSearch()
- {
- InitializeComponent();
- }
- private void frmBalanceDetailSearch_Shown(object sender, EventArgs e)
- {
- InitData();
- InitControl();
- _pageIndex = 1;
- _pageSize = 20;
- }
- /// <summary>
- /// 控件初始化
- /// </summary>
- private void InitControl()
- {
- CheckForIllegalCrossThreadCalls = false;
- dataGridView.CellClick += new DataGridViewCellEventHandler(dataGridView_CellClick);
- dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false);
- cmbSearchRegionCode.DataSource = regionList;
- cmbSearchRegionCode.DisplayMember = "REGION_NAME";
- cmbSearchRegionCode.ValueMember = "REGION_CODE";
- cmbSearchRegionCode.SelectedIndex = -1;
- cmbSearchMaterielType.DataSource = materielTypeList;
- cmbSearchMaterielType.DisplayMember = "MATERIEL_TYPE_NAME";
- cmbSearchMaterielType.ValueMember = "MATERIEL_TYPE_CODE";
- cmbSearchMaterielType.SelectedIndex = -1;
- var fieldList = new List<FieldValue>().Add<FieldValue>(new FieldValue { Id = "", Name = "全部" });
- cmbSearchQualityStatus.DataSource = fieldList.GetFieldValueIdList<QualityStatus>();
- cmbSearchQualityStatus.DisplayMember = "Name";
- cmbSearchQualityStatus.ValueMember = "Id";
- cmbSearchQualityStatus.SelectedIndex = -1;
- fieldList = new List<FieldValue>().Add<FieldValue>(new FieldValue { Id = "", Name = "全部" });
- cmbSearchBalanceStatus.DataSource = fieldList.GetFieldValueIdList<BalanceStatus>();
- cmbSearchBalanceStatus.DisplayMember = "Name";
- cmbSearchBalanceStatus.ValueMember = "Id";
- cmbSearchBalanceStatus.SelectedIndex = -1;
- fieldList = new List<FieldValue>().Add<FieldValue>(new FieldValue { Id = "", Name = "全部" });
- cmbSearchSupplier.DataSource = fieldList.GetFieldValueIdList(supplierList, "SUPPLIER_CODE", "SUPPLIER_NAME");
- cmbSearchSupplier.DisplayMember = "Name";
- cmbSearchSupplier.ValueMember = "Code";
- cmbSearchSupplier.SelectedIndex = -1;
- _pageIndex = 1;
- _pageSize = 20;
- switch (_execFormType)
- {
- case ExecFormType.Default:
- kryptonButtonUnbund.Visible = true;
- kryptonButtonConfirm.Visible = false;
- panelBase.Visible = true;
- btnSearchExtend.Visible = false;
- break;
- case ExecFormType.Select:
- kryptonButtonConfirm.Visible = true;
- kryptonButtonUnbund.Visible = false;
- panelBase.Visible = false;
- panelExtend.Visible = true;
- cmbSearchBalanceStatus.Text = BalanceStatus.InStock.Description();
- cmbSearchBalanceStatus.Enabled = false;
- _limitBalanceStatus = (int)BalanceStatus.InStock;
- break;
- }
- }
- /// <summary>
- /// 数据初始化
- /// </summary>
- private void InitData()
- {
- var regionResult = BaseServices.regionService.GetList(new RegionSearchCondition { IsUsed = true, ItemSQL = "REGION_CODE,REGION_NAME" });
- if (regionResult.Status == OperateStatus.Success)
- {
- regionList = regionResult.Data.RowData.ToList();
- }
- var materielTypeResult = BaseServices.materielTypeService.GetList(new MaterielTypeSearchCondition { IsUsed = true, ItemSQL = "MATERIEL_TYPE_CODE,MATERIEL_TYPE_NAME" });
- if (materielTypeResult.Status == OperateStatus.Success)
- {
- materielTypeList = materielTypeResult.Data.RowData.ToList();
- }
- var supplierResult = BaseServices.supplierService.GetList(new SupplierSearchCondition { IsUsed = true, ItemSQL = "SUPPLIER_CODE,SUPPLIER_NAME" });
- if (supplierResult.Status == OperateStatus.Success)
- {
- supplierList = supplierResult.Data.RowData.ToList();
- }
- _clientFieldOrderList = new List<ClientFieldOrderResult>();
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielTypeCode", FieldDesc = "物料类型编码" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielTypeName", FieldDesc = "物料类型名称" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielCode", FieldDesc = "物料编码" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielName", FieldDesc = "物料名称" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UnitName", FieldDesc = "单位" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "QTY", FieldDesc = "数量" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "BatchNo", FieldDesc = "批次号" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "WAREHOUSE_NAME", FieldDesc = "所在仓库" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "REGION_NAME", FieldDesc = "所在库区" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "BinName", FieldDesc = "所在库位" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "TrayCode", FieldDesc = "所在组盘码" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "PalletCode", FieldDesc = "所在托盘" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "ProductDate", FieldDesc = "生产日期" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "ExpDate", FieldDesc = "失效日期" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "QualityStatusName", FieldDesc = "库品状态" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "BalanceStatusName", FieldDesc = "库存状态" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CreateName", FieldDesc = "创建人" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CREATE_TIME", FieldDesc = "创建时间" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UpdateName", FieldDesc = "更新人" });
- _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UPDATE_TIME", FieldDesc = "更新时间" });
- }
- private void btnSearch_Click(object sender, EventArgs e)
- {
- _pageIndex = 1;
- var loadfrm = new frmLoading();
- loadfrm.Show();
- //pageTool.Initialize(LoadSearch, 0, _pageSize);
- var message = loadfrm.EventCalExec(LoadSearch, this.pageTool.PageIndex, this.pageTool.PageSize);
- pageTool.DataCount = _totalCount;
- if (!string.IsNullOrWhiteSpace(message))
- {
- KryptonMessageBox.Show($"查询失败!\r\n{message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- private int _pageSize;
- private int _pageIndex;
- private int _totalCount;
- private string LoadSearch(int pageIndex, int pageSize)
- {
- var result = BalanceServices.balanceSearchService.GetDetailList(new BalanceDetailSearchCondition
- {
- OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
- ExpBeginDate = dtpSearchExpBeginDate.GetDateTimeValue(),
- ExpEndDate = dtpSearchExpEndDate.GetDateTimeValue(),
- ProductBeginDate = dtpSearchProductBeginDate.GetDateTimeValue(),
- ProductEndDate = dtpSearchProductEndDate.GetDateTimeValue(),
- BalanceStatus = _limitBalanceStatus == null ?
- cmbSearchBalanceStatus.SelectedValue.GetObjectToInt() : _limitBalanceStatus,
- BatchNo = txtSearchBatchNo.Text,
- BinInfo = txtSearchBinInfo.Text,
- MaterielInfo = txtSearchMaterielInfo.Text,
- MaterielType = cmbSearchMaterielType.SelectedValue.GetObjectToString(),
- PalletInfo = txtSearchPalletInfo.Text,
- QualityStatus = cmbSearchQualityStatus.SelectedValue.GetObjectToString(),
- RegionCode = cmbSearchRegionCode.SelectedValue.GetObjectToString(),
- SpecsModel = txtSearchSpecsModel.Text,
- WarehouseInfo = txtSearchWarehouseInfo.Text,
- PageIndex = pageIndex,
- PageSize = pageSize,
- SupplierCode = cmbSearchSupplier.SelectedValue.GetObjectToString(),
- });
- if (result.Status == OperateStatus.Success)
- {
- _totalCount = result.Data.TotalCount;
- _pageIndex = pageIndex;
- _pageSize = pageSize;
- if (result.Data.RowData.Any())
- {
- dataGridView.Columns.Clear();
- dataGridView.DataSource = result.Data.RowData.ToList();
- dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList));
- }
- else
- {
- if (dataGridView.DataSource != null)
- {
- dataGridView.DataSource = new List<BalanceDetailSearchResult>();
- }
- dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false);
- }
- return string.Empty;
- }
- else
- {
- return result.Message;
- }
- }
- private void btnSearchExport_Click(object sender, EventArgs e)
- {
- this.dataGridView.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH"));
- }
- private void kryptonButtonUnbund_Click(object sender, EventArgs e)
- {
- if (!_CheckRowIdList.Any())
- {
- KryptonMessageBox.Show($"请选择数据进行操作!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- foreach (DataGridViewRow row in dataGridView.Rows)
- {
- if (row.Cells["BALANCE_STATUS"].Value.ToString() == ((int)BalanceStatus.Relieve).ToString())
- {
- KryptonMessageBox.Show($"选中记录已存在状态等于解绑数据,请去除选择重新解绑!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
- var selectIndex = dataGridView.CurrentRow.Index;
- if (selectIndex >= 0)
- {
- var data = dataGridView.Rows[selectIndex];
- if (KryptonMessageBox.Show($"确认解绑选中的数据吗?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
- {
- var editResult = BalanceServices.balanceOperateService.BalanceStatusChange(new BalanceStatusChangeCondition
- {
- OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
- BalanceIds = string.Join(",", _CheckRowIdList),
- BalanceStatus = BalanceStatus.Relieve,
- });
- if (editResult.Status == OperateStatus.Success)
- {
- KryptonMessageBox.Show($"操作成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
- btnSearch_Click(null, null);
- }
- }
- }
- }
- /// <summary>
- /// 选择行主键列表
- /// </summary>
- public List<string> _CheckRowIdList = new List<string>();
- /// <summary>
- /// 当前页面操作的主键
- /// </summary>
- private string _PrimaryKey = "BALANCE_ID";
- private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
- {
- if (e.RowIndex >= 0 && e.ColumnIndex == 0)
- {
- if (this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null)
- {
- if (!_CheckRowIdList.Where(s => s == dataGridView.Rows[e.RowIndex].Cells[_PrimaryKey].Value.ToString()).Any())
- {
- _CheckRowIdList.Add(dataGridView.Rows[e.RowIndex].Cells[_PrimaryKey].Value.ToString());
- }
- this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 1;
- }
- else if (dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "1")
- {
- if (_CheckRowIdList.Where(s => s == dataGridView.Rows[e.RowIndex].Cells[_PrimaryKey].Value.ToString()).Any())
- {
- _CheckRowIdList.Remove(dataGridView.Rows[e.RowIndex].Cells[_PrimaryKey].Value.ToString());
- }
- this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 0;
- }
- else
- {
- if (!_CheckRowIdList.Where(s => s == dataGridView.Rows[e.RowIndex].Cells[_PrimaryKey].Value.ToString()).Any())
- {
- _CheckRowIdList.Add(dataGridView.Rows[e.RowIndex].Cells[_PrimaryKey].Value.ToString());
- }
- this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 1;
- }
- }
- }
- private void kryptonButtonConfirm_Click(object sender, EventArgs e)
- {
- if (KryptonMessageBox.Show($"确认提交选中的记录至盘库明细中?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
- {
- _alreadyAddIdList = _alreadyAddIdList.Union(_CheckRowIdList).ToList();
- DialogResult = DialogResult.Yes;
- }
- }
- private void btnSearchExtend_Click(object sender, EventArgs e)
- {
- btnSearch_Click(null, null);
- }
- private void frmBalanceDetailSearch_Load(object sender, EventArgs e)
- {
- }
- }
- }
|