HI 12 months ago
commit 04e090e3c2
  1. 5
      PEIS/Entity/EnrollmentPatient.cs
  2. 5
      PEIS/Model/Enrollment/EnrollentOrgGroupModel.cs
  3. 6
      PEIS/Model/Enrollment/EnrollmentPatientModel.cs
  4. 2
      PEIS/Model/EnrollmentFeeItemModel.cs
  5. 3
      PEIS/Model/Exam/PartModel.cs
  6. 6
      PEIS/PEIS.csproj
  7. 20
      PEIS/Properties/Resources.Designer.cs
  8. 30
      PEIS/Properties/Resources.resx
  9. BIN
      PEIS/Resources/shang.png
  10. BIN
      PEIS/Resources/xia.png
  11. 725
      PEIS/View/Enrollment/EnrollmentOrgForm.Designer.cs
  12. 137
      PEIS/View/Enrollment/EnrollmentOrgForm.cs
  13. 16
      PEIS/View/Enrollment/EnrollmentOrgForm.resx
  14. 6
      PEIS/View/Enrollment/EnrollmentPersonForm.cs
  15. 481
      PEIS/View/Exam/TotalForm.Designer.cs
  16. 119
      PEIS/View/Exam/TotalForm.cs
  17. 26
      PEIS/View/Exam/TotalForm.resx

@ -101,7 +101,10 @@ namespace PEIS.Entity
[RefFlag(true)]
public DateTime? CostTime { get; set; }
[RefFlag(true)]
public Int64 RowNumber { get; set; }
#endregion Other
}
}

@ -40,7 +40,10 @@ namespace PEIS.Model.Enrollment
public void UpdateGroup(EnrollmentOrgGroup item)
{
var list = DAOHelp.GetDataBySQL<EnrollmentOrgPatient>($"SELECT a.*, b.Name,b.Birthday,b.CardType, b.CardNo,b.Education, b.Marriage,b.Nation, b.Tel1, b.Tel2, CASE b.Sex WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '' END AS Sex FROM Enrollment_OrgPatient a LEFT JOIN Base_Patient b ON a.PID = b.ID WHERE GroupID = {item.ID} AND OID = {item.OID}");
if (list.Count != 0) return;
if (list.Count != 0){
Global.Msg("info", "当前分组已存在人员!");
return;
}
DAOHelp.ExecuteSql($"UPDATE ENROLLMENT_ORGGROUP SET Name= '{item.Name}', Description= '{item.Description}', Sex= '{item.Sex}', Marriage= '{item.Marriage}', AgeMin= {item.AgeMin}, AgeMax= {item.AgeMax}, Type= '{item.Type}' WHERE ID= {item.ID}", false);
}

@ -69,14 +69,14 @@ namespace PEIS.Model.Enrollment
return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"Select a.Name,
a.ID,
a.SEX,
a.Age,
a.AgeClass,
CONVERT(VARCHAR,a.Age) + a.AgeClass AgeClass,
b.BirthDay,
a.CardNo,
a.CardType,
b.Marriage,
c.DeptName AS GroupName,
a.SignTime,
a.SignTime,
a.Tel1,
CASE WHEN a.SignTime IS NULL
THEN NULL
ELSE ''

@ -33,7 +33,7 @@ namespace PEIS.Model
public List<EnrollmentFeeItem> GetItemsByEnrollmentID(Int64 enrollmentID)
{
return DAOHelp.GetDataBySQL<EnrollmentFeeItem>($"Select a.*, b.Address, c.IsHide From Enrollment_FeeItem a LEFT JOIN Dict_Dept b ON a.DeptCode = b.HISCode LEFT JOIN Dict_FeeItem c ON a.KeyNo = c.KeyNo Where a.EID = {enrollmentID} Order by a.OrderNo, a.DeptName");
return DAOHelp.GetDataBySQL<EnrollmentFeeItem>($"Select a.*, b.Address, c.IsHide From Enrollment_FeeItem a LEFT JOIN Dict_Dept b ON a.DeptCode = b.HISCode LEFT JOIN Dict_FeeItem c ON a.KeyNo = c.KeyNo Where a.EID = {enrollmentID} Order by a.PackName DESC, a.OrderNo, a.DeptName");
}
public List<EnrollmentFeeItem> GetItems4CheckCost(Int64 oeID, Int64 enrollmentID)

@ -201,6 +201,7 @@ namespace PEIS.Model
"3201", //放射科
"3202", //超声科
};
var index = 1;
results.GroupBy(g => g.FeeItemName).ToList().ForEach(items =>
{
@ -210,7 +211,7 @@ namespace PEIS.Model
if (!deptCodeList.Contains(deptCode))
{
summary += string.Join(Environment.NewLine,
items.Select(s => $@" {s.RptItemName}:{s.TextResult} {s.Unit} {s.UnusualFlag}").ToList());
items.Select(s => $@" {s.RptItemName}:{s.TextResult} {s.Unit} {s.UnusualFlag}").ToList());
}
else
{

@ -526,6 +526,7 @@
</Compile>
<EmbeddedResource Include="Base\ViewBase.resx">
<DependentUpon>ViewBase.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="LoginForm.resx">
<DependentUpon>LoginForm.cs</DependentUpon>
@ -679,12 +680,11 @@
</Content>
<None Include="Resources\update.png" />
<None Include="Resources\wechatlogo.png" />
<Content Include="Resources\shang.png" />
<Content Include="Resources\xia.png" />
<Content Include="Update\Update.exe">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Update\Update.pdb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Update\update.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

@ -140,6 +140,16 @@ namespace PEIS.Properties {
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap shang {
get {
object obj = ResourceManager.GetObject("shang", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
@ -170,6 +180,16 @@ namespace PEIS.Properties {
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap xia {
get {
object obj = ResourceManager.GetObject("xia", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>

@ -130,6 +130,9 @@
<data name="审核" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\审核.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="left" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\left.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="menu" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\menu.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -157,9 +160,6 @@
<data name="Report" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Report.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="预览报告" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\预览报告.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="查找" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\查找.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -172,6 +172,9 @@
<data name="刷新" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\刷新.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="个人信息 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\个人信息 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="add" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\添加.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -184,6 +187,9 @@
<data name="结论" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\结论.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="wechatlogo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\wechatlogo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="添加" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\添加1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -199,25 +205,25 @@
<data name="WeChat" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\WeChat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="取消审核" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\取消审核.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="取消" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\取消.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="分检页面" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\分检页面.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="left" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\left.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="取消审核" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\取消审核.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="总检页面" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\总检页面.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="个人信息 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\个人信息 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="预览报告" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\预览报告.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="wechatlogo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\wechatlogo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="shang" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\shang.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xia" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\xia.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because it is too large Load Diff

@ -1,4 +1,7 @@
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using DevExpress.Utils;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using DevExpress.XtraPrinting.Native;
using PEIS.Base;
using PEIS.Entity;
@ -8,6 +11,7 @@ using PEIS.Utils;
using PEIS.View.Base;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Linq;
@ -153,6 +157,7 @@ namespace PEIS.View.Enrollment
FeeItemSearch2.TextChanged += FeeItemSearch2_TextChanged;
FastGroupMove.Click += FastGroupMove_Click;
FastExport.Click += FastExport_Click;
FastExportTime.Click += FastExportTime_Click;
FastDelete.Click += FastDelete_Click;
FastGroup.Click += FastGroup_Click;
FastCancelGroup.Click += FastCancelGroup_Click;
@ -847,7 +852,7 @@ namespace PEIS.View.Enrollment
}
}
private void FastExport_Click(object sender, EventArgs e) // 导出团体成员
private void FastExport_Click(object sender, EventArgs e) // 导出所有团体成员
{
if (_lstEnrollmentPatient.Count != 0)
{
@ -863,12 +868,112 @@ namespace PEIS.View.Enrollment
options.TextExportMode = DevExpress.XtraPrinting.TextExportMode.Value;
options.ExportType = DevExpress.Export.ExportType.WYSIWYG;
// 首先,创建一个新的列对象
GridColumn newColumn = new GridColumn();
// 设置列的标题,例如"序号"
newColumn.Caption = "序号";
// 设置列的字段名称,这将用于数据绑定
newColumn.FieldName = "RowNumber";
newColumn.VisibleIndex = 0;
newColumn.AppearanceCell.Font = new Font("微软雅黑", 12);
// 将列添加到GridView的Columns集合中
DgvEnrollment.Columns.Add(newColumn);
for (int i = 0; i < _lstEnrollmentPatient.Count(); i++)
{
// 使用GetRowCellValue方法获取当前行的序号列的值
int rowNumber = DgvEnrollment.GetRowHandle(i); // 行句柄
DgvEnrollment.SetRowCellValue(rowNumber, "RowNumber", i + 1); // 设置序号列的值
}
DgcEnrollment.ExportToXls(saveFileDialog.FileName, options);
DgvEnrollment.Columns.Remove(newColumn);
}
}
}
private void FastExportTime_Click(object sender, EventArgs e) // 导出指定时间范围成员
{
DateTime currentDate = DateTime.Now;
Form dateForm = new Form();
dateForm.Font = new Font("微软雅黑", 12);
dateForm.Text = "时间选择器";
dateForm.StartPosition = FormStartPosition.CenterScreen;
dateForm.Size = new Size(330, 226);
Label begLabel = new Label();
begLabel.Location = new Point(10, 20);
begLabel.Text = "开始时间:";
DateTimePicker begTime = new DateTimePicker();
begTime.Location = new Point(110, 20);
begTime.Value = currentDate.AddDays(-6);
Label endLabel = new Label();
endLabel.Location = new Point(10, 70);
endLabel.Text = "结束时间:";
DateTimePicker endTime = new DateTimePicker();
endTime.Location = new Point(110, 70);
endTime.Value = currentDate;
Button confirmBtn = new Button();
confirmBtn.Text = "确认选择";
confirmBtn.Location = new Point(110, 120);
confirmBtn.AutoSize = true;
confirmBtn.Click += delegate (object a, EventArgs b)
{
if (_lstEnrollmentPatient.Count != 0)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "导出Excel";
saveFileDialog.FileName = "团体名单";
saveFileDialog.Filter = "Excel文件(*.xls)|*.xls";
DialogResult dialogResult = saveFileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
DevExpress.XtraPrinting.XlsExportOptionsEx options = new DevExpress.XtraPrinting.XlsExportOptionsEx();
options.ShowGridLines = true;
options.TextExportMode = DevExpress.XtraPrinting.TextExportMode.Value;
options.ExportType = DevExpress.Export.ExportType.WYSIWYG;
// 首先,创建一个新的列对象
GridColumn newColumn = new GridColumn();
// 设置列的标题,例如"序号"
newColumn.Caption = "序号";
// 设置列的字段名称,这将用于数据绑定
newColumn.FieldName = "RowNumber";
newColumn.VisibleIndex = 0;
newColumn.AppearanceCell.Font = new Font("微软雅黑", 12);
// 将列添加到GridView的Columns集合中
DgvEnrollment.Columns.Add(newColumn);
DgcEnrollment.DataSource = _lstEnrollmentPatient.Where(w => w.SignTime > begTime.Value.Date && w.SignTime < endTime.Value.AddDays(1).Date);
for (int i = 0; i < _lstEnrollmentPatient.Where(w => w.SignTime > begTime.Value.Date && w.SignTime < endTime.Value.AddDays(1).Date).Count(); i++)
{
// 使用GetRowCellValue方法获取当前行的序号列的值
int rowNumber = DgvEnrollment.GetRowHandle(i); // 行句柄
DgvEnrollment.SetRowCellValue(rowNumber, "RowNumber", i + 1); // 设置序号列的值
}
DgcEnrollment.ExportToXls(saveFileDialog.FileName, options);
DgvEnrollment.Columns.Remove(newColumn);
}
}
ShowEnrollmentPatient(_lstEnrollmentPatient);
dateForm.Close();
};
dateForm.Controls.Add(begLabel);
dateForm.Controls.Add(begTime);
dateForm.Controls.Add(endLabel);
dateForm.Controls.Add(endTime);
dateForm.Controls.Add(confirmBtn);
dateForm.ShowDialog();
}
private void FastDelete_Click(object sender, EventArgs e) // 删除未签到成员
@ -878,7 +983,7 @@ namespace PEIS.View.Enrollment
OnCancelRegInfo(item.ID);
}
private void DgvEnrollment_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
private void DgvEnrollment_RowCellClick(object sender, RowCellClickEventArgs e)
{
if (e.Column.AbsoluteIndex == 0)
{
@ -1056,6 +1161,12 @@ namespace PEIS.View.Enrollment
return;
}
if(item?.CancelTime != null)
{
Global.Msg("info", "该订单为退费订单留存记录,不能删除!");
return;
}
if (item == null) return;
OnDeleteOrder(item.ID);
OnGetCheckCost(Convert.ToInt64(DgvOrg.GetRowCellValue(DgvOrg.GetSelectedRows()[0], "ID").ToString()), _chooseRegItem.ID);
@ -1168,6 +1279,12 @@ namespace PEIS.View.Enrollment
return;
}
if (item?.CancelTime != null)
{
Global.Msg("info", "该订单为退费订单留存记录,不能删除!");
return;
}
if (item == null) return;
OnDeleteOrder(item.ID);
OnGetCheckCost(Convert.ToInt64(DgvOrg.GetRowCellValue(DgvOrg.GetSelectedRows()[0], "ID").ToString()), _chooseRegItem.ID);
@ -1216,7 +1333,7 @@ namespace PEIS.View.Enrollment
#endregion 交互事件
private void DgvCheckCost_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
private void DgvCheckCost_RowStyle(object sender, RowStyleEventArgs e)
{
if (DgvCheckCost.RowCount == 0) return;
if (DgvCheckCost.GetRowCellValue(e.RowHandle, "SendTime") != null)
@ -1235,7 +1352,7 @@ namespace PEIS.View.Enrollment
e.Appearance.ForeColor = Color.Black;
}
private void DgvCheckCost2_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
private void DgvCheckCost2_RowStyle(object sender, RowStyleEventArgs e)
{
if (DgvCheckCost2.RowCount == 0) return;
if (DgvCheckCost2.GetRowCellValue(e.RowHandle, "SendTime") != null)
@ -1261,7 +1378,7 @@ namespace PEIS.View.Enrollment
grid.GroupText = Convert.ToBoolean(DgvCheckCost.GetRowCellValue(index, "GroupTag")) ? "分组缴费订单" : "未分组缴费订单";
}
private void DgvEnrollmentFeeItem_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
private void DgvEnrollmentFeeItem_RowStyle(object sender, RowStyleEventArgs e)
{
if (DgvEnrollmentFeeItem.RowCount == 0) return;
e.Appearance.ForeColor = DgvEnrollmentFeeItem.GetRowCellValue(e.RowHandle, "OrderNo") == null ? Color.Black : Color.DodgerBlue;
@ -1335,7 +1452,7 @@ namespace PEIS.View.Enrollment
splitter7.Visible = PnlFeeItem.Visible;
}
private void DgvOrg_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
private void DgvOrg_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
{
if (e.RowHandle >= 0)
e.Info.DisplayText = (e.RowHandle + 1).ToString();
@ -1403,13 +1520,13 @@ namespace PEIS.View.Enrollment
}
}
private void DgvGroupPatient_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
private void DgvGroupPatient_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
{
if (e.RowHandle >= 0)
e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
private void DgvPatient_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
private void DgvPatient_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
{
if (e.RowHandle >= 0)
e.Info.DisplayText = (e.RowHandle + 1).ToString();

@ -454,7 +454,7 @@
<data name="新建NToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAERSURBVDhPrZDbSgJRGIXnpewd6jXsjSQvIrwoI0RQMChU
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAERSURBVDhPrZDbSgJRGIXnpewd6jXsjSQvIrwoI0RQMChU
0iiDPCGiE3ZCRkvR8VzTeBhnyR5/ccaZNnPhB4t9sdf6Ln5hb8QeathNJFVFKF5C8DqL4ksDVHWGDf7j
LHyPg6NjviSaFqlu5yQYR+KpupaIkrMknCxT3Y7v/NYYb0ITK1c3BarbWWhLQ7IR0cTKReyZ6lZ0XYei
ztHpK4bAc+h1FgQijzSxMptrGIxVSO0xX3AaStFki7bUMVFmaMm/eJMGfIH/MkGzLep0AXn4h/r3CJV3
@ -465,7 +465,7 @@
<data name="打开OToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp
olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4
4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm
YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl
@ -481,7 +481,7 @@
<data name="保存SToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAIySURBVDhPrZLfS5NRGMfff6H7boIuuq2pMZyL1eAt11CW
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIySURBVDhPrZLfS5NRGMfff6H7boIuuq2pMZyL1eAt11CW
DcOKsB9vpFmaLtNExco0av6CbIVLJ61Wk3BSkT/AFCkRZSpZmrmiJQ41xSaCwdfznL15XEUX0Reem5f3
8znnec4j/Zc8fxYGla91CS3eRTx0z6OpMYS7jmnU1X6B/VYA18snUVoyjsKCt8jLHcH5c36ouCQR2NUJ
1Nas4G9ZXlmFKbULh1Kf8lJxSfI+WeCCyopv6q+/h+DQ/DJ2WV5Ao1FgPegRAveDOS4oLfmq/h6dn/DH
@ -497,7 +497,7 @@
<data name="打印PToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAIpSURBVDhPtZL/T1JRGMb5p1itrVZbbRpqZbawnBENV1I0
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIpSURBVDhPtZL/T1JRGMb5p1itrVZbbRpqZbawnBENV1I0
jGlByTSyJTXJwq2oKZQb1KAv6JCYWSxvBrkkZUq4CeQEiRABFeLL072Xa0zRra31bO8v57zP5znnPYf1
X+TxhWF6O7VtGYcnwbSWijKPOLzYrPSvLPwLS3huGUMlT7o9wGD9grVUBj+icdid03S9tDmgNxNwTgVQ
J+rA8XNtWwM+uuZATMwxmQVRycuJFNyzIRitDlScugKzjSgFRGJJaIwEsrk8AsHIhnSL/Ssck37UNipQ
@ -512,7 +512,7 @@
<data name="打印预览VToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGCSURBVDhPnZK9S0JRGMb9F1xb2gqaq6mhwCGDtvYIIyLI
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGCSURBVDhPnZK9S0JRGMb9F1xb2gqaq6mhwCGDtvYIIyLI
cJOE1paoIYpMKUjFRDH87lpoakGlIZF9DA2hZJEQhJXl1xPn3HPV29WQfvBwOfA+P95zuDJ39A6/4wyl
YOOSMHvOcHGThuwvSKEVRvsR+pQqWD3R1pK98DUbl7Jm5hA8SfESd6S5xH5wycalrO4E0D8yWQuriLH6
E2xcSqlcoRJBxCpiTO5TNi4m/ZgDF4nDsOulsfujyGRzUsmWM8YqdcggKbveS3A88bEkslRye58RSzZt
@ -525,7 +525,7 @@
<data name="剪切TToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi
LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb
QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk
EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C
@ -538,7 +538,7 @@
<data name="复制CToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH
Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++
79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S
+1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO
@ -552,7 +552,7 @@
<data name="粘贴PToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh
FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA
Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR
KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB

@ -649,6 +649,12 @@ namespace PEIS.View.Enrollment
return;
}
if (item?.CancelTime != null)
{
Global.Msg("info", "该订单为退费订单留存记录,不能删除!");
return;
}
OnDeleteOrder(item.ID);
}

File diff suppressed because it is too large Load Diff

@ -1,9 +1,12 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Base;
@ -87,10 +90,19 @@ namespace PEIS.View.Exam
RbStatus2.Click += RadioButton_Click;
// 输入体检号回车
//txtId.KeyDown += TxtId_KeyDown;
OpsConclusion.TsmiRefresh.Visible = false;
OpsConclusion.TsmiAdd.Visible = false;
//结论-添加
//OpsConclusion.TsmiAdd.Click += ConclusionAdd_Click;
OpsConclusion.TsmiRefresh.Text = "上移";
OpsConclusion.TsmiRefresh.Image = Properties.Resources.shang;
OpsConclusion.TsmiAdd.Text = "下移";
OpsConclusion.TsmiAdd.Image = Properties.Resources.xia;
//结论-排序
OpsConclusion.TsmiRefresh.Click += (s, e) =>
{
ConclusionSort(-1);
};
OpsConclusion.TsmiAdd.Click += (s, e) =>
{
ConclusionSort(1);
};
//结论-删除
OpsConclusion.TsmiDelete.Click += ConclusionDelete_Click;
//结论-保存
@ -212,22 +224,59 @@ namespace PEIS.View.Exam
{
SearchAllConclusion();
};
DgvExamConclusion.OptionsCustomization.AllowSort = true;
DgvExamConclusion.OptionsCustomization.AllowSort = true;
//DgcAllConclusion.DataSource = Global._lstConclusion;
// DgvAllConclusion.OptionsFind.AlwaysVisible = true;
// DgvAllConclusion.OptionsFind.ShowClearButton = false;
// DgvAllConclusion.OptionsFind.ShowCloseButton = false;
DgvAllConclusion.DoubleClick += DgvAllConclusion_DoubleClick;
DgvExamResultData.CustomDrawCell += DgvExamResultData_CustomDrawCell;
// 启用行选择
DgvExamConclusion.OptionsSelection.EnableAppearanceFocusedCell = false;
DgvExamConclusion.OptionsSelection.MultiSelect = false; // 限制单选
// 启用编辑功能,以便显示勾选框
DgvExamConclusion.OptionsBehavior.Editable = true;
// 设置行头自动调整高度以显示勾选框
DgvExamConclusion.OptionsView.RowAutoHeight = true;
}
private void ConclusionSort(int i)
{
if (DgvExamConclusion.GetFocusedRow() is ExamConclusion selected)
{
var current = _examConclusion.IndexOf(selected);
if ((current == 0 && i < 0) || (current == _examConclusion.Count - 1 && i > 0))
{
return;
}
var temp = _examConclusion[current + i];
var tempSeq = _examConclusion[current + i].Seq;
temp.Seq = selected.Seq;
selected.Seq = tempSeq;
_examConclusion[current + i] = selected;
_examConclusion[current] = temp;
_examConclusion = _examConclusion.OrderBy(o => o.Seq).ToList();
// for (int j = 0; j < _examConclusion.Count; j++)
// {
// _examConclusion[j].Seq = j + 1;
// }
Invoke(new Action(() => DgcExamConclusion.DataSource = null));
Invoke(new Action(() => DgcExamConclusion.DataSource = _examConclusion));
Invoke(new Action(() => DgcExamConclusion.DataSource = _examConclusion));
Invoke(new Action(() => DgvExamConclusion.FocusedRowHandle = current+i));
Invoke(new Action(() => DgvExamConclusion.SelectRow(current + i)));
}
}
private void SearchAllConclusion()
{
var query = txtConclusionSerch.Text;
var isId = long.TryParse(query, out var id);
var list=string.IsNullOrEmpty(query)
? Global._lstConclusion
: Global._lstConclusion.Where(p => p.SpellCode.Contains(query) || p.ConclusionName.Contains(query) || (isId && p.ID == id)).ToList();
var list = string.IsNullOrEmpty(query)
? Global._lstConclusion
: Global._lstConclusion.Where(p => p.SpellCode.Contains(query) || p.ConclusionName.Contains(query) || (isId && p.ID == id)).ToList();
Invoke(new Action(() => DgcAllConclusion.DataSource = null));
Invoke(new Action(() => DgcAllConclusion.DataSource = list));
@ -337,12 +386,12 @@ namespace PEIS.View.Exam
if (rowData != null)
{
var conclusion = DgvExamConclusion.GetFocusedRow() as ExamConclusion;
if (rowData == null || conclusion == null) return;
var index = _examConclusion.IndexOf(conclusion);
_examConclusion[index].Conclusion = rowData.ConclusionName;
_examConclusion[index].Suggestion = rowData.Suggestion;
ShowExamConclusion(_examConclusion);
var conclusion = DgvExamConclusion.GetFocusedRow() as ExamConclusion;
if (rowData == null || conclusion == null) return;
var index = _examConclusion.IndexOf(conclusion);
_examConclusion[index].Conclusion = rowData.ConclusionName;
_examConclusion[index].Suggestion = rowData.Suggestion;
ShowExamConclusion(_examConclusion);
}
}
}
@ -472,9 +521,9 @@ namespace PEIS.View.Exam
/// <summary>
/// 3. 获取科室小结
/// </summary>
public event EventHandler<Args<object>> GetSummary;
public event EventHandler<Args<object>> GetSummary;
public void ShowSummary(List<ExamPart> items)
{
Invoke(new Action(() => _examPart = items));
@ -504,6 +553,11 @@ namespace PEIS.View.Exam
public void ShowExamConclusion(List<ExamConclusion> items)
{
items = items.OrderBy(o => o.Seq).ToList();
for (int j = 0; j < items.Count; j++)
{
items[j].Seq = j + 1;
}
Invoke(new Action(() => DgcExamConclusion.DataSource = null));
Invoke(new Action(() => _examConclusion = items));
Invoke(new Action(() => DgcExamConclusion.DataSource = _examConclusion));
@ -537,8 +591,8 @@ namespace PEIS.View.Exam
{
GetPatient?.Invoke(this, new Args<object>(selected.ID));
GetExamResultList?.Invoke(this, new Args<object>(_patient.ID));
GetSummary?.Invoke(this, new Args<object>(_patient.ID));
Invoke(new Action(() =>GetExamResultData(_patient.ID)));
GetSummary?.Invoke(this, new Args<object>(_patient.ID));
Invoke(new Action(() => GetExamResultData(_patient.ID)));
GetExamConclusion?.Invoke(this, new Args<object>(_patient.ID));
}
else
@ -707,7 +761,7 @@ namespace PEIS.View.Exam
return;
}
_examConclusion.Add(new ExamConclusion() { EID = _patient.ID,Seq = _examConclusion.Count+1 });
_examConclusion.Add(new ExamConclusion() { EID = _patient.ID, Seq = _examConclusion.Count + 1 });
ShowExamConclusion(_examConclusion);
}
@ -731,8 +785,27 @@ namespace PEIS.View.Exam
if (DgvExamConclusion.GetSelectedRows().Length == 0) return;
var item = DgvExamConclusion.GetRow(DgvExamConclusion.FocusedRowHandle) as ExamConclusion;
if (item==null)return;
if (!Global.MsgDelete()) return;
_examConclusion.Remove(item);
ShowExamConclusion(_examConclusion);
try
{
var task = new Task(() => item?.Delete());
task.Start();
}
catch (AggregateException ae)
{
Global.MsgErr($@"{item.Conclusion} 结论词删除失败!" + ae.Message);
ae.Handle(ex =>
{
// 处理异常
return true; // 返回true表示已处理异常
});
}
}
/// <summary>
@ -759,7 +832,7 @@ namespace PEIS.View.Exam
SaveExamConclusion?.Invoke(this, new Args<ExamConclusion>()
{
ID = _patient.ID,
Items = _examConclusion.Where(p=>!string.IsNullOrEmpty(p.Conclusion)).ToList()
Items = _examConclusion.Where(p => !string.IsNullOrEmpty(p.Conclusion)).ToList()
});
//MessageBox.Show(@"保存成功!");
}
@ -970,7 +1043,7 @@ namespace PEIS.View.Exam
var imageBytes = Convert.FromBase64String(patient.Photo);
using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
{
Invoke(new Action(() => { picAvatar.Image = Image.FromStream(ms, true); }));
Invoke(new Action(() => { picAvatar.Image = Image.FromStream(ms, true); }));
Invoke(new Action(() => { picAvatar.BorderStyle = BorderStyle.None; }));
}
}
@ -995,7 +1068,7 @@ namespace PEIS.View.Exam
/// <param name="eid"></param>
public void GetExamResultData(long eid)
{
if (eid==0)
if (eid == 0)
{
return;
}
@ -1020,7 +1093,7 @@ namespace PEIS.View.Exam
Invoke(new Action(() => DgvExamResultData.ExpandAllGroups()));
DgvExamResultData.OptionsView.RowAutoHeight = true;
}
private void DgvExamResultData_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
{
var gridView = (GridView)sender;

@ -120,6 +120,12 @@
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>497, 55</value>
</metadata>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>497, 55</value>
</metadata>
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>377, 55</value>
</metadata>
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>377, 55</value>
</metadata>
@ -139,18 +145,14 @@
</data>
<data name="TsmiFinishCancel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAlJJREFUWEfV
lrFP20AUxpNCiIoEAuEwVEBM24WhCimIZKjoWrNARQQjf0K7tWuBuaqABXVpJ5hYSar+A8xBXRmRGFqE
QGoloLx3/i44vjv7HFOp/KQ3vO/ufe9y8Z2dudeUvG9vOMpz3yuQ/h09vY8eztQO/1rGNsrS0+c8zwfN
q8s/9jCk8GR6/dlMrXkZmH+Aoc4gg6Y0KxS9HGQraCF1WZvLD2Qh2yOLK7XDNUgdIX2Q2tFRUQTkdcV+
3T0DeUhmaOvEtiPV4i+weYzUCr8m5kfJB462fRWSgpWRgdjauAmt8WzXA0iJcNz5Ia6nI90P6RZ5zgvF
V9qnvdU8JUafqAZRY0lxxheLxgVUltRL5i6bS9iv5DW+IPXRNZHNKU4pftkGmX+ChRaao/4oRSDkxBRx
Dqs26Aif8DhSfqvV37YJAaQZUmueVj++M9VSv902PWoBjMkojuHHr0e4bmJ204UkUBZQ9urVuAadLkJX
R8/IkeJlY64zi2N8em0jXEP5H8WHBX6fIzXC85TiCGgB78Pz4fETqY8vNi+RRgKDC6SR0LzfPB+pIJwL
qPm2diAl7Enen5FynwNjH0zeR5qObFfW99Nuv/Z+4EHz6ixBg1ZAFlB+FtYUdIW20LkXr1sOpzj/ArKA
7oJR1t2pDyuQ9OTyg3LrriDdCXJhSONJXGBg4uXWGLyuIdnBH5ByEY67MAQ5EVQr/nMOSMmRBhwFd3EM
ciQ0VzzMHLH/uQ38DScNA3Ey6TV2OHC3i+s1EPqjlpbSXONrqFEw2q/X/59M5gZwQwBmYRNKogAAAABJ
RU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAYBJREFUWEft
lM9KwzAcx4sIwjqQTQU91j2DdOyk4lNsB1/AJxBkUpVOJqakhzag+AwevPsSvoMXbx4ERU3mNyWGdDat
dJd+4AfJ9/eXNKnT0GBLFLMvYdjWi2y+kAHU5rUPoDevdQC9aa0D6M0FtQ1gai5QdWEkTo46ne4y3P+D
2gBShurTjVD2iLDyqAUh5bLj9zf5CYRqjjASpXcIsUMtAsmKiLKXrAZln5CLUbW5SqlaMmFtfaMLqRLW
QxCaXMqEluu2IFdC1iMxe4I0H3UISJWxrjeZRrFMcg0nIX0Ge+PxSwjLmFxF9z/+9BXS36hD6HdC6vNs
d+9gH+EzpI5tMfLuRF4xHh9Inx7Dn+SH2Pv+oA2pGKY7oe91XLe9ImOEnZ1PRyfji6FYE5o+IKw4+p2Q
a7hzOQ3CRMbyV3BbNM+IOoRNIW+7t1omz4j6OWwKeV7v1yeBXI6y/4lxEB7P8ih7hlQefqGurd404M3f
h6PDG2wXg98fbGHZ0AAc5xt8asXwHSUE5wAAAABJRU5ErkJggg==
</value>
</data>
<data name="TsmiFinish.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

Loading…
Cancel
Save