Compare commits

...

36 Commits

Author SHA1 Message Date
e6cafe58f8 Merge pull request 'Pro Pic Sign' (#30) from dev_chapal into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/30
2025-01-16 15:35:21 +06:00
0831f3df6a Pro Pic Sign 2025-01-16 15:32:16 +06:00
327d9843d7 Merge pull request 'Sp_dashboardinformation Procedure fucntion Changed for Timout Exception' (#28) from dev_mashfiq into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/28
2025-01-15 16:54:22 +06:00
e77dbeaf9f Merge pull request 'dev_chapal' (#29) from dev_chapal into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/29
2025-01-15 16:54:03 +06:00
4468d8f269 profile 2025-01-15 16:47:46 +06:00
4f7337c5b7 profile reports 2025-01-14 18:23:48 +06:00
89f9dddd85 employee profile Backend function addition 2025-01-14 10:55:32 +06:00
be93060dea Job card report problem solved 2025-01-13 14:40:31 +06:00
d78c5879ac Sp_dashboardinformation Procedure fucntion Changed for Timout Exception 2025-01-09 15:58:16 +06:00
62d6ccb45c Merge from Chapal 2025-01-09 12:41:23 +06:00
792277e83b Prod validation 2025-01-09 12:03:52 +06:00
8ebc08eb60 Merge pull request 'dev_mashfiq' (#26) from dev_mashfiq into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/26
2025-01-09 10:53:27 +06:00
cde8907768 Employee Profile and Prod bonus setup 2025-01-09 10:44:51 +06:00
af46e47314 bonus 2025-01-07 15:40:12 +06:00
5b834601eb EmployeeNo generation placed just before save 2025-01-07 14:14:49 +06:00
6a89e67a42 Attendance Reports 2025-01-06 18:28:16 +06:00
ceb4fa8fb1 user role issue 2025-01-02 13:27:05 +06:00
6babd91d22 Merge pull request 'Prod' (#24) from dev_chapal into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/24
2024-12-24 13:01:51 +06:00
77a7512781 Prod 2024-12-24 12:59:08 +06:00
110fc609ac Merge pull request 'Single Employee Picker Modified for Department permission' (#23) from dev_mashfiq into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/23
2024-12-23 10:51:21 +06:00
4ab0535819 Merge branch 'devqc' into dev_mashfiq 2024-12-18 11:58:59 +06:00
134c0db3d1 Single Employee Picker Modified 2024-12-17 18:22:20 +06:00
c576cea7d7 Merge pull request 'bug' (#22) from dev_chapal into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/22
2024-12-17 16:41:32 +06:00
9e974f1b6e bug 2024-12-17 16:39:43 +06:00
f784e6f7e9 Merge pull request 'worked on employee basic info and deleted life cycle report' (#21) from dev_sojib into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/21
2024-12-17 16:39:26 +06:00
55590f8035 Merge pull request 'Prod Bonus Attn grid modified' (#20) from dev_mashfiq into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/20
2024-12-17 14:12:57 +06:00
710f5ba9c4 Data Permission bug fix 2024-12-12 15:44:31 +06:00
6063bf6cf9 Prod Bonus Attn stable grid modified 2024-12-12 11:45:37 +06:00
a95acdeaef Merge pull request 'Employee Design-wise prod bonus report & employee long and short profile' (#18) from dev_mashfiq into devqc
Reviewed-on: http://103.197.204.162:3025/CelHRTeam/EchoTex_Payroll/pulls/18
2024-12-11 17:13:32 +06:00
a0474a12b3 Employee Picker search modified 2024-12-11 11:49:15 +06:00
b3aaed7af4 employee search ordered and lenth addition 2024-12-10 17:01:26 +06:00
6a436e9b3c Employee Joining status Issue Fixed 2024-12-09 14:34:10 +06:00
ca8befd8cb Employee Short profile and long profile issues 2024-11-27 12:55:13 +06:00
bfd2b38e58 Merge branch 'devqc' into dev_mashfiq 2024-11-26 12:02:21 +06:00
d3a7d1be86 Merge branch 'devqc' into dev_mashfiq 2024-11-25 10:07:13 +06:00
185f9f1155 Empdesign wise prod bonus report 2024-11-25 10:05:39 +06:00
82 changed files with 20976 additions and 1213 deletions

View File

@ -542,6 +542,7 @@ namespace HRM.BO
void UpdatePayrollType(int empID, int payrollTypeID, DateTime dEffectDate); void UpdatePayrollType(int empID, int payrollTypeID, DateTime dEffectDate);
//void SaveIntegration(List<HREmployee> oEmps); //void SaveIntegration(List<HREmployee> oEmps);
int Save(Employee item); int Save(Employee item);
Employee SaveEmployee(Employee item);
//void Delete(int id); //void Delete(int id);
//void DeleteAll(); //void DeleteAll();
//string GenerateLoanNo(Employee oEmp, string sLoanName); //string GenerateLoanNo(Employee oEmp, string sLoanName);

View File

@ -3991,4 +3991,13 @@ namespace HRM.BO
ReadyInOneYear = 2, ReadyInOneYear = 2,
ReadyInTwoYears = 3 ReadyInTwoYears = 3
} }
public enum EnumProfileReportType : short
{
Print_CV = 1,
Employee_Service_Book = 2,
Appointment_Letter_Worker = 3,
Appointment_Letter_Staff = 4,
Appointment_Letter_Officer = 5
}
} }

View File

@ -1128,7 +1128,16 @@ namespace HRM.BO
} }
#endregion #endregion
#region Property NomineeMobileNo : string
private string _nomineeMobileNo;
public string NomineeMobileNo
{
get { return _nomineeMobileNo; }
set { _nomineeMobileNo = value; }
}
#endregion
public EnumProfileStatus ProfileStatus { get; set; } public EnumProfileStatus ProfileStatus { get; set; }
public string NomineeStatus { get; set; } public string NomineeStatus { get; set; }
public bool HasPicture { get; set; } public bool HasPicture { get; set; }
@ -2349,7 +2358,7 @@ namespace HRM.BO
#region parent's function definition #region parent's function definition
HREmployee Get(int id); HREmployee Get(int id);
int SavePersonalInfo(HREmployee employee); HREmployee SavePersonalInfo(HREmployee employee);
void SaveEmployeeProfileUpload(List<HREmployee> oHREmployee); void SaveEmployeeProfileUpload(List<HREmployee> oHREmployee);
void DeleteChildData(string tableName, string columnName, int id); void DeleteChildData(string tableName, string columnName, int id);
List<HREmployee> GetAllHREmps(); List<HREmployee> GetAllHREmps();

View File

@ -110,6 +110,28 @@ namespace HRM.BO
get { return _basicSalary; } get { return _basicSalary; }
set { _basicSalary = value; } set { _basicSalary = value; }
} }
private DateTime _encashMonth;
public DateTime EncashMonth
{
get { return _encashMonth; }
set { _encashMonth = value; }
}
private DateTime _encashmentFromDate;
public DateTime EncashmentFromDate
{
get { return _encashmentFromDate; }
set { _encashmentFromDate = value; }
}
private DateTime _encashmentToDate;
public DateTime EncashmentToDate
{
get { return _encashmentToDate; }
set { _encashmentToDate = value; }
}
#region Property IncomeTax : List<IncomeTax> #region Property IncomeTax : List<IncomeTax>
private List<IncomeTax> _incomeTax = null; private List<IncomeTax> _incomeTax = null;

View File

@ -383,7 +383,7 @@ namespace HRM.BO
List<SalaryProcessStatus> SalaryProcess(SalaryProcess item, List<Employee> employees); List<SalaryProcessStatus> SalaryProcess(SalaryProcess item, List<Employee> employees);
int Save(SalaryProcess item); int Save(SalaryProcess item);
void Delete(int id); void Delete(int id);
bool IsSalaryprocessed(DateTime salarymonth, int payrollTypeID);
void UndoSalary(int id); void UndoSalary(int id);
void UndoMonthlySalaryByIDs(string ids); void UndoMonthlySalaryByIDs(string ids);
void UndoMonthlySalaryByEmpIDs(string ids, DateTime salaryMonth); void UndoMonthlySalaryByEmpIDs(string ids, DateTime salaryMonth);

View File

@ -369,6 +369,7 @@ namespace HRM.BO
List<SearchEmployee> Find(SearchManager oManager); List<SearchEmployee> Find(SearchManager oManager);
List<SearchEmployee> FindCordinator(int? id, int? payrollTypeID); List<SearchEmployee> FindCordinator(int? id, int? payrollTypeID);
List<SearchEmployee> FindEmpCodeName(int payrolltypeid, string code, string name); List<SearchEmployee> FindEmpCodeName(int payrolltypeid, string code, string name);
List<SearchEmployee> FindEmpCodeNameForEmployeePicker(int userid, int payrolltypeid, string code, string name);
SearchEmployee get(int empid); SearchEmployee get(int empid);
List<SearchEmployee> GetEmployeeNotYetUser(int payrollTypeID); List<SearchEmployee> GetEmployeeNotYetUser(int payrollTypeID);
List<SearchEmployee> GetTeam(int employeeid); List<SearchEmployee> GetTeam(int employeeid);

View File

@ -642,9 +642,15 @@ namespace HRM.DA
internal static IDataReader Get(TransactionContext tc, string empID, DateTime fromDate, DateTime toDate) internal static IDataReader Get(TransactionContext tc, string empID, DateTime fromDate, DateTime toDate)
{ {
//string sql =
// SQLParser.MakeSQL(
// "SELECT dap.* FROM DailyAttnProcess dap Inner Join Employee e on e.EmployeeID=dap.EmployeeID " +
// "WHERE dap.EmployeeID IN(%q) AND dap.AttnDate BETWEEN %d AND %d order by dap.AttnDate DESC",
// empID, fromDate, toDate);
string sql = string sql =
SQLParser.MakeSQL( SQLParser.MakeSQL(
"SELECT dap.* FROM DailyAttnProcess dap Inner Join Employee e on e.EmployeeID=dap.EmployeeID WHERE dap.EmployeeID IN(%q) AND dap.AttnDate BETWEEN %d AND %d order by dap.AttnDate DESC", "SELECT dap.* FROM DailyAttnProcess dap " +
"WHERE dap.EmployeeID IN(%q) AND dap.AttnDate BETWEEN %d AND %d order by dap.AttnDate DESC",
empID, fromDate, toDate); empID, fromDate, toDate);
IDataReader dr = tc.ExecuteReader(sql); IDataReader dr = tc.ExecuteReader(sql);
return dr; return dr;

View File

@ -3628,7 +3628,8 @@ AND ea.EMPLOYEEID=emp.EMPLOYEEID AND ea.LASTLEVEL=1),'') LastAcademic ,
SqlHelperExtension.CreateInParam("@ModAttendance", SqlDbType.Int, isAttendance), SqlHelperExtension.CreateInParam("@ModAttendance", SqlDbType.Int, isAttendance),
SqlHelperExtension.CreateInParam("@PayrollTypeID", SqlDbType.Int, payrollTypeId) SqlHelperExtension.CreateInParam("@PayrollTypeID", SqlDbType.Int, payrollTypeId)
}; };
return tc.ExecuteDataSet(CommandType.StoredProcedure, "sp_DashboardInformation", p.ToArray()); //return tc.ExecuteDataSet(CommandType.StoredProcedure, "sp_DashboardInformation", p.ToArray());
return tc.ExecuteDataSet("SELECT * FROM DashboardInformation");
} }
//Mobile Profile //Mobile Profile
internal static DataSet GetMobileProfile(TransactionContext tc, int employeeID) internal static DataSet GetMobileProfile(TransactionContext tc, int employeeID)

View File

@ -676,16 +676,16 @@ namespace HRM.DA
tc.ExecuteNonQuery("INSERT INTO EmpNominee(" + tc.ExecuteNonQuery("INSERT INTO EmpNominee(" +
"EmployeeID, NomineeID, NominationPurposeID, NominationDate, Name, RelationID, " + "EmployeeID, NomineeID, NominationPurposeID, NominationDate, Name, RelationID, " +
" Percentage, BirthDate, OccupationID, Address, TelePhone," + " Percentage, BirthDate, OccupationID, Address, TelePhone," +
" EmailAddress)" + " EmailAddress, NomineeMobileNo)" +
" VALUES(" + " VALUES(" +
" %n, %n, %n, %d, %s, %n," + " %n, %n, %n, %d, %s, %n," +
" %n, %d, %n, %s, %s, %s)", " %n, %d, %n, %s, %s, %s, %s)",
nominee.EmployeeID, nominee.ID, nominee.NominationPurposeID, nominee.EmployeeID, nominee.ID, nominee.NominationPurposeID,
DataReader.GetNullValue(nominee.NominationDate), nominee.Name, DataReader.GetNullValue(nominee.NominationDate), nominee.Name,
DataReader.GetNullValue(nominee.RelationID, 0), DataReader.GetNullValue(nominee.RelationID, 0),
nominee.Percentage, DataReader.GetNullValue(nominee.BirthDate), nominee.Percentage, DataReader.GetNullValue(nominee.BirthDate),
DataReader.GetNullValue(nominee.OccupationID, 0), nominee.Address, nominee.TelePhone, DataReader.GetNullValue(nominee.OccupationID, 0), nominee.Address, nominee.TelePhone,
nominee.EmailAddress); nominee.EmailAddress, nominee.NomineeMobileNo);
} }
public static void Update(TransactionContext tc, EmpNominee nominee) public static void Update(TransactionContext tc, EmpNominee nominee)
@ -700,8 +700,9 @@ namespace HRM.DA
,[ADDRESS] = %s ,[ADDRESS] = %s
,[TELEPHONE] = %s ,[TELEPHONE] = %s
,[EMAILADDRESS] = %s ,[EMAILADDRESS] = %s
,[NomineeMobileNo] = %s
WHERE NOMINEEID = %n", nominee.ID, nominee.NominationPurposeID, nominee.Name, nominee.RelationID, WHERE NOMINEEID = %n", nominee.ID, nominee.NominationPurposeID, nominee.Name, nominee.RelationID,
nominee.Percentage, nominee.OccupationID, nominee.Address, nominee.TelePhone, nominee.EmailAddress, nominee.Percentage, nominee.OccupationID, nominee.Address, nominee.TelePhone, nominee.EmailAddress, nominee.NomineeMobileNo,
nominee.ID); nominee.ID);
} }
@ -943,6 +944,7 @@ namespace HRM.DA
,[PHOTOPATH] ,[PHOTOPATH]
,[TELEPHONE] ,[TELEPHONE]
,[EMAILADDRESS] ,[EMAILADDRESS]
,[NomineeMobileNo]
,[SIGNATURE] ,[SIGNATURE]
,[EMPLOYEEID] ,[EMPLOYEEID]
,[NOMINEENAME] ,[NOMINEENAME]
@ -1465,5 +1467,35 @@ namespace HRM.DA
return tc.ExecuteReader(sSQL); return tc.ExecuteReader(sSQL);
} }
public static DataSet GetEmpELDetails(TransactionContext tc, int empID)
{
string sql = SQLParser.MakeSQL(@"SELECT le.EMPID,le.APRFROMDATE STARTDATE,le.APRTODATE ENDDATE,le.APRTOTALDAYS,Year(le.APRFROMDATE) AS Year
FROM
LEAVEENTRY le,
LEAVE lv
WHERE le.EMPID = %n
AND lv.LEAVEID = le.LEAVEID
AND lv.CODE = 'EL' AND le.APRFROMDATE > '31 Dec 2018' order by le.APRFROMDATE", empID);
return tc.ExecuteDataSet(sql);
}
public static DataSet GetNumberOfYears(TransactionContext tc, int empID)
{
string sql = SQLParser.MakeSQL(@"SELECT tab.Year,count(tab.Year) Number FROM
(
SELECT Year(le.APRFROMDATE) AS Year
FROM
LEAVEENTRY le,
LEAVE lv
WHERE le.EMPID = %n
AND lv.LEAVEID = le.LEAVEID
AND lv.CODE = 'EL' AND le.APRFROMDATE > '31 Dec 2018'
) tab
GROUP BY tab.Year
order by tab.Year", empID);
return tc.ExecuteDataSet(sql);
}
} }
} }

View File

@ -114,7 +114,16 @@ namespace HRM.DA
return bShowInDesktop; return bShowInDesktop;
} }
internal static bool IsSalaryprocessed(TransactionContext tc, DateTime dSMonth, int payrollTypeID)
{
bool bShowInDesktop = false;
object obj =
tc.ExecuteScalar("Select SALARYPROCESSID from SALARYPROCESS where SALARYMONTH=%d AND PAYROLLTYPEID=%n",
dSMonth, payrollTypeID);
if (obj == DBNull.Value) return false;
else bShowInDesktop=true;
return bShowInDesktop;
}
#endregion #endregion
#region Delete function #region Delete function

View File

@ -231,6 +231,7 @@ END;";
{ {
string orderby = "name"; string orderby = "name";
string sqlClause = ""; string sqlClause = "";
string top = "";
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("PayrollTypeID =%n AND Status = %n", payrollTypeID, EnumStatus.Active); sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("PayrollTypeID =%n AND Status = %n", payrollTypeID, EnumStatus.Active);
if (code != string.Empty) if (code != string.Empty)
{ {
@ -242,8 +243,153 @@ END;";
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("Name LIKE %s", ("%" + name + "%")); sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("Name LIKE %s", ("%" + name + "%"));
return tc.ExecuteReader( return tc.ExecuteReader(
"Select EmployeeID, EmployeeNo, Name, categoryID, GradeID, LocationID, designationid, DepartmentID From Employee %q Order by %s", "Select %q EmployeeID, EmployeeNo, Name, categoryID, GradeID, LocationID, designationid, DepartmentID From Employee %q Order by %s",
sqlClause, orderby); top, sqlClause, orderby);
}
internal static IDataReader SearchForEmployeePicker(TransactionContext tc, int userID, int payrollTypeID, string code, string name)
{
string orderby = "name";
string sqlClause = "";
string top = "";
string recurSqlClause = SQLParser.MakeSQL(@"
DECLARE @userid INT = %n;
DECLARE @payrolltypeid INT = %n;
DECLARE @permissionstatus INT = %n;
WITH RecursiveCategory AS
(
SELECT
CATEGORYID
FROM
dbo.CATEGORY
WHERE
CATEGORYID IN (
SELECT REFERENCEID
FROM DATAPERMISSION
WHERE USERID = @userid
AND PAYROLLTYPEID = @payrolltypeid
AND PERMISSIONSTATUS = @permissionstatus
AND PERMISSIONTYPE = %n
)
),
RecursiveGrade AS
(
SELECT
GRADEID
FROM
dbo.GRADES
WHERE
GRADEID IN (
SELECT REFERENCEID
FROM DATAPERMISSION
WHERE USERID = @userid
AND PAYROLLTYPEID = @payrolltypeid
AND PERMISSIONSTATUS = @permissionstatus
AND PERMISSIONTYPE = %n
)
),
RecursiveDepartment AS
(
SELECT
DEPARTMENTID
FROM
dbo.DEPARTMENT
WHERE
DEPARTMENTID IN (
SELECT REFERENCEID
FROM DATAPERMISSION
WHERE USERID = @userid
AND PAYROLLTYPEID = @payrolltypeid
AND PERMISSIONSTATUS = @permissionstatus
AND PERMISSIONTYPE = %n
)
UNION ALL
SELECT
d.DEPARTMENTID
FROM
dbo.DEPARTMENT d
INNER JOIN
RecursiveDepartment rd
ON
d.PARENTID = rd.DEPARTMENTID
),
RecursiveLocation AS
(
SELECT
LOCATIONID
FROM
dbo.LOCATION
WHERE
LOCATIONID IN (
SELECT REFERENCEID
FROM DATAPERMISSION
WHERE USERID = @userid
AND PAYROLLTYPEID = @payrolltypeid
AND PERMISSIONSTATUS = @permissionstatus
AND PERMISSIONTYPE = %n
)
UNION ALL
SELECT
l.LOCATIONID
FROM
dbo.LOCATION l
INNER JOIN
RecursiveLocation rl
ON
l.PARENTID = rl.LOCATIONID
)", userID, payrollTypeID, EnumMenuPermissionStatus.Approved, EnumDataPermissionType.Cagtegory, EnumDataPermissionType.Grade, EnumDataPermissionType.Department, EnumDataPermissionType.Location);
string recurWhereClause = SQLParser.MakeSQL(@"
AND
(
(
EXISTS (SELECT 1 FROM RecursiveCategory)
AND CATEGORYID IN (SELECT CATEGORYID FROM RecursiveCategory)
)
OR
(
EXISTS (SELECT 1 FROM RecursiveGrade)
AND GRADEID IN (SELECT GRADEID FROM RecursiveGrade)
)
OR
(
EXISTS (SELECT 1 FROM RecursiveDepartment)
AND DEPARTMENTID IN (SELECT DEPARTMENTID FROM RecursiveDepartment)
)
OR
(
EXISTS (SELECT 1 FROM RecursiveLocation)
AND LOCATIONID IN (SELECT LOCATIONID FROM RecursiveLocation)
)
)");
//Previous Code For only Live Employee
//sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("PayrollTypeID =%n AND Status = %n", payrollTypeID, EnumStatus.Active);
//New Code For live And Waitiong for join Employee
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("PayrollTypeID =%n AND (Status = %n OR Status = %n)", payrollTypeID, EnumEmployeeStatus.Live, EnumEmployeeStatus.Waitingforjoin);
if (code != string.Empty)
{
//Previous with suggestion
//sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo LIKE %s", ("%" + code + "%"));
//orderby = "EmployeeNo";
//Using TOP
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo LIKE %s", ( code + "%"));
orderby = "EmployeeNo";
top = "TOP 50";
//Without suggestion
//sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo = %s", code );
//orderby = "EmployeeNo";
}
if (name != string.Empty)
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("Name LIKE %s", ("%" + name + "%"));
string finalSQl = SQLParser.MakeSQL(
"%q Select %q EmployeeID, EmployeeNo, Name, categoryID, GradeID, LocationID, designationid, DepartmentID From Employee %q %q Order by %s",
recurSqlClause, top, sqlClause, recurWhereClause, orderby);
return tc.ExecuteReader(finalSQl);
} }
#endregion #endregion

View File

@ -1985,6 +1985,39 @@ namespace HRM.DA
#endregion #endregion
} }
} }
public Employee SaveEmployee(Employee oEmployee)
{
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin(true);
if (oEmployee.IsNew)
{
int id = tc.GenerateID("Employee", "EmployeeID");
base.SetObjectID(oEmployee, id);
oEmployee.EmployeeNo = new HREmployeeService().GetNextEmployeeNo(tc);
EmployeeDA.Insert(tc, oEmployee);
}
else
{
EmployeeDA.Update(tc, oEmployee);
}
tc.End();
return oEmployee;
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
}
public int SaveHnmEmployee(List<object> employeeData) public int SaveHnmEmployee(List<object> employeeData)
{ {

View File

@ -551,6 +551,7 @@ namespace HRM.DA
oEmpNominee.TelePhone = oReader.GetString("TelePhone"); oEmpNominee.TelePhone = oReader.GetString("TelePhone");
oEmpNominee.EmailAddress = oReader.GetString("EmailAddress"); oEmpNominee.EmailAddress = oReader.GetString("EmailAddress");
oEmpNominee.NomineeMobileNo = oReader.GetString("NomineeMobileNo", true, string.Empty);
oEmpNominee.ProfileStatus = (EnumProfileStatus)oReader.GetInt32("ProfileStatus", true, 0); oEmpNominee.ProfileStatus = (EnumProfileStatus)oReader.GetInt32("ProfileStatus", true, 0);
oEmpNominee.HasPicture = oReader.GetBoolean("HasPicture", true, false); oEmpNominee.HasPicture = oReader.GetBoolean("HasPicture", true, false);
oEmpNominee.HasSignature = oReader.GetBoolean("HasSignature", true, false); oEmpNominee.HasSignature = oReader.GetBoolean("HasSignature", true, false);
@ -2722,7 +2723,7 @@ namespace HRM.DA
tc.End(); tc.End();
} }
public int SavePersonalInfo(HREmployee employee) public HREmployee SavePersonalInfo(HREmployee employee)
{ {
TransactionContext tc = null; TransactionContext tc = null;
try try
@ -2737,7 +2738,7 @@ namespace HRM.DA
if (employee.IsNew) if (employee.IsNew)
{ {
this.SetObjectID(employee, (HREmployeeDA.GetNewID(tc))); this.SetObjectID(employee, (HREmployeeDA.GetNewID(tc)));
employee.EmployeeNo = this.GetNextEmployeeNo(tc);
HREmployeeDA.Insert(tc, employee); HREmployeeDA.Insert(tc, employee);
} }
else else
@ -2749,7 +2750,7 @@ namespace HRM.DA
tc.End(); tc.End();
return employee.ID; return employee;
} }
catch (Exception e) catch (Exception e)
{ {
@ -2763,7 +2764,35 @@ namespace HRM.DA
#endregion #endregion
} }
} }
public string GetNextEmployeeNo(TransactionContext tc)
{
string nextEmployeeNo = string.Empty;
try
{
object obj = tc.ExecuteScalar("SELECT MAX(Cast(EmployeeNo AS Decimal(18,0)))+1 FROM EMPLOYEE");
if (obj == DBNull.Value)
{
nextEmployeeNo = "1";
}
else
{
nextEmployeeNo = Convert.ToString(obj);
}
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new Exception(e.Message, e);
#endregion
}
return nextEmployeeNo;
}
public int Save(HREmployee employee) public int Save(HREmployee employee)
@ -5023,6 +5052,40 @@ namespace HRM.DA
return list; return list;
} }
public DataSet GetEmpELDetails(int empID)
{
DataSet empLeaveDetails = null;
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
empLeaveDetails = HREmployeeDA.GetEmpELDetails(tc, empID);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
return empLeaveDetails;
}
public DataSet GetNumberOfYears(int empID)
{
DataSet NumberOfYears = null;
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
NumberOfYears = HREmployeeDA.GetNumberOfYears(tc, empID);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
return NumberOfYears;
}
#region EmpHRQuestionAnswer service implementation #region EmpHRQuestionAnswer service implementation
public List<EmpHRQuestionAnswer> GetEmpHRQuestionAnswers(TransactionContext tc, int id) public List<EmpHRQuestionAnswer> GetEmpHRQuestionAnswers(TransactionContext tc, int id)

View File

@ -978,6 +978,31 @@ namespace HRM.DA
return bShowInDesktop; return bShowInDesktop;
} }
public bool IsSalaryprocessed(DateTime dSalaryMonth, int payrollTypeID)
{
TransactionContext tc = null;
bool isSalaryprocessed;
try
{
tc = TransactionContext.Begin();
isSalaryprocessed = SalaryProcessDA.IsSalaryprocessed(tc, dSalaryMonth, payrollTypeID);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return isSalaryprocessed;
}
public List<SalaryProcess> GetAllProcess(int payrollTypeID, DateTime nextPayProcessDate) public List<SalaryProcess> GetAllProcess(int payrollTypeID, DateTime nextPayProcessDate)
{ {
List<SalaryProcess> salaryProcesss = new List<SalaryProcess>(); List<SalaryProcess> salaryProcesss = new List<SalaryProcess>();

View File

@ -288,6 +288,43 @@ namespace HRM.DA
return searchEmployees; return searchEmployees;
} }
public List<SearchEmployee> FindEmpCodeNameForEmployeePicker(int userID, int payrollTypeID, string code, string name)
{
List<SearchEmployee> searchEmployees = new List<SearchEmployee>();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
DataReader dr = new DataReader(SearchEmployeeDA.SearchForEmployeePicker(tc, userID, payrollTypeID, code, name));
searchEmployees = this.CreateObjects<SearchEmployee>(dr);
//while (dr.Read())
//{
// SearchEmployee item = new SearchEmployee();
// item.Name = dr.GetString("name");
// item.EmployeeNo = dr.GetString("employeeNo");
// searchEmployees.Add(item);
//}
dr.Close();
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return searchEmployees;
}
public List<SearchEmployee> GetEmployeeNotYetUser(int payrollTypeID) public List<SearchEmployee> GetEmployeeNotYetUser(int payrollTypeID)

View File

@ -15448,6 +15448,10 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
private global::System.Data.DataColumn columnShift; private global::System.Data.DataColumn columnShift;
private global::System.Data.DataColumn columnMinutes;
private global::System.Data.DataColumn columnExtraAllowance;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public MonthlyKPIDetailDataTable() { public MonthlyKPIDetailDataTable() {
@ -15633,6 +15637,22 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
} }
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn MinutesColumn {
get {
return this.columnMinutes;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn ExtraAllowanceColumn {
get {
return this.columnExtraAllowance;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.Browsable(false)]
@ -15689,7 +15709,9 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
string Department, string Department,
string Unit, string Unit,
string FunctionalUnit, string FunctionalUnit,
string Shift) { string Shift,
double Minutes,
int ExtraAllowance) {
MonthlyKPIDetailRow rowMonthlyKPIDetailRow = ((MonthlyKPIDetailRow)(this.NewRow())); MonthlyKPIDetailRow rowMonthlyKPIDetailRow = ((MonthlyKPIDetailRow)(this.NewRow()));
object[] columnValuesArray = new object[] { object[] columnValuesArray = new object[] {
EmployeeName, EmployeeName,
@ -15710,7 +15732,9 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
Department, Department,
Unit, Unit,
FunctionalUnit, FunctionalUnit,
Shift}; Shift,
Minutes,
ExtraAllowance};
rowMonthlyKPIDetailRow.ItemArray = columnValuesArray; rowMonthlyKPIDetailRow.ItemArray = columnValuesArray;
this.Rows.Add(rowMonthlyKPIDetailRow); this.Rows.Add(rowMonthlyKPIDetailRow);
return rowMonthlyKPIDetailRow; return rowMonthlyKPIDetailRow;
@ -15752,6 +15776,8 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
this.columnUnit = base.Columns["Unit"]; this.columnUnit = base.Columns["Unit"];
this.columnFunctionalUnit = base.Columns["FunctionalUnit"]; this.columnFunctionalUnit = base.Columns["FunctionalUnit"];
this.columnShift = base.Columns["Shift"]; this.columnShift = base.Columns["Shift"];
this.columnMinutes = base.Columns["Minutes"];
this.columnExtraAllowance = base.Columns["ExtraAllowance"];
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@ -15795,6 +15821,10 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
base.Columns.Add(this.columnFunctionalUnit); base.Columns.Add(this.columnFunctionalUnit);
this.columnShift = new global::System.Data.DataColumn("Shift", typeof(string), null, global::System.Data.MappingType.Element); this.columnShift = new global::System.Data.DataColumn("Shift", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnShift); base.Columns.Add(this.columnShift);
this.columnMinutes = new global::System.Data.DataColumn("Minutes", typeof(double), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnMinutes);
this.columnExtraAllowance = new global::System.Data.DataColumn("ExtraAllowance", typeof(int), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnExtraAllowance);
this.columnAttenType.Caption = "AttnType"; this.columnAttenType.Caption = "AttnType";
} }
@ -31459,6 +31489,38 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
} }
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public double Minutes {
get {
try {
return ((double)(this[this.tableMonthlyKPIDetail.MinutesColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'Minutes\' in table \'MonthlyKPIDetail\' is DBNull.", e);
}
}
set {
this[this.tableMonthlyKPIDetail.MinutesColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public int ExtraAllowance {
get {
try {
return ((int)(this[this.tableMonthlyKPIDetail.ExtraAllowanceColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'ExtraAllowance\' in table \'MonthlyKPIDetail\' is DBNull.", e);
}
}
set {
this[this.tableMonthlyKPIDetail.ExtraAllowanceColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsEmployeeNameNull() { public bool IsEmployeeNameNull() {
@ -31686,6 +31748,30 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
public void SetShiftNull() { public void SetShiftNull() {
this[this.tableMonthlyKPIDetail.ShiftColumn] = global::System.Convert.DBNull; this[this.tableMonthlyKPIDetail.ShiftColumn] = global::System.Convert.DBNull;
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsMinutesNull() {
return this.IsNull(this.tableMonthlyKPIDetail.MinutesColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetMinutesNull() {
this[this.tableMonthlyKPIDetail.MinutesColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsExtraAllowanceNull() {
return this.IsNull(this.tableMonthlyKPIDetail.ExtraAllowanceColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetExtraAllowanceNull() {
this[this.tableMonthlyKPIDetail.ExtraAllowanceColumn] = global::System.Convert.DBNull;
}
} }
/// <summary> /// <summary>

View File

@ -649,6 +649,8 @@
<xs:element name="Unit" msprop:Generator_ColumnPropNameInTable="UnitColumn" msprop:Generator_ColumnPropNameInRow="Unit" msprop:Generator_UserColumnName="Unit" msprop:Generator_ColumnVarNameInTable="columnUnit" type="xs:string" minOccurs="0" /> <xs:element name="Unit" msprop:Generator_ColumnPropNameInTable="UnitColumn" msprop:Generator_ColumnPropNameInRow="Unit" msprop:Generator_UserColumnName="Unit" msprop:Generator_ColumnVarNameInTable="columnUnit" type="xs:string" minOccurs="0" />
<xs:element name="FunctionalUnit" msprop:Generator_ColumnPropNameInTable="FunctionalUnitColumn" msprop:Generator_ColumnPropNameInRow="FunctionalUnit" msprop:Generator_UserColumnName="FunctionalUnit" msprop:Generator_ColumnVarNameInTable="columnFunctionalUnit" type="xs:string" minOccurs="0" /> <xs:element name="FunctionalUnit" msprop:Generator_ColumnPropNameInTable="FunctionalUnitColumn" msprop:Generator_ColumnPropNameInRow="FunctionalUnit" msprop:Generator_UserColumnName="FunctionalUnit" msprop:Generator_ColumnVarNameInTable="columnFunctionalUnit" type="xs:string" minOccurs="0" />
<xs:element name="Shift" msprop:Generator_ColumnPropNameInTable="ShiftColumn" msprop:Generator_ColumnPropNameInRow="Shift" msprop:Generator_UserColumnName="Shift" msprop:Generator_ColumnVarNameInTable="columnShift" type="xs:string" minOccurs="0" /> <xs:element name="Shift" msprop:Generator_ColumnPropNameInTable="ShiftColumn" msprop:Generator_ColumnPropNameInRow="Shift" msprop:Generator_UserColumnName="Shift" msprop:Generator_ColumnVarNameInTable="columnShift" type="xs:string" minOccurs="0" />
<xs:element name="Minutes" msprop:Generator_ColumnPropNameInRow="Minutes" msprop:Generator_ColumnPropNameInTable="MinutesColumn" msprop:Generator_ColumnVarNameInTable="columnMinutes" msprop:Generator_UserColumnName="Minutes" type="xs:double" minOccurs="0" />
<xs:element name="ExtraAllowance" msprop:Generator_ColumnPropNameInRow="ExtraAllowance" msprop:Generator_ColumnPropNameInTable="ExtraAllowanceColumn" msprop:Generator_ColumnVarNameInTable="columnExtraAllowance" msprop:Generator_UserColumnName="ExtraAllowance" type="xs:int" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -698,7 +700,7 @@
<xs:element name="Line" msprop:Generator_ColumnPropNameInTable="LineColumn" msprop:Generator_ColumnPropNameInRow="Line" msprop:Generator_UserColumnName="Line" msprop:Generator_ColumnVarNameInTable="columnLine" type="xs:string" minOccurs="0" /> <xs:element name="Line" msprop:Generator_ColumnPropNameInTable="LineColumn" msprop:Generator_ColumnPropNameInRow="Line" msprop:Generator_UserColumnName="Line" msprop:Generator_ColumnVarNameInTable="columnLine" type="xs:string" minOccurs="0" />
<xs:element name="Floor" msprop:Generator_ColumnPropNameInTable="FloorColumn" msprop:Generator_ColumnPropNameInRow="Floor" msprop:Generator_UserColumnName="Floor" msprop:Generator_ColumnVarNameInTable="columnFloor" type="xs:string" minOccurs="0" /> <xs:element name="Floor" msprop:Generator_ColumnPropNameInTable="FloorColumn" msprop:Generator_ColumnPropNameInRow="Floor" msprop:Generator_UserColumnName="Floor" msprop:Generator_ColumnVarNameInTable="columnFloor" type="xs:string" minOccurs="0" />
<xs:element name="TotalOTDBL" msprop:Generator_ColumnPropNameInTable="TotalOTDBLColumn" msprop:Generator_ColumnPropNameInRow="TotalOTDBL" msprop:Generator_UserColumnName="TotalOTDBL" msprop:Generator_ColumnVarNameInTable="columnTotalOTDBL" type="xs:double" minOccurs="0" /> <xs:element name="TotalOTDBL" msprop:Generator_ColumnPropNameInTable="TotalOTDBLColumn" msprop:Generator_ColumnPropNameInRow="TotalOTDBL" msprop:Generator_UserColumnName="TotalOTDBL" msprop:Generator_ColumnVarNameInTable="columnTotalOTDBL" type="xs:double" minOccurs="0" />
<xs:element name="Division" msprop:Generator_UserColumnName="Division" msprop:Generator_ColumnPropNameInTable="DivisionColumn" msprop:Generator_ColumnPropNameInRow="Division" msprop:Generator_ColumnVarNameInTable="columnDivision" type="xs:string" minOccurs="0" /> <xs:element name="Division" msprop:Generator_ColumnPropNameInTable="DivisionColumn" msprop:Generator_ColumnPropNameInRow="Division" msprop:Generator_UserColumnName="Division" msprop:Generator_ColumnVarNameInTable="columnDivision" type="xs:string" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -730,7 +732,7 @@
<xs:element name="AttnDate" msprop:Generator_ColumnPropNameInTable="AttnDateColumn" msprop:Generator_ColumnPropNameInRow="AttnDate" msprop:Generator_UserColumnName="AttnDate" msprop:Generator_ColumnVarNameInTable="columnAttnDate" type="xs:string" minOccurs="0" /> <xs:element name="AttnDate" msprop:Generator_ColumnPropNameInTable="AttnDateColumn" msprop:Generator_ColumnPropNameInRow="AttnDate" msprop:Generator_UserColumnName="AttnDate" msprop:Generator_ColumnVarNameInTable="columnAttnDate" type="xs:string" minOccurs="0" />
<xs:element name="WorkingHour" msprop:Generator_ColumnPropNameInTable="WorkingHourColumn" msprop:Generator_ColumnPropNameInRow="WorkingHour" msprop:Generator_UserColumnName="WorkingHour" msprop:Generator_ColumnVarNameInTable="columnWorkingHour" type="xs:string" minOccurs="0" /> <xs:element name="WorkingHour" msprop:Generator_ColumnPropNameInTable="WorkingHourColumn" msprop:Generator_ColumnPropNameInRow="WorkingHour" msprop:Generator_UserColumnName="WorkingHour" msprop:Generator_ColumnVarNameInTable="columnWorkingHour" type="xs:string" minOccurs="0" />
<xs:element name="InTimeShow" msprop:Generator_ColumnPropNameInTable="InTimeShowColumn" msprop:Generator_ColumnPropNameInRow="InTimeShow" msprop:Generator_UserColumnName="InTimeShow" msprop:Generator_ColumnVarNameInTable="columnInTimeShow" type="xs:string" minOccurs="0" /> <xs:element name="InTimeShow" msprop:Generator_ColumnPropNameInTable="InTimeShowColumn" msprop:Generator_ColumnPropNameInRow="InTimeShow" msprop:Generator_UserColumnName="InTimeShow" msprop:Generator_ColumnVarNameInTable="columnInTimeShow" type="xs:string" minOccurs="0" />
<xs:element name="LateHour" msprop:Generator_ColumnPropNameInRow="LateHour" msprop:Generator_ColumnPropNameInTable="LateHourColumn" msprop:Generator_ColumnVarNameInTable="columnLateHour" msprop:Generator_UserColumnName="LateHour" type="xs:string" minOccurs="0" /> <xs:element name="LateHour" msprop:Generator_UserColumnName="LateHour" msprop:Generator_ColumnPropNameInTable="LateHourColumn" msprop:Generator_ColumnPropNameInRow="LateHour" msprop:Generator_ColumnVarNameInTable="columnLateHour" type="xs:string" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -4,48 +4,48 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="1" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="123" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <Shapes>
<Shape ID="DesignTable:DailyAttnProcess" ZOrder="17" X="2" Y="30" Height="28" Width="164" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" /> <Shape ID="DesignTable:DailyAttnProcess" ZOrder="18" X="2" Y="30" Height="28" Width="164" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
<Shape ID="DesignTable:EmpDailyAttnPrev" ZOrder="7" X="310" Y="116" Height="28" Width="172" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="349" SplitterPosition="24" /> <Shape ID="DesignTable:EmpDailyAttnPrev" ZOrder="8" X="310" Y="116" Height="28" Width="172" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="349" SplitterPosition="24" />
<Shape ID="DesignTable:EmpDailyAttnParentNew" ZOrder="4" X="236" Y="34" Height="28" Width="211" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:EmpDailyAttnParentNew" ZOrder="5" X="236" Y="34" Height="28" Width="211" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:MonthlyDetail" ZOrder="40" X="1184" Y="70" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="253" /> <Shape ID="DesignTable:MonthlyDetail" ZOrder="40" X="1184" Y="70" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="253" />
<Shape ID="DesignTable:EmpInfo" ZOrder="39" X="1446" Y="165" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="82" /> <Shape ID="DesignTable:EmpInfo" ZOrder="39" X="1446" Y="165" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="82" />
<Shape ID="DesignTable:IDCard" ZOrder="11" X="7" Y="131" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="120" SplitterPosition="24" /> <Shape ID="DesignTable:IDCard" ZOrder="12" X="7" Y="131" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="120" SplitterPosition="24" />
<Shape ID="DesignTable:MonthlyAttnBenefit" ZOrder="25" X="1010" Y="275" Height="28" Width="182" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:MonthlyAttnBenefit" ZOrder="26" X="1010" Y="275" Height="28" Width="182" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:BadliEmpNotAssignInWork" ZOrder="13" X="2" Y="165" Height="28" Width="224" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" /> <Shape ID="DesignTable:BadliEmpNotAssignInWork" ZOrder="14" X="2" Y="165" Height="28" Width="224" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
<Shape ID="DesignTable:BadliPaymentRegister" ZOrder="12" X="3" Y="96" Height="28" Width="194" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:BadliPaymentRegister" ZOrder="13" X="3" Y="96" Height="28" Width="194" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:BadliWorkStatus" ZOrder="5" X="782" Y="388" Height="28" Width="163" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" /> <Shape ID="DesignTable:BadliWorkStatus" ZOrder="6" X="782" Y="388" Height="28" Width="163" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" />
<Shape ID="DesignTable:DailyLabourSummary" ZOrder="36" X="1517" Y="371" Height="162" Width="191" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="158" /> <Shape ID="DesignTable:DailyLabourSummary" ZOrder="36" X="1517" Y="371" Height="162" Width="191" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="158" />
<Shape ID="DesignTable:BadliDailyBill" ZOrder="38" X="1295" Y="310" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:BadliDailyBill" ZOrder="38" X="1295" Y="310" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:BadliEmpAssignInWork" ZOrder="16" X="0" Y="0" Height="28" Width="202" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:BadliEmpAssignInWork" ZOrder="17" X="0" Y="0" Height="28" Width="202" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:TimeCard" ZOrder="30" X="242" Y="180" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:TimeCard" ZOrder="30" X="242" Y="180" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:BadliWeeklyPayment" ZOrder="10" X="240" Y="149" Height="28" Width="189" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:BadliWeeklyPayment" ZOrder="11" X="240" Y="149" Height="28" Width="189" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:BadliMonthWiseSummary" ZOrder="8" X="4" Y="321" Height="28" Width="217" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" /> <Shape ID="DesignTable:BadliMonthWiseSummary" ZOrder="9" X="4" Y="321" Height="28" Width="217" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
<Shape ID="DesignTable:DailyOverTime" ZOrder="37" X="1116" Y="539" Height="257" Width="151" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:DailyOverTime" ZOrder="37" X="1116" Y="539" Height="257" Width="151" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:AttnBenefitDataCompare" ZOrder="35" X="717" Y="718" Height="239" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:AttnBenefitDataCompare" ZOrder="35" X="717" Y="718" Height="239" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:AttnMonthlyBDataCompare" ZOrder="34" X="3" Y="353" Height="28" Width="228" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:AttnMonthlyBDataCompare" ZOrder="34" X="3" Y="353" Height="28" Width="228" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:ActingAllowance" ZOrder="9" X="237" Y="120" Height="28" Width="163" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:ActingAllowance" ZOrder="10" X="237" Y="120" Height="28" Width="163" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:DepartmentWiseOT" ZOrder="33" X="1145" Y="777" Height="239" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:DepartmentWiseOT" ZOrder="33" X="1145" Y="777" Height="239" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:LeaveWithoutPay" ZOrder="19" X="235" Y="92" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:LeaveWithoutPay" ZOrder="20" X="235" Y="92" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:DailyInOut" ZOrder="15" X="7" Y="195" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:DailyInOut" ZOrder="16" X="7" Y="195" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:EmpAttenInfo" ZOrder="27" X="1434" Y="144" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" /> <Shape ID="DesignTable:EmpAttenInfo" ZOrder="28" X="1434" Y="144" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:DailyAbsent" ZOrder="14" X="10" Y="260" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:DailyAbsent" ZOrder="15" X="10" Y="260" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:OddNumberInOut" ZOrder="32" X="13" Y="292" Height="28" Width="171" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" /> <Shape ID="DesignTable:OddNumberInOut" ZOrder="32" X="13" Y="292" Height="28" Width="171" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
<Shape ID="DesignTable:InOutMissing" ZOrder="20" X="236" Y="63" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:InOutMissing" ZOrder="21" X="236" Y="63" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:MnthlyKPIDtlSummary" ZOrder="21" X="236" Y="2" Height="28" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:MnthlyKPIDtlSummary" ZOrder="22" X="236" Y="2" Height="28" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:DateWiseInOut" ZOrder="26" X="1020" Y="502" Height="28" Width="154" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" /> <Shape ID="DesignTable:DateWiseInOut" ZOrder="27" X="1020" Y="502" Height="28" Width="154" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" />
<Shape ID="DesignTable:LateNessWise" ZOrder="6" X="930" Y="280" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:LateNessWise" ZOrder="7" X="930" Y="280" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:DateWiseInOutFiledForce" ZOrder="31" X="1178" Y="502" Height="239" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:DateWiseInOutFiledForce" ZOrder="31" X="1178" Y="502" Height="239" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:AbsentDataForMailSender" ZOrder="23" X="407" Y="1" Height="28" Width="218" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" /> <Shape ID="DesignTable:AbsentDataForMailSender" ZOrder="24" X="407" Y="1" Height="28" Width="218" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
<Shape ID="DesignTable:DailyAttnReportForMailSender" ZOrder="22" X="405" Y="28" Height="28" Width="245" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="273" SplitterPosition="24" /> <Shape ID="DesignTable:DailyAttnReportForMailSender" ZOrder="23" X="405" Y="28" Height="28" Width="245" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="273" SplitterPosition="24" />
<Shape ID="DesignTable:MonthlyKPIDetail" ZOrder="29" X="968" Y="266" Height="257" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:MonthlyKPIDetail" ZOrder="1" X="968" Y="266" Height="257" Width="169" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:MonthlyAttendanceReportNew" ZOrder="18" X="0" Y="0" Height="28" Width="248" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:MonthlyAttendanceReportNew" ZOrder="19" X="0" Y="0" Height="28" Width="248" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:MonthlyAttn" ZOrder="2" X="12" Y="63" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" /> <Shape ID="DesignTable:MonthlyAttn" ZOrder="3" X="12" Y="63" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" />
<Shape ID="DesignTable:EmpDailyAttn" ZOrder="1" X="470" Y="232" Height="257" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" /> <Shape ID="DesignTable:EmpDailyAttn" ZOrder="2" X="470" Y="232" Height="257" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" />
<Shape ID="DesignTable:EmpDailyAttnParent" ZOrder="28" X="0" Y="108" Height="28" Width="184" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" /> <Shape ID="DesignTable:EmpDailyAttnParent" ZOrder="29" X="0" Y="108" Height="28" Width="184" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" />
<Shape ID="DesignTable:EmpDailyAttnTest" ZOrder="24" X="681" Y="242" Height="239" Width="170" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:EmpDailyAttnTest" ZOrder="25" X="681" Y="242" Height="239" Width="170" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:EmpDailyAttnParentNewLiFung" ZOrder="3" X="312" Y="281" Height="219" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" /> <Shape ID="DesignTable:EmpDailyAttnParentNewLiFung" ZOrder="4" X="312" Y="281" Height="219" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
</Shapes> </Shapes>
<Connectors /> <Connectors />
</DiagramLayout> </DiagramLayout>

View File

@ -1242,6 +1242,7 @@ namespace HRM.Report
string shortAttnType = ""; string shortAttnType = "";
if (!(dAttnProcessess == null || dAttnProcessess.Count <= 0)) if (!(dAttnProcessess == null || dAttnProcessess.Count <= 0))
{ {
dAttnProcessess= dAttnProcessess.OrderBy(x => x.AttnDate).ToList();
foreach (DailyAttnProcess dAttnProcess in dAttnProcessess) foreach (DailyAttnProcess dAttnProcess in dAttnProcessess)
{ {
sLeaveName = string.Empty; sLeaveName = string.Empty;
@ -1351,7 +1352,7 @@ namespace HRM.Report
startTime = startTime.Value.AddMinutes(-15) > dAttnProcess.InTime ? startTime.Value.AddMinutes(-15) : dAttnProcess.InTime; startTime = startTime.Value.AddMinutes(-15) > dAttnProcess.InTime ? startTime.Value.AddMinutes(-15) : dAttnProcess.InTime;
endTime = dAttnProcess.OutTime; endTime = dAttnProcess.OutTime;
if (endTime != DateTime.MinValue) if (endTime != DateTime.MinValue && endTime != null)
{ {
if (endTime.Value.Subtract(startTime.Value).Add(TimeSpan.FromMinutes(1)).TotalHours >= dExtraAllowanceHours) if (endTime.Value.Subtract(startTime.Value).Add(TimeSpan.FromMinutes(1)).TotalHours >= dExtraAllowanceHours)
{ {
@ -1413,10 +1414,10 @@ namespace HRM.Report
dTable.Rows.Add(Rowbody); dTable.Rows.Add(Rowbody);
} }
} }
DataView dv = dTable.DefaultView; //DataView dv = dTable.DefaultView;
dv.Sort = "Date ASC"; //dv.Sort = "Date ASC";
DataTable sortedDT = dv.ToTable(); //DataTable sortedDT = dv.ToTable();
return sortedDT; return dTable;
} }
public DataTable GetEmpDailyAttn(int EmpID, DateTime dFromDate, DateTime dToDate, int PayrollTypeID) public DataTable GetEmpDailyAttn(int EmpID, DateTime dFromDate, DateTime dToDate, int PayrollTypeID)

View File

@ -46,19 +46,19 @@
</Field> </Field>
<Field Name="AttnDate"> <Field Name="AttnDate">
<DataField>AttnDate</DataField> <DataField>AttnDate</DataField>
<rd:TypeName>System.DateTime</rd:TypeName> <rd:TypeName>System.String</rd:TypeName>
</Field> </Field>
<Field Name="AttnType"> <Field Name="AttenType">
<DataField>AttnType</DataField> <DataField>AttenType</DataField>
<rd:TypeName>System.Int16</rd:TypeName> <rd:TypeName>System.String</rd:TypeName>
</Field> </Field>
<Field Name="OTHour"> <Field Name="OTHour">
<DataField>OTHour</DataField> <DataField>OTHour</DataField>
<rd:TypeName>System.Double</rd:TypeName> <rd:TypeName>System.String</rd:TypeName>
</Field> </Field>
<Field Name="ReferenceID"> <Field Name="ReferenceID">
<DataField>ReferenceID</DataField> <DataField>ReferenceID</DataField>
<rd:TypeName>System.Int32</rd:TypeName> <rd:TypeName>System.String</rd:TypeName>
</Field> </Field>
<Field Name="KPIStatus"> <Field Name="KPIStatus">
<DataField>KPIStatus</DataField> <DataField>KPIStatus</DataField>
@ -88,10 +88,30 @@
<DataField>Department</DataField> <DataField>Department</DataField>
<rd:TypeName>System.String</rd:TypeName> <rd:TypeName>System.String</rd:TypeName>
</Field> </Field>
<Field Name="Unit">
<DataField>Unit</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="FunctionalUnit">
<DataField>FunctionalUnit</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Shift">
<DataField>Shift</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Minutes">
<DataField>Minutes</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="ExtraAllowance">
<DataField>ExtraAllowance</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields> </Fields>
<rd:DataSetInfo> <rd:DataSetInfo>
<rd:DataSetName>AttendenceDataSet</rd:DataSetName> <rd:DataSetName>AttendenceDataSet</rd:DataSetName>
<rd:SchemaPath>D:\Local\EchoTex\Echo_Desktop\Payroll.Report\Attendence\AttendenceDataSet\AttendenceDataSet.xsd</rd:SchemaPath> <rd:SchemaPath>D:\Git\EchoTex_Payroll\HRM.Report\Attendence\AttendenceDataSet\AttendenceDataSet.xsd</rd:SchemaPath>
<rd:TableName>MonthlyKPIDetail</rd:TableName> <rd:TableName>MonthlyKPIDetail</rd:TableName>
<rd:TableAdapterFillMethod /> <rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod /> <rd:TableAdapterGetDataMethod />
@ -131,7 +151,7 @@
</Fields> </Fields>
<rd:DataSetInfo> <rd:DataSetInfo>
<rd:DataSetName>AttendenceDataSet</rd:DataSetName> <rd:DataSetName>AttendenceDataSet</rd:DataSetName>
<rd:SchemaPath>D:\Local\EchoTextPR\Echo_Desktop.root\Echo_Desktop\Payroll.Report\Attendence\AttendenceDataSet\AttendenceDataSet.xsd</rd:SchemaPath> <rd:SchemaPath>D:\Git\EchoTex_Payroll\HRM.Report\Attendence\AttendenceDataSet\AttendenceDataSet.xsd</rd:SchemaPath>
<rd:TableName>MnthlyKPIDtlSummary</rd:TableName> <rd:TableName>MnthlyKPIDtlSummary</rd:TableName>
<rd:TableAdapterFillMethod /> <rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod /> <rd:TableAdapterGetDataMethod />
@ -931,7 +951,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value /> <Value>=Math.Round(Sum(Fields!Minutes.Value)/60,2)</Value>
<Style> <Style>
<FontSize>8pt</FontSize> <FontSize>8pt</FontSize>
<Color>Green</Color> <Color>Green</Color>
@ -995,7 +1015,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>=IIF((Sum(iif(Fields!AttnType.Value = 1 or Fields!AttnType.Value = 3 or Fields!AttnType.Value = 7 or Fields!AttnType.Value = 11 or Fields!AttnType.Value = 12,1,0)))&gt;0,Sum(Fields!OTHour.Value)/(Sum(iif(Fields!AttnType.Value = 1 or Fields!AttnType.Value = 3 or Fields!AttnType.Value = 7 or Fields!AttnType.Value = 11 or Fields!AttnType.Value = 12,1,0))),0)</Value> <Value>=IIF((Sum(iif(Fields!AttenType.Value = 1 or Fields!AttenType.Value = 3 or Fields!AttenType.Value = 7 or Fields!AttenType.Value = 11 or Fields!AttenType.Value = 12,1,0)))&gt;0,Sum(Fields!OTHour.Value)/(Sum(iif(Fields!AttenType.Value = 1 or Fields!AttenType.Value = 3 or Fields!AttenType.Value = 7 or Fields!AttenType.Value = 11 or Fields!AttenType.Value = 12,1,0))),0)</Value>
<Style> <Style>
<FontSize>8pt</FontSize> <FontSize>8pt</FontSize>
<Format>0.00;(0.00)</Format> <Format>0.00;(0.00)</Format>
@ -1187,7 +1207,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>=Sum(iif(Fields!AttnType.Value = 1 or Fields!AttnType.Value = 3 or Fields!AttnType.Value = 7 or Fields!AttnType.Value = 11 or Fields!AttnType.Value = 12,1,0))</Value> <Value>=Sum(iif(Fields!AttenType.Value = 1 or Fields!AttenType.Value = 3 or Fields!AttenType.Value = 7 or Fields!AttenType.Value = 11 or Fields!AttenType.Value = 12,1,0))</Value>
<Style> <Style>
<FontSize>8pt</FontSize> <FontSize>8pt</FontSize>
</Style> </Style>
@ -1201,7 +1221,7 @@
<Border> <Border>
<Style>Solid</Style> <Style>Solid</Style>
</Border> </Border>
<BackgroundColor>=iif(Sum(iif(Fields!AttnType.Value = 1 or Fields!AttnType.Value = 3 or Fields!AttnType.Value = 7 or Fields!AttnType.Value = 11 or Fields!AttnType.Value = 12,1,0))&gt;0,"Yellow","White")</BackgroundColor> <BackgroundColor>=iif(Sum(iif(Fields!AttenType.Value = 1 or Fields!AttenType.Value = 3 or Fields!AttenType.Value = 7 or Fields!AttenType.Value = 11 or Fields!AttenType.Value = 12,1,0))&gt;0,"Yellow","White")</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft> <PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight> <PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop> <PaddingTop>2pt</PaddingTop>
@ -1219,7 +1239,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>=Sum(iif(Fields!AttnType.Value = 5 or Fields!AttnType.Value = 8,1,0))</Value> <Value>=Sum(iif(Fields!AttenType.Value = 5 or Fields!AttenType.Value = 8,1,0))</Value>
<Style> <Style>
<FontSize>8pt</FontSize> <FontSize>8pt</FontSize>
</Style> </Style>
@ -1233,7 +1253,7 @@
<Border> <Border>
<Style>Solid</Style> <Style>Solid</Style>
</Border> </Border>
<BackgroundColor>=IIF(Sum(iif(Fields!AttnType.Value = 5 or Fields!AttnType.Value = 8,1,0))&gt;0,"Yellow","White")</BackgroundColor> <BackgroundColor>=IIF(Sum(iif(Fields!AttenType.Value = 5 or Fields!AttenType.Value = 8,1,0))&gt;0,"Yellow","White")</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft> <PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight> <PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop> <PaddingTop>2pt</PaddingTop>
@ -1251,7 +1271,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>=Sum(iif(Fields!AttnType.Value = 2,1,0))</Value> <Value>=Sum(iif(Fields!AttenType.Value = 2,1,0))</Value>
<Style> <Style>
<FontSize>8pt</FontSize> <FontSize>8pt</FontSize>
</Style> </Style>
@ -1265,7 +1285,7 @@
<Border> <Border>
<Style>Solid</Style> <Style>Solid</Style>
</Border> </Border>
<BackgroundColor>=IIF(Sum(iif(Fields!AttnType.Value = 2,1,0))&gt;0,"Yellow","White")</BackgroundColor> <BackgroundColor>=IIF(Sum(iif(Fields!AttenType.Value = 2,1,0))&gt;0,"Yellow","White")</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft> <PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight> <PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop> <PaddingTop>2pt</PaddingTop>
@ -4495,7 +4515,7 @@
<Height>2.20187in</Height> <Height>2.20187in</Height>
<Style /> <Style />
</Body> </Body>
<Width>23in</Width> <Width>25in</Width>
<Page> <Page>
<PageHeader> <PageHeader>
<Height>1.45313in</Height> <Height>1.45313in</Height>
@ -4722,7 +4742,7 @@
</Style> </Style>
</PageFooter> </PageFooter>
<PageHeight>8.5in</PageHeight> <PageHeight>8.5in</PageHeight>
<PageWidth>25in</PageWidth> <PageWidth>27in</PageWidth>
<LeftMargin>0.375in</LeftMargin> <LeftMargin>0.375in</LeftMargin>
<TopMargin>0.375in</TopMargin> <TopMargin>0.375in</TopMargin>
<Style /> <Style />

View File

@ -276,7 +276,9 @@ namespace HRM.Report
dSet.Tables.Add(dTable); dSet.Tables.Add(dTable);
//string RDLC = "Payroll.Report.RDLC.rptEmpDesignWiseProdBonus.rdlc"; //string RDLC = "Payroll.Report.RDLC.rptEmpDesignWiseProdBonus.rdlc";
string RDLC = "rptEmpDesignWiseProdBonus.rdlc"; string RDLC = "rptEmpDesignWiseProdBonus.rdlc";
//string RDLC = "rptEmpDesignWiseProdBonusOld.rdlc";
List<ReportParameter> _reportParameters = new List<ReportParameter>(); List<ReportParameter> _reportParameters = new List<ReportParameter>();
ReportParameter rParam = new ReportParameter("Month", dBonusMonth.ToString("MMM yyyy")); ReportParameter rParam = new ReportParameter("Month", dBonusMonth.ToString("MMM yyyy"));
@ -337,6 +339,7 @@ namespace HRM.Report
DateTime? bonusIntime = DateTime.MinValue; DateTime? bonusIntime = DateTime.MinValue;
DateTime? bonusOuttime = DateTime.MinValue; DateTime? bonusOuttime = DateTime.MinValue;
List<ProdBonusAttn> prodAttn = new ProdBonusAttnService().GetBySetupID(designId); List<ProdBonusAttn> prodAttn = new ProdBonusAttnService().GetBySetupID(designId);
if (prodAttn.Count <= 0) return null;
string empIds = string.Empty; string empIds = string.Empty;
empIds = prodAttn.Select(x => x.EmployeeID).Distinct().Aggregate(new StringBuilder(), (sb, empid) => sb.Append(empid + ","), sb => sb.ToString().Trim(',')); empIds = prodAttn.Select(x => x.EmployeeID).Distinct().Aggregate(new StringBuilder(), (sb, empid) => sb.Append(empid + ","), sb => sb.ToString().Trim(','));

View File

@ -16,6 +16,10 @@ using System.IO;
using Ease.Core; using Ease.Core;
using Microsoft.Reporting.NETCore; using Microsoft.Reporting.NETCore;
using Org.BouncyCastle.Ocsp; using Org.BouncyCastle.Ocsp;
using HRM.Service;
using HRM.BO.Configuration;
using Microsoft.Extensions.Configuration;
using NPOI.SS.Formula.Functions;
namespace HRM.Report namespace HRM.Report
{ {
@ -2914,5 +2918,526 @@ namespace HRM.Report
return reportProcessor.ShowDlgForEmployeeEvaluationSheet(null, dTEmpInfo, payrollTypeId, reportType); return reportProcessor.ShowDlgForEmployeeEvaluationSheet(null, dTEmpInfo, payrollTypeId, reportType);
} }
//Echotex Profile Reports
public byte[] GetEmployeeCV(int empid, int payrollTypeId, string reportType)
{
ReportProcessor reportProcessor = new ReportProcessor();
try
{
HREmployee employee = new HREmployeeService().Get(empid);
DataRow oRow = null;
//_rImageManager = new RemoteImageManager();
String RDLC = "HRM.Report.RDLC.EmployeeCV.rdlc";
PayrollDataSet.dsCompany.EmployeePersonalInfoDataTable dEmpInfo = new HRM.Report.PayrollDataSet.dsCompany.EmployeePersonalInfoDataTable();
PayrollDataSet.dsCompany.EmployeeQualificationDataTable dEmpQualification = new HRM.Report.PayrollDataSet.dsCompany.EmployeeQualificationDataTable();
string sempId = Convert.ToString(employee.ID);
PhotoPath pPath = new PhotoPathService().Get().FirstOrDefault();
DataTable dtEmpBasicInfo = new EmployeeService().GetAllEmpBasicInfo(sempId)
.Tables[0]
.AsEnumerable()
.OrderBy(x => Convert.ToInt32(x["EmployeeID"].ToString()))
.CopyToDataTable();
foreach (DataRow drBasic in dtEmpBasicInfo.Rows)
{
oRow = dEmpInfo.NewRow();
if (drBasic != null)
{
oRow["EmpName"] = drBasic["Name"];
oRow["EmpCode"] = drBasic["EmployeeNo"];
oRow["FatherName"] = drBasic["FATHERNAME"];
oRow["MotherName"] = drBasic["MOTHERNAME"];
oRow["VoterID"] = drBasic["NationalID"];
oRow["Nationality"] = drBasic["Nationality"];
oRow["DateofBirth"] = drBasic["BIRTHDATE"];
oRow["Gender"] = (EnumGender)Convert.ToInt16(drBasic["GenderID"]);
oRow["MartialStatus"] = (EnumMaritalStatus)Convert.ToInt16(drBasic["MARITALSTATUSID"]);
oRow["Religion"] = drBasic["Religion"];
oRow["Email"] = drBasic["PERSONALEMAIL"];
//Commented for development
//oRow["EmpPhotograph"] = _rImageManager.GetImage(drBasic["PhotoPath"].ToString());
//Contact
oRow["Telephone1"] = drBasic["EMERGENCYTELEPHONE"];
oRow["Telephone2"] = drBasic["EMERGENCYMOBILE"];
oRow["PERSONALTELEPHONE"] = drBasic["PERSONALTELEPHONE"];
oRow["MobileNo"] = drBasic["MOBILENO"];
oRow["FaxNumber"] = drBasic["FAX"];
oRow["VillagePA"] = drBasic["PARMANENTADDRESS"];
oRow["PostOfficePA"] = drBasic["PermanentPO"];
oRow["ThanaPA"] = drBasic["ParmanentThana"];
oRow["DistrictPA"] = drBasic["ParmanentDistric"];
// oRow["Email"] = employee.Contacts[0].PersonalEMail;
oRow["OfficialEmail"] = drBasic["OFFICIALEMAIL"];
oRow["VillageTA"] = drBasic["PRESENTADDRESS"];
oRow["PostOfficeTA"] = drBasic["PresentPO"];
oRow["ThanaTA"] = drBasic["TempThana"];
oRow["DistrictTA"] = drBasic["TempDistric"];
oRow["Division"] = "";
oRow["Line"] = drBasic["Line"];
oRow["Department"] = drBasic["Department"];
oRow["Section"] = drBasic["Section"];
oRow["Designation"] = drBasic["Designation"];
oRow["Appointment"] = drBasic["JoiningDate"];
oRow["Status"] = (EnumStatus)Convert.ToInt16(drBasic["STATUS"]);
oRow["Grade"] = drBasic["GradeName"];
oRow["EducationLevel"] = drBasic["EducationLevel"];
oRow["CompletionDate"] = drBasic["PASSINGYEAR"];
}
dEmpInfo.Rows.Add(oRow);
}
DataSet dSet = new DataSet();
dEmpInfo.TableName = "dsCompany_EmployeePersonalInfo";
dSet.Tables.Add(dEmpInfo);
foreach (var empQualification in employee.Academics)
{
oRow = dEmpQualification.NewRow();
oRow["Qualification"] = empQualification.EducationLevel.Description;
oRow["CompletionDate"] = empQualification.PassingYear.ToString();
dEmpQualification.Rows.Add(oRow);
}
dEmpQualification.TableName = "dsCompany_EmployeeQualification";
dSet.Tables.Add(dEmpQualification);
//fReportViewer form = new fReportViewer();
//form.CommonReportView(null, dSet, RDLC, null);
return reportProcessor.CommonReportView(null, RDLC, dSet, null, null, true, payrollTypeId, reportType);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
//public byte[] GetServiceBook(HREmployee employee, int authPersonID, int payrollTypeId, string reportType)
//{
// ReportProcessor reportProcessor = new ReportProcessor();
// try
// {
// //_rImageManager = new RemoteImageManager();
// string signaturePath = string.Empty;
// AuthorizedPerson oAuthPerson = null;
// int empID = employee.ID;
// if (authPersonID != null)
// {
// oAuthPerson = new AuthorizedPersonService().Get(authPersonID);
// //signaturePath = _rImageManager.GetImage(oAuthPerson.GetImage(authPersonID.Integer), "AuthSign.jpg");
// }
// String RDLC = "Payroll.Report.RDLC.rptServiceBook.rdlc";
// DataSet dSet = new DataSet();
// DataTable dTable = CollectDataForBanglaAppointment(employee, true);
// DateTime dTimeTemp;
// foreach (DataRow item in dTable.Rows)
// {
// string[] strArrs = item["JoiningDate"].ToString().Split('/', '-');
// if (strArrs.Length > 2)
// {
// dTimeTemp = new DateTime(Convert.ToInt32(strArrs[2]), Convert.ToInt32(strArrs[1]), Convert.ToInt32(strArrs[0]));
// item["JoiningDate"] = string.Format("{0} {1} {2}", dTimeTemp.Day, dTimeTemp.BanglaMonth(), dTimeTemp.Year);
// }
// string[] strArrs2 = item["BirthDate"].ToString().Split('/', '-');
// if (strArrs2.Length > 2)
// {
// dTimeTemp = new DateTime(Convert.ToInt32(strArrs2[2]), Convert.ToInt32(strArrs2[1]), Convert.ToInt32(strArrs2[0]));
// item["BirthDate"] = string.Format("{0} {1} {2}", dTimeTemp.Day, dTimeTemp.BanglaMonth(), dTimeTemp.Year);
// }
// }
// dTable.TableName = "dsCompany_EmployeeAppointmentInfo";
// dSet.Tables.Add(dTable);
// //dTable = GetEmployeeExperiences(employee);
// dTable = GetServiceInfo(employee);
// dTable.TableName = "dsCompany_PastOwnerAndJobInfo";
// dSet.Tables.Add(dTable);
// dTable = GetEmpELDetails(employee, payrollTypeId);
// dTable.TableName = "dsCompany_LeaveRecord";
// dSet.Tables.Add(dTable);
// dTable = GetEmployeeBehaviourRecord(employee);
// dTable.TableName = "dsCompany_BehaviorRecord";
// dSet.Tables.Add(dTable);
// //dTable = CollectDataForServiceRecord(employee, true);
// foreach (DataRow item in dTable.Rows)
// {
// string[] strArrs = item["JoiningDate"].ToString().Split('/', '-');
// if (strArrs.Length > 2)
// {
// dTimeTemp = new DateTime(Convert.ToInt32(strArrs[2]), Convert.ToInt32(strArrs[1]), Convert.ToInt32(strArrs[0]));
// item["JoiningDate"] = string.Format("{0} {1} {2}", dTimeTemp.Day, dTimeTemp.BanglaMonth(), dTimeTemp.Year);
// }
// }
// dTable.TableName = "dsCompany_EmpSalaryInfo";
// dSet.Tables.Add(dTable);
// var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json");
// EmailSettings emailSettings = new EmailSettings();
// IConfiguration Configuration = builder.Build();
// Configuration.GetSection("CompanyInfo").Bind(emailSettings);
// string companyNameBangla = Configuration.GetSection("CompanyInfo")["CompanyNameBangla"];
// string companyAddressBangla = Configuration.GetSection("CompanyInfo")["CAddress"];
// ReportParameter rParam;
// List<ReportParameter> _reportParameters = new List<ReportParameter>();
// rParam = new ReportParameter("SignPath", signaturePath);
// _reportParameters.Add(rParam);
// rParam = new ReportParameter("AuthPersonName", oAuthPerson != null ? oAuthPerson.Name : "");
// _reportParameters.Add(rParam);
// rParam = new ReportParameter("companyNameBangla", companyNameBangla);
// _reportParameters.Add(rParam);
// rParam = new ReportParameter("CAddress", companyAddressBangla);
// _reportParameters.Add(rParam);
// //rParam = new ReportParameter("EmpSignature", _rImageManager.GetImage(employee.Signature));
// _reportParameters.Add(rParam);
// //fReportViewer rViewer = new fReportViewer();
// //rViewer.CommonReportViewer(null, RDLC, dSet, _reportParameters, true);
// return reportProcessor.CommonReportView(null, RDLC, dSet, null, null, true, payrollTypeId, reportType);
// }
// catch (Exception e)
// {
// throw new Exception(e.Message);
// }
// //finally
// //{
// // if (_rImageManager != null)
// // _rImageManager.Dispose();
// //}
//}
//private DataTable GetServiceInfo(HREmployee employee)
//{
// DataRow oRow = null;
// PayrollDataSet.dsCompany.PastOwnerAndJobInfoDataTable pastExpinfo = new PayrollDataSet.dsCompany.PastOwnerAndJobInfoDataTable();
// oRow = pastExpinfo.NewRow();
// //oRow["JoinDate"] = employee.JoiningDate.CommonDateFormat();
// //oRow["ResignationDate"] = employee.EndOfContractDate.HasValue ?
// // (employee.EndOfContractDate.Value == DateTime.MinValue ? "" : employee.EndOfContractDate.Value.CommonDateFormat())
// // : "";
// oRow["CauseOfResignation"] = string.Empty;
// pastExpinfo.Rows.Add(oRow);
// return pastExpinfo;
//}
//private DataTable GetEmployeeBehaviourRecord(HREmployee employee)
//{
// DataRow oRow = null;
// //PayrollDataSet.dsCompany.BehaviorRecordDataTable dempRecord = new HRM.Report.PayrollDataSet.dsCompany.BehaviorRecordDataTable();
// //DataSet ds = EmployeeBehaviourRecord.GetBrecordByEmpID(employee.ID);
// //if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
// //{
// // DataTable bhaviourRecords = ds.Tables[0].AsEnumerable().CopyToDataTable();
// // foreach (DataRow bRecord in bhaviourRecords.Rows)
// // {
// // oRow = dempRecord.NewRow();
// // oRow["BehaviorDesc"] = bRecord["Description"];
// // oRow["BehaviourDescInBangla"] = bRecord["DescriptionBangla"];
// // DateTime dtTemp = Convert.ToDateTime(bRecord["ConductDate"]);
// // oRow["ConductDate"] = dtTemp.Day + " " + dtTemp.BanglaMonth() + " " + dtTemp.Year;
// // dempRecord.Rows.Add(oRow);
// // }
// //}
// //return dempRecord;
// return null;
//}
//private DataTable GetEmpELDetails(HREmployee employee, int payrollTypeID)
//{
// DataRow oRow = null;
// PayrollDataSet.dsCompany.LeaveRecordDataTable leaveReocd = new PayrollDataSet.dsCompany.LeaveRecordDataTable();
// DataSet OLeaveRecords = new HREmployeeService().GetEmpELDetails(employee.ID);
// //GetNumberOfYears
// DataSet NumberOfYears = new HREmployeeService().GetNumberOfYears(employee.ID);
// // for tomorrow
// //List<LeaveEncashment> oLeaveEncashment = new LeaveEncashmentService().GetByEmpIDs(employee.ID.ToString());
// List<Leave> oLeaves = new LeaveService().Get();
// Leave oLeave = null;
// LeaveYear lyy = new LeaveYearService().GetCurrentYear(payrollTypeID);
// Employee oEmp = new EmployeeService().Get(employee.ID);
// double EL = 0;
// int OpeningEL = 0;
// // for tomorrow
// //List<EmpLeaveStatus> dcurrentStatus = new EmpLeaveStatusService().CurrentYearStatus(new List<Employee> { oEmp }, lyy, EnumLeaveStatus.Approved);
// //if (dcurrentStatus.Count > 0)
// //{
// // for (int i = 0; i < dcurrentStatus.Count; i++)
// // {
// // oLeave = oLeaves.FirstOrDefault(x => x.ID == dcurrentStatus[i].LeaveId);
// // if (oLeave != null)
// // switch (oLeave.Code)
// // {
// // case "EL":
// // EL = (int)dcurrentStatus[i].OpeningBalance;
// // OpeningEL = (int)dcurrentStatus[i].OpeningBalance;
// // break;
// // default:
// // break;
// // }
// // }
// //}
// List<int> encashYears = new List<int>();
// // List<int> years = new List<int>();
// //foreach (DataRow dr in OLeaveRecords.Tables[0].Rows)
// //{
// // int yy = Convert.ToInt32(dr["Year"]);
// // bool yr = years.Contains(yy);
// // if (!yr)
// // years.Add(yy);
// //}
// int flag = 0;
// foreach (DataRow dr in OLeaveRecords.Tables[0].Rows)
// {
// int year = Convert.ToInt32(dr["Year"]);
// bool bEncashFound = false;
// ++flag;
// var result = NumberOfYears.Tables[0]
// .AsEnumerable().Where(x => Convert.ToInt32(x["Number"]) == flag && Convert.ToInt32(x["Year"]) == year).FirstOrDefault();
// bool isFirstRow = false;
// //LeaveEncashment le = null;
// //if (oLeaveEncashment.Count > 0)
// //{
// // le = oLeaveEncashment.Where(x => x.EmployeeID.Integer == Convert.ToInt32(dr["EMPID"].ToString()) && Convert.ToDateTime(dr["ENDDATE"].ToString()) > x.EncashmentToDate).FirstOrDefault();
// // if (le != null && !encashYears.Any(x => x == le.EncashMonth.Year))
// // {
// // isFirstRow = true;
// // bEncashFound = true;
// // encashYears.Add(le.EncashMonth.Year);
// // }
// //}
// oRow = leaveReocd.NewRow();
// DateTime dtTemp = Convert.ToDateTime(dr["STARTDATE"]);
// oRow["FromDate"] = dtTemp.Day + " " + dtTemp.BanglaMonth() + " " + dtTemp.Year;
// dtTemp = Convert.ToDateTime(dr["ENDDATE"]);
// oRow["EndDate"] = dtTemp.Day + " " + dtTemp.BanglaMonth() + " " + dtTemp.Year;
// oRow["Total"] = dr["APRTOTALDAYS"];
// //oRow["TotalAmount"] = isFirstRow ? Math.Round(le.EncashmentDays, 2).ToString() : "0";//dr["APRTOTALDAYS"];
// oRow["TotalAmount"] = "0";//dr["APRTOTALDAYS"];
// //oRow["Date"] = isFirstRow ? le.EncashMonth.Day + " " + le.EncashMonth.BanglaMonth() + " " + le.EncashMonth.Year : "";
// oRow["Date"] = "";
// EL = EL - Convert.ToInt32(dr["APRTOTALDAYS"]);
// oRow["RemainingEL"] = EL;
// // oRow["RemainingELCash"] = isFirstRow ? le.AbsentDays.ToString() : "0"; ;// EL;
// oRow["RemainingELCash"] = "0";// EL;
// leaveReocd.Rows.Add(oRow);
// if (result != null)
// {
// //result = null;
// flag = 0;
// oRow = leaveReocd.NewRow();
// oRow["FromDate"] = "";
// oRow["EndDate"] = "";
// oRow["Total"] = "";
// // for tomorrow
// //LeaveEncashment le = oLeaveEncashment.Where(x => x.EmployeeID == Convert.ToInt32(dr["EMPID"].ToString()) && Convert.ToInt16(result[0].ToString()) == x.EncashmentFromDate.Year).FirstOrDefault();
// //if (le != null)
// //{
// // oRow["TotalAmount"] = Math.Round(le.EncashmentDays, 2).ToString();
// // oRow["Date"] = le.EncashMonth.Day + " " + le.EncashMonth.BanglaMonth() + " " + le.EncashMonth.Year;
// // oRow["RemainingEL"] = Math.Round((decimal)EL, 2);
// // oRow["RemainingELCash"] = Math.Round(EL - le.EncashmentDays, 2) > 0 ? (Math.Round(EL - le.EncashmentDays, 2)).ToString() : "0";
// // leaveReocd.Rows.Add(oRow);
// // EL -= Math.Round(le.EncashmentDays, 2);
// //}
// result = null;
// }
// }
// return leaveReocd;
//}
public byte[] GetAsstOfficeAndAbove(int empid, int payrollTypeID, string reportType)
{
try
{
Employee employee = new EmployeeService().Get(empid);
String RDLC = "HRM.Report.RDLC.ApLetterForAssistantOfficerToAbove.rdlc";
DataSet dSet = new DataSet();
DataTable dTable = CollectDataForEnglishAppointment(employee, payrollTypeID);
dTable.TableName = "dsCompany_EmployeeAppointmentInfo";
dSet.Tables.Add(dTable);
double total = 0;
if (dSet.Tables[0].Rows.Count > 0)
{
total = Convert.ToDouble(dSet.Tables[0].Rows[0]["Basic"]) +
Convert.ToDouble(dSet.Tables[0].Rows[0]["HouseRent"]) +
Convert.ToDouble(dSet.Tables[0].Rows[0]["Conveyence"]) +
Convert.ToDouble(dSet.Tables[0].Rows[0]["Medical"]);
// Convert.ToDouble(dSet.Tables[0].Rows[0]["Food"]);
}
SystemInformation systemInformation = new SystemInformationService().Get();
List<ReportParameter> _parameters = new List<ReportParameter>();
ReportParameter parameter = new ReportParameter("CompanyName", systemInformation.name);
_parameters.Add(parameter);
parameter = new ReportParameter("AmountInWord", Global.NumericFunctions.AmountInWords((decimal)total, "", " only"));
_parameters.Add(parameter);
ReportProcessor reportProcessor = new ReportProcessor();
return reportProcessor.CommonReportView(null, RDLC, dSet, null, _parameters, false, payrollTypeID, reportType);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
private DataTable CollectDataForEnglishAppointment(Employee employee, int payrollTypeID)
{
DataRow oRow = null;
PayrollDataSet.dsCompany.EmployeeAppointmentInfoDataTable dEmpInfo = new HRM.Report.PayrollDataSet.dsCompany.EmployeeAppointmentInfoDataTable();
string sempId = Convert.ToString(employee.ID);
PhotoPath pPath = new PhotoPathService().Get().FirstOrDefault();
DataSet ds = new EmployeeService().GetAllEmpBasicInfo(sempId);
DataTable dtEmpBasicInfo = new DataTable();
if (ds.Tables[0].Rows.Count > 0)
{
dtEmpBasicInfo = ds.Tables[0]
.AsEnumerable()
.CopyToDataTable();
}
foreach (DataRow drBasic in dtEmpBasicInfo.Rows)
{
oRow = dEmpInfo.NewRow();
oRow["EmpName"] = drBasic["Name"];
oRow["EmpCode"] = drBasic["EmployeeNo"];
oRow["FatherName"] = drBasic["FATHERNAME"];
oRow["MotherName"] = drBasic["MOTHERNAME"];
oRow["HusbandName"] = string.Empty;
oRow["JoiningDate"] = Convert.ToDateTime(drBasic["JoiningDate"].ToString()).ToString("dd'/'MM'/'yyyy");
oRow["ProbationEndDate"] = Convert.ToDateTime(drBasic["JoiningDate"].ToString()).AddDays(90).ToString("dd'/'MM'/'yyyy");
oRow["BirthDate"] = Convert.ToDateTime(drBasic["BIRTHDATE"]).ToString("dd'/'MM'/'yyyy");
oRow["BloodGroup"] = ((EnumBloodGroup)Convert.ToInt32(drBasic["BLOODGROUP"].ToString())).BloodGroupToFriendlyName();
oRow["Nationality"] = drBasic["Nationality"];
oRow["Gender"] = (EnumGender)Convert.ToInt16(drBasic["GenderID"]);
oRow["MartialStatus"] = (EnumMaritalStatus)Convert.ToInt16(drBasic["MARITALSTATUSID"]);
oRow["Religion"] = drBasic["Religion"];
oRow["VillagePA"] = drBasic["PARMANENTADDRESS"];
oRow["PostOfficePA"] = drBasic["PermanentPO"];
oRow["ThanaPA"] = drBasic["ParmanentThana"];
oRow["DistrictPA"] = drBasic["ParmanentDistric"];
oRow["VillageTA"] = drBasic["PRESENTADDRESS"];
oRow["PostOfficeTA"] = drBasic["PresentPO"];
oRow["ThanaTA"] = drBasic["TempThana"];
oRow["DistrictTA"] = drBasic["TempDistric"];
oRow["Department"] = drBasic["Department"];
oRow["Section"] = drBasic["Section"];
oRow["Floor"] = drBasic["Floor"];
oRow["Designation"] = drBasic["Designation"];
oRow["Basic"] = employee.BasicSalary;
List<ADParameter> adParams = new ADParameterService().Get(employee.GradeID, EnumEntitleType.Grade, EnumAllowOrDeduct.Allowance, payrollTypeID);
List<ADParameterEmployee> adParamEmps = null;
//EmployeeGradeSalary oEmpGradeSalary = new EmployeeGradeSalaryService().Get();
EmployeeGradeSalary oEmpGradeSalary = new EmployeeGradeSalaryService().GetBasicOnDateBAT(employee.ID, DateTime.Now);
if (adParams != null)
{
foreach (ADParameter adParam in adParams)
{
double amount = new ADParameterService().GetGradeDefinedAmount(employee, employee.BasicSalary, employee.GrossSalary, oEmpGradeSalary, adParam);
switch (adParam.AllowanceDeduction.Code.Trim())
{
case "008":
oRow["HouseRent"] = amount;
break;
case "010":
oRow["Conveyence"] = amount;
break;
case "011":
oRow["Medical"] = amount;
break;
case "006":
oRow["Food"] = amount;
break;
default:
break;
}
}
}
adParamEmps = new ADParameterEmployeeService().GetByEmployee(employee.ID, EnumAllowOrDeduct.Allowance, EnumADEmpType.AppliedToIndividual);
if (adParamEmps != null)
{
foreach (ADParameterEmployee adEmp in adParamEmps)
{
switch (adEmp.AllowDeduct.Code.Trim())
{
case "008":
oRow["HouseRent"] = adEmp.MonthlyAmount;
break;
case "010":
oRow["Conveyence"] = adEmp.MonthlyAmount;
break;
case "011":
oRow["Medical"] = adEmp.MonthlyAmount;
break;
case "006":
oRow["Food"] = adEmp.MonthlyAmount;
break;
default:
break;
}
}
}
dEmpInfo.Rows.Add(oRow);
}
return dEmpInfo;
}
} }
} }

View File

@ -45,6 +45,7 @@
<None Remove="RDLC\AllDigitalServiceBook.rdlc" /> <None Remove="RDLC\AllDigitalServiceBook.rdlc" />
<None Remove="RDLC\AllEmpTaxInfo.rdlc" /> <None Remove="RDLC\AllEmpTaxInfo.rdlc" />
<None Remove="RDLC\AllMedicalClaim.rdlc" /> <None Remove="RDLC\AllMedicalClaim.rdlc" />
<None Remove="RDLC\ApLetterForAssistantOfficerToAbove.rdlc" />
<None Remove="RDLC\ApointmentLetterForStuff.rdlc" /> <None Remove="RDLC\ApointmentLetterForStuff.rdlc" />
<None Remove="RDLC\ApointmentLetterForWorker.rdlc" /> <None Remove="RDLC\ApointmentLetterForWorker.rdlc" />
<None Remove="RDLC\ArrearBankAdvice.rdlc" /> <None Remove="RDLC\ArrearBankAdvice.rdlc" />
@ -239,6 +240,7 @@
<None Remove="RDLC\rptDeletedLifeCycleForExcel.rdlc" /> <None Remove="RDLC\rptDeletedLifeCycleForExcel.rdlc" />
<None Remove="RDLC\rptEmpAcademicInfo.rdlc" /> <None Remove="RDLC\rptEmpAcademicInfo.rdlc" />
<None Remove="RDLC\rptEmpDesignWiseProdBonus.rdlc" /> <None Remove="RDLC\rptEmpDesignWiseProdBonus.rdlc" />
<None Remove="RDLC\rptEmpDesignWiseProdBonusOld.rdlc" />
<None Remove="RDLC\rptEmpGeneralInfo.rdlc" /> <None Remove="RDLC\rptEmpGeneralInfo.rdlc" />
<None Remove="RDLC\rptEmployeeChildInfo.rdlc" /> <None Remove="RDLC\rptEmployeeChildInfo.rdlc" />
<None Remove="RDLC\rptEmployeeContactInfo.rdlc" /> <None Remove="RDLC\rptEmployeeContactInfo.rdlc" />
@ -313,11 +315,14 @@
<EmbeddedResource Include="Attendence\RDLC\MonthlyDetailAttnEcho.rdlc" /> <EmbeddedResource Include="Attendence\RDLC\MonthlyDetailAttnEcho.rdlc" />
<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">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="RDLC\ActiveEmployeeDetail.rdlc" /> <EmbeddedResource Include="RDLC\ActiveEmployeeDetail.rdlc" />
<EmbeddedResource Include="RDLC\AllDigitalServiceBook.rdlc" /> <EmbeddedResource Include="RDLC\AllDigitalServiceBook.rdlc" />
<EmbeddedResource Include="RDLC\AllEmpTaxInfo.rdlc" /> <EmbeddedResource Include="RDLC\AllEmpTaxInfo.rdlc" />
<EmbeddedResource Include="RDLC\AllMedicalClaim.rdlc" /> <EmbeddedResource Include="RDLC\AllMedicalClaim.rdlc" />
<EmbeddedResource Include="RDLC\ApLetterForAssistantOfficerToAbove.rdlc" />
<EmbeddedResource Include="RDLC\ApointmentLetterForStuff.rdlc" /> <EmbeddedResource Include="RDLC\ApointmentLetterForStuff.rdlc" />
<EmbeddedResource Include="RDLC\ApointmentLetterForWorker.rdlc" /> <EmbeddedResource Include="RDLC\ApointmentLetterForWorker.rdlc" />
<EmbeddedResource Include="RDLC\ArrearBankAdvice.rdlc" /> <EmbeddedResource Include="RDLC\ArrearBankAdvice.rdlc" />
@ -527,7 +532,12 @@
<EmbeddedResource Include="RDLC\rptDeletedLifeCycle.rdlc" /> <EmbeddedResource Include="RDLC\rptDeletedLifeCycle.rdlc" />
<EmbeddedResource Include="RDLC\rptDeletedLifeCycleForExcel.rdlc" /> <EmbeddedResource Include="RDLC\rptDeletedLifeCycleForExcel.rdlc" />
<EmbeddedResource Include="RDLC\rptEmpAcademicInfo.rdlc" /> <EmbeddedResource Include="RDLC\rptEmpAcademicInfo.rdlc" />
<EmbeddedResource Include="RDLC\rptEmpDesignWiseProdBonus.rdlc" /> <EmbeddedResource Include="RDLC\rptEmpDesignWiseProdBonus.rdlc">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="RDLC\rptEmpDesignWiseProdBonusOld.rdlc">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="RDLC\rptEmpGeneralInfo.rdlc" /> <EmbeddedResource Include="RDLC\rptEmpGeneralInfo.rdlc" />
<EmbeddedResource Include="RDLC\rptEmployeeChildInfo.rdlc" /> <EmbeddedResource Include="RDLC\rptEmployeeChildInfo.rdlc" />
<EmbeddedResource Include="RDLC\rptEmployeeContactInfo.rdlc" /> <EmbeddedResource Include="RDLC\rptEmployeeContactInfo.rdlc" />

File diff suppressed because it is too large Load Diff

View File

@ -524,6 +524,13 @@
<xs:element name="NumberOfPreviousJob" msprop:Generator_ColumnPropNameInTable="NumberOfPreviousJobColumn" msprop:Generator_ColumnPropNameInRow="NumberOfPreviousJob" msprop:Generator_UserColumnName="NumberOfPreviousJob" msprop:Generator_ColumnVarNameInTable="columnNumberOfPreviousJob" type="xs:string" minOccurs="0" /> <xs:element name="NumberOfPreviousJob" msprop:Generator_ColumnPropNameInTable="NumberOfPreviousJobColumn" msprop:Generator_ColumnPropNameInRow="NumberOfPreviousJob" msprop:Generator_UserColumnName="NumberOfPreviousJob" msprop:Generator_ColumnVarNameInTable="columnNumberOfPreviousJob" type="xs:string" minOccurs="0" />
<xs:element name="LastPromotionBefore" msprop:Generator_ColumnPropNameInTable="LastPromotionBeforeColumn" msprop:Generator_ColumnPropNameInRow="LastPromotionBefore" msprop:Generator_UserColumnName="LastPromotionBefore" msprop:Generator_ColumnVarNameInTable="columnLastPromotionBefore" type="xs:string" minOccurs="0" /> <xs:element name="LastPromotionBefore" msprop:Generator_ColumnPropNameInTable="LastPromotionBeforeColumn" msprop:Generator_ColumnPropNameInRow="LastPromotionBefore" msprop:Generator_UserColumnName="LastPromotionBefore" msprop:Generator_ColumnVarNameInTable="columnLastPromotionBefore" type="xs:string" minOccurs="0" />
<xs:element name="EmergencyTel" msprop:Generator_ColumnPropNameInTable="EmergencyTelColumn" msprop:Generator_ColumnPropNameInRow="EmergencyTel" msprop:Generator_UserColumnName="EmergencyTel" msprop:Generator_ColumnVarNameInTable="columnEmergencyTel" type="xs:string" minOccurs="0" /> <xs:element name="EmergencyTel" msprop:Generator_ColumnPropNameInTable="EmergencyTelColumn" msprop:Generator_ColumnPropNameInRow="EmergencyTel" msprop:Generator_UserColumnName="EmergencyTel" msprop:Generator_ColumnVarNameInTable="columnEmergencyTel" type="xs:string" minOccurs="0" />
<xs:element name="OfficialEmail" msprop:Generator_ColumnPropNameInRow="OfficialEmail" msprop:Generator_ColumnPropNameInTable="OfficialEmailColumn" msprop:Generator_ColumnVarNameInTable="columnOfficialEmail" msprop:Generator_UserColumnName="OfficialEmail" type="xs:string" minOccurs="0" />
<xs:element name="EducationLevel" msprop:Generator_ColumnPropNameInRow="EducationLevel" msprop:Generator_ColumnPropNameInTable="EducationLevelColumn" msprop:Generator_ColumnVarNameInTable="columnEducationLevel" msprop:Generator_UserColumnName="EducationLevel" type="xs:string" minOccurs="0" />
<xs:element name="EMERGENCYTELEPHONE" msprop:Generator_ColumnPropNameInRow="EMERGENCYTELEPHONE" msprop:Generator_ColumnPropNameInTable="EMERGENCYTELEPHONEColumn" msprop:Generator_ColumnVarNameInTable="columnEMERGENCYTELEPHONE" msprop:Generator_UserColumnName="EMERGENCYTELEPHONE" type="xs:string" minOccurs="0" />
<xs:element name="EMERGENCYMOBILE" msprop:Generator_ColumnPropNameInRow="EMERGENCYMOBILE" msprop:Generator_ColumnPropNameInTable="EMERGENCYMOBILEColumn" msprop:Generator_ColumnVarNameInTable="columnEMERGENCYMOBILE" msprop:Generator_UserColumnName="EMERGENCYMOBILE" type="xs:string" minOccurs="0" />
<xs:element name="CompletionDate" msprop:Generator_ColumnPropNameInRow="CompletionDate" msprop:Generator_ColumnPropNameInTable="CompletionDateColumn" msprop:Generator_ColumnVarNameInTable="columnCompletionDate" msprop:Generator_UserColumnName="CompletionDate" type="xs:short" minOccurs="0" />
<xs:element name="Line" msprop:Generator_ColumnPropNameInRow="Line" msprop:Generator_ColumnPropNameInTable="LineColumn" msprop:Generator_ColumnVarNameInTable="columnLine" msprop:Generator_UserColumnName="Line" type="xs:string" minOccurs="0" />
<xs:element name="PERSONALTELEPHONE" msprop:Generator_ColumnPropNameInRow="PERSONALTELEPHONE" msprop:Generator_ColumnPropNameInTable="PERSONALTELEPHONEColumn" msprop:Generator_ColumnVarNameInTable="columnPERSONALTELEPHONE" msprop:Generator_UserColumnName="PERSONALTELEPHONE" type="xs:string" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -912,47 +919,75 @@
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="dtPerquisite" msprop:Generator_RowClassName="dtPerquisiteRow" msprop:Generator_RowEvHandlerName="dtPerquisiteRowChangeEventHandler" msprop:Generator_RowDeletedName="dtPerquisiteRowDeleted" msprop:Generator_RowDeletingName="dtPerquisiteRowDeleting" msprop:Generator_RowEvArgName="dtPerquisiteRowChangeEvent" msprop:Generator_TablePropName="dtPerquisite" msprop:Generator_RowChangedName="dtPerquisiteRowChanged" msprop:Generator_UserTableName="dtPerquisite" msprop:Generator_RowChangingName="dtPerquisiteRowChanging" msprop:Generator_TableClassName="dtPerquisiteDataTable" msprop:Generator_TableVarName="tabledtPerquisite"> <xs:element name="dtPerquisite" msprop:Generator_RowEvHandlerName="dtPerquisiteRowChangeEventHandler" msprop:Generator_RowDeletedName="dtPerquisiteRowDeleted" msprop:Generator_RowDeletingName="dtPerquisiteRowDeleting" msprop:Generator_RowEvArgName="dtPerquisiteRowChangeEvent" msprop:Generator_TablePropName="dtPerquisite" msprop:Generator_RowChangedName="dtPerquisiteRowChanged" msprop:Generator_UserTableName="dtPerquisite" msprop:Generator_RowChangingName="dtPerquisiteRowChanging" msprop:Generator_RowClassName="dtPerquisiteRow" msprop:Generator_TableClassName="dtPerquisiteDataTable" msprop:Generator_TableVarName="tabledtPerquisite">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="Name" msdata:Caption="EmpName" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" type="xs:string" minOccurs="0" /> <xs:element name="Name" msdata:Caption="EmpName" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" type="xs:string" minOccurs="0" />
<xs:element name="Designation" msprop:Generator_UserColumnName="Designation" msprop:Generator_ColumnPropNameInTable="DesignationColumn" msprop:Generator_ColumnPropNameInRow="Designation" msprop:Generator_ColumnVarNameInTable="columnDesignation" type="xs:string" minOccurs="0" /> <xs:element name="Designation" msprop:Generator_ColumnPropNameInTable="DesignationColumn" msprop:Generator_ColumnPropNameInRow="Designation" msprop:Generator_UserColumnName="Designation" msprop:Generator_ColumnVarNameInTable="columnDesignation" type="xs:string" minOccurs="0" />
<xs:element name="EmpNo" msprop:Generator_UserColumnName="EmpNo" msprop:Generator_ColumnPropNameInTable="EmpNoColumn" msprop:Generator_ColumnPropNameInRow="EmpNo" msprop:Generator_ColumnVarNameInTable="columnEmpNo" type="xs:string" minOccurs="0" /> <xs:element name="EmpNo" msprop:Generator_ColumnPropNameInTable="EmpNoColumn" msprop:Generator_ColumnPropNameInRow="EmpNo" msprop:Generator_UserColumnName="EmpNo" msprop:Generator_ColumnVarNameInTable="columnEmpNo" type="xs:string" minOccurs="0" />
<xs:element name="AmountDescription" msprop:Generator_UserColumnName="AmountDescription" msprop:Generator_ColumnPropNameInTable="AmountDescriptionColumn" msprop:Generator_ColumnPropNameInRow="AmountDescription" msprop:Generator_ColumnVarNameInTable="columnAmountDescription" type="xs:string" minOccurs="0" /> <xs:element name="AmountDescription" msprop:Generator_ColumnPropNameInTable="AmountDescriptionColumn" msprop:Generator_ColumnPropNameInRow="AmountDescription" msprop:Generator_UserColumnName="AmountDescription" msprop:Generator_ColumnVarNameInTable="columnAmountDescription" type="xs:string" minOccurs="0" />
<xs:element name="Amount" msprop:Generator_UserColumnName="Amount" msprop:Generator_ColumnPropNameInTable="AmountColumn" msprop:Generator_ColumnPropNameInRow="Amount" msprop:Generator_ColumnVarNameInTable="columnAmount" type="xs:double" minOccurs="0" /> <xs:element name="Amount" msprop:Generator_ColumnPropNameInTable="AmountColumn" msprop:Generator_ColumnPropNameInRow="Amount" msprop:Generator_UserColumnName="Amount" msprop:Generator_ColumnVarNameInTable="columnAmount" type="xs:double" minOccurs="0" />
<xs:element name="Grade" msprop:Generator_UserColumnName="Grade" msprop:Generator_ColumnPropNameInTable="GradeColumn" msprop:Generator_ColumnPropNameInRow="Grade" msprop:Generator_ColumnVarNameInTable="columnGrade" type="xs:string" minOccurs="0" /> <xs:element name="Grade" msprop:Generator_ColumnPropNameInTable="GradeColumn" msprop:Generator_ColumnPropNameInRow="Grade" msprop:Generator_UserColumnName="Grade" msprop:Generator_ColumnVarNameInTable="columnGrade" type="xs:string" minOccurs="0" />
<xs:element name="Department" msprop:Generator_UserColumnName="Department" msprop:Generator_ColumnPropNameInTable="DepartmentColumn" msprop:Generator_ColumnPropNameInRow="Department" msprop:Generator_ColumnVarNameInTable="columnDepartment" type="xs:string" minOccurs="0" /> <xs:element name="Department" msprop:Generator_ColumnPropNameInTable="DepartmentColumn" msprop:Generator_ColumnPropNameInRow="Department" msprop:Generator_UserColumnName="Department" msprop:Generator_ColumnVarNameInTable="columnDepartment" type="xs:string" minOccurs="0" />
<xs:element name="CC" msprop:Generator_UserColumnName="CC" msprop:Generator_ColumnPropNameInTable="CCColumn" msprop:Generator_ColumnPropNameInRow="CC" msprop:Generator_ColumnVarNameInTable="columnCC" type="xs:string" minOccurs="0" /> <xs:element name="CC" msprop:Generator_ColumnPropNameInTable="CCColumn" msprop:Generator_ColumnPropNameInRow="CC" msprop:Generator_UserColumnName="CC" msprop:Generator_ColumnVarNameInTable="columnCC" type="xs:string" minOccurs="0" />
<xs:element name="DOJ" msprop:Generator_UserColumnName="DOJ" msprop:Generator_ColumnPropNameInTable="DOJColumn" msprop:Generator_ColumnPropNameInRow="DOJ" msprop:Generator_ColumnVarNameInTable="columnDOJ" type="xs:string" minOccurs="0" /> <xs:element name="DOJ" msprop:Generator_ColumnPropNameInTable="DOJColumn" msprop:Generator_ColumnPropNameInRow="DOJ" msprop:Generator_UserColumnName="DOJ" msprop:Generator_ColumnVarNameInTable="columnDOJ" type="xs:string" minOccurs="0" />
<xs:element name="DOB" msprop:Generator_UserColumnName="DOB" msprop:Generator_ColumnPropNameInTable="DOBColumn" msprop:Generator_ColumnPropNameInRow="DOB" msprop:Generator_ColumnVarNameInTable="columnDOB" type="xs:string" minOccurs="0" /> <xs:element name="DOB" msprop:Generator_ColumnPropNameInTable="DOBColumn" msprop:Generator_ColumnPropNameInRow="DOB" msprop:Generator_UserColumnName="DOB" msprop:Generator_ColumnVarNameInTable="columnDOB" type="xs:string" minOccurs="0" />
<xs:element name="GroupID" msprop:Generator_UserColumnName="GroupID" msprop:Generator_ColumnPropNameInTable="GroupIDColumn" msprop:Generator_ColumnPropNameInRow="GroupID" msprop:Generator_ColumnVarNameInTable="columnGroupID" type="xs:int" minOccurs="0" /> <xs:element name="GroupID" msprop:Generator_ColumnPropNameInTable="GroupIDColumn" msprop:Generator_ColumnPropNameInRow="GroupID" msprop:Generator_UserColumnName="GroupID" msprop:Generator_ColumnVarNameInTable="columnGroupID" type="xs:int" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="BankAdviceWithRoutingNo" msprop:Generator_RowEvHandlerName="BankAdviceWithRoutingNoRowChangeEventHandler" msprop:Generator_RowDeletedName="BankAdviceWithRoutingNoRowDeleted" msprop:Generator_RowDeletingName="BankAdviceWithRoutingNoRowDeleting" msprop:Generator_RowEvArgName="BankAdviceWithRoutingNoRowChangeEvent" msprop:Generator_TablePropName="BankAdviceWithRoutingNo" msprop:Generator_RowChangedName="BankAdviceWithRoutingNoRowChanged" msprop:Generator_RowChangingName="BankAdviceWithRoutingNoRowChanging" msprop:Generator_TableClassName="BankAdviceWithRoutingNoDataTable" msprop:Generator_RowClassName="BankAdviceWithRoutingNoRow" msprop:Generator_TableVarName="tableBankAdviceWithRoutingNo" msprop:Generator_UserTableName="BankAdviceWithRoutingNo"> <xs:element name="BankAdviceWithRoutingNo" msprop:Generator_RowClassName="BankAdviceWithRoutingNoRow" msprop:Generator_RowEvHandlerName="BankAdviceWithRoutingNoRowChangeEventHandler" msprop:Generator_RowDeletedName="BankAdviceWithRoutingNoRowDeleted" msprop:Generator_RowDeletingName="BankAdviceWithRoutingNoRowDeleting" msprop:Generator_RowEvArgName="BankAdviceWithRoutingNoRowChangeEvent" msprop:Generator_TablePropName="BankAdviceWithRoutingNo" msprop:Generator_RowChangedName="BankAdviceWithRoutingNoRowChanged" msprop:Generator_UserTableName="BankAdviceWithRoutingNo" msprop:Generator_RowChangingName="BankAdviceWithRoutingNoRowChanging" msprop:Generator_TableClassName="BankAdviceWithRoutingNoDataTable" msprop:Generator_TableVarName="tableBankAdviceWithRoutingNo">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="EmpNo" msprop:Generator_ColumnPropNameInRow="EmpNo" msprop:Generator_ColumnPropNameInTable="EmpNoColumn" msprop:Generator_ColumnVarNameInTable="columnEmpNo" msprop:Generator_UserColumnName="EmpNo" type="xs:string" minOccurs="0" /> <xs:element name="EmpNo" msprop:Generator_UserColumnName="EmpNo" msprop:Generator_ColumnPropNameInTable="EmpNoColumn" msprop:Generator_ColumnPropNameInRow="EmpNo" msprop:Generator_ColumnVarNameInTable="columnEmpNo" type="xs:string" minOccurs="0" />
<xs:element name="EmpName" msprop:Generator_ColumnPropNameInRow="EmpName" msprop:Generator_ColumnPropNameInTable="EmpNameColumn" msprop:Generator_ColumnVarNameInTable="columnEmpName" msprop:Generator_UserColumnName="EmpName" type="xs:string" minOccurs="0" /> <xs:element name="EmpName" msprop:Generator_UserColumnName="EmpName" msprop:Generator_ColumnPropNameInTable="EmpNameColumn" msprop:Generator_ColumnPropNameInRow="EmpName" msprop:Generator_ColumnVarNameInTable="columnEmpName" type="xs:string" minOccurs="0" />
<xs:element name="AccountNo" msprop:Generator_ColumnPropNameInRow="AccountNo" msprop:Generator_ColumnPropNameInTable="AccountNoColumn" msprop:Generator_ColumnVarNameInTable="columnAccountNo" msprop:Generator_UserColumnName="AccountNo" type="xs:string" minOccurs="0" /> <xs:element name="AccountNo" msprop:Generator_UserColumnName="AccountNo" msprop:Generator_ColumnPropNameInTable="AccountNoColumn" msprop:Generator_ColumnPropNameInRow="AccountNo" msprop:Generator_ColumnVarNameInTable="columnAccountNo" type="xs:string" minOccurs="0" />
<xs:element name="Amount" msprop:Generator_ColumnPropNameInRow="Amount" msprop:Generator_ColumnPropNameInTable="AmountColumn" msprop:Generator_ColumnVarNameInTable="columnAmount" msprop:Generator_UserColumnName="Amount" type="xs:double" minOccurs="0" /> <xs:element name="Amount" msprop:Generator_UserColumnName="Amount" msprop:Generator_ColumnPropNameInTable="AmountColumn" msprop:Generator_ColumnPropNameInRow="Amount" msprop:Generator_ColumnVarNameInTable="columnAmount" type="xs:double" minOccurs="0" />
<xs:element name="SalaryMonth" msprop:Generator_ColumnPropNameInRow="SalaryMonth" msprop:Generator_ColumnPropNameInTable="SalaryMonthColumn" msprop:Generator_ColumnVarNameInTable="columnSalaryMonth" msprop:Generator_UserColumnName="SalaryMonth" type="xs:dateTime" minOccurs="0" /> <xs:element name="SalaryMonth" msprop:Generator_UserColumnName="SalaryMonth" msprop:Generator_ColumnPropNameInTable="SalaryMonthColumn" msprop:Generator_ColumnPropNameInRow="SalaryMonth" msprop:Generator_ColumnVarNameInTable="columnSalaryMonth" type="xs:dateTime" minOccurs="0" />
<xs:element name="Email" msprop:Generator_ColumnPropNameInRow="Email" msprop:Generator_ColumnPropNameInTable="EmailColumn" msprop:Generator_ColumnVarNameInTable="columnEmail" msprop:Generator_UserColumnName="Email" type="xs:string" minOccurs="0" /> <xs:element name="Email" msprop:Generator_UserColumnName="Email" msprop:Generator_ColumnPropNameInTable="EmailColumn" msprop:Generator_ColumnPropNameInRow="Email" msprop:Generator_ColumnVarNameInTable="columnEmail" type="xs:string" minOccurs="0" />
<xs:element name="SLNo" msprop:Generator_ColumnPropNameInRow="SLNo" msprop:Generator_ColumnPropNameInTable="SLNoColumn" msprop:Generator_ColumnVarNameInTable="columnSLNo" msprop:Generator_UserColumnName="SLNo" type="xs:string" minOccurs="0" /> <xs:element name="SLNo" msprop:Generator_UserColumnName="SLNo" msprop:Generator_ColumnPropNameInTable="SLNoColumn" msprop:Generator_ColumnPropNameInRow="SLNo" msprop:Generator_ColumnVarNameInTable="columnSLNo" type="xs:string" minOccurs="0" />
<xs:element name="Maintenance" msprop:Generator_ColumnPropNameInRow="Maintenance" msprop:Generator_ColumnPropNameInTable="MaintenanceColumn" msprop:Generator_ColumnVarNameInTable="columnMaintenance" msprop:Generator_UserColumnName="Maintenance" type="xs:string" minOccurs="0" /> <xs:element name="Maintenance" msprop:Generator_UserColumnName="Maintenance" msprop:Generator_ColumnPropNameInTable="MaintenanceColumn" msprop:Generator_ColumnPropNameInRow="Maintenance" msprop:Generator_ColumnVarNameInTable="columnMaintenance" type="xs:string" minOccurs="0" />
<xs:element name="Currency" msprop:Generator_ColumnPropNameInRow="Currency" msprop:Generator_ColumnPropNameInTable="CurrencyColumn" msprop:Generator_ColumnVarNameInTable="columnCurrency" msprop:Generator_UserColumnName="Currency" type="xs:string" minOccurs="0" /> <xs:element name="Currency" msprop:Generator_UserColumnName="Currency" msprop:Generator_ColumnPropNameInTable="CurrencyColumn" msprop:Generator_ColumnPropNameInRow="Currency" msprop:Generator_ColumnVarNameInTable="columnCurrency" type="xs:string" minOccurs="0" />
<xs:element name="Method" msprop:Generator_ColumnPropNameInRow="Method" msprop:Generator_ColumnPropNameInTable="MethodColumn" msprop:Generator_ColumnVarNameInTable="columnMethod" msprop:Generator_UserColumnName="Method" type="xs:string" minOccurs="0" /> <xs:element name="Method" msprop:Generator_UserColumnName="Method" msprop:Generator_ColumnPropNameInTable="MethodColumn" msprop:Generator_ColumnPropNameInRow="Method" msprop:Generator_ColumnVarNameInTable="columnMethod" type="xs:string" minOccurs="0" />
<xs:element name="Cheque" msprop:Generator_ColumnPropNameInRow="Cheque" msprop:Generator_ColumnPropNameInTable="ChequeColumn" msprop:Generator_ColumnVarNameInTable="columnCheque" msprop:Generator_UserColumnName="Cheque" type="xs:string" minOccurs="0" /> <xs:element name="Cheque" msprop:Generator_UserColumnName="Cheque" msprop:Generator_ColumnPropNameInTable="ChequeColumn" msprop:Generator_ColumnPropNameInRow="Cheque" msprop:Generator_ColumnVarNameInTable="columnCheque" type="xs:string" minOccurs="0" />
<xs:element name="DeNomination" msprop:Generator_ColumnPropNameInRow="DeNomination" msprop:Generator_ColumnPropNameInTable="DeNominationColumn" msprop:Generator_ColumnVarNameInTable="columnDeNomination" msprop:Generator_UserColumnName="DeNomination" type="xs:string" minOccurs="0" /> <xs:element name="DeNomination" msprop:Generator_UserColumnName="DeNomination" msprop:Generator_ColumnPropNameInTable="DeNominationColumn" msprop:Generator_ColumnPropNameInRow="DeNomination" msprop:Generator_ColumnVarNameInTable="columnDeNomination" type="xs:string" minOccurs="0" />
<xs:element name="Bank" msprop:Generator_ColumnPropNameInRow="Bank" msprop:Generator_ColumnPropNameInTable="BankColumn" msprop:Generator_ColumnVarNameInTable="columnBank" msprop:Generator_UserColumnName="Bank" type="xs:string" minOccurs="0" /> <xs:element name="Bank" msprop:Generator_UserColumnName="Bank" msprop:Generator_ColumnPropNameInTable="BankColumn" msprop:Generator_ColumnPropNameInRow="Bank" msprop:Generator_ColumnVarNameInTable="columnBank" type="xs:string" minOccurs="0" />
<xs:element name="Branch" msprop:Generator_ColumnPropNameInRow="Branch" msprop:Generator_ColumnPropNameInTable="BranchColumn" msprop:Generator_ColumnVarNameInTable="columnBranch" msprop:Generator_UserColumnName="Branch" type="xs:string" minOccurs="0" /> <xs:element name="Branch" msprop:Generator_UserColumnName="Branch" msprop:Generator_ColumnPropNameInTable="BranchColumn" msprop:Generator_ColumnPropNameInRow="Branch" msprop:Generator_ColumnVarNameInTable="columnBranch" type="xs:string" minOccurs="0" />
<xs:element name="Remarks" msprop:Generator_ColumnPropNameInRow="Remarks" msprop:Generator_ColumnPropNameInTable="RemarksColumn" msprop:Generator_ColumnVarNameInTable="columnRemarks" msprop:Generator_UserColumnName="Remarks" type="xs:string" minOccurs="0" /> <xs:element name="Remarks" msprop:Generator_UserColumnName="Remarks" msprop:Generator_ColumnPropNameInTable="RemarksColumn" msprop:Generator_ColumnPropNameInRow="Remarks" msprop:Generator_ColumnVarNameInTable="columnRemarks" type="xs:string" minOccurs="0" />
<xs:element name="SenderAccNo" msprop:Generator_ColumnPropNameInRow="SenderAccNo" msprop:Generator_ColumnPropNameInTable="SenderAccNoColumn" msprop:Generator_ColumnVarNameInTable="columnSenderAccNo" msprop:Generator_UserColumnName="SenderAccNo" type="xs:string" minOccurs="0" /> <xs:element name="SenderAccNo" msprop:Generator_UserColumnName="SenderAccNo" msprop:Generator_ColumnPropNameInTable="SenderAccNoColumn" msprop:Generator_ColumnPropNameInRow="SenderAccNo" msprop:Generator_ColumnVarNameInTable="columnSenderAccNo" type="xs:string" minOccurs="0" />
<xs:element name="BankRoutingNo" msdata:Caption="BankRouting" msprop:Generator_ColumnPropNameInRow="BankRoutingNo" msprop:Generator_ColumnPropNameInTable="BankRoutingNoColumn" msprop:Generator_ColumnVarNameInTable="columnBankRoutingNo" msprop:Generator_UserColumnName="BankRoutingNo" type="xs:string" minOccurs="0" /> <xs:element name="BankRoutingNo" msdata:Caption="BankRouting" msprop:Generator_UserColumnName="BankRoutingNo" msprop:Generator_ColumnPropNameInTable="BankRoutingNoColumn" msprop:Generator_ColumnPropNameInRow="BankRoutingNo" msprop:Generator_ColumnVarNameInTable="columnBankRoutingNo" type="xs:string" minOccurs="0" />
<xs:element name="AccType" msprop:Generator_ColumnPropNameInRow="AccType" msprop:Generator_ColumnPropNameInTable="AccTypeColumn" msprop:Generator_ColumnVarNameInTable="columnAccType" msprop:Generator_UserColumnName="AccType" type="xs:string" minOccurs="0" /> <xs:element name="AccType" msprop:Generator_UserColumnName="AccType" msprop:Generator_ColumnPropNameInTable="AccTypeColumn" msprop:Generator_ColumnPropNameInRow="AccType" msprop:Generator_ColumnVarNameInTable="columnAccType" type="xs:string" minOccurs="0" />
<xs:element name="CostCenter" msprop:Generator_ColumnPropNameInRow="CostCenter" msprop:Generator_ColumnPropNameInTable="CostCenterColumn" msprop:Generator_ColumnVarNameInTable="columnCostCenter" msprop:Generator_UserColumnName="CostCenter" type="xs:string" minOccurs="0" /> <xs:element name="CostCenter" msprop:Generator_UserColumnName="CostCenter" msprop:Generator_ColumnPropNameInTable="CostCenterColumn" msprop:Generator_ColumnPropNameInRow="CostCenter" msprop:Generator_ColumnVarNameInTable="columnCostCenter" type="xs:string" minOccurs="0" />
<xs:element name="ProcessDate" msprop:Generator_ColumnPropNameInRow="ProcessDate" msprop:Generator_ColumnPropNameInTable="ProcessDateColumn" msprop:Generator_ColumnVarNameInTable="columnProcessDate" msprop:Generator_UserColumnName="ProcessDate" type="xs:string" minOccurs="0" /> <xs:element name="ProcessDate" msprop:Generator_UserColumnName="ProcessDate" msprop:Generator_ColumnPropNameInTable="ProcessDateColumn" msprop:Generator_ColumnPropNameInRow="ProcessDate" msprop:Generator_ColumnVarNameInTable="columnProcessDate" type="xs:string" minOccurs="0" />
<xs:element name="PaymentDate" msprop:Generator_ColumnPropNameInRow="PaymentDate" msprop:Generator_ColumnPropNameInTable="PaymentDateColumn" msprop:Generator_ColumnVarNameInTable="columnPaymentDate" msprop:Generator_UserColumnName="PaymentDate" type="xs:string" minOccurs="0" /> <xs:element name="PaymentDate" msprop:Generator_UserColumnName="PaymentDate" msprop:Generator_ColumnPropNameInTable="PaymentDateColumn" msprop:Generator_ColumnPropNameInRow="PaymentDate" msprop:Generator_ColumnVarNameInTable="columnPaymentDate" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PastOwnerAndJobInfo" msprop:Generator_RowEvHandlerName="PastOwnerAndJobInfoRowChangeEventHandler" msprop:Generator_RowDeletedName="PastOwnerAndJobInfoRowDeleted" msprop:Generator_RowDeletingName="PastOwnerAndJobInfoRowDeleting" msprop:Generator_RowEvArgName="PastOwnerAndJobInfoRowChangeEvent" msprop:Generator_TablePropName="PastOwnerAndJobInfo" msprop:Generator_RowChangedName="PastOwnerAndJobInfoRowChanged" msprop:Generator_RowChangingName="PastOwnerAndJobInfoRowChanging" msprop:Generator_TableClassName="PastOwnerAndJobInfoDataTable" msprop:Generator_RowClassName="PastOwnerAndJobInfoRow" msprop:Generator_TableVarName="tablePastOwnerAndJobInfo" msprop:Generator_UserTableName="PastOwnerAndJobInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="InstituteNameAddress" msprop:Generator_ColumnPropNameInRow="InstituteNameAddress" msprop:Generator_ColumnPropNameInTable="InstituteNameAddressColumn" msprop:Generator_ColumnVarNameInTable="columnInstituteNameAddress" msprop:Generator_UserColumnName="InstituteNameAddress" type="xs:string" minOccurs="0" />
<xs:element name="OwnerManagementName" msprop:Generator_ColumnPropNameInRow="OwnerManagementName" msprop:Generator_ColumnPropNameInTable="OwnerManagementNameColumn" msprop:Generator_ColumnVarNameInTable="columnOwnerManagementName" msprop:Generator_UserColumnName="OwnerManagementName" type="xs:string" minOccurs="0" />
<xs:element name="JoinDate" msprop:Generator_ColumnPropNameInRow="JoinDate" msprop:Generator_ColumnPropNameInTable="JoinDateColumn" msprop:Generator_ColumnVarNameInTable="columnJoinDate" msprop:Generator_UserColumnName="JoinDate" type="xs:string" minOccurs="0" />
<xs:element name="ResignationDate" msprop:Generator_ColumnPropNameInRow="ResignationDate" msprop:Generator_ColumnPropNameInTable="ResignationDateColumn" msprop:Generator_ColumnVarNameInTable="columnResignationDate" msprop:Generator_UserColumnName="ResignationDate" type="xs:string" minOccurs="0" />
<xs:element name="CauseOfResignation" msprop:Generator_ColumnPropNameInRow="CauseOfResignation" msprop:Generator_ColumnPropNameInTable="CauseOfResignationColumn" msprop:Generator_ColumnVarNameInTable="columnCauseOfResignation" msprop:Generator_UserColumnName="CauseOfResignation" type="xs:string" minOccurs="0" />
<xs:element name="Signature" msprop:Generator_ColumnPropNameInRow="Signature" msprop:Generator_ColumnPropNameInTable="SignatureColumn" msprop:Generator_ColumnVarNameInTable="columnSignature" msprop:Generator_UserColumnName="Signature" type="xs:string" minOccurs="0" />
<xs:element name="PastOwnerSignature" msprop:Generator_ColumnPropNameInRow="PastOwnerSignature" msprop:Generator_ColumnPropNameInTable="PastOwnerSignatureColumn" msprop:Generator_ColumnVarNameInTable="columnPastOwnerSignature" msprop:Generator_UserColumnName="PastOwnerSignature" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LeaveRecord" msprop:Generator_RowEvHandlerName="LeaveRecordRowChangeEventHandler" msprop:Generator_RowDeletedName="LeaveRecordRowDeleted" msprop:Generator_RowDeletingName="LeaveRecordRowDeleting" msprop:Generator_RowEvArgName="LeaveRecordRowChangeEvent" msprop:Generator_TablePropName="LeaveRecord" msprop:Generator_RowChangedName="LeaveRecordRowChanged" msprop:Generator_RowChangingName="LeaveRecordRowChanging" msprop:Generator_TableClassName="LeaveRecordDataTable" msprop:Generator_RowClassName="LeaveRecordRow" msprop:Generator_TableVarName="tableLeaveRecord" msprop:Generator_UserTableName="LeaveRecord">
<xs:complexType>
<xs:sequence>
<xs:element name="FromDate" msprop:Generator_ColumnPropNameInRow="FromDate" msprop:Generator_ColumnPropNameInTable="FromDateColumn" msprop:Generator_ColumnVarNameInTable="columnFromDate" msprop:Generator_UserColumnName="FromDate" type="xs:string" minOccurs="0" />
<xs:element name="EndDate" msprop:Generator_ColumnPropNameInRow="EndDate" msprop:Generator_ColumnPropNameInTable="EndDateColumn" msprop:Generator_ColumnVarNameInTable="columnEndDate" msprop:Generator_UserColumnName="EndDate" type="xs:string" minOccurs="0" />
<xs:element name="OwnerSignature" msprop:Generator_ColumnPropNameInRow="OwnerSignature" msprop:Generator_ColumnPropNameInTable="OwnerSignatureColumn" msprop:Generator_ColumnVarNameInTable="columnOwnerSignature" msprop:Generator_UserColumnName="OwnerSignature" type="xs:string" minOccurs="0" />
<xs:element name="EmpSiganture" msprop:Generator_ColumnPropNameInRow="EmpSiganture" msprop:Generator_ColumnPropNameInTable="EmpSigantureColumn" msprop:Generator_ColumnVarNameInTable="columnEmpSiganture" msprop:Generator_UserColumnName="EmpSiganture" type="xs:string" minOccurs="0" />
<xs:element name="Total" msprop:Generator_ColumnPropNameInRow="Total" msprop:Generator_ColumnPropNameInTable="TotalColumn" msprop:Generator_ColumnVarNameInTable="columnTotal" msprop:Generator_UserColumnName="Total" type="xs:string" minOccurs="0" />
<xs:element name="Date" msprop:Generator_ColumnPropNameInRow="Date" msprop:Generator_ColumnPropNameInTable="DateColumn" msprop:Generator_ColumnVarNameInTable="columnDate" msprop:Generator_UserColumnName="Date" type="xs:string" minOccurs="0" />
<xs:element name="RemainingEL" msprop:Generator_ColumnPropNameInRow="RemainingEL" msprop:Generator_ColumnPropNameInTable="RemainingELColumn" msprop:Generator_ColumnVarNameInTable="columnRemainingEL" msprop:Generator_UserColumnName="RemainingEL" type="xs:string" minOccurs="0" />
<xs:element name="TotalAmount" msprop:Generator_ColumnPropNameInRow="TotalAmount" msprop:Generator_ColumnPropNameInTable="TotalAmountColumn" msprop:Generator_ColumnVarNameInTable="columnTotalAmount" msprop:Generator_UserColumnName="TotalAmount" type="xs:string" minOccurs="0" />
<xs:element name="RemainingELCash" msprop:Generator_ColumnPropNameInRow="RemainingELCash" msprop:Generator_ColumnPropNameInTable="RemainingELCashColumn" msprop:Generator_ColumnVarNameInTable="columnRemainingELCash" msprop:Generator_UserColumnName="RemainingELCash" type="xs:string" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -4,59 +4,61 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-14" ViewPortY="55" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-8" ViewPortY="195" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <Shapes>
<Shape ID="DesignTable:ComapnyInformation" ZOrder="14" X="-4" Y="38" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="91" SplitterPosition="24" /> <Shape ID="DesignTable:ComapnyInformation" ZOrder="19" X="-4" Y="38" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="91" SplitterPosition="24" />
<Shape ID="DesignTable:DepartmentWiseManpower" ZOrder="11" X="260" Y="7" Height="28" Width="226" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" SplitterPosition="24" /> <Shape ID="DesignTable:DepartmentWiseManpower" ZOrder="16" X="260" Y="7" Height="28" Width="226" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" SplitterPosition="24" />
<Shape ID="DesignTable:BankAdvice" ZOrder="26" X="583" Y="51" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:BankAdvice" ZOrder="30" X="583" Y="51" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:BankAdviceLetter" ZOrder="22" X="580" Y="14" Height="28" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:BankAdviceLetter" ZOrder="26" X="580" Y="14" Height="28" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:BankAdviceParameters" ZOrder="4" X="582" Y="84" Height="28" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:BankAdviceParameters" ZOrder="9" X="582" Y="84" Height="28" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:DtAgeRange" ZOrder="10" X="261" Y="40" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" /> <Shape ID="DesignTable:DtAgeRange" ZOrder="15" X="261" Y="40" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" />
<Shape ID="DesignTable:dtQualificationWiseManpower" ZOrder="9" X="261" Y="72" Height="28" Width="243" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" /> <Shape ID="DesignTable:dtQualificationWiseManpower" ZOrder="14" X="261" Y="72" Height="28" Width="243" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" />
<Shape ID="DesignTable:EmployeeMasterData" ZOrder="30" X="906" Y="1" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:EmployeeMasterData" ZOrder="33" X="906" Y="1" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:DTProvidentFund" ZOrder="8" X="261" Y="104" Height="28" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" /> <Shape ID="DesignTable:DTProvidentFund" ZOrder="13" X="261" Y="104" Height="28" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
<Shape ID="DesignTable:SalarySheet" ZOrder="47" X="1255" Y="6" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:SalarySheet" ZOrder="49" X="1255" Y="6" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:SalarySummary" ZOrder="48" X="1255" Y="40" Height="28" Width="156" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" /> <Shape ID="DesignTable:SalarySummary" ZOrder="50" X="1255" Y="40" Height="28" Width="156" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" />
<Shape ID="DesignTable:dtCashAdvice" ZOrder="7" X="263" Y="138" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" /> <Shape ID="DesignTable:dtCashAdvice" ZOrder="12" X="263" Y="138" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
<Shape ID="DesignTable:StuffListWithoutSalary" ZOrder="46" X="1256" Y="75" Height="28" Width="198" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:StuffListWithoutSalary" ZOrder="48" X="1256" Y="75" Height="28" Width="198" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:DTOPI" ZOrder="6" X="262" Y="202" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" /> <Shape ID="DesignTable:DTOPI" ZOrder="11" X="262" Y="202" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
<Shape ID="DesignTable:SalaryComparison" ZOrder="49" X="1257" Y="109" Height="28" Width="171" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:SalaryComparison" ZOrder="51" X="1257" Y="109" Height="28" Width="171" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:ExperienceCertificate" ZOrder="29" X="907" Y="41" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" /> <Shape ID="DesignTable:ExperienceCertificate" ZOrder="32" X="907" Y="41" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
<Shape ID="DesignTable:BonusBankAdvice" ZOrder="24" X="581" Y="117" Height="28" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:BonusBankAdvice" ZOrder="28" X="581" Y="117" Height="28" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:ManagersPTT" ZOrder="13" X="-1" Y="79" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:ManagersPTT" ZOrder="18" X="-1" Y="79" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:DeptWiseCompany" ZOrder="5" X="262" Y="236" Height="28" Width="177" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:DeptWiseCompany" ZOrder="10" X="262" Y="236" Height="28" Width="177" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:SalaryCertificate" ZOrder="45" X="1258" Y="141" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" /> <Shape ID="DesignTable:SalaryCertificate" ZOrder="47" X="1258" Y="141" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
<Shape ID="DesignTable:LetterOfAccountIntro" ZOrder="44" X="1258" Y="173" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:LetterOfAccountIntro" ZOrder="46" X="1258" Y="173" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:DTFSS" ZOrder="16" X="263" Y="269" Height="28" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:DTFSS" ZOrder="21" X="263" Y="269" Height="28" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:DTFSSItems" ZOrder="51" X="265" Y="301" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:DTFSSItems" ZOrder="53" X="265" Y="301" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:PFException" ZOrder="23" X="907" Y="88" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:PFException" ZOrder="27" X="907" Y="88" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:NewPF" ZOrder="31" X="909" Y="141" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:NewPF" ZOrder="34" X="909" Y="141" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:MonthlySalaryRevision" ZOrder="12" X="-4" Y="123" Height="28" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:MonthlySalaryRevision" ZOrder="17" X="-4" Y="123" Height="28" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:EmployeePersonalInfo" ZOrder="28" X="570" Y="166" Height="28" Width="200" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:EmployeePersonalInfo" ZOrder="4" X="570" Y="166" Height="257" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" />
<Shape ID="DesignTable:EmployeeQualification" ZOrder="32" X="-2" Y="167" Height="28" Width="197" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:EmployeeQualification" ZOrder="3" X="-2" Y="167" Height="219" Width="197" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="215" />
<Shape ID="DesignTable:EmpGrandFatherInfo" ZOrder="2" X="567" Y="258" Height="28" Width="187" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:EmpGrandFatherInfo" ZOrder="7" X="567" Y="258" Height="28" Width="187" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:AllTaxInfo" ZOrder="50" X="582" Y="431" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" /> <Shape ID="DesignTable:AllTaxInfo" ZOrder="52" X="582" Y="431" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
<Shape ID="DesignTable:CostCenterInfo" ZOrder="15" X="-1" Y="0" Height="28" Width="153" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" /> <Shape ID="DesignTable:CostCenterInfo" ZOrder="20" X="-1" Y="0" Height="28" Width="153" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
<Shape ID="DesignTable:MoneyReceipt" ZOrder="3" X="572" Y="213" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:MoneyReceipt" ZOrder="8" X="572" Y="213" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:BankAdviceNmgt" ZOrder="43" X="1259" Y="216" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:BankAdviceNmgt" ZOrder="45" X="1259" Y="216" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:dtGeneral" ZOrder="38" X="1262" Y="250" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" /> <Shape ID="DesignTable:dtGeneral" ZOrder="40" X="1262" Y="250" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" />
<Shape ID="DesignTable:dtContacts" ZOrder="42" X="1242" Y="281" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:dtContacts" ZOrder="44" X="1242" Y="281" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:dtSpouse" ZOrder="39" X="1266" Y="311" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="120" SplitterPosition="24" /> <Shape ID="DesignTable:dtSpouse" ZOrder="41" X="1266" Y="311" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="120" SplitterPosition="24" />
<Shape ID="DesignTable:dtChildren" ZOrder="41" X="1267" Y="345" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" /> <Shape ID="DesignTable:dtChildren" ZOrder="43" X="1267" Y="345" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpExperience" ZOrder="40" X="1259" Y="378" Height="28" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpExperience" ZOrder="42" X="1259" Y="378" Height="28" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpTraining" ZOrder="37" X="1270" Y="411" Height="28" Width="152" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpTraining" ZOrder="39" X="1270" Y="411" Height="28" Width="152" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpAcademic" ZOrder="36" X="1268" Y="445" Height="28" Width="160" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpAcademic" ZOrder="38" X="1268" Y="445" Height="28" Width="160" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpReference" ZOrder="35" X="1265" Y="480" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpReference" ZOrder="37" X="1265" Y="480" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpPublication" ZOrder="33" X="1262" Y="517" Height="28" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpPublication" ZOrder="35" X="1262" Y="517" Height="28" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:dtNominee" ZOrder="34" X="1280" Y="547" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" /> <Shape ID="DesignTable:dtNominee" ZOrder="36" X="1280" Y="547" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
<Shape ID="DesignTable:EducationalInfo" ZOrder="27" X="907" Y="227" Height="28" Width="157" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:EducationalInfo" ZOrder="31" X="907" Y="227" Height="28" Width="157" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:EmployeeAppointmentInfo" ZOrder="25" X="237" Y="397" Height="28" Width="224" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:EmployeeAppointmentInfo" ZOrder="29" X="237" Y="397" Height="28" Width="224" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:DtCostCenterTotal" ZOrder="21" X="899" Y="183" Height="28" Width="173" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" SplitterPosition="24" /> <Shape ID="DesignTable:DtCostCenterTotal" ZOrder="25" X="899" Y="183" Height="28" Width="173" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" SplitterPosition="24" />
<Shape ID="DesignTable:DTMonthlyPF" ZOrder="20" X="262" Y="340" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:DTMonthlyPF" ZOrder="24" X="262" Y="340" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:CCWiseBonusSummary" ZOrder="19" X="579" Y="333" Height="28" Width="200" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" SplitterPosition="24" /> <Shape ID="DesignTable:CCWiseBonusSummary" ZOrder="23" X="579" Y="333" Height="28" Width="200" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" SplitterPosition="24" />
<Shape ID="DesignTable:CCWiseBonus" ZOrder="18" X="590" Y="385" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:CCWiseBonus" ZOrder="5" X="590" Y="385" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:dtPerquisite" ZOrder="17" X="1084" Y="257" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" /> <Shape ID="DesignTable:dtPerquisite" ZOrder="22" X="1084" Y="257" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
<Shape ID="DesignTable:BankAdviceWithRoutingNo" ZOrder="1" X="577" Y="492" Height="257" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" /> <Shape ID="DesignTable:BankAdviceWithRoutingNo" ZOrder="6" X="577" Y="492" Height="257" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" />
<Shape ID="DesignTable:PastOwnerAndJobInfo" ZOrder="2" X="862" Y="331" Height="28" Width="197" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:LeaveRecord" ZOrder="1" X="1072" Y="334" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
</Shapes> </Shapes>
<Connectors /> <Connectors />
</DiagramLayout> </DiagramLayout>

File diff suppressed because it is too large Load Diff

View File

@ -3911,21 +3911,25 @@
</ReportParameter> </ReportParameter>
<ReportParameter Name="CompanyInfo"> <ReportParameter Name="CompanyInfo">
<DataType>String</DataType> <DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank> <AllowBlank>true</AllowBlank>
<Prompt>Report_Parameter_1</Prompt> <Prompt>Report_Parameter_1</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="Logo"> <ReportParameter Name="Logo">
<DataType>String</DataType> <DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank> <AllowBlank>true</AllowBlank>
<Prompt>Report_Parameter_2</Prompt> <Prompt>Report_Parameter_2</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="Address"> <ReportParameter Name="Address">
<DataType>String</DataType> <DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank> <AllowBlank>true</AllowBlank>
<Prompt>Report_Parameter_3</Prompt> <Prompt>Report_Parameter_3</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="Phone"> <ReportParameter Name="Phone">
<DataType>String</DataType> <DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank> <AllowBlank>true</AllowBlank>
<Prompt>Report_Parameter_4</Prompt> <Prompt>Report_Parameter_4</Prompt>
</ReportParameter> </ReportParameter>

View File

@ -162,7 +162,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>="Department: " &amp;Fields!Department.Value</Value> <Value>="Design No: " &amp;Fields!DesignNo.Value</Value>
<Style /> <Style />
</TextRun> </TextRun>
</TextRuns> </TextRuns>
@ -1656,7 +1656,7 @@
<TablixMember> <TablixMember>
<Group Name="table1_Group1"> <Group Name="table1_Group1">
<GroupExpressions> <GroupExpressions>
<GroupExpression>=Fields!DepartmentID.Value</GroupExpression> <GroupExpression>=Fields!DesignNo.Value</GroupExpression>
</GroupExpressions> </GroupExpressions>
</Group> </Group>
<TablixMembers> <TablixMembers>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -838,7 +838,7 @@ namespace HRM.Report
reportParameters.Add(rParam); reportParameters.Add(rParam);
// rParam = new ReportParameter("CompanyInfo", oPT.Description.ToString()); // rParam = new ReportParameter("CompanyInfo", oPT.Description.ToString());
rParam = new ReportParameter("CompanyInfo", payrollType != null ? payrollType.CompanyName : string.Empty); rParam = new ReportParameter("CompanyInfo", payrollType != null ? (payrollType.CompanyName != null && payrollType.CompanyName.Trim() != "" ? payrollType.CompanyName : systemInformation?.name) : string.Empty);
reportParameters.Add(rParam); reportParameters.Add(rParam);
rParam = new ReportParameter("SearchCriteria", ""); rParam = new ReportParameter("SearchCriteria", "");

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -138,7 +138,7 @@ export class Employee {
this.taxCircle = EnumTaxCircle.CityCorporation; this.taxCircle = EnumTaxCircle.CityCorporation;
this.isConfirmed = false; this.isConfirmed = false;
this.endOfContractDate = null; this.endOfContractDate = null;
this.status = EnumEmployeeStatus.Live; this.status = EnumEmployeeStatus.Waitingforjoin;
this.statusName = ''; this.statusName = '';
this.isShownInTaxSheet = false; this.isShownInTaxSheet = false;
this.pfMemberType = EnumPFMembershipType.NotYetLive; this.pfMemberType = EnumPFMembershipType.NotYetLive;
@ -219,6 +219,9 @@ export class Employee {
case EnumEmployeeStatus.Discontinued: case EnumEmployeeStatus.Discontinued:
str = "Discontinued"; str = "Discontinued";
break; break;
case EnumEmployeeStatus.Waitingforjoin:
str = "Waiting For Join";
break;
default: default:
} }

View File

@ -19,6 +19,7 @@ export class EmpNominee extends BaseObject {
occupation: Occupation; occupation: Occupation;
address: string; address: string;
telePhone: string; telePhone: string;
nomineeMobileNo: string;
photograph: empFileuploads; photograph: empFileuploads;
signature: empFileuploads; signature: empFileuploads;
emailAddress: string; emailAddress: string;
@ -40,6 +41,7 @@ export class EmpNominee extends BaseObject {
this.photograph = new empFileuploads(); this.photograph = new empFileuploads();
this.signature = new empFileuploads(); this.signature = new empFileuploads();
this.emailAddress = ''; this.emailAddress = '';
this.nomineeMobileNo = '';
this.hasSignature = false; this.hasSignature = false;
this.hasPicture = false; this.hasPicture = false;
} }

View File

@ -99,6 +99,13 @@ export class EmployeeServices {
return this.apiService.httpGet<SearchEmployee[]>('/Employee/getEmpCodeName' + '/' + ncode + '/' + nname); return this.apiService.httpGet<SearchEmployee[]>('/Employee/getEmpCodeName' + '/' + ncode + '/' + nname);
} }
getEmpCodeNameForEmployeePickerInput(code?: string, name?: string) {
let nname = this.apiService.getApiDefaultData(name);
let ncode = this.apiService.getApiDefaultData(code);
return this.apiService.httpGet<SearchEmployee[]>('/Employee/getEmpCodeNameForEmployeePickerInput' + '/' + ncode + '/' + nname);
}
getEmployees() { getEmployees() {
return this.apiService.httpGet(this.apiService.base_url + 'getemployees'); return this.apiService.httpGet(this.apiService.base_url + 'getemployees');
} }
@ -360,6 +367,12 @@ export class EmployeeServices {
return this.apiService.httpGet<any>('/Employee/GetuploadEmpFile' + '/' + empid + '/' + referenceid + '/' + filetype); return this.apiService.httpGet<any>('/Employee/GetuploadEmpFile' + '/' + empid + '/' + referenceid + '/' + filetype);
} }
GetEmpImageSignFile(empid: number, referenceid: number, filetype: number):
Observable<HttpEvent<any>> {
return this.apiService.httpGet<any>('/Employee/GetEmpImageSignFile' + '/' + empid + '/' + referenceid + '/' + filetype);
}
GetCompanyImage(): Observable<HttpEvent<any>>{ GetCompanyImage(): Observable<HttpEvent<any>>{
return this.apiService.httpGet<any>('/Employee/GetCompanyImage'); return this.apiService.httpGet<any>('/Employee/GetCompanyImage');
} }

View File

@ -238,5 +238,7 @@ export class SalaryService {
DownloadPayslipForMultiple(param: any): Observable<HttpEvent<any>> { DownloadPayslipForMultiple(param: any): Observable<HttpEvent<any>> {
return this.apiService.httpPost<any>('/salary/DownloadPayslipForMultiple', param); return this.apiService.httpPost<any>('/salary/DownloadPayslipForMultiple', param);
} }
IsSalaryProcessed(salaryMonth: Date) {
return this.apiService.httpGet<boolean>('/salary' + '/IsSalaryprocessedMonthly' + '/' + salaryMonth.toDateString());
}
} }

View File

@ -130,4 +130,7 @@ export class ReportServices {
getAttendanceReport(param: any, reportType: string) { getAttendanceReport(param: any, reportType: string) {
return this.apiService.httpPost<any>('/Report/getAttendanceReport/' + reportType, param); return this.apiService.httpPost<any>('/Report/getAttendanceReport/' + reportType, param);
} }
getProfileReportData(param: any): Observable<HttpEvent<any>> {
return this.apiService.httpPost<any>('/Report/getProfileReportData/', param);
}
} }

View File

@ -13,7 +13,7 @@ export class ApiService {
public isSSO = false; public isSSO = false;
public versionDeployement = false; public versionDeployement = false;
public versionNumber = `V-${GlobalfunctionExtension.generateVersionNumber(new Date(2024, 10, 3))}-`+"01"; public versionNumber = `V-${GlobalfunctionExtension.generateVersionNumber(new Date(2025, 0, 9))}-`+"01";
public static BASE_URL = ''; public static BASE_URL = '';
public base_url = ''; public base_url = '';
// public currentLink = ''; // public currentLink = '';

View File

@ -26,7 +26,7 @@ export class IdCardPrintComponent implements OnInit {
selectedAuthorizePersonid = undefined; selectedAuthorizePersonid = undefined;
selectedReportTypeid = undefined; selectedReportTypeid = undefined;
reportTypes: { id: number, name: string }[] = []; reportTypes: { id: number, name: string }[] = [];
constructor(public notificctionService : HRMNotificationService, constructor(public notificationService : HRMNotificationService,
public reportService: ReportServices, public reportService: ReportServices,
public basicService: BasicService, public basicService: BasicService,
public employeeService: EmployeeServices, public employeeService: EmployeeServices,
@ -59,7 +59,8 @@ export class IdCardPrintComponent implements OnInit {
this.authorizedPersons = resp; this.authorizedPersons = resp;
}, },
(x)=>{ (x)=>{
console.log(x); this.notificationService.showError(x.error);
// console.log(x);
}, },
()=>{ ()=>{
} }
@ -67,15 +68,15 @@ export class IdCardPrintComponent implements OnInit {
} }
preview(reportType: string) { preview(reportType: string) {
if(this.selectedAuthorizePersonid === undefined){ if(this.selectedAuthorizePersonid === undefined){
this.notificctionService.showWarning("Please select Authorized Person first!","Warning"); this.notificationService.showWarning("Please select Authorized Person first!","Warning");
return; return;
} }
if(this.selectedReportTypeid === undefined){ if(this.selectedReportTypeid === undefined){
this.notificctionService.showWarning("Please select Report Type first!","Warning"); this.notificationService.showWarning("Please select Report Type first!","Warning");
return; return;
} }
if(this.isThreeYear!= true && this.isFiveYear!=true){ if(this.isThreeYear!= true && this.isFiveYear!=true){
this.notificctionService.showWarning("Please select Expire Date first!","Warning"); this.notificationService.showWarning("Please select Expire Date first!","Warning");
return; return;
} }
let empIds = SearchEmployee.getEmpIds(this.selectedEmps); let empIds = SearchEmployee.getEmpIds(this.selectedEmps);
@ -102,7 +103,8 @@ export class IdCardPrintComponent implements OnInit {
} }
}, },
(err) => { (err) => {
console.log(err); // console.log(err);
this.notificationService.showError(err.error);
this.loadingPanel.ShowLoadingPanel = false; this.loadingPanel.ShowLoadingPanel = false;
this.closeForm(); this.closeForm();
}, },

View File

@ -26,11 +26,12 @@
<kendo-dropdownlist <kendo-dropdownlist
style="width:100%" style="width:100%"
[data]="users" [data]="users"
[defaultItem]="{ userName: 'Select User', userID: null }" [defaultItem]="{ userName: 'Select User', id: null }"
[textField]="'userName'" [textField]="'userName'"
[valueField]="'userID'" [valueField]="'id'"
[(ngModel)]="selectedUser" [(ngModel)]="selectedUser"
(valueChange)="onUserChange($event)" (valueChange)="onUserChange($event)"
[disabled]="!(_selectedPayroll != null && _selectedRoleType != null) "
> >
</kendo-dropdownlist> </kendo-dropdownlist>
</div> </div>
@ -48,6 +49,7 @@
[valueField]="'id'" [valueField]="'id'"
[valuePrimitive]="true" [valuePrimitive]="true"
(valueChange)="onPayrollChange($event)" (valueChange)="onPayrollChange($event)"
[disabled]="!_selectedRoleType"
> >
</kendo-dropdownlist> </kendo-dropdownlist>
</div> </div>
@ -59,10 +61,11 @@
<kendo-dropdownlist class="form-control form-control-sm input-sm" <kendo-dropdownlist class="form-control form-control-sm input-sm"
style="width:100%" style="width:100%"
[data]="permissionTypes" [data]="permissionTypes"
[defaultItem]="{ name: 'Select Permission Type', id: null }" [defaultItem]="{ name: 'Select Permission Type', value: null }"
[textField]="'name'" [textField]="'name'"
[valueField]="'id'" [valueField]="'value'"
(selectionChange)="EventPermissionType($event)" (selectionChange)="EventPermissionType($event)"
[disabled]="!_selectedPayroll"
> >
</kendo-dropdownlist> </kendo-dropdownlist>
</div> </div>

View File

@ -10,13 +10,13 @@ import { DataTransferService } from '../../data.transfer.service';
import { ApiService } from '../../app.api.service'; import { ApiService } from '../../app.api.service';
import { User } from '../../_models/Authentication/user'; import { User } from '../../_models/Authentication/user';
import { EnumAuthStatus, EnumExtension, TempEnumAuthStatus } from '../../_models/enums'; import { EnumAuthStatus, EnumExtension, TempEnumAuthStatus } from '../../_models/enums';
import {PayrollType} from '../../_models/Authentication/payrollType'; import { PayrollType } from '../../_models/Authentication/payrollType';
import {Employee} from '../../_models/Employee/employee'; import { Employee } from '../../_models/Employee/employee';
import {Grade} from '../../_models/Basic/grade'; import { Grade } from '../../_models/Basic/grade';
import {Department} from '../../_models/Basic/department'; import { Department } from '../../_models/Basic/department';
import {Designation} from '../../_models/HRBasic/designation'; import { Designation } from '../../_models/HRBasic/designation';
import {Location} from '../../_models/Basic/location'; import { Location } from '../../_models/Basic/location';
import {DynamicPicker, EnumDynamicpickerType} from '../../picker/dynamic-picker/Dynamic-Picker'; import { DynamicPicker, EnumDynamicpickerType } from '../../picker/dynamic-picker/Dynamic-Picker';
import { DataPermission } from 'src/app/_models/Basic/DataPermission'; import { DataPermission } from 'src/app/_models/Basic/DataPermission';
@ -52,6 +52,7 @@ export class DataPermssionComponent implements OnInit {
public isLocation: boolean = false; public isLocation: boolean = false;
onUserTypeChange(_selectedRoleType: any): void { onUserTypeChange(_selectedRoleType: any): void {
if (this._selectedRoleType.value != null) {
this.utilityHandlerService.ShowLoadingPanel = true; this.utilityHandlerService.ShowLoadingPanel = true;
this.userService.GetUsers(this._selectedRoleType.value).subscribe( this.userService.GetUsers(this._selectedRoleType.value).subscribe(
(x) => { (x) => {
@ -66,6 +67,11 @@ export class DataPermssionComponent implements OnInit {
this.utilityHandlerService.ShowLoadingPanel = false; this.utilityHandlerService.ShowLoadingPanel = false;
}); });
} }
else {
this.users = [];
this.selectedUser = undefined;
}
}
EventPermissionType(selectedPermissionType: any): void { EventPermissionType(selectedPermissionType: any): void {
this.isDepartment = false; this.isDepartment = false;
@ -80,12 +86,14 @@ export class DataPermssionComponent implements OnInit {
} }
onUserChange(selectedUserID: any): void { onUserChange(selectedUserID: any): void {
if(selectedUserID.id != null){
this._selectedUser = selectedUserID; this._selectedUser = selectedUserID;
this._userID = this._selectedUser.id; this._userID = this._selectedUser.id;
if (this._userID != undefined && this._selectedPayroll != undefined) if (this._userID != undefined && this._selectedPayroll != undefined)
this.loadGridView() this.loadGridView()
} }
}
onPayrollChange(selectedPayrollID: any): void { onPayrollChange(selectedPayrollID: any): void {
this._selectedPayroll = selectedPayrollID; this._selectedPayroll = selectedPayrollID;

View File

@ -184,8 +184,10 @@ export class UserRoleEntryComponent implements OnInit {
userRole.payrollTypeID = this._selectedPayrollTypeid; userRole.payrollTypeID = this._selectedPayrollTypeid;
userRole.employeeID = u.employeeID; userRole.employeeID = u.employeeID;
} }
if (this._selectedRoleType == EnumRoleType.Admin) if (this._selectedRoleType == EnumRoleType.Admin){
userRole.userID = u.id; userRole.userID = u.id;
userRole.userRoleStatus = EnumAuthStatus.Active;
}
userRole.loginIDView = u.loginID; userRole.loginIDView = u.loginID;
userRole.roleID = r; userRole.roleID = r;

View File

@ -16,7 +16,7 @@
</div> </div>
<div *ngIf="newEmployee" class="p-col-12 p-lg-4"> <div *ngIf="newEmployee" class="p-col-12 p-lg-4">
<input [(ngModel)]="this.employeeService.hrEmployee.employeeNo" <input [(ngModel)]="this.employeeService.hrEmployee.employeeNo"
placeholder="Input Employee Id for new Employee.." id="txtempno" pInputText style="width:100%" type="text"> placeholder="Input Employee Id for new Employee.." id="txtempno" pInputText style="width:100%" type="text" [readOnly]="true">
</div> </div>
<div class="p-col-12 p-lg-6" style="margin: auto;" align="middle"> <div class="p-col-12 p-lg-6" style="margin: auto;" align="middle">
<span class="k-icon k-i-warning k-i-exception"></span> <span class="k-icon k-i-warning k-i-exception"></span>

View File

@ -189,19 +189,19 @@ export class EmployeeProfileComponent implements OnInit {
this.refreshEmployee(new HrEmployee()); this.refreshEmployee(new HrEmployee());
this.loadingPanel.ShowLoadingPanel = true; // this.loadingPanel.ShowLoadingPanel = true;
this.employeeService.generateEmployeeNo().subscribe( // this.employeeService.generateEmployeeNo().subscribe(
(resp) => { // (resp) => {
this.employeeService.hrEmployee.employeeNo = resp as string; // this.employeeService.hrEmployee.employeeNo = resp as string;
}, // },
(err) => { // (err) => {
this.notificationService.showError(err); // this.notificationService.showError(err);
this.loadingPanel.ShowLoadingPanel = false; // this.loadingPanel.ShowLoadingPanel = false;
}, // },
() => { // () => {
this.loadingPanel.ShowLoadingPanel = false; // this.loadingPanel.ShowLoadingPanel = false;
} // }
); // );
} }
else { else {
this.employeeService.hrEmployee.employeeNo = undefined; this.employeeService.hrEmployee.employeeNo = undefined;

View File

@ -16,13 +16,21 @@
<span class="editIcon">&#9998;</span> <span class="editIcon">&#9998;</span>
</button> </button>
</div> </div>
<div style="position: relative; display: inline-block;">
<img id="imgEmpSigneture" [src]="empSigneture"
style="height: 60px; width: 180px; border-radius: 10px; border: 1px solid #52527A;" />
</div>
</div> </div>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-12" align="center"> <div class="p-col-12 p-md-12 p-lg-12" align="center">
<input formControlName="empPhoto" id="fupEmpPhoto" #fileInput <input formControlName="empPhoto" id="fupEmpPhoto" #fileInput
(change)="selectFile($event)" type="file" style="display: none;"> (change)="selectFile($event)" type="file" style="display: none;">
</div> </div>
<div class="p-col-12 p-md-12 p-lg-12" style="height: 76px;"></div> <div class="p-col-12 p-md-12 p-lg-12" style="height: 76px;">
</div>
</div> </div>
</div> </div>
</div> </div>
@ -173,6 +181,7 @@
<button class="k-button k-primary" kendoButton icon="save" <button class="k-button k-primary" kendoButton icon="save"
(click)="SavePersonalInfo()"> (click)="SavePersonalInfo()">
<!-- (click)="SavePersonalInfo()"> -->
Save Save
</button> </button>
</div> </div>
@ -359,7 +368,9 @@
</button> </button>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-4" style="margin-top: 11px;" align="right"> <div class="p-col-12 p-md-12 p-lg-4" style="margin-top: 11px;" align="right">
<button class="k-button k-primary" kendoButton icon="save" (click)="SavePersonalInfo()"> <button class="k-button k-primary" kendoButton icon="save"
(click)="SavePersonalInfo()">
<!-- (click)="SavePersonalInfo()"> -->
Save Save
</button> </button>
</div> </div>

View File

@ -104,6 +104,7 @@ export class GeneralComponent implements OnInit {
selectedFiles?: FileList; selectedFiles?: FileList;
currentFile?: File; currentFile?: File;
employeePhoto: any; employeePhoto: any;
empSigneture: any;
occupations: Occupation[]; occupations: Occupation[];
newUser: boolean = false; newUser: boolean = false;
userid: number; userid: number;
@ -116,6 +117,7 @@ export class GeneralComponent implements OnInit {
defaultNationality: Nationality; defaultNationality: Nationality;
nameBangla: string = 'asasas'; nameBangla: string = 'asasas';
defaultPhoto = "assets/photos/profile-default.jpg"; defaultPhoto = "assets/photos/profile-default.jpg";
photoPath = "Documents/EMPPHOTO";
isDisplay: boolean = false; isDisplay: boolean = false;
contactForm: FormGroup; contactForm: FormGroup;
@ -134,6 +136,7 @@ export class GeneralComponent implements OnInit {
ngOnInit() { ngOnInit() {
this.employeePhoto = this.defaultPhoto; this.employeePhoto = this.defaultPhoto;
this.empSigneture = "";
this.basicService.getAllReligion().subscribe( this.basicService.getAllReligion().subscribe(
(resp: any) => { (resp: any) => {
this.religions = resp; this.religions = resp;
@ -173,8 +176,8 @@ export class GeneralComponent implements OnInit {
() => { () => {
}, },
() => { () => {
this.defaultNationality=this.nationalities.find(x=>x.description.toLowerCase()=="bangladeshi"); this.defaultNationality = this.nationalities.find(x => x.description.toLowerCase() == "bangladeshi");
if(this.defaultNationality){ if (this.defaultNationality) {
this.hrEmployee.nationalityID = this.defaultNationality.id; this.hrEmployee.nationalityID = this.defaultNationality.id;
} }
} }
@ -229,7 +232,7 @@ export class GeneralComponent implements OnInit {
maxValue: new FormControl(), maxValue: new FormControl(),
insuranceId: new FormControl(''), insuranceId: new FormControl(''),
inclusionDate: new FormControl(), inclusionDate: new FormControl(),
//signature: new FormControl() empSigneture: new FormControl(),
dateOfRetirement: new FormControl(), dateOfRetirement: new FormControl(),
spouseNameBangla: new FormControl(), spouseNameBangla: new FormControl(),
spouseName: new FormControl(), spouseName: new FormControl(),
@ -246,6 +249,7 @@ export class GeneralComponent implements OnInit {
(resp: any) => { (resp: any) => {
this.hrEmployee = resp; this.hrEmployee = resp;
//console.log(this.hrEmployee); //console.log(this.hrEmployee);
debugger;
if (this.hrEmployee.id !== undefined && this.hrEmployee.id !== 0) { if (this.hrEmployee.id !== undefined && this.hrEmployee.id !== 0) {
this.showEmpImage(); this.showEmpImage();
this.userid = undefined; this.userid = undefined;
@ -253,6 +257,7 @@ export class GeneralComponent implements OnInit {
emp.employeeID = this.employeeService.hrEmployee.id; emp.employeeID = this.employeeService.hrEmployee.id;
emp.employeeNo = this.employeeService.hrEmployee.employeeNo; emp.employeeNo = this.employeeService.hrEmployee.employeeNo;
emp.name = this.employeeService.hrEmployee.name; emp.name = this.employeeService.hrEmployee.name;
//this.employeePhoto = this.employeeService.hrEmployee.photoPath;
this.pickerEmployee = emp; this.pickerEmployee = emp;
if (this.hrEmployee.lineManagerID > 0) { if (this.hrEmployee.lineManagerID > 0) {
this.getLineManager(); this.getLineManager();
@ -262,6 +267,7 @@ export class GeneralComponent implements OnInit {
} }
} else { } else {
this.employeePhoto = this.defaultPhoto; this.employeePhoto = this.defaultPhoto;
this.empSigneture = "";
// this.employeeService.generateEmployeeNo().subscribe( // this.employeeService.generateEmployeeNo().subscribe(
// (resp) => { // (resp) => {
// this.hrEmployee.employeeNo = resp as string; // this.hrEmployee.employeeNo = resp as string;
@ -359,10 +365,15 @@ export class GeneralComponent implements OnInit {
} }
public showEmpImage() { public showEmpImage() {
debugger;
this.loadingPanel.ShowLoadingPanel = true; this.loadingPanel.ShowLoadingPanel = true;
this.employeeService.GetuploadEmpFile(this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe( this.empSigneture = "";
this.employeePhoto = this.defaultPhoto;
//this.employeePhoto = this.photoPath + "/" + "Image-" + this.hrEmployee.employeeNo + ".jpg";
this.employeeService.GetEmpImageSignFile(this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe(
(resp: any) => { (resp: any) => {
if (resp) { if (resp) {
this.employeePhoto = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp}`); this.employeePhoto = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp}`);
} else { } else {
this.employeePhoto = this.defaultPhoto; this.employeePhoto = this.defaultPhoto;
@ -372,6 +383,26 @@ export class GeneralComponent implements OnInit {
(err: any) => { (err: any) => {
this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
},
() => {
this.loadingPanel.ShowLoadingPanel = false;
}
);
this.employeeService.GetEmpImageSignFile(this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.signature).subscribe(
(resp: any) => {
if (resp) {
this.empSigneture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp}`);
} else {
this.employeePhoto = this.defaultPhoto;
}
},
(err: any) => {
this.loadingPanel.ShowLoadingPanel = false; this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error); this.notificationService.showError(err.error);
}, },
@ -386,6 +417,29 @@ export class GeneralComponent implements OnInit {
} }
// public saveGeneratedEmployee() {
// debugger
// if (this.active == false) {
// this.loadingPanel.ShowLoadingPanel = true;
// this.employeeService.generateEmployeeNo().subscribe(
// (resp) => {
// this.employeeService.hrEmployee.employeeNo = resp as string;
// },
// (err) => {
// this.notificationService.showError(err);
// this.loadingPanel.ShowLoadingPanel = false;
// },
// () => {
// this.loadingPanel.ShowLoadingPanel = false; setTimeout(() => {
// this.SavePersonalInfo();
// }, 1000);
// }
// );
// }
// else{
// this.SavePersonalInfo();
// }
// }
SavePersonalInfo() { SavePersonalInfo() {
// console.log(this.hrEmployee.banglaName); // console.log(this.hrEmployee.banglaName);
// return; // return;
@ -401,12 +455,18 @@ export class GeneralComponent implements OnInit {
if (this.hrEmployee.lastName !== null) { if (this.hrEmployee.lastName !== null) {
this.hrEmployee.name += ' ' + this.hrEmployee.lastName; this.hrEmployee.name += ' ' + this.hrEmployee.lastName;
} }
if (this.employeeService.hrEmployee.employeeNo.length > 0) { // if (this.employeeService.hrEmployee.employeeNo.length > 0) {
this.hrEmployee.employeeNo = this.employeeService.hrEmployee.employeeNo; // this.hrEmployee.employeeNo = this.employeeService.hrEmployee.employeeNo;
} // }
this.employeeService.saveHrPersonalInfo(this.hrEmployee).subscribe( this.employeeService.saveHrPersonalInfo(this.hrEmployee).subscribe(
(resp: any) => { (resp: HrEmployee) => {
this.hrEmployee.id = resp; if(resp != undefined){
this.hrEmployee.id = resp.id;
if (this.active == false) {
this.hrEmployee.employeeNo = resp.employeeNo;
this.employeeService.hrEmployee.employeeNo = resp.employeeNo;
}
}
}, },
(err: any) => { (err: any) => {
console.log(err); console.log(err);
@ -415,7 +475,7 @@ export class GeneralComponent implements OnInit {
}, },
() => { () => {
this.loadingPanel.ShowLoadingPanel = false; this.loadingPanel.ShowLoadingPanel = false;
this.isDisplay=false; this.isDisplay = false;
this.notificationService.showSuccess('Data save successfully'); this.notificationService.showSuccess('Data save successfully');
if (this.selectedTinFiles !== null && this.selectedTinFiles !== undefined && this.selectedTinFiles.length > 0) { if (this.selectedTinFiles !== null && this.selectedTinFiles !== undefined && this.selectedTinFiles.length > 0) {
this.saveFile(this.hrEmployee.id, this.selectedTinFiles, enumEmpFileUploadType.TIN); this.saveFile(this.hrEmployee.id, this.selectedTinFiles, enumEmpFileUploadType.TIN);
@ -451,7 +511,7 @@ export class GeneralComponent implements OnInit {
}, },
() => { () => {
this.loadingPanel.ShowLoadingPanel = false; this.loadingPanel.ShowLoadingPanel = false;
this.isDisplay=false; this.isDisplay = false;
this.notificationService.showSuccess('Data Save successfully.'); this.notificationService.showSuccess('Data Save successfully.');
this.employeeService.hrEmployee.contacts = []; this.employeeService.hrEmployee.contacts = [];
this.employeeService.hrEmployee.contacts.push(this.contact); this.employeeService.hrEmployee.contacts.push(this.contact);
@ -460,6 +520,7 @@ export class GeneralComponent implements OnInit {
} }
saveFile(feferenceID: number, selectedFiles: any, type: enumEmpFileUploadType) { saveFile(feferenceID: number, selectedFiles: any, type: enumEmpFileUploadType) {
debugger;
if (selectedFiles != undefined && selectedFiles.length > 0) { if (selectedFiles != undefined && selectedFiles.length > 0) {
const file: File | null = selectedFiles.item(0); const file: File | null = selectedFiles.item(0);
this.currentFile = file; this.currentFile = file;
@ -485,46 +546,46 @@ export class GeneralComponent implements OnInit {
this.NIDFiles = undefined; this.NIDFiles = undefined;
} }
} }
saveBanglaPersonalInformation(){ saveBanglaPersonalInformation() {
const data ={ const data = {
employeeNo: this.employeeService.hrEmployee.employeeNo, employeeNo: this.employeeService.hrEmployee.employeeNo,
banglaName: this.hrEmployee.banglaName, banglaName: this.hrEmployee.banglaName,
banglaSpouseName: this.hrEmployee.spouseNameBangla, banglaSpouseName: this.hrEmployee.spouseNameBangla,
banglaFathersName: this.hrEmployee.fatherNameBangla, banglaFathersName: this.hrEmployee.fatherNameBangla,
banglaMothersName: this.hrEmployee.motherNameBangla banglaMothersName: this.hrEmployee.motherNameBangla
} }
this.loadingPanel.ShowLoadingPanel=true; this.loadingPanel.ShowLoadingPanel = true;
this.employeeService.updateBanglaInformation(data).subscribe( this.employeeService.updateBanglaInformation(data).subscribe(
(resp: any)=>{ (resp: any) => {
},(err)=>{ }, (err) => {
this.loadingPanel.ShowLoadingPanel=false; this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error); this.notificationService.showError(err.error);
},() =>{ }, () => {
this.loadingPanel.ShowLoadingPanel=false; this.loadingPanel.ShowLoadingPanel = false;
this.isDisplay=false; this.isDisplay = false;
this.notificationService.showSuccess("Bangla Information Updated Successfully!"); this.notificationService.showSuccess("Bangla Information Updated Successfully!");
} }
) )
} }
SaveBanglaContactInformation(){ SaveBanglaContactInformation() {
const data ={ const data = {
employeeNo: this.employeeService.hrEmployee.employeeNo, employeeNo: this.employeeService.hrEmployee.employeeNo,
presentPOInBangla: this.contact.presentPOInBangla, presentPOInBangla: this.contact.presentPOInBangla,
presentAddressInBangla: this.contact.presentAddressInBangla, presentAddressInBangla: this.contact.presentAddressInBangla,
parmanentPOInBangla: this.contact.parmanentPOInBangla, parmanentPOInBangla: this.contact.parmanentPOInBangla,
permanentAddressInBangla: this.contact.permanentAddressInBangla permanentAddressInBangla: this.contact.permanentAddressInBangla
} }
this.loadingPanel.ShowLoadingPanel=true; this.loadingPanel.ShowLoadingPanel = true;
this.employeeService.updateBanglaContactInformation(data).subscribe( this.employeeService.updateBanglaContactInformation(data).subscribe(
(resp: any)=>{ (resp: any) => {
},(err)=>{ }, (err) => {
this.loadingPanel.ShowLoadingPanel=false; this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error); this.notificationService.showError(err.error);
},() =>{ }, () => {
this.loadingPanel.ShowLoadingPanel=false; this.loadingPanel.ShowLoadingPanel = false;
this.isDisplay=false; this.isDisplay = false;
this.notificationService.showSuccess("Bangla Contact Information Updated Successfully!"); this.notificationService.showSuccess("Bangla Contact Information Updated Successfully!");
} }
) )
@ -558,18 +619,19 @@ export class GeneralComponent implements OnInit {
if (confirm('Are you sure change the profile picture? selected picture will be store in database as well as will be used as profile picture.') == false) { if (confirm('Are you sure change the profile picture? selected picture will be store in database as well as will be used as profile picture.') == false) {
return; return;
} }
debugger;
this.selectedFiles = event.target.files; this.selectedFiles = event.target.files;
if (this.selectedFiles.length > 0) { if (this.selectedFiles.length > 0) {
const file: File | null = this.selectedFiles.item(0); const file: File | null = this.selectedFiles.item(0);
this.currentFile = file; this.currentFile = file;
debugger;
this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe( this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe(
(resp: any) => { (resp: any) => {
console.log('image data'); console.log('image data');
// console.log(resp.body); // console.log(resp.body);
//this.employeePhoto = resp;
this.employeePhoto = resp;// this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`); this.employeePhoto = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
}, },
(err: any) => { (err: any) => {
this.notificationService.showError(err.error); this.notificationService.showError(err.error);
@ -806,14 +868,15 @@ export class GeneralComponent implements OnInit {
this.currentFile = file; this.currentFile = file;
this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.signature).subscribe( this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.signature).subscribe(
(resp: any) => { (resp: any) => {
this.empSigneture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
// console.log(resp.body); // console.log(resp.body);
//this.Sigfiles = resp;// this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`); //this.Sigfiles = resp;// this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
}, },
(err: any) => { (err: any) => {
this.notificationService.showError(err.error); this.notificationService.showError(err.error);
this.currentFile = undefined; this.currentFile = undefined;
},()=>{ }, () => {
this.signaturePopUp=false; this.signaturePopUp = false;
this.notificationService.showSuccess("Signature Uploaded Successfully!") this.notificationService.showSuccess("Signature Uploaded Successfully!")
}); });
this.selectedFiles = undefined; this.selectedFiles = undefined;
@ -861,7 +924,7 @@ export class GeneralComponent implements OnInit {
tinPopUp: boolean = false; tinPopUp: boolean = false;
dlnoPopUp: boolean = false; dlnoPopUp: boolean = false;
passnoPopUp: boolean = false; passnoPopUp: boolean = false;
signaturePopUp:boolean = false; signaturePopUp: boolean = false;
popUpAttachment(type: string) { popUpAttachment(type: string) {
if (type === 'NID') if (type === 'NID')
this.nidPopUp = true; this.nidPopUp = true;

View File

@ -32,10 +32,10 @@
pInputText style="width:100%" /> pInputText style="width:100%" />
</div> </div>
<div class="p-col-12 p-md-6 p-lg-2" > <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label>Relation</label> <label>Relation</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-4">
<kendo-dropdownlist [(ngModel)]="nominee.relationID" [data]="relations" <kendo-dropdownlist [(ngModel)]="nominee.relationID" [data]="relations"
[defaultItem]="{ description: 'Select Relations..', value: null }" [textField]="'description'" [defaultItem]="{ description: 'Select Relations..', value: null }" [textField]="'description'"
[valueField]="'id'" [valuePrimitive]="true" class="form-control form-control-sm input-sm" [valueField]="'id'" [valuePrimitive]="true" class="form-control form-control-sm input-sm"
@ -46,15 +46,15 @@
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label for="txtPercentage">Percentage</label> <label for="txtPercentage">Percentage</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" > <div class="p-col-12 p-md-6 p-lg-4">
<input id="txtPercentage" formControlName="percentage" [(ngModel)]="nominee.percentage" <input id="txtPercentage" formControlName="percentage" [(ngModel)]="nominee.percentage"
type="number" pInputText style="width:100%" /> type="number" pInputText style="width:100%" />
</div> </div>
<div class="p-col-12 p-md-6 p-lg-2" > <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label for="dtpDateOfBirth">Birth Date</label> <label for="dtpDateOfBirth">Birth Date</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-4">
<kendo-datepicker [(ngModel)]="nominee.birthDate" [format]="'dd-MMM-yyyy'" <kendo-datepicker [(ngModel)]="nominee.birthDate" [format]="'dd-MMM-yyyy'"
formControlName="dateOfBirth" id="dtpDateOfBirth" style="width:100%"></kendo-datepicker> formControlName="dateOfBirth" id="dtpDateOfBirth" style="width:100%"></kendo-datepicker>
</div> </div>
@ -62,7 +62,7 @@
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label>Occupation</label> <label>Occupation</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" > <div class="p-col-12 p-md-6 p-lg-4">
<kendo-dropdownlist [(ngModel)]="nominee.occupationID" [data]="occupations" <kendo-dropdownlist [(ngModel)]="nominee.occupationID" [data]="occupations"
[defaultItem]="{ description: 'Select Occupations..', value: null }" [textField]="'description'" [defaultItem]="{ description: 'Select Occupations..', value: null }" [textField]="'description'"
[valueField]="'id'" [valuePrimitive]="true" class="form-control form-control-sm input-sm" [valueField]="'id'" [valuePrimitive]="true" class="form-control form-control-sm input-sm"
@ -70,10 +70,10 @@
</kendo-dropdownlist> </kendo-dropdownlist>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-2" > <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label for="txtAddress">Address</label> <label for="txtAddress">Address</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-4">
<input id="txtAddress" formControlName="address" [(ngModel)]="nominee.address" type="text" <input id="txtAddress" formControlName="address" [(ngModel)]="nominee.address" type="text"
pInputText style="width:100%" /> pInputText style="width:100%" />
</div> </div>
@ -86,10 +86,18 @@
pInputText style="width:100%" /> pInputText style="width:100%" />
</div> </div>
<div class="p-col-12 p-md-6 p-lg-2" > <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label for="txtNomineeMobileNo">Mobile</label>
</div>
<div class="p-col-12 p-md-6 p-lg-4">
<input id="txtNnomineeMobileNo" formControlName="mobile" [(ngModel)]="nominee.nomineeMobileNo" type="text"
pInputText style="width:100%" />
</div>
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label for="txtEmail">Email</label> <label for="txtEmail">Email</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-4">
<input id="txtEmail" formControlName="email" [(ngModel)]="nominee.emailAddress" type="text" <input id="txtEmail" formControlName="email" [(ngModel)]="nominee.emailAddress" type="text"
pInputText style="width:100%" /> pInputText style="width:100%" />
</div> </div>
@ -97,19 +105,21 @@
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label for="fupPicture">Picture</label> <label for="fupPicture">Picture</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" > <div class="p-col-12 p-md-6 p-lg-4">
<input formControlName="picturePath" pInputText style="width:100%" (change)="selectPicture($event)" <input formControlName="picturePath" pInputText style="width:100%" (change)="selectPicture($event)"
type="file"> type="file">
</div> </div>
<div class="p-col-12 p-md-6 p-lg-2" > <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label for="fupSignature">Signature</label> <label for="fupSignature">Signature</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-4">
<input formControlName="signaturePath" pInputText (change)="selectSignature($event)" type="file" <input formControlName="signaturePath" pInputText (change)="selectSignature($event)" type="file"
style="width:100%"> style="width:100%">
</div> </div>
<div class="p-col-12 p-md-6 p-lg-6" ></div>
</div> </div>
</div> </div>
</fieldset> </fieldset>

View File

@ -90,6 +90,7 @@ export class NomineeEntryComponent implements OnInit {
email: [''], email: [''],
picturePath: [''], picturePath: [''],
signaturePath: [''], signaturePath: [''],
mobile: [''],
}); });
} }

View File

@ -67,12 +67,12 @@
</ng-template> </ng-template>
</kendo-grid-command-column> </kendo-grid-command-column>
<kendo-grid-command-column title="Action" width="100"> <kendo-grid-command-column title="Action" width="100">
<ng-template kendoGridCellTemplate let-dataItem> <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
<button <button
kendoGridEditCommand kendoGridEditCommand
icon="pencil" icon="pencil"
[primary]="true" [primary]="true"
(click)="editHandler(dataItem)" (click)="editHandler(rowIndex)"
[style.width.%]="49" [style.width.%]="49"
></button> ></button>
<button <button

View File

@ -89,6 +89,7 @@ export class NomineeListComponent implements OnInit {
this.isDisplay = true; this.isDisplay = true;
} }
public editHandler(rowIndex: any) { public editHandler(rowIndex: any) {
debugger
this.editIndex = rowIndex; this.editIndex = rowIndex;
this.nominee = this.nominees[this.editIndex]; this.nominee = this.nominees[this.editIndex];
this.isDisplay = true; this.isDisplay = true;

View File

@ -66,7 +66,7 @@
<label>Schedule Date</label> <label>Schedule Date</label>
</div> </div>
<div class="p-col-6 p-md-2"> <div class="p-col-6 p-md-2">
<kendo-datepicker [(ngModel)]="selectedDate" [format]="'dd MMMM yyyy'" style="width:100%"></kendo-datepicker> <kendo-datepicker [(ngModel)]="selectedDate" [format]="'dd MMMM yyyy'" style="width:100%" (valueChange)="scheduleDateChange($event)" ></kendo-datepicker>
</div> </div>
<div class="p-col-6 p-md-1 label-ailgn"> <div class="p-col-6 p-md-1 label-ailgn">
@ -136,6 +136,6 @@
</div> </div>
<div class="p-col-10"></div> <div class="p-col-10"></div>
<div class="p-col-2" align="right"> <div class="p-col-2" align="right">
<button icon="save" kendoButton style="width:80%" (click)="onClickSubmit()">Submit</button> <button icon="save" kendoButton style="width:80%" (click)="onClickSubmit()" [disabled]="isprevious">Submit</button>
</div> </div>
</div> </div>

View File

@ -20,6 +20,9 @@ import { EnumBonusItemType, EnumProductionBonusType } from 'src/app/_models/enum
import { ProdBonusParameter } from 'src/app/_models/Payroll/ProductionBonus/prodBonusParameter'; import { ProdBonusParameter } from 'src/app/_models/Payroll/ProductionBonus/prodBonusParameter';
import { error } from 'console'; import { error } from 'console';
import { GridComponent } from '@progress/kendo-angular-grid'; import { GridComponent } from '@progress/kendo-angular-grid';
import { AuthService } from '../../_services/auth/auth.service';
import { SalaryService } from '../../_services/payroll/salary.service';
import { PayrollType } from '../../_models/Authentication/payrollType';
@Component({ @Component({
@ -43,7 +46,8 @@ export class ProductionBonusAttendanceComponent implements OnInit {
prodBonusAttn: ProdBonusAttn[]; prodBonusAttn: ProdBonusAttn[];
selectedDate: Date = new Date; // selectedDate: Date = new Date;
selectedDate: Date;
startTime: Date = new Date(); startTime: Date = new Date();
endTime: Date = new Date(); endTime: Date = new Date();
@ -63,6 +67,10 @@ export class ProductionBonusAttendanceComponent implements OnInit {
employeeList: Employee[] = []; employeeList: Employee[] = [];
allEmps: any[] = []; allEmps: any[] = [];
isprevious: boolean = false;
iSalaryProcesed: boolean = false;
salaryMonth: Date = new Date();
payrollType: PayrollType;
value: ''; value: '';
@ -72,6 +80,8 @@ export class ProductionBonusAttendanceComponent implements OnInit {
public WindowPopUp: AppWindowPopUp, public WindowPopUp: AppWindowPopUp,
public loadingPanelService: loadingPanelService, public loadingPanelService: loadingPanelService,
public employeeService: EmployeeServices, public employeeService: EmployeeServices,
public authservice: AuthService,
public salaryService: SalaryService,
public bonusService: BonusService) { public bonusService: BonusService) {
this.apiService.selectedMenuName = 'Production Bonus Attendance'; this.apiService.selectedMenuName = 'Production Bonus Attendance';
this._departmentPicker = new DynamicPicker(EnumDynamicpickerType.Department, false); this._departmentPicker = new DynamicPicker(EnumDynamicpickerType.Department, false);
@ -80,6 +90,16 @@ export class ProductionBonusAttendanceComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
// this.Loadlayout(); // this.Loadlayout();
this.authservice.GetPayrollTypeByLoginID().subscribe(
(resp: any) => {
this.payrollType = resp;
},
(err: any) => {
},
() => {
this.salaryMonth = new Date(this.payrollType.nextPayProcessDate);
}
);
this.GetAllEmployees(); this.GetAllEmployees();
this.productionBonusSetup = new ProductionBonusSetup(); this.productionBonusSetup = new ProductionBonusSetup();
this.showScheduleDate = false; this.showScheduleDate = false;
@ -117,6 +137,30 @@ export class ProductionBonusAttendanceComponent implements OnInit {
Loadlayout() { Loadlayout() {
this.clear(); this.clear();
debugger; debugger;
this.loadingPanelService.ShowLoadingPanel = true;
this.salaryService.IsSalaryProcessed(new Date(this.payrollType.nextPayProcessDate)).subscribe(
(resp: any) => {
this.iSalaryProcesed = resp;
},
(err: any) => {
this.loadingPanelService.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
},
() => {
this.loadingPanelService.ShowLoadingPanel = false;
if (new Date(this.selectedSalaryDate) <= new Date(this.payrollType.lastPayProcessDate) ||
(new Date(this.selectedSalaryDate) > new Date(this.payrollType.lastPayProcessDate) &&
new Date(this.payrollType.nextPayProcessDate) >= new Date(this.selectedSalaryDate) && this.iSalaryProcesed)) {
this.isprevious = true;
}
else {
this.isprevious = false;
}
});
const data = { const data = {
createdDate: this.selectedSalaryDate createdDate: this.selectedSalaryDate
} }
@ -160,6 +204,7 @@ export class ProductionBonusAttendanceComponent implements OnInit {
loadLines(value: any) { loadLines(value: any) {
// console.log('Selected value changed:', newValue); // console.log('Selected value changed:', newValue);
// debugger; // debugger;
this.selectedDate = undefined;
this.loadingPanelService.ShowLoadingPanel = true; this.loadingPanelService.ShowLoadingPanel = true;
debugger; debugger;
// this.bonusService.getLines(this.selectedProdBSdata.id).subscribe( // this.bonusService.getLines(this.selectedProdBSdata.id).subscribe(
@ -189,33 +234,34 @@ export class ProductionBonusAttendanceComponent implements OnInit {
onClickLoad() { onClickLoad() {
// debugger; // debugger;
const fromDate = new Date(this.productionBonusSetup.fromDate.setHours(0, 0, 0, 0)); // const fromDate = new Date(this.productionBonusSetup.fromDate.setHours(0, 0, 0, 0));
const toDate = new Date(this.productionBonusSetup.toDate.setHours(0, 0, 0, 0)); // const toDate = new Date(this.productionBonusSetup.toDate.setHours(0, 0, 0, 0));
const selectedDate = new Date(this.selectedDate.setHours(0, 0, 0, 0)); // const selectedDate = new Date(this.selectedDate.setHours(0, 0, 0, 0));
if (selectedDate >= fromDate && selectedDate <= toDate) { // if (selectedDate >= fromDate && selectedDate <= toDate) {
var dataForAttn = { // var dataForAttn = {
setupId: this.productionBonusSetup.id, // setupId: this.productionBonusSetup.id,
lineId: this.selectedLine.id, // lineId: this.selectedLine.id,
date: this.selectedDate // date: this.selectedDate
} // }
// console.log(dataForAttn); // // console.log(dataForAttn);
this.loadingPanelService.ShowLoadingPanel = true; // this.loadingPanelService.ShowLoadingPanel = true;
this.bonusService.getProdBonusAtten(dataForAttn).subscribe( // this.bonusService.getProdBonusAtten(dataForAttn).subscribe(
(resp) => { // (resp) => {
this.prodBonusAttn = resp; // this.prodBonusAttn = resp;
// console.log('Attn List', this.prodBonusAttn); // // console.log('Attn List', this.prodBonusAttn);
// console.log(this.prodBonusAttn); // // console.log(this.prodBonusAttn);
}, // },
(err) => { // (err) => {
this.notificationService.showError(err.error); // this.notificationService.showError(err.error);
this.loadingPanelService.ShowLoadingPanel = false; // this.loadingPanelService.ShowLoadingPanel = false;
}, // },
() => { // () => {
this.loadingPanelService.ShowLoadingPanel = false; // this.loadingPanelService.ShowLoadingPanel = false;
this.employeeList = []; // this.employeeList = [];
// debugger; // debugger;
if (this.prodBonusAttn.length <= 0 && (this.productionBonusSetup.productionBonusType == EnumProductionBonusType.Cutting || if (this.prodBonusAttn.length <= 0 && (this.productionBonusSetup.productionBonusType == EnumProductionBonusType.Cutting ||
this.productionBonusSetup.productionBonusType == EnumProductionBonusType.Finishing)) { this.productionBonusSetup.productionBonusType == EnumProductionBonusType.Finishing)) {
this.employeeList = [];
let data = { let data = {
prodLine: this.selectedLine, prodLine: this.selectedLine,
date: this.selectedDate date: this.selectedDate
@ -235,21 +281,12 @@ export class ProductionBonusAttendanceComponent implements OnInit {
this.loadingPanelService.ShowLoadingPanel = false; this.loadingPanelService.ShowLoadingPanel = false;
} }
); );
// if (this.selectedLine.prodBonusParameters !== null && this.selectedLine.prodBonusParameters.length > 0) {
// var desigparam: ProdBonusParameter;
// desigparam = this.selectedLine.prodBonusParameters.find(o => o.itemType == EnumBonusItemType.Designation);
// // var pbp: ProdBonusParameter;
// for (let pbp in this.selectedLine.prodBonusParameters) {
// if (pbp['itemType'] == EnumBonusItemType.Department) {
// oTempEmployees: Employee[] = this.employeeList.filter(e1 => e1.DepartmentID === pbp['itemID'] && e1.DesignationID !== 2);
// }
// }
// }
} }
//New For Swing And Printig //New For Swing And Printig
if (this.prodBonusAttn.length <= 0 && (this.productionBonusSetup.productionBonusType == EnumProductionBonusType.Sewing || if (this.prodBonusAttn.length <= 0 && (this.productionBonusSetup.productionBonusType == EnumProductionBonusType.Sewing ||
this.productionBonusSetup.productionBonusType == EnumProductionBonusType.Printing)) { this.productionBonusSetup.productionBonusType == EnumProductionBonusType.Printing)) {
this.employeeList = [];
let data = { let data = {
prodLine: this.selectedLine, prodLine: this.selectedLine,
date: this.selectedDate date: this.selectedDate
@ -271,25 +308,25 @@ export class ProductionBonusAttendanceComponent implements OnInit {
); );
} }
if (this.prodBonusAttn.length > 0) { // if (this.prodBonusAttn.length > 0) {
debugger; // debugger;
for (let i = 0; i < this.prodBonusAttn.length; i++) { // this.employeeList = [];
this.AddEmployeebyId(this.prodBonusAttn[i].employeeID); // for (let i = 0; i < this.prodBonusAttn.length; i++) {
} // this.AddEmployeebyId(this.prodBonusAttn[i].employeeID);
let inTime = new Date(this.prodBonusAttn[0].inTime); // }
let outTime = new Date(this.prodBonusAttn[0].outTime); // let inTime = new Date(this.prodBonusAttn[0].inTime);
this.startTime = this.setTime(inTime, inTime.getHours(), inTime.getMinutes(), inTime.getSeconds()); // let outTime = new Date(this.prodBonusAttn[0].outTime);
this.endTime = this.setTime(outTime, outTime.getHours(), outTime.getMinutes(), outTime.getSeconds()); // this.startTime = this.setTime(inTime, inTime.getHours(), inTime.getMinutes(), inTime.getSeconds());
} // this.endTime = this.setTime(outTime, outTime.getHours(), outTime.getMinutes(), outTime.getSeconds());
} // }
); // }
} // );
else { // }
this.notificationService.showWarning('Date did not match with Work Schedule','Schedule not matched!'); // else {
} // this.notificationService.showWarning('Date did not match with Work Schedule','Schedule not matched!');
// }
} }
onClickAdd() { onClickAdd() {
// console.log(this.employeeSelection);
debugger; debugger;
if (this.selectedEmps === undefined) { if (this.selectedEmps === undefined) {
this.notificationService.showWarning('Please Select an Employee'); this.notificationService.showWarning('Please Select an Employee');
@ -297,11 +334,6 @@ export class ProductionBonusAttendanceComponent implements OnInit {
} }
if (this.employeeSelection === 'commonEmployee') { if (this.employeeSelection === 'commonEmployee') {
if (this.selectedEmps !== null || this.selectedEmps !== undefined) { if (this.selectedEmps !== null || this.selectedEmps !== undefined) {
// console.log(this.selectedEmps);
// console.log(this.employeeList);
// for (let i = 0; i < this.selectedEmps.length; i++) {
// this.AddEmployeebyId(this.selectedEmps[i].employeeID);
// }
for (let i = 0, isNew = true; i < this.selectedEmps.length; i++, isNew = true) { for (let i = 0, isNew = true; i < this.selectedEmps.length; i++, isNew = true) {
for (let j = 0; j < this.employeeList.length; j++) { for (let j = 0; j < this.employeeList.length; j++) {
if (this.selectedEmps[i].employeeID == this.employeeList[j].id) { if (this.selectedEmps[i].employeeID == this.employeeList[j].id) {
@ -350,21 +382,6 @@ export class ProductionBonusAttendanceComponent implements OnInit {
} }
} }
AddEmployeebyId(empId: number) { AddEmployeebyId(empId: number) {
// this.loadingPanelService.ShowLoadingPanel = true;
// this.employeeService.getEmployeeByID(empId).subscribe(
// (resp) => {
// this.employeeList.push(resp);
// },
// (err) => {
// this.notificationService.showError(err.error);
// this.loadingPanelService.ShowLoadingPanel = false;
// },
// () => {
// // this.AddEmployeeGridData(empId, isCommonValue);
// // console.log(this.prodBonusAttn);
// this.loadingPanelService.ShowLoadingPanel = false;
// }
// );
this.employeeList.push(this.allEmps.find(e => e.id == empId)); this.employeeList.push(this.allEmps.find(e => e.id == empId));
} }
AddEmployeeGridData(empId: number, isCommonValue: boolean) { AddEmployeeGridData(empId: number, isCommonValue: boolean) {
@ -381,29 +398,9 @@ export class ProductionBonusAttendanceComponent implements OnInit {
isCommon: false isCommon: false
}; };
this.prodBonusAttn.push(newProdBonusAttn); this.prodBonusAttn.push(newProdBonusAttn);
// console.log('emplist ' + this.employeeList.length + '\n PbAttn ' + this.prodBonusAttn.length);
// this.selectedEmps = undefined; // this.selectedEmps = undefined;
} }
// GetSelectedEmployee(sremployee: SearchEmployee) {
// if (sremployee === undefined) {
// this._employee = new Employee();
// return;
// }
// this.loadingPanelService.ShowLoadingPanel = true;
// this.employeeService.getEmployeeByID(sremployee.employeeID).subscribe(
// (resp: any) => {
// this._employee = resp;
// },
// (err: any) => {
// this.loadingPanelService.ShowLoadingPanel = false;
// },
// () => {
// this.loadingPanelService.ShowLoadingPanel = false;
// }
// );
// }
onClickSubmit() { onClickSubmit() {
// console.log(this.prodBonusAttn);
debugger; debugger;
if (this.startTime == undefined || this.endTime == undefined) { if (this.startTime == undefined || this.endTime == undefined) {
this.notificationService.showWarning('Please Select In/Out Time'); this.notificationService.showWarning('Please Select In/Out Time');
@ -466,6 +463,8 @@ export class ProductionBonusAttendanceComponent implements OnInit {
this.productionBonusSetup = new ProductionBonusSetup(); this.productionBonusSetup = new ProductionBonusSetup();
this.employeeList = []; this.employeeList = [];
this.selectedLine = undefined; this.selectedLine = undefined;
this.selectedProdBSdata = undefined;
this.selectedDate = undefined;
} }
public onKeyDown(pressedKey) { public onKeyDown(pressedKey) {
@ -496,5 +495,52 @@ export class ProductionBonusAttendanceComponent implements OnInit {
date.setSeconds(sec); date.setSeconds(sec);
return date; return date;
} }
public scheduleDateChange(date: any){
debugger;
date;
if (date > new Date( 2015,1,1) && this.selectedProdBSdata != undefined && this.selectedLine != undefined ) {
const fromDate = new Date(this.productionBonusSetup.fromDate.setHours(0, 0, 0, 0));
const toDate = new Date(this.productionBonusSetup.toDate.setHours(0, 0, 0, 0));
const selectedDate = new Date(this.selectedDate.setHours(0, 0, 0, 0));
if (selectedDate >= fromDate && selectedDate <= toDate) {
var dataForAttn = {
setupId: this.productionBonusSetup.id,
lineId: this.selectedLine.id,
date: this.selectedDate
}
this.loadingPanelService.ShowLoadingPanel = true;
this.bonusService.getProdBonusAtten(dataForAttn).subscribe(
(resp) => {
this.prodBonusAttn = resp;
},
(err) => {
this.notificationService.showError(err.error);
this.loadingPanelService.ShowLoadingPanel = false;
},
() => {
this.loadingPanelService.ShowLoadingPanel = false;
if (this.prodBonusAttn.length > 0) {
debugger;
this.employeeList = [];
for (let i = 0; i < this.prodBonusAttn.length; i++) {
this.AddEmployeebyId(this.prodBonusAttn[i].employeeID);
}
let inTime = new Date(this.prodBonusAttn[0].inTime);
let outTime = new Date(this.prodBonusAttn[0].outTime);
this.startTime = this.setTime(inTime, inTime.getHours(), inTime.getMinutes(), inTime.getSeconds());
this.endTime = this.setTime(outTime, outTime.getHours(), outTime.getMinutes(), outTime.getSeconds());
}
else{
this.employeeList.forEach(x => this.AddEmployeeGridData(x.id, false));
}
}
);
}
else {
this.notificationService.showWarning('Date did not match with Work Schedule','Schedule not matched!');
}
}
}
} }

View File

@ -130,7 +130,7 @@
<div class="p-col-12 p-lg-12" align="right"> <div class="p-col-12 p-lg-12" align="right">
<button kendoButton icon="save" [primary]="true" style="width: fit-content" (click)="onClickSubmit()">Submit</button> <button kendoButton icon="save" [primary]="true" style="width: fit-content" (click)="onClickSubmit()" [disabled]="isprevious">Submit</button>
</div> </div>
<div> <div>
@ -187,7 +187,7 @@
style="width:80%">Add</button> style="width:80%">Add</button>
</div> </div>
</div> </div>
<kendo-grid [kendoGridBinding]="prodBonusLine.prodBonusSupervisors" [sortable]="true" [style.height.%]="100" <kendo-grid [kendoGridBinding]="prodBonusLine.prodBonusSupervisors" [sortable]="true" [style.height.px]="250"
[reorderable]="true"> [reorderable]="true">
<!-- [resizable]="true" [pageSize]="state.take" [skip]="state.skip" <!-- [resizable]="true" [pageSize]="state.take" [skip]="state.skip"
[sort]="state.sort" [pageable]="true" (dataStateChange)="dataStateChange($event)">--> [sort]="state.sort" [pageable]="true" (dataStateChange)="dataStateChange($event)">-->
@ -195,23 +195,23 @@
<!-- <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex"> <!-- <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
</ng-template> --> </ng-template> -->
</kendo-grid-column> </kendo-grid-column>
<kendo-grid-column field="employeeNo" title="Employee No" [width]="100"> <kendo-grid-column field="employeeNo" title="Employee No" [width]="80">
<!-- <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex"> <!-- <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
</ng-template> --> </ng-template> -->
</kendo-grid-column> </kendo-grid-column>
<kendo-grid-column field="devGrantParentName" title="top Parent (section)" [width]="120"> <kendo-grid-column field="devGrantParentName" title="Top Parent (section)" [width]="90">
</kendo-grid-column> </kendo-grid-column>
<kendo-grid-column field="devParentName" title="parent (floor)" [width]="120"> <kendo-grid-column field="devParentName" title="Parent (floor)" [width]="80">
</kendo-grid-column> </kendo-grid-column>
<kendo-grid-column field="devName" title="posted" [width]="120"> <kendo-grid-column field="devName" title="Posted" [width]="80">
</kendo-grid-column> </kendo-grid-column>
<kendo-grid-column field="bonusPercent" title="Bonus Percent" [width]="100"> <kendo-grid-column field="bonusPercent" title="Bonus Percent" [width]="80">
</kendo-grid-column> </kendo-grid-column>
<kendo-grid-column title="Actions" [width]="50"> <kendo-grid-column title="Actions" [width]="85">
<ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex"> <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
<button type="button" kendoButton icon="delete" class="kt-delete" <button type="button" kendoButton icon="delete" class="kt-delete"
style="width: fit-content;" (click)="onClickRemoveSupervisors(dataItem)"> style="width: fit-content;" (click)="onClickRemoveSupervisors(dataItem)">

View File

@ -29,6 +29,9 @@ import { process, State } from '@progress/kendo-data-query';
import { DataStateChangeEvent } from '@progress/kendo-angular-grid'; import { DataStateChangeEvent } from '@progress/kendo-angular-grid';
import { noUndefined } from '@angular/compiler/src/util'; import { noUndefined } from '@angular/compiler/src/util';
import { EnumStatus } from '../../_models/enums'; import { EnumStatus } from '../../_models/enums';
import { AuthService } from '../../_services/auth/auth.service';
import { PayrollType } from '../../_models/Authentication/payrollType';
import { SalaryService } from '../../_services/payroll/salary.service';
@ -47,6 +50,8 @@ export class ProductionBonusSetupComponent implements OnInit {
public loadingPanelService: loadingPanelService, public loadingPanelService: loadingPanelService,
public employeeService: EmployeeServices, public employeeService: EmployeeServices,
public bonusService: BonusService, public bonusService: BonusService,
public authservice: AuthService,
public salaryService: SalaryService,
public datePipe: DatePipe) { public datePipe: DatePipe) {
this.apiService.selectedMenuName = 'Production Bonus Setup'; this.apiService.selectedMenuName = 'Production Bonus Setup';
this._departmentPicker = new DynamicPicker(EnumDynamicpickerType.Department, false); this._departmentPicker = new DynamicPicker(EnumDynamicpickerType.Department, false);
@ -70,6 +75,10 @@ export class ProductionBonusSetupComponent implements OnInit {
//Child-level 2 //Child-level 2
prodBonusSupervisor: ProdBonusSupervisor; prodBonusSupervisor: ProdBonusSupervisor;
prodBonusParameter: ProdBonusParameter; prodBonusParameter: ProdBonusParameter;
isprevious: boolean = false;
iSalaryProcesed: boolean = false;
salaryMonth: Date = new Date();
payrollType: PayrollType;
prodBonusAttn: ProdBonusAttn[]; prodBonusAttn: ProdBonusAttn[];
depts: Department[] = []; depts: Department[] = [];
@ -120,11 +129,22 @@ export class ProductionBonusSetupComponent implements OnInit {
// ]; // ];
ngOnInit(): void { ngOnInit(): void {
this.productionBonusSetup = new ProductionBonusSetup(); this.productionBonusSetup = new ProductionBonusSetup();
this.prodBonusLine = new ProdBonusLine(); this.prodBonusLine = new ProdBonusLine();
this.prodBonusSupervisor = new ProdBonusSupervisor(); this.prodBonusSupervisor = new ProdBonusSupervisor();
this.prodBonusParameter = new ProdBonusParameter(); this.prodBonusParameter = new ProdBonusParameter();
this.prodBonusWork = new ProdBonusWorkSchedule(); this.prodBonusWork = new ProdBonusWorkSchedule();
this.authservice.GetPayrollTypeByLoginID().subscribe(
(resp: any) => {
this.payrollType = resp;
},
(err: any) => {
},
() => {
this.salaryMonth = new Date(this.payrollType.nextPayProcessDate);
}
);
this.getBonusType(); this.getBonusType();
@ -175,6 +195,32 @@ export class ProductionBonusSetupComponent implements OnInit {
Loadlayout() { Loadlayout() {
this.selectedProdBSdata = undefined; this.selectedProdBSdata = undefined;
debugger; debugger;
this.loadingPanelService.ShowLoadingPanel = true;
this.salaryService.IsSalaryProcessed(new Date(this.payrollType.nextPayProcessDate)).subscribe(
(resp: any) => {
this.iSalaryProcesed = resp;
},
(err: any) => {
this.loadingPanelService.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
},
() => {
this.loadingPanelService.ShowLoadingPanel = false;
if (new Date(this.selectedSalaryDate) <= new Date(this.payrollType.lastPayProcessDate) ||
(new Date(this.selectedSalaryDate) > new Date(this.payrollType.lastPayProcessDate) &&
new Date(this.payrollType.nextPayProcessDate) >= new Date(this.selectedSalaryDate) && this.iSalaryProcesed)) {
this.isprevious = true;
}
else {
this.isprevious = false;
}
});
const data = { const data = {
createdDate: this.selectedSalaryDate createdDate: this.selectedSalaryDate
} }
@ -344,8 +390,8 @@ export class ProductionBonusSetupComponent implements OnInit {
pdrs.forEach(x => { pdrs.forEach(x => {
var item = this.scheduleTime.find(y => y.startDateTime == x.startDateTime); var item = this.scheduleTime.find(y => y.startDateTime == x.startDateTime);
if (item != undefined) { if (item != undefined) {
x.inTime = new Date( item.inTime); x.inTime = new Date(item.inTime);
x.outTime = new Date( item.outTime); x.outTime = new Date(item.outTime);
x.totalCount = item.scheduleCount; x.totalCount = item.scheduleCount;
} }
} }
@ -593,11 +639,18 @@ export class ProductionBonusSetupComponent implements OnInit {
} }
onClickRemoveSupervisors(data: any) { onClickRemoveSupervisors(data: any) {
debugger; debugger;
if (data.id == 0) {
const index = this.prodBonusLine.prodBonusSupervisors.findIndex(item => item.employeeID === data.employeeID);
if (index !== -1) {
this.prodBonusLine.prodBonusSupervisors.splice(index, 1);
}
} else {
const index = this.prodBonusLine.prodBonusSupervisors.findIndex(item => item.id === data.id); const index = this.prodBonusLine.prodBonusSupervisors.findIndex(item => item.id === data.id);
if (index !== -1) { if (index !== -1) {
this.prodBonusLine.prodBonusSupervisors.splice(index, 1); this.prodBonusLine.prodBonusSupervisors.splice(index, 1);
} }
} }
}
clearFields() { clearFields() {
this.productionBonusSetup = new ProductionBonusSetup(); this.productionBonusSetup = new ProductionBonusSetup();
this.productionBonusSetup.fromDate = new Date(); this.productionBonusSetup.fromDate = new Date();
@ -620,7 +673,7 @@ export class ProductionBonusSetupComponent implements OnInit {
createWorkSchedule(data: any) { createWorkSchedule(data: any) {
debugger; debugger;
var newlineParameter: ProdBonusParameter = new ProdBonusParameter(); var newlineParameter: ProdBonusParameter = new ProdBonusParameter();
if (this.isNewLine){ if (this.isNewLine) {
newlineParameter.itemID = this._departmentPicker.selectedID; newlineParameter.itemID = this._departmentPicker.selectedID;
newlineParameter.itemType = 0; newlineParameter.itemType = 0;
newlineParameter.prodBonusSetupID = this.productionBonusSetup.id; newlineParameter.prodBonusSetupID = this.productionBonusSetup.id;

View File

@ -30,8 +30,8 @@
<label>Employee Id </label> <label>Employee Id </label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-8 form-control-lg "> <div class="p-col-12 p-md-6 p-lg-8 form-control-lg ">
<input formControlName="employeeId" [readonly]="!newEmployee" <input formControlName="employeeId"[readonly]="true"
[(ngModel)]="employee.employeeNo" type="text" style="width:100%" pInputText required> [(ngModel)]="employee.employeeNo" type="text" style="width:100%" pInputText><!-- [readonly]="!newEmployee"-->
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin:auto"> <div class="p-col-12 p-md-6 p-lg-4" style="margin:auto">
<label for="txtempName">Name </label> <label for="txtempName">Name </label>
@ -73,10 +73,26 @@
style="width:100%"></kendo-datepicker> style="width:100%"></kendo-datepicker>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin:auto">
<label for="txtfatherName">Father's Name</label>
</div>
<div class="p-col-12 p-md-6 p-lg-8 form-control-lg">
<input id="txtfatherName" formControlName="fatherName" [(ngModel)]="employee.fatherName" type="text"
style="width:100%" pInputText>
</div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin:auto">
<label for="txttinNo">TIN</label>
</div>
<div class="p-col-12 p-md-6 p-lg-8 form-control-lg">
<input id="txttinNo" formControlName="tinNo" [(ngModel)]="employee.tinNo" type="text"
style="width:100%" pInputText>
</div>
<div class="p-col-12 p-md-6 p-lg-4" style="height: 43px;"> <div class="p-col-12 p-md-6 p-lg-4" style="height: 43px;">
<label for="chkIsOTEligible">Eligible for OT</label> <label for="chkIsOTEligible">Eligible for OT</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-8 form-control-lg"> <div class="p-col-12 p-md-6 p-lg-2 form-control-lg">
<input type="checkbox" formControlName="isOTEligible" [(ngModel)]="employee.isEligibleOT" <input type="checkbox" formControlName="isOTEligible" [(ngModel)]="employee.isEligibleOT"
id="chkIsOTEligible" kendoCheckBox /> id="chkIsOTEligible" kendoCheckBox />
@ -85,7 +101,7 @@
<label for="chkIsFixedLocation">Fixed Location / <label for="chkIsFixedLocation">Fixed Location /
Nearby</label> Nearby</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-8 form-control-lg"> <div class="p-col-12 p-md-6 p-lg-2 form-control-lg">
<input type="checkbox" formControlName="IsFixedLocation" <input type="checkbox" formControlName="IsFixedLocation"
[(ngModel)]="employee.isFixedLocation" id="chkIsFixedLocation" kendoCheckBox /> [(ngModel)]="employee.isFixedLocation" id="chkIsFixedLocation" kendoCheckBox />
</div> </div>
@ -188,6 +204,15 @@
[(ngModel)]="employee.joiningDate" [format]="'dd-MMM-yyyy'" [(ngModel)]="employee.joiningDate" [format]="'dd-MMM-yyyy'"
style="width:100%"></kendo-datepicker> style="width:100%"></kendo-datepicker>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin:auto">
<label for="dtpEndofContract">End of Contract</label>
</div>
<div class="p-col-12 p-md-6 p-lg-8 form-control-lg">
<kendo-datepicker id="dtpEndofContract" formControlName="endOfContractDate"
[(ngModel)]="employee.endOfContractDate" [format]="'dd-MMM-yyyy'"
style="width:100%"></kendo-datepicker>
</div>
</div> </div>
</div> </div>

View File

@ -137,19 +137,19 @@ export class EmployeePayrollProfileComponent implements OnInit {
this.lastSalaryProcessDate(); this.lastSalaryProcessDate();
this.loadingPanelService.ShowLoadingPanel = true; // this.loadingPanelService.ShowLoadingPanel = true;
this.employeeService.generateEmployeeNo().subscribe( // this.employeeService.generateEmployeeNo().subscribe(
(resp) => { // (resp) => {
this.employee.employeeNo = resp as string; // this.employee.employeeNo = resp as string;
}, // },
(err) => { // (err) => {
this.notificationService.showError(err); // this.notificationService.showError(err);
this.loadingPanelService.ShowLoadingPanel = false; // this.loadingPanelService.ShowLoadingPanel = false;
}, // },
() => { // () => {
this.loadingPanelService.ShowLoadingPanel = false; // this.loadingPanelService.ShowLoadingPanel = false;
} // }
); // );
} }
else { else {
this.employee.employeeNo = undefined; this.employee.employeeNo = undefined;
@ -229,7 +229,8 @@ export class EmployeePayrollProfileComponent implements OnInit {
createForm() { createForm() {
this.employeeForm = new FormBuilder().group({ this.employeeForm = new FormBuilder().group({
isNew: ['', Validators.required], isNew: ['', Validators.required],
employeeId: ['', Validators.required], // employeeId: ['', Validators.required],
employeeId: [''],
name: ['', Validators.required], name: ['', Validators.required],
mobileNo: [''], mobileNo: [''],
emailAddress: [''], emailAddress: [''],
@ -250,6 +251,9 @@ export class EmployeePayrollProfileComponent implements OnInit {
isShownInTaxSheet: [''], isShownInTaxSheet: [''],
isConfirmed: [''], isConfirmed: [''],
foreignExpatriate: [''], foreignExpatriate: [''],
fatherName: [''],
tinNo: [''],
endOfContractDate: [''],
}); });
} }
@ -273,7 +277,7 @@ export class EmployeePayrollProfileComponent implements OnInit {
this.employee.joiningDate = new Date(this.employee.joiningDate); this.employee.joiningDate = new Date(this.employee.joiningDate);
}, },
(err: any) => { (err: any) => {
this.notificationService.showError(err.error);
}, },
() => { () => {
debugger; debugger;
@ -295,7 +299,8 @@ export class EmployeePayrollProfileComponent implements OnInit {
}, },
(err: any) => { (err: any) => {
console.log(err); // console.log(err);
this.notificationService.showError(err.error);
}, },
() => { () => {
this.empLineManager = new SearchEmployee(); this.empLineManager = new SearchEmployee();
@ -329,6 +334,32 @@ export class EmployeePayrollProfileComponent implements OnInit {
} }
} }
// public saveGeneratedEmployee() {
// debugger;
// if (this.newEmployee === true) {
// this.loadingPanelService.ShowLoadingPanel = true;
// this.employeeService.generateEmployeeNo().subscribe(
// (resp) => {
// this.employee.employeeNo = resp as string;
// },
// (err) => {
// this.notificationService.showError(err);
// this.loadingPanelService.ShowLoadingPanel = false;
// },
// () => {
// this.loadingPanelService.ShowLoadingPanel = false;
// setTimeout(() => {
// this.saveEmployee();
// }, 1000);
// }
// );
// }
// else {
// this.saveEmployee();
// }
// }
saveEmployee() { saveEmployee() {

View File

@ -260,7 +260,8 @@ export class EmployeePickerComponent implements OnInit {
]; ];
public loadData(): void { public loadData(): void {
this.gridView = { this.gridView = {
data: orderBy(this.data.slice(this.skip, this.skip + this.pageSize), this.sort), // data: orderBy(this.data.slice(this.skip, this.skip + this.pageSize), this.sort),
data: this.data.slice(this.skip, this.skip + this.pageSize),
total: this.data.length, total: this.data.length,
}; };
this.selectedItems = []; this.selectedItems = [];
@ -454,7 +455,8 @@ export class EmployeePickerComponent implements OnInit {
name = value; name = value;
} }
this.loadingEmployee = true; this.loadingEmployee = true;
this.empSrvc.getEmpCodeName(code, name) // this.empSrvc.getEmpCodeName(code, name)
this.empSrvc.getEmpCodeNameForEmployeePickerInput(code, name)
.subscribe( .subscribe(
(resp: any) => { (resp: any) => {
this.searchEmployees = resp; this.searchEmployees = resp;
@ -602,10 +604,18 @@ export class EmployeePickerComponent implements OnInit {
} }
if (this.checkLive === true) { if (this.checkLive === true) {
//Previous Code For Only Live Employee
srcManager.Parameter.AddParam(EnumSearchParameter.Status, EnumSearchObjDataType.Number, 1, EnumSQLOperator.EqualTo); srcManager.Parameter.AddParam(EnumSearchParameter.Status, EnumSearchObjDataType.Number, 1, EnumSQLOperator.EqualTo);
//New Code For Live And Waiting For Join
// srcManager.Parameter.AddParam(EnumSearchParameter.Status, EnumSearchObjDataType.Number, '1,6', EnumSQLOperator.In);
} }
if (this.checkLiveNo === true) { if (this.checkLiveNo === true) {
srcManager.Parameter.AddParam(EnumSearchParameter.Status, EnumSearchObjDataType.Number, 2, EnumSQLOperator.EqualTo); //Previous Code For Only Not Live
// srcManager.Parameter.AddParam(EnumSearchParameter.Status, EnumSearchObjDataType.Number, 2, EnumSQLOperator.EqualTo);
//New Code For Live And Waiting For Join
srcManager.Parameter.AddParam(EnumSearchParameter.Status, EnumSearchObjDataType.Number, '2,6', EnumSQLOperator.In);
} }
if (this.checkIA === true) if (this.checkIA === true)
srcManager.Parameter.AddParam(EnumSearchParameter.Status, EnumSearchObjDataType.Number, EnumEmployeeStatus.IA, EnumSQLOperator.EqualTo); srcManager.Parameter.AddParam(EnumSearchParameter.Status, EnumSearchObjDataType.Number, EnumEmployeeStatus.IA, EnumSQLOperator.EqualTo);

View File

@ -0,0 +1,66 @@
<app-loading-panel> </app-loading-panel>
<div class="card" style="padding:10px;">
<div class="p-grid" style="justify-content: center">
<div class="p-col-12">
<fieldset style="border-radius: 5px;">
<div class="p-grid" style="margin-top: auto; margin-bottom: auto;">
<div class="p-col-4">
<app-employee-picker
[setSelectedEmp]="selectedEmployee"
(ItemSelected)="GetSelectedEmployee($event)"></app-employee-picker>
</div>
<div class="p-col-1">
<label>Authorized Person</label>
</div>
<div class="p-col-3">
<kendo-dropdownlist [(ngModel)]="authorizedPerson" [data]="authorizedPersons" [textField]="'name'"
[valueField]="'id'" [defaultItem]="{ name: 'Select Authorized Person..', id: null }"
style="width:100%;">
</kendo-dropdownlist>
</div>
<div class="p-col-1">
<label>Report</label>
</div>
<div class="p-col-3">
<kendo-dropdownlist [(ngModel)]="selectedreportType" [data]="reportTypes" [textField]="'text'"
[valueField]="'value'" [defaultItem]="{ text: 'Select Report Type..', value: null }"
style="width:100%;">
</kendo-dropdownlist>
</div>
<!-- <div class="p-col-3" align="middle">
<label>Salary Allocation Date</label>
</div>
<div class="p-col-3">
<kendo-datepicker [(ngModel)]="salaryAllocationDate" [format]="salaryAllocationDateFormat"
[bottomView]="bottomView" [topView]="topview" style="width:100%"></kendo-datepicker>
</div>
<div class="p-col-3" align="middle" *ngIf="showLocation">
<label>Location</label>
</div>
<div class="p-col-3" *ngIf="showLocation">
<kendo-dropdownlist [(ngModel)]="selectedLocation" [data]="locations"
[defaultItem]="{ name: 'Select Location..', id: 0 }" [textField]="'name'" [valueField]="'id'"
(valueChange)="locationChange($event)"
style="width:100%;">
</kendo-dropdownlist>
</div> -->
</div>
<div class="p-col-12" align="right">
<button kendoButton icon="file-pdf" [primary]="true" (click)="preview('PDF')">Preview</button>
<button kendoButton icon="file-excel" [primary]="true" style="margin-left:5px;"
(click)="preview('EXCEL')">Export</button>
</div>
</fieldset>
</div>
</div>
</div>
<div class="card" *ngIf="showPopUp" class="blur-background">
<kendo-window [height]="600" title="{{PDFTitle}}" *ngIf="showPopUp" (close)="closeForm()"
[style]="{'min-width': '70%','max-width': '100%', 'max-height': '100%'}">
<app-loading-panel> </app-loading-panel>
<div class='embed-responsive'>
<iframe class="pdf-viewer" id="pdf-viewer-report" type='application/pdf' [zoom]="zoomLevel"></iframe>
</div>
</kendo-window>
</div>

View File

@ -0,0 +1,194 @@
import { Component, OnInit } from '@angular/core';
import { DynamicPicker, EnumDynamicpickerType } from '../../picker/dynamic-picker/Dynamic-Picker';
import {
EnumBloodGroup,
EnumExtension,
EnumGender,
EnumMaritalStatus,
EnumSearchFrom,
EnumSearchObjDataType,
EnumSearchParameter,
EnumSQLOperator,
EnumStatus
} from '../../_models/enums';
import { SearchEmployee, SearchManager } from '../../_models/Employee/searchEmployee';
import { EmployeeServices } from '../../_services/employee/employee.service';
import { EmployeeBasicInfo } from '../../_models/report/employee-basic-info';
import { Router } from '@angular/router';
import { EmployeeDetailInfo } from '../../_models/report/employeeDetailInfo';
import { loadingPanelService } from '../../hrm-loding panel/loding.panel.service';
import { ColumnDefinition, Columns, ReportViewerListColumn } from '../report-viewer/repor-viewer-object';
import { AttendanceServices } from '../../_services/attendance/attendance.service';
import { DailyAttnByStatusReport } from '../../_models/Attendance/dailyAttnByStatusReport';
import { HRMNotificationService } from '../../app.notification.service';
import { DataStateChangeEvent, GridDataResult, PageChangeEvent, SelectableSettings, SelectableMode } from '@progress/kendo-angular-grid';
import { ExcelExportData } from '@progress/kendo-angular-excel-export';
import { DataResult, GroupDescriptor, process, State } from '@progress/kendo-data-query';
import { ReportServices } from '../../_services/reports/report.service';
import { DomSanitizer } from '@angular/platform-browser';
import { BasicService } from '../../_services/Basic/basic.service';
import { LoanService } from 'src/app/_services/payroll/loan.service';
import { ApiService } from '../../app.api.service';
import { TaxParameter } from '../../_models/Payroll/Tax/taxParameter';
import { TaxService } from '../../_services/payroll/tax.service';
import { LeaveService } from '../../_services/leave/leave.service';
import { PayrollType } from '../../_models/Authentication/payrollType';
import { User } from '../../_models/Authentication/user';
import { AuthService } from '../../_services/auth/auth.service';
import { saveAs } from 'file-saver';
import { SalaryService } from '../../_services/payroll/salary.service';
import { LoanIssue } from 'src/app/_models/Payroll/Loan/loanIssue';
import { Bank } from 'src/app/_models/Basic/bank';
import { formatDate } from '@progress/kendo-angular-intl';
import { encodeBase64 } from '@progress/kendo-file-saver';
import { AuthorizedPerson } from 'src/app/adhoc-feature/authorized-persons/authorizedPerson';
import { Employee } from 'src/app/_models/Employee/employee';
import { HrEmployee } from 'src/app/_models/HREmployee/hrEmployee';
@Component({
selector: 'app-employee-profile-reports',
templateUrl: './employee-profile-reports.component.html',
styleUrls: ['./employee-profile-reports.component.scss']
})
export class EmployeeProfileReportsComponent implements OnInit {
public showPopUp: boolean = false;
public src: any;
public PDFTitle = '';
public selectedreportType: EnumProfileReportType;
public reportTypes = Object.keys(EnumProfileReportType)
.filter(key => !isNaN(Number(EnumProfileReportType[key])))
.map(key => ({
text: key.replace(/_/g, ' '),
value: EnumProfileReportType[key]
}));
public authorizedPersons: AuthorizedPerson[] = [];
public authorizedPerson: AuthorizedPerson;
public selectedEmployee: SearchEmployee;
public employee: HrEmployee;
constructor(public employeeService: EmployeeServices,
public attendanceService: AttendanceServices,
public reportService: ReportServices,
private sanitizer: DomSanitizer,
public basicService: BasicService,
public loanService: LoanService,
public taxService: TaxService,
public salaryService: SalaryService,
public leaveYearService: LeaveService,
public router: Router, public loadingPanel: loadingPanelService,
public notificationService: HRMNotificationService,
public apiService: ApiService, public authService: AuthService) {
}
ngOnInit(): void {
this.loadAuthorizedPerson();
}
closeForm(): void {
this.showPopUp = false;
this.loadingPanel.ShowLoadingPanel = false;
}
preview(reportType: string) {
debugger;
const data = {
reportID: this.selectedreportType['value'],
personID: this.authorizedPerson.id,
employeeID: this.selectedEmployee.employeeID,
reportType: reportType
};
this.loadingPanel.ShowLoadingPanel = true;
if (reportType === 'PDF')
this.showPopUp = true;
this.reportService.getProfileReportData(data).subscribe(
(resp: any) => {
if (reportType === 'PDF') {
this.src = URL.createObjectURL(this.b64toBlob(resp, 'application/pdf', 1024));
var element = <HTMLIFrameElement>(document.getElementById("pdf-viewer-report"));
element.src = this.src;
} else if (reportType === 'EXCEL') {
this.downloadFile(resp);
}
},
(err) => {
this.closeForm();
console.log(err);
this.notificationService.showError(err.error);
this.loadingPanel.ShowLoadingPanel = false;
},
() => {
this.loadingPanel.ShowLoadingPanel = false;
// this.loadGrid();
}
);
}
downloadFile(blobContent) {
let blob = new Blob([this.b64toBlob(blobContent, 'application/data:application/vnd.ms-excel', 1024)], {});
saveAs(blob, this.PDFTitle + '.xls');
}
b64toBlob(b64Data, contentType, sliceSize) {
const byteCharacters = atob(b64Data);
const byteArrays = [];
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
const slice = byteCharacters.slice(offset, offset + sliceSize);
const byteNumbers = new Array(slice.length);
for (let i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
const byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
const blob = new Blob(byteArrays, { type: contentType });
return blob;
}
public loadAuthorizedPerson() {
this.employeeService.getAuthorizedPerson().subscribe(
(resp) => {
this.authorizedPersons = resp as AuthorizedPerson[];
},
(err: any) => {
this.notificationService.showError(err.error);
this.loadingPanel.ShowLoadingPanel = false;
}
);
}
public GetSelectedEmployee(childData: any) {
if (childData === undefined) {
this.employee = new HrEmployee();
return;
}
this.selectedEmployee = childData;
// this.employeeService.getHREmployeeID(this.selectedEmployee.employeeID).subscribe(
// (resp: any) => {
// this.employee = resp;
// },
// (err: any) => {
// this.notificationService.showError(err.error);
// }
// );
}
}
export enum EnumProfileReportType {
Print_CV = 1,
// Employee_Service_Book = 2,
Appointment_Letter_Worker = 3,
Appointment_Letter_Staff = 4,
Appointment_Letter_Officer = 5
}

View File

@ -30,6 +30,7 @@ import { PfLedgerComponent } from './pf-ledger/pf-ledger.component';
import { CcWiseBonusSummaryComponent } from './cc-wise-bonus-summary/cc-wise-bonus-summary.component'; import { CcWiseBonusSummaryComponent } from './cc-wise-bonus-summary/cc-wise-bonus-summary.component';
import { CcwiseSalarySummaryComponent } from './ccwise-salary-summary/ccwise-salary-summary.component'; import { CcwiseSalarySummaryComponent } from './ccwise-salary-summary/ccwise-salary-summary.component';
import { CcwiseNewPfMemberWithAmountComponent } from './ccwise-new-pf-member-with-amount/ccwise-new-pf-member-with-amount.component'; import { CcwiseNewPfMemberWithAmountComponent } from './ccwise-new-pf-member-with-amount/ccwise-new-pf-member-with-amount.component';
import { EmployeeProfileReportsComponent } from './employee-profile-reports/employee-profile-reports.component';
const routes: Routes = [ const routes: Routes = [
@ -160,6 +161,7 @@ const routes: Routes = [
{ path: 'report-viewer/721', component: ReportViewerComponent, canActivate: [AuthGuard] }, { path: 'report-viewer/721', component: ReportViewerComponent, canActivate: [AuthGuard] },
{ path: 'report-viewer/722', component: ReportViewerComponent, canActivate: [AuthGuard] }, { path: 'report-viewer/722', component: ReportViewerComponent, canActivate: [AuthGuard] },
{ path: 'report-viewer/723', component: ReportViewerComponent, canActivate: [AuthGuard] }, { path: 'report-viewer/723', component: ReportViewerComponent, canActivate: [AuthGuard] },
{ path: 'report-viewer/profile-reports', component: EmployeeProfileReportsComponent, canActivate: [AuthGuard] },
]; ];

View File

@ -48,6 +48,7 @@ import { PfLedgerComponent } from './pf-ledger/pf-ledger.component';
import { CcWiseBonusSummaryComponent } from './cc-wise-bonus-summary/cc-wise-bonus-summary.component'; import { CcWiseBonusSummaryComponent } from './cc-wise-bonus-summary/cc-wise-bonus-summary.component';
import { CcwiseSalarySummaryComponent } from './ccwise-salary-summary/ccwise-salary-summary.component'; import { CcwiseSalarySummaryComponent } from './ccwise-salary-summary/ccwise-salary-summary.component';
import { CcwiseNewPfMemberWithAmountComponent } from './ccwise-new-pf-member-with-amount/ccwise-new-pf-member-with-amount.component'; import { CcwiseNewPfMemberWithAmountComponent } from './ccwise-new-pf-member-with-amount/ccwise-new-pf-member-with-amount.component';
import { EmployeeProfileReportsComponent } from './employee-profile-reports/employee-profile-reports.component';
@NgModule({ @NgModule({
declarations: [ declarations: [
@ -74,7 +75,8 @@ import { CcwiseNewPfMemberWithAmountComponent } from './ccwise-new-pf-member-wit
PfLedgerComponent, PfLedgerComponent,
CcWiseBonusSummaryComponent, CcWiseBonusSummaryComponent,
CcwiseSalarySummaryComponent, CcwiseSalarySummaryComponent,
CcwiseNewPfMemberWithAmountComponent CcwiseNewPfMemberWithAmountComponent,
EmployeeProfileReportsComponent
], ],
imports: [ imports: [
CommonModule, CommonModule,

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -89,7 +89,11 @@ namespace HRM.UI.Controllers
param = new object[2]; param = new object[2];
param[i] = EnumStatus.Active; param[i] = EnumStatus.Active;
if(cty.PayrollTypeID == null)
param[i + 1] = (int)CurrentUser.GetCurrentUser(HttpContext.User).PayrollTypeID; param[i + 1] = (int)CurrentUser.GetCurrentUser(HttpContext.User).PayrollTypeID;
else
param[i + 1] = (int)cty.PayrollTypeID;
paramtypes = new Type[2]; paramtypes = new Type[2];
paramtypes[i] = typeof(EnumStatus); paramtypes[i] = typeof(EnumStatus);

View File

@ -17,6 +17,7 @@ using Microsoft.Extensions.Options;
using static Azure.Core.HttpHeader; using static Azure.Core.HttpHeader;
using iTextSharp.text; using iTextSharp.text;
using static iTextSharp.text.pdf.AcroFields; using static iTextSharp.text.pdf.AcroFields;
using Org.BouncyCastle.Utilities;
namespace HRM.UI.Controllers namespace HRM.UI.Controllers
{ {
@ -132,8 +133,11 @@ namespace HRM.UI.Controllers
omanager.checkDataPermission = currentUser.hasDataPermission; omanager.checkDataPermission = currentUser.hasDataPermission;
omanager.userid = currentUser.UserID; omanager.userid = currentUser.UserID;
List<SearchEmployee> unOrderedList = _serachManager.Find(omanager);
olist = unOrderedList
.OrderBy(num => num.EmployeeNo.Length) // Order by length (smallest to largest)
.ThenBy(num => Convert.ToInt32(num.EmployeeNo)).ToList();
olist = _serachManager.Find(omanager);
//omanager.checkDataPermission = false; //omanager.checkDataPermission = false;
#region data permission #region data permission
//List<DataPermission> datapermissions = new DataPermissionService().Get(currentUser.UserID, //List<DataPermission> datapermissions = new DataPermissionService().Get(currentUser.UserID,
@ -239,7 +243,7 @@ namespace HRM.UI.Controllers
[Route("saveEmployee")] [Route("saveEmployee")]
public ActionResult SaveEmployee(Employee item) public ActionResult SaveEmployee(Employee item)
{ {
int ans; Employee ans;
CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User);
if (item.IsNew == true) if (item.IsNew == true)
@ -256,7 +260,8 @@ namespace HRM.UI.Controllers
try try
{ {
ans = _EmployeeService.Save(item); //ans = _EmployeeService.Save(item);
ans = _EmployeeService.SaveEmployee(item);
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -545,7 +550,7 @@ namespace HRM.UI.Controllers
return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); return StatusCode(StatusCodes.Status500InternalServerError, ex.Message);
} }
return Ok(item.ID); return Ok(item);
} }
@ -733,7 +738,20 @@ namespace HRM.UI.Controllers
List<SearchEmployee> olist = new List<SearchEmployee>(); List<SearchEmployee> olist = new List<SearchEmployee>();
try try
{ {
olist = _serachManager.FindEmpCodeName((int) currentUser.PayrollTypeID, code, name); //olist = _serachManager.FindEmpCodeName((int) currentUser.PayrollTypeID, code, name);
if(code != "")
{
List<SearchEmployee> unorderedList = _serachManager.FindEmpCodeName((int)currentUser.PayrollTypeID, code, name);
olist = unorderedList
.OrderBy(item => item.EmployeeNo != code) // False (0) for priority value, True (1) for others
.ThenBy(item => item.EmployeeNo).ToList();
}
else
{
olist = _serachManager.FindEmpCodeName((int)currentUser.PayrollTypeID, code, name);
}
//List<Grade> grades = new GradeService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID); //List<Grade> grades = new GradeService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID);
//List<Designation> designations = new DesignationService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID); //List<Designation> designations = new DesignationService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID);
//List<Department> departments = new DepartmentService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID); //List<Department> departments = new DepartmentService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID);
@ -746,7 +764,55 @@ namespace HRM.UI.Controllers
// if (designation != null) x.designationName = designation.Name; // if (designation != null) x.designationName = designation.Name;
// var department = departments.FirstOrDefault(d => d.ID == x.DepartmentID); // var department = departments.FirstOrDefault(d => d.ID == x.DepartmentID);
// if (department != null) x.departmentName = department.Name; // if (department != null) x.departmentName = department.Name;
//}); //}); // Secondary ordering (alphabetical)
}
catch (Exception ex)
{
return StatusCode(StatusCodes.Status500InternalServerError, ex.Message);
}
return Ok(olist);
}
[HttpGet("getEmpCodeNameForEmployeePickerInput/{code}/{name}")]
public ActionResult getEmpCodeNameForEmployeePicker(string code, string name)
{
code = GlobalFunctions.GetApiDefaultData(code);
name = GlobalFunctions.GetApiDefaultData(name);
CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User);
List<SearchEmployee> olist = new List<SearchEmployee>();
try
{
//olist = _serachManager.FindEmpCodeName((int) currentUser.PayrollTypeID, code, name);
if(code != "")
{
List<SearchEmployee> unorderedList = _serachManager.FindEmpCodeNameForEmployeePicker((int)currentUser.UserID, (int)currentUser.PayrollTypeID, code, name);
olist = unorderedList
.OrderBy(item => item.EmployeeNo != code) // False (0) for priority value, True (1) for others
.ThenBy(item => item.EmployeeNo).ToList();
}
else
{
olist = _serachManager.FindEmpCodeNameForEmployeePicker((int)currentUser.UserID, (int)currentUser.PayrollTypeID, code, name);
}
//List<Grade> grades = new GradeService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID);
//List<Designation> designations = new DesignationService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID);
//List<Department> departments = new DepartmentService().Get(EnumStatus.Regardless, (int)currentUser.PayrollTypeID);
//olist.ForEach(x=>
//{
// var grd = grades.FirstOrDefault(d => d.ID == x.GradeID);
// if(grd != null) x.gradeName = grd.Name;
// var designation = designations.FirstOrDefault(d => d.ID == x.designationID);
// if (designation != null) x.designationName = designation.Name;
// var department = departments.FirstOrDefault(d => d.ID == x.DepartmentID);
// if (department != null) x.departmentName = department.Name;
//}); // Secondary ordering (alphabetical)
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -1500,11 +1566,11 @@ namespace HRM.UI.Controllers
//this._hrEmployeeService.uplaodFile(item); //this._hrEmployeeService.uplaodFile(item);
base64String = Convert.ToBase64String(textAsBytes); base64String = Convert.ToBase64String(textAsBytes);
} }
if (directoryUpload) if (directoryUpload || item.filetype== enumEmpFileUploadType.photo || item.filetype == enumEmpFileUploadType.signature)
{ {
PhotoPath photoPath = new PhotoPathService().Get().FirstOrDefault(); PhotoPath photoPath = new PhotoPathService().Get().FirstOrDefault();
string employeeNo = (new EmployeeService().Get(item.employeeID)).EmployeeNo; string employeeNo = (new EmployeeService().Get(item.employeeID)).EmployeeNo;
string TargetFolder = photoPath.EmployeePhoto; string TargetFolder = @"Documents\EMPPHOTO\";
if (photoPath != null) if (photoPath != null)
{ {
string newFileName = ""; string newFileName = "";
@ -1649,6 +1715,47 @@ namespace HRM.UI.Controllers
return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); return StatusCode(StatusCodes.Status500InternalServerError, ex.Message);
} }
} }
[HttpGet("GetEmpImageSignFile/{empid}/{referenceid}/{filetype}")]
public ActionResult GetEmpImageSignFile(int empid, int referenceid, enumEmpFileUploadType filetype)
{
empFileupload item = new empFileupload();
string employeeNo = (new EmployeeService().Get(empid)).EmployeeNo;
string TargetFolder = @"Documents\EMPPHOTO\";
string newFileName = "";
switch (filetype)
{
case enumEmpFileUploadType.photo:
newFileName = string.Format("Image-{0}.jpg", employeeNo);
break;
case enumEmpFileUploadType.signature:
newFileName = string.Format("Signature-{0}.jpg", employeeNo);
break;
//case enumEmpFileUploadType.NomineePicture:
// newFileName = string.Format("Image-{0}.jpg", employeeNo);
// break;
//case enumEmpFileUploadType.NomineeSignature:
// newFileName = string.Format("Image-{0}.jpg", employeeNo);
// break;
default:
break;
}
string imagePath = TargetFolder+ newFileName;
if (System.IO.File.Exists(imagePath))
{
byte[] textAsBytes = System.IO.File.ReadAllBytes(imagePath);
string base64String = "";
if (item != null)
{
base64String = Convert.ToBase64String(textAsBytes);
}
return Ok(base64String);
}
else return Ok("");
}
[HttpGet("GetuploadEmpFile/{empid}/{referenceid}/{filetype}")] [HttpGet("GetuploadEmpFile/{empid}/{referenceid}/{filetype}")]
public ActionResult GetuploadEmpFile(int empid, int referenceid, enumEmpFileUploadType filetype) public ActionResult GetuploadEmpFile(int empid, int referenceid, enumEmpFileUploadType filetype)

View File

@ -476,7 +476,7 @@ namespace HRM.UI.Controllers.Payroll
foreach (ProdBonusSupervisor prodSupervisor in prodLine.ProdBonusSupervisors) foreach (ProdBonusSupervisor prodSupervisor in prodLine.ProdBonusSupervisors)
{ {
oEmp = new EmployeeService().Get(prodSupervisor.EmployeeID); oEmp = new EmployeeService().Get(prodSupervisor.EmployeeID);
if (oEmp.DepartmentID != null) if (oEmp!=null && oEmp.DepartmentID != null)
{ {
var dev = detps.FirstOrDefault(x => x.ID == oEmp.DepartmentID); var dev = detps.FirstOrDefault(x => x.ID == oEmp.DepartmentID);
@ -503,9 +503,11 @@ namespace HRM.UI.Controllers.Payroll
} }
} }
if (oEmp != null)
{
prodSupervisor.EmpName = oEmp.Name; prodSupervisor.EmpName = oEmp.Name;
prodSupervisor.EmployeeNo = oEmp.EmployeeNo; prodSupervisor.EmployeeNo = oEmp.EmployeeNo;
}
} }
prodLine.ProdBonusParameters = _prodBonusParameterService.GetByLineID(prodLine.ID); prodLine.ProdBonusParameters = _prodBonusParameterService.GetByLineID(prodLine.ID);
Department oDept = new Department(); Department oDept = new Department();
@ -517,7 +519,7 @@ namespace HRM.UI.Controllers.Payroll
} }
prodLine.ProdBonusWorkSchedules = _prodBonusWorkScheduleService.GetByLineID(prodLine.ID); prodLine.ProdBonusWorkSchedules = _prodBonusWorkScheduleService.GetByLineID(prodLine.ID);
} }
item.ProdBonusWorkSchedules = _prodBonusWorkScheduleService.GetWithSetupID(ID); // item.ProdBonusWorkSchedules = _prodBonusWorkScheduleService.GetWithSetupID(ID);
} }
catch (Exception e) catch (Exception e)
{ {
@ -666,7 +668,9 @@ namespace HRM.UI.Controllers.Payroll
ProdBonusLine _oProdBonusLine = (ProdBonusLine)item["prodLine"].ToObject<ProdBonusLine>(); ProdBonusLine _oProdBonusLine = (ProdBonusLine)item["prodLine"].ToObject<ProdBonusLine>();
CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User);
List<Employee> _oEmployees = new EmployeeService().Get(EnumEmployeeStatus.Live, (int)currentUser.PayrollTypeID); //List<Employee> _oEmployees = new EmployeeService().Get(EnumEmployeeStatus.Live, (int)currentUser.PayrollTypeID);
DataTable EmployeeDT = new EmployeeService().GetEmployeeNameAndNo((int)currentUser.PayrollTypeID);
List<Employee> _oFinalEmployees = new List<Employee>(); List<Employee> _oFinalEmployees = new List<Employee>();
List<ProdBonusParameter> _oProdBonusParameters = new List<ProdBonusParameter>(); List<ProdBonusParameter> _oProdBonusParameters = new List<ProdBonusParameter>();
List<ProdBonusSupervisor> _oProdBonusSupervisors = new List<ProdBonusSupervisor>(); List<ProdBonusSupervisor> _oProdBonusSupervisors = new List<ProdBonusSupervisor>();
@ -684,7 +688,13 @@ namespace HRM.UI.Controllers.Payroll
{ {
foreach (var pda in _oProdBonusAttns) foreach (var pda in _oProdBonusAttns)
{ {
Employee emp = _oEmployees.Find(o => o.ID == pda.EmployeeID); //Employee emp = _oEmployees.Find(o => o.ID == pda.EmployeeID);
DataRow[] foundRows = EmployeeDT.Select($"id = {pda.EmployeeID}");
Employee emp = new Employee();
emp.ID = Convert.ToInt32(foundRows[0]["id"]);
emp.EmployeeNo = Convert.ToString(foundRows[0]["EmployeeNo"]);
emp.Name = Convert.ToString(foundRows[0]["Name"]);
if (emp != null) _oFinalEmployees.Add(emp); if (emp != null) _oFinalEmployees.Add(emp);
} }

View File

@ -956,6 +956,27 @@ namespace HRM.UI.Controllers.Payroll
return Ok(); return Ok();
} }
[HttpGet]
[Route("IsSalaryprocessedMonthly/{salarymonth}")]
public ActionResult IsSalaryprocessedMonthly(string salarymonth)
{
bool isSalaryprocessed = false;
DateTime month=Convert.ToDateTime(salarymonth);
CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User);
try
{
isSalaryprocessed= _salaryProcessService.IsSalaryprocessed(month, (int)currentUser.PayrollTypeID);
}
catch (Exception e)
{
return StatusCode(StatusCodes.Status500InternalServerError, e.Message);
}
return Ok(isSalaryprocessed);
}
[HttpPost] [HttpPost]
[Route("salaryProcessApprove")] [Route("salaryProcessApprove")]
public ActionResult SalaryProcessApprove(SalaryProcess process) public ActionResult SalaryProcessApprove(SalaryProcess process)

View File

@ -1695,6 +1695,54 @@ namespace HRM.UI.Controllers.Report
return StatusCode(StatusCodes.Status500InternalServerError, e.Message); return StatusCode(StatusCodes.Status500InternalServerError, e.Message);
} }
return Ok(bytes);
}
[HttpPost("getProfileReportData")]
public ActionResult getProfileReportData(dynamic data)
{
CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User);
var items = Newtonsoft.Json.JsonConvert.DeserializeObject(Convert.ToString(data));
EnumProfileReportType reportid = (EnumProfileReportType)items["reportID"].ToObject<int>();
int personID = 0;
int employeeID = 0;
if (items["personID"] != null)
personID = (int)items["personID"].ToObject<int>();
if (items["employeeID"] != null)
employeeID = (int)items["employeeID"].ToObject<int>();
string reportType = (string)items["reportType"].ToObject<string>();
int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault();
byte[] bytes = null;
try
{
switch (reportid)
{
case EnumProfileReportType.Print_CV:
bytes = new rptEmployee().GetEmployeeCV(employeeID, payrollTypeId, reportType);
break;
case EnumProfileReportType.Employee_Service_Book:
break;
case EnumProfileReportType.Appointment_Letter_Officer:
bytes = new rptEmployee().GetAsstOfficeAndAbove(employeeID, payrollTypeId, reportType);
break;
case EnumProfileReportType.Appointment_Letter_Worker:
break;
case EnumProfileReportType.Appointment_Letter_Staff:
break;
default:
break;
}
}
catch (Exception e)
{
return StatusCode(StatusCodes.Status500InternalServerError, e.Message);
}
return Ok(bytes); return Ok(bytes);
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
HRM.UI/EMPPHOTO/Image-3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because it is too large Load Diff

View File

@ -4,53 +4,55 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-11" ViewPortY="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="51" ViewPortY="362" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <Shapes>
<Shape ID="DesignTable:ComapnyInformation" ZOrder="28" X="14" Y="12" Height="105" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="91" SplitterPosition="101" /> <Shape ID="DesignTable:ComapnyInformation" ZOrder="30" X="14" Y="12" Height="105" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="91" SplitterPosition="101" />
<Shape ID="DesignTable:DepartmentWiseManpower" ZOrder="45" X="260" Y="7" Height="105" Width="226" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" SplitterPosition="101" /> <Shape ID="DesignTable:DepartmentWiseManpower" ZOrder="47" X="260" Y="7" Height="105" Width="226" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" SplitterPosition="101" />
<Shape ID="DesignTable:BankAdvice" ZOrder="29" X="582" Y="51" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:BankAdvice" ZOrder="31" X="582" Y="51" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:BankAdviceLetter" ZOrder="44" X="580" Y="14" Height="181" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="177" /> <Shape ID="DesignTable:BankAdviceLetter" ZOrder="46" X="580" Y="14" Height="181" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="177" />
<Shape ID="DesignTable:BankAdviceParameters" ZOrder="43" X="582" Y="84" Height="257" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:BankAdviceParameters" ZOrder="45" X="582" Y="84" Height="257" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:DtAgeRange" ZOrder="42" X="261" Y="40" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="82" /> <Shape ID="DesignTable:DtAgeRange" ZOrder="44" X="261" Y="40" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="82" />
<Shape ID="DesignTable:dtQualificationWiseManpower" ZOrder="41" X="261" Y="72" Height="86" Width="243" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="82" /> <Shape ID="DesignTable:dtQualificationWiseManpower" ZOrder="43" X="261" Y="72" Height="86" Width="243" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="82" />
<Shape ID="DesignTable:EmployeeMasterData" ZOrder="5" X="906" Y="1" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:EmployeeMasterData" ZOrder="7" X="906" Y="1" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:DTProvidentFund" ZOrder="40" X="261" Y="104" Height="143" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="139" /> <Shape ID="DesignTable:DTProvidentFund" ZOrder="42" X="261" Y="104" Height="143" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="139" />
<Shape ID="DesignTable:SalarySheet" ZOrder="23" X="1255" Y="6" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:SalarySheet" ZOrder="25" X="1255" Y="6" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:SalarySummary" ZOrder="24" X="1255" Y="40" Height="28" Width="156" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" /> <Shape ID="DesignTable:SalarySummary" ZOrder="26" X="1255" Y="40" Height="28" Width="156" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" />
<Shape ID="DesignTable:dtCashAdvice" ZOrder="38" X="263" Y="138" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="196" /> <Shape ID="DesignTable:dtCashAdvice" ZOrder="40" X="263" Y="138" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="196" />
<Shape ID="DesignTable:StuffListWithoutSalary" ZOrder="22" X="1256" Y="75" Height="28" Width="198" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:StuffListWithoutSalary" ZOrder="24" X="1256" Y="75" Height="28" Width="198" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:DTMonthlyPF" ZOrder="34" X="262" Y="170" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="196" /> <Shape ID="DesignTable:DTMonthlyPF" ZOrder="36" X="262" Y="170" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="196" />
<Shape ID="DesignTable:DTOPI" ZOrder="39" X="262" Y="202" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="139" /> <Shape ID="DesignTable:DTOPI" ZOrder="41" X="262" Y="202" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="139" />
<Shape ID="DesignTable:SalaryComparison" ZOrder="25" X="1257" Y="109" Height="28" Width="171" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:SalaryComparison" ZOrder="27" X="1257" Y="109" Height="28" Width="171" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:ExperienceCertificate" ZOrder="4" X="907" Y="41" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" /> <Shape ID="DesignTable:ExperienceCertificate" ZOrder="6" X="907" Y="41" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
<Shape ID="DesignTable:BonusBankAdvice" ZOrder="30" X="581" Y="117" Height="219" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="215" /> <Shape ID="DesignTable:BonusBankAdvice" ZOrder="32" X="581" Y="117" Height="219" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="215" />
<Shape ID="DesignTable:ManagersPTT" ZOrder="27" X="22" Y="195" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:ManagersPTT" ZOrder="29" X="22" Y="195" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:DeptWiseCompany" ZOrder="37" X="262" Y="236" Height="257" Width="177" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:DeptWiseCompany" ZOrder="39" X="262" Y="236" Height="257" Width="177" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:SalaryCertificate" ZOrder="21" X="1258" Y="141" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" /> <Shape ID="DesignTable:SalaryCertificate" ZOrder="23" X="1258" Y="141" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
<Shape ID="DesignTable:LetterOfAccountIntro" ZOrder="20" X="1258" Y="173" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:LetterOfAccountIntro" ZOrder="22" X="1258" Y="173" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:DTFSS" ZOrder="35" X="263" Y="269" Height="257" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:DTFSS" ZOrder="37" X="263" Y="269" Height="257" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:DTFSSItems" ZOrder="36" X="265" Y="301" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="139" /> <Shape ID="DesignTable:DTFSSItems" ZOrder="38" X="265" Y="301" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="139" />
<Shape ID="DesignTable:PFException" ZOrder="3" X="912" Y="92" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:PFException" ZOrder="5" X="912" Y="92" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:NewPF" ZOrder="6" X="919" Y="193" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:NewPF" ZOrder="8" X="919" Y="193" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:MonthlySalaryRevision" ZOrder="26" X="22" Y="230" Height="162" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="158" /> <Shape ID="DesignTable:MonthlySalaryRevision" ZOrder="28" X="22" Y="230" Height="162" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="158" />
<Shape ID="DesignTable:EmployeePersonalInfo" ZOrder="2" X="591" Y="198" Height="28" Width="200" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:EmployeePersonalInfo" ZOrder="3" X="12" Y="475" Height="28" Width="200" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:EmployeeQualification" ZOrder="7" X="113" Y="369" Height="28" Width="197" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:EmployeeQualification" ZOrder="9" X="14" Y="508" Height="28" Width="197" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:EmpGrandFatherInfo" ZOrder="8" X="427" Y="471" Height="257" Width="187" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:EmpGrandFatherInfo" ZOrder="10" X="427" Y="471" Height="257" Width="187" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:AllTaxInfo" ZOrder="33" X="740" Y="538" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" /> <Shape ID="DesignTable:AllTaxInfo" ZOrder="35" X="740" Y="538" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
<Shape ID="DesignTable:CostCenterInfo" ZOrder="32" X="-1" Y="0" Height="86" Width="153" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="82" /> <Shape ID="DesignTable:CostCenterInfo" ZOrder="34" X="-1" Y="0" Height="86" Width="153" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="82" />
<Shape ID="DesignTable:MoneyReceipt" ZOrder="31" X="494" Y="273" Height="257" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" /> <Shape ID="DesignTable:MoneyReceipt" ZOrder="33" X="494" Y="273" Height="257" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
<Shape ID="DesignTable:BankAdviceNmgt" ZOrder="19" X="1259" Y="216" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:BankAdviceNmgt" ZOrder="21" X="1259" Y="216" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:dtGeneral" ZOrder="14" X="1262" Y="250" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" /> <Shape ID="DesignTable:dtGeneral" ZOrder="16" X="1262" Y="250" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" />
<Shape ID="DesignTable:dtContacts" ZOrder="18" X="1242" Y="281" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:dtContacts" ZOrder="20" X="1242" Y="281" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:dtSpouse" ZOrder="15" X="1266" Y="311" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="120" SplitterPosition="24" /> <Shape ID="DesignTable:dtSpouse" ZOrder="17" X="1266" Y="311" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="120" SplitterPosition="24" />
<Shape ID="DesignTable:dtChildren" ZOrder="17" X="1267" Y="345" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" /> <Shape ID="DesignTable:dtChildren" ZOrder="19" X="1267" Y="345" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpExperience" ZOrder="16" X="1259" Y="378" Height="28" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpExperience" ZOrder="18" X="1259" Y="378" Height="28" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpTraining" ZOrder="13" X="1270" Y="411" Height="28" Width="152" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpTraining" ZOrder="15" X="1270" Y="411" Height="28" Width="152" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpAcademic" ZOrder="12" X="1268" Y="445" Height="28" Width="160" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpAcademic" ZOrder="14" X="1268" Y="445" Height="28" Width="160" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpReference" ZOrder="11" X="1265" Y="480" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpReference" ZOrder="13" X="1265" Y="480" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" />
<Shape ID="DesignTable:dtEmpPublication" ZOrder="9" X="1262" Y="517" Height="28" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" /> <Shape ID="DesignTable:dtEmpPublication" ZOrder="11" X="1262" Y="517" Height="28" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:dtNominee" ZOrder="10" X="1280" Y="547" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" /> <Shape ID="DesignTable:dtNominee" ZOrder="12" X="1280" Y="547" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
<Shape ID="DesignTable:EducationalInfo" ZOrder="1" X="894" Y="425" Height="162" Width="157" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" /> <Shape ID="DesignTable:EducationalInfo" ZOrder="4" X="894" Y="425" Height="162" Width="157" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
<Shape ID="DesignTable:PastOwnerAndJobInfo" ZOrder="2" X="836" Y="248" Height="28" Width="197" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
<Shape ID="DesignTable:LeaveRecord" ZOrder="1" X="1063" Y="425" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
</Shapes> </Shapes>
<Connectors /> <Connectors />
</DiagramLayout> </DiagramLayout>