Bangla Info and Employee serach #35

Merged
chapal merged 5 commits from dev_mashfiq into devqc 2025-03-25 11:11:17 +06:00
25 changed files with 6776 additions and 6255 deletions

View File

@ -730,7 +730,8 @@ namespace HRM.DA
}
internal static void UpdateBanglaContactInformation(TransactionContext tc, List<object> employeBanglaInfo)
{
tc.ExecuteNonQuery("UPDATE EMPCONTACT SET presentPOInBangla = %s, presentAddressInBangla = %s, parmanentPOInBangla = %s, permanentAddressInBangla =%s WHERE EMPLOYEEID = %s", employeBanglaInfo[1], employeBanglaInfo[2], employeBanglaInfo[3], employeBanglaInfo[4], employeBanglaInfo[0]);
string sql = SQLParser.MakeSQL("UPDATE EMPCONTACT SET presentPOInBangla = %s, presentAddressInBangla = %s, parmanentPOInBangla = %s, permanentAddressInBangla =%s WHERE EMPLOYEEID = %n", employeBanglaInfo[1], employeBanglaInfo[2], employeBanglaInfo[3], employeBanglaInfo[4], employeBanglaInfo[0]);
tc.ExecuteNonQuery(sql);
}
internal static IDataReader GetByEmpIDs(TransactionContext tc, string empIDs)

View File

@ -223,7 +223,7 @@ namespace HRM.DA
id);
tc.ExecuteNonQuery("DELETE FROM SalaryMonthly WHERE SalaryProcessID=%n", id);
//}
tc.ExecuteNonQuery("DELETE FROM SalaryProcess WHERE SalaryProcessID=%n", id);
//tc.ExecuteNonQuery("DELETE FROM SalaryProcess WHERE SalaryProcessID=%n", id);
}
internal static void UndoMonthlySalaryByIDs(TransactionContext tc, string ids)

View File

@ -374,9 +374,10 @@ END;";
//orderby = "EmployeeNo";
//Using TOP
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo LIKE %s", ( code + "%"));
//sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo LIKE %s", ( code + "%")); // Using LIKE Operator
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo = %s", ( code)); // Without Using LIKE Operator
orderby = "EmployeeNo";
top = "TOP 15";
top = "TOP 5";
//Without suggestion
//sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo = %s", code );

View File

@ -473,7 +473,7 @@ namespace HRM.DA
}
_attnRunSummary = new AttnProcessRunSummary();
_attnRunSummary.ProcessMode = prMode;
// bool isInOutApplicable = false;
//bool isInOutApplicable = false;
_shifts = _shifts ?? new ShiftService().GetAllShift();
@ -483,7 +483,7 @@ namespace HRM.DA
#region Initialization for Attendence Process
Attdate = fromDate;
// isInOutApplicable = new SystemConfigarationService().GetconfigBooleanValue(EnumConfigurationType.Logic, "attendence", "inoutapplicable");
//isInOutApplicable = new SystemConfigarationService().GetconfigBooleanValue(EnumConfigurationType.Logic, "attendence", "inoutapplicable");
List<DailyAttnProcess> dailyattProcesses = new List<DailyAttnProcess>();
List<DailyAttendanceAllowance> dailyAttendanceAllowances = new List<DailyAttendanceAllowance>();
@ -2597,7 +2597,11 @@ namespace HRM.DA
List<Shift> shifts =new ShiftService().GetAllShift();
List<WorkPlanGroup> workPlanGroups = new WorkPlanGroupService().GetAll();
if( employees == null) employees = new EmployeeService().GetAllLive();
//if( employees == null) employees = new EmployeeService().GetAllLive();
if( employees == null)
employees = new EmployeeService().Get(EnumEmployeeStatus.Live, payrolltypeid)
.OrderBy(num => num.EmployeeNo.Length).ThenBy(num => Convert.ToInt32(num.EmployeeNo)).ToList();
List<Employee> discontinueEmps =new EmployeeService().GetDiscontinueEmp(Attdate, DateTime.Now, payrolltypeid);
//List<AttnRawData> attRawdata = new AttnRawDataService().Get(startTime, ToTime, payrolltypeid);// get raw data by a date and order by date, employee, punchTime
@ -2636,7 +2640,6 @@ namespace HRM.DA
foreach (Employee emp in employees)
{
//EmpTempid = emp.ID.Integer;
#region EmployeeWise Setup

View File

@ -2960,9 +2960,9 @@ namespace HRM.DA
}
}
public DateTime GetLastProcessDateUsingPayrollType(int PayrolltypeID)
public DateTime? GetLastProcessDateUsingPayrollType(int PayrolltypeID)
{
DateTime lastProcessDate = DateTime.MinValue;
DateTime? lastProcessDate = null;
TransactionContext tc = null;
try
{
@ -2972,7 +2972,7 @@ namespace HRM.DA
{
lastProcessDate = oreader.GetDateTime("LastProcessDate").HasValue
? oreader.GetDateTime("LastProcessDate").Value
: DateTime.MinValue;
: null;
}
oreader.Close();

View File

@ -266,6 +266,146 @@
<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>
</TablixCornerRows>
</TablixCorner>
@ -541,33 +681,225 @@
</TablixHeader>
<TablixMembers>
<TablixMember>
<Group Name="matrix1_RowGroup7">
<Group Name="matrix1_Department">
<GroupExpressions>
<GroupExpression>=Fields!EmployeeNo.Value</GroupExpression>
<GroupExpression>=Fields!Department.Value</GroupExpression>
</GroupExpressions>
</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>
<TablixMember>
<Group Name="matrix1_RowGroup9">
<Group Name="matrix1_Floor">
<GroupExpressions>
<GroupExpression>=Fields!EmployeeNo.Value</GroupExpression>
<GroupExpression>=Fields!Floor.Value</GroupExpression>
</GroupExpressions>
</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>
<TablixMember>
<Group Name="matrix1_RowGroup10">
<Group Name="matrix1_Section">
<GroupExpressions>
<GroupExpression>=Fields!EmployeeNo.Value</GroupExpression>
<GroupExpression>=Fields!Section.Value</GroupExpression>
</GroupExpressions>
</Group>
<DataElementOutput>Output</DataElementOutput>
<KeepTogether>true</KeepTogether>
<SortExpressions>
<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>
</TablixMembers>
<DataElementOutput>Output</DataElementOutput>
</TablixMember>
</TablixMembers>
<DataElementOutput>Output</DataElementOutput>
</TablixMember>
</TablixMembers>
<DataElementOutput>Output</DataElementOutput>
@ -591,7 +923,7 @@
<DataSetName>AttendenceDataSet_MonthlyDetail</DataSetName>
<Top>0.6875in</Top>
<Height>0.9in</Height>
<Width>4.35in</Width>
<Width>8.35in</Width>
<Style />
</Tablix>
<Textbox Name="textbox1">

View File

@ -1371,7 +1371,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>="Festival Holidays: "&amp;sum(cint(iif(Fields!Status.Value="H",1,0)))</Value>
<Value>="Festival Holidays: "&amp;sum(cint(iif(Fields!Status.Value="N",1,0)))</Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>

View File

@ -57,7 +57,8 @@ namespace HRM.Report
dTable.Rows.Add(oDR);
//count++;
}
dTable.TableName = "DigitalServiceBookDataSet_EMPDigitalServiceBook";
//dTable.TableName = "DigitalServiceBookDataSet_EMPDigitalServiceBook";
dTable.TableName = "EMPDigitalServiceBook";
dSet.Tables.Add(dTable);
#endregion
@ -71,13 +72,14 @@ namespace HRM.Report
foreach (DataRow oDRow in oSystemInfo.Tables[0].Rows)
{
oDR = dTable.NewRow();
oDR["NAME"] = oDRow["NAME"];
oDR["CORPORATEADDRESS"] = oDRow["CORPORATEADDRESS"];
oDR["NAME"] = "B‡Kv‡U· wjwg‡UW";
oDR["CORPORATEADDRESS"] = "Pv`iv , cjøxwe`y¨r , Kvwjqv‰Ki , MvRxcyi | ";
dTable.Rows.Add(oDR);
}
dTable.TableName = "DigitalServiceBookDataSet_SystemInformation";
//dTable.TableName = "DigitalServiceBookDataSet_SystemInformation";
dTable.TableName = "SystemInformation";
dSet.Tables.Add(dTable);
#endregion
@ -108,7 +110,8 @@ namespace HRM.Report
dTable.Rows.Add(oDR);
}
dTable.TableName = "DigitalServiceBookDataSet_EMPLifecycle";
//dTable.TableName = "DigitalServiceBookDataSet_EMPLifecycle";
dTable.TableName = "EMPLifecycle";
dSet.Tables.Add(dTable);
#endregion
@ -128,7 +131,8 @@ namespace HRM.Report
dTable.Rows.Add(oDR);
}
dTable.TableName = "DigitalServiceBookDataSet_LeaveEntry";
//dTable.TableName = "DigitalServiceBookDataSet_LeaveEntry";
dTable.TableName = "LeaveEntry";
dSet.Tables.Add(dTable);
#endregion
@ -151,7 +155,8 @@ namespace HRM.Report
dTable.Rows.Add(oDR);
}
dTable.TableName = "DigitalServiceBookDataSet_Complain";
//dTable.TableName = "DigitalServiceBookDataSet_Complain";
dTable.TableName = "Complain";
dSet.Tables.Add(dTable);
#endregion

View File

@ -2338,7 +2338,7 @@ namespace HRM.Report
continue;
}
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)
{
GetEmpDailyAttn(employee, empDailyAttnProcess, dTableChild, month, out totalOTHour, out totalLateHour, _adps, _Adparameters, oShiftIDs, oShiftIDsSpecial, oNationalHolidays,

View File

@ -324,9 +324,15 @@
<EmbeddedResource Include="Attendence\RDLC\MonthlyAttendanceSummary.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MonthlyAttendanceReportNew.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MonthlyAttnLiFung.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MonthlyDetailAttnEcho.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCard.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCardSub.rdlc" />
<EmbeddedResource Include="Attendence\RDLC\MonthlyDetailAttnEcho.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCard.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCardSub.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="Attendence\RDLC\rptMonthlyKPI.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
@ -407,7 +413,9 @@
<EmbeddedResource Include="RDLC\DateRangeMultipleJobCardNew.rdlc" />
<EmbeddedResource Include="RDLC\DateRangeMultipleJobCardSubNew.rdlc" />
<EmbeddedResource Include="RDLC\DepartmentalLeaveReport.rdlc" />
<EmbeddedResource Include="RDLC\DigitalServiceBook.rdlc" />
<EmbeddedResource Include="RDLC\DigitalServiceBook.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="RDLC\DivisionWiseOT.rdlc" />
<EmbeddedResource Include="RDLC\EducationalInfo.rdlc" />
<EmbeddedResource Include="RDLC\EERS.rdlc" />

File diff suppressed because it is too large Load Diff

View File

@ -3939,7 +3939,7 @@ namespace HRM.Report
{
byte[] bytes = null;
string RDLC = "HRM.Report.RDLC.AllDigitalServiceBook.rdlc";
string RDLC = "HRM.Report.RDLC.DigitalServiceBook.rdlc";//AllDigitalServiceBook.rdlc";
//string filePath = Path.Combine(folderPath, "../HRM.Report/RDLC/DigitalServiceBook.rdlc");
//string RDLC = filePath;
//_PATH = Application.StartupPath + @"\Logo.jpg";

View File

@ -209,6 +209,10 @@ export class AttendanceServices {
// return this.apiService.httpGet<EmployeeWorkPlanSetup[]>('/Attendance' + '/getNotYetAssiged');
return this.apiService.httpGet<Employee[]>('/Attendance' + '/getNotYetAssiged');
}
getLastAttnProcessDate() {
// return this.apiService.httpGet<EmployeeWorkPlanSetup[]>('/Attendance' + '/getNotYetAssiged');
return this.apiService.httpGet<Date>('/Attendance' + '/getLastAttnProcessDate');
}
getEmployeeWorkPlanSetupByWPGroupID(groupId: number) {
return this.apiService.httpGet<EmployeeWorkPlanSetup[]>('/Attendance' + '/getEmployeeWorkPlanSetupByWPGroupID' + '/' + groupId);
}

View File

@ -2,7 +2,7 @@
<form>
<div class="card card-w-title">
<div class="p-grid form-group">
<div class="p-col-12 p-md-5">
<div class="p-col-12 p-md-4">
<div class="p-col-12">
<label for="processFromDate">Process From</label>
</div>
@ -17,7 +17,7 @@
</div>
</div>
<div class="p-col-12 p-md-5">
<div class="p-col-12 p-md-4">
<div class="p-col-12">
<label for="processToDate">Process To</label>
</div>
@ -33,12 +33,23 @@
</div>
<div class="p-col-12 p-md-2">
<div class="p-col-12">
<label for="chkIWithEmployee">Employee Wise</label>
</div>
<div class="p-col-12">
<input type="checkbox" (change)="checkBoxChange()" [checked]="withEmployee"
id="withEmployee" kendoCheckBox/>
</div>
</div>
<div class="p-col-12 p-md-2" *ngIf="withEmployee">
<div class="p-col-12">
<label for="employeePicker">Select Employee</label>
</div>
<div class="p-col-12">
<app-employee-picker
[MultiSelect]="true"
[isActive]="withEmployee"
(ItemSelected)="GetSelectedEmployee($event)"
></app-employee-picker>
</div>
@ -47,7 +58,11 @@
<div class="p-grid form-group">
<div class="p-col-12 p-md-5">
<div class="p-col-12">
<label for="txtWP">(Number of Employees not in Work Plan : {{ employees.length }})</label>
<!-- <label for="txtLE">(Number of Attendance Employees : {{ employees.length }})</label> -->
<label for="txtWP">Number of Employees not in Work Plan : {{ employees.length }}</label>
</div>
<div class="p-col-12" *ngIf="lastProcessDate != null">
<label style="color: red;" for="txtWP">Last Process date : {{ lastProcessDate != null ? (lastProcessDate | date: 'dd MMM yyyy') : '' }}</label>
</div>
<div class="p-col-12">
<button icon="rotate"

View File

@ -23,7 +23,9 @@ export class AttendanceProcessComponent {
selectedEmployees: SearchEmployee[] = [];
notYetAssingedList: EmployeeWorkPlanSetup[];
employees: any[] = [];
processStatus:string = "";
lastProcessDate: Date;
processStatus: string = "";
withEmployee: boolean = false;
constructor(public attnService: AttendanceServices, public datatransferservice: DataTransferService,
public loadingPanel: loadingPanelService,
public notificationService: HRMNotificationService,
@ -35,7 +37,7 @@ export class AttendanceProcessComponent {
}
ngOnInit() {
this.notYetAssingedList =[]
this.notYetAssingedList = []
this.fromDate = new Date();
this.toDate = new Date();
this.attnService.getNotYetAssiged().subscribe(
@ -46,7 +48,18 @@ export class AttendanceProcessComponent {
},
() => {
});
this.attnService.getLastAttnProcessDate().subscribe(
(resp) => {
if (resp != null) {
this.lastProcessDate = new Date(resp);
}
},
(x) => {
},
() => {
});
}
public GetSelectedEmployee(childData) {
this.selectedEmployees = childData;
@ -81,18 +94,25 @@ export class AttendanceProcessComponent {
attnRequest.push({ "fromDate": this.fromDate, "toDate": this.toDate, "isWithEmployee": true, "employeeID": 0 });
if (this.selectedEmployees != undefined && this.selectedEmployees.length > 0) {
attnRequest = [];
this.selectedEmployees.forEach(x => {
attnRequest.push({ "fromDate": this.fromDate, "toDate": this.toDate, "isWithEmployee": false, "employeeID": x.employeeID });
});
if (this.withEmployee) {
if (this.selectedEmployees != undefined && this.selectedEmployees.length > 0) {
attnRequest = [];
this.selectedEmployees.forEach(x => {
attnRequest.push({ "fromDate": this.fromDate, "toDate": this.toDate, "isWithEmployee": false, "employeeID": x.employeeID });
});
}
else {
this.notificationService.showWarning('Please Select Employee!');
return;
}
}
this.loadingPanel.ShowLoadingPanel = true;
this.attnService.dailyAttnProcessManual(attnRequest).subscribe(
(x) => {
},
(x) => {
this.loadingPanel.ShowLoadingPanel = false;
@ -106,4 +126,15 @@ export class AttendanceProcessComponent {
this.processStatus = "Attendance Process is completed successfully.";
});
}
public checkBoxChange() {
debugger
if (this.withEmployee) {
this.withEmployee = false;
this.selectedEmployees = [];
}
else
this.withEmployee = true;
}
}

View File

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

View File

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

View File

@ -534,12 +534,12 @@
class="bangla-font" pInputText style="width:100%" type="text">
</div>
<div class="p-col-12 p-md-12 p-lg-12" style="margin: auto;" align="right">
<!-- <div class="p-col-12 p-md-12 p-lg-12" style="margin: auto;" align="right">
<button class="k-button k-primary" kendoButton icon="save"
(click)="saveBanglaPersonalInformation()">
Save
</button>
</div>
(click)="saveBanglaPersonalInformation()">
Save
</button>
</div> -->
</div>
</form>
<form [formGroup]="contactForm">

View File

@ -578,8 +578,9 @@ export class GeneralComponent implements OnInit {
)
}
SaveBanglaContactInformation() {
this.saveBanglaPersonalInformation();
const data = {
employeeNo: this.employeeService.hrEmployee.employeeNo,
employeeID: this.employeeService.hrEmployee.id,
presentPOInBangla: this.contact.presentPOInBangla,
presentAddressInBangla: this.contact.presentAddressInBangla,
parmanentPOInBangla: this.contact.parmanentPOInBangla,

View File

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

View File

@ -12,6 +12,7 @@ using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlTypes;
using System.Linq;
using System.Threading;
using static iTextSharp.text.pdf.AcroFields;
@ -957,6 +958,22 @@ namespace HRM.UI.Controllers.Attendance
return Ok(items);
}
[HttpGet("getLastAttnProcessDate")]
public ActionResult getLastAttnProcessDate()
{
DateTime? date = new DateTime();
CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User);
try
{
date = new DailyAttnProcessService().GetLastProcessDateUsingPayrollType((int)currentUser.PayrollTypeID);
}
catch (Exception e)
{
return StatusCode(StatusCodes.Status500InternalServerError, e.Message);
}
return Ok(date);
}
[HttpGet("getEmployeeWorkPlanSetupByWPGroupID/{groupId}")]
public ActionResult GetEmployeeWorkPlanSetupByWPGroupID(int groupId)
@ -2618,6 +2635,12 @@ namespace HRM.UI.Controllers.Attendance
(int)currentUser.PayrollTypeID);
count++;
}
else
{
//employees = new EmployeeService().Get(EnumEmployeeStatus.Live, (int)currentUser.PayrollTypeID)
// .OrderBy(num => num.EmployeeNo.Length).ThenBy(num => Convert.ToInt32(num.EmployeeNo)).ToList();
//count++;
}
for (DateTime attDate = fromDate; attDate <= toDate; attDate = attDate.AddDays(1))
{

View File

@ -2085,7 +2085,7 @@ namespace HRM.UI.Controllers
CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User);
var item = Newtonsoft.Json.JsonConvert.DeserializeObject(Convert.ToString(data));
string employeeNo = (string)item["employeeNo"].ToObject<string>();
int employeeID = Convert.ToInt32(item["employeeID"].ToObject<string>());
string presentPOInBangla = (string)item["presentPOInBangla"].ToObject<string>();
string presentAddressInBangla = (string)item["presentAddressInBangla"].ToObject<string>();
string parmanentPOInBangla = (string)item["parmanentPOInBangla"].ToObject<string>();
@ -2095,7 +2095,7 @@ namespace HRM.UI.Controllers
int ModifiedBy = currentUser.UserID;
List<object> employeBanglaInfo = new List<object>();
employeBanglaInfo.Add(employeeNo);
employeBanglaInfo.Add(employeeID);
employeBanglaInfo.Add(presentPOInBangla);
employeBanglaInfo.Add(presentAddressInBangla);
employeBanglaInfo.Add(parmanentPOInBangla);
@ -2105,7 +2105,20 @@ namespace HRM.UI.Controllers
try
{
new EmployeeService().UpdateBanglaContactInformation(employeBanglaInfo);
EmpContact contact = _hrEmployeeService.GetEmpContacts(employeeID).FirstOrDefault();
if(contact != null)
new EmployeeService().UpdateBanglaContactInformation(employeBanglaInfo);
else
{
EmpContact ec = new EmpContact();
ec.EmployeeID = employeeID;
ec.PresentPOInBangla = presentPOInBangla;
ec.ParmanentPOInBangla = parmanentPOInBangla;
ec.PresentAddressInBangla = presentAddressInBangla;
ec.PermanentAddressInBangla = presentAddressInBangla;
_hrEmployeeService.SaveContact(ec);
}
}
catch (Exception ex)
{

View File

@ -699,7 +699,7 @@ namespace HRM.UI.Controllers.Report
case EnumReportType.SalaryReconSummaryEcho:
break;
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;
case EnumReportType.DailyPresentEcho:
bytes = new rptEcho().ShowDailyPresent(fromDate, sEmpIDs, reportType, (int)currentUser.PayrollTypeID);

View File

@ -1244,6 +1244,9 @@
</ItemGroup>
<ItemGroup>
<None Update="RDLC\EmpDailyAttn.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="RDLC\IDCardPrint.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

View File

@ -2002,7 +2002,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>="Festival Holidays: "&amp;sum(cint(iif(Fields!Status.Value="H",1,0)))</Value>
<Value>="Festival Holidays: "&amp;sum(cint(iif(Fields!Status.Value="N",1,0)))</Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
@ -2581,7 +2581,7 @@
<DataSetName>AttendenceDataSet_EmpDailyAttn</DataSetName>
<Top>1.19931in</Top>
<Height>0.86in</Height>
<Width>7.45196in</Width>
<Width>7.45202in</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>