Compare commits
17 Commits
dev_chapal
...
devqc
Author | SHA1 | Date | |
---|---|---|---|
1558e175e8 | |||
38e1917a33 | |||
491b56cc0f | |||
ccabffeeec | |||
634c30f368 | |||
116f8171ef | |||
558c53d4d3 | |||
2d28fb9ac5 | |||
accd302ef4 | |||
e6cafe58f8 | |||
dc29f2f17c | |||
7b8473faef | |||
327d9843d7 | |||
e77dbeaf9f | |||
4f7337c5b7 | |||
89f9dddd85 | |||
d78c5879ac |
|
@ -1398,6 +1398,54 @@ namespace HRM.BO
|
||||||
|
|
||||||
return InWords;
|
return InWords;
|
||||||
}
|
}
|
||||||
|
public static string MillionToInWords(int no)
|
||||||
|
{
|
||||||
|
if (no == 0)
|
||||||
|
return "zero";
|
||||||
|
|
||||||
|
if (no < 0)
|
||||||
|
return "minus " + MillionToInWords(Math.Abs(no));
|
||||||
|
|
||||||
|
string stringValue = "";
|
||||||
|
|
||||||
|
if ((no / 1000000) > 0)
|
||||||
|
{
|
||||||
|
stringValue += MillionToInWords(no / 1000000) + " million ";
|
||||||
|
no %= 1000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((no / 1000) > 0)
|
||||||
|
{
|
||||||
|
stringValue += MillionToInWords(no / 1000) + " thousand ";
|
||||||
|
no %= 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((no / 100) > 0)
|
||||||
|
{
|
||||||
|
stringValue += MillionToInWords(no / 100) + " hundred ";
|
||||||
|
no %= 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (no > 0)
|
||||||
|
{
|
||||||
|
if (stringValue != "")
|
||||||
|
stringValue += "and ";
|
||||||
|
|
||||||
|
var units = new[] { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
|
||||||
|
var tens = new[] { "zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
|
||||||
|
|
||||||
|
if (no < 20)
|
||||||
|
stringValue += units[no];
|
||||||
|
else
|
||||||
|
{
|
||||||
|
stringValue += tens[no / 10];
|
||||||
|
if ((no % 10) > 0)
|
||||||
|
stringValue += "-" + units[no % 10];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return stringValue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -417,7 +417,8 @@ namespace HRM.BO
|
||||||
{
|
{
|
||||||
Email = 1,
|
Email = 1,
|
||||||
Event = 2,
|
Event = 2,
|
||||||
Letter = 3
|
Letter = 3,
|
||||||
|
Desktop_Letter = 4
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum EnumLeaveDayPeriod
|
public enum EnumLeaveDayPeriod
|
||||||
|
@ -555,9 +556,14 @@ namespace HRM.BO
|
||||||
public const string CandidateDesig = "<<CANDIDATEDESIGNATION>>";
|
public const string CandidateDesig = "<<CANDIDATEDESIGNATION>>";
|
||||||
public const string CandidateGrade = "<<CANDIDATEGRADE>>";
|
public const string CandidateGrade = "<<CANDIDATEGRADE>>";
|
||||||
public const string CandidateBasic = "<<CANDIDATEBASIC>>";
|
public const string CandidateBasic = "<<CANDIDATEBASIC>>";
|
||||||
|
public const string CandidateBasicPercent = "<<CANDIDATEBASICPERCENT>>";
|
||||||
public const string AllowHR = "<<ALLOWHR>>";
|
public const string AllowHR = "<<ALLOWHR>>";
|
||||||
|
public const string AllowHRPercent = "<<ALLOWHRPERCENT>>";
|
||||||
public const string AllowLTA = "<<ALLOWLTA>>";
|
public const string AllowLTA = "<<ALLOWLTA>>";
|
||||||
|
public const string AllowMedical = "<<ALLOWMEDICAL>>";
|
||||||
|
public const string AllowMedicalPercent = "<<ALLOWMEDICALPERCENT>>";
|
||||||
public const string AllowConveyance = "<<ALLOWCONVEYANCE>>";
|
public const string AllowConveyance = "<<ALLOWCONVEYANCE>>";
|
||||||
|
public const string AllowConveyancePercent = "<<ALLOWCONVEYANCEPERCENT>>";
|
||||||
public const string AllowTotal = "<<TOTAL>>";
|
public const string AllowTotal = "<<TOTAL>>";
|
||||||
public const string AcceptWithIN = "<<ACCEPTWITHIN>>";
|
public const string AcceptWithIN = "<<ACCEPTWITHIN>>";
|
||||||
public const string JoiningBefore = "<<JOINBEFORE>>";
|
public const string JoiningBefore = "<<JOINBEFORE>>";
|
||||||
|
@ -575,6 +581,53 @@ namespace HRM.BO
|
||||||
public const string LineManagerDesignation = "<<SUPERVISORDESIGNATION>>";
|
public const string LineManagerDesignation = "<<SUPERVISORDESIGNATION>>";
|
||||||
public const string FathersName = "<<FATHERSNAME>>";
|
public const string FathersName = "<<FATHERSNAME>>";
|
||||||
public const string MothersName = "<<MOTHERSNAME>>";
|
public const string MothersName = "<<MOTHERSNAME>>";
|
||||||
|
public const string TakaInWord = "<<TakaInWord>>";
|
||||||
|
|
||||||
|
|
||||||
|
public const string EmpPresentAddress = "<<EMPPresentAddress>>";
|
||||||
|
public const string EmpPresentDistrict = "<<EMPPresentDistrict>>";
|
||||||
|
public const string EmpPresentThana = "<<EMPPresentThana>>";
|
||||||
|
public const string EmpPresentCountry = "<<EMPPresentCountry>>";
|
||||||
|
public const string EmpNationality = "<<EMPNationality>>";
|
||||||
|
public const string EmpPresentPhone = "<<EMPPresentPhone>>";
|
||||||
|
public const string EmpPresentMobile = "<<EMPPresentMobile>>";
|
||||||
|
public const string EmpReligion = "<<EmpReligion>>";
|
||||||
|
public const string EmpGender = "<<EmpGender>>";
|
||||||
|
public const string EmpMaritalStatus = "<<EmpMaritalStatus>>";
|
||||||
|
|
||||||
|
// Bangla Tags
|
||||||
|
public const string EmpNameBangla = "<<bvg>>";
|
||||||
|
public const string EmpCodeBangla = "<<‡KvW>>";
|
||||||
|
public const string EmpWorkType = "<<Kv‡RiaiY>>";
|
||||||
|
public const string EmpSpouseName = "<<¯^vgx/¯¿xibvg>>";
|
||||||
|
public const string JoiningDateBangla = "<<‡hvM`vb>>";
|
||||||
|
public const string EmpDesignaionBangla = "<<c`ex>>";
|
||||||
|
public const string EmpDepartmentBangla = "<<wefvM>>";
|
||||||
|
public const string BirthDateBangla = "<<Rb¥ZvwiL>>";
|
||||||
|
public const string ProbationDateBangla = "<<wk¶vbexkZvwiL>>";
|
||||||
|
public const string GradeBangla = "<<†MÖW>>";
|
||||||
|
public const string BasicSalaryBangla = "<<gyj†eZb>>";
|
||||||
|
public const string HouseRentBangla = "<<evoxfvov>>";
|
||||||
|
public const string ConveyenceBangla = "<<hvZvqvZfvZv>>";
|
||||||
|
public const string MedicalBangla = "<<wPwKrmvfvZv>>";
|
||||||
|
public const string FoodBangla = "<<Lv`¨fvZv>>";
|
||||||
|
public const string AttendenceBonusBangla = "<<ab>>";
|
||||||
|
public const string ConductBonusBangla = "<<cb>>";
|
||||||
|
public const string FatherNameBangla = "<<wcZvibvg>>";
|
||||||
|
public const string MotherNameBangla = "<<gvZvibvg>>";
|
||||||
|
public const string SpouseNameBangla = "<<¯úvD†Ri bvg>>";
|
||||||
|
public const string VillagePABangla = "<<¯’vqxMÖvg>>";
|
||||||
|
public const string PostOfficePABangla = "<<¯’vqx‡cvóAwdm>>";
|
||||||
|
public const string ThanaPABangla = "<<¯’vqx_vbv>>";
|
||||||
|
public const string DistrictPABangla = "<<¯’vqx‡Rjv>>";
|
||||||
|
public const string VillageTABangla = "<<eZ©gvbMÖvg>>";
|
||||||
|
public const string PostOfficeTABangla = "<<eZ©gvb‡cvóAwdm>>";
|
||||||
|
public const string ThanaTABangla = "<<eZ©gvb_vbv>>";
|
||||||
|
public const string DistrictTABangla = "<<eZ©gvb‡Rjv>>";
|
||||||
|
public const string TotalTakaBangla = "<<me©‡gvU>>";
|
||||||
|
public const string SectionBangla = "<<‡mKkb>>";
|
||||||
|
public const string BloodGroupBangla = "<<i‡³iMÖæc>>";
|
||||||
|
public const string FloorBangla = "<<‡d¬vi>>";
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -3991,4 +4044,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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,18 @@
|
||||||
<Compile Remove="Attendance\BuyerSetup.cs" />
|
<Compile Remove="Attendance\BuyerSetup.cs" />
|
||||||
<Compile Remove="Organogram\OrganisationChart.cs" />
|
<Compile Remove="Organogram\OrganisationChart.cs" />
|
||||||
<Compile Remove="Process\NotificationProcess.cs" />
|
<Compile Remove="Process\NotificationProcess.cs" />
|
||||||
<Compile Remove="TagOutput\MSWord.cs" />
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<COMReference Include="Microsoft.Office.Interop.Word">
|
||||||
|
<WrapperTool>tlbimp</WrapperTool>
|
||||||
|
<VersionMinor>7</VersionMinor>
|
||||||
|
<VersionMajor>8</VersionMajor>
|
||||||
|
<Guid>00020905-0000-0000-c000-000000000046</Guid>
|
||||||
|
<Lcid>0</Lcid>
|
||||||
|
<Isolated>false</Isolated>
|
||||||
|
<EmbedInteropTypes>true</EmbedInteropTypes>
|
||||||
|
</COMReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -58,6 +58,7 @@ namespace HRM.BO
|
||||||
public string Experience { get; set; }
|
public string Experience { get; set; }
|
||||||
public string Skill { get; set; }
|
public string Skill { get; set; }
|
||||||
public string PrevCandidateStatus { get; set; }
|
public string PrevCandidateStatus { get; set; }
|
||||||
|
public string TrackNo { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
//#region Service Factory ICVService : ICVService
|
//#region Service Factory ICVService : ICVService
|
||||||
|
|
|
@ -14,29 +14,60 @@ namespace HRM.BO
|
||||||
|
|
||||||
public class FixedLetterTemplte
|
public class FixedLetterTemplte
|
||||||
{
|
{
|
||||||
//BAT Letter Template
|
////BAT Letter Template
|
||||||
public const int Visa_Letter_Business_Trip_With_Family = 1;
|
//public const int Visa_Letter_Business_Trip_With_Family = 1;
|
||||||
public const int Salary_Certificate = 2;
|
//public const int Salary_Certificate = 2;
|
||||||
public const int Visa_Letter_Business_Trip = 3;
|
//public const int Visa_Letter_Business_Trip = 3;
|
||||||
public const int Visa_Letter_Personal_Trip = 4;
|
//public const int Visa_Letter_Personal_Trip = 4;
|
||||||
public const int Visa_Letter_With_Family = 5;
|
//public const int Visa_Letter_With_Family = 5;
|
||||||
public const int Loan_Letter_Bank = 6;
|
//public const int Loan_Letter_Bank = 6;
|
||||||
public const int Foreign_Currency_Bank_AC_For_secondee = 7;
|
//public const int Foreign_Currency_Bank_AC_For_secondee = 7;
|
||||||
public const int Visa_for_Business_trip_or_Family = 8;
|
//public const int Visa_for_Business_trip_or_Family = 8;
|
||||||
public const int Visa_for_Company_Business = 9;
|
//public const int Visa_for_Company_Business = 9;
|
||||||
public const int Loan_Certificate_Letter_for_Authorization = 10;
|
//public const int Loan_Certificate_Letter_for_Authorization = 10;
|
||||||
public const int Loan_Certificate_Take_Home_Salary = 11;
|
//public const int Loan_Certificate_Take_Home_Salary = 11;
|
||||||
public const int Intvw_BrdMember_Notify_Mail = 12;
|
//public const int Intvw_BrdMember_Notify_Mail = 12;
|
||||||
public const int Employee_Intvw_Notify_Mail = 13;
|
//public const int Employee_Intvw_Notify_Mail = 13;
|
||||||
public const int Applicant_Intvw_Notify_Mail = 14;
|
//public const int Applicant_Intvw_Notify_Mail = 14;
|
||||||
|
//public const int Welcome_Mail_New_Joiner = 15;
|
||||||
|
//public const int Welcome_Mail_Employee = 16;
|
||||||
|
//public const int Induction_Request_New_Joiner = 17;
|
||||||
|
//public const int Induction_Request_Employee = 18;
|
||||||
|
//public const int Announcement_New_Joiner = 19;
|
||||||
|
//public const int Announcement_Employee = 20;
|
||||||
|
//public const int Candidate_Offer_Letter = 21;
|
||||||
|
//public const int Candidate_Appointment_Letter = 22;
|
||||||
|
|
||||||
|
//Echotex Letter Template
|
||||||
|
public const int None = 0;
|
||||||
|
public const int Officer_Appointment_Letter = 1;
|
||||||
|
public const int Staff_Appointment_Letter = 2;
|
||||||
|
public const int Worker_Appointment_Letter = 3;
|
||||||
|
public const int Salary_Certificate_Letter = 4;
|
||||||
|
public const int Official_Visa_Letter = 5;
|
||||||
|
public const int Visa_with_family_Letter = 6;
|
||||||
|
public const int University_admission_Letter = 7;
|
||||||
|
public const int Credit_card_Letter = 8;
|
||||||
|
public const int EXPERIENCE_CERTIFICATE_Letter = 9;
|
||||||
|
public const int Training_Notification = 10; //Done
|
||||||
|
public const int Applicant_Intvw_Notify_Mail = 11; //Done
|
||||||
|
public const int Employee_Intvw_Notify_Mail = 12; //Done
|
||||||
|
public const int Intvw_BrdMember_Notify_Mail = 13; //Done
|
||||||
|
public const int Candidate_Offer_Letter = 14; //Done
|
||||||
public const int Welcome_Mail_New_Joiner = 15;
|
public const int Welcome_Mail_New_Joiner = 15;
|
||||||
public const int Welcome_Mail_Employee = 16;
|
public const int Welcome_Mail_Employee = 16;
|
||||||
public const int Induction_Request_New_Joiner = 17;
|
public const int Induction_Request_New_Joiner = 17;
|
||||||
public const int Induction_Request_Employee = 18;
|
public const int Induction_Request_Employee = 18;
|
||||||
public const int Announcement_New_Joiner = 19;
|
public const int Announcement_New_Joiner = 19;
|
||||||
public const int Announcement_Employee = 20;
|
public const int Announcement_Employee = 20;
|
||||||
public const int Candidate_Offer_Letter = 21;
|
public const int Notify_Candidate_for_Interview = 21;
|
||||||
public const int Candidate_Appointment_Letter = 22;
|
public const int Notify_Candidate_For_Not_Selected = 22;
|
||||||
|
public const int Travel_NOC_Business = 23;
|
||||||
|
public const int Travel_NOC_Personal_with_Family = 24;
|
||||||
|
public const int Travel_NOC_Personal_without_Family = 25;
|
||||||
|
public const int Employment_Certificate = 26;
|
||||||
|
public const int Salary_Without_Increment_Letter = 27;
|
||||||
|
public const int Salary_With_Increment_Letter = 28;
|
||||||
public static bool IsValidForDelete(int templateID)
|
public static bool IsValidForDelete(int templateID)
|
||||||
{
|
{
|
||||||
if (templateID <= 17)
|
if (templateID <= 17)
|
||||||
|
|
|
@ -1,26 +1,24 @@
|
||||||
using Common.BO;
|
|
||||||
using Ease.Core.Model;
|
|
||||||
|
|
||||||
|
|
||||||
using Payroll.BO;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.Collections;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
//using Microsoft.Office.Interop;
|
||||||
|
using Microsoft.Office.Interop.Word;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
namespace Payroll.BO
|
namespace HRM.BO
|
||||||
{
|
{
|
||||||
public class MSWord
|
public class MSWord
|
||||||
{
|
{
|
||||||
private Hashtable _Pair;
|
private Hashtable _Pair;
|
||||||
private string _OriginalFile;
|
private string _OriginalFile;
|
||||||
private string _PreparedFile;
|
private string _PreparedFile;
|
||||||
private Microsoft.Office.Interop.Word.Application _wordapp;
|
private Application _wordapp;
|
||||||
public MSWord()
|
public MSWord()
|
||||||
{
|
{
|
||||||
_wordapp = null;
|
//_wordapp = null;
|
||||||
}
|
}
|
||||||
public Hashtable Pair
|
public Hashtable Pair
|
||||||
{
|
{
|
||||||
|
|
|
@ -85,6 +85,9 @@ namespace HRM.DA
|
||||||
}
|
}
|
||||||
internal static IDataReader Get(TransactionContext tc, EnumStatus status)
|
internal static IDataReader Get(TransactionContext tc, EnumStatus status)
|
||||||
{
|
{
|
||||||
|
if(status == EnumStatus.Regardless)
|
||||||
|
return tc.ExecuteReader("SELECT * FROM GRADES order by code");
|
||||||
|
else
|
||||||
return tc.ExecuteReader("SELECT * FROM GRADES where Status=%n order by code", status);
|
return tc.ExecuteReader("SELECT * FROM GRADES where Status=%n order by code", status);
|
||||||
}
|
}
|
||||||
internal static IDataReader Get(TransactionContext tc, EnumStatus status, string sIDs,
|
internal static IDataReader Get(TransactionContext tc, EnumStatus status, string sIDs,
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -1467,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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -120,7 +120,7 @@ namespace HRM.DA
|
||||||
object obj =
|
object obj =
|
||||||
tc.ExecuteScalar("Select SALARYPROCESSID from SALARYPROCESS where SALARYMONTH=%d AND PAYROLLTYPEID=%n",
|
tc.ExecuteScalar("Select SALARYPROCESSID from SALARYPROCESS where SALARYMONTH=%d AND PAYROLLTYPEID=%n",
|
||||||
dSMonth, payrollTypeID);
|
dSMonth, payrollTypeID);
|
||||||
if (obj == DBNull.Value) return false;
|
if (obj == DBNull.Value || obj == null) return false;
|
||||||
else bShowInDesktop=true;
|
else bShowInDesktop=true;
|
||||||
return bShowInDesktop;
|
return bShowInDesktop;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ using System.Linq.Expressions;
|
||||||
using HRM.BO;
|
using HRM.BO;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using static iTextSharp.text.pdf.AcroFields;
|
using static iTextSharp.text.pdf.AcroFields;
|
||||||
|
using System.Collections;
|
||||||
|
|
||||||
namespace HRM.DA
|
namespace HRM.DA
|
||||||
{
|
{
|
||||||
|
@ -5673,5 +5674,177 @@ namespace HRM.DA
|
||||||
|
|
||||||
return oEmpBasicInfos;
|
return oEmpBasicInfos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Hashtable CollectDataForBanglaAppointmentHash(HREmployee employee, PayrollType payrollType)//, bool isPhotoNeeded = false)
|
||||||
|
{
|
||||||
|
Hashtable table = new Hashtable();
|
||||||
|
|
||||||
|
//DataRow oRow = null;
|
||||||
|
//DataTable dEmpInfo = new DataTable();
|
||||||
|
string sempId = Convert.ToString(employee.ID);
|
||||||
|
PhotoPath pPath = new PhotoPathService().Get().FirstOrDefault();
|
||||||
|
DataTable dtEmpBasicInfo = new EmployeeService().GetAllEmpBasicInfo(sempId)
|
||||||
|
.Tables[0]
|
||||||
|
.AsEnumerable()
|
||||||
|
.CopyToDataTable();
|
||||||
|
|
||||||
|
if (dtEmpBasicInfo.Rows.Count > 0)
|
||||||
|
{
|
||||||
|
DataRow drBasic = dtEmpBasicInfo.Rows[0];
|
||||||
|
|
||||||
|
//oRow = dEmpInfo.NewRow();
|
||||||
|
table.Add(TagOutputConstant.EmpNameBangla, drBasic["BanglaName"].ToString());
|
||||||
|
table.Add(TagOutputConstant.EmpCodeBangla, drBasic["EmployeeNo"].ToString());
|
||||||
|
table.Add(TagOutputConstant.EmpSpouseName, drBasic["SPOUSENAMEBANGLA"].ToString());
|
||||||
|
table.Add(TagOutputConstant.EmpWorkType, drBasic["WorkType"].ToString());
|
||||||
|
|
||||||
|
table.Add(TagOutputConstant.FatherNameBangla, drBasic["FATHERNAMEBANGLA"].ToString());
|
||||||
|
table.Add(TagOutputConstant.MotherNameBangla, drBasic["MOTHERNAMEBANGLA"].ToString());
|
||||||
|
table.Add(TagOutputConstant.SpouseNameBangla, drBasic["SPOUSENAMEBANGLA"].ToString());
|
||||||
|
//oRow["HusbandName"] = string.Empty;
|
||||||
|
table.Add(TagOutputConstant.JoiningDateBangla, Convert.ToDateTime(drBasic["JoiningDate"].ToString()).ToString("dd'/'MM'/'yyyy"));
|
||||||
|
table.Add(TagOutputConstant.ProbationDateBangla, Convert.ToDateTime(drBasic["JoiningDate"].ToString()).AddDays(90).ToString("dd'/'MM'/'yyyy"));
|
||||||
|
table.Add(TagOutputConstant.BirthDateBangla, Convert.ToDateTime(drBasic["BIRTHDATE"].ToString()).ToString("dd'/'MM'/'yyyy"));
|
||||||
|
//table.Add(TagOutputConstant.BloodGroupBangla, ((EnumBloodGroup)Convert.ToInt32(drBasic["BLOODGROUP"].ToString())).BloodGroupToBangla());
|
||||||
|
table.Add(TagOutputConstant.BloodGroupBangla, GlobalFunctions.BloodGroupToBangla((EnumBloodGroup)Convert.ToInt32(drBasic["BLOODGROUP"].ToString())));
|
||||||
|
//if (isPhotoNeeded && _rImageManager != null)
|
||||||
|
//{
|
||||||
|
// oRow["EmpPhotograph"] = _rImageManager.GetImage(drBasic["PhotoPath"].ToString());
|
||||||
|
//}
|
||||||
|
table.Add(TagOutputConstant.VillagePABangla, drBasic["PERMANENTADDRESSINBANGLA"].ToString());
|
||||||
|
table.Add(TagOutputConstant.PostOfficePABangla, drBasic["ParmanentPOInBangla"].ToString());
|
||||||
|
table.Add(TagOutputConstant.ThanaPABangla, drBasic["ParmanentThanaBangla"].ToString());
|
||||||
|
table.Add(TagOutputConstant.DistrictPABangla, drBasic["ParmanentDistricBANGLA"].ToString());
|
||||||
|
table.Add(TagOutputConstant.VillageTABangla, drBasic["PRESENTADDRESSINBANGLA"].ToString());
|
||||||
|
table.Add(TagOutputConstant.PostOfficeTABangla, drBasic["PresentPOInBangla"].ToString());
|
||||||
|
table.Add(TagOutputConstant.ThanaTABangla, drBasic["TempThanaBangla"].ToString());
|
||||||
|
table.Add(TagOutputConstant.DistrictTABangla, drBasic["TempDistricBANGLA"].ToString());
|
||||||
|
table.Add(TagOutputConstant.EmpDepartmentBangla, drBasic["DepartmentBangla"].ToString());
|
||||||
|
table.Add(TagOutputConstant.SectionBangla, drBasic["SectionBangla"].ToString());
|
||||||
|
table.Add(TagOutputConstant.FloorBangla, drBasic["FloorBangla"].ToString());
|
||||||
|
//oRow["EducationLevel"] = drBasic["EducationLevel"];
|
||||||
|
table.Add(TagOutputConstant.EmpDesignaionBangla, drBasic["BanglaDesignation"].ToString());
|
||||||
|
|
||||||
|
table.Add(TagOutputConstant.GradeBangla, drBasic["GradeBanglaName"].ToString());
|
||||||
|
//oRow["NationalID"] = drBasic["NationalID"];
|
||||||
|
|
||||||
|
string moneyFormat = "#,##0.00";
|
||||||
|
|
||||||
|
table.Add(TagOutputConstant.BasicSalaryBangla, employee.BasicSalary.ToString(moneyFormat));
|
||||||
|
table.Add(TagOutputConstant.HouseRentBangla, 0.ToString(moneyFormat));
|
||||||
|
table.Add(TagOutputConstant.ConveyenceBangla, 0.ToString(moneyFormat));
|
||||||
|
table.Add(TagOutputConstant.MedicalBangla, 0.ToString(moneyFormat));
|
||||||
|
table.Add(TagOutputConstant.FoodBangla, 0.ToString(moneyFormat));
|
||||||
|
table.Add(TagOutputConstant.AttendenceBonusBangla, 0.ToString(moneyFormat));
|
||||||
|
table.Add(TagOutputConstant.ConductBonusBangla, 0.ToString(moneyFormat));
|
||||||
|
|
||||||
|
List<ADParameterEmployee> adParamEmps = null;
|
||||||
|
List<ADParameter> adParams = new ADParameterService().Get(employee.GradeID, EnumEntitleType.Grade, EnumAllowOrDeduct.Allowance, payrollType.ID);
|
||||||
|
List<AllowanceDeduction> allowdeducitons = new AllowanceDeductionService().Get(EnumStatus.Regardless, payrollType.ID);
|
||||||
|
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, payrollTypeID);
|
||||||
|
double amount = new ADParameterService().GetGradeDefinedAmount(employee, employee.BasicSalary, employee.GrossSalary, oEmpGradeSalary, adParam);
|
||||||
|
adParam.AllowanceDeduction = allowdeducitons.FirstOrDefault(x => x.ID == adParam.AllowDeductID);
|
||||||
|
|
||||||
|
switch (adParam.AllowanceDeduction.Code.Trim())
|
||||||
|
{
|
||||||
|
case "001":
|
||||||
|
table.Remove(TagOutputConstant.AttendenceBonusBangla);
|
||||||
|
table.Add(TagOutputConstant.AttendenceBonusBangla, amount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "002":
|
||||||
|
table.Remove(TagOutputConstant.ConductBonusBangla);
|
||||||
|
table.Add(TagOutputConstant.ConductBonusBangla, amount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "008":
|
||||||
|
table.Remove(TagOutputConstant.HouseRentBangla);
|
||||||
|
table.Add(TagOutputConstant.HouseRentBangla, amount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "010":
|
||||||
|
table.Remove(TagOutputConstant.ConveyenceBangla);
|
||||||
|
table.Add(TagOutputConstant.ConveyenceBangla, amount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "011":
|
||||||
|
table.Remove(TagOutputConstant.MedicalBangla);
|
||||||
|
table.Add(TagOutputConstant.MedicalBangla, amount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "006":
|
||||||
|
table.Remove(TagOutputConstant.FoodBangla);
|
||||||
|
table.Add(TagOutputConstant.FoodBangla, amount.ToString(moneyFormat));
|
||||||
|
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 "001":
|
||||||
|
table.Remove(TagOutputConstant.AttendenceBonusBangla);
|
||||||
|
table.Add(TagOutputConstant.AttendenceBonusBangla, adEmp.MonthlyAmount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "002":
|
||||||
|
table.Remove(TagOutputConstant.ConductBonusBangla);
|
||||||
|
table.Add(TagOutputConstant.ConductBonusBangla, adEmp.MonthlyAmount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "008":
|
||||||
|
table.Remove(TagOutputConstant.HouseRentBangla);
|
||||||
|
table.Add(TagOutputConstant.HouseRentBangla, adEmp.MonthlyAmount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "010":
|
||||||
|
table.Remove(TagOutputConstant.ConveyenceBangla);
|
||||||
|
table.Add(TagOutputConstant.ConveyenceBangla, adEmp.MonthlyAmount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "011":
|
||||||
|
table.Remove(TagOutputConstant.MedicalBangla);
|
||||||
|
table.Add(TagOutputConstant.MedicalBangla, adEmp.MonthlyAmount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
case "006":
|
||||||
|
table.Remove(TagOutputConstant.FoodBangla);
|
||||||
|
table.Add(TagOutputConstant.FoodBangla, adEmp.MonthlyAmount.ToString(moneyFormat));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
table.Add(TagOutputConstant.TotalTakaBangla, Math.Round(Convert.ToDouble(table[TagOutputConstant.BasicSalaryBangla]) +
|
||||||
|
Convert.ToDouble(table[TagOutputConstant.HouseRentBangla]) +
|
||||||
|
Convert.ToDouble(table[TagOutputConstant.ConveyenceBangla]) +
|
||||||
|
Convert.ToDouble(table[TagOutputConstant.MedicalBangla]) +
|
||||||
|
Convert.ToDouble(table[TagOutputConstant.FoodBangla]), 0).ToString(moneyFormat));
|
||||||
|
double epf = 0, cpf = 0;
|
||||||
|
double pfPercent = (payrollType.pFContriCompany / 100);
|
||||||
|
epf = cpf = employee.BasicSalary * pfPercent;
|
||||||
|
|
||||||
|
List<PFException> oPfExceptions = new PFExceptionService().Get();
|
||||||
|
PFException oEmpPFException = oPfExceptions.FirstOrDefault(x => x.EmployeeID == employee.ID);
|
||||||
|
if (oEmpPFException != null) // && oEmpPFException.StartDate <= salary.SalaryMonth)
|
||||||
|
{
|
||||||
|
epf = oEmpPFException.EPFPercent == 0 ? oEmpPFException.EPFAmount : GlobalFunctions.Round(employee.BasicSalary * (oEmpPFException.EPFPercent / 100));
|
||||||
|
cpf = oEmpPFException.EPFPercent == 0 ? oEmpPFException.CPFAmount : GlobalFunctions.Round(employee.BasicSalary * (oEmpPFException.CPFPercent / 100));
|
||||||
|
}
|
||||||
|
|
||||||
|
//oRow["EPF"] = epf;
|
||||||
|
//oRow["CPF"] = cpf;
|
||||||
|
|
||||||
|
}
|
||||||
|
return table;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -5052,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)
|
||||||
|
|
|
@ -857,6 +857,9 @@
|
||||||
<TablixColumn>
|
<TablixColumn>
|
||||||
<Width>0.46875in</Width>
|
<Width>0.46875in</Width>
|
||||||
</TablixColumn>
|
</TablixColumn>
|
||||||
|
<TablixColumn>
|
||||||
|
<Width>0.39583in</Width>
|
||||||
|
</TablixColumn>
|
||||||
<TablixColumn>
|
<TablixColumn>
|
||||||
<Width>0.35417in</Width>
|
<Width>0.35417in</Width>
|
||||||
</TablixColumn>
|
</TablixColumn>
|
||||||
|
@ -1198,6 +1201,39 @@
|
||||||
</Textbox>
|
</Textbox>
|
||||||
</CellContents>
|
</CellContents>
|
||||||
</TablixCell>
|
</TablixCell>
|
||||||
|
<TablixCell>
|
||||||
|
<CellContents>
|
||||||
|
<Textbox Name="Textbox100">
|
||||||
|
<CanGrow>true</CanGrow>
|
||||||
|
<KeepTogether>true</KeepTogether>
|
||||||
|
<Paragraphs>
|
||||||
|
<Paragraph>
|
||||||
|
<TextRuns>
|
||||||
|
<TextRun>
|
||||||
|
<Value>=Sum(iif(Fields!ExtraAllowance.Value = 1,1,0))</Value>
|
||||||
|
<Style>
|
||||||
|
<FontSize>8pt</FontSize>
|
||||||
|
</Style>
|
||||||
|
</TextRun>
|
||||||
|
</TextRuns>
|
||||||
|
<Style />
|
||||||
|
</Paragraph>
|
||||||
|
</Paragraphs>
|
||||||
|
<rd:DefaultName>Textbox100</rd:DefaultName>
|
||||||
|
<Style>
|
||||||
|
<Border>
|
||||||
|
<Style>Solid</Style>
|
||||||
|
</Border>
|
||||||
|
<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))>0,"Yellow","White")</BackgroundColor>
|
||||||
|
<PaddingLeft>2pt</PaddingLeft>
|
||||||
|
<PaddingRight>2pt</PaddingRight>
|
||||||
|
<PaddingTop>2pt</PaddingTop>
|
||||||
|
<PaddingBottom>2pt</PaddingBottom>
|
||||||
|
</Style>
|
||||||
|
</Textbox>
|
||||||
|
<rd:Selected>true</rd:Selected>
|
||||||
|
</CellContents>
|
||||||
|
</TablixCell>
|
||||||
<TablixCell>
|
<TablixCell>
|
||||||
<CellContents>
|
<CellContents>
|
||||||
<Textbox Name="Textbox8">
|
<Textbox Name="Textbox8">
|
||||||
|
@ -2457,6 +2493,87 @@
|
||||||
</TablixMember>
|
</TablixMember>
|
||||||
</TablixMembers>
|
</TablixMembers>
|
||||||
</TablixMember>
|
</TablixMember>
|
||||||
|
<TablixMember>
|
||||||
|
<TablixHeader>
|
||||||
|
<Size>0.25in</Size>
|
||||||
|
<CellContents>
|
||||||
|
<Textbox Name="Textbox98">
|
||||||
|
<CanGrow>true</CanGrow>
|
||||||
|
<KeepTogether>true</KeepTogether>
|
||||||
|
<Paragraphs>
|
||||||
|
<Paragraph>
|
||||||
|
<TextRuns>
|
||||||
|
<TextRun>
|
||||||
|
<Value />
|
||||||
|
<Style>
|
||||||
|
<FontSize>8pt</FontSize>
|
||||||
|
</Style>
|
||||||
|
</TextRun>
|
||||||
|
</TextRuns>
|
||||||
|
<Style>
|
||||||
|
<TextAlign>Center</TextAlign>
|
||||||
|
</Style>
|
||||||
|
</Paragraph>
|
||||||
|
</Paragraphs>
|
||||||
|
<rd:DefaultName>Textbox98</rd:DefaultName>
|
||||||
|
<Style>
|
||||||
|
<Border>
|
||||||
|
<Style>None</Style>
|
||||||
|
</Border>
|
||||||
|
<VerticalAlign>Middle</VerticalAlign>
|
||||||
|
<PaddingLeft>2pt</PaddingLeft>
|
||||||
|
<PaddingRight>2pt</PaddingRight>
|
||||||
|
<PaddingTop>2pt</PaddingTop>
|
||||||
|
<PaddingBottom>2pt</PaddingBottom>
|
||||||
|
</Style>
|
||||||
|
</Textbox>
|
||||||
|
</CellContents>
|
||||||
|
</TablixHeader>
|
||||||
|
<TablixMembers>
|
||||||
|
<TablixMember>
|
||||||
|
<TablixHeader>
|
||||||
|
<Size>0.69792in</Size>
|
||||||
|
<CellContents>
|
||||||
|
<Textbox Name="Textbox99">
|
||||||
|
<CanGrow>true</CanGrow>
|
||||||
|
<KeepTogether>true</KeepTogether>
|
||||||
|
<Paragraphs>
|
||||||
|
<Paragraph>
|
||||||
|
<TextRuns>
|
||||||
|
<TextRun>
|
||||||
|
<Value>Extra Allowance</Value>
|
||||||
|
<Style>
|
||||||
|
<FontStyle>Normal</FontStyle>
|
||||||
|
<FontSize>8pt</FontSize>
|
||||||
|
<FontWeight>Normal</FontWeight>
|
||||||
|
<TextDecoration>None</TextDecoration>
|
||||||
|
<Color>#000000</Color>
|
||||||
|
</Style>
|
||||||
|
</TextRun>
|
||||||
|
</TextRuns>
|
||||||
|
<Style>
|
||||||
|
<TextAlign>Center</TextAlign>
|
||||||
|
</Style>
|
||||||
|
</Paragraph>
|
||||||
|
</Paragraphs>
|
||||||
|
<rd:DefaultName>Textbox99</rd:DefaultName>
|
||||||
|
<Style>
|
||||||
|
<Border>
|
||||||
|
<Style>Solid</Style>
|
||||||
|
</Border>
|
||||||
|
<BackgroundColor>Yellow</BackgroundColor>
|
||||||
|
<VerticalAlign>Middle</VerticalAlign>
|
||||||
|
<PaddingLeft>2pt</PaddingLeft>
|
||||||
|
<PaddingRight>2pt</PaddingRight>
|
||||||
|
<PaddingTop>2pt</PaddingTop>
|
||||||
|
<PaddingBottom>2pt</PaddingBottom>
|
||||||
|
</Style>
|
||||||
|
</Textbox>
|
||||||
|
</CellContents>
|
||||||
|
</TablixHeader>
|
||||||
|
</TablixMember>
|
||||||
|
</TablixMembers>
|
||||||
|
</TablixMember>
|
||||||
<TablixMember>
|
<TablixMember>
|
||||||
<TablixHeader>
|
<TablixHeader>
|
||||||
<Size>0.25in</Size>
|
<Size>0.25in</Size>
|
||||||
|
@ -4083,7 +4200,7 @@
|
||||||
<DataSetName>MonthlyKPIDetail</DataSetName>
|
<DataSetName>MonthlyKPIDetail</DataSetName>
|
||||||
<Top>0.16021in</Top>
|
<Top>0.16021in</Top>
|
||||||
<Height>1.19792in</Height>
|
<Height>1.19792in</Height>
|
||||||
<Width>13.95876in</Width>
|
<Width>14.35459in</Width>
|
||||||
<Style>
|
<Style>
|
||||||
<Border>
|
<Border>
|
||||||
<Style>None</Style>
|
<Style>None</Style>
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Ease.Core.Model;
|
using Ease.Core.Model;
|
||||||
using Ease.Core.Utility;
|
using Ease.Core.Utility;
|
||||||
using HRM.BO;
|
using HRM.BO;
|
||||||
|
using HRM.BO.Configuration;
|
||||||
using HRM.DA;
|
using HRM.DA;
|
||||||
using HRM.Report.Attendence.AttendenceDataSet;
|
using HRM.Report.Attendence.AttendenceDataSet;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Reporting.NETCore;
|
using Microsoft.Reporting.NETCore;
|
||||||
using NPOI.SS.Formula.Functions;
|
using NPOI.SS.Formula.Functions;
|
||||||
using NPOI.XSSF.Streaming.Values;
|
using NPOI.XSSF.Streaming.Values;
|
||||||
|
@ -2844,6 +2847,38 @@ namespace HRM.Report
|
||||||
oMonthlyKPIDetail = new EchoTexExceptionReportService().GetMonthlyKPIDetail(dFromDate, dToDate, sEmpID);
|
oMonthlyKPIDetail = new EchoTexExceptionReportService().GetMonthlyKPIDetail(dFromDate, dToDate, sEmpID);
|
||||||
|
|
||||||
|
|
||||||
|
#region Extra
|
||||||
|
|
||||||
|
oMonthlyKPIDetail.Tables[0].Columns.Add("ExtraAllowance", typeof(double));
|
||||||
|
|
||||||
|
if (oMonthlyKPIDetail != null && oMonthlyKPIDetail.Tables.Count > 0)
|
||||||
|
{
|
||||||
|
List<DailyAttnProcess> dAttnProcessess = dAttnProcessess = new DailyAttnProcessService().Get(sEmpID, dFromDate, dToDate);
|
||||||
|
//List<AttnNationalHoliday> oNationalHolidays = AttnNationalHoliday.GetByMonth(dFromDate.FirstDateOfYear(), dFromDate.LastDateOfYear());
|
||||||
|
List<Shift> oShifts = new ShiftService().Get(EnumStatus.Active, payrollTypeID);
|
||||||
|
List<Employee> oemps = new EmployeeService().GetByEmpIDs(sEmpID);
|
||||||
|
List<ADParameter> oAdparameters = new ADParameterService().Get(EnumStatus.Active, EnumAllowOrDeduct.Allowance, payrollTypeID).Where(x => x.AllowDeductID == 4).ToList(); // AllowDeductID = 4 is Extra Allowance in ALLOWANCEDEDUCTION table
|
||||||
|
List<Grade> ogrades = new GradeService().Get(EnumStatus.Regardless);
|
||||||
|
foreach (DataRow monthlyRow in oMonthlyKPIDetail.Tables[0].Rows)
|
||||||
|
{
|
||||||
|
Employee emp = oemps.Find(x => x.EmployeeNo.ToString() == monthlyRow["IDNo"].ToString());
|
||||||
|
if (emp == null) continue;
|
||||||
|
DateTime attnDate = Convert.ToDateTime(monthlyRow["AttnDate"]);
|
||||||
|
List<DailyAttnProcess> dEmpAttn = dAttnProcessess.FindAll(x => x.EmployeeID == emp.ID && x.AttnDate.Date == attnDate.Date).ToList();
|
||||||
|
DataTable oDataTable = new rptEcho().GetEmpDailyAttnNewKPI(emp.ID, dEmpAttn, emp, oShifts, oAdparameters, ogrades);
|
||||||
|
if (oDataTable != null && oDataTable.Rows.Count > 0)
|
||||||
|
{
|
||||||
|
monthlyRow["ExtraAllowance"] = oDataTable.Rows[0]["ExtraAllowance"];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
monthlyRow["ExtraAllowance"] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
DataTable oMnthlyKPIDtlSummary = new AttendenceDataSet.MnthlyKPIDtlSummaryDataTable();
|
DataTable oMnthlyKPIDtlSummary = new AttendenceDataSet.MnthlyKPIDtlSummaryDataTable();
|
||||||
|
|
||||||
#region Summary Parts
|
#region Summary Parts
|
||||||
|
@ -2883,6 +2918,64 @@ namespace HRM.Report
|
||||||
|
|
||||||
return reportProcessor.AttendanceReportsView(null, oMonthlyKPIDetail, null, RDLC, _parameters, true, payrollTypeID, reportType);
|
return reportProcessor.AttendanceReportsView(null, oMonthlyKPIDetail, null, RDLC, _parameters, true, payrollTypeID, reportType);
|
||||||
}
|
}
|
||||||
|
public DataTable GetEmpDailyAttnNewKPI(int EmpID, List<DailyAttnProcess> dAttnProcessess, Employee emp, List<Shift> oShifts, List<ADParameter> oADPrams, List<Grade> ogrades)
|
||||||
|
{
|
||||||
|
AttendenceDataSet.EmpDailyAttnDataTable dTable = new AttendenceDataSet.EmpDailyAttnDataTable();
|
||||||
|
|
||||||
|
var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json");
|
||||||
|
IConfiguration Configuration = builder.Build();
|
||||||
|
|
||||||
|
string sExtraAllowanceHour = Configuration.GetSection("Attendance")["ExtraAllowanceHour"];
|
||||||
|
double dExtraAllowanceHours = 0;
|
||||||
|
if (!double.TryParse(sExtraAllowanceHour, out dExtraAllowanceHours))
|
||||||
|
{
|
||||||
|
dExtraAllowanceHours = 13.5; // Default if Hour not given
|
||||||
|
}
|
||||||
|
DateTime startTime, endTime;
|
||||||
|
|
||||||
|
if (!(dAttnProcessess == null || dAttnProcessess.Count <= 0))
|
||||||
|
{
|
||||||
|
foreach (DailyAttnProcess dAttnProcess in dAttnProcessess)
|
||||||
|
{
|
||||||
|
DataRow Rowbody = dTable.NewRow();
|
||||||
|
Rowbody["ExtraAllowance"] = 0;
|
||||||
|
if (oADPrams != null && emp != null)
|
||||||
|
{
|
||||||
|
foreach (ADParameter adparam in oADPrams)
|
||||||
|
{
|
||||||
|
foreach (ADParameter.ADParameterGrade grn in adparam.ADParameterGrades)
|
||||||
|
{
|
||||||
|
//Grade gr = ogrades.GetItem(grn.GradeID);
|
||||||
|
Grade gr = ogrades.Find(delegate (Grade item) { return item.ID == grn.GradeID; });
|
||||||
|
if (gr != null && gr.ID == emp.GradeID)
|
||||||
|
{
|
||||||
|
if (dAttnProcess.InTime != null && dAttnProcess.InTime != DateTime.MinValue)
|
||||||
|
{
|
||||||
|
Shift sft = oShifts.FirstOrDefault(x => x.ID == dAttnProcess.ShiftID);
|
||||||
|
startTime = dAttnProcess.InTime.Value.Date.Add(sft.InTime.TimeOfDay);
|
||||||
|
|
||||||
|
startTime = (DateTime)startTime.AddMinutes(-15) > (DateTime)dAttnProcess.InTime ? (DateTime)startTime.AddMinutes(-15) : (DateTime)dAttnProcess.InTime;
|
||||||
|
|
||||||
|
endTime = dAttnProcess.OutTime != null ? (DateTime)dAttnProcess.OutTime : DateTime.MinValue;
|
||||||
|
if (endTime != DateTime.MinValue)
|
||||||
|
{
|
||||||
|
if (endTime.Subtract(startTime).Add(TimeSpan.FromMinutes(1)).TotalHours >= dExtraAllowanceHours)
|
||||||
|
{
|
||||||
|
Rowbody["ExtraAllowance"] = 1;// ncount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dTable.Rows.Add(Rowbody);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dTable;
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -5,7 +5,6 @@ using System.Data;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Payroll.BO;
|
|
||||||
using Ease.CoreV35;
|
using Ease.CoreV35;
|
||||||
using Ease.Core.Model;
|
using Ease.Core.Model;
|
||||||
using Ease.Core.Utility;
|
using Ease.Core.Utility;
|
||||||
|
@ -16,6 +15,13 @@ 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;
|
||||||
|
using System.Collections;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using NPOI.HPSF;
|
||||||
|
|
||||||
namespace HRM.Report
|
namespace HRM.Report
|
||||||
{
|
{
|
||||||
|
@ -2914,5 +2920,773 @@ 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();
|
||||||
|
|
||||||
|
string photoPath = "";
|
||||||
|
string basePath = System.Environment.CurrentDirectory + "\\Documents\\EMPPHOTO\\";
|
||||||
|
string fileNamePattern = "Image-" + employee.EmployeeNo.Trim();
|
||||||
|
|
||||||
|
string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff" };
|
||||||
|
string[] matchingFiles = Directory
|
||||||
|
.GetFiles(basePath, fileNamePattern + ".*") // Check all files matching the pattern
|
||||||
|
.Where(file => imageExtensions.Contains(Path.GetExtension(file), StringComparer.OrdinalIgnoreCase))
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
|
if (matchingFiles.Length > 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
photoPath = matchingFiles[0];
|
||||||
|
//Console.WriteLine("Matching image files found:");
|
||||||
|
//foreach (string file in matchingFiles)
|
||||||
|
//{
|
||||||
|
// photoPath = file;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
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"];
|
||||||
|
oRow["EmpPhotograph"] = photoPath;
|
||||||
|
//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;
|
||||||
|
List<AllowanceDeduction> allowdeducitons = new AllowanceDeductionService().Get(EnumStatus.Regardless, payrollTypeID);
|
||||||
|
|
||||||
|
//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);
|
||||||
|
adParam.AllowanceDeduction = allowdeducitons.FirstOrDefault(x => x.ID == adParam.AllowDeductID);
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Generate(LetterTemplte letterTemplte/*LetterTemplte oLetterTemplate*/, int employeeID, int payrollTypeID, string sFPath, string lFileName)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string pdfFilePath = string.Empty;
|
||||||
|
PayrollType payrollType = new PayrollTypeService().Get(payrollTypeID);
|
||||||
|
string[] sBody = { };
|
||||||
|
string sFilePath = string.Empty;
|
||||||
|
Hashtable table = new Hashtable();
|
||||||
|
|
||||||
|
// Commented for testing in development phase
|
||||||
|
//LetterTemplte letterTemplte = new LetterTemplteService().Get(oLetterTemplate.ID);
|
||||||
|
//PhotoPath oPhotoPath = new PhotoPathService().Get(ID.FromInteger(1));
|
||||||
|
//PhotoPath oPhotoPath = new PhotoPathService().Get(1);
|
||||||
|
|
||||||
|
#region Expandable Objects
|
||||||
|
|
||||||
|
// These Objects are create as per demand of diferent letters
|
||||||
|
// These variables could grow depending on the type of ObjectID,suppordID etc
|
||||||
|
|
||||||
|
Employee oEmp = null;
|
||||||
|
HREmployee oHREmp = null;
|
||||||
|
Grade oGrade = null;
|
||||||
|
|
||||||
|
//For Recruitment
|
||||||
|
Candidate oCandidate = null;
|
||||||
|
CV oCV = null;
|
||||||
|
|
||||||
|
List<ADParameter> adParams;
|
||||||
|
|
||||||
|
//Letter Request Notification
|
||||||
|
HRRequest oHRRequest = new HRRequest();
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
string sLetterName = string.Empty;
|
||||||
|
table = new Hashtable();
|
||||||
|
|
||||||
|
switch (letterTemplte.ID)
|
||||||
|
{
|
||||||
|
|
||||||
|
case FixedLetterTemplte.Officer_Appointment_Letter:
|
||||||
|
// Dont Know if it works or not
|
||||||
|
#region Management Appointment Letter
|
||||||
|
|
||||||
|
sLetterName = "Appointment Letter";
|
||||||
|
oEmp = new EmployeeService().Get(employeeID);
|
||||||
|
if (oEmp == null)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//oHREmp = new HREmployeeService().Get(oEmp.EmployeeNo);
|
||||||
|
oHREmp = new HREmployeeService().Get(oEmp.ID);
|
||||||
|
|
||||||
|
|
||||||
|
table = new Hashtable();
|
||||||
|
table.Add(TagOutputConstant.CurrentDate, DateTime.Now.Date.ToString("dd MMMM, yyyy"));
|
||||||
|
table.Add(TagOutputConstant.FullName, oHREmp.Name);
|
||||||
|
if (oHREmp.Contacts.Any())
|
||||||
|
{
|
||||||
|
table.Add(TagOutputConstant.EmpPresentAddress, oHREmp.Contacts[0].PresentAddress);
|
||||||
|
table.Add(TagOutputConstant.EmpPresentThana, oHREmp.Contacts[0].PresentThana);
|
||||||
|
table.Add(TagOutputConstant.EmpPresentDistrict, oHREmp.Contacts[0].PresentDistrict);
|
||||||
|
table.Add(TagOutputConstant.EmpPresentCountry, "Bangladesh");
|
||||||
|
}
|
||||||
|
table.Add(TagOutputConstant.BirthDate, oHREmp.BirthDate != DateTime.MinValue ? oHREmp.BirthDate.ToString("dd MMMM, yyyy") : string.Empty);
|
||||||
|
table.Add(TagOutputConstant.EmpNationality, oHREmp.Nationality != null ? oHREmp.Nationality.Description : string.Empty);
|
||||||
|
table.Add(TagOutputConstant.EmpReligion, oHREmp.Religion != null ? oHREmp.Religion.Name : string.Empty);
|
||||||
|
|
||||||
|
table.Add(TagOutputConstant.EmpGender, oEmp.Gender.ToString());
|
||||||
|
table.Add(TagOutputConstant.EmpMaritalStatus, oEmp.MaritalStatus.ToString());
|
||||||
|
table.Add(TagOutputConstant.EmployeeDesig, oEmp.Designation != null ? oEmp.Designation.Name : string.Empty);
|
||||||
|
|
||||||
|
|
||||||
|
double TotalAllowance, Basic, HouseRent, Conveyence, Transport, Medical;
|
||||||
|
TotalAllowance = Basic = HouseRent = Conveyence = Transport = Medical = 0.0;
|
||||||
|
|
||||||
|
|
||||||
|
oGrade = new GradeService().Get((int)oEmp.GradeID);
|
||||||
|
adParams = new ADParameterService().Get((int)oEmp.GradeID, EnumEntitleType.Grade, EnumAllowOrDeduct.Allowance, payrollTypeID);
|
||||||
|
|
||||||
|
Func<ADParameter, double, double> calculateOther = (a, b) =>
|
||||||
|
a != null ? (a.PercentOfBasic == 0.0 ? a.FlatAmount : b * a.PercentOfBasic / 100) : 0.0;
|
||||||
|
|
||||||
|
Basic = oEmp.BasicSalary;
|
||||||
|
HouseRent = calculateOther(adParams.Where(obj => obj.AllowDeductID == 8).SingleOrDefault(), Basic);
|
||||||
|
Conveyence = calculateOther(adParams.Where(obj => obj.AllowDeductID == 9).SingleOrDefault(), Basic);
|
||||||
|
Medical = calculateOther(adParams.Where(obj => obj.AllowDeductID == 11).SingleOrDefault(), Basic);
|
||||||
|
|
||||||
|
TotalAllowance = Basic + HouseRent + Conveyence + Medical;
|
||||||
|
|
||||||
|
table.Add(TagOutputConstant.CandidateBasic, Basic.ToString("#,###.00"));
|
||||||
|
table.Add(TagOutputConstant.CandidateBasicPercent, TotalAllowance > 0 ? ((int)((Basic / TotalAllowance) * 100)).ToString() : "0");
|
||||||
|
table.Add(TagOutputConstant.AllowHR, HouseRent.ToString("#,###.00"));
|
||||||
|
table.Add(TagOutputConstant.AllowHRPercent, TotalAllowance > 0 ? (Math.Round((HouseRent / TotalAllowance) * 100)).ToString() : "0");
|
||||||
|
table.Add(TagOutputConstant.AllowMedical, Medical.ToString("#,###.00"));
|
||||||
|
table.Add(TagOutputConstant.AllowMedicalPercent, TotalAllowance > 0 ? (Math.Round((Medical / TotalAllowance) * 100)).ToString() : "0");
|
||||||
|
table.Add(TagOutputConstant.AllowConveyance, Conveyence.ToString("#,###.00"));
|
||||||
|
table.Add(TagOutputConstant.AllowConveyancePercent, TotalAllowance > 0 ? (Math.Round((Conveyence / TotalAllowance) * 100)).ToString() : "0");
|
||||||
|
table.Add(TagOutputConstant.AllowTotal, TotalAllowance.ToString("#,###.00"));
|
||||||
|
table.Add(TagOutputConstant.TakaInWord, HRM.BO.GlobalFunctions.MillionToInWords((int)TotalAllowance));
|
||||||
|
|
||||||
|
sFilePath = sFPath.TrimEnd('\\') + "\\" + oEmp.EmployeeNo + "-" + sLetterName + ".doc";
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
break;
|
||||||
|
case FixedLetterTemplte.Staff_Appointment_Letter:
|
||||||
|
|
||||||
|
#region Staff Appointment Letter
|
||||||
|
|
||||||
|
sLetterName = "Appointment Letter Staff";
|
||||||
|
oEmp = new EmployeeService().Get(employeeID);
|
||||||
|
if (oEmp == null)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//oHREmp = new HREmployeeService().Get(oEmp.EmployeeNo);
|
||||||
|
oHREmp = new HREmployeeService().Get(oEmp.ID);
|
||||||
|
|
||||||
|
table = new EmployeeService().CollectDataForBanglaAppointmentHash(oHREmp, payrollType);
|
||||||
|
|
||||||
|
sFilePath = sFPath.TrimEnd('\\') + "\\" + oEmp.EmployeeNo + "-" + sLetterName + ".doc";
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
break;
|
||||||
|
case FixedLetterTemplte.Worker_Appointment_Letter:
|
||||||
|
|
||||||
|
#region Worker Appointment Letter
|
||||||
|
|
||||||
|
sLetterName = "Appointment Letter Worker";
|
||||||
|
oEmp = new EmployeeService().Get(employeeID);
|
||||||
|
if (oEmp == null)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
oHREmp = new HREmployeeService().Get(oEmp.ID);
|
||||||
|
|
||||||
|
table = new EmployeeService().CollectDataForBanglaAppointmentHash(oHREmp, payrollType);
|
||||||
|
|
||||||
|
sFilePath = sFPath.TrimEnd('\\') + "\\" + oEmp.EmployeeNo + "-" + sLetterName + ".doc";
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
//letterTemplte = new LetterTemplteService().Get(oLetterTemplate.ID);
|
||||||
|
sLetterName = letterTemplte.Subject;
|
||||||
|
if (oCandidate.IsEmployee == false)
|
||||||
|
{
|
||||||
|
table.Add(TagOutputConstant.CandidateName, oCV.Name);
|
||||||
|
sFilePath = sFPath.TrimEnd('\\') + "\\" + oCV.TrackNo + "-" + sLetterName + ".doc";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sFilePath = sFPath.TrimEnd('\\') + "\\" + oEmp.EmployeeNo + "-" + sLetterName + ".doc";
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (table != null)
|
||||||
|
{
|
||||||
|
MSWord file = new MSWord();
|
||||||
|
FileInfo ossInfo = null;
|
||||||
|
//file.OriginalFile = letterTemplte.FilePath.Trim();
|
||||||
|
file.OriginalFile = System.IO.Path.Combine(System.Environment.CurrentDirectory + "\\Documents\\LetterTempFolder\\" + lFileName);
|
||||||
|
|
||||||
|
ossInfo = new FileInfo(sFilePath);
|
||||||
|
if (ossInfo.Exists)
|
||||||
|
{
|
||||||
|
ossInfo.Delete();
|
||||||
|
}
|
||||||
|
File.Copy(file.OriginalFile, sFilePath, true);
|
||||||
|
file = new MSWord();
|
||||||
|
file.OpenWordApplication();
|
||||||
|
//file.OriginalFile = letterTemplte.FilePath.Trim();
|
||||||
|
file.OriginalFile = System.IO.Path.Combine(System.Environment.CurrentDirectory + "\\Documents\\LetterTempFolder\\" + lFileName);
|
||||||
|
file.ReplaceWords(sFilePath, table);
|
||||||
|
|
||||||
|
file.CloseWordApplication();
|
||||||
|
//pdfFilePath = System.IO.Path.ChangeExtension(sFilePath, ".pdf");
|
||||||
|
//ConvertDocToPdf(sFilePath, pdfFilePath);
|
||||||
|
pdfFilePath = sFilePath;
|
||||||
|
|
||||||
|
}
|
||||||
|
return pdfFilePath;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
throw new Exception(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void ConvertDocToPdf(string wordFilePath, string pdfFilePath)
|
||||||
|
{
|
||||||
|
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
|
||||||
|
Microsoft.Office.Interop.Word.Document wordDocument = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Open the Word document
|
||||||
|
wordDocument = wordApp.Documents.Open(wordFilePath);
|
||||||
|
|
||||||
|
// Save as PDF
|
||||||
|
wordDocument.SaveAs(pdfFilePath, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Error: {ex.Message}");
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
// Clean up
|
||||||
|
wordDocument?.Close();
|
||||||
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(wordDocument);
|
||||||
|
wordApp.Quit();
|
||||||
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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" />
|
||||||
|
@ -295,6 +296,18 @@
|
||||||
<None Remove="RDLC\UpCommingEmp.rdlc" />
|
<None Remove="RDLC\UpCommingEmp.rdlc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<COMReference Include="Microsoft.Office.Interop.Word">
|
||||||
|
<WrapperTool>tlbimp</WrapperTool>
|
||||||
|
<VersionMinor>7</VersionMinor>
|
||||||
|
<VersionMajor>8</VersionMajor>
|
||||||
|
<Guid>00020905-0000-0000-c000-000000000046</Guid>
|
||||||
|
<Lcid>0</Lcid>
|
||||||
|
<Isolated>false</Isolated>
|
||||||
|
<EmbedInteropTypes>true</EmbedInteropTypes>
|
||||||
|
</COMReference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="Attendence\RDLC\DailyAbsent.rdlc" />
|
<EmbeddedResource Include="Attendence\RDLC\DailyAbsent.rdlc" />
|
||||||
<EmbeddedResource Include="Attendence\RDLC\DailyAbsentEcho.rdlc" />
|
<EmbeddedResource Include="Attendence\RDLC\DailyAbsentEcho.rdlc" />
|
||||||
|
@ -321,6 +334,7 @@
|
||||||
<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" />
|
||||||
|
|
1618
HRM.Report/PayrollDataSet/dsCompany.Designer.cs
generated
1618
HRM.Report/PayrollDataSet/dsCompany.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
|
@ -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>
|
||||||
|
|
|
@ -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>
|
3015
HRM.Report/RDLC/ApLetterForAssistantOfficerToAbove.rdlc
Normal file
3015
HRM.Report/RDLC/ApLetterForAssistantOfficerToAbove.rdlc
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -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>
|
||||||
|
|
11738
HRM.Report/RDLC/rptServiceBook.rdlc
Normal file
11738
HRM.Report/RDLC/rptServiceBook.rdlc
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -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", "");
|
||||||
|
|
|
@ -130,4 +130,10 @@ 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);
|
||||||
|
}
|
||||||
|
getGeneratedProfileReportData(param: any) {
|
||||||
|
return this.apiService.httpDownloadFile('/Report/getGeneratedProfileReport/', param);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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(2025, 0, 7))}-`+"01";
|
public versionNumber = `V-${GlobalfunctionExtension.generateVersionNumber(new Date(2025, 0, 16))}-`+"01";
|
||||||
public static BASE_URL = '';
|
public static BASE_URL = '';
|
||||||
public base_url = '';
|
public base_url = '';
|
||||||
// public currentLink = '';
|
// public currentLink = '';
|
||||||
|
|
|
@ -232,7 +232,7 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-col-12 p-lg-5 label-ailgn">
|
<div class="p-col-12 p-lg-5 label-ailgn">
|
||||||
this will take around 30 Second or more.
|
This will take around 30 Second or more.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -546,11 +546,24 @@ export class ProductionBonusSetupComponent implements OnInit {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
debugger;
|
debugger;
|
||||||
|
|
||||||
|
let supervisorIDs: number[] = [];
|
||||||
|
this.prodBonusLine.prodBonusSupervisors.forEach(item => {
|
||||||
|
supervisorIDs.push(item.employeeID);
|
||||||
|
});
|
||||||
newlineSupervisor.prodBonusLineID = this.selectedRow.id;
|
newlineSupervisor.prodBonusLineID = this.selectedRow.id;
|
||||||
this.prodBonusLine.id = this.selectedRow.id;
|
this.prodBonusLine.id = this.selectedRow.id;
|
||||||
this.prodBonusLine.lineName = this.selectedRow.lineName;
|
this.prodBonusLine.lineName = this.selectedRow.lineName;
|
||||||
this.prodBonusLine.scheduledHour = this.selectedRow.scheduledHours;
|
this.prodBonusLine.scheduledHour = this.selectedRow.scheduledHours;
|
||||||
|
|
||||||
|
if (!supervisorIDs.includes(newlineSupervisor.employeeID))
|
||||||
this.prodBonusLine.prodBonusSupervisors.push(newlineSupervisor);
|
this.prodBonusLine.prodBonusSupervisors.push(newlineSupervisor);
|
||||||
|
else{
|
||||||
|
this.prodBonusLine.prodBonusSupervisors.forEach(element => {
|
||||||
|
if(element.employeeID == newlineSupervisor.employeeID)
|
||||||
|
element.bonusPercent = newlineSupervisor.bonusPercent;
|
||||||
|
});
|
||||||
|
}
|
||||||
// this.prodBonusLine.prodBonusParameters.push(newlineParameter);
|
// this.prodBonusLine.prodBonusParameters.push(newlineParameter);
|
||||||
|
|
||||||
|
|
||||||
|
@ -583,7 +596,26 @@ export class ProductionBonusSetupComponent implements OnInit {
|
||||||
}
|
}
|
||||||
// console.log(this.prodBonusLine);
|
// console.log(this.prodBonusLine);
|
||||||
// console.log(this.productionBonusSetup);
|
// console.log(this.productionBonusSetup);
|
||||||
|
else {
|
||||||
|
let supervisorIDs: number[] = [];
|
||||||
|
this.productionBonusSetup.productionBonusLines.forEach(element => {
|
||||||
|
if(element.id == this.prodBonusLine.id){
|
||||||
|
element.prodBonusSupervisors.forEach(item => {
|
||||||
|
supervisorIDs.push(item.employeeID);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.productionBonusSetup.productionBonusLines.forEach(element => {
|
||||||
|
if(element.id == this.prodBonusLine.id){
|
||||||
|
this.prodBonusLine.prodBonusSupervisors.forEach(item => {
|
||||||
|
if (!supervisorIDs.includes(item.employeeID)) {
|
||||||
|
element.prodBonusSupervisors.push(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
this.close();
|
this.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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%;" (valueChange)="onSelectReport($event)">
|
||||||
|
</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')" *ngIf="isViewable">Preview</button>
|
||||||
|
<button kendoButton icon="download" [primary]="true" style="margin-left:5px;"
|
||||||
|
(click)="preview('Download')">Download</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>
|
|
@ -0,0 +1,273 @@
|
||||||
|
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';
|
||||||
|
import { HttpClient } from '@angular/common/http';
|
||||||
|
|
||||||
|
@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 isViewable: boolean = true;
|
||||||
|
|
||||||
|
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) {
|
||||||
|
this.apiService.selectedMenuName = 'Profile Reports';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.loadAuthorizedPerson();
|
||||||
|
}
|
||||||
|
|
||||||
|
closeForm(): void {
|
||||||
|
this.showPopUp = false;
|
||||||
|
this.loadingPanel.ShowLoadingPanel = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
preview(reportType: string) {
|
||||||
|
debugger;
|
||||||
|
if (this.selectedEmployee == undefined || this.selectedEmployee == null) {
|
||||||
|
this.notificationService.showWarning('Please Select and employee!!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.selectedreportType == undefined || this.selectedreportType['value'] == null) {
|
||||||
|
this.notificationService.showWarning('Please select a report!!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const data = {
|
||||||
|
reportID: this.selectedreportType['value'],
|
||||||
|
personID: this.authorizedPerson != null ? this.authorizedPerson.id : 0,
|
||||||
|
employeeID: this.selectedEmployee.employeeID,
|
||||||
|
reportType: reportType == 'Download' ? 'PDF' : reportType
|
||||||
|
};
|
||||||
|
switch (this.selectedreportType['value']) {
|
||||||
|
case EnumProfileReportType.Print_CV:
|
||||||
|
this.PDFTitle = this.selectedEmployee.employeeNo + '-' + EnumExtension.getName(EnumProfileReportType, EnumProfileReportType.Print_CV);
|
||||||
|
break;
|
||||||
|
case EnumProfileReportType.Appointment_Letter_Officer:
|
||||||
|
this.PDFTitle = this.selectedEmployee.employeeNo + '-' + EnumExtension.getName(EnumProfileReportType, EnumProfileReportType.Appointment_Letter_Officer);
|
||||||
|
break;
|
||||||
|
case EnumProfileReportType.Appointment_Letter_Staff:
|
||||||
|
this.PDFTitle = this.selectedEmployee.employeeNo + '-' + EnumExtension.getName(EnumProfileReportType, EnumProfileReportType.Appointment_Letter_Staff);
|
||||||
|
break;
|
||||||
|
case EnumProfileReportType.Appointment_Letter_Worker:
|
||||||
|
this.PDFTitle = this.selectedEmployee.employeeNo + '-' + EnumExtension.getName(EnumProfileReportType, EnumProfileReportType.Appointment_Letter_Worker);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.loadingPanel.ShowLoadingPanel = true;
|
||||||
|
if (reportType === 'PDF')
|
||||||
|
this.showPopUp = true;
|
||||||
|
if (this.selectedreportType['value'] == EnumProfileReportType.Print_CV || this.selectedreportType['value'] == EnumProfileReportType.Appointment_Letter_Officer) {
|
||||||
|
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 === 'Download') {
|
||||||
|
this.downloadFile(resp);
|
||||||
|
}
|
||||||
|
this.loadingPanel.ShowLoadingPanel = false;
|
||||||
|
},
|
||||||
|
(err: any) => {
|
||||||
|
this.closeForm();
|
||||||
|
// console.log(err);
|
||||||
|
this.notificationService.showError(err.error);
|
||||||
|
this.loadingPanel.ShowLoadingPanel = false;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.reportService.getGeneratedProfileReportData(data).subscribe(fileData => {
|
||||||
|
|
||||||
|
this.loadingPanel.ShowLoadingPanel = false;
|
||||||
|
if (reportType == 'PDF') {
|
||||||
|
var element = <HTMLIFrameElement>(document.getElementById("pdf-viewer-report"));
|
||||||
|
element.src = URL.createObjectURL(new Blob([fileData], { type: 'application/pdf' }));
|
||||||
|
|
||||||
|
// Doc
|
||||||
|
// var element = <HTMLIFrameElement>document.getElementById("pdf-viewer-report");
|
||||||
|
// const fileUrl = URL.createObjectURL(new Blob([fileData], { type: 'application/msword' }));
|
||||||
|
|
||||||
|
// // Using Google Docs Viewer
|
||||||
|
// element.src = `https://docs.google.com/gview?url=${encodeURIComponent(fileUrl)}&embedded=true`;
|
||||||
|
}
|
||||||
|
if (reportType == 'Download')
|
||||||
|
this.downloadBlob(new Blob([fileData], { type: 'application/msword' }), 'application/msword', this.PDFTitle);
|
||||||
|
// this.downloadBlob(new Blob([fileData], { type: 'application/pdf' }), 'application/pdf', this.PDFTitle);
|
||||||
|
|
||||||
|
},
|
||||||
|
(error) => {
|
||||||
|
this.closeForm();
|
||||||
|
console.log(error);
|
||||||
|
this.notificationService.showError(error.error);
|
||||||
|
this.loadingPanel.ShowLoadingPanel = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
downloadFile(blobContent) {
|
||||||
|
//EXCEL
|
||||||
|
// let blob = new Blob([this.b64toBlob(blobContent, 'application/data:application/vnd.ms-excel', 1024)], {});
|
||||||
|
// saveAs(blob, this.PDFTitle + '.xls');
|
||||||
|
//PDF
|
||||||
|
let blob = new Blob([this.b64toBlob(blobContent, 'application/pdf', 1024)], {});
|
||||||
|
saveAs(blob, this.PDFTitle + '.pdf');
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
private downloadBlob(data: any, type: string, fileName: string): void {
|
||||||
|
const blob: Blob = new Blob([data], { type: type });
|
||||||
|
// const fileName: string = this.workOrderBillReceive.UploadAttachment[0].OriginalFileName;
|
||||||
|
// const fileName: string = fileName;
|
||||||
|
const objectUrl: string = URL.createObjectURL(blob);
|
||||||
|
const a: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;
|
||||||
|
|
||||||
|
a.href = objectUrl;
|
||||||
|
a.download = fileName;
|
||||||
|
document.body.appendChild(a);
|
||||||
|
a.click();
|
||||||
|
|
||||||
|
document.body.removeChild(a);
|
||||||
|
URL.revokeObjectURL(objectUrl);
|
||||||
|
}
|
||||||
|
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);
|
||||||
|
// }
|
||||||
|
// );
|
||||||
|
}
|
||||||
|
onSelectReport(value: any) {
|
||||||
|
debugger;
|
||||||
|
if (this.selectedreportType['value'] != EnumProfileReportType.Appointment_Letter_Staff && this.selectedreportType['value'] != EnumProfileReportType.Appointment_Letter_Worker) {
|
||||||
|
this.isViewable = true;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.isViewable = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum EnumProfileReportType {
|
||||||
|
Print_CV = 1,
|
||||||
|
// Employee_Service_Book = 2,
|
||||||
|
Appointment_Letter_Worker = 3,
|
||||||
|
Appointment_Letter_Staff = 4,
|
||||||
|
Appointment_Letter_Officer = 5
|
||||||
|
}
|
|
@ -786,8 +786,8 @@ export class ReportViewerComponent implements OnInit {
|
||||||
this.multiselect = true;
|
this.multiselect = true;
|
||||||
this.hiddenFromDate = true;
|
this.hiddenFromDate = true;
|
||||||
this.hiddenToDate = true;
|
this.hiddenToDate = true;
|
||||||
this.fromDate = new Date();
|
this.fromDate = GlobalfunctionExtension.getFirstDateofMonth(new Date());
|
||||||
this.toDate = new Date();
|
this.toDate = GlobalfunctionExtension.getLastDateOfMonth(new Date());
|
||||||
this.hiddenAllSearch = false;
|
this.hiddenAllSearch = false;
|
||||||
this.hiddenExport = true;
|
this.hiddenExport = true;
|
||||||
this.loadCurrentFiscalYear();
|
this.loadCurrentFiscalYear();
|
||||||
|
|
|
@ -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] },
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -20,6 +20,7 @@ using NPOI.SS.Formula.Functions;
|
||||||
using HRM.BO.Report;
|
using HRM.BO.Report;
|
||||||
using HRM.Report.PayrollDataSet;
|
using HRM.Report.PayrollDataSet;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Microsoft.AspNetCore.StaticFiles;
|
||||||
|
|
||||||
namespace HRM.UI.Controllers.Report
|
namespace HRM.UI.Controllers.Report
|
||||||
{
|
{
|
||||||
|
@ -1697,5 +1698,153 @@ namespace HRM.UI.Controllers.Report
|
||||||
|
|
||||||
return Ok(bytes);
|
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;
|
||||||
|
|
||||||
|
LetterTemplte ltemplate = new LetterTemplte();
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("getGeneratedProfileReport")]
|
||||||
|
public ActionResult getGeneratedProfileReportData(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;
|
||||||
|
|
||||||
|
LetterTemplte ltemplate = new LetterTemplte();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//string downloadPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\Downloads";
|
||||||
|
string downloadPath = System.Environment.CurrentDirectory + "\\Documents\\LetterTempFolder\\";
|
||||||
|
string sFilePath = string.Empty, lFileName = string.Empty;
|
||||||
|
|
||||||
|
switch (reportid)
|
||||||
|
{
|
||||||
|
case EnumProfileReportType.Appointment_Letter_Worker:
|
||||||
|
ltemplate.SetObjectID(FixedLetterTemplte.Worker_Appointment_Letter);
|
||||||
|
|
||||||
|
ltemplate.ID = 3;
|
||||||
|
ltemplate.Description = "Letter Template Worker";
|
||||||
|
ltemplate.Subject = "Letter Template Worker";
|
||||||
|
ltemplate.Type = EnumDocType.Desktop_Letter;
|
||||||
|
ltemplate.TypeID = (int)EnumDocType.Desktop_Letter;
|
||||||
|
|
||||||
|
lFileName = "Worker.doc";
|
||||||
|
|
||||||
|
sFilePath = new rptEmployee().Generate(ltemplate, employeeID, payrollTypeId, downloadPath, lFileName);
|
||||||
|
break;
|
||||||
|
case EnumProfileReportType.Appointment_Letter_Staff:
|
||||||
|
ltemplate.SetObjectID(FixedLetterTemplte.Staff_Appointment_Letter);
|
||||||
|
|
||||||
|
ltemplate.ID = 2;
|
||||||
|
ltemplate.Description = "Letter Template Staff";
|
||||||
|
ltemplate.Subject = "Letter Template Staff";
|
||||||
|
ltemplate.Type = EnumDocType.Desktop_Letter;
|
||||||
|
ltemplate.TypeID = (int)EnumDocType.Desktop_Letter;
|
||||||
|
|
||||||
|
lFileName = "Staff.doc";
|
||||||
|
|
||||||
|
sFilePath = new rptEmployee().Generate(ltemplate, employeeID, payrollTypeId, downloadPath, lFileName);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
byte[] buffer = new byte[16 * 1024];
|
||||||
|
buffer = System.IO.File.ReadAllBytes(sFilePath);
|
||||||
|
string contentType = GetFileType(sFilePath);
|
||||||
|
//var name = System.IO.Path.ChangeExtension(lFileName, ".pdf");
|
||||||
|
var name = lFileName;
|
||||||
|
if (System.IO.File.Exists(sFilePath))
|
||||||
|
{
|
||||||
|
System.IO.File.Delete(sFilePath);
|
||||||
|
}
|
||||||
|
//if (System.IO.File.Exists(System.IO.Path.ChangeExtension(sFilePath, ".doc")))
|
||||||
|
//{
|
||||||
|
// System.IO.File.Delete(System.IO.Path.ChangeExtension(sFilePath, ".doc"));
|
||||||
|
//}
|
||||||
|
return File(buffer, contentType, name);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return StatusCode(StatusCodes.Status500InternalServerError, e.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Ok(bytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
[Route("get-file-type")]
|
||||||
|
[AllowAnonymous]
|
||||||
|
[IgnoreAntiforgeryToken]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
public string GetFileType(string originalFileName)
|
||||||
|
{
|
||||||
|
//var item = Newtonsoft.Json.JsonConvert.DeserializeObject(Convert.ToString(data));
|
||||||
|
//string fileName = (string)item["fileName"].ToObject<string>();
|
||||||
|
string fileName = originalFileName;
|
||||||
|
string contentType;
|
||||||
|
new FileExtensionContentTypeProvider().TryGetContentType(fileName, out contentType);
|
||||||
|
return contentType ?? "application/octet-stream";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2952
HRM.UI/Documents/LetterTempFolder/Staff.doc
Normal file
2952
HRM.UI/Documents/LetterTempFolder/Staff.doc
Normal file
File diff suppressed because it is too large
Load Diff
2967
HRM.UI/Documents/LetterTempFolder/Worker.doc
Normal file
2967
HRM.UI/Documents/LetterTempFolder/Worker.doc
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -1172,6 +1172,18 @@
|
||||||
<TypeScriptCompile Remove="ClientApp\src\app\_models\Recruitement\InterviewAssessmentKpi.ts" />
|
<TypeScriptCompile Remove="ClientApp\src\app\_models\Recruitement\InterviewAssessmentKpi.ts" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<COMReference Include="Microsoft.Office.Interop.Word">
|
||||||
|
<WrapperTool>tlbimp</WrapperTool>
|
||||||
|
<VersionMinor>7</VersionMinor>
|
||||||
|
<VersionMajor>8</VersionMajor>
|
||||||
|
<Guid>00020905-0000-0000-c000-000000000046</Guid>
|
||||||
|
<Lcid>0</Lcid>
|
||||||
|
<Isolated>false</Isolated>
|
||||||
|
<EmbedInteropTypes>true</EmbedInteropTypes>
|
||||||
|
</COMReference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="appsettings.json" />
|
<EmbeddedResource Include="appsettings.json" />
|
||||||
<EmbeddedResource Include="RDLC\CandidateAssesmentDetails.rdlc" />
|
<EmbeddedResource Include="RDLC\CandidateAssesmentDetails.rdlc" />
|
||||||
|
@ -1232,6 +1244,9 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Update="RDLC\IDCardPrint.rdlc">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
<None Update="RDLC\Report177.rdlc">
|
<None Update="RDLC\Report177.rdlc">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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>
|
|
@ -1023,7 +1023,7 @@
|
||||||
<TextRun>
|
<TextRun>
|
||||||
<Value>="‡dvb: "&Parameters!CPhone.Value</Value>
|
<Value>="‡dvb: "&Parameters!CPhone.Value</Value>
|
||||||
<Style>
|
<Style>
|
||||||
<FontFamily>KarnaphuliMJ</FontFamily>
|
<FontFamily>sutonnyMJ</FontFamily>
|
||||||
<FontSize>7pt</FontSize>
|
<FontSize>7pt</FontSize>
|
||||||
</Style>
|
</Style>
|
||||||
</TextRun>
|
</TextRun>
|
||||||
|
@ -1506,7 +1506,7 @@
|
||||||
<TextRun>
|
<TextRun>
|
||||||
<Value> kZ©vejx</Value>
|
<Value> kZ©vejx</Value>
|
||||||
<Style>
|
<Style>
|
||||||
<FontFamily>KarnaphuliMJ</FontFamily>
|
<FontFamily>sutonnyMJ</FontFamily>
|
||||||
<FontSize>8pt</FontSize>
|
<FontSize>8pt</FontSize>
|
||||||
<FontWeight>Bold</FontWeight>
|
<FontWeight>Bold</FontWeight>
|
||||||
</Style>
|
</Style>
|
||||||
|
@ -1597,7 +1597,7 @@
|
||||||
<TextRun>
|
<TextRun>
|
||||||
<Value>1. GB KvW© n¯ÍvšÍi †hvM¨ b‡n |</Value>
|
<Value>1. GB KvW© n¯ÍvšÍi †hvM¨ b‡n |</Value>
|
||||||
<Style>
|
<Style>
|
||||||
<FontFamily>KarnaphuliMJ</FontFamily>
|
<FontFamily>sutonnyMJ</FontFamily>
|
||||||
<FontSize>7pt</FontSize>
|
<FontSize>7pt</FontSize>
|
||||||
</Style>
|
</Style>
|
||||||
</TextRun>
|
</TextRun>
|
||||||
|
@ -1626,7 +1626,7 @@
|
||||||
<TextRun>
|
<TextRun>
|
||||||
<Value>2. GB KvW© nviv‡bv ‡M‡j ev bó n‡j mv‡_</Value>
|
<Value>2. GB KvW© nviv‡bv ‡M‡j ev bó n‡j mv‡_</Value>
|
||||||
<Style>
|
<Style>
|
||||||
<FontFamily>KarnaphuliMJ</FontFamily>
|
<FontFamily>sutonnyMJ</FontFamily>
|
||||||
<FontSize>7pt</FontSize>
|
<FontSize>7pt</FontSize>
|
||||||
</Style>
|
</Style>
|
||||||
</TextRun>
|
</TextRun>
|
||||||
|
@ -1655,7 +1655,7 @@
|
||||||
<TextRun>
|
<TextRun>
|
||||||
<Value> mv‡_ KZ©„cÿ‡K AewnZ Ki‡Z n‡e|</Value>
|
<Value> mv‡_ KZ©„cÿ‡K AewnZ Ki‡Z n‡e|</Value>
|
||||||
<Style>
|
<Style>
|
||||||
<FontFamily>KarnaphuliMJ</FontFamily>
|
<FontFamily>sutonnyMJ</FontFamily>
|
||||||
<FontSize>7pt</FontSize>
|
<FontSize>7pt</FontSize>
|
||||||
</Style>
|
</Style>
|
||||||
</TextRun>
|
</TextRun>
|
||||||
|
@ -1684,7 +1684,7 @@
|
||||||
<TextRun>
|
<TextRun>
|
||||||
<Value>=" kÖwgK AvBb Gi "+Parameters!Dhara.Value+" aviv ‡gvZv‡eK"</Value>
|
<Value>=" kÖwgK AvBb Gi "+Parameters!Dhara.Value+" aviv ‡gvZv‡eK"</Value>
|
||||||
<Style>
|
<Style>
|
||||||
<FontFamily>KarnaphuliMJ</FontFamily>
|
<FontFamily>sutonnyMJ</FontFamily>
|
||||||
<FontSize>7pt</FontSize>
|
<FontSize>7pt</FontSize>
|
||||||
</Style>
|
</Style>
|
||||||
</TextRun>
|
</TextRun>
|
||||||
|
@ -1713,7 +1713,7 @@
|
||||||
<TextRun>
|
<TextRun>
|
||||||
<Value> bZzb KvW© cÖ`vb Kiv nB‡e| </Value>
|
<Value> bZzb KvW© cÖ`vb Kiv nB‡e| </Value>
|
||||||
<Style>
|
<Style>
|
||||||
<FontFamily>KarnaphuliMJ</FontFamily>
|
<FontFamily>sutonnyMJ</FontFamily>
|
||||||
<FontSize>7pt</FontSize>
|
<FontSize>7pt</FontSize>
|
||||||
</Style>
|
</Style>
|
||||||
</TextRun>
|
</TextRun>
|
||||||
|
@ -1742,7 +1742,7 @@
|
||||||
<TextRun>
|
<TextRun>
|
||||||
<Value> 3. PvKzix Z¨vM Kivi mgq KvW©wU ‡diZ</Value>
|
<Value> 3. PvKzix Z¨vM Kivi mgq KvW©wU ‡diZ</Value>
|
||||||
<Style>
|
<Style>
|
||||||
<FontFamily>KarnaphuliMJ</FontFamily>
|
<FontFamily>sutonnyMJ</FontFamily>
|
||||||
<FontSize>7pt</FontSize>
|
<FontSize>7pt</FontSize>
|
||||||
</Style>
|
</Style>
|
||||||
</TextRun>
|
</TextRun>
|
||||||
|
@ -2002,7 +2002,7 @@
|
||||||
<TextRun>
|
<TextRun>
|
||||||
<Value> w`‡Z n‡e|</Value>
|
<Value> w`‡Z n‡e|</Value>
|
||||||
<Style>
|
<Style>
|
||||||
<FontFamily>KarnaphuliMJ</FontFamily>
|
<FontFamily>sutonnyMJ</FontFamily>
|
||||||
<FontSize>7pt</FontSize>
|
<FontSize>7pt</FontSize>
|
||||||
</Style>
|
</Style>
|
||||||
</TextRun>
|
</TextRun>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user