Merge pull request 'Bangla Info and Employee serach' (#35) from dev_mashfiq into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/35
This commit is contained in:
commit
256b364ca9
HRM.DA
DA
Service/Attendance
HRM.Report
HRM.UI
ClientApp/src/app
_services/attendance
attendance
attendance-process
echotex-roster-assignment
core-hr/employee-profile/general
reports/report-viewer
Controllers
HRM.UI.csprojRDLC
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -1371,7 +1371,7 @@
|
|||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>="Festival Holidays: "&sum(cint(iif(Fields!Status.Value="H",1,0)))</Value>
|
||||
<Value>="Festival Holidays: "&sum(cint(iif(Fields!Status.Value="N",1,0)))</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
@ -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";
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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') {
|
||||
|
|
|
@ -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))
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -1244,6 +1244,9 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="RDLC\EmpDailyAttn.rdlc">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="RDLC\IDCardPrint.rdlc">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
|
|
@ -2002,7 +2002,7 @@
|
|||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>="Festival Holidays: "&sum(cint(iif(Fields!Status.Value="H",1,0)))</Value>
|
||||
<Value>="Festival Holidays: "&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>
|
||||
|
|
Loading…
Reference in New Issue
Block a user