roaster assignment, multiple employee job card report, Monthly attendance details report modified

This commit is contained in:
mashfiq 2025-03-13 11:28:40 +06:00
parent 47414d9124
commit 38a0a298d1
7 changed files with 356 additions and 19 deletions

View File

@ -266,6 +266,146 @@
<TablixCornerCell /> <TablixCornerCell />
<TablixCornerCell /> <TablixCornerCell />
<TablixCornerCell /> <TablixCornerCell />
<TablixCornerCell>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Department</Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<BackgroundColor>Gainsboro</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCornerCell>
<TablixCornerCell>
<CellContents>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Floor</Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<BackgroundColor>Gainsboro</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCornerCell>
<TablixCornerCell>
<CellContents>
<Textbox Name="Textbox11">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Section</Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox11</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<BackgroundColor>Gainsboro</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCornerCell>
<TablixCornerCell>
<CellContents>
<Textbox Name="Textbox13">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Line</Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox13</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<BackgroundColor>Gainsboro</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCornerCell>
</TablixCornerRow> </TablixCornerRow>
</TablixCornerRows> </TablixCornerRows>
</TablixCorner> </TablixCorner>
@ -541,33 +681,225 @@
</TablixHeader> </TablixHeader>
<TablixMembers> <TablixMembers>
<TablixMember> <TablixMember>
<Group Name="matrix1_RowGroup7"> <Group Name="matrix1_Department">
<GroupExpressions> <GroupExpressions>
<GroupExpression>=Fields!EmployeeNo.Value</GroupExpression> <GroupExpression>=Fields!Department.Value</GroupExpression>
</GroupExpressions> </GroupExpressions>
</Group> </Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!Department.Value</Value>
</SortExpression>
</SortExpressions>
<TablixHeader>
<Size>1in</Size>
<CellContents>
<Textbox Name="Department">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=First(Fields!Department.Value)</Value>
<Style>
<FontSize>7pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Department</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers> <TablixMembers>
<TablixMember> <TablixMember>
<Group Name="matrix1_RowGroup9"> <Group Name="matrix1_Floor">
<GroupExpressions> <GroupExpressions>
<GroupExpression>=Fields!EmployeeNo.Value</GroupExpression> <GroupExpression>=Fields!Floor.Value</GroupExpression>
</GroupExpressions> </GroupExpressions>
</Group> </Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!Floor.Value</Value>
</SortExpression>
</SortExpressions>
<TablixHeader>
<Size>1in</Size>
<CellContents>
<Textbox Name="Floor">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=First(Fields!Floor.Value)</Value>
<Style>
<FontSize>7pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Floor</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers> <TablixMembers>
<TablixMember> <TablixMember>
<Group Name="matrix1_RowGroup10"> <Group Name="matrix1_Section">
<GroupExpressions> <GroupExpressions>
<GroupExpression>=Fields!EmployeeNo.Value</GroupExpression> <GroupExpression>=Fields!Section.Value</GroupExpression>
</GroupExpressions> </GroupExpressions>
</Group> </Group>
<DataElementOutput>Output</DataElementOutput> <SortExpressions>
<KeepTogether>true</KeepTogether> <SortExpression>
<Value>=Fields!Section.Value</Value>
</SortExpression>
</SortExpressions>
<TablixHeader>
<Size>1in</Size>
<CellContents>
<Textbox Name="Section">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=First(Fields!Section.Value)</Value>
<Style>
<FontSize>7pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Section</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers>
<TablixMember>
<Group Name="matrix1_Line">
<GroupExpressions>
<GroupExpression>=Fields!Line.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!Line.Value</Value>
</SortExpression>
</SortExpressions>
<TablixHeader>
<Size>1in</Size>
<CellContents>
<Textbox Name="Line">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=First(Fields!Line.Value)</Value>
<Style>
<FontSize>7pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Line</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers>
<TablixMember>
<Group Name="matrix1_RowGroup7">
<GroupExpressions>
<GroupExpression>=Fields!EmployeeNo.Value</GroupExpression>
</GroupExpressions>
</Group>
<TablixMembers>
<TablixMember>
<Group Name="matrix1_RowGroup9">
<GroupExpressions>
<GroupExpression>=Fields!EmployeeNo.Value</GroupExpression>
</GroupExpressions>
</Group>
<TablixMembers>
<TablixMember>
<Group Name="matrix1_RowGroup10">
<GroupExpressions>
<GroupExpression>=Fields!EmployeeNo.Value</GroupExpression>
</GroupExpressions>
</Group>
<DataElementOutput>Output</DataElementOutput>
<KeepTogether>true</KeepTogether>
</TablixMember>
</TablixMembers>
<DataElementOutput>Output</DataElementOutput>
</TablixMember>
</TablixMembers>
<DataElementOutput>Output</DataElementOutput>
</TablixMember>
</TablixMembers>
</TablixMember>
</TablixMembers>
</TablixMember> </TablixMember>
</TablixMembers> </TablixMembers>
<DataElementOutput>Output</DataElementOutput>
</TablixMember> </TablixMember>
</TablixMembers> </TablixMembers>
<DataElementOutput>Output</DataElementOutput>
</TablixMember> </TablixMember>
</TablixMembers> </TablixMembers>
<DataElementOutput>Output</DataElementOutput> <DataElementOutput>Output</DataElementOutput>
@ -591,7 +923,7 @@
<DataSetName>AttendenceDataSet_MonthlyDetail</DataSetName> <DataSetName>AttendenceDataSet_MonthlyDetail</DataSetName>
<Top>0.6875in</Top> <Top>0.6875in</Top>
<Height>0.9in</Height> <Height>0.9in</Height>
<Width>4.35in</Width> <Width>8.35in</Width>
<Style /> <Style />
</Tablix> </Tablix>
<Textbox Name="textbox1"> <Textbox Name="textbox1">

View File

@ -2338,7 +2338,7 @@ namespace HRM.Report
continue; continue;
} }
var empDailyAttnProcess = dAttnProcessess.Where(x => x.EmployeeID == employee.ID && var empDailyAttnProcess = dAttnProcessess.Where(x => x.EmployeeID == employee.ID &&
x.AttnDate >= firstDateOfMonth && x.AttnDate <= lastDateOfMonth).ToList(); x.AttnDate >= firstDateOfMonth && x.AttnDate <= lastDateOfMonth).OrderBy(x => x.AttnDate).ToList();
if (empDailyAttnProcess.Count > 0) if (empDailyAttnProcess.Count > 0)
{ {
GetEmpDailyAttn(employee, empDailyAttnProcess, dTableChild, month, out totalOTHour, out totalLateHour, _adps, _Adparameters, oShiftIDs, oShiftIDsSpecial, oNationalHolidays, GetEmpDailyAttn(employee, empDailyAttnProcess, dTableChild, month, out totalOTHour, out totalLateHour, _adps, _Adparameters, oShiftIDs, oShiftIDsSpecial, oNationalHolidays,

View File

@ -324,7 +324,9 @@
<EmbeddedResource Include="Attendence\RDLC\MonthlyAttendanceSummary.rdlc" /> <EmbeddedResource Include="Attendence\RDLC\MonthlyAttendanceSummary.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MonthlyAttendanceReportNew.rdlc" /> <EmbeddedResource Include="Attendence\RDLC\MonthlyAttendanceReportNew.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MonthlyAttnLiFung.rdlc" /> <EmbeddedResource Include="Attendence\RDLC\MonthlyAttnLiFung.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MonthlyDetailAttnEcho.rdlc" /> <EmbeddedResource Include="Attendence\RDLC\MonthlyDetailAttnEcho.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCard.rdlc" /> <EmbeddedResource Include="Attendence\RDLC\MultipleJobCard.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCardSub.rdlc" /> <EmbeddedResource Include="Attendence\RDLC\MultipleJobCardSub.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\rptMonthlyKPI.rdlc"> <EmbeddedResource Include="Attendence\RDLC\rptMonthlyKPI.rdlc">

View File

@ -66,7 +66,7 @@
</div> </div>
</form> </form>
</div> </div>
<kendo-grid [data]="empWorkPlanSetupList" [height]="380" [filterable]="true" [kendoGridBinding]="empWorkPlanSetupList"> <kendo-grid [kendoGridBinding]="empWorkPlanSetupList" [height]="380" [filterable]="true">
<ng-template kendoGridToolbarTemplate> <ng-template kendoGridToolbarTemplate>
<label>Count: {{ this.empWorkPlanSetupList.length }}</label> <label>Count: {{ this.empWorkPlanSetupList.length }}</label>
<kendo-grid-spacer></kendo-grid-spacer> <kendo-grid-spacer></kendo-grid-spacer>

View File

@ -141,7 +141,7 @@ export class EchotexRosterAssignmentComponent implements OnInit {
ewpList.workPlanGroupID = this.selectedWorkPlanID; ewpList.workPlanGroupID = this.selectedWorkPlanID;
var wp = this.workPlanGroupList.find(w => w.id == this.selectedWorkPlanID); var wp = this.workPlanGroupList.find(w => w.id == this.selectedWorkPlanID);
ewpList.workPlanGroupNameView = wp.name; ewpList.workPlanGroupNameView = wp.name;
debugger; // debugger;
if (!this.fixedWorkPlan) { if (!this.fixedWorkPlan) {
ewpList.startDate = this.startDate; ewpList.startDate = this.startDate;
// ewpList.weekEndOn = this.getDayOfWeekEnum(ewpList.startDate); // ewpList.weekEndOn = this.getDayOfWeekEnum(ewpList.startDate);
@ -209,7 +209,7 @@ export class EchotexRosterAssignmentComponent implements OnInit {
loadGroupTypeAndInitialShift(workPlanGroup: WorkPlanGroup) { loadGroupTypeAndInitialShift(workPlanGroup: WorkPlanGroup) {
this.loadingPanel.ShowLoadingPanel = true; this.loadingPanel.ShowLoadingPanel = true;
this.empWorkPlanSetupList = []; this.empWorkPlanSetupList = [];
debugger; // debugger;
// if (workPlanGroup.type != EnumWorkPlanGroup.Fixed && // if (workPlanGroup.type != EnumWorkPlanGroup.Fixed &&
// (workPlanGroup.type != undefined || workPlanGroup.type != null)) { // (workPlanGroup.type != undefined || workPlanGroup.type != null)) {
// this.fixedWorkPlan = false; // this.fixedWorkPlan = false;
@ -227,7 +227,7 @@ export class EchotexRosterAssignmentComponent implements OnInit {
}, },
() => { () => {
//console.log(this.empWorkPlanSetupList); //console.log(this.empWorkPlanSetupList);
debugger; // debugger;
// if (this.empWorkPlanSetupList.length > 0) { // if (this.empWorkPlanSetupList.length > 0) {
// if (this.empWorkPlanSetupList[0].workPlanGroupType != EnumWorkPlanGroup.Fixed && // if (this.empWorkPlanSetupList[0].workPlanGroupType != EnumWorkPlanGroup.Fixed &&
// (this.empWorkPlanSetupList[0].workPlanGroupType != undefined || this.empWorkPlanSetupList[0].workPlanGroupType != null)) { // (this.empWorkPlanSetupList[0].workPlanGroupType != undefined || this.empWorkPlanSetupList[0].workPlanGroupType != null)) {
@ -340,7 +340,7 @@ export class EchotexRosterAssignmentComponent implements OnInit {
} }
public getHolidayDayOfWeek(day: number): string { public getHolidayDayOfWeek(day: number): string {
debugger; // debugger;
day = day + 1; day = day + 1;
switch (day) { switch (day) {
case HolidayDayOfWeek.Sunday: case HolidayDayOfWeek.Sunday:

View File

@ -688,7 +688,10 @@ export class ReportViewerComponent implements OnInit {
this.hiddenToDate = true; this.hiddenToDate = true;
this.hiddenExport = true; this.hiddenExport = true;
this.loadCurrentFiscalYear(); this.loadCurrentFiscalYear();
this.fromDate = new Date();
this.toDate = new Date(); this.toDate = new Date();
this.fromDateFormat = 'MMM yyyy';
this.toDateFormat = 'MMM yyyy';
this.PDFTitle = 'Multiple Employee Job Card'; this.PDFTitle = 'Multiple Employee Job Card';
this.apiService.selectedMenuName = 'Multiple Employee Job Card'; this.apiService.selectedMenuName = 'Multiple Employee Job Card';
} else if (this.reportType === '606') { } else if (this.reportType === '606') {

View File

@ -699,7 +699,7 @@ namespace HRM.UI.Controllers.Report
case EnumReportType.SalaryReconSummaryEcho: case EnumReportType.SalaryReconSummaryEcho:
break; break;
case EnumReportType.MultipleEmployeeJobCardEcho: case EnumReportType.MultipleEmployeeJobCardEcho:
bytes = new rptEcho().ShowJobCardMultiple(fromDate, toDate, sEmpIDs, reportType, (int)currentUser.PayrollTypeID); bytes = new rptEcho().ShowJobCardMultiple(GlobalFunctions.FirstDateOfMonth(fromDate), GlobalFunctions.LastDateOfMonth(toDate), sEmpIDs, reportType, (int)currentUser.PayrollTypeID);
break; break;
case EnumReportType.DailyPresentEcho: case EnumReportType.DailyPresentEcho:
bytes = new rptEcho().ShowDailyPresent(fromDate, sEmpIDs, reportType, (int)currentUser.PayrollTypeID); bytes = new rptEcho().ShowDailyPresent(fromDate, sEmpIDs, reportType, (int)currentUser.PayrollTypeID);