405 lines
19 KiB
C#
405 lines
19 KiB
C#
using AIMSBLL;
|
|
using AIMSExtension;
|
|
using AIMSModel;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Windows.Forms;
|
|
|
|
namespace AIMS
|
|
{
|
|
public partial class frmNotesRecordExport : Form
|
|
{
|
|
public SysConfig exportConfig;
|
|
public string DataGridViewPath = "";
|
|
public DataGridView selectdgv;
|
|
public frmNotesRecordExport()
|
|
{
|
|
InitializeComponent();
|
|
dgvtReport.AutoGenerateColumns = false;
|
|
dgvtReport2.AutoGenerateColumns = false;
|
|
dgvtReport3.AutoGenerateColumns = false;
|
|
dgvtReport4.AutoGenerateColumns = false;
|
|
}
|
|
private void frmOperationDruggCheck_Load(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
DateTime today = DateTime.Today;
|
|
DateTime firstDayOfMonth = new DateTime(today.Year, today.Month, 1);
|
|
dtpOpeTime.Value = firstDayOfMonth;
|
|
dtpOpeTime2.Value = firstDayOfMonth;
|
|
dtpOpeTime3.Value = firstDayOfMonth;
|
|
dtpOpeTime4.Value = firstDayOfMonth;
|
|
|
|
dtpEnd2.Value = DateTime.Now;
|
|
dtpEnd3.Value = DateTime.Now;
|
|
dtpEnd.Value = DateTime.Now;
|
|
dtpEnd4.Value = DateTime.Now;
|
|
|
|
btn手术例数按月统计_Click(null, null);
|
|
}
|
|
catch (Exception exp)
|
|
{
|
|
PublicMethod.WriteLog(exp);
|
|
}
|
|
}
|
|
private void toolStripButton1_Click(object sender, EventArgs e)
|
|
{
|
|
PrintORVirew(false);
|
|
}
|
|
private void LoadNoteData(string beginTime, string endTime, string notename)
|
|
{
|
|
System.Data.DataTable dataResult = BNotesRecords.GetMonthDayTable(beginTime, endTime);
|
|
List<NotesRecord> nrecords = BNotesRecord.Select(" NoteName = '" + notename + "' and RecordTime>='" + beginTime + "' and RecordTime<'" + endTime + "' ", null);
|
|
List<NotesRecord> records = new List<NotesRecord>();
|
|
for (int i = 0; i < dataResult.Rows.Count; i++)
|
|
{
|
|
DateTime RecordTime = Convert.ToDateTime(dataResult.Rows[i][0]);
|
|
NotesRecord record = new NotesRecord();
|
|
record.RecordTime = RecordTime;
|
|
foreach (var item in nrecords)
|
|
{
|
|
if (item.RecordTime == RecordTime)
|
|
{
|
|
record = item;
|
|
continue;
|
|
}
|
|
}
|
|
records.Add(record);
|
|
}
|
|
selectdgv.DataSource = records;
|
|
}
|
|
private void NewMethod(string notename)
|
|
{
|
|
for (int i = 0; i < selectdgv.Rows.Count; i++)
|
|
{
|
|
DataGridViewRow dr = selectdgv.Rows[i];
|
|
NotesRecord record = new NotesRecord();
|
|
record.NoteName = notename;
|
|
record.RecordTime = Convert.ToDateTime(dr.Cells[1].EditedFormattedValue.ToString());
|
|
record.Content1 = dr.Cells[2].EditedFormattedValue.ToString();
|
|
record.Content2 = dr.Cells[3].EditedFormattedValue.ToString();
|
|
record.Content3 = dr.Cells[4].EditedFormattedValue.ToString();
|
|
record.Content4 = dr.Cells[5].EditedFormattedValue.ToString();
|
|
record.Content5 = dr.Cells[6].EditedFormattedValue.ToString();
|
|
if (selectdgv.Columns.Count == 11)
|
|
{
|
|
record.Content6 = dr.Cells[7].EditedFormattedValue.ToString();
|
|
record.Content7 = dr.Cells[8].EditedFormattedValue.ToString();
|
|
record.Content8 = dr.Cells[9].EditedFormattedValue.ToString();
|
|
record.ExecWork = dr.Cells[10].EditedFormattedValue.ToString();
|
|
}
|
|
else if (selectdgv.Columns.Count == 9)
|
|
{
|
|
record.Content6 = dr.Cells[7].EditedFormattedValue.ToString();
|
|
record.ExecWork = dr.Cells[8].EditedFormattedValue.ToString();
|
|
}
|
|
else
|
|
record.ExecWork = dr.Cells[7].EditedFormattedValue.ToString();
|
|
record.OperatorId = PublicMethod.OperatorId;
|
|
record.OperatorTime = DateTime.Now;
|
|
record.Remark = "";
|
|
BNotesRecord.Delete(" NoteName = '" + notename + "' and RecordTime='" + record.RecordTime + "'", null);
|
|
BNotesRecord.Insert(record);
|
|
}
|
|
MessageBox.Show("保存成功!");
|
|
}
|
|
private void btn冰箱监测_Click(object sender, EventArgs e)
|
|
{
|
|
selectdgv = dgvtReport2;
|
|
string beginTime = Convert.ToDateTime(dtpOpeTime2.Value).ToString("yyyy-MM-dd 00:00:00");
|
|
string endTime = Convert.ToDateTime(dtpEnd2.Value).AddDays(1).ToString("yyyy-MM-dd 00:00:00");
|
|
|
|
LoadNoteData(beginTime, endTime, "冰箱监测");
|
|
}
|
|
private void btn冰箱监测Save_Click(object sender, EventArgs e)
|
|
{
|
|
NewMethod("冰箱监测");
|
|
}
|
|
private void dgvtReport2_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
DialogResult dialog = MessageBox.Show("是否批量填写数据?", "系统提示", MessageBoxButtons.YesNo);
|
|
if (dialog == DialogResult.Yes)
|
|
{
|
|
string batchNo = dgvtReport2.Rows[e.RowIndex].Cells[e.ColumnIndex].EditedFormattedValue.ToString();
|
|
for (int i = 0; i < dgvtReport2.Rows.Count; i++)
|
|
{
|
|
dgvtReport2.Rows[i].Cells[e.ColumnIndex].Value = batchNo;
|
|
}
|
|
}
|
|
}
|
|
private void dgvtReport2_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
|
|
{
|
|
//隔行换色
|
|
this.dgvtReport2.RowsDefaultCellStyle.BackColor = System.Drawing.Color.White;//设置背景为白色
|
|
this.dgvtReport2.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(212)))), ((int)(((byte)(242)))), (((int)(((byte)242)))));//青色
|
|
}
|
|
private void btn麻醉贵重物品清点本_Click(object sender, EventArgs e)
|
|
{
|
|
selectdgv = dgvtReport3;
|
|
string beginTime = Convert.ToDateTime(dtpOpeTime3.Value).ToString("yyyy-MM-dd 00:00:00");
|
|
string endTime = Convert.ToDateTime(dtpEnd3.Value).AddDays(1).ToString("yyyy-MM-dd 00:00:00");
|
|
|
|
LoadNoteData(beginTime, endTime, "麻醉贵重物品清点本");
|
|
}
|
|
private void btn麻醉贵重物品清点本Save_Click(object sender, EventArgs e)
|
|
{
|
|
NewMethod("麻醉贵重物品清点本");
|
|
}
|
|
private void dgvtReport3_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
DialogResult dialog = MessageBox.Show("是否批量填写数据?", "系统提示", MessageBoxButtons.YesNo);
|
|
if (dialog == DialogResult.Yes)
|
|
{
|
|
string batchNo = dgvtReport3.Rows[e.RowIndex].Cells[e.ColumnIndex].EditedFormattedValue.ToString();
|
|
for (int i = 0; i < dgvtReport3.Rows.Count; i++)
|
|
{
|
|
dgvtReport3.Rows[i].Cells[e.ColumnIndex].Value = batchNo;
|
|
}
|
|
}
|
|
}
|
|
private void dgvtReport3_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
|
|
{
|
|
//隔行换色
|
|
this.dgvtReport3.RowsDefaultCellStyle.BackColor = System.Drawing.Color.White;//设置背景为白色
|
|
this.dgvtReport3.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(212)))), ((int)(((byte)(242)))), (((int)(((byte)242)))));//青色
|
|
}
|
|
private void btn手术例数按月统计_Click(object sender, EventArgs e)
|
|
{
|
|
selectdgv = dgvtReport;
|
|
string beginTime = Convert.ToDateTime(dtpOpeTime.Value).ToString("yyyy-MM-dd 00:00:00");
|
|
string endTime = Convert.ToDateTime(dtpEnd.Value).AddDays(1).ToString("yyyy-MM-dd 00:00:00");
|
|
|
|
System.Data.DataTable dataResult = BNotesRecords.GetMonthDayTable2(beginTime, endTime);
|
|
System.Data.DataTable dataResult2 = BNotesRecords.GetMonthDayTable3(beginTime, endTime);
|
|
List<NotesRecord> nrecords = BNotesRecord.Select(" NoteName = '麻醉机及心电监护仪使用消毒记录' and RecordTime>='" + beginTime + "' and RecordTime<'" + endTime + "' ", null);
|
|
List<NotesRecord> records = new List<NotesRecord>();
|
|
for (int i = 0; i < dataResult.Rows.Count; i++)
|
|
{
|
|
DateTime RecordTime = Convert.ToDateTime(dataResult.Rows[i][0]);
|
|
string ExecWork = Convert.ToString(dataResult.Rows[i][1]);
|
|
NotesRecord record = new NotesRecord();
|
|
record.RecordTime = RecordTime;
|
|
record.ExecWork = ExecWork;
|
|
for (int j = 0; j < dataResult2.Rows.Count; j++)
|
|
{
|
|
DateTime RecordTime2 = Convert.ToDateTime(dataResult2.Rows[j][0]);
|
|
string ExecWork2 = Convert.ToString(dataResult2.Rows[j][1]);
|
|
string room = Convert.ToString(dataResult2.Rows[j][2]);
|
|
if (RecordTime2 == RecordTime && ExecWork2 == ExecWork)
|
|
{
|
|
switch (room)
|
|
{
|
|
case "1间":
|
|
record.Content1 = "√";
|
|
break;
|
|
case "2间":
|
|
record.Content2 = "√";
|
|
break;
|
|
case "3间":
|
|
record.Content3 = "√";
|
|
break;
|
|
case "4间":
|
|
record.Content4 = "√";
|
|
break;
|
|
case "5间":
|
|
record.Content5 = "√";
|
|
break;
|
|
case "6间":
|
|
record.Content6 = "√";
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
foreach (var item in nrecords)
|
|
{
|
|
if (item.RecordTime == RecordTime && item.ExecWork == ExecWork)
|
|
{
|
|
record = item;
|
|
continue;
|
|
}
|
|
}
|
|
records.Add(record);
|
|
}
|
|
selectdgv.DataSource = records;
|
|
}
|
|
private void buttonX1_Click(object sender, EventArgs e)
|
|
{
|
|
NewMethod("麻醉机及心电监护仪使用消毒记录");
|
|
}
|
|
private void dgvtReport_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
DialogResult dialog = MessageBox.Show("是否批量填写数据?", "系统提示", MessageBoxButtons.YesNo);
|
|
if (dialog == DialogResult.Yes)
|
|
{
|
|
string batchNo = dgvtReport.Rows[e.RowIndex].Cells[e.ColumnIndex].EditedFormattedValue.ToString();
|
|
for (int i = 0; i < dgvtReport.Rows.Count; i++)
|
|
{
|
|
dgvtReport.Rows[i].Cells[e.ColumnIndex].Value = batchNo;
|
|
}
|
|
}
|
|
}
|
|
private void dgvtReport_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
|
|
{
|
|
//隔行换色
|
|
this.dgvtReport.RowsDefaultCellStyle.BackColor = System.Drawing.Color.White;//设置背景为白色
|
|
this.dgvtReport.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(212)))), ((int)(((byte)(242)))), (((int)(((byte)242)))));//青色
|
|
}
|
|
private void toolStripButton2_Click(object sender, EventArgs e)
|
|
{
|
|
PrintORVirew(true);
|
|
}
|
|
|
|
private void PrintORVirew(bool isprintview)
|
|
{
|
|
if (selectdgv.Rows.Count <= 0) return;
|
|
List<NotesRecord> records = new List<NotesRecord>();
|
|
for (int i = 0; i < selectdgv.Rows.Count; i++)
|
|
{
|
|
DataGridViewRow dr = selectdgv.Rows[i];
|
|
NotesRecord record = new NotesRecord();
|
|
record.RecordTime = Convert.ToDateTime(dr.Cells[1].EditedFormattedValue.ToString());
|
|
record.Content1 = dr.Cells[2].EditedFormattedValue.ToString();
|
|
record.Content2 = dr.Cells[3].EditedFormattedValue.ToString();
|
|
record.Content3 = dr.Cells[4].EditedFormattedValue.ToString();
|
|
record.Content4 = dr.Cells[5].EditedFormattedValue.ToString();
|
|
record.Content5 = dr.Cells[6].EditedFormattedValue.ToString();
|
|
if (selectdgv.Columns.Count == 11)
|
|
{
|
|
record.Content6 = dr.Cells[7].EditedFormattedValue.ToString();
|
|
record.Content7 = dr.Cells[8].EditedFormattedValue.ToString();
|
|
record.Content8 = dr.Cells[9].EditedFormattedValue.ToString();
|
|
record.ExecWork = dr.Cells[10].EditedFormattedValue.ToString();
|
|
}
|
|
else if (selectdgv.Columns.Count == 9)
|
|
{
|
|
record.Content6 = dr.Cells[7].EditedFormattedValue.ToString();
|
|
record.ExecWork = dr.Cells[8].EditedFormattedValue.ToString();
|
|
}
|
|
else
|
|
record.ExecWork = dr.Cells[7].EditedFormattedValue.ToString();
|
|
records.Add(record);
|
|
}
|
|
|
|
int n = 31;
|
|
if (selectdgv.Columns.Count == 11)
|
|
n = 26;
|
|
List<List<NotesRecord>> groupedLists = new List<List<NotesRecord>>();
|
|
for (int i = 0; i < records.Count; i += n)
|
|
{
|
|
List<NotesRecord> group = records.GetRange(i, Math.Min(n, records.Count - i));
|
|
groupedLists.Add(group);
|
|
}
|
|
|
|
foreach (var item in groupedLists)
|
|
{
|
|
string fileName = superTabControl1.SelectedTab.Text;
|
|
GoldPrinter.ExcelAccess excel = new GoldPrinter.ExcelAccess();
|
|
string strFileName = fileName + ".xlt"; //模板文件名
|
|
string strExcelTemplateFile = System.Windows.Forms.Application.StartupPath;
|
|
strExcelTemplateFile += @"\Template\" + strFileName;
|
|
excel.Open(strExcelTemplateFile); //用模板文件
|
|
|
|
int rowNum = 6;
|
|
if (selectdgv.Columns.Count == 11)
|
|
{
|
|
rowNum = 8;
|
|
foreach (var record in item)
|
|
{
|
|
excel.GetRange(rowNum, "A", rowNum, "J").Value = new string[]
|
|
{
|
|
record.RecordTime.Value.ToString("yyyy-MM-dd"),
|
|
record.Content1,
|
|
record.Content2,
|
|
record.Content3,
|
|
record.Content4,
|
|
record.Content5,
|
|
record.Content6,
|
|
record.Content7,
|
|
record.Content8,
|
|
record.ExecWork
|
|
};
|
|
rowNum++;
|
|
}
|
|
}
|
|
else if (selectdgv.Columns.Count == 8)
|
|
{
|
|
foreach (var record in item)
|
|
{
|
|
excel.GetRange(rowNum, "A", rowNum, "G").Value = new string[]
|
|
{
|
|
record.RecordTime.Value.ToString("yyyy-MM-dd"),
|
|
record.Content1,
|
|
record.Content2,
|
|
record.Content3,
|
|
record.Content4,
|
|
record.Content5,
|
|
record.ExecWork
|
|
};
|
|
rowNum++;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
rowNum = 7;
|
|
foreach (var record in item)
|
|
{
|
|
excel.GetRange(rowNum, "A", rowNum, "H").Value = new string[]
|
|
{
|
|
record.RecordTime.Value.ToString("yyyy-MM-dd"),
|
|
record.Content1,
|
|
record.Content2,
|
|
record.Content3,
|
|
record.Content4,
|
|
record.Content5,
|
|
record.Content6,
|
|
record.ExecWork
|
|
};
|
|
rowNum++;
|
|
}
|
|
}
|
|
if (isprintview == true)
|
|
excel.PrintPreview();
|
|
else
|
|
excel.Print();
|
|
excel.Close();
|
|
if (isprintview == true)
|
|
break;
|
|
}
|
|
}
|
|
|
|
private void btn手术间保养维修记录_Click(object sender, EventArgs e)
|
|
{
|
|
selectdgv = dgvtReport4;
|
|
string beginTime = Convert.ToDateTime(dtpOpeTime4.Value).ToString("yyyy-MM-dd 00:00:00");
|
|
string endTime = Convert.ToDateTime(dtpEnd4.Value).AddDays(1).ToString("yyyy-MM-dd 00:00:00");
|
|
|
|
LoadNoteData(beginTime, endTime, "手术间保养维修记录");
|
|
}
|
|
private void btn手术间保养维修记录Save_Click(object sender, EventArgs e)
|
|
{
|
|
NewMethod("手术间保养维修记录");
|
|
}
|
|
private void dgvtReport4_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
DialogResult dialog = MessageBox.Show("是否批量填写数据?", "系统提示", MessageBoxButtons.YesNo);
|
|
if (dialog == DialogResult.Yes)
|
|
{
|
|
string batchNo = dgvtReport4.Rows[e.RowIndex].Cells[e.ColumnIndex].EditedFormattedValue.ToString();
|
|
for (int i = 0; i < dgvtReport4.Rows.Count; i++)
|
|
{
|
|
dgvtReport4.Rows[i].Cells[e.ColumnIndex].Value = batchNo;
|
|
}
|
|
}
|
|
}
|
|
private void dgvtReport4_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
|
|
{
|
|
//隔行换色
|
|
this.dgvtReport4.RowsDefaultCellStyle.BackColor = System.Drawing.Color.White;//设置背景为白色
|
|
this.dgvtReport4.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(212)))), ((int)(((byte)(242)))), (((int)(((byte)242)))));//青色
|
|
}
|
|
}
|
|
}
|