using DevExpress.Pdf.Native.BouncyCastle.Utilities.Collections;
|
using DevExpress.Utils.DirectXPaint;
|
using Gs.DevApp.Entity;
|
using Gs.DevApp.ToolBox;
|
using Gs.DevApp.UserControl;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Data.SqlTypes;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
|
namespace Gs.DevApp.DevFrm.Rpt
|
{
|
public partial class CPMX : DevExpress.XtraEditors.XtraForm
|
{
|
//条码交易明细
|
string _webServiceName = "FqcItemsManager/";
|
List<FilterEntity> _filterList = new List<FilterEntity>();
|
public CPMX()
|
{
|
InitializeComponent();
|
this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
|
this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
|
this.toolBarMenu1.getXmlConfig();
|
|
// 设置gridView1参数,并添加行选择事件处理
|
Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, this, "", "", null);
|
|
// 添加gridView1的行选择变化事件
|
gridView1.FocusedRowChanged += GridView1_FocusedRowChanged;
|
|
// 设置gridView2参数
|
Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gridView2);
|
|
Gs.DevApp.ToolBox.UtilityHelper.SetTabParameter(gridView1, xtraTabControl1, pageBar1, (value) =>
|
{
|
}, (value) =>
|
{
|
getPageList(this.pageBar1.CurrentPage);
|
});
|
getPageList(1);
|
pageBar1.PagerEvent += PageBar1_PagerEvent;
|
}
|
|
/// <summary>
|
/// gridView1行选择变化事件处理
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void GridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
|
{
|
if (e.FocusedRowHandle >= 0)
|
{
|
// 获取选中行的工单单号
|
var dr = gridView1.GetDataRow(e.FocusedRowHandle);
|
if (dr != null)
|
{
|
string workOrderNo = dr["daa001"].ToString();
|
if (!string.IsNullOrEmpty(workOrderNo))
|
{
|
// 根据工单单号获取明细数据
|
getCPMXDetail(workOrderNo);
|
}
|
}
|
}
|
else
|
{
|
// 如果没有选中行,清空gridView2
|
clearGridView2();
|
}
|
}
|
|
/// <summary>
|
/// 根据工单单号获取明细数据
|
/// </summary>
|
/// <param name="workOrderNo">工单单号</param>
|
private void getCPMXDetail(string workOrderNo)
|
{
|
try
|
{
|
// 构造请求参数
|
var requestObj = new
|
{
|
daa001 = workOrderNo
|
};
|
|
string json = JsonConvert.SerializeObject(requestObj);
|
|
// 调用后台接口获取明细数据
|
var strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetCPMXDetail", json);
|
ReturnModel<dynamic> _rtn = UtilityHelper.ReturnToDynamic(strReturn);
|
|
if (_rtn.rtnCode > 0)
|
{
|
dynamic dy = _rtn.rtnData;
|
JObject _job = JObject.Parse(strReturn);
|
JArray array = new JArray();
|
foreach (var a in _job["rtnData"]["list"])
|
{
|
array.Add(a);
|
}
|
DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
|
if (dt.Rows.Count > 0)
|
{
|
gridControl1.BindingContext = new BindingContext();
|
gridControl1.DataSource = dt;
|
gridControl1.ForceInitialize();
|
gridView2.BestFitColumns();
|
Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView2);
|
}
|
else
|
{
|
Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gridControl1, gridView2);
|
}
|
}
|
else
|
{
|
ToolBox.MsgHelper.ShowError("获取明细数据失败:" + _rtn.rtnMsg);
|
clearGridView2();
|
}
|
}
|
catch (Exception ex)
|
{
|
ToolBox.MsgHelper.ShowError("获取明细数据异常:" + ex.Message);
|
clearGridView2();
|
}
|
}
|
|
/// <summary>
|
/// 清空gridView2
|
/// </summary>
|
private void clearGridView2()
|
{
|
gridControl1.DataSource = null;
|
UtilityHelper.SetDefaultTable(gridControl1, gridView2);
|
}
|
|
private async void GridView1_ColumnFilterChanged(object sender, EventArgs e)
|
{
|
_filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns, gridView1);
|
await Task.Delay(100);
|
getPageList(1);
|
}
|
|
/// <summary>
|
/// 分页事件
|
/// </summary>
|
/// <param name="curPage"></param>
|
/// <param name="pageSize"></param>
|
private void PageBar1_PagerEvent(int curPage, int pageSize)
|
{
|
getPageList(curPage);
|
}
|
/// <summary>
|
/// 查询事件
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
|
{
|
gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
|
gridView1.ActiveFilter.Clear();
|
gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
|
var frm = new ShowFilter(gridView1.Columns, _filterList, this.GetType().FullName);
|
frm.UpdateParent += Frm_UpdateParent;
|
frm.ShowDialog();
|
}
|
/// <summary>
|
/// 查询回调
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void Frm_UpdateParent(object sender, UpdateParentEventArgs e)
|
{
|
_filterList = e.FilterList;
|
getPageList(1);
|
}
|
|
/// <summary>
|
/// 刷新事件
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
|
{
|
getPageList(this.pageBar1.CurrentPage);
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="curPage">第几页</param>
|
/// <param name="pageSize">每页几条</param>
|
private void getPageList(int curPage)
|
{
|
gcMain1.DataSource = null; var _sbSqlWhere = UtilityHelper.GetSearchWhere(_filterList);
|
PageQueryModel pgq = new PageQueryModel(curPage, this.pageBar1.RowsCount, "a.INDEP_DATE", "asc", "", _sbSqlWhere.ToString());
|
string json = JsonConvert.SerializeObject(pgq);
|
try
|
{
|
var strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetCPMX", json);
|
ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
|
if (dd.rtnCode > 0)
|
{
|
DataTable dt = dd.rtnData.list;
|
gcMain1.BindingContext = new BindingContext();
|
gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
|
if (dt.Rows.Count > 0)
|
{
|
gcMain1.DataSource = dt;
|
gcMain1.ForceInitialize();
|
gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
|
|
}
|
else
|
UtilityHelper.SetDefaultTable(gcMain1, gridView1);
|
gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
|
pageBar1.TotalPages = dd.rtnData.pages;//总页
|
pageBar1.CurrentPage = curPage;//当前页
|
pageBar1.RecordCount = dd.rtnData.total;//总记录数
|
}
|
else
|
{
|
ToolBox.MsgHelper.ShowError("提示:" + dd.rtnMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
ToolBox.MsgHelper.ShowError("提示:" + ex.Message);
|
}
|
}
|
}
|
}
|