1、团体成员导出列表格式调整

msfy
lsm 7 months ago
parent 19c34aaa17
commit ada39fff59
  1. 3
      PEIS/Entity/EnrollmentPatient.cs
  2. 62
      PEIS/Model/Enrollment/EnrollmentOrgModel.cs
  3. 112
      PEIS/ReportFiles/OrgExcel.frx
  4. 6
      PEIS/View/Enrollment/EnrollmentOrgForm.cs

@ -99,6 +99,9 @@ namespace PEIS.Entity
[RefFlag(true)] [RefFlag(true)]
public Decimal Fee { get; set; } public Decimal Fee { get; set; }
[RefFlag(true)]
public Decimal? Discount { get; set; }
[RefFlag(true)] [RefFlag(true)]
public DateTime? CostTime { get; set; } public DateTime? CostTime { get; set; }

@ -106,38 +106,36 @@ namespace PEIS.Model.Enrollment
public List<EnrollmentPatient> GetExcelList(Int64 oeID) public List<EnrollmentPatient> GetExcelList(Int64 oeID)
{ {
//return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"SELECT return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"SELECT
// a.ID, a.ID,
// a.Name, a.Name,
// CASE WHEN a.Sex = 1 THEN '男' ELSE '女' END AS 'Sex', CASE WHEN a.Sex = 1 THEN '男' ELSE '女' END AS 'Sex',
// b.Marriage, a.Marriage,
// CONVERT ( VARCHAR, a.Age ) + a.AgeClass AS 'AgeClass', CONVERT ( VARCHAR, a.Age ) + a.AgeClass AS 'AgeClass',
// a.CardNo, a.CardNo,
// a.Tel1, a.Tel1,
// c.DeptName, a.SignTime,
// a.SignTime, (SELECT SUM ([sum]) FROM Enrollment_CheckCost WHERE a.ID = EID AND a.OEID = OEID AND DeleteTime IS NULL AND CancelTime IS NULL ) AS Price,
// (SELECT SUM(Fee) FROM Enrollment_CheckCost WHERE a.ID = EID AND a.OEID = OEID AND DeleteTime IS NULL) AS Fee (SELECT ROUND(CAST((SUM (Fee) / SUM([Sum]) * 10) AS DECIMAL(10,2)), 2) FROM Enrollment_CheckCost WHERE a.ID = EID AND a.OEID = OEID AND DeleteTime IS NULL AND CancelTime IS NULL ) AS Discount,
// FROM (SELECT SUM (Fee) FROM Enrollment_CheckCost WHERE a.ID = EID AND a.OEID = OEID AND DeleteTime IS NULL AND CancelTime IS NULL ) AS Fee
// Enrollment_Patient a FROM
// LEFT JOIN Base_Patient b ON a.PID = b.ID Enrollment_Patient a
// LEFT JOIN Base_OrgPatient c ON c.OID = a.OID AND c.PID = b.ID WHERE
// LEFT JOIN Enrollment_CheckCost d ON a.ID = d.EID AND a.OEID = d.OEID a.OEID = {oeID} ORDER BY a.SignTime");
// WHERE
// a.OEID = {oeID} ORDER BY a.SignTime"); //return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"SELECT
// a.Name,
return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"SELECT // CASE a.Sex WHEN 1 THEN '男' ELSE '女'END AS Sex,
a.Name, // CAST(a.Age AS VARCHAR) + a.AgeClass AS AgeClass,
CASE a.Sex WHEN 1 THEN '男' ELSE '女'END AS Sex, // a.CardNo,
CAST(a.Age AS VARCHAR) + a.AgeClass AS AgeClass, // b.FeeItemName,
a.CardNo, // b.Price,
b.FeeItemName, // a.SignTime,
b.Price, // CASE WHEN a.SignTime IS NULL THEN '未发送' ELSE '已发送' END AS Signer
a.SignTime, // FROM Enrollment_Patient a
CASE WHEN a.SignTime IS NULL THEN '' ELSE '' END AS Signer // LEFT JOIN Enrollment_FeeItem b ON a.ID = b.EID
FROM Enrollment_Patient a // WHERE a.OEID = {oeID}
LEFT JOIN Enrollment_FeeItem b ON a.ID = b.EID // ORDER BY Name,SignTime");
WHERE a.OEID = {oeID}
ORDER BY Name,SignTime");
} }
} }
} }

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" ReportInfo.Created="06/26/2023 17:47:58" ReportInfo.Modified="10/15/2024 11:04:41" ReportInfo.CreatorVersion="2022.1.0.0"> <Report ScriptLanguage="CSharp" ReportInfo.Created="06/26/2023 17:47:58" ReportInfo.Modified="11/06/2024 16:54:54" ReportInfo.CreatorVersion="2022.1.0.0">
<ScriptText>using System; <ScriptText>using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
@ -24,6 +24,12 @@ namespace FastReport
Cell96.Font = new Font(&quot;微软雅黑&quot;, (float)10, FontStyle.Bold); Cell96.Font = new Font(&quot;微软雅黑&quot;, (float)10, FontStyle.Bold);
} }
} }
private void Cell83_AfterData(object sender, EventArgs e)
{
DataSourceBase rowData = Report.GetDataSource(&quot;O&quot;);
Cell83.Text = rowData[&quot;SignTime&quot;] == null ? &quot;&quot; : Convert.ToDateTime(rowData[&quot;SignTime&quot;]).ToString(&quot;yyyy-MM-dd&quot;);
}
} }
} }
</ScriptText> </ScriptText>
@ -33,12 +39,13 @@ namespace FastReport
<Parameter Name="Yes" DataType="System.String"/> <Parameter Name="Yes" DataType="System.String"/>
<Parameter Name="No" DataType="System.String"/> <Parameter Name="No" DataType="System.String"/>
<Parameter Name="TotalFee" DataType="System.String"/> <Parameter Name="TotalFee" DataType="System.String"/>
<Parameter Name="TotalSum" DataType="System.String"/>
</Dictionary> </Dictionary>
<ReportPage Name="Page1" RawPaperSize="9" Watermark.Font="宋体, 60pt"> <ReportPage Name="Page1" RawPaperSize="9" Watermark.Font="宋体, 60pt">
<ColumnHeaderBand Name="ColumnHeader1" Width="718.2" Height="56.7" PrintOn="FirstPage"> <ColumnHeaderBand Name="ColumnHeader1" Width="718.2" Height="56.7" PrintOn="FirstPage">
<TextObject Name="Text1" Width="718.2" Height="56.7" Text="[OrgName]" AutoShrink="FontWidth" HorzAlign="Center" VertAlign="Center" WordWrap="false" Font="微软雅黑, 26pt, style=Bold"/> <TextObject Name="Text1" Width="718.2" Height="56.7" Text="[OrgName]" AutoShrink="FontWidth" HorzAlign="Center" VertAlign="Center" WordWrap="false" Font="微软雅黑, 26pt, style=Bold"/>
</ColumnHeaderBand> </ColumnHeaderBand>
<GroupHeaderBand Name="GroupHeader1" Top="58.3" Width="718.2" Height="28.35" Condition="[F.GroupID]" SortOrder="None"> <GroupHeaderBand Name="GroupHeader1" Top="58.7" Width="718.2" Height="28.35" Condition="[F.GroupID]" SortOrder="None">
<TableObject Name="Table9" Width="718.2" Height="28.35" Border.Lines="All"> <TableObject Name="Table9" Width="718.2" Height="28.35" Border.Lines="All">
<TableColumn Name="Column69" Width="107.1"/> <TableColumn Name="Column69" Width="107.1"/>
<TableColumn Name="Column70" Width="494.55"/> <TableColumn Name="Column70" Width="494.55"/>
@ -49,7 +56,7 @@ namespace FastReport
<TableCell Name="Cell91" Border.Lines="All" Text="体检费用" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt, style=Bold"/> <TableCell Name="Cell91" Border.Lines="All" Text="体检费用" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt, style=Bold"/>
</TableRow> </TableRow>
</TableObject> </TableObject>
<DataBand Name="OrgFeeItem" Top="88.25" Width="718.2" Height="28.35" CanGrow="true" CanShrink="true"> <DataBand Name="OrgFeeItem" Top="89.05" Width="718.2" Height="28.35" CanGrow="true" CanShrink="true">
<TableObject Name="Table11" Width="718.2" Height="28.35" Border.Lines="All"> <TableObject Name="Table11" Width="718.2" Height="28.35" Border.Lines="All">
<TableColumn Name="Column75" Width="107.1"/> <TableColumn Name="Column75" Width="107.1"/>
<TableColumn Name="Column76" Width="494.55"/> <TableColumn Name="Column76" Width="494.55"/>
@ -61,60 +68,73 @@ namespace FastReport
</TableRow> </TableRow>
</TableObject> </TableObject>
</DataBand> </DataBand>
<GroupFooterBand Name="GroupFooter1" Top="118.2" Width="718.2" Height="28.35"/> <GroupFooterBand Name="GroupFooter1" Top="119.4" Width="718.2" Height="28.35"/>
</GroupHeaderBand> </GroupHeaderBand>
</ReportPage> </ReportPage>
<ReportPage Name="Page2" Watermark.Font="宋体, 60pt"> <ReportPage Name="Page2" Watermark.Font="宋体, 60pt">
<GroupHeaderBand Name="GroupHeader2" Width="718.2" Height="28.35" StartNewPage="true" Condition="[O.Name]" SortOrder="None"> <DataBand Name="OrgExcel" Top="39.8" Width="718.2" Height="37.8" CanGrow="true" CanShrink="true">
<TableObject Name="Table12" Width="718.2" Height="28.35" Border.Lines="All"> <TableObject Name="Table8" Width="718.19" Height="37.8">
<TableColumn Name="Column78"/> <TableColumn Name="Column57" Width="36.96"/>
<TableColumn Name="Column79" Width="47.25"/> <TableColumn Name="Column58" Width="55.86"/>
<TableColumn Name="Column80" Width="47.25"/> <TableColumn Name="Column59" Width="55.86"/>
<TableColumn Name="Column81" Width="56.7"/> <TableColumn Name="Column60" Width="36.95"/>
<TableColumn Name="Column82" Width="141.75"/> <TableColumn Name="Column61" Width="46.41"/>
<TableColumn Name="Column83" Width="302.4"/> <TableColumn Name="Column62" Width="188.16"/>
<TableColumn Name="Column90" Width="56.7"/> <TableColumn Name="Column63" Width="93.65"/>
<TableRow Name="Row12" Height="28.35"> <TableColumn Name="Column64" Width="74.76"/>
<TableCell Name="Cell98" Border.Lines="All" Text="姓名" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt, style=Bold"/> <TableColumn Name="Column65" Width="46.42"/>
<TableCell Name="Cell99" Border.Lines="All" Text="性别" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt, style=Bold"/> <TableColumn Name="Column66" Width="83.16"/>
<TableCell Name="Cell100" Border.Lines="All" Text="年龄" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt, style=Bold"/> <TableRow Name="Row8" Height="37.8">
<TableCell Name="Cell101" Border.Lines="All" Text="状态" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt, style=Bold"/> <TableCell Name="Cell77" Border.Lines="All" Text="[Row#]" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell102" Border.Lines="All" Text="证件号" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt, style=Bold"/> <TableCell Name="Cell78" Border.Lines="All" Text="[O.ID]" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell123" Border.Lines="All" Text="体检项目" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt, style=Bold"/> <TableCell Name="Cell79" Border.Lines="All" Text="[O.Name]" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell130" Text="价格" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt, style=Bold"/> <TableCell Name="Cell80" Border.Lines="All" Text="[O.Sex]" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell81" Border.Lines="All" Text="[O.AgeClass]" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell82" Border.Lines="All" Text="[O.CardNo]" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell83" Border.Lines="All" AfterDataEvent="Cell83_AfterData" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell84" Border.Lines="All" Text="[O.Price]" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell85" Border.Lines="All" Text="[O.Discount]" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell86" Border.Lines="All" Text="[O.Fee]" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
</TableRow> </TableRow>
</TableObject> </TableObject>
<DataBand Name="OrgExcel" Top="29.95" Width="718.2" Height="28.35" CanGrow="true" CanShrink="true"> <DataHeaderBand Name="DataHeader1" Width="718.2" Height="37.8">
<TableObject Name="Table13" Width="718.2" Height="28.35" Border.Lines="All"> <TableObject Name="Table1" Width="718.19" Height="37.8">
<TableColumn Name="Column84"/> <TableColumn Name="Column1" Width="36.96"/>
<TableColumn Name="Column85" Width="47.25"/> <TableColumn Name="Column2" Width="55.86"/>
<TableColumn Name="Column86" Width="47.25"/> <TableColumn Name="Column3" Width="55.86"/>
<TableColumn Name="Column87" Width="56.7"/> <TableColumn Name="Column4" Width="36.95"/>
<TableColumn Name="Column88" Width="141.75"/> <TableColumn Name="Column5" Width="46.41"/>
<TableColumn Name="Column89" Width="302.4"/> <TableColumn Name="Column6" Width="188.16"/>
<TableColumn Name="Column91" Width="56.7"/> <TableColumn Name="Column7" Width="93.65"/>
<TableRow Name="Row13" MinHeight="28.35" Height="28.35" AutoSize="true"> <TableColumn Name="Column8" Width="74.76"/>
<TableCell Name="Cell124" Border.Lines="All" Text="[O.Name]" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/> <TableColumn Name="Column9" Width="46.42"/>
<TableCell Name="Cell125" Border.Lines="All" Text="[O.Sex]" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/> <TableColumn Name="Column45" Width="83.16"/>
<TableCell Name="Cell126" Border.Lines="All" Text="[O.AgeClass]" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/> <TableRow Name="Row1" Height="37.8">
<TableCell Name="Cell127" Border.Lines="All" Text="[O.Signer]" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/> <TableCell Name="Cell1" Border.Lines="All" Text="序号" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell128" Border.Lines="All" Text="[O.CardNo]" VertAlign="Center" Font="微软雅黑, 10pt"/> <TableCell Name="Cell2" Border.Lines="All" Text="体检号" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell129" Border.Lines="All" Text="[O.FeeItemName]" VertAlign="Center" Font="微软雅黑, 10pt"/> <TableCell Name="Cell3" Border.Lines="All" Text="姓名" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell131" Text="[O.Price]" VertAlign="Center" Font="微软雅黑, 10pt"/> <TableCell Name="Cell4" Border.Lines="All" Text="性别" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell5" Border.Lines="All" Text="年龄" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell6" Border.Lines="All" Text="证件号" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell7" Border.Lines="All" Text="体检日期" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell8" Border.Lines="All" Text="体检费用" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell9" Border.Lines="All" Text="折扣" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell65" Border.Lines="All" Text="实收费用" HorzAlign="Center" VertAlign="Center" Font="微软雅黑, 10pt"/>
</TableRow> </TableRow>
</TableObject> </TableObject>
<DataFooterBand Name="DataFooter1" Top="59.9" Width="718.2" Height="18.9"/> </DataHeaderBand>
</DataBand> <DataFooterBand Name="DataFooter1" Top="79.6" Width="718.2" Height="28.35">
<DataFooterBand Name="DataFooter2" Top="80.4" Width="718.2" Height="28.35">
<TableObject Name="Table5" Width="718.2" Height="28.35" Fill.Color="InactiveBorder"> <TableObject Name="Table5" Width="718.2" Height="28.35" Fill.Color="InactiveBorder">
<TableColumn Name="Column35" Width="652.05"/> <TableColumn Name="Column35" Width="514.08"/>
<TableColumn Name="Column68"/> <TableColumn Name="Column68" Width="120.96"/>
<TableColumn Name="Column78" Width="83.16"/>
<TableRow Name="Row5" Height="28.35" AutoSize="true"> <TableRow Name="Row5" Height="28.35" AutoSize="true">
<TableCell Name="Cell55" Border.Lines="All" Fill.Color="InactiveBorder" Text="-总计-:[TotalCount]人,已体检:[Yes]人,未体检:[No]人" VertAlign="Center" Font="微软雅黑, 10pt" ColSpan="2"/> <TableCell Name="Cell55" Border.Lines="All" Fill.Color="InactiveBorder" Text="-总计-:[TotalCount]人,已体检:[Yes]人,未体检:[No]人" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell88" Border.Lines="All" Font="微软雅黑, 10pt"/> <TableCell Name="Cell88" Border.Lines="All" Text="[TotalPrice]" VertAlign="Center" Font="微软雅黑, 10pt"/>
<TableCell Name="Cell98" Border.Lines="All" Text="[TotalFee]" HorzAlign="Right" VertAlign="Center" Font="微软雅黑, 10pt"/>
</TableRow> </TableRow>
</TableObject> </TableObject>
</DataFooterBand> </DataFooterBand>
</GroupHeaderBand> </DataBand>
</ReportPage> </ReportPage>
</Report> </Report>

@ -872,6 +872,7 @@ namespace PEIS.View.Enrollment
rpt.SetParameterValue("Yes", _lstExcelEPatient.Where(w => w.SignTime != null).GroupBy(g => g.Name).Count()); rpt.SetParameterValue("Yes", _lstExcelEPatient.Where(w => w.SignTime != null).GroupBy(g => g.Name).Count());
rpt.SetParameterValue("OrgName", DgvOrg.GetRowCellValue(DgvOrg.GetSelectedRows()[0], "Name").ToString()); rpt.SetParameterValue("OrgName", DgvOrg.GetRowCellValue(DgvOrg.GetSelectedRows()[0], "Name").ToString());
rpt.SetParameterValue("TotalFee", _lstExcelEPatient.Sum(s => s.Fee)); rpt.SetParameterValue("TotalFee", _lstExcelEPatient.Sum(s => s.Fee));
rpt.SetParameterValue("TotalPrice", _lstExcelEPatient.Sum(s => s.Price));
// 人员数据 // 人员数据
rpt.RegisterData(_lstExcelEPatient, "O"); rpt.RegisterData(_lstExcelEPatient, "O");
@ -888,7 +889,7 @@ namespace PEIS.View.Enrollment
{ {
GroupID = grp.Key, GroupID = grp.Key,
Price = grp.Sum(item => item.Price), Price = grp.Sum(item => item.Price),
PackName = grp.Where(item => item.PackName != null).ToList()[0].PackName PackName = grp.Where(item => item.PackName != null).ToList().Count() == 0 ? "加项" : grp.Where(item => item.PackName != null).ToList()[0].PackName
}); });
foreach (var group in grouped) foreach (var group in grouped)
@ -960,6 +961,7 @@ namespace PEIS.View.Enrollment
rpt.SetParameterValue("Yes", list.Where(w => w.SignTime != null).GroupBy(g => g.Name).Count()); rpt.SetParameterValue("Yes", list.Where(w => w.SignTime != null).GroupBy(g => g.Name).Count());
rpt.SetParameterValue("OrgName", DgvOrg.GetRowCellValue(DgvOrg.GetSelectedRows()[0], "Name").ToString()); rpt.SetParameterValue("OrgName", DgvOrg.GetRowCellValue(DgvOrg.GetSelectedRows()[0], "Name").ToString());
rpt.SetParameterValue("TotalFee", list.Sum(s => s.Fee)); rpt.SetParameterValue("TotalFee", list.Sum(s => s.Fee));
rpt.SetParameterValue("TotalPrice", list.Sum(s => s.Price));
// 人员数据 // 人员数据
rpt.RegisterData(list, "O"); rpt.RegisterData(list, "O");
@ -976,7 +978,7 @@ namespace PEIS.View.Enrollment
{ {
GroupID = grp.Key, GroupID = grp.Key,
Price = grp.Sum(item => item.Price), Price = grp.Sum(item => item.Price),
PackName = grp.Where(item => item.PackName != null).ToList()[0].PackName PackName = grp.Where(item => item.PackName != null).ToList().Count() == 0 ? "加项" : grp.Where(item => item.PackName != null).ToList()[0].PackName
}); });
foreach (var group in grouped) foreach (var group in grouped)

Loading…
Cancel
Save