using Newtonsoft.Json.Linq; using PTMedicalInsurance.Business.Clearing; using PTMedicalInsurance.Common; using PTMedicalInsurance.Forms.Setters.Clearings; using PTMedicalInsurance.Variables; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace PTMedicalInsurance.Forms.Clearings { public partial class OutOfAreaClearing : Form { private Form mainForm; private OutOfAreaPatientClearing oopc ; string msg = ""; public string uploadStatus { get { if (rbNoUpload.Checked) { return "未上传"; } else { return ""; } } } public OutOfAreaClearing() { InitializeComponent(); } public OutOfAreaClearing(Form frm) { InitializeComponent(); InitForm(frm); oopc = new OutOfAreaPatientClearing(this); } private void InitForm(Form frm) { mainForm = frm; CheckForIllegalCrossThreadCalls = false; // 禁用关闭按钮 this.FormBorderStyle = FormBorderStyle.None; // 隐藏标题栏 this.ControlBox = false; // 其他可能需要的配置 this.TopLevel = false; this.Dock = DockStyle.Fill; // 根据需要设置 Dock 属性 //设置表格标题 GridViewSetter gvs = new GridViewSetter(); gvs.SetHeaderTextOfQueryDetail(dgvResult); //初始化时间,清分为9号之前,默认为上个月 dpYearMonth.Value = dpST.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1); dpED.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddDays(-1); //默认为全部 rbAll.Checked = true; } private void btnQuery_Click(object sender, EventArgs e) { dynamic input = new { month = dpYearMonth.Text, hospitalDr = Global.inf.hospitalDr,beginDate =dpST.Text,endDate = dpED.Text }; if (oopc.Query(JObject.FromObject(input),dgvResult,out msg) != 0) { MessageBox.Show(msg); } } private void btClose_Click(object sender, EventArgs e) { mainForm.Close(); } private void tsmRollBack_Click(object sender, EventArgs e) { if (oopc.RollBackSingle(dgvResult, out msg) != 0) { MessageBox.Show(msg); } } private void btUpload_Click(object sender, EventArgs e) { //if (oopc.Upload(dgvResult, out msg) != 0) //{ // MessageBox.Show(msg); //} // 创建 DataLoader 并传递 queryExportData 方法 //DataLoader _dataLoader; //_dataLoader = new DataLoader(oopc.Upload, this); //_dataLoader.SetProgressBar(ProgressBarStyle.Continuous, "正在上传...", 50); //_dataLoader.Start(new object[] { 0 }, (result, errMsg) => //{ // MessageBox.Show(errMsg); //}); //btnQuery_Click(sender,null); } private void tsmSingleConfirm_Click(object sender, EventArgs e) { int i = dgvResult.CurrentRow.Index; DataTable dt = (DataTable)dgvResult.DataSource; DataRow dr = dt.Rows[i]; if (oopc.SingleUpload(dr, out msg) != 0) { MessageBox.Show(msg); } else { MessageBox.Show("上传成功"); } } private void tsmRollBackAll_Click(object sender, EventArgs e) { if (oopc.RollBackAll( out msg) != 0) { MessageBox.Show(msg); } } private void dgvResult_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { // 确保不是标题行,并且有对应的列 if (e.RowIndex < 0 || e.ColumnIndex < 0) return; DataGridView dgv = sender as DataGridView; DataGridViewColumn column = dgv.Columns[e.ColumnIndex]; // 根据列名判断是否是你要处理的CheckBox列 if (column.Name == "cnfm_flag" && e.Value != null) { // 将0和1转换为bool值 if (int.TryParse(e.Value.ToString(), out int intValue)) { e.Value = intValue == 1; // 如果intValue不为0,则为true,否则为false e.FormattingApplied = true; } } } private void dgvResult_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { var dgv = sender as DataGridView; if (dgv != null) { foreach (DataGridViewRow row in dgv.Rows) { if (!row.IsNewRow) // 忽略新增行 { // 设置行标题的值为序号(从1开始) row.HeaderCell.Value = (row.Index + 1).ToString(); } } } } private void btExport_Click(object sender, EventArgs e) { //// 创建 DataLoader 并传递 queryExportData 方法 //DataLoader _dataLoader; //_dataLoader = new DataLoader(oopc.ExportDataToExcel, this); //Dataloader_ExportContext exportContext = new Dataloader_ExportContext(); //exportContext.dtExport = (DataTable)dgvResult.DataSource; //exportContext.dgv = dgvResult; //exportContext.fileName = $"{dpST.Value.ToString("yyyyMMdd")}-{dpED.Value.ToString("yyyyMMdd")}清分.xls"; //_dataLoader.Start(new object[] { exportContext }, (result, errMsg) => //{ // // 在这里处理结果和错误信息 // if (result == 0) // { // MessageBox.Show(errMsg); // } // else // { // MessageBox.Show(errMsg); // } //}); } } }